
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
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
boyska
11 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
11 years ago
any chances this will be ported to amarok 2.x?
thanks!
Report
attendant
11 years ago
Report
gimox
11 years ago
Report
attendant
11 years ago
Report
federr77
11 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
12 years ago
all thumbs up!
Report
gymnart
12 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
12 years ago
rm $HOME/.kde/share/apps/amarok/scripts-data/wikilyrics.xml
Report
fairman
12 years ago
Something in Ruby like "
$user_defined='UTF-8'
$text=set_encoding($user_defined)"; :)
Thanks a lot.
Report
attendant
12 years ago
Report
Mikage
12 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
12 years ago
Report
Mikage
12 years ago
Report
glen
12 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
12 years ago
rm $HOME/.kde/share/apps/amarok/scripts-data/wikilyrics.xml
Report
glen
12 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
12 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
12 years ago
The default lyricwiki script kinda sux :)
Cheers
Report
arkoldthos
12 years ago
Report
attendant
12 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
12 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
12 years ago
Report
partizann
12 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
12 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