Site menu:

Tags

Links:

Meta

Site search

Recent Posts

RSS Reading

RSS Netflix Q

Rhythmbox iPod sync plugin

Since Rhythmbox doesn’t handle smart playlists on my iPod, my days of listening to music directly from my iPod are over.

While I do use iTunes at home to do my normal master sync, I need to have my music on my computer at work. So I simply rsync my iPod’s Music to my computer.
rsync -av --delete /media/BFUNGUS/iPod_Control/Music/ ~/Music/
Change the location of your iPod if named and/or mounted differently.

This works great. Rhythmbox found and read the tags of my music, and I have a fully functional music player. Except for one thing. I regularly use ratings and time of last play to make smart playlists. I need this data synchronized to and from my iPod.

Enter the iPodsync plugin for rhythmbox to synchronize ratings, time of last play and play count to and from the iPod. It will autodetect the iPod via GnomeVFS calls. It connects the rhythmbox API to the libgpod API to make the mesh. After installing and enabling the plugin, it will add a Tools -> Sync iPod menu item to initiate the sync. There is no other GUI yet to give you an indication of progress, but it is pretty darn quick. Any Rhythmbox GUI experts want to help out?? :)

Anyway, here it is.
Just extract this archive to your rhythmbox plugins directory (/usr/lib/rhythmbox/plugins). Restart rhythmbox, and you should be good to go.
Rhythmbox iPod Sync plugin

Comments

Pingback from Download Music » Rhythmbox iPod sync plugin
Time November 16, 2007 at 3:30 pm

[...] You can read the rest of this blog post by going to the original source, here [...]

Comment from mockenh
Time November 28, 2007 at 1:37 pm

Wed Nov 28 20:33:36 CET 2007 xxx
* Guess which side’s rating to update if both sides have ratings that differ (instead of prefering RB’s rating)
diff -rN -u old-ipodsync/__init__.py new-ipodsync/__init__.py
— old-ipodsync/__init__.py 2007-11-28 20:34:45.000000000 0100
new-ipodsync/__init__.py 2007-11-28 20:34:45.000000000 0100
@@ -103,8 103,18 @@
rating = self.db.entry_get(entry,RATING)
if rating:
if track.rating != rating:
- print “Updating ipod rating”
- track.rating = rating
# If the track is rated on both sides but ratings differ our
# best bet is to use the rating from the side where it was
# played last since that’s likely where the rating was changed
# (prefer RB if ‘last played’ is equal on both sides)
t = track.time_played
e = self.db.entry_get(entry,LAST_PLAYED)
if t >= e:
self.db.set(entry,RATING,track.rating)
print “Updating rhythmbox rating”
else:
print “Updating ipod rating”
track.rating = rating
else:
if track.rating:
print “Updating rhythmbox rating”

Comment from mockenh
Time November 28, 2007 at 1:45 pm

Let’s try that again:
At hhttp://pastebin.com/m3675ec84 I posted a patch that takes an educated guess concerning which side’s rating to update if both sides’ tracks have ratings that differ

Comment from legatoloco
Time December 19, 2007 at 6:57 pm

so where will this plugin log errors? i copied it to the plugins directory. it showed up in my list of plugins. but when i try to activate it, i only get:
“plugin error: unable to activate plugin iPod synchronization”
is there a log i can check to know what it happening?
thank you

Comment from legatoloco
Time December 19, 2007 at 7:32 pm

never mind, i started rhythmbox from a terminal and started seeing the errors on screen.
i was missing the python-gpod module.
downloaded and now sync is running (but no idea if it’s working correctly, yet :) )

Comment from upssy
Time December 29, 2007 at 6:38 pm

hmm, the plugin doesn’t work for me.
rhythmbox crashes:

** (rhythmbox:27038): WARNING **: iTunesDB and ArtworkDB artwork sizes inconsistent (0 1 != 664022313)

** (rhythmbox:27038): CRITICAL **: error_no_itunes_dir: assertion `error’ failed
Segmentation fault

rhythmbox 0.11.2-0ubuntu4~feisty1
python-gpod (0.4.2-0ubuntu2)
iPod Photo (Fourth Edition)

any hints?

Comment from paulw
Time January 11, 2008 at 10:00 am

At first I was having the issue that legatoloco described (the missing package). After installing that I’m able to turn on the plugin. Now when I try to Tools > Sync iPod, I get this in the terminal followed by a crash:

paulw@shady:/usr/lib/rhythmbox/plugins$ rhythmbox
Rhythmbox: could not connect to socket
Rhythmbox: No such file or directory

** (rhythmbox:5396): CRITICAL **: error_no_itunes_dir: assertion `error’ failed
Segmentation fault (core dumped)

So I checked to make sure that I do have a default music directory set (I do) in preferences. What will I need to do to correct this?

Comment from Alex Glasser
Time January 18, 2008 at 6:52 pm

Whenever I try to sync my iPod (touch, mounted at /media/ipod/), it just waits about 5 seconds, then doesn’t do anything. Just goes back to the normal Rhythmbox screen, showing the current contents of my iPod.

What do I do now?

Comment from Luke
Time January 20, 2008 at 6:13 am

Where can I get the ‘rb’ and ‘rhythmdb’ modules?

Comment from raulr
Time January 29, 2008 at 2:42 am

umm, i think my problem’s probably a little more basic, but i’m pretty newb-ish when it comes to the linux filesystem structure

i can’t even get it to show in my list of plug-ins, and yes, i did extract the .gz to the right directory.

although i did so using a “sudo nautilus” window

Comment from Stefan
Time March 1, 2008 at 10:33 am

Make this official. Please. :)
Also make it sync playlists and podcasts so I can finally delete itunes and get my mom to switch to ubuntu.

Comment from emmajane
Time March 2, 2008 at 12:05 pm

When I unzipped the file I noticed the file name was ipodsynctar. I renamed this to ipodsync.tar and then was able to see the plug-in listed in rhythmbox.

To install the “gpod” module I used the following command in a terminal window:
$ sudo apt-get install python-gpod

The module is now visible and can be enabled within rhythm box. I think I’m still having problems with syncing data, but maybe this will be helpful to those who have a more recent iPod. :)

Comment from emmajane
Time March 2, 2008 at 12:07 pm

I forgot to mention once I renamed the file to ipodsync.tar I still had to unpackage that archive with the following command in a terminal window:
$ sudo tar -xvf ipodsync.tar

Comment from Bobbo
Time March 6, 2008 at 3:14 pm

After installing python-gpod, I could enable the plugin… but when trying to hit “sync ipod” rhythmbox would just close.

The console revealed this:
** (rhythmbox:28023): CRITICAL **: error_no_itunes_dir: assertion `error’ failed
Segmentation fault (core dumped)

Any ideas?

Comment from abo
Time April 7, 2008 at 11:29 am

The same here:

andreas@fizban:~$ rhythmbox

** (rhythmbox:20192): CRITICAL **: error_no_itunes_dir: assertion `error’ failed

Segmentation fault (core dumped)

Comment from Travis
Time April 22, 2008 at 4:04 pm

So to date we still have no one who can help us fix this little problem? Seems like a lot of people have the same problem with getting the package in the right place, getting the missing file and then being stopped by nothing happening… WTF?

Comment from fungus
Time April 22, 2008 at 5:10 pm

Updates here.
http://www.kittypee.com/2008/04/22/updated-rhythmbox-ipod-sync-plugin/

Write a comment