Lyrics screenlet

Conky

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

38
7 .7
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 :P)
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 ...

Supported lyrics sources: ALSong, minilyrics, lrcdb
Last changelog:

9 years ago

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 :D
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

older logs in changelog file

NyhtShade

9 years ago

For some strange reason, 7.1 will not work right for me.. It reads lyrics right, but I like the default theme, and all the lyrics seem to "stay out" of the background. What happens is it acts like it's transparent, until it gets to the bottom of the song, then I can see the top of the background.svg file, the background, sitting underneath the last sentence.. it doesn't do it with 6.9 so I'm sticking with that for the moment.. but unfortunately, I can't add screenlets PPA to my sources because it keeps updating lyrics to 7.1 no matter what I do.. Is this a known bug or something strange just with me.. I recently JUST reinstalled ubuntu 10.10 x64, so I thought maybe it was a missing package, but I've dled every cairo, gtk2, and Xfce package that I thought would cause conflict and figure, if 6.9 would work, then that couldn't be it.. any help would be appreciated.. Thanks

Report

NyhtShade

9 years ago

For some strange reason, 7.1 will not work right for me.. It reads lyrics right, but I like the default theme, and all the lyrics seem to "stay out" of the background. What happens is it acts like it's transparent, until it gets to the bottom of the song, then I can see the top of the background.svg file, the background, sitting underneath the last sentence.. it doesn't do it with 6.9 so I'm sticking with that for the moment.. but unfortunately, I can't add screenlets PPA to my sources because it keeps updating lyrics to 7.1 no matter what I do.. Is this a known bug or something strange just with me.. I recently JUST reinstalled ubuntu 10.10 x64, so I thought maybe it was a missing package, but I've dled every cairo, gtk2, and Xfce package that I thought would cause conflict and figure, if 6.9 would work, then that couldn't be it.. any help would be appreciated.. Thanks

Report

algalord

9 years ago

this screenlet is awesome but search is slow and a lot of time it doesnt find lyrics. Maybe because my music is not that popular, but anyway, not metal lyrics.

Report

marcocolombini

9 years ago

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

Report

C

dencer

9 years ago

hehe, I cannot delete them either, so they will be there till end :P It always happens when you refresh page just after posting comment, I did it too.

Just one question, what version of gtk do you have ? I plan to update my system and probably than I would be able to fix that problem.

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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

Report

C

dencer

9 years ago

It will take some time to fix all issues :) I make version that should be better in finding lyrics on disk - ignoring case and accent sensitiveness (and I'm open to idea of fuzzy searching). Here it is http://dl.dropbox.com/u/4466860/Lyrics-beta.tar.gz. There is also option for format of file to save, but I wouldn't change it in this version cause I plan to add conversion that will automatically rename already saved lyrics files in previous format to actually set, or something similar.

And back to the first reported problem, about how many songs with "no lyrics found" message must be played until it starts to be non-responsive?

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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

Report

Sclegnrbs

9 years ago

Hi,
I am developer of Screenlets.

Maybe you would be interested in developing your code under the project https://launchpad.net/indiv-screenlets. Notice that Screenlets 0.1.3 has implemented the requirements check and with Debian package the dependencies would be installed automatically. This would make installing of the Screenlet as well as getting the updates a bit easier for the users. And if in the project, all the packaging would be done automatically by a script.

There is some documentation on this as well as connected topics at http://www.screenlets.org/index.php/Documentation#Why_should_I_add_my_Screenlet_to_individual_Screenlets_project

But if you can't upload your screenlet we can do this with pleasure if you allow this.

Report

C

dencer

9 years ago

Hi, thanks for info, I'll look at this closely in near time. Now I have only one question, how it is with a project universal applets, wasn't it mean to be a replacement of screenlets? Maybe you know more about it.

Report

9

olegue

9 years ago

First of all congratulation - that is cool, Apple should envy you.

Now about the lyrics saving suggestion, I think a possibility to be saved in ID3 tag directly will be the most proper.

Second - more lyrics sources to be included in the search, sometimes the player shows the lyrics, screenlet report - no lyric found.

Report

C

dencer

9 years ago

what a nice compliment :D

but back to the suggestions, I also wanted saving lyrics into ID3 tags a long time ago, but I let it be cause there was more important issues at that time, and I didn't have such mp3 file with synchronized lyrics in it. Maybe one day ...

I did get more requests to use more lyrics sources, but which ones? Most players are looking for not synchronized lyrics and there is much more databases with this type. So my priority is to make it easy to create and upload sync lyrics. Now it somehow works but it's still not ideal.

Report

9

erar123

10 years ago

I really like this screenlet, really good job, I just wish to comment, if you could add an other option to save the lyrics manually.

My English is not very good...

Regards

Report

C

dencer

10 years ago

more details please :) There is no better way to improve english, than using it. Do you want a save dialog window to specify destination and filename, or something different?

Report

9

erar123

10 years ago

I mean, you can't customize the lyrics directory, because the program create by default folders using "Artist - Album", i suggest to put others way to save the lyrics, for example, using only the name of the artist on the folder, and use a subfolder with the name of the album, or only create one folder with the name of the artist.

regards

Report

C

dencer

9 years ago

and would it be okey if there was only some predefined configurations, or would you like more configurable alternative ?

Report

Naf71

10 years ago

Since it was updated gnome on archlinux, paused no problem, but when i start to listen music, everything disappears and no the text on the desktop but I installed everything need... This is the error log:

[naf@Arch ~]$ python -u /home/naf/.screenlets/Lyrics/LyricsScreenlet.py
For Google Translate support, install package: python-simplejson
CachingBackend: Caricamente istanze dalla cache
CachingBackend: Caricamento <Lyrics1>
Trovata una sessione in esecuzione di Lyrics, aggiungo una nuova istanza del servizio
Errore in screenlets.services.get_service_by_name: org.freedesktop.DBus.Error.ServiceUnknown: The name org.screenlets.Lyrics was not provided by any .service files
Screenlet has already been added to /tmp/screenlets/screenlets.naf.running
Caricamento istanze in: /home/naf/.config/Screenlets/Lyrics/default/
File: Lyrics1.ini
NORMAL SHAPE
/home/naf/.config/Screenlets/Lyrics /default/Lyrics1
CARICA NUOVO TEMA: default
TROVATO: /home/naf/.screenlets/Lyrics/themes/default
theme.conf trovato! Carico le opzioni modificate.
theme.conf caricato:
Nome: dark
Autore: Marcel Dancak, Chriskin
Versione: 0.6
Informazioni: Dark theme
Modifica: text_scale
Modifica: color_normal
Modifica: color_highlight
NORMAL SHAPE
NORMAL SHAPE
Set THEME
on_minimized_resized: w=64 h=64
Imposta opzione in Lyrics Screenlet
CARICA NUOVO TEMA: default
TROVATO: /home/naf/.screenlets/Lyrics/themes/default
theme.conf trovato! Carico le opzioni modificate.
theme.conf caricato:
Nome: dark
Autore: Marcel Dancak, Chriskin
Versione: 0.6
Informazioni: Dark theme
Modifica: text_scale
Modifica: color_normal
Modifica: color_highlight
NORMAL SHAPE
NORMAL SHAPE
Set THEME
on_minimized_resized: w=64 h=64
NORMAL SHAPE
NORMAL SHAPE
NORMAL SHAPE
INFO:LyricsScreenlet:Screenlet has been initialized.
DEBUG:LyricsScreenlet:MINIMIZING Startup state: minimized
DEBUG:LyricsScreenlet:MINIMIZING Initialized maximized dimensions: width=300 height=155
DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet
**************************
minimized
on_minimized_resized: w=64 h=64
Ripristinate istanze dalla sessione 'default' ...
DEBUG:LyricsScreenlet:unfocus 1.0
NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x1db9128>
DEBUG:LyricsScreenlet:######## Song Changed: /home/naf/Musica/Monkey Business/05-black_eyed_peas-my_humps-h8me.mp3
Start TimeLine
************
STOP
************
############ Elapsed Event
ELAPSED 79 fading = True
INFO:LyricsScreenlet:Player Connected: Rhythmbox
CHANGE LYRICS
************
STOP
************
SET TIME 200.000000
Song Info:
{'album': dbus.String(u'Monkey Business', variant_level=1), 'artist': dbus.String(u'Black Eyed Peas', variant_level=1), 'file': '/home/naf/Musica/Monkey Business/05-black_eyed_peas-my_humps-h8me.mp3', 'title': dbus.String(u'My Humps', variant_level=1)}
{'album': dbus.String(u'Monkey Business', variant_level=1), 'artist': dbus.String(u'Black Eyed Peas', variant_level=1), 'file': '/home/naf/Musica/Monkey Business/05-black_eyed_peas-my_humps-h8me.mp3', 'title': dbus.String(u'My Humps', variant_level=1)}
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: /home/naf/Black Eyed Peas - Monkey Business/My Humps.lrc
DEBUG:LyricsScreenlet: For old compatibility, /home/naf/Black Eyed Peas - Monkey Business/My Humps will be checked too
/home/naf/Black Eyed Peas - Monkey Business/My Humps
Nothing on disk
9feecc3a3221a29123af43d2ca0bc535
on_minimized_resized: w=64 h=64
SETTING FIRST LYRICS
Set Lyrics translation=None enabled=False
translate Lyrics
False
None
0
************
STOP
************
############## Pause Animation
DEBUG:LyricsScreenlet:save lyrics on disk
OK
DEBUG:LyricsScreenlet:unfocus 0.0
Rhythmbox API seek: 79
############ Elapsed Event
ELAPSED 79 fading = False
DEBUG:LyricsScreenlet:set elapsed: 79
SET TIME 79000.000000
STOP ANIMATION
31
DEBUG:LyricsScreenlet:redraw in onElapsed
DEBUG:LyricsScreenlet:############ onPlay
############## Resume Animation
None
resume startup delay
UPDATE STATE playing = True
DEBUG:LyricsScreenlet:MINIMIZE maximalizing screenlet
<gtk.Window object at 0x1da5320 (GtkWindow at 0x1dfa020)>
<gtk.gdk.Window object at 0x1db72d0 (GdkWindow at 0x1996480)>
DEBUG:LyricsScreenlet:MINIMIZING Expanded Position: x=0 y=502
DEBUG:LyricsScreenlet:writing maximalizing state to config
NORMAL SHAPE
DEBUG:LyricsScreenlet:############ onStop
************
STOP
************
############## Pause Animation
UPDATE STATE playing = False
OK
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
Error in rendering <LyricsPanel.LyricsPanel object at 0x1dad9d0> widget: integer argument expected, got float
Traceback (most recent call last):
File "/home/naf/.screenlets/Lyrics/gui/cairo_widgets.py", line 70, in redraw_all
widget.draw(ctx)
File "/home/naf/.screenlets/Lyrics/gui/widget.py", line 538, in draw
self.drawComponent(ctx)
File "/home/naf/.screenlets/Lyrics/LyricsPanel.py", line 438, in drawComponent
self.clipBounds = Rectangle(*ctx.clip_extents())
TypeError: integer argument expected, got float
DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet
**************************
DEBUG:LyricsScreenlet:MINIMIZING was maximized, must resize and move
DEBUG:LyricsScreenlet:MINIMIZING Actual Layout: x=0 y=564 width=300 height=155
DEBUG:LyricsScreenlet:MINIMIZING Compute minimized layout
DEBUG:LyricsScreenlet:MINIMIZING Screen: width=1440 height=900
DEBUG:LyricsScreenlet:MINIMIZING Maximized dimmensions: width=300 height=155
DEBUG:LyricsScreenlet:MINIMIZING Packed Position: x=0 y=632 (offsets x=0 y=68)
Safe minimize move to: x=0 y=68
DEBUG:LyricsScreenlet:saving minimalized state to config
minimized
on_minimized_resized: w=64 h=64
OK

Report

C

dencer

10 years ago

Gnome developers have turned deprecation warning into errors. Check this version and let me know http://dl.dropbox.com/u/4466860/Lyrics_0.7.1-2.tar.gz

Report

Naf71

10 years ago

It's fantastic, great work my friend!

Report

Lemmiwinks

10 years ago

When I play a song in Audacious that does not have any ID3 tags at all the screenlet hangs, causing a lot of cpu usage. When I continue to the next song which has ID3 tags again, the screenlet continues to work as normal. Using Ubuntu 10.10 64 bit. Occurs with both version 0.70 and 0.69.

Report

Lemmiwinks

10 years ago

Same problem with Radio Tray 0.61.
Here is the console output:

...
NORMAL SHAPE
Set THEME
on_minimized_resized: w=64 h=64
Set options in Lyrics Screenlet
LOAD NEW THEME: default
FOUND: /home/andy/.screenlets/Lyrics/themes/default
theme.conf found! Loading option-overrides.
theme.conf loaded:
Name: dark
Author: Marcel Dancak, Chriskin
Version: 0.6
Info: Dark theme
Override: text_scale
Override: color_normal
Override: color_highlight
NORMAL SHAPE
NORMAL SHAPE
Set THEME
on_minimized_resized: w=64 h=64
NORMAL SHAPE
setFont Liberation Sans 9
NORMAL SHAPE
NORMAL SHAPE
INFO:LyricsScreenlet:Screenlet has been initialized.
DEBUG:LyricsScreenlet:MINIMIZING Startup state: minimized
DEBUG:LyricsScreenlet:MINIMIZING Initialized maximized dimensions: width=301 height=158
DEBUG:LyricsScreenlet:MINIMIZING minimalizing screenlet
**************************
minimized
on_minimized_resized: w=64 h=64
Restored instances from session 'default' ...
DEBUG:LyricsScreenlet:unfocus 1.0
DEBUG:LyricsScreenlet:unfocus 0.0
NEW MPRIS PLAYER <players.mpris.MprisApiPlayer instance at 0x215c518>
connect
signals
is_playing
unknown error
Cannot convert URI: "None"to local path
URI calss: <type 'dbus.String'>
unknown error
Cannot convert unicoded URI: "None"to local path
DEBUG:LyricsScreenlet:######## Song Changed: None
Start TimeLine
is_playing
************
STOP
************
get elapsed
############ Elapsed Event
ELAPSED 0 fading = True
INFO:LyricsScreenlet:Player Connected: radiotray
CHANGE LYRICS
************
STOP
************
SET TIME 200.000000
Song Info:
{'file': dbus.String(u'None', variant_level=1)}
{'file': dbus.String(u'None', variant_level=1)}
DEBUG:LyricsScreenlet:searching lyrics on disk
DEBUG:LyricsScreenlet:lyrics should be here: /home/andy/Music/Unknown/None.lrc
DEBUG:LyricsScreenlet: For old compatibility, /home/andy/Music/Unknown/None will be checked too
/home/andy/Music/Unknown/None
Nothing on disk
Can't compute check sum for non mp3 files
ChekSum function error: [Errno 2] No such file or directory: dbus.String(u'None', variant_level=1)
search on net
Traceback (most recent call last):
File "/home/andy/.screenlets/Lyrics/animation.py", line 323, in animation
self.onFinish()
File "/home/andy/.screenlets/Lyrics/animation.py", line 309, in onFinish
task[0](*task[1])
File "LyricsScreenlet.py", line 617, in changeLyrics
self.searchOnNet()
File "LyricsScreenlet.py", line 1356, in searchOnNet
self.lyricsEngine.search(self.songInfo)
File "/home/andy/.screenlets/Lyrics/lyricsengine/engine.py", line 67, in search
print "SEARCH FOR %s" % songInfo['title']
KeyError: 'title'
get elapsed
get elapsed
DEBUG:LyricsScreenlet:unfocus 0.0
get elapsed
^CScreenlet 'LyricsScreenlet' has been interrupted by keyboard. TODO: make this an event


Seems to look for a title but can't find anything??

Report

9 years ago

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 :D
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

older logs in changelog file

12345678910
112
product-maker mruchunglv Oct 07 2016 3 bad
product-maker KrakenHimoto Jul 28 2012 9 excellent
product-maker MadeInKobaia Jul 09 2012 9 excellent
product-maker scsimodo Dec 29 2011 9 excellent
product-maker torturedutopian Sep 02 2011 9 excellent
product-maker stratok Jun 19 2011 9 excellent
product-maker dodjob Apr 25 2011 9 excellent
product-maker Ubuntumutu Dec 22 2010 9 excellent
product-maker mystica Nov 30 2010 9 excellent
product-maker olegue Nov 27 2010 9 excellent
product-maker erar123 Nov 20 2010 9 excellent
product-maker aledb Nov 12 2010 9 excellent
product-maker balakrishnan Sep 25 2010 9 excellent
Be the first to comment
MojoMan
Feb 12 2016
Hellow
Mar 04 2015
atenrok
Dec 05 2012
MadeInKobaia
Jul 09 2012
dodjob
Apr 25 2011
boamaod
Apr 07 2011
y3m3th
Mar 19 2011
marcocolombini
Jan 28 2011
mystica
Nov 30 2010
olegue
Nov 27 2010
milanacow
Oct 20 2010
oemhack
Jun 26 2010
peacewithall
May 29 2010
play3man
May 25 2010
AstroLinux
May 19 2010
sgl
Apr 23 2010
Milena
Apr 12 2010
simunic
Mar 02 2010
erar123
Feb 26 2010
Kreisverkehr
Feb 10 2010
microscopuce
Jan 30 2010
lianimator
Jan 22 2010
Naf71
Jan 22 2010
firecad2006
Jan 21 2010
balakrishnan
Dec 02 2009
Potet
Oct 21 2009
LaGaDesk
Sep 13 2009
chriskin
Sep 12 2009
CLEARview
Sep 11 2009
kaeltas
Sep 04 2009
unformatted
Aug 18 2009
victorlisboa
Aug 04 2009
switzak
Mar 09 2009
naaamo2004
Mar 08 2009
epsyl
Mar 08 2009
PhobosK
Mar 07 2009
4tis
Mar 05 2009
Scnd101
Feb 09 2009
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.7.2
updated Mar 30 2011
added Feb 03 2009
downloads 24h
0
mediaviews 24h 0
pageviews 24h 4