Ruby MTP

Ruby MTP is a pure ruby implementation of the Media Transfert Protocol.

Why another implementation instead of a wrapper to the C library ? Because the C implementation is quite a mess build upon the libptp and because Ruby is a mutch nicer language.

Status

Currently, the library is able to

  • connect to devices,

  • send any MTP command,

  • send/read MTP data,

  • read MTP response.

Using those capabilities, on a higher level, the library is able to

  • get/set MTP object properties

  • retrieve/send MTP object, tracks and playlists.

It is also very easy to add other higher level methods.

It comes with two utilities: mtpfs and podcast. MTPfs can mount the device on the local filesystem using fuse. Podcast can read feeds, create a playlist and update it on an MTP device.

Dependencies

It needs:

  • ruby-usb for managing the low level usb connection,

  • facets because I like some of them,

  • ruby-mp3info for parsing MP3 id tags,

  • fusefs for the fuse filesystem,

  • syndication for the podcast application.

For now, ruby-mp3info and syndication needs to be patched, but modifications have been send upstream. I hope they will be integrated soon. For now, you can find patch in the patch directory.

Authors

License

This software is released under the terms of the GPL. See the COPYING file for the full text of the licence.

Copyrights

Copyright © 2007 Damien Merenne