A lyrics script to interface with various sites and, optionally, submit content to Lyriki.com or LyricWiki.org (wikis for lyrics). Lyrics can be searched on multiple sites according to a configurable priority.
Supported sites:
- Lyriki (www.lyriki.com)
- LyricWiki (www.lyricwiki.org)
- AZ Lyrics (www.azlyrics.com)
- Baidu MP3 (mp3.baidu.com)
- Dark Lyrics (www.darklyrics.com)
- Giitaayan (www.giitaayan.com)
- Jamendo (www.jamendo.com)
- Leos Lyrics (www.leoslyrics.com)
- Lyrc (lyrc.com.ar)
- Lyrics Download (www.lyricsdownload.com)
- Lyrics Mania (www.lyricsmania.com)
- Not Popular (www.notpopular.com)
- Seek Lyrics (www.seeklyrics.com)
- Sing365 (www.sing365.com)
- Terra Letras (letras.terra.com.br)
Dependencies:
- Amarok 1.4
- Ruby 1.8
- QtRuby, Ruby/GTK or Ruby/Tk
Translators wanted:
If you want to help, translate the script into your language and send me the result
(take a look at the i18n folder and ask if you need any help).
Important!!
The settings file format changed in version 0.13.2 so the old file must be removed when upgrading from versions of the script older than that one. Running the following command should take care of it:
rm $HOME/.kde/share/apps/amarok/scripts-data/wikilyrics.xml
11 years ago
Version 0.13.4
- [fix] update LyricWiki plugin to match site change
- [fix] update Jamendo plugin to match site changes
Version 0.13.3
- [change] search dcop program on predefined locations if not found in PATH (*)
- [fix] update Sing365 plugin to match site changes
- [fix] bug in Jamendo plugin removed line break from lyrics
(*) Fixes the script when using Amarok 1.4 on KDE4 with Gentoo (and probably other distros too)
Version 0.13.2
- [new] the script can now spawn threads to handle Amarok messages
- [new] added option to disable using threads (Ruby threads are not battery/power friendly...)
- [new] removed all unnecessary usage of threads (parsing Amarok messages, Tk GUI backend)
- [fix] check if song page exists before attempting to submit it (wiki plugins)
- [fix] relogin when session expires (wiki plugins)
- [fix] parsing of suggestions in wiki plugins
- [fix] update Dark Lyrics plugin to match site changes
- [fix] update Jamendo plugin to match site changes
- [fix] update Lyrics Download plugin to match site changes
- [fix] update Seek Lyrics plugin to match site changes
- [change] replaced NotPopular.com plugin with LoudSon.gs plugin (NotPopular.com site lyrics now point to LoudSon.gs)
- [change] removed Lyrc plugin as site has been down for more than a month
- [change] removed Baidu MP3 plugin as site no longer provides lyrics
11 years ago
Version 0.13.4
- [fix] update LyricWiki plugin to match site change
- [fix] update Jamendo plugin to match site changes
Version 0.13.3
- [change] search dcop program on predefined locations if not found in PATH (*)
- [fix] update Sing365 plugin to match site changes
- [fix] bug in Jamendo plugin removed line break from lyrics
(*) Fixes the script when using Amarok 1.4 on KDE4 with Gentoo (and probably other distros too)
Version 0.13.2
- [new] the script can now spawn threads to handle Amarok messages
- [new] added option to disable using threads (Ruby threads are not battery/power friendly...)
- [new] removed all unnecessary usage of threads (parsing Amarok messages, Tk GUI backend)
- [fix] check if song page exists before attempting to submit it (wiki plugins)
- [fix] relogin when session expires (wiki plugins)
- [fix] parsing of suggestions in wiki plugins
- [fix] update Dark Lyrics plugin to match site changes
- [fix] update Jamendo plugin to match site changes
- [fix] update Lyrics Download plugin to match site changes
- [fix] update Seek Lyrics plugin to match site changes
- [change] replaced NotPopular.com plugin with LoudSon.gs plugin (NotPopular.com site lyrics now point to LoudSon.gs)
- [change] removed Lyrc plugin as site has been down for more than a month
- [change] removed Baidu MP3 plugin as site no longer provides lyrics
openDesktop.org :
boyska
8 years ago
I don't know ruby very well, so I can't tell you further, but seems that the cli interface is not working properly.
I'm very much interested on this project because I want to use it as a swiss-army-knife for lyrics, to be used from more than just amarok!
Hey, and thank you for that great code! ;)
Report
Mikage
8 years ago
any chances this will be ported to amarok 2.x?
thanks!
Report
attendant
8 years ago
Report
gimox
8 years ago
Report
attendant
8 years ago
Report
federr77
8 years ago
I'm a programmer (but not a Ruby one), so with the help of the log I discovered a workaround: comment out the line: -->Strings.titlecase!( title, true, downcase )<-- in the cleanup_title_token! function of the files lyrics_Lyriki.rb and lyrics_LyricWiki.rb .
I know, I know (actually I supose it) the real solution is to fix the problem in the titlecase! function in strings.rb file, but I'm not a Ruby programmer :P
I dont know if this has a downside (It just works for me).
Hope it helps!
Great script !!
Report
evod
9 years ago
all thumbs up!
Report
gymnart
9 years ago
I am running SuSE 10.0 and I have Wiki Lyrics v0.12.8 installed and running nicely right now and amarok-1.4.7 and ruby-1.8 installed.
As for QT, I have gtk-qt-engine, and among others, qt3-3.3 installed as well as other qt apps/dependencies.
The reason I'm asking is that sometimes, the script does not seem to work, or it delays and I am afraid that the script version that I am running might become incompatible with the server or something.
Report
attendant
9 years ago
rm $HOME/.kde/share/apps/amarok/scripts-data/wikilyrics.xml
Report
fairman
9 years ago
Something in Ruby like "
$user_defined='UTF-8'
$text=set_encoding($user_defined)"; :)
Thanks a lot.
Report
attendant
9 years ago
Report
Mikage
9 years ago
notpopular.com recently changed to www.loudson.gs and also the php code changed
it would be awesome if you could update your script
thanks a lot!
Andrea
Report
attendant
9 years ago
Report
Mikage
9 years ago
Report
glen
9 years ago
but i started having such weird errors with 0.13.2, and persists with 0.13.3, what is broken in my system? i don't recall updating ruby or related on my system.
Error loading Qt3 GUI backend: no such file to load -- Qt
Error loading Qt4 GUI backend: no such file to load -- Qt
Error loading GTK GUI backend: no such file to load -- gtk2
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/plugins.rb:70:in `used_names=': undefined method `uniq' for #<String:0x2ad4aebb3ae8> (NoMethodError)
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:119:in `read_config'
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:398:in `exec'
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:573
my ruby ver: 1.8.5p2
Report
attendant
9 years ago
rm $HOME/.kde/share/apps/amarok/scripts-data/wikilyrics.xml
Report
glen
9 years ago
mv $HOME/.kde/share/apps/amarok/scripts-data/wikilyrics.xml{,.broken}
however i saved broken copy as
http://glen.alkohol.ee/wikilyrics.xml
so you could debug and fix :)
Report
JunCTionS
9 years ago
I'm an avid listener of free music from Jamendo, so I really like how it includes it in the search.
Although it seems it's a bit broken since it doesn't import the carrier returns (it places the jamendo lyrics in one big line).
And on a final note: How difficult would it be to add a timestamp feature? So that the lyrics would be highlighted on the line that's being sung.
Thanks again for this really good script
Report
lazyboy
9 years ago
The default lyricwiki script kinda sux :)
Cheers
Report
arkoldthos
9 years ago
Report
attendant
9 years ago
The scripting framework in Amarok has changed radically. Amongst other things, I would have to port all of the code (which is quite a lot) from Ruby to JavaScript. That's unfortunate not only because I'm not very knowledgeable of that language, but also because it seems to have many drawbacks compared to using a general scripting language. I had written the script in a way that could be interface agnostic (even though there were only an Amarok and a command line interface, adapters for other players could be written). Porting it would probably mean the script can only be used from Amarok and that's an idea I'm not completely sold on. That might change once Amarok 2 gets in a state that (IMO) justifies upgrading from 1.4.
Report
partizann
9 years ago
it's realy great script, but...
I discover in powertop that this script couse too many CPU wakeups:
( 98,7) ruby : do_nanosleep (hrtimer_wakeup)
When the script is stoped, the interrupts disapears (i tried some other scripts but they dont generate interrupts).
I hope it will help to improve and fix this script.
Report
attendant
9 years ago
Report
partizann
9 years ago
( 99,5) ruby : do_nanosleep (hrtimer_wakeup)
i have some problems with compiling ruby-qt4 so i doesnt try it now.
Report
glen
9 years ago
Error loading Qt3 GUI backend: no such file to load -- Qt
Error loading Qt4 GUI backend: no such file to load -- Qt
Error loading GTK GUI backend: no such file to load -- gtk2
uninitialized constant REXML::Formatters
/usr/share/apps/amarok/scripts/wiki_lyrics/utils/xmlhash.rb:44:in `write'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:127:in `write_config'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:158:in `on_configure'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:471:in `run_worker'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:465:in `loop'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:465:in `run_worker'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:421:in `exec'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:418:in `initialize'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:418:in `new'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:418:in `exec'
/usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:558/usr/share/apps/amarok/scripts/wiki_lyrics/utils/xmlhash.rb:44:in `write': uninitialized constant REXML::Formatters (NameError)
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:127:in `write_config'
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:132:in `on_quit'
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:442:in `exec'
from /usr/share/apps/amarok/scripts/wiki_lyrics/amarok/wikilyrics.rb:558
Report