Identifying iPod and iPhone-like devices using Solid (was: Amarok review request)
Matěj Laitl
matej at laitl.cz
Wed Oct 26 14:05:33 UTC 2011
On 25. 10. 2011 Bart Cerneels wrote:
> Looks like quite a few pretty ugly hacks are needed for proper iP* detection
> with the current mediadevice codebase. In the near future (post 2.5
> release) we should together try to find a simpler and easier to maintain
> solution.
Thanks for your review, Bart.
I've looked around a bit and the situation seems rather sad:
* solid knows nothing about media-player-info or usbmuxd and its udev
PortableMediaPlayer implementation is just a stub [1], furthermore it doesn't
even currently attach PortableMediaPlayer interface to relevant devices as it
checks udev env ID_MEDIA_PLAYER against numeric 1 (gphoto remnant) [2,3], but
media-player-info attaches normalised player name there.
[1]
http://quickgit.kde.org/?p=kdelibs.git&a=blob&f=solid/solid/backends/udev/udevportablemediaplayer.cpp
[2]
http://quickgit.kde.org/?p=kdelibs.git&a=blob&f=solid/solid/backends/udev/udevdevice.cpp
[3]
http://quickgit.kde.org/?p=kdelibs.git&a=blob&f=solid/solid/backends/udev/udevmanager.cpp
In an ideal world (in my opinion):
* PortableMediaPlayer::supportedProtocols() would return a list containing
"ipod" for all iPod-like devices (it should just parse /usr/share/media-
player-info/${ID_MEDIA_PLAYER}.mpi)
* PortableMediaPlayer::supportedDrivers() would return a list containing
"usb" for traditional iPods and something like "usbmuxd" for iPhone-like
devices. (this would be more tricky, but could use udev env USBMUX_SUPPORTED)
Another question would be how to access iPhone-like devices the best way once
identified, but let's first solve identification.
Regards,
Matěj Laitl aka strohel
More information about the Amarok-devel
mailing list