var info_lyrics = function() {
var me = "lyrics";
return {
getRequirements: function(parent) {
return ['file'];
},
collection: function(parent, artistmeta, albummeta, trackmeta) {
debug.trace("LYRICS PLUGIN", "Creating data collection");
var self = this;
var displaying = false;
function formatLyrics(data) {
debug.trace("LYRICS PLUGIN","Formatting Lyrics");
if (data) {
data = data.replace(/^(\w)/, '$1')
data = data.replace(/\n/g, '
');
}
return '
'+data+'
'+language.gettext("lyrics_nopath")+'
'; self.doBrowserUpdate(); } else { $.post("browser/backends/getLyrics.php", {file: player.status.file, artist: getSearchArtist(), song: trackmeta.name}) .done(function(data) { debug.trace("LYRICS",data); trackmeta.lyrics = data; self.doBrowserUpdate(); }); } } this.populate = function() { if (trackmeta.lyrics === undefined) { debug.trace("LYRICS PLUGIN",parent.nowplayingindex,"No lyrics yet, trying again in 1 second"); setTimeout(self.populate, 1000); return; } if (trackmeta.lyrics === null) { self.tryReadingTags(); } else { self.doBrowserUpdate(); } } this.doBrowserUpdate = function() { if (displaying && trackmeta.lyrics !== undefined && trackmeta.lyrics !== null) { browser.Update(null, 'track', me, parent.nowplayingindex, { name: trackmeta.name, link: "", data: formatLyrics(trackmeta.lyrics) } ); } } } } }(); nowplaying.registerPlugin("lyrics", info_lyrics, "icon-doc-text-1", "button_lyrics");