Friday, 6 July, 2007

Some MTP based Open Source Projects

libmtp - a fork from libptp2, adds the extensions of mtp. Very good start - still has plenty of issues but is a great start. It's enough to get your MTP device recognized and able to send/recieve a few tracks.

  • I've used it; it works. I'm running CVS as of 2006-03-18 and it detects my Creative Zen Micro, lists its tracks. I haven't tested getting/recieveing/deleting tracks with the programs supplied in the examples directory of the package, but I'd assume they work.

id34mtp, a command line tool that transfers files to MTP devices, reading metadata from the id3 tag.

  • uses libmtp
  • Tested on 2006-03-18: works great! Able to send tracks just fine. I haven't tested extensively, but worked right out of the box.
  • had some compilation issues. It requires two header files from libptp2 - libptp-endian.h and libptp-stdint.h. I first installed libptp2 only to find that it actually wants the files in the project's directory. But hey, it's a prerelease, I wouldn't expect anything else :)

MTPdude, a graphical, beta MTP transfer program, written in GTK, using libmtp

  • tested on 2006-03-18 - compile fails, I'm not sure why really. Probably was based on libmtp's first release version, and I'm now running CVS.
  • CVS for MTPdude doesn't seem to exist (at least not yet). Probably more coming soon! Screenshots look promising and might yield a mini version of gnomad2, but for MTP.

mtpsharp, which can be obtained from mtpsharp, mtpsharp SF project page, or here, writer's personal page. Not sure what the point of this application is.

  • says it's in c++ when it's in c# ( i think)
  • looks to be a wrapper for win32 only - doesn't use libmtp or anything even posix at all - it claims to be a wrapper for win32 to provide mtp device access to .net languages.
  • probably won't work for us posix folks...but might be a decent starting ground for a mtp-sharp mono binding
  • I personally plan to work on a mtp-sharp mono port to plug into libmtp and eventually provide MTP support for Banshee.


gnomad2, the NJB client that is (probably) most popular; working on libmtp to eventually work with gnomad2.

  • According to website, has been working on MTP support, but I see nothing even in CVS.
  • One of the developers from gnomad2, however, is the lead for libmtp, so I'm sure gnomad2 will see MTP support in the coming weeks or months :)

libgphoto2 (and gphoto2) which have reportedly connected to some MTP devices (as gphoto2 is based around PTP cameras, and MTP is an extension, naturally making MTP work wasn't too hard)

  • might yield a better solution than libmtp? Not so sure anymore, after seeing that libmtp is a fork from libptp2 which has been around for a while.
  • so wait a sec - there's libmtp, and libgphoto2 which both have the same mtp functions? wtf...
    • who knows, maybe i'll write a banshee wrapper around gphoto :) can't be that hard!

mp32mtp, a command line program using libmtp

No comments: