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

C

dencer

9 years ago

here is an another version you can play with http://dl.dropbox.com/u/4466860/Lyrics-beta7.tar.gz

Report

C

dencer

9 years ago

Yeah, skipping timestamp with 0:00 make it better. I'll look at searching again, but it must be another thing as missing filename separator, that's only my confusing logging output printing two paths in the same line

Report

marcocolombini

9 years ago

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.

Report

marcocolombini

9 years ago

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

Report

C

dencer

9 years ago

try this http://dl.dropbox.com/u/4466860/Lyrics-beta5.tar.gz
Now I have limited testing ability cause I broke pygtk bindings :P, but it should finally work.
2) yes it sometimes behave weird, I can look at this later
3) I added support for offset tag some time ago, when I fix my pygtk issues I'll check it. But still, timing isn't accurate now on some players (it's max. +/- 1s). But it's possible to do it better

Report

marcocolombini

9 years ago

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

Report

C

dencer

9 years ago

That's easy fixes, here should be offset fixed in milliseconds and searching will be performed on metadata without accent http://dl.dropbox.com/u/4466860/Lyrics-beta6.tar.gz. I did small test and it seems that it helps sometimes, but I let it on you to perform better testing :)

Report

9

dodjob

9 years ago

How cool is that!!!
:)
Thanks a lot for this awesome screenlet. Works flawlessly on lucid and maverick 64!
Now I just have to find a typoclock for my desktop and I will be trully happy.
One option would be nevertheless interesting is that the screenlet remains completely hided is when we hear no music ;-)
Gruß,
H.

Report

C

dencer

9 years ago

Hi, try option "Use Tray Icon", that should make the trick :)

Report

9

dodjob

9 years ago

it works! :) thanks a lot. Ok I'm not a big fan from system tray icons.. but it's way better than the big "transparent" icon on my desktop. Thanks again for your work!
Gruß,
H.

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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?

Report

C

dencer

9 years ago

Both problems should be fixed in this version http://dl.dropbox.com/u/4466860/Lyrics-beta4.tar.gz
Let me know if I'm right

Report

C

dencer

9 years ago

Thanks for all bug reports and debugging, I was a little busy and now I'm a little sick. I will look at it soon.

Report

marcocolombini

9 years ago

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

Report

marcocolombini

9 years ago

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

Report

boamaod

9 years ago

Maybe you would like to host code on official Screenlets project? Lyrics Screenlet is already added to the repository and it has been make translatable there (see https://translations.launchpad.net/indiv-screenlets/trunk/+pots/lyrics-screenlet). If you join and update the code there, it will be automatically updated for users using the Screenlets PPA as well as other benefits (see http://www.screenlets.org/index.php/Documentation#Why_should_I_add_my_Screenlet_to_individual_Screenlets_project).

Report

C

dencer

9 years ago

Yes I plan to do it, I just wanted to release it here first, wait some time to get feedback and if no serious bugs will be reported, then update it in launchpad. Now I have to merge some code that I forget and then I'll do it.

Report

boamaod

9 years ago

I added Lyrics screenlet to Basic Pack in http://bazaar.launchpad.net/~indiv-screenlets-dev/indiv-screenlets/trunk/revision/900. Maybe you can add your updates into the individual screenlets project soon, so they will be part of Screenlets 0.1.4, which is planned to be released in a week or so.

Report

NyhtShade

9 years ago

ok.. I don't know how it posted twice and I'm sorry bout that.. I'm currently using 6.9 and it's working with no problem.. if any idea on why 7.1 wouldn't work cause of the whole text outside of the background thing, let me know.. but my big thing now, is for some reason.. I can't access properties.. all the other screenlets, let me access properties with no problem.. but this one, just doesn't do anything.. I've used this app for a while so of course I know the props, but I don't wanna have to edit the ini file to change basic properties and am not sure why it wouldn't be working.. once again, is it just me and my computer or has anyone else had anything like this..

Report

C

dencer

9 years ago

I make some beta version, you can try it and give me some feedback before releasing, if you want. Here it is http://dl.dropbox.com/u/4466860/Lyrics-beta2.tar.gz

Report

NyhtShade

9 years ago

it fixed the background problem I think and it gives me properties.. BUT for some reason every song I throw at it gives me lyrics not found.. It acts as if it's not even searching for any. I checked my mobloquer and firewall and internet was working fine..

Report

C

dencer

9 years ago

sorry, I didn't look at it sooner, this should be better http://dl.dropbox.com/u/4466860/Lyrics-beta3.tar.gz

Report

C

dencer

9 years ago

both problems will be fixed in next version, it's already done but now I must finish some other things

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 3