
Ultimate Lyrics
Source (link to git-repo or to original if based on someone elses unmodified work):
Features:
- Multiple site search (reload button can change site source)
- Google search suggestions
- Sites arranged by priority
- Adequate charset support
- Automatic (omitting track numbers, bracket, parenthesis, feat) and manual adjustment for artist and song name
- Localizable GUI settings (cache, display mode, sites...)
- Display modes: rich text, plain text
- File cache (with expire period)
Supported web servers:
wikia.com, lyricsplugin.com, lyricstime.com, lyricsreg.com, metrolyrics.com, seeklyrics.com, azlyrics.com, jamendo.com, darklyrics.com, mp3lyrics.org, songlyrics.com, elyrics.net, lyricsdownload.com, lyrics.com, lyriki.com, lyricsmode.com, lyricsbay.com, loudson.gs, lyricsfreak.com, sing365.com, allreggaelyrics.com, stixoi.info, teksty.org, tekstowo.pl, vagalume.uol.com.br, google.com
Translated into:
- Czech
- English
- French (needs updating)
- German
- Italian
- Lithuanian (needs updating)
- Portuguese
- Russian
- Serbian
- Spanish
If you want to help translating the script in your language or update an existent translation follow the instructions from README inside script directory.
Note that comment from script.spec is also translatable.
Notice:
- It's suggested to turn off other lyric scripts like default LyricWiki.
- Some ideas (codes) are taken from Glyrics, LyricWiki, Lyrix and Wiki-Lyrics.
- Serially web sites change themselves, which can cause the script stops working for the site. Script adaptations are required when a site changes its "template".
- Script can automatically (without google support) search only sites which URL can be constructed solely by artist and title.
- The script is usually installed in ~/.kde/share/apps/amarok/scripts/ultimate_lyrics/ or in ~/.kde4/share/apps/amarok/scripts/ultimate_lyrics/
- It's possible to disable loading of Ultimate Lyrics in ~/.kde/share/config/amarokrc or by removing Ultimate Lyrics installation folder
- Defaults settings can be changed in main.js when GUI settings doesn't work.
- The script is not automatically updatable. Occasionally you have to update the script manually from Tools->Script Manager->Get More Scripts->Update
To do:
nothing planned
Known issues:
- The script uses system language settings (chosen by GDM) instead of kde regional settings (can be altered in main.js).
- The script should work properly with Qt framework 4.5.x or 4.6.x, but may have problems (like missing GUI settings) with an older version.
* 2.06 (2010-8-01)
- [Translations] Czech updated
- [Fix] capitalization bug (thanks to w0lfx)
* 2.05 (2010-7-26)
- [Translations] Spanish included
- [Change] options for longer lyrics
* 2.04 (2010-7-7)
- [Translations] Portuguese included
- [Fix] lyricsplugin.com - url changed for better performances
* 2.03 (2010-6-3)
- [Translations] Russian included
* 2.02 (2010-5-02)
- [New] statusbar in search dialog
* 2.01 (2010-3-2
- [Translations] Czech included
* 2.0 (2010-3-26)
- [New] search dialog
- [Change] delay loading *.ui until first request
* 1.85 (2010-1-29)
- [Fix] possible fix for crashing bug. Order has been changed. Importer.loadQtBinding("qt.core");Importer.loadQtBinding("qt.network"); (thanks to InnocentElias)
* 1.8 (2009-11-24)
- [Fix] Respect the newest request when there are multiple requests (optimize responsiveness by preemption)
- [Fix] Display lyrics only for a current track, and discard lyrics for previous one (escape to Amarok caches a wrong lyrics)
...
Ratings & Comments
138 Comments
9 +great stuff
I have several songs that I've manually added lyrics to and every time Amarok plays them my manual edits get blown away. Is there a way to set a flag to not look for lyrics if there are already lyrics for the song available?
You need edit sites.js and replace the "exclude" line at lyrics.wikia.com section with: exclude: [["(function() ","s.parentNode.insertBefore(r,s)};}})();"]],
If you want the script to work properly with teksty.org and tekstowo.pl, you should to replace sections for these sites in sites.js file with following content: "teksty.org": { title: "{artist} - {title} - tekst", charset: "UTF-8", extract: [['<div class="tabCont originalText songTextDisplay" id="tab-top-25534-1">','</div>']], exclude: [['<div style="float:left"','>']], url: "http://www.teksty.org/{artist},{title},tekst-piosenki", urlFormat : [ {rep: "-", punct: " _@,;&\\/\"-" }, // removed ' {rep: "a", punct: "/ą/" }, {rep: "c", punct: "/ć/" }, {rep: "e", punct: "/ę/" }, {rep: "l", punct: "/ł/" }, {rep: "n", punct: "/ń/" }, {rep: "s", punct: "/ś/" }, {rep: "z", punct: "/ź/" }, {rep: "z", punct: "/ż/" }, {rep: "", punct: "'" }, ] }, "tekstowo.pl (Polish translations)": { title: " {artist} - {title} - ", charset: "UTF-8", extract: [['<h2>Tekst piosenki:</h2><br />','<p> </p>']], extract2: [['<div id="translation"','<p> </p>']], exclude: [['<div style="float:left"','>']], url: "http://www.tekstowo.pl/piosenka,{artist},{title}.html", urlFormat : [ {rep: "_", punct: " _@,;&\\/'\"." }, ] },
Coul you please add support for www.versuri.ro . That would make me so happy. Anticipated thanks.
Is there anybody out there who also has issues with this script in amarok 2.5? I am trying to get this script to work in amarok 2.5 on OpenSuSE 12.1 / KDE 4.7.4 I deleted the folder "~/.kde4/share/apps/amarok" and any amarok related file in "~/.kde4/share/config" to start with a clean installation of amarok. Unfortunately this did not help. Ideas anyone? Thanks.
I am at openSUSE 12.1 as well recently updated to Amarok 2.5 from Packman source and all scripts that worked for 2.4.3 are not working properly any longer. Some, like "Radio Germany" give error messages that variable QPixmap cannot be found others (like this one) are just not working without stating any error message same as "Recordstreams". Even though the scripts seams to be activated in scripts management but there are no entries in the settings drop down menu either.
There is a problem with "qt4-qtscript". The amarok script part seems to rely on this package. Unfortunately it is not available for QT 4.8 Also see my post here: http://forum.kde.org/viewtopic.php?f=115&t=98488 And this discussion: http://forums.opensuse.org/english/get-technical-help-here/multimedia/470399-amarok-2-5-issues.html Until the problem is solved (make "qt4-qtscript" compile with QT 4.8) the only way to get back your scripts is to downgrade QT. Cheers
seams to be a hot topic, thanks for your comments. also found the threads when searching for solutions. I downgraded to amarok 2.4.3. currently. strange though that from Suse's "updated KDE apps" as well as from "Packman" we get packages that are not working with current stable release of Suse but thats a different story. thanks for your great support. Cheers, OsZ
Is there any chance we could see support added for RapGenius? It's an excellent source for lyrics, even without the mass of contextual information it provides.
It doesn't work de plugin. Amarok show me "Upgrade to Lyrics Plugin version 0.4"
This scrit seems to not be working anymore. I get the following message on the lyrics widget: Upgrade to Lyrics Plugin version 0.4
I have an important feature request to make! I believe it wouldn't be much work. I hope you're still on the Project, Vladimir. My request is: Add the ability to store the displayed lyrics to a plain text file into the music file's folder, with the same name as the music file as well. This is the most simple and compatible way to store lyrics in my opinion. I can even view the lyrics on my cheap 2005 mobile this way. Plus this way the lyrics get saved to the music folder, which is what I want when I'm up for sharing the music. This would be so great! No other lyrics plugin I know of does this. Thank you so much in advance!
It seems not to work anymore with loudson.gs and feiticeira so, probably, it has some problems working with amarok 2.4
Hi and thanks for this plugin. Are you still working on it ? With amarok 2.4.0 reloading lyrics don't work at all.
Voted down... but I don't wanna do it... it's a bug from plasma "get new stuff"... I voted up, but it sends voted down...
Hello, stixoi.info currently is not supported. It does not give an option to enable it. I modified the main.js but again stixoi.info does not work. Regards snvv
Any plans to integrate MusixMatch support? They have legal (licensed) lyrics and they have an API.
The multilingual support for lyrics.wikia.com is good for when multiple languages of the same song happen to be on the same page, but the site is moving towards having the translations and romanizations to their own subpages in the form "{Artist}:{Title}/roman", "{Artist}:{Title}/ja", etc. Have an option to prioritize the romanized versions before looking for the regular version if they don't exist. My sites.js looks like this: const siteDescriptors = { "lyrics.wikia.com (Romanized)": { title: "{artist}:{title}\/roman Lyrics - ", (...) url: "http://lyrics.wikia.com/{Artist}:{Title}/roman", (...) }, "lyrics.wikia.com": { title: "{artist}:{title} Lyrics - ", (...) url: "http://lyrics.wikia.com/{Artist}:{Title}", (...) }, (...) }
Hi, thank you very much for the great script! Would it be possible for the script to save the lyrics of a song to the file tag (at least for mp3 files, to ID3-tag)? Could be a killer feature :) Thanks! Pete
I second this. a "save to tag" function is what would make this perfect. As a side-note: Does it work as intended if the lyrics are not even saved to amaroks database (where there is a "lyrics" table, referencing the unique URL [rpath] of the "tracks" table), but have to be fetched from the web each time a song is played? I'd hope for some misconfiguration on my side here, but I have no idea what went wrong to cause this.
Ultimate Lyrics capitalizes the artist and track names incorrectly, making capital a letter which stands after a non-ascii character such as "æ" or "ș". This causes UL not to fetch the lyrics from lyrics.wikia.com for such artists or tracks. I've looked into a source code and found a function String.prototype.capitalize in string.js which seemed to be a most likely reason of the wrong capitalization. Then I've followed the link to the site of this function's author, where its code was most probably taken and found an updated version of that function. After replacing the function with a new version all seems to work fine for me.
http://www.musicas.mus.br
Hi, I can't include musicas.mus.br because site's URL doesn't contain artist and title strings. Only site's which URL contains those strings can be searched by UL.
Then why not add POST requests search support in the script?