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
- verify if you're device is supported: http://libmtp.sourceforge.net/index.php?page=compatibility. If not see http://libmtp.sourceforge.net/index.php?page=compatibility
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