Image 01
profile-image

marcocolombini

Marco Colombini
Lyrics screenlet

Conky by dencer 339 comments

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

- May 25 2011
Lyrics screenlet

Conky by dencer 339 comments

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 - May 23 2011
Lyrics screenlet

Conky by dencer 339 comments

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


- May 19 2011
Lyrics screenlet

Conky by dencer 339 comments

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?
- May 17 2011
Lyrics screenlet

Conky by dencer 339 comments

Ok, you fixed it! Thanx a lot. The other bugs are very minor so, in my opinion, they can wait. As for the offset field, it works correctly but, if I am right, the value is treated as if expressed in seconds. Accordingly to the lyrics file specification (Wikipedia LRC (file format)) it should be in milliseconds. The sign is correct.

If you plan to improve the way accented fields are searched on the net and need some test, feel free to contact me directly at

col AT dicat.unige.it

Best
Marco - May 12 2011
Lyrics screenlet

Conky by dencer 339 comments

here is the (extended) output for the accented author case. Looks like there is a slash missing in the lyrics file path when searching 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
Fabrizio De André
matching_folders: []
amore che vieni amore che vai.lrc
DEBUG:LyricsScreenlet:lyrics should be here: None
Nothing on disk
96e5da11d9c8008cc9b94457c7c57056
search on net
start alsong
start minilyrics
minilyrics
start lrcdb
start lyricsscreenlet
get elapsed
############ Elapsed Event
ELAPSED 0 fading = False
DEBUG:LyricsScreenlet:set elapsed: 0.868
SET TIME 868.000000
STOP ANIMATION
DEBUG:LyricsScreenlet:redraw in onElapsed
not well-formed (invalid token): line 1, column 0
Minilyrics Lyrics Count: 0
get elapsed
{'confidence': 1.0, 'encoding': 'ascii'}
TAGS {}
DEBUG:LyricsScreenlet:MINIMIZE maximalizing screenlet
<gtk.Window object at 0x2e805f0 (GtkWindow at 0x2f8d030)>
<gtk.gdk.Window object at 0x2e99b40 (GdkWindow at 0x2a6d480)>

deiconify

DEBUG:LyricsScreenlet:writing maximalizing state to config
NORMAL SHAPE
SETTING FIRST LYRICS
Set Lyrics translation=None enabled=False
translate Lyrics
False
None
STOP ANIMATION
0
DEBUG:LyricsScreenlet:save lyrics on disk
INFO:LyricsScreenlet:writing lyrics into file: /d1/users/col/LYRICS/Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc
end of response
ALSong Server1 Lyrics Count: 1
get elapsed
get elapsed
INFO:LyricsScreenlet:lyrics engine finished!
get elapsed
DEBUG:LyricsScreenlet:unfocus 0.0
NORMAL SHAPE
get elapsed
- May 10 2011
Lyrics screenlet

Conky by dencer 339 comments

ok, the sleepy bug seems to have gone. Lyrics has run for two days without a restart and it is still scrolling correctly.

The problem with accented author persists also in this version: the lyrics saved under an accented path it is saved again and again every time the song is played. It is not found on disk where the screenlet has saved it previously. Btw, I think that it should be saved in the accented path (I assume that one who plays accented authors wants accented paths). What it could be really useful is to search on the net also without accents. Could you use wildcards in your searches? If so, I have the feeling that much more lyrics will be found on the net if accents are masked.

Since you are on debugging I would like to report you a few minor bugs, too.

1) When i switch rapidly between two song (one with lyrics on disk and one without) sometimes the screenlet get minimized when lyrics are present. If I then click the icon in the tray it is displayed again and scrolls correctly.

2) The debug output is different if I issue a restart from the manager or a stop/start. In the former case it is longer (with details on the search and a lot of "get elapsed") in the latter is shorter. Is this correct?

3) Some time ago, I mentioned the possibility of making use of an offset field in the lyrics file. Is this possible? Sometimes the lyrics are correct but the timing is bad.

Thanx again for your time and effort. - May 10 2011
Lyrics screenlet

Conky by dencer 339 comments

It may sound obvious and I don't know the reason why, but indeed the error message I got is correct: self.duration is usually an integer (I printed it out) but when the error comes out it is a float (300.0 is the output). self.steps_count keeps integer, but the result of the division is a float.

Does this help? - Apr 27 2011
Lyrics screenlet

Conky by dencer 339 comments

An add on as usual. This may be useful, though.
The screenlet stopped scrolling at some moment, and the error about line 306 (see below) was displayed. After that, changing back and forth to that song, lyrics stay frozen at the beginning (the usual behaviour) and a restart is needed.


DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Tanita Tikaram/The Best Of/03_-_World Outside Your Window.mp3
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: None
DEBUG:LyricsScreenlet:set elapsed: 1.098
DEBUG:LyricsScreenlet:redraw in onElapsed
DEBUG:LyricsScreenlet:MINIMIZE maximalizing screenlet
DEBUG:LyricsScreenlet:writing maximalizing state to config
DEBUG:LyricsScreenlet:save lyrics on disk
INFO:LyricsScreenlet:Creating directory for lyric file: /d1/users/col/LYRICS/Tanita Tikaram/The Best Of
INFO:LyricsScreenlet:writing lyrics into file: /d1/users/col/LYRICS/Tanita Tikaram/The Best Of/World Outside Your Window.lrc
INFO:LyricsScreenlet:lyrics engine finished!
Traceback (most recent call last):
File "/usr/share/screenlets/Lyrics/animation.py", line 306, in __start
self.timer = gobject.timeout_add(self.duration/self.steps_count, self.animation)
TypeError: integer argument expected, got float
DEBUG:LyricsScreenlet:unfocus 0.0
- Apr 21 2011
Lyrics screenlet

Conky by dencer 339 comments

I finally manage to trace the sleepy behaviour that still randomly (often but not so often) requires a screenlet restart to be fixed.

Here is a commented trace when the problem appears.

Hope it helps.

Marco



LYRICS WERE NOT ON DISK, ARE FOUND ON THE NET, SAVED ON DISK AND
CORRECTLY DISPLAYED


DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Antonello Venditti/In questo mondo di ladri/04_-_Mitico Amore.mp3
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: None
DEBUG:LyricsScreenlet:MINIMIZE maximalizing screenlet
DEBUG:LyricsScreenlet:writing maximalizing state to config
DEBUG:LyricsScreenlet:save lyrics on disk
INFO:LyricsScreenlet:Creating directory for lyric file: /d1/users/col/LYRICS/Antonello Venditti/In questo mondo di ladri
INFO:LyricsScreenlet:writing lyrics into file: /d1/users/col/LYRICS/Antonello Venditti/In questo mondo di ladri/Mitico Amore.lrc
INFO:LyricsScreenlet:lyrics engine finished!
/usr/lib/python2.7/site-packages/screenlets/__init__.py:1314: GtkWarning: IA__gdk_window_get_root_coords: assertion `GDK_IS_WINDOW (window)' failed
gtk.main()
DEBUG:LyricsScreenlet:unfocus 0.0
Traceback (most recent call last):
File "/usr/share/screenlets/Lyrics/animation.py", line 306, in __start
self.timer = gobject.timeout_add(self.duration/self.steps_count, self.animation)
TypeError: integer argument expected, got float


SONG IS CHANGED, LYRICS ARE NOT ON DISK AND ARE NOT FOUND ON THE NET.
LYRICS NOT FOUND MESSAGE AND SCREENLET GOES TO TRAY


DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Roberto Vecchioni/Calabuig, stranamore ed altri incidenti/02_-_Ninni.mp3
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: None
DEBUG:LyricsScreenlet:set elapsed: 1.281
DEBUG:LyricsScreenlet:redraw in onElapsed
INFO:LyricsScreenlet:lyrics engine finished!
DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet
**************************


SONG IS CHANGED BACK TO THE PREVIOUS ONE. LYRICS ARE CORRECTLY FOUND ON DISK
(NO PROBLEM WITH ACCENTS HERE!) ARE DISPLAYED BUT DO NOT SCROLL.


DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Antonello Venditti/In questo mondo di ladri/04_-_Mitico Amore.mp3
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: /d1/users/col/LYRICS/Antonello Venditti/In questo mondo di ladri/Mitico Amore.lrc
DEBUG:LyricsScreenlet:MINIMIZE maximalizing screenlet
DEBUG:LyricsScreenlet:writing maximalizing state to config
DEBUG:LyricsScreenlet:set elapsed: 1.252
DEBUG:LyricsScreenlet:redraw in onElapsed
Traceback (most recent call last):
File "/usr/share/screenlets/Lyrics/animation.py", line 306, in __start
self.timer = gobject.timeout_add(self.duration/self.steps_count, self.animation)
TypeError: integer argument expected, got float
DEBUG:LyricsScreenlet:unfocus 0.0


NOW I STOP AND START SCREENLET FROM SCREENLET MANAGER
WHILE SONG IS PLAYING


Quit Lyrics
screenletsDaemon: unregistered LyricsScreenlet
UNREGISTER screenlet: LyricsScreenlet
True
Launch Lyrics
Launching Screenlet from: /usr/share/screenlets/Lyrics/LyricsScreenlet.py
Logging output goes to: $HOME/.config/Screenlets/LyricsScreenlet.log
ScreenletsDaemon: registered LyricsScreenlet
REGISTER screenlet: LyricsScreenlet
True
INFO:LyricsScreenlet:Screenlet has been initialized.
DEBUG:LyricsScreenlet:MINIMIZING Startup state: maximized
DEBUG:LyricsScreenlet:MINIMIZING Initialized maximized dimensions: width=300 height=155
DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet
**************************
DEBUG:LyricsScreenlet:unfocus 1.0
DEBUG:LyricsScreenlet:unfocus 1.0
DEBUG:LyricsScreenlet:######## Song Changed: /d1/users/col/IPOD/Antonello Venditti/In questo mondo di ladri/04_-_Mitico Amore.mp3
DEBUG:LyricsScreenlet:############ onPlay
INFO:LyricsScreenlet:Player Connected: MediaPlayer2.amarok
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: /d1/users/col/LYRICS/Antonello Venditti/In questo mondo di ladri/Mitico Amore.lrc
DEBUG:LyricsScreenlet:MINIMIZE maximalizing screenlet
DEBUG:LyricsScreenlet:writing maximalizing state to config
DEBUG:LyricsScreenlet:set elapsed: 289.18
DEBUG:LyricsScreenlet:redraw in onElapsed
DEBUG:LyricsScreenlet:unfocus 0.0

AND THE SCREENLET SYNCS CORRECTLY AND SCROLLS AGAIN
- Apr 21 2011
Lyrics screenlet

Conky by dencer 339 comments

Ok, sorry for that. Moved to beta3. Same behaviour BUT it is found by ALSong server and saved to disk in the right place every time I play it

DEBUG:LyricsScreenlet:save lyrics on disk
INFO:LyricsScreenlet:writing lyrics into file: /d1/users/col/LYRICS/Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc
end of response
ALSong Server1 Lyrics Count: 1
INFO:LyricsScreenlet:lyrics engine finished!

However it is neither found on disk (where it itself has saved it) nor displayed

Marco - Apr 20 2011
Lyrics screenlet

Conky by dencer 339 comments

Hi dencer,

I am now testing your Lyrics-beta2.tar.gz.

I've changed the save format to one I like and it's working.

There seems to be a problem with an accented Author both on finding the file on disk and on minilyrics.

I enclose here a trace of the log

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
DEBUG:LyricsScreenlet:lyrics should be here: None
Nothing on disk
96e5da11d9c8008cc9b94457c7c57056
search on net
start minilyrics
minilyrics
not well-formed (invalid token): line 1, column 0
Minilyrics Lyrics Count: 0get elapsed


The file is there (I had it from the previous version)

I did a cat 'Fabrizio De André/In Direzione Ostinata E Contraria/Amore Che Vieni Amore Che Vai.lrc'
in the Lyrics directory and it showed up.

Also, there is a not well-formed message from minilyrics.

Can you please check what is going wrong?

Since you are debugging, I have also noticed that, in the properties window the Lyrics Directory is always reset to my home, even if in the config file is displayed correctly and lyrics are accordingly saved in the directory I have set. Is this ok?

Many thanks
Marco

- Apr 20 2011
Lyrics screenlet

Conky by dencer 339 comments

Hi,

I've tried your beta version, but I had to go back to the previous one because of the following problem: lyrics files existing on disk (with the correct filename according to the ID3 tag) were not found and (then) were overwritten by the file found of the net. A pity when you have edited it! I assume the correct procedure should be :if a match on disk (either exact or ignoring case and accent sensitiveness) is found, then execute it, else search on the net (possibly with both versions of Author, Album and Title ... actually the Author field should be only tried not accented ... yes, we have also authors' names with accented characters!).

As for the file path to save and search, I'm having second thoughts on it: Songs may be different in different Albums (live version, for example) so this may be left to the user. I would probably just organize path differently, like Author/Album/Song.lrc. In this regard, your suggestion to automatically rename (or move) already saved lyrics seems perfect to me. To be honest, the best choice seems to me the actual location of the mp3 file, so that you can just search both the actual path and the mp3 file path. I took a look at your code (should have done it before, my fault!) and saw that you are doing something similar, just stripping .mp3 and adding .lrc. I would say strip filename.mp3 and add lyricsfilename.mp3 (sometimes filename has the track number in front of it!)

Also, looking at the code, I realized that my previous comments on lyrics files specific fields (au:, ti:, al: and offset:) were a nonsense. What is wrongly formatted is the text you generate where the comment "if there is space" is displayed. About the offset field, please think of including it in your lyrics processing: the sintax is
[offset: number]
where number can be positive or negative and it is given in milliseconds.

Finally, back to the first reported issue, I'm running at the moment a version that stay maximized (I commented a few lines here and there) and it seems to me that it works flawlessly. So the problem seems related to minimize. As soon as your beta version finds lyrics on disk again, I will try the minimized version again.

Thanx again for your work
Marco
- Feb 14 2011
Lyrics screenlet

Conky by dencer 339 comments

Just an addon. Since, as I said, I am clumsy, I am playing at the moment with a separate lyrics editor (karlyriceditor), which works well. With it, I created some .lrc files that are correctly displayed by your screenlet. However, I've noticed the following:

1) The .lrc file name must match exactly the corresponding ID3 tag. I suspect this is true also for the search on the net, leading to more lyrics not found messages. When I say exactly, I mean also for upper and lower case. I would suggest to loosen the match a bit by trying to match all the single words in the title and searching for both lowercase and uppercase versions of each word. Also ASCII version of non ASCII characters (like è é à ù ì ò if you can see them ... they are the accented version of a e i o u) should be searched, both in the local database and on the net.

2) in the lyrics file created by karlyriceditor the ti: (for title), ar: (for artist) and al: (for album) fields are treated correctly by your screenlet but wrongly displayed (the first letter of each field is attached at the end of the previous field).

3) in the lyrics file, the offset: field seems not be processed by your screenlet. If done, this should solve the bad timing problem I was mentioning in my previous message.

These are obviously just suggestions for improving your screenlet, but I must say that I am enjoying it a lot just as it is.

Bye
Marco
- Feb 08 2011
Lyrics screenlet

Conky by dencer 339 comments

Thanx for the quick answer. Hope I will not reply more than once this time ... :-)

My version of gtk is 2.0 ... more precisely 2.22.0. Phyton is 2.7, if needed. And I have installed your 0.7.1. lyrics screenlet.

Btw, do you think you are gonna stick with the minimize (to tray) behaviour when no lyrics are found? Would it be possible to have it as an option? I'd rather prefer to have the lyrics not found message displayed than to have the screenlet swoosh back an forth (compiz animates minimizing, too).

Last suggestion is for edit mode. That's a great feature but for clumsy users as myself it's almost impossible without a lot of trial and error. Would it be possible to extract this part from the screenlet and build up a lyrics editor as a standalone python application (or screenlet, if you prefer)? Something that allows the user to edit the .lrc file and save partial versions of the file where some text has the time tag and and some has not? (to be added on another round). Moreover lyrics found on the net have often a bad timing (an offset needs to be added) and doing it by hand means changing a lot of time fields (and counting minutes when you exceeds 60, too). A real pain

As the perfect clumsy user I candidate myself to test it, if you can do it.

Thanx again for your beautiful work, anyway

Marco - Feb 03 2011
Lyrics screenlet

Conky by dencer 339 comments

A resend put my message three times by mistake. I don't know how to remove a message. So this is the fourth one ...
Marco - Jan 28 2011
Lyrics screenlet

Conky by dencer 339 comments

Hi,
first of all a line to say you this is the screenlet i like the most.

It runs almost smoothly in my configuration (dual monitors, fedora 14, compiz-fusion, screenlets 0.1.2).

I was also surprised that there were more lyrics available for italian songs, which I most often listen to, than I supposed. Thanx to your facility for saving lrc files a nice database is now expanding on my disk.

Many songs result with no lyrics, but I can survive! However, I have noticed that the screenlet becomes somewhat sleepy when too many no lyrics messages have been obtained before. Sometimes, even the lyrics I have in the database are displayed (still) for a few seconds and then the screenlet goes back to the tray. Sometimes, it stays on the desktop but doesn't scroll. Always, a restart all issued from the screenlets-manager put everything back to work.

It is not easy to traceback this behaviour because for some time everything is working smoothly, but I always have to issue some restart all during the day.

As for the lyrics database on disk, I would suggest that a configurable path would be great (I would suggest to drop the Album field in the name and just have a path to "some directory the user chooses" + "Author" directory + "song name".lrc). This is mainly because the same song can be available in many albums of the same author. This could be useful searching the song on the net, too.

Thanx again for your work
Marco - Jan 28 2011
Lyrics screenlet

Conky by dencer 339 comments

Hi,
first of all a line to say you this is the screenlet i like the most.

It runs almost smoothly in my configuration (dual monitors, fedora 14, compiz-fusion, screenlets 0.1.2).

I was also surprised that there were more lyrics available for italian songs, which I most often listen to, than I supposed. Thanx to your facility for saving lrc files a nice database is now expanding on my disk.

Many songs result with no lyrics, but I can survive! However, I have noticed that the screenlet becomes somewhat sleepy when too many no lyrics messages have been obtained before. Sometimes, even the lyrics I have in the database are displayed (still) for a few seconds and then the screenlet goes back to the tray. Sometimes, it stays on the desktop but doesn't scroll. Always, a restart all issued from the screenlets-manager put everything back to work.

It is not easy to traceback this behaviour because for some time everything is working smoothly, but I always have to issue some restart all during the day.

As for the lyrics database on disk, I would suggest that a configurable path would be great (I would suggest to drop the Album field in the name and just have a path to "some directory the user chooses" + "Author" directory + "song name".lrc). This is mainly because the same song can be available in many albums of the same author. This could be useful searching the song on the net, too.

Thanx again for your work
Marco - Jan 28 2011
Lyrics screenlet

Conky by dencer 339 comments

Hi,
first of all a line to say you this is the screenlet i like the most.

It runs almost smoothly in my configuration (dual monitors, fedora 14, compiz-fusion, screenlets 0.1.2).

I was also surprised that there were more lyrics available for italian songs, which I most often listen to, than I supposed. Thanx to your facility for saving lrc files a nice database is now expanding on my disk.

Many songs result with no lyrics, but I can survive! However, I have noticed that the screenlet becomes somewhat sleepy when too many no lyrics messages have been obtained before. Sometimes, even the lyrics I have in the database are displayed (still) for a few seconds and then the screenlet goes back to the tray. Sometimes, it stays on the desktop but doesn't scroll. Always, a restart all issued from the screenlets-manager put everything back to work.

It is not easy to traceback this behaviour because for some time everything is working smoothly, but I always have to issue some restart all during the day.

As for the lyrics database on disk, I would suggest that a configurable path would be great (I would suggest to drop the Album field in the name and just have a path to "some directory the user chooses" + "Author" directory + "song name".lrc). This is mainly because the same song can be available in many albums of the same author. This could be useful searching the song on the net, too.

Thanx again for your work
Marco - Jan 28 2011
7 .7
Jan 28 2011