[Kde-hardware-devel] Identifying iPod and iPhone-like devices using Solid (was: Amarok review request)
Bart Cerneels
bart.cerneels at kde.org
Thu Oct 27 13:05:19 UTC 2011
On Wed, Oct 26, 2011 at 16:05, Matěj Laitl <matej at laitl.cz> wrote:
> 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)
>
Sounds to me like we need to get media-player-info implemented and
deployed in Solid as fast as possible. But I'm not against
implementing it completely in Amarok either, especially if that means
it will also work seamless on windows.
More information about the Kde-hardware-devel
mailing list