Re: [Rhythmbox-devel] adding MTP device support



On Mon, 2006-05-22 at 21:22 -0500, Steve Fox wrote:
> On Tue, 2006-05-23 at 10:38 +1000, James "Doc" Livingston wrote:
> > * does libgphoto have a "device detected" signal or do you want RB to
> > tell you about all the devices and decide whether you support them?
> 
> I was hoping RB would handle all the device detection stuff via HAL and
> then I'd just call libgphoto2 when appropriate.

That's how RB normally works, but I was just checking because some
libraries (e.g. the one for NJB devices) have their own detection code.


> > *  can tracks on the device be accessed with gnome-vfs? (if it's
> > mass-storage and mountable, then yes)
> 
> There is a gphotofs, which is a FUSE filesystem module. Using that would
> limit it to Linux though.

Using devices that aren't accessible via gnomevfs doesn't make it
impossible, but there are a few hurdles:


1) Playback and copying files from a device requires a GStreamer source
element, and copying to a device requires a GStreamer sink element.

Anything accessible with gnomevfs just uses gnomevfssrc and gnomevfssink
respectively. As long as the API isn't too insane, it should be fairly
easy to write the elements though.


2) The removable media manager currently works off GnomeVFSVolume
events, not HAL ones. This is because we support non-HAL systems.

I'm not sure what to do here because using just one of them means we
either don't support non-gnomevfs devices, or non-HAL systems. We can't
really pick automagically because RB may not have been compiled against
HAL when gnomevfs was, or vice verse.

Using both at once is possible, but complicated, because we'd need to
determine whether a device had already been detected by the other
method. I got stuck trying to figure this out, and left it saying "we
can look at it again when someone wants to use a non-gnomevfs device".


Cheers,

James "Doc" Livingston
-- 
What contemptible scoundrel has stolen the cork to my lunch?
    -- W.C. Fields



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