Description: This screenlet downloads and display synchronized lyrics of music files playing in the audio player.
Version 0.7.0 allows to create and upload lyrics to the database (for some time it will be used for testing, but I'll try not to delete anything ) Steps to create synchronized lyrics: find unsynchronized lyrics (later will be implemented by the screenlet itself) drag&drop text or file with lyrics to screenlet during playing song, use Space key to insert time info save or upload lyrics before screenlet switch to another song
Requires: python-numpy can be needed on Ubuntu and possibly some other distributions in the case of crashing when you move cursor over control buttons python-chardet for better dealing with different lyrics encoding, but it's optional
Set lyrics offset: by 0.1s: Shift+Up/Down key by 0.5s: Up/Down key
Supported players: Rhythmbox Exaile Banshee Audacious Amarok Music Player Daemon based players Quodlibet - need to install plugin in package Listen 0.6 and higher Gmusicbrowser Xmms - need to install pyxmms Any other that support MPRIS API (direct or with plugin) - vlc, Songbird ...
0.7.2 - fixed bug in saving/restoring cairo state in LyricsPanel visible on default theme - searching lyrics on disk with ignoring case and accent and some bug fixes - support of "offset" metadata in lyrics files - added settings option - format of filename for saving/loading lyrics with automatic conversion between them - properties window works with newer screenlets package version
0.7.1 - fixed accessing of the song info metadata - doesn't crash on missing metadata - works with a new gtk version (deprecation warning turned into TypeError) - fixed bug in saving/restoring cairo context (in Widget and LyricsPanel classes)
0.7.0 - added possibility to upload lyrics to the database and using this database for searching - reporting a missing lyrics to the database - creating synchronized lyrics works again
0.6.9 -lyrics align settings: left, center, right -lyrics translation on/off switch in menu -update translation settings immediately -safe minimizing (use when screenlet itself moves on desktop) -works in gnome 2.30 (bug is in pycairo, not screenlet!) 0.6.8 - lyrics searching bug fix, now it should really works, I promise 0.6.7 - update of lyrics engine: ALSong now work again (it stopped to work at all after they changed ip address), minilyrics has better encoding handling - theme update
Hi,
First that all I wanna thank you for this great app.
Now, my problem that the screenlet has no background in the dark or transparent theme.
The lyrics are displayed correctly, and even the color adaptation works fine.
In the transparent theme there is no background at all (As it should be), but in the dark theme, at the end of the song, when the lyrics are finishing, the background appears, but only at the bottom, just like if the background were part of the lyrics.
This images explain better what I mean:
At the start or middle of the song
http://s2.subirimagenes.com/imagen/previo/thump_8912754screenshot-from-2014.png
At the end
http://s2.subirimagenes.com/imagen/previo/thump_8912757screenshot-from-2014.png
Well, thats it, I hope you can help me.
OS: Linux Mint 16 with cinnamon.
runnig "python LyricsScreenlet.py" in the command line I got this error :
No module RSVG , graphics will not be so good
....
.
.
.
and it is solved by installing python-rsvg package !
but as "pchaubal89" said in the comments lyrics screenlet doesn't work anymore since lrcdb.org (the place where it got the lyrics from) has shutdown.
I can't get the screenlet work. Running from the terminal i get this:
**************************
iconify
Restored instances from session 'default' ...
NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x8be4d6c>
connect
signals
is_playing
Traceback (most recent call last):
File "LyricsScreenlet.py", line 1546, in doColorAdaptation
difference = abs(self.lyricsPanel.color_highlight[0] - textColor[0]) + abs(self.lyricsPanel.color_highlight[1] - textColor[1]) + abs(self.lyricsPanel.color_highlight[2] - textColor[2])
UnboundLocalError: local variable 'textColor' referenced before assignment
NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x967b9cc>
connect
signals
is_playing
NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x968b3ac>
connect
signals
is_playing
Traceback (most recent call last):
File "LyricsScreenlet.py", line 1546, in doColorAdaptation
difference = abs(self.lyricsPanel.color_highlight[0] - textColor[0]) + abs(self.lyricsPanel.color_highlight[1] - textColor[1]) + abs(self.lyricsPanel.color_highlight[2] - textColor[2])
UnboundLocalError: local variable 'textColor' referenced before assignment
get elapsed
Can't get elapsed time information from MPRIS API: org.freedesktop.DBus.Error.UnknownMethod: Interfaccia "org.freedesktop.MediaPlayer" inesistente sull'oggetto nel percorso /Player
NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x968b60c>
connect
signals
is_playing
get elapsed
Can't get elapsed time information from MPRIS API: org.freedesktop.DBus.Error.UnknownMethod: Interfaccia "org.freedesktop.MediaPlayer" inesistente sull'oggetto nel percorso /Player
get elapsed
Can't get elapsed time information from MPRIS API: org.freedesktop.DBus.Error.UnknownMethod: Interfaccia "org.freedesktop.MediaPlayer" inesistente sull'oggetto nel percorso /Player
get elapsed
and so on...(looping)
Effects: i can see the screenlet, it just don't work.
I believe the lyrics screenlet doesn't work anymore since lrcdb.org (the place where it got the lyrics from) has shutdown. I'm looking into alternatives to lrcdb's api.
Lets hope someone has something similar with an open api.
Hi,
first, congrats for you screenlet, is awesome, but I've a problem to save my lyrics. The Save button is desactived,
ex. when the music has no lyrics, I use the drag&drop and use the SPACE to set info time, etc, but I cant save it cause the save (harddisk) button doesn't work. Because of this , everytime I want hear that music, I've to drag&drop, set the time info with space again. Can help me?
ps: sorry, my english is horrible
You must first allow saving lyrics on disk in properties, then it should be active and work for automatic saving of downloaded or manually created lyrics
As a temporary solution, change screenlet's configuration in ~/.config/Screenlets/Lyrics/default/Lyrics1.ini file by adding line (or editing if already exists):
save_lyrics=True
man, now the save button is actived and I can save lyrics in my music folder, but when I play the music, it doesn't load the lyrics saved and not even recognize it. Thanks in advance
Congrats for this very useful screenlet !
Just a question : is it possible to make it more discreet ? Indeed, when lyrics are not found or my audio player is not started, there is still a big icon on my desktop.
Also, for some reason, I cannot access the settings windows (tried the latest version too)
Thanks again !
You can do it in settings :( (by checking Use Tray Icon under Lyrics tab). But you can configure it also in config file - in ~/.config/Screenlets/Lyrics/default/Lyrics1.ini add option minimizeToTray=True (I hope that nothing has changed in newer version).
But I think this should be already fixed in some version, probably at https://launchpad.net/~indiv-screenlets-dev. I will try to merge both versions and keep it up to date here.
i guess u know it by now but just to report it lyrics screenlet on gnome shell doesnt escape the dash/dock and the area where the currenty tunning app is displayed
Hi dencer,
tried the new version with the same accented two songs and both lyrics are now found. Hope this ends the accent bug.
What's bothering me now is the exception error I mentioned in my previous messages. It seems to appear more often than before (or perhaps it is just me!). After the exception the screenlet behaves strangely: the "lyrics engine finished!" message is not displayed anymore if song are changed (even if I think I've seen a new lyrics saved to disk, but I may be wrong) and sometimes the "searching" stamp is displayed forever. When I see it, I usually stop/start and searching on the net starts again with no timeout or conn problems.
Best
Marco
Same error happened, this time with an URL timeout. Found another (very minor) bug: when you stop player with lyrics displayed, they are reset to the beginning and keep going 'til lyrics end, instead of stopping. Lyrics should display some "no song playing" message and go to tray, instead.
This is another thing you can look at later, anyway.
Bye
Marco
After this the search on the net stopped working until a restart was issued.
INFO:LyricsScreenlet:lyrics engine finished!
Exception in thread Thread-533:
Traceback (most recent call last):
File "/usr/lib64/python2.7/threading.py", line 530, in __bootstrap_inner
self.run()
File "/usr/share/screenlets/Lyrics/lyricsengine/engine.py", line 29, in run
self.finishCallback()
File "/usr/share/screenlets/Lyrics/lyricsengine/engine.py", line 167, in onDownloaderFinish
self.finishCallback()
File "/usr/share/screenlets/Lyrics/LyricsScreenlet.py", line 572, in onEngineFinish
self.lyricsEngine.reportMissingLyrics(self.songInfo)
File "/usr/share/screenlets/Lyrics/lyricsengine/engine.py", line 214, in reportMissingLyrics
response = urllib2.urlopen(req)
File "/usr/lib64/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 1173, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib64/python2.7/urllib2.py", line 1148, in do_open
raise URLError(err)
URLError: <urlopen error [Errno 111] Connection refused>
DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet
**************************
DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Paolo Conte/Una faccia in prestito/17_-_L'incantatrice.mp3
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: None
DEBUG:LyricsScreenlet:set elapsed: 0.699
DEBUG:LyricsScreenlet:redraw in onElapsed
DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Zucchero/Snack Bar Budapest/08_-_Sei di mattino.mp3
Hi dencer,
checked the offset, works nicely. Only minor bug: at the beginning, for some time (the offset!) the last lyric in the file is displayed. The title etc (with timestamp 0:00) are displayed after the offset. Could you eliminate this and (possibly) do not offset any 0:00 field?
The accented problem isn't completely fixed: when I played an accented song (lyrics on disk found by your screenlet some time ago) it is not found on the net and, worse, is not found on disk, too. Looks like the same slash missing in the file path as before. Strangely enough, the one i tested previously is correctly found on disk.
I include the debug for the two songs below.
I have not seen any improvement yet, for the search on the net with wildcards. Would it be possible to have some debug output on the fields that are actually searched? Without it I can't see if lyrics are not found because they are not there or because of the accents.
Thanx a lot
>>>> SONG FOUND ON DISK
DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/01_-_Amore Che Vieni Amore Che Vai.mp3
Start TimeLine
is_playing
CHANGE LYRICS
STOP ANIMATION
SET TIME 200.000000
STOP ANIMATION
Song Info:
{'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/01_-_Amore Che Vieni Amore Che Vai.mp3', 'title': dbus.String(u'Amore Che Vieni Amore Che Vai', variant_level=1)}
Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc
{'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/01_-_Amore Che Vieni Amore Che Vai.mp3', 'title': dbus.String(u'Amore Che Vieni Amore Che Vai', variant_level=1)}
DEBUG:LyricsScreenlet:searching lyrics on disk
....... searching on disk
/d1/users/col/LYRICS Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc
matching_folders: ['/d1/users/col/LYRICS/Fabrizio De Andr\xc3\xa9/In Direzione Ostinata E Contraria']
amore che vieni amore che vai.lrc
DEBUG:LyricsScreenlet:lyrics should be here: /d1/users/col/LYRICS/Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc
lyrics from file: /d1/users/col/LYRICS/Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc
TAGS {}
>>>>>>>>>SONG NOT FOUND ON DISK
DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/10_-_Khorakhane (A Forza Di Essere Vento).mp3
Start TimeLine
is_playing
get elapsed
CHANGE LYRICS
STOP ANIMATION
SET TIME 200.000000
STOP ANIMATION
Song Info:
{'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/10_-_Khorakhane (A Forza Di Essere Vento).mp3', 'title': dbus.String(u'Khorakhan\xe9 (A Forza Di Essere Vento)', variant_level=1)}
Fabrizio De André/In Direzione Ostinata E Contraria/Khorakhané (A Forza Di Essere Vento).lrc
{'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/10_-_Khorakhane (A Forza Di Essere Vento).mp3', 'title': dbus.String(u'Khorakhan\xe9 (A Forza Di Essere Vento)', variant_level=1)}
DEBUG:LyricsScreenlet:searching lyrics on disk
....... searching on disk
/d1/users/col/LYRICS Fabrizio De André/In Direzione Ostinata E Contraria/Khorakhané (A Forza Di Essere Vento).lrc
matching_folders: ['/d1/users/col/LYRICS/Fabrizio De Andr\xc3\xa9/In Direzione Ostinata E Contraria']
khorakhané (a forza di essere vento).lrc
DEBUG:LyricsScreenlet:lyrics should be here: None
Nothing on disk
1636089108a3cb96db6213c250ec046a
search on net
>>>>>>>>>> HERE IS THE SEARCH RESULT
(I have removed some "get elapsed"
############ Elapsed Event
ELAPSED 1 fading = False
DEBUG:LyricsScreenlet:set elapsed: 1.366
SET TIME 1366.000000
STOP ANIMATION
DEBUG:LyricsScreenlet:redraw in onElapsed
ALSong Server2 Lyrics Count: 0
start alsong
start minilyrics
minilyrics
start lrcdb
start lyricsscreenlet
not well-formed (invalid token): line 1, column 0
Minilyrics Lyrics Count: 0
end of response
ALSong Server1 Lyrics Count: 0
end of response
ALSong Server2 Lyrics Count: 0
INFO:LyricsScreenlet:lyrics engine finished!
>>>>>>> Is it the "not well-formed" ok?
Ratings & Comments
339 Comments
Hi, First that all I wanna thank you for this great app. Now, my problem that the screenlet has no background in the dark or transparent theme. The lyrics are displayed correctly, and even the color adaptation works fine. In the transparent theme there is no background at all (As it should be), but in the dark theme, at the end of the song, when the lyrics are finishing, the background appears, but only at the bottom, just like if the background were part of the lyrics. This images explain better what I mean: At the start or middle of the song http://s2.subirimagenes.com/imagen/previo/thump_8912754screenshot-from-2014.png At the end http://s2.subirimagenes.com/imagen/previo/thump_8912757screenshot-from-2014.png Well, thats it, I hope you can help me. OS: Linux Mint 16 with cinnamon.
http://imamul-mqn.blogspot.com/ http://imamul-mqn.blogspot.com/2014/01/Software-Point-of-Sales-Online-Omega-POS-Cloud.html http://seo-mqn.blogspot.com/2014/02/Software-Point-Sales-Online-omega-cloud.html http://seo-mqn.blogspot.com
runnig "python LyricsScreenlet.py" in the command line I got this error : No module RSVG , graphics will not be so good .... . . . and it is solved by installing python-rsvg package ! but as "pchaubal89" said in the comments lyrics screenlet doesn't work anymore since lrcdb.org (the place where it got the lyrics from) has shutdown.
I can't get the screenlet work. Running from the terminal i get this: ************************** iconify Restored instances from session 'default' ... NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x8be4d6c> connect signals is_playing Traceback (most recent call last): File "LyricsScreenlet.py", line 1546, in doColorAdaptation difference = abs(self.lyricsPanel.color_highlight[0] - textColor[0]) + abs(self.lyricsPanel.color_highlight[1] - textColor[1]) + abs(self.lyricsPanel.color_highlight[2] - textColor[2]) UnboundLocalError: local variable 'textColor' referenced before assignment NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x967b9cc> connect signals is_playing NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x968b3ac> connect signals is_playing Traceback (most recent call last): File "LyricsScreenlet.py", line 1546, in doColorAdaptation difference = abs(self.lyricsPanel.color_highlight[0] - textColor[0]) + abs(self.lyricsPanel.color_highlight[1] - textColor[1]) + abs(self.lyricsPanel.color_highlight[2] - textColor[2]) UnboundLocalError: local variable 'textColor' referenced before assignment get elapsed Can't get elapsed time information from MPRIS API: org.freedesktop.DBus.Error.UnknownMethod: Interfaccia "org.freedesktop.MediaPlayer" inesistente sull'oggetto nel percorso /Player NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x968b60c> connect signals is_playing get elapsed Can't get elapsed time information from MPRIS API: org.freedesktop.DBus.Error.UnknownMethod: Interfaccia "org.freedesktop.MediaPlayer" inesistente sull'oggetto nel percorso /Player get elapsed Can't get elapsed time information from MPRIS API: org.freedesktop.DBus.Error.UnknownMethod: Interfaccia "org.freedesktop.MediaPlayer" inesistente sull'oggetto nel percorso /Player get elapsed and so on...(looping) Effects: i can see the screenlet, it just don't work.
I believe the lyrics screenlet doesn't work anymore since lrcdb.org (the place where it got the lyrics from) has shutdown. I'm looking into alternatives to lrcdb's api. Lets hope someone has something similar with an open api.
Hi, first, congrats for you screenlet, is awesome, but I've a problem to save my lyrics. The Save button is desactived, ex. when the music has no lyrics, I use the drag&drop and use the SPACE to set info time, etc, but I cant save it cause the save (harddisk) button doesn't work. Because of this , everytime I want hear that music, I've to drag&drop, set the time info with space again. Can help me? ps: sorry, my english is horrible
You must first allow saving lyrics on disk in properties, then it should be active and work for automatic saving of downloaded or manually created lyrics
Thanks for help, but the properties option doesn't work, I click on it and nothing appear. How fix this? I've installed the 0.72 version
As a temporary solution, change screenlet's configuration in ~/.config/Screenlets/Lyrics/default/Lyrics1.ini file by adding line (or editing if already exists): save_lyrics=True
OH thanks a lot man, does works, but can I change font color too?
OH thanks a lot man, does works, but can I change font color too?
man, now the save button is actived and I can save lyrics in my music folder, but when I play the music, it doesn't load the lyrics saved and not even recognize it. Thanks in advance
Thank you for this great screenlet, very cool. Wondering about add deadbeef player ^__^
Try it with deadbeef-mpris-plugin. I downloaded one version from http://sourceforge.net/projects/deadbeef/files/plugins/0.5.1/mpris-2.1.zip/download, but player failed to load it.
Congrats for this very useful screenlet ! Just a question : is it possible to make it more discreet ? Indeed, when lyrics are not found or my audio player is not started, there is still a big icon on my desktop. Also, for some reason, I cannot access the settings windows (tried the latest version too) Thanks again !
You can do it in settings :( (by checking Use Tray Icon under Lyrics tab). But you can configure it also in config file - in ~/.config/Screenlets/Lyrics/default/Lyrics1.ini add option minimizeToTray=True (I hope that nothing has changed in newer version). But I think this should be already fixed in some version, probably at https://launchpad.net/~indiv-screenlets-dev. I will try to merge both versions and keep it up to date here.
i guess u know it by now but just to report it lyrics screenlet on gnome shell doesnt escape the dash/dock and the area where the currenty tunning app is displayed
*running
It works like a charm, I literately just made an account so I could congratulate the creator for a fantastic piece of software =)
Ya, i am just registered to congrats the creator. Thanks a lot
Acabo de hacer exactamente lo mismo, registrarme para votar tan magistral obra.
Hi dencer, tried the new version with the same accented two songs and both lyrics are now found. Hope this ends the accent bug. What's bothering me now is the exception error I mentioned in my previous messages. It seems to appear more often than before (or perhaps it is just me!). After the exception the screenlet behaves strangely: the "lyrics engine finished!" message is not displayed anymore if song are changed (even if I think I've seen a new lyrics saved to disk, but I may be wrong) and sometimes the "searching" stamp is displayed forever. When I see it, I usually stop/start and searching on the net starts again with no timeout or conn problems. Best Marco
Same error happened, this time with an URL timeout. Found another (very minor) bug: when you stop player with lyrics displayed, they are reset to the beginning and keep going 'til lyrics end, instead of stopping. Lyrics should display some "no song playing" message and go to tray, instead. This is another thing you can look at later, anyway. Bye Marco
After this the search on the net stopped working until a restart was issued. INFO:LyricsScreenlet:lyrics engine finished! Exception in thread Thread-533: Traceback (most recent call last): File "/usr/lib64/python2.7/threading.py", line 530, in __bootstrap_inner self.run() File "/usr/share/screenlets/Lyrics/lyricsengine/engine.py", line 29, in run self.finishCallback() File "/usr/share/screenlets/Lyrics/lyricsengine/engine.py", line 167, in onDownloaderFinish self.finishCallback() File "/usr/share/screenlets/Lyrics/LyricsScreenlet.py", line 572, in onEngineFinish self.lyricsEngine.reportMissingLyrics(self.songInfo) File "/usr/share/screenlets/Lyrics/lyricsengine/engine.py", line 214, in reportMissingLyrics response = urllib2.urlopen(req) File "/usr/lib64/python2.7/urllib2.py", line 126, in urlopen return _opener.open(url, data, timeout) File "/usr/lib64/python2.7/urllib2.py", line 391, in open response = self._open(req, data) File "/usr/lib64/python2.7/urllib2.py", line 409, in _open '_open', req) File "/usr/lib64/python2.7/urllib2.py", line 369, in _call_chain result = func(*args) File "/usr/lib64/python2.7/urllib2.py", line 1173, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib64/python2.7/urllib2.py", line 1148, in do_open raise URLError(err) URLError: <urlopen error [Errno 111] Connection refused> DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet ************************** DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Paolo Conte/Una faccia in prestito/17_-_L'incantatrice.mp3 DEBUG:LyricsScreenlet:searching lyrics on disk DEBUG:LyricsScreenlet:lyrics should be here: None DEBUG:LyricsScreenlet:set elapsed: 0.699 DEBUG:LyricsScreenlet:redraw in onElapsed DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Zucchero/Snack Bar Budapest/08_-_Sei di mattino.mp3
Hi dencer, checked the offset, works nicely. Only minor bug: at the beginning, for some time (the offset!) the last lyric in the file is displayed. The title etc (with timestamp 0:00) are displayed after the offset. Could you eliminate this and (possibly) do not offset any 0:00 field? The accented problem isn't completely fixed: when I played an accented song (lyrics on disk found by your screenlet some time ago) it is not found on the net and, worse, is not found on disk, too. Looks like the same slash missing in the file path as before. Strangely enough, the one i tested previously is correctly found on disk. I include the debug for the two songs below. I have not seen any improvement yet, for the search on the net with wildcards. Would it be possible to have some debug output on the fields that are actually searched? Without it I can't see if lyrics are not found because they are not there or because of the accents. Thanx a lot >>>> SONG FOUND ON DISK DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/01_-_Amore Che Vieni Amore Che Vai.mp3 Start TimeLine is_playing CHANGE LYRICS STOP ANIMATION SET TIME 200.000000 STOP ANIMATION Song Info: {'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/01_-_Amore Che Vieni Amore Che Vai.mp3', 'title': dbus.String(u'Amore Che Vieni Amore Che Vai', variant_level=1)} Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc {'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/01_-_Amore Che Vieni Amore Che Vai.mp3', 'title': dbus.String(u'Amore Che Vieni Amore Che Vai', variant_level=1)} DEBUG:LyricsScreenlet:searching lyrics on disk ....... searching on disk /d1/users/col/LYRICS Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc matching_folders: ['/d1/users/col/LYRICS/Fabrizio De Andr\xc3\xa9/In Direzione Ostinata E Contraria'] amore che vieni amore che vai.lrc DEBUG:LyricsScreenlet:lyrics should be here: /d1/users/col/LYRICS/Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc lyrics from file: /d1/users/col/LYRICS/Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc TAGS {} >>>>>>>>>SONG NOT FOUND ON DISK DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/10_-_Khorakhane (A Forza Di Essere Vento).mp3 Start TimeLine is_playing get elapsed CHANGE LYRICS STOP ANIMATION SET TIME 200.000000 STOP ANIMATION Song Info: {'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/10_-_Khorakhane (A Forza Di Essere Vento).mp3', 'title': dbus.String(u'Khorakhan\xe9 (A Forza Di Essere Vento)', variant_level=1)} Fabrizio De André/In Direzione Ostinata E Contraria/Khorakhané (A Forza Di Essere Vento).lrc {'album': dbus.String(u'In Direzione Ostinata E Contraria', variant_level=1), 'artist': dbus.String(u'Fabrizio De Andr\xe9', variant_level=1), 'file': '/d1/users/col/IPOD/Fabrizio De Andre/In Direzione Ostinata E Contraria/10_-_Khorakhane (A Forza Di Essere Vento).mp3', 'title': dbus.String(u'Khorakhan\xe9 (A Forza Di Essere Vento)', variant_level=1)} DEBUG:LyricsScreenlet:searching lyrics on disk ....... searching on disk /d1/users/col/LYRICS Fabrizio De André/In Direzione Ostinata E Contraria/Khorakhané (A Forza Di Essere Vento).lrc matching_folders: ['/d1/users/col/LYRICS/Fabrizio De Andr\xc3\xa9/In Direzione Ostinata E Contraria'] khorakhané (a forza di essere vento).lrc DEBUG:LyricsScreenlet:lyrics should be here: None Nothing on disk 1636089108a3cb96db6213c250ec046a search on net >>>>>>>>>> HERE IS THE SEARCH RESULT (I have removed some "get elapsed" ############ Elapsed Event ELAPSED 1 fading = False DEBUG:LyricsScreenlet:set elapsed: 1.366 SET TIME 1366.000000 STOP ANIMATION DEBUG:LyricsScreenlet:redraw in onElapsed ALSong Server2 Lyrics Count: 0 start alsong start minilyrics minilyrics start lrcdb start lyricsscreenlet not well-formed (invalid token): line 1, column 0 Minilyrics Lyrics Count: 0 end of response ALSong Server1 Lyrics Count: 0 end of response ALSong Server2 Lyrics Count: 0 INFO:LyricsScreenlet:lyrics engine finished! >>>>>>> Is it the "not well-formed" ok?