Re: [Banshee-List] Rock Box and iPod DAP extensions



2008/10/17 David Nielsen <gnomeuser gmail com>:
>
>
> 2008/10/17 Charles Mason <charlie mas gmail com>
>>
>> Hi All,
>>
>> I was wondering what everyone's thoughts on how best to handle the
>> choosing of which extension to use when syncing a Rock Box player. My
>> extension is designed to work directly with Rock Box's DB, however
>> since a large number of the Rock Box users are iPod users this leaves
>> quite a complex number of use cases.
>>
>> Some users may want to use both the original firmware and the Rock Box
>> one (its perfectly capable of dual booting the player). In which case
>> they will probably want to use the standard iPod syncing and let the
>> device update its own Rock Box DB to match. If they aren't going to
>> use the original firmware then they will probably want to use my
>> extension since it will access the Rock Box DB directly and provide a
>> much better syncing experience.
>>
>> With all the default extensions enabled, when I insert my iPod (which
>> I am using with Rock Box) the iPod extension loads it as a
>> conventional iPod, my extension doesn't load. I have to disable the
>> iPod extension to give the Rock Box extension a chance to load.
>>
>> There's a simple way to check if Rock Box is installed, it stores all
>> the Rock Box software in a folder called .rockbox in the root of the
>> devices file system, therefore if its not present Rock Box can't be
>> installed.
>>
>> I could patch the iPod extension not to load any iPod with Rock Box
>> installed but what about the users that want to use both firmwares and
>> stick with the conventional iPod syncing. It seems to me we really
>> need to ask iPod users on a per device basis, if they have Rock Box
>> installed. Perhaps we could store a hidden file on the player
>> containing the user choice, so every time banshee detects it, it uses
>> the correct syncing extension.
>>
>> What does everyone think?
>
> All Rockbox modified iPod should contain a .is_audio_player file in the root
> dir. This is needed to tell us things like where to place files, what
> formats are supported etc. When that file is present Banshee will not open
> it as an iPod but rather as a USB mass storage device. Does that solve your
> dilemma?
>
> This would also mean that you would have to lobby upstream to amend their
> installation guides to include such a file, or you could install it yourself
> if the conditions are present (ipod plugged in, .rockbox found, model known
> and has matching .is_audio_player file to reflect capabilities).
>
> Another question might be what we can do to unify the two interfaces in the
> future. Stock iPod firmware has a much easier layout, relies directly on the
> db and hides all the debugging entries in the interface. You also have
> seperate control for podcasts, video and music based on their differing
> needs. This could definitely be made nicer especially since we already have
> a lot of information from Banshee that could be carried over. Working with
> upstream here maybe on a special spin of Rockbox would probably be the way
> forward.

I am working on a new Banshee extension for Rock Box Syncing.
Basically it reads and writes the hidden Rock Box DB file format in a
similar to the way the iPod extension works. So when the device is
inserted its track listings load in a few seconds rather than the
several minutes it takes using the generic Mass Storage extension.
This also means the rock box software doesn't have to scan the device
for changes to update its DB which literally saves several minutes per
sync on an iPod sized player.

I have been working with the upstream Rock Box project to iron out a
few missing details form the Rock Box DB specification documentation.
I now have my new extension reading and writing the Rock Box DB
properly. It even dirties the DB once changes are made, so if the user
doesn't eject it properly Rock Box will automatically rebuild the DB
itself. Some of the Rock Box developers seem quite keen to get better
integration between music players and Rock Box.

My problem is the iPod extension effectively grabs the device before
the new Rock Box one so it can't load the device. I was thinking of
modifying the iPod extension to ask the user if they have Rock Box
installed how they want to sync it. If they indicate they don't want
to sync the iPod DB it simply rejects the device as if it had the Mass
Storage .is_audio_player file. Then the Rock Box extension could pick
it up. I was thinking of storing this response on the player so the
user isn't asked every time.

Charlie M


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]