Monday, July 25, 2011

Fixing Rhythmbox Lyrics cannot display Apostrophes

I don't have too good voice. But still, I love singing. One of my favorite music player in Ubuntu is Rhythmbox. The player is have very complete features and good library management system. This player also support plugin system. So any interested developer can extend this player for any new features.

One of important feature for any music player especially for the one who love singing or just grumbling is lyric plugin. In Windows OS world, they have very good lyric application, Mini Lyric. The application can run lyric in realtime while the song is playing. Rhythmbox actually already have one eventhough not as sophisticated application that I mentioned previously. The plugin only fetch the lyric from some lyric database web service when we play some song. But the lyric will not played as the song run. But it is enough.

The problem is don't know why this plugin cannot show apostrophes. For example application will show this word "It's fantastic" where actually it should be show this "It's fantastic". Previously I ignore this problem. But as the time goes on, I curious how to solve this. Here are the remedy. Open terminal and do these.

cd /usr/lib/rhythmbox/plugins/lyrics/

Add this text:

lyrics = lyrics.replace("'", "'")

Between these lines (line 107 in my system):

lyrics = unescape_entities(artistitle) + unescape_entities(lyrics)

and this line:

lyrics += "\n\nEsta letra foi disponibilizada pelo site\n"

so it became:

lyrics = unescape_entities(artistitle) + unescape_entities(lyrics)
lyrics = lyrics.replace("'", "'")
lyrics += "\n\nEsta letra foi disponibilizada pelo site\n"

After this restart Rhythmbox and empty your lyric folder. The problem should be solved now.

No comments:

Post a Comment