Re: [Rhythmbox-devel] removable media support [was: ipod support]



On Tue, 2004-02-10 at 05:15, Colin Walters wrote:
> Responding to myself one more time here ;)
> 
> In my ideal world, how this would work is we'd have a menu item or
> button in the preferences like "Add removable media source...".  This
> would pop up a nice dialog with a graphical list of your currently
> attached media (and not mountpoints like /media/ipod).  Adding the ipod
> could even work this way.
> 
> You could then simply click on it, and Rhythmbox would add that icon to
> the Sources list, and let you edit the name (like how adding a new
> playlist works now).
> 
> The above would probably be implemented by querying
> gnome-volume-manager's library, which in turn would use HAL and D-BUS.
> 
> Now, on the Rhythmbox end, what would happen is a new RhythmDB type
> would be created for that source, and a reference to the media would be
> stored (perhaps the mount path, but maybe g-v-m could provide a more
> abstract reference so we could identify the device even if the mount
> point moves).
> 
> Then, you'd just scan the files on that mount point similar to how
> rhythmdb_add_uri works - we'd just need add a type argument.
> 
> One open question is whether you should see the files on the removable
> media in your library or not.  Definitely you should be able to add it
> to playlists - so we'd need to add an argument to the playlist source to
> have it query for the new type.
> 
> Now, on startup, we query for which of the removable media devices is
> available; if they're not, we use the new _delete_by_type function to
> remove them, and then grey-out the source.
> 
> Also, g-v-m should provide a way to monitor for unplug/plug events, so
> we can re-query the device when it's plugged back in.  

You don't need g-v-m, you only need to use HAL directly, which is fairly
easy (see the example programs in libhal). We can even detect if a new
CD has been inserted, etc.

---
Bastien Nocera <hadess@hadess.net> 
She was as easy as the Daily Star crossword. 




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