a better mtp device support

sam srf10130 at vtc.vsc.edu
Wed May 6 03:25:00 UTC 2009


Alejandro Wainzinger wrote:
> On Tue, May 5, 2009 at 3:04 PM, Marcelo Moises <marcelo.pm at gmail.com> wrote:
>> Hi,
>> I would like to know if there are any plans for Amarok 2 to support playlist
>> writing on MTP devices, just like the 1.4 version does.
> 
> Yes, please see here:
> http://awainzin-foss.blogspot.com/2009/04/amarok-better-media-device-experience.html
> 
> What about
>> supporting more then one storage device from each MTP device? For example, I
>> have a Sanza Fuse player that has extension card slot (microSD). Both
>> storage devices (internal and external - microSD card) are listed by the
>> mtp-detect script from libmtp lib. But Amarok 1.4 and 2.0 version only
>> recognize the first storage device, the internal one.
> 
> It is likely that the microSD card can be mounted and used as a
> Universal Mass Storage (UMS) device, whose support is also planned for
> this summer as outlined in the link above.  That said, devices like
> the Fuze may use a particular way of organizing music in the microSD
> card that vary greatly, and Amarok cannot account for all of these.
> If, however, you are comfortable treating it as a UMS and the Fuze
> treats it the same way, then it will be supported after this summer.
> 
>> Thank you,
>> Marcelo.
>>
> 
> <div><br></div>
> _______________________________________________
> Amarok mailing list
> Amarok at kde.org
> https://mail.kde.org/mailman/listinfo/amarok
> 
IIRC the 0.3.0 libmtp api changed to allow just this solution. Has the
amarok code has been updated to reflect these changes yet? Libmtp has
the ability to access both internal and external storage on the fuse,
the application just needs to send a storage_id to be able to use both
devices.

> RELEASE NOTES FOR LIBMTP 0.3.0
> API CHANGES:
> 
> removed the parenthandle argument from
> LIBMTP_Send_File_From_File(),
> LIBMTP_Send_File_From_File_Descriptor(),
> LIBMTP_Send_Track_From_File(),
> LIBMTP_Send_Track_From_File_Descriptor(),
> LIBMTP_Create_New_Playlist() and
> LIBMTP_Create_New_Album()
> Now you must pass in parent ID from a metadata or
> filedata set. Use the respective field of the
> file, track, playlist or album struct to pass in
> a parent handle when calling these functions from
> now on. The bonus for changing your code is that you
> can now also pass in a storage_id with any metadata
> set! Consequently LIBMTP_Create_Folder() was
> altered to accept THREE metadata arguments: name,
> parent_id and storage_id. All calls to any of these
> functions in any referring code need to be altered to
> use this scheme. It should be quite self-evident for
> most code and easy to perform.





More information about the Amarok mailing list