DRAFT - Work in progress!!!!!!!!!!!!!!!!

MTP-device support for gPodder

By Jérôme Chabod - contact me throught the devel mailing list
updated 04/2008

MTP (Media Transfer Protocol) is a protocol defined by Microsoft to handle multimedia-player throught an usb interface. Most of the device sold today use this protocol. More information on wikipedia.

access you device with libmtp

libmtp is an open source library which allows access to mtp-device on linux.

installation

  • get and install libmtp for your distribution. (ubuntu: sudo apt-get install libmtp7 mtp-tools)

check you device

  • the command lsusb. You should see a line corresponding to your device.
  • the command mtp-detect should dump a huge amount of information about your device
  • the command mtp-tracks should list all tracks present on your device

troubleshouting

install pylibmtp

pylibmtp is a library developped by Graham Binns. It is needed to make the binding between gPodder (written in Python) and libmtp (written in c). Unfortunately, althought most of the work has already be done, pylibmtp is still under development and no version has released yet. In order to install it and fit gPodder needs, the following step are needed.

get the sources

  • get and install bazaar for your distribution. (ubuntu: sudo apt-get install bzr)

  • grab the sources from pylibmtp repository (revision 41 from trunk):

cd ~ && mkdir pylibmtp && cd pylibmtp

bzr branch -r41 http://bazaar.launchpad.net/~gmb/pylibmtp/trunk/

cd trunk

patch the sources to fix some issues

TODO

install (as root)

needed packages to build: sudo apt-get install python-pyrex python-dev build-essential libmtp-dev

pyrexc pylibmtp.pyx

python setup.py install

test you installation

plug your device

python mtpTest.py

It should display your device model and list all tracks stored on your device. GOOD LUCK...

troubleshouting

I can help on small details (file a bug or mail to the devel list), but you'd best try to contact the pylibmtp developper and convinct him to work again on this nice module...

enjoy your device with gPodder

  • Get a gPodder version including MTP support (version xxx - comming soon. Contact me if you can't keep waiting)
  • go to preferences -> advanced
  • change synchronisation_device to mtp
  • restart gPodder
  • try to transfer an episode (select episode, then "transfer")

troubleshouting

  • first, verify that you have libtmp and pylibmtp working
  • run from a shell gPodder --verbose
  • send a bug to gPodder including a description on what has appened and the result of the previous command
changed April 28, 2008