Progress report on adding iPod / iPhone sync to gPodder 3
A few months ago, I implemented the 'device sync' feature from gPodder 2 back into the gPodder 3 codebase - but for filesystem-based devices only. I wanted to sync my podcasts to my Android phone. (I'm not an Apple guy, even though I live San Francisco, the Apple capital of the world.) It's been working well and since then I've improved it with the addition of playlists and two-way sync, so that deleting a track on your device removes it from gPodder on the next sync.
But you can't support mobile devices without supporting Apple, so after a friend kindly gave me her old iPod Touch (thanks Kendra!) I got to work.
I started with the code from the gPodder 2 branch, and refactored it into the gPodder 3 codebase, much as I did for filesystem-based syncing. With a bit of work, and by using the libimobile library, I was able to successfully sync my podcasts with the iPod!
I used libimobile tools to mount the iPod before syncing, and gtkpod to help manage the iPod's internal database. However, I don't expect people will need to use gtkpod during normal operation, only to initialize the iPod prior to the first sync.
I'll be working with Thomas to figure out precisely when and how to get this code merged into the master branch. Code that works on a first generation iPod Touch may not necessarily work on other Apple devices, so we may want to test on more hardware before merging.
Subscribe to: Post Comments (Atom)
Awesome. This is really the only thing that keeps me from using gPodder 3 and staying with the 2.x branch. I really hope that this feature will be added in the 4.x branch in the future, too.ReplyDelete
Keep it up! gPodder rocks!
Yes. Pretty please make the Ipod sync feature work again. I have to use a whole separate Windows computer to sync my Ipod. Help!ReplyDelete
Looking forward to this being merged so I can use the latest gPodder! I'm still using version 2.20 so I can sync to my iPod nano.ReplyDelete
I'm still stuck right here, would love to dump iTunes and switch to gPodder -- for podcasts only.ReplyDelete