@MordredKLB
The LS3 panel works even when it it hidden.
Both menu entries (Lyrics Search.. & Download Lyrics ) display a dialog box which I believe you do not want.
Below a mod which I use in your Georgia theme.
// Automatic Lyric Show 3 File Saver
let ls3_timer = 0;
let esl;
let eslyric;
if (utils.CheckComponent("foo_uie_eslyric")){
eslyric = true;
esl = new ActiveXObject("ESLyric");
}
function lyricShow3save(metadb) {
if (!metadb)
return;
displayLyrics = true;
btns.lyrics.enable = displayLyrics;
btns.lyrics.repaint();
utils.WriteTextFile(fb.ProfilePath + "lyrics\\#status.txt", "");
let counter = -1;
const timewait = 15;
let artist;
let title;
ls3_timer = setInterval(() => {
let path = fb.TitleFormat('$if2(%__@%,%path%)').EvalWithMetadb(metadb);
if (path.startsWith('http') || path.startsWith('mms')) {
artist = fb.TitleFormat("[%artist%]").Eval().replace(/[<>:"/\\|?*]/g, "_");
title = fb.TitleFormat("[%title%]").Eval().replace(/[<>:"/\\|?*]/g, "_");
} else {
artist = fb.TitleFormat("[%artist%]").EvalWithMetadb(metadb).replace(/[<>:"/\\|?*]/g, "_");
title = fb.TitleFormat("[%title%]").EvalWithMetadb(metadb).replace(/[<>:"/\\|?*]/g, "_");
}
let filename_lrc = fb.ProfilePath + "lyrics\\" + artist + " - " + title + ".lrc";
let filename_txt = fb.ProfilePath + "lyrics\\" + artist + " - " + title + ".txt";
if (utils.FileExists(filename_lrc) || utils.FileExists(filename_txt)) {
clearInterval(ls3_timer);
console.log("LS3 - got lyrics");
utils.WriteTextFile(fb.ProfilePath + "lyrics\\#status.txt", "");
if (eslyric) esl.RunPanelContextMenu("Reload Lyric");
} else {
counter++;
if (counter == 15) {
clearInterval(ls3_timer);
utils.WriteTextFile(fb.ProfilePath + "lyrics\\#status.txt", "No Lyrics Found");
displayLyrics = false;
window.Repaint();
return;
} else {
console.log("LS3 - save lyrics");
fb.RunMainMenuCommand("View/Lyrics Show 3/Save");
utils.WriteTextFile(fb.ProfilePath + "lyrics\\#status.txt", "Searching for lyrics... \n \n Please wait... " + (timewait - counter));
}
}
initLyrics();
}, 1000);
}