Portable Media Player strategy (was Re: random user request)

Jeff Mitchell kde-dev at emailgoeshere.com
Tue Aug 21 00:27:39 CEST 2007


Martin Aumueller wrote:
> On Monday 20 August 2007, Bart Cerneels wrote:
>   
>> In Amarok 2 we should have 2 methods of adding tracks to portable
>> media players. Push and Sync:
>> - Push selected tracks on the pmp, which is what we have been doing in 1.4.
>> - Sync a playlist to the pmp, which means deleting stuff that is not
>> in the playlist anymore. This is useful for space limited devices and
>> Podcasts Playlists, which act like smart playlists that look at
>> playcount. For iPods and others this means we'll have at least one
>> Podcast Playlist that covers So I guess this means we need to updated
>> the smart playlist before syncing the pmp.
>>     
>
> As far as I know, iTunes handles this kind of stuff with smart playlists.
>   
Careful, careful...

Sync is really really hard to do with a portable media player that 
doesn't have a database, because you can't (always) properly correlate 
tracks and playlists with each other.  If a track is removed from the 
playlist on the media player, you don't always have a way of knowing 
that a track you find on the media player actually is that track, and 
not the same track but transferred independently.  On a MTP device this 
might work, but only if you have database support on the app -- 
playlists contain the UIDs of tracks, so you can remove UIDs that no 
longer exist on the app from that playlist, but you have to remember 
those UIDs in the app or you can't be sure you're deleting the right stuff.

On a generic device (really there are only iPods, MTP, and generic these 
days), you can just forget about syncing.  You'd have to totally take 
over management of the filesystem on the device...and even then it could 
be extremely difficult, and error prone, cause *some user* out there 
will be pissed that Amarok does things the way it wants.

Then again -- you could do it all the iTunes way and not give a shit 
about what the user wants, and the user just has to deal with it.  In 
which case, syncing might work...

--Jeff


More information about the Amarok-devel mailing list