HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: ohyeah on 2022-06-10 20:06:43

Title: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ohyeah on 2022-06-10 20:06:43
ESLyric v0.5 was written from scratch, and not compatible with the old version(0.3.x).

Features:
1. DUI&CUI panel support
2. Scriptable lyric sources(powered by quickjs)
3. Desktop lyric show
4. COM control interface exposed
5. Search processor & filters
6. Display filters
7. Custom panel element layout
8. Enhanced LRC format support, and custom parser support.

Download Links:
https://github.com/ESLyric/release/releases

Documents:
https://github.com/ESLyric/release/wiki

Feedback:
https://github.com/ESLyric/feedback/issues

Scripts(sources&parsers etc.):
https://github.com/ESLyric/scripts

Note:
English version was translated by DeepL
any improvements are welcome
https://github.com/ESLyric/release/blob/main/locale/en_US.lng

Sample lyric source:
https://github.com/ESLyric/release/wiki/%E6%AD%8C%E8%AF%8D%E6%BA%90%E5%8F%8A%E8%A7%A3%E6%9E%90%E5%99%A8%E8%84%9A%E6%9C%AC#%E6%AD%8C%E8%AF%8D%E6%BA%90%E7%A4%BA%E4%BE%8B

Screenshots:
default layout
X

custom layout
X

prefs
X
X
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: eurekagliese on 2022-06-12 17:49:05
Thank you for the update; all of the previous version's features appear to be functional. Perhaps more lyric source options would be beneficial.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: medp7060 on 2022-08-22 23:08:14
@ohyeah

Thank you so much for the update. ESLyric is one the best foobar2000 plugins. I have been using v0.3.6 for a long time. I will test your new version and report back.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Mrakobes on 2022-09-04 12:11:37
Please do not abandon the development! How tired of one-time participation ((( I'm on this player from the very beginning to the end of my life. Where is your constancy? Thanks for the new version - everything is fine, add the bandcamp script, metalarchives, shazam

you can also use scripts, maybe this will help you

https://community.mp3tag.de/c/development/web-sources-scripts/12
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-09-07 22:18:44
@ohyeah:  am using version 0.5.3.1011;  it appears that the source script AZLyics is no longer returning lyrics from that site, can you check if it needs an edit?  Otherwise, working fine on Foobar v2 beta 4 x64, thank you!
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ohyeah on 2022-09-09 03:58:33
@ohyeah:  am using version 0.5.3.1011;  it appears that the source script AZLyics is no longer returning lyrics from that site, can you check if it needs an edit?  Otherwise, working fine on Foobar v2 beta 4 x64, thank you!

test fine here. you can check out the console output to find azlyrics urls and open in the browser to see if exists.

ref: https://github.com/ESLyric/scripts/blob/b840da1e2bf0859d090485fc55d1548fea5437ce/searcher/azlyrics.js#L19
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-09-09 17:38:31
Thanks ohyeah for checking!  I found that the AZLyrics website had been blocking my IP due to "unusual activity" and had to provide a captcha verification to clear it.  Since then I've moved azlyrics to being the last provider to be checked, and selected the choice in preferences to "Skip remaining sources if found lyrics when search automatically" and "Choose the best matched lyrics currently."  Hopefully that will make auto-searching hit azlyrics only if no other site has the lyrics.

I recommend adding www.songlyrics.com as another provider.  They have often provided hits on more obscure stuff when used with another lyrics app, and don't seem to change much at all in search method.  Thanks again for porting ESLyric to 64-bit so we can enjoy it with the new Foobar!
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: johnra on 2022-10-10 02:56:04
When using this plugin, often the lyrics scroll to the end and remain there. When I attempt to pull them down they snap back. How do I fix this? Also, the .lrc mostly starts in the middle, not in sync. Can this read embedded .lrc? What is the green line in the middle of the file when I pull it down, is it some kind of sync line? If so, how do I use it? If this is not the proper place to ask, please move it to where it can be answered properly.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-10-10 10:54:24
When using this plugin, often the lyrics scroll to the end and remain there. When I attempt to pull them down they snap back. How do I fix this? Also, the .lrc mostly starts in the middle, not in sync. Can this read embedded .lrc? What is the green line in the middle of the file when I pull it down, is it some kind of sync line? If so, how do I use it? If this is not the proper place to ask, please move it to where it can be answered properly.
The plugin supports reading lyrics embedded in the file, which is enabled in the Preferences - Lyric Option - Lyrics Sources, and you can set the tag name by double-clicking the Tags lyrics source.

The lyrics start position is incorrect, please check if your .lrc file timestamp is correct.

Directly use the left mouse button to drag to the lyrics interface, the effect is to adjust the song playback progress; Holding down Ctrl+mouse scroll wheel is to fine-tune the lyrics timestamp; Holding down Ctrl+dragging is to adjust the lyrics timestamp.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: johnra on 2022-10-12 00:39:36
When using this plugin, often the lyrics scroll to the end and remain there. When I attempt to pull them down they snap back. How do I fix this? Also, the .lrc mostly starts in the middle, not in sync. Can this read embedded .lrc? What is the green line in the middle of the file when I pull it down, is it some kind of sync line? If so, how do I use it? If this is not the proper place to ask, please move it to where it can be answered properly.
The plugin supports reading lyrics embedded in the file, which is enabled in the Preferences - Lyric Option - Lyrics Sources, and you can set the tag name by double-clicking the Tags lyrics source.

The lyrics start position is incorrect, please check if your .lrc file timestamp is correct.

Directly use the left mouse button to drag to the lyrics interface, the effect is to adjust the song playback progress; Holding down Ctrl+mouse scroll wheel is to fine-tune the lyrics timestamp; Holding down Ctrl+dragging is to adjust the lyrics timestamp.
always.beta: THANK YOU that works great, and I was unable to find that answer. I should have mentioned I am using the plugin with various internet radio stations. They used to mostly sync with Lyric Show Panel 3. Knowing that, do you have any other advice?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ohyeah on 2022-10-12 02:58:25
When using this plugin, often the lyrics scroll to the end and remain there. When I attempt to pull them down they snap back. How do I fix this? Also, the .lrc mostly starts in the middle, not in sync. Can this read embedded .lrc? What is the green line in the middle of the file when I pull it down, is it some kind of sync line? If so, how do I use it? If this is not the proper place to ask, please move it to where it can be answered properly.
The plugin supports reading lyrics embedded in the file, which is enabled in the Preferences - Lyric Option - Lyrics Sources, and you can set the tag name by double-clicking the Tags lyrics source.

The lyrics start position is incorrect, please check if your .lrc file timestamp is correct.

Directly use the left mouse button to drag to the lyrics interface, the effect is to adjust the song playback progress; Holding down Ctrl+mouse scroll wheel is to fine-tune the lyrics timestamp; Holding down Ctrl+dragging is to adjust the lyrics timestamp.
always.beta: THANK YOU that works great, and I was unable to find that answer. I should have mentioned I am using the plugin with various internet radio stations. They used to mostly sync with Lyric Show Panel 3. Knowing that, do you have any other advice?


plz provide a sample stream source so I can use to reproduce.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-10-12 05:26:20
plz provide a sample stream source so I can use to reproduce.

I think that by saying "They used to mostly sync with Lyric Show Panel 3", he means that LSP3 would pull stream metadata lyrics from more lyrics sources than ESLyric currently does.

@johnra:  in ESLyric Prefs/Lyric Sources hit the "Get More.." link in the upper right corner and it will check online for any additional added sources/updates and apply them.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ohyeah on 2022-10-12 08:29:21
plz provide a sample stream source so I can use to reproduce.

I think that by saying "They used to mostly sync with Lyric Show Panel 3", he means that LSP3 would pull stream metadata lyrics from more lyrics sources than ESLyric currently does.

@johnra:  in ESLyric Prefs/Lyric Sources hit the "Get More.." link in the upper right corner and it will check online for any additional added sources/updates and apply them.

ESLyric(x86) can use lyrics3 sources also.
Advanced-> set 'experimental.pref.source.lyrics3' to '1'.
Install lyrics3 sources plugins as usual.(skip if installed)
Restart foobar2000.
After that, you should see sources from lyrics3 plugins in the ESLyric source list.
!!!ATTENTION!!! this is a experimental feature. Enable some lyrics3 sources in ESLyric may crash your foobar2000. Use at your own risk.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: johnra on 2022-10-12 21:06:42
When using this plugin, often the lyrics scroll to the end and remain there. When I attempt to pull them down they snap back. How do I fix this? Also, the .lrc mostly starts in the middle, not in sync. Can this read embedded .lrc? What is the green line in the middle of the file when I pull it down, is it some kind of sync line? If so, how do I use it? If this is not the proper place to ask, please move it to where it can be answered properly.
The plugin supports reading lyrics embedded in the file, which is enabled in the Preferences - Lyric Option - Lyrics Sources, and you can set the tag name by double-clicking the Tags lyrics source.

The lyrics start position is incorrect, please check if your .lrc file timestamp is correct.

Directly use the left mouse button to drag to the lyrics interface, the effect is to adjust the song playback progress; Holding down Ctrl+mouse scroll wheel is to fine-tune the lyrics timestamp; Holding down Ctrl+dragging is to adjust the lyrics timestamp.
always.beta: THANK YOU that works great, and I was unable to find that answer. I should have mentioned I am using the plugin with various internet radio stations. They used to mostly sync with Lyric Show Panel 3. Knowing that, do you have any other advice?


plz provide a sample stream source so I can use to reproduce.
When using this plugin, often the lyrics scroll to the end and remain there. When I attempt to pull them down they snap back. How do I fix this? Also, the .lrc mostly starts in the middle, not in sync. Can this read embedded .lrc? What is the green line in the middle of the file when I pull it down, is it some kind of sync line? If so, how do I use it? If this is not the proper place to ask, please move it to where it can be answered properly.
The plugin supports reading lyrics embedded in the file, which is enabled in the Preferences - Lyric Option - Lyrics Sources, and you can set the tag name by double-clicking the Tags lyrics source.

The lyrics start position is incorrect, please check if your .lrc file timestamp is correct.

Directly use the left mouse button to drag to the lyrics interface, the effect is to adjust the song playback progress; Holding down Ctrl+mouse scroll wheel is to fine-tune the lyrics timestamp; Holding down Ctrl+dragging is to adjust the lyrics timestamp.
always.beta: THANK YOU that works great, and I was unable to find that answer. I should have mentioned I am using the plugin with various internet radio stations. They used to mostly sync with Lyric Show Panel 3. Knowing that, do you have any other advice?


plz provide a sample stream source so I can use to reproduce.
Here are 2:  https://stream.radioparadise.com/rock-320    https://22543.live.streamtheworld.com/KINK_SC
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-10-12 21:50:31
Here are 2:  https://stream.radioparadise.com/rock-320    https://22543.live.streamtheworld.com/KINK_SC
@johnra:  whether ESLyric can find lyrics for the songs these streams send depends on if the lyric web sites ESLyric searches actually contain those lyrics;  the streaming stations themselves are not sending lyrics, only the song title and artist name.

To maximize the websites ESLyric can search for the song lyrics, try what ohyeah recommended in his last post, if you are using the x86 32-bit version of Foobar/ESLyric.  If you are using the x64 64-bit version, you can't try the same setting, because Lyric Show Panel 3 can only be used on a 32-bit application.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-10-29 00:08:21
@ohyeah:  I use ESLyric with Foobar v2 beta 12 64-bit to find and display unsynced lyrics wthin a Foobar frame;  when it does so, it always begins the lyrics half-way down the display panel as shown below.  Is there a way to add a setting to begin the display closer to the top of the panel?  It would also be useful to have the option to search for ONLY unsynced lyrics for sites that contain both types (Musixmatch, Minilyrics).  Thanks for your attention and developing this plugin.

(https://i.imgur.com/hdjms08.png)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: grimes on 2022-10-29 02:33:46
[deleted]
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-06 10:46:05
Thanks for this. Love it.

Is it possible to automatically save the lyrics to the tag?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-11-06 14:45:34
Thanks for this. Love it.

Is it possible to automatically save the lyrics to the tag?
This feature is already there, you can check the settings item to get it
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-07 05:19:38
Thanks for this. Love it.

Is it possible to automatically save the lyrics to the tag?
This feature is already there, you can check the settings item to get it
Oh that's excellent. Thank you. I hadn't seen that there was more than one page in the settings lol.

But ...

It doesn't seem to save the lyrics to the tag. It almost always just puts a .lrc file in the profile/lyrics folder. There was one exception: one track did get saved to the tag, strangely. No idea why that one and not the others?

Also, if I adjust the offset, the .lrc file doesn't seem to change, and if I play the track again, the "adjust offset" setting is back to zero again.

When you save a lyric to the tag and then adjust the offset, you can see that in the Properties dialog (as shown in the attached screenshot).

So I'd really like to make ESLyric save the lyrics to the tag, not create a file. And to make sure the "adjust offset" setting persists the next time the track is played.

Is that possible?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-11-07 05:29:12
Thanks for this. Love it.

Is it possible to automatically save the lyrics to the tag?
This feature is already there, you can check the settings item to get it
Oh that's excellent. Thank you. I hadn't seen that there was more than one page in the settings lol.

But ...

It doesn't seem to save the lyrics to the tag. It almost always just puts a .lrc file in the profile/lyrics folder. There was one exception: one track did get saved to the tag, strangely. No idea why that one and not the others?

Also, if I adjust the offset, the .lrc file doesn't seem to change, and if I play the track again, the "adjust offset" setting is back to zero again.

When you save a lyric to the tag and then adjust the offset, you can see that in the Properties dialog (as shown in the attached screenshot).

So I'd really like to make ESLyric save the lyrics to the tag, not create a file. And to make sure the "adjust offset" setting persists the next time the track is played.

Is that possible?
What is the format of your songs and what are the ESL settings? Can you take a screenshot of it?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-07 05:37:14
What is the format of your songs and what are the ESL settings? Can you take a screenshot of it?

Hey thanks for the quick reply.

All my tracks are mp3s with ID3v2.3 tags.

Screenshots attached.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-11-07 06:01:41
What is the format of your songs and what are the ESL settings? Can you take a screenshot of it?

Hey thanks for the quick reply.

All my tracks are mp3s with ID3v2.3 tags.

Screenshots attached.
Please click on the second screenshot, to the right of the location button, and click on the three dots to select the lyrics tag
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-07 06:12:50
What is the format of your songs and what are the ESL settings? Can you take a screenshot of it?

Hey thanks for the quick reply.

All my tracks are mp3s with ID3v2.3 tags.

Screenshots attached.
Please click on the second screenshot, to the right of the location button, and click on the three dots to select the lyrics tag
You're a star! Thank you.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-11-14 06:11:48
@ohyeah:   it always begins the lyrics half-way down the display panel as shown below.  Is there a way to add a setting to begin the display closer to the top of the panel?
https://github.com/ESLyric/release/releases/tag/0.5.3.1018    you can try!
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-11-14 17:27:51
@ohyeah:   it always begins the lyrics half-way down the display panel as shown below.  Is there a way to add a setting to begin the display closer to the top of the panel?
https://github.com/ESLyric/release/releases/tag/0.5.3.1018    you can try!
Thanks, I have updated to that version, but still do not see an option to start the display of unsynced lyrics at the top of the panel instead of in the middle.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-11-15 13:44:48
@ohyeah:   it always begins the lyrics half-way down the display panel as shown below.  Is there a way to add a setting to begin the display closer to the top of the panel?
https://github.com/ESLyric/release/releases/tag/0.5.3.1018    you can try!
Thanks, I have updated to that version, but still do not see an option to start the display of unsynced lyrics at the top of the panel instead of in the middle.
Right click on the lyrics panel, panel settings, there is a new menu, highlight line offsets. You try it. Since I don't have unsynced lyrics, I don't know if it will have the effect you expect. Or you can join the discord community to discuss.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-11-15 16:57:34
Right click on the lyrics panel, panel settings, there is a new menu, highlight line offsets. You try it. Since I don't have unsynced lyrics, I don't know if it will have the effect you expect. Or you can join the discord community to discuss.
Only seems to affect placement of synced lyrics.  It's OK, I can live with it, I know this plugin is primarily designed for synced lyrics anyway.  Thanks for replying.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-29 15:28:52
I've only just used the Desktop Lyric. Sort of forgot about it lol.

It's awesome.

What I'd love, though, is to have it only display when Foobar200 is in the foreground. Is that possible?

Sort of like it's just a different type of lyrics display panel within fb2k.

I was just playing around and had this (attached screenshot) in the top right. But I don't want the lyrics to show over other programs like my browser.

Thanks.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-11-29 17:18:49
Sort of like it's just a different type of lyrics display panel within fb2k.
It CAN be added as another display panel within fb2k.  Just go into Layout Editing Mode and either add a panel or add a tab to an existing panel area and "replace existing UI element" in the tabbed area--ESLyric will appear as a choice.  Then un-check the "Show the desktop lyric window" in its settings.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-30 11:34:37
Sort of like it's just a different type of lyrics display panel within fb2k.
It CAN be added as another display panel within fb2k.  Just go into Layout Editing Mode and either add a panel or add a tab to an existing panel area and "replace existing UI element" in the tabbed area--ESLyric will appear as a choice.  Then un-check the "Show the desktop lyric window" in its settings.
Thanks very much for the reply. Maybe I'm misunderstanding you but ...

I know how to add the ESLyric panel.

What I'm trying to do is only display the Desktop Lyric panel. And I'd like it to only display when fb2k is in focus.

So I don't really want a "desktop" panel. I just want the lyrics to display in that style within fb2k.

I'd like the lyrics to display just like in the screenshot I attached in my previous post, but not have the lyrics display over other programs.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2022-11-30 12:33:23
Sort of like it's just a different type of lyrics display panel within fb2k.
It CAN be added as another display panel within fb2k.  Just go into Layout Editing Mode and either add a panel or add a tab to an existing panel area and "replace existing UI element" in the tabbed area--ESLyric will appear as a choice.  Then un-check the "Show the desktop lyric window" in its settings.
Thanks very much for the reply. Maybe I'm misunderstanding you but ...

I know how to add the ESLyric panel.

What I'm trying to do is only display the Desktop Lyric panel. And I'd like it to only display when fb2k is in focus.

So I don't really want a "desktop" panel. I just want the lyrics to display in that style within fb2k.

I'd like the lyrics to display just like in the screenshot I attached in my previous post, but not have the lyrics display over other programs.
1、You can set a shortcut key to display desktop lyrics to quickly turn on or off when needed; 2、Double-click the ESL panel to enter the full-screen interface for better immersion! 3、If the taskbar display lyrics can meet your needs, I can share a solution; 4、If it's not enough, you can go to github to mention the demand and see if the author will consider adding it.

You can also add the esl panel in between the two panels in your screenshot and set the lyrics to scroll horizontally.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-11-30 13:10:48
Sort of like it's just a different type of lyrics display panel within fb2k.
It CAN be added as another display panel within fb2k.  Just go into Layout Editing Mode and either add a panel or add a tab to an existing panel area and "replace existing UI element" in the tabbed area--ESLyric will appear as a choice.  Then un-check the "Show the desktop lyric window" in its settings.
Thanks very much for the reply. Maybe I'm misunderstanding you but ...

I know how to add the ESLyric panel.

What I'm trying to do is only display the Desktop Lyric panel. And I'd like it to only display when fb2k is in focus.

So I don't really want a "desktop" panel. I just want the lyrics to display in that style within fb2k.

I'd like the lyrics to display just like in the screenshot I attached in my previous post, but not have the lyrics display over other programs.
1、You can set a shortcut key to display desktop lyrics to quickly turn on or off when needed; 2、Double-click the ESL panel to enter the full-screen interface for better immersion! 3、If the taskbar display lyrics can meet your needs, I can share a solution; 4、If it's not enough, you can go to github to mention the demand and see if the author will consider adding it.

You can also add the esl panel in between the two panels in your screenshot and set the lyrics to scroll horizontally.
2. Didn't know that. Thanks!
3. Not sure what taskbar display lyrics will do, but I don't think it's what I'm trying to do.
4. Thanks, I will.

1. This is a brilliant idea I should have thought of. This is the solution, I think. Thank you very much.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-12-12 21:30:37
Is it possible to have ESLyric scan for .lrc files (in the same folder as the tracks and with the same track title) and copy the lyrics to the lyrics tag?

I know ESLyric can look for local files before the tags, so most of the time the local files work fine.

But if I copy few tracks to an external mp3 player, the .lrc files don't go with them (unless I copy whole folders).

So I like to have all the lyrics stored in the lyrics tag.

I'd like to be able to copy lyrics files from another computer. I can do that easily (in the correct folder structure), but then I don't know how to force Foobar2000 to make sure the lyrics are then embedded in the tags.

Perhaps it can already do this but I haven't managed to find out how?

Many thanks.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2022-12-12 22:38:23
You could try some experimenting with foo_masstagger.  It may be able to do this (create lyric tags then copy lyrics matching a specified criteria into those tags) in a couple of operations, but I don't have the expertise to go any further than suggesting you test.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-12-13 00:04:45
You could try some experimenting with foo_masstagger.  It may be able to do this (create lyric tags then copy lyrics matching a specified criteria into those tags) in a couple of operations, but I don't have the expertise to go any further than suggesting you test.
Thanks a lot. I'll see what I can do with it.

EDIT: Well, I can't see anything in Masstagger that would do it. Attached screenshot shows the options.

I'm looking into whether mp3tag can do it.

But I still wonder if ESLyric can.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-12-18 07:26:14
I think I've nearly worked out how to do the above with mp3tag so don't worry about that one. Thanks for the help, sveakul.

A separate thing:

Some of the lyrics that ESLyrics grabs are in this (karaoke?) format ...

[00:00.00]<00:00.00>There<00:00.91> <00:01.83>Ain't<00:02.74> <00:03.66>Half<00:04.58> <00:05.49>Been<00:06.41> <00:07.32>Some<00:08.24> <00:09.16>Clever<00:10.07> <00:10.99>Bastards<00:11.90> <00:12.82>-<00:13.74> <00:14.65>Ian<00:15.57> <00:16.48>Dury<00:17.40>
[00:17.42]<00:17.42>Noel <00:18.14>Coward <00:18.60>was <00:18.93>a <00:19.22>charmer<00:19.84>
[00:21.44]<00:21.44>As <00:21.84>a <00:22.19>writer <00:22.55>he <00:22.87>was <00:23.29>Brahma<00:24.02>
[00:25.56]<00:25.56>Velvet <00:26.29>jackets <00:27.00>and <00:27.34>pajamas<00:28.15>
[00:29.71]<00:29.71>Had <00:29.95>a <00:30.27>gay <00:30.73>divorce <00:31.23>and <00:31.52>other <00:31.83>dramas<00:32.39>
[00:33.53]<00:33.53>There <00:34.16>ain't <00:34.50>half <00:34.76>been <00:35.00>some <00:35.25>clever <00:35.49>bastards<00:35.74>
[00:36.39]<00:36.39>Lucky <00:36.68>bleeders <00:37.17>lucky <00:37.60>bleeders<00:37.89>

They are not compatible with the BlackPlayer music player on my phone (see attached screenshot) (or the OpenLyrics fb2k component).

1. Is it possible to tell ESLyric not to download those type of lyrics?

2. Is there any way to convert these lyrics into normal synced lyrics with just the timestamps in square brackets, maybe with regex in a text editor?

3. Any other suggestions to work around this?

Thanks.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-12-18 21:04:20
I'd like to edit my previous post above but can't.

Main problem solved. I'll leave this here in case it's any use to anyone.

Quote
Some of the lyrics that ESLyrics grabs are in this (karaoke?) format ...

[00:00.00]<00:00.00>There<00:00.91> <00:01.83>Ain't<00:02.74> <00:03.66>Half<00:04.58> <00:05.49>Been<00:06.41> <00:07.32>Some<00:08.24> <00:09.16>Clever<00:10.07> <00:10.99>Bastards<00:11.90> <00:12.82>-<00:13.74> <00:14.65>Ian<00:15.57> <00:16.48>Dury<00:17.40>
[00:17.42]<00:17.42>Noel <00:18.14>Coward <00:18.60>was <00:18.93>a <00:19.22>charmer<00:19.84>
[00:21.44]<00:21.44>As <00:21.84>a <00:22.19>writer <00:22.55>he <00:22.87>was <00:23.29>Brahma<00:24.02>
[00:25.56]<00:25.56>Velvet <00:26.29>jackets <00:27.00>and <00:27.34>pajamas<00:28.15>
[00:29.71]<00:29.71>Had <00:29.95>a <00:30.27>gay <00:30.73>divorce <00:31.23>and <00:31.52>other <00:31.83>dramas<00:32.39>
[00:33.53]<00:33.53>There <00:34.16>ain't <00:34.50>half <00:34.76>been <00:35.00>some <00:35.25>clever <00:35.49>bastards<00:35.74>
[00:36.39]<00:36.39>Lucky <00:36.68>bleeders <00:37.17>lucky <00:37.60>bleeders<00:37.89>

They are not compatible with the BlackPlayer music player on my phone (see attached screenshot) (or the OpenLyrics fb2k component).

Is there any way to convert these lyrics into normal synced lyrics with just the timestamps in square brackets, maybe with regex in a text editor?

A kind redditor helped me out.

Using mp3tag (http://mp3tag.de/), you can select Actions>Action (Quick)>Replace with regular expression and then use

Regular expression:
<[^>]+>

Replace matches with:
leave field this blank

Magic.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: InchPerfect on 2022-12-18 21:10:50
Is there any way to remove the lines in Chinese from the lyrics?

They don't show up in the ESLyric panel, but they do in other music playing apps and I'd like get rid of them.

Thanks.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Habanero on 2023-03-29 20:41:25
I don't suppose AutoLyric is possible to add as a source? It's the only other source for user-submitted LRC files (aside from MiniLyrics which is unreliable and will probably die again soon). Unfortunately it looks like you have to install the component in order to actually download the files, but I wonder if there's a way around that. If Genius.com would actually develop the site and adopt timestamped lyrics, that'd be great lol.

www.autolyric.com/en/latest-adopted-lyrics
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Majestyk on 2023-05-20 23:44:54
I can only get ES Lyrics to work if experimental.pref.source.lyrics3 is set to 1. If set to 0, I get no lyric sources. Downloading scripts in "Get More" doesn't work. I'm wondering if it's because I'm running this in a Panel Stack Splitter.

Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-05-21 00:05:23
I can only get ES Lyrics to work if experimental.pref.source.lyrics3 is set to 1. If set to 0, I get no lyric sources. Downloading scripts in "Get More" doesn't work. I'm wondering if it's because I'm running this in a Panel Stack Splitter.
I assume you are asking this because you are running Lyrics Show Panel 3 also?  If set to 0 it should retrieve no hits from LSP3-only sources, but still get results from its own sources if selected in its preferences.  When you hit "Get More", what actually happens?  Does it show the scripts, but fail when you select to download them?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Majestyk on 2023-05-21 00:34:30
I also have LSP3 and foo_multisource. When I download AZLyrics (or anything else) under Get More it says Up To Date, but it does not show in the Lyrics Sources list. When I reboot Foobar, it will revert back to Not Installed.

The scripts will download, however, if I run it outside Panel Stack Splitter.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Majestyk on 2023-05-21 03:01:24
I still really like this component, by the way. It's much better than LS3.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-05-21 06:13:57
I still really like this component, by the way. It's much better than LS3.
I'm assuming you say this due to the synced lyrics handling specialty of ESlyric?  Otherwise hard to compare the available sources of LSP3+Multisource with the ones from ESlyric and the display of unsynced lyrics.  Of course, for 64-bit, there IS no LSP3.  I recommend giving foo_openlyrics a try, which does a great job with both lyric types and also has the 64-bit option.  It's a shame IMO its developer decided not to have an active discourse on the Foobar forums instead of just GitHub.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Jul2323 on 2023-05-23 16:21:46
Is it possible to open eslyrics with jscript 3 ?
My goal is to open the lyrics with a button that show the panel of jscript with the script of Marc2k3.
https://hydrogenaud.io/index.php/topic,63984.msg1018698.html#msg1018698 . Thanks
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Majestyk on 2023-06-22 02:26:32
I still really like this component, by the way. It's much better than LS3.
I'm assuming you say this due to the synced lyrics handling specialty of ESlyric?  Otherwise hard to compare the available sources of LSP3+Multisource with the ones from ESlyric and the display of unsynced lyrics.  Of course, for 64-bit, there IS no LSP3.  I recommend giving foo_openlyrics a try, which does a great job with both lyric types and also has the 64-bit option.  It's a shame IMO its developer decided not to have an active discourse on the Foobar forums instead of just GitHub.

Openlyrics is no good for me because it doesn't display artwork.

(Yes, I know this is a late reply)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Jul2323 on 2023-06-22 07:00:55
I still really like this component, by the way. It's much better than LS3.
I'm assuming you say this due to the synced lyrics handling specialty of ESlyric?  Otherwise hard to compare the available sources of LSP3+Multisource with the ones from ESlyric and the display of unsynced lyrics.  Of course, for 64-bit, there IS no LSP3.  I recommend giving foo_openlyrics a try, which does a great job with both lyric types and also has the 64-bit option.  It's a shame IMO its developer decided not to have an active discourse on the Foobar forums instead of just GitHub.

Openlyrics is no good for me because it doesn't display artwork.

(Yes, I know this is a late reply)

with this code in jscript panel 3 , you have the artwork :

// ==PREPROCESSOR==
// @name "Last.fm Bio"
// @author "marc2003"
// @import "%fb2k_component_path%helpers.txt"
// @import "%fb2k_component_path%samples\js\lodash.min.js"
// @import "%fb2k_component_path%samples\js\common.js"
// @import "%fb2k_component_path%samples\js\panel.js"
// @import "%fb2k_component_path%samples\js\lastfm.js"
// @import "%fb2k_component_path%samples\js\text.js"
// @import "%fb2k_component_path%samples\js\thumbs.js"
// @import "%fb2k_component_path%samples\js\albumart.js"
// @import "%fb2k_component_path%samples\js\rating.js"


// ==/PREPROCESSOR==
// https://jscript-panel.github.io/gallery/thumbs/
// https://jscript-panel.github.io/gallery/lastfm-bio/
// https://jscript-panel.github.io/gallery/album-art/


var panel = new _panel();
var lastfm = new _lastfm();
var text = new _text('lastfm_bio', LM * 50, TM * 5 , 0, 0);
var thumbs = new _thumbs();
var albumart = new _albumart(40, 60, 230, 230);
var rating = new _rating(40, 560, 16, RGB(255, 128, 0)); // x, y, height, colour

var lastfm_textlogo = utils.LoadImage(fb.ComponentPath + 'samples\\images\\Lastfm2.png');
var cover_img = null;
var cover_array = [];
var g_img = null;
var bs = _scale(22);
var ww = window.Width;
var wh = window.Height;

var tfo = {
   artist : fb.TitleFormat('%artist%'),
   lfm_loved : fb.TitleFormat('$if2(%lfm_loved%,0)'),
   title : fb.TitleFormat('%title%'),
   date : fb.TitleFormat(('%date%')),
   genre : fb.TitleFormat(('%genre%')),
   album : fb.TitleFormat(('%album%')),
   albumartist : fb.TitleFormat(('%album artist%')),
   codec : fb.TitleFormat(('%codec%')),
   copyright : fb.TitleFormat(('%encoding%')),
    label : fb.TitleFormat(('%label%')),
   play_count : fb.TitleFormat(('%play_count%')),
   totalplay : fb.TitleFormat(('%totalplayed%')),
   country : fb.TitleFormat(('%country%')),
   playback_time : fb.TitleFormat('[%playback_time%]'),
   length : fb.TitleFormat('$if2(%length%,LIVE)'),
};

//svg
var svg1_file = fb.ComponentPath + 'samples\\svg\\android.svg';
var svg2_file = fb.ComponentPath + 'samples\\svg\\svg2.svg';
var svg1 = utils.LoadSVG(svg1_file);
var svg2 = utils.LoadSVG(svg2_file);

var svg_stop_file = fb.ProfilePath + "images\\stop_white_24dp.svg";
var svg_stop = utils.LoadSVG(svg_stop_file);

var svg_sac_file = fb.ProfilePath + "images\\stop_after_current.svg";
var svg_sac = utils.LoadSVG(svg_sac_file);

var svg_menu_file = fb.ProfilePath + "images\\menu_white_24dp.svg";
var svg_menu = utils.LoadSVG(svg_menu_file);

var svg_fav_file = fb.ProfilePath + "images\\favorite_white_24dp.svg";
var svg_fav = utils.LoadSVG(svg_fav_file);
var svg_unfav_file = fb.ProfilePath + "images\\favorite_border_white_24dp.svg";
var svg_unfav = utils.LoadSVG(svg_unfav_file);

//flags
var cfg_foobarpath = window.GetProperty("foobar path:", fb.Profilepath);
var cfg_flag = window.GetProperty("flag folder:", "flags");
var flag_file = cfg_foobarpath + cfg_flag + "\\noflag.svg";
var svg_content = utils.ReadUTF8(flag_file);
var   country = fb.TitleFormat("%country%").Eval();
var flags = utils.LoadSVG(flag_file);

panel.colours.text = RGB(255, 255, 255);
panel.item_focus_change();

function on_colours_changed() {
   panel.colours_changed();
   window.Repaint();
}

function on_http_request_done(task_id, success, response_text) {
   thumbs.http_request_done(task_id, success, response_text);
}

function on_download_file_done(path, success, error_text) {
   text.download_file_done(path, success, error_text);
}

function on_font_changed() {
   panel.font_changed();
   window.Repaint();
}

function on_item_focus_change() {
   panel.item_focus_change();
}

function on_key_down(k) {
   text.key_down(k);
   thumbs.key_down(k);
}

function on_metadb_changed() {
   albumart.metadb_changed();
   text.metadb_changed();
   thumbs.metadb_changed();
   rating.metadb_changed();
}

function on_mouse_lbtn_dblclk(x, y) {
   thumbs.lbtn_dblclk(x, y);
}

function on_mouse_lbtn_up(x, y) {
   text.lbtn_up(x, y);
   thumbs.lbtn_up(x, y);   
   rating.lbtn_up(x, y);
}

function on_mouse_leave() {
   rating.leave();
}

function on_mouse_move(x, y) {
   text.move(x, y);
   thumbs.move(x, y);
   rating.move(x, y);
}

function on_mouse_rbtn_up(x, y) {
   if ( x > 40 && x < 300 && y > 40 && y < 300 ) {
      return panel.rbtn_up(x, y, thumbs);
    }
   if ( x > 300 && x < ww && y > 50 && y < wh ) {
   return panel.rbtn_up(x, y, text);
    }
   if ( x > 40 && x < 250 && y > 480 && y < 520 ) {
       return panel.rbtn_up(x, y, rating); 
   }
   
}

function on_mouse_wheel(s) {
   text.wheel(s);
}

function on_paint(gr) {
   
       var ratiow = ww / 2.2;
      var ratioh = wh / 2.2;
      gr.FillRectangle( 0, 0, panel.w, panel.h, RGB(60, 60, 60));
      var metadb = fb.GetFocusItem();
        // getColor(gr);
       for (var i = 0; i < cover_array.length; i++) {
          var cover_colour = cover_array[5];
       }
    if (metadb) {
      g_img = metadb.GetAlbumArt();
      g_art = metadb.GetAlbumArt();

   }
   if (fb.IsPlaying) {
      panel.colours.text = RGB(255, 255, 255);
       panel.paint(gr);
      gr.FillRectangle( 0, 0, panel.w, panel.h, RGB(60, 60, 60));
      if (g_img) {
            g_img.StackBlur(250);
         _drawImage(gr, g_img, 0, 0, panel.w , panel.h , image.crop_top, 0.6);
      }
      gr.DrawRectangle(40, 60, 280, 280, 1, RGB(255, 255, 255));
       gr.DrawLine(352, 140, panel.w - 20, 140, 1, RGB(255, 255, 255));
       gr.DrawLine(40, 360, 320, 360, 1, RGB(255, 255, 255));
      //Lastfm Logo logo
       //gr.DrawImage(lastfm_textlogo, window.Width - 60, 20, 40, 40, 0, 0, 2600, 800);
       //panel.draw_header(gr, text.header_text());
       var small_font = CreateFontString('Segoe UI', 10);
      var normal_font = CreateFontString('Segoe UI', 12);
      var big_font = CreateFontString('Segoe UI', 20);
      var big = CreateFontString('fontawesome ', 13, true);
      var bigtitle = CreateFontString('fontawesome ', 18, true);
      var bige = CreateFontString('fontawesome ', 11, true);
      var sma = CreateFontString('fontawesome ', 8 );
      var smal = CreateFontString('fontawesome ', 10 );
      gr.WriteText(tfo.artist.Eval(), bigtitle, RGB( 255,200, 0), 352, 7, 800, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText('Last.fm',small_font, RGB(255, 255, 255),352, 2, 275, 200, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      //gr.WriteText('Audioscrobbler',small_font, RGB(255, 255, 255),window.Width - 106, -84, 290, 200, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.genre.Eval(), small_font, RGB( 255,255, 255), 352, 2, 290, 235, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.title.Eval(), big, RGB( 255,255, 255), 40, 320, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.album.Eval(), bige, RGB( 255,200, 0), 40, 345, 275, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.albumartist.Eval(), bige, RGB( 255,255, 255), 40, 400, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText('Played ' + tfo.play_count.Eval() + ' times', smal, RGB( 255,255, 255), 40, 420, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText('Released : ' + tfo.date.Eval(), sma, RGB( 255,255, 255), 40, 440, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      thumbs.paint(gr);
      rating.paint(gr);
      text.paint(gr);
   }
   //flags
   if (flags) {
   flags = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
   gr.DrawImage(flags, svg_flag_x, svg_flag_y, 50, 26, 0, 0, 640, 480);
   }
   
}
function on_playback_dynamic_info_track() {
   panel.item_focus_change();
   //if (type == 0) window.Repaint();
   //else update_album_art(fb.GetNowPlaying());
}

function on_playback_new_track() {
   panel.item_focus_change();
   thumbs.playback_new_track();
   //flags
   country = fb.TitleFormat("%country%").Eval();
   flags = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
   window.Repaint();
}

function on_playback_stop(reason) {
   if (reason != 2) {
      panel.item_focus_change();
   }
}

function on_playback_time(time) {
   thumbs.playback_time();
}

function on_playlist_switch() {
   panel.item_focus_change();
}
///////////////////////////////////////////
function update_album_art(metadb) {
   _dispose(g_img);
   g_img = null;
   if (metadb) {
      g_img = metadb.GetAlbumArt();
   }
   window.Repaint();
}

function on_item_focus_change() {
   //focus
   handle = fb.GetFocusItem();
   //cover colour
   if (cover_img) {
      cover_img.Dispose();
      cover_img = null;
   }
   cover_array = [];
   var metadb = fb.GetFocusItem();
   if (metadb) {
      cover_img = metadb.GetAlbumArt(); // omitting the type defaults to front

      if (cover_img) {
         cover_array = cover_img.GetColourScheme(10).toArray();
      }
   }
   window.Repaint();
}


function on_size() {
   panel.size();
   text.w = panel.w - (LM * 54);
   text.h = panel.h - (TM * 6);
   thumbs.size();
   text.size();
   //flag
   svg_flag_x = 40
   svg_flag_y = 520
}

Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Jul2323 on 2023-06-22 07:11:31
the jscript panel 3 for the composer also .
you need the flags folder .
 Put in : / AppData\Roaming\foobar2000-v2
Add "Country" in the properties album
Add "countrycomposer" also in properties album

(https://i.imgur.com/YusrUa1.png)

the script :

// ==PREPROCESSOR==
// @name "Last.fm Bio"
// @author "marc2003"
// @import "%fb2k_component_path%helpers.txt"
// @import "%fb2k_component_path%samples\js\lodash.min.js"
// @import "%fb2k_component_path%samples\js\common.js"
// @import "%fb2k_component_path%samples\js\panel.js"
// @import "%fb2k_component_path%samples\js\lastfm.js"
// @import "%fb2k_component_path%samples\js\textperformer.js"
// @import "%fb2k_component_path%samples\js\thumbsperformer.js"
// @import "%fb2k_component_path%samples\js\albumart.js"
// @import "%fb2k_component_path%samples\js\rating.js"


// ==/PREPROCESSOR==
// https://jscript-panel.github.io/gallery/thumbs/
// https://jscript-panel.github.io/gallery/lastfm-bio/
// https://jscript-panel.github.io/gallery/album-art/


var panel = new _panel();
var lastfm = new _lastfm();
var text = new _text('lastfm_bio', LM * 50, TM * 5 , 0, 0);
var thumbs = new _thumbs();
var albumart = new _albumart(40, 60, 230, 230);
var rating = new _rating(40, 560, 16, RGB(255, 128, 0)); // x, y, height, colour

var lastfm_textlogo = utils.LoadImage(fb.ComponentPath + 'samples\\images\\Lastfm2.png');
var cover_img = null;
var cover_array = [];
var g_img = null;
var bs = _scale(22);
var ww = window.Width;
var wh = window.Height;

var tfo = {
   artist : fb.TitleFormat('%artist%'),
   lfm_loved : fb.TitleFormat('$if2(%lfm_loved%,0)'),
   title : fb.TitleFormat('%title%'),
   date : fb.TitleFormat(('%date%')),
   genre : fb.TitleFormat(('%genre%')),
   album : fb.TitleFormat(('%album%')),
   albumartist : fb.TitleFormat(('%album artist%')),
   codec : fb.TitleFormat(('%codec%')),
   copyright : fb.TitleFormat(('%encoding%')),
    label : fb.TitleFormat(('%label%')),
   play_count : fb.TitleFormat(('%play_count%')),
   totalplay : fb.TitleFormat(('%totalplayed%')),
   country : fb.TitleFormat(('%country%')),
   countryperformer : fb.TitleFormat(('%countryperformer%')),
   playback_time : fb.TitleFormat('[%playback_time%]'),
   length : fb.TitleFormat('$if2(%length%,LIVE)'),
};

//svg
var svg1_file = fb.ComponentPath + 'samples\\svg\\android.svg';
var svg2_file = fb.ComponentPath + 'samples\\svg\\svg2.svg';
var svg1 = utils.LoadSVG(svg1_file);
var svg2 = utils.LoadSVG(svg2_file);

var svg_stop_file = fb.ProfilePath + "images\\stop_white_24dp.svg";
var svg_stop = utils.LoadSVG(svg_stop_file);

var svg_sac_file = fb.ProfilePath + "images\\stop_after_current.svg";
var svg_sac = utils.LoadSVG(svg_sac_file);

var svg_menu_file = fb.ProfilePath + "images\\menu_white_24dp.svg";
var svg_menu = utils.LoadSVG(svg_menu_file);

var svg_fav_file = fb.ProfilePath + "images\\favorite_white_24dp.svg";
var svg_fav = utils.LoadSVG(svg_fav_file);
var svg_unfav_file = fb.ProfilePath + "images\\favorite_border_white_24dp.svg";
var svg_unfav = utils.LoadSVG(svg_unfav_file);

//flags
var cfg_foobarpath = window.GetProperty("foobar path:", fb.Profilepath);
var cfg_flag = window.GetProperty("flag folder:", "flags");
var flag_file = cfg_foobarpath + cfg_flag + "\\noflag.svg";
var svg_content = utils.ReadUTF8(flag_file);
var   country = fb.TitleFormat("%country%").Eval();
var flags = utils.LoadSVG(flag_file);

panel.colours.text = RGB(255, 255, 255);
panel.item_focus_change();

function on_colours_changed() {
   panel.colours_changed();
   window.Repaint();
}

function on_http_request_done(task_id, success, response_text) {
   thumbs.http_request_done(task_id, success, response_text);
}

function on_download_file_done(path, success, error_text) {
   text.download_file_done(path, success, error_text);
}

function on_font_changed() {
   panel.font_changed();
   window.Repaint();
}

function on_item_focus_change() {
   panel.item_focus_change();
}

function on_key_down(k) {
   text.key_down(k);
   thumbs.key_down(k);
}

function on_metadb_changed() {
   albumart.metadb_changed();
   text.metadb_changed();
   thumbs.metadb_changed();
   rating.metadb_changed();
}

function on_mouse_lbtn_dblclk(x, y) {
   thumbs.lbtn_dblclk(x, y);
}

function on_mouse_lbtn_up(x, y) {
   text.lbtn_up(x, y);
   thumbs.lbtn_up(x, y);   
   rating.lbtn_up(x, y);
}

function on_mouse_leave() {
   rating.leave();
}

function on_mouse_move(x, y) {
   text.move(x, y);
   thumbs.move(x, y);
   rating.move(x, y);
}

function on_mouse_rbtn_up(x, y) {
   if ( x > 40 && x < 300 && y > 40 && y < 300 ) {
      return panel.rbtn_up(x, y, thumbs);
    }
   if ( x > 300 && x < ww && y > 50 && y < wh ) {
   return panel.rbtn_up(x, y, text);
    }
   if ( x > 40 && x < 250 && y > 480 && y < 520 ) {
       return panel.rbtn_up(x, y, rating); 
   }
   
}

function on_mouse_wheel(s) {
   text.wheel(s);
}

function on_paint(gr) {
   
       var ratiow = ww / 2.2;
      var ratioh = wh / 2.2;
      gr.FillRectangle( 0, 0, panel.w, panel.h, RGB(60, 60, 60));
      var metadb = fb.GetFocusItem();
        // getColor(gr);
       for (var i = 0; i < cover_array.length; i++) {
          var cover_colour = cover_array[5];
       }
    if (metadb) {
      g_img = metadb.GetAlbumArt();
      g_art = metadb.GetAlbumArt();

   }
   if (fb.IsPlaying) {
      panel.colours.text = RGB(255, 255, 255);
       panel.paint(gr);
      gr.FillRectangle( 0, 0, panel.w, panel.h, RGB(60, 60, 60));
      if (g_img) {
            g_img.StackBlur(250);
         _drawImage(gr, g_img, 0, 0, panel.w , panel.h , image.crop_top, 0.6);
      }
      gr.DrawRectangle(40, 60, 280, 280, 1, RGB(255, 255, 255));
       gr.DrawLine(352, 140, panel.w - 20, 140, 1, RGB(255, 255, 255));
       gr.DrawLine(40, 360, 320, 360, 1, RGB(255, 255, 255));
      //Lastfm Logo logo
       //gr.DrawImage(lastfm_textlogo, window.Width - 60, 20, 40, 40, 0, 0, 2600, 800);
       //panel.draw_header(gr, text.header_text());
       var small_font = CreateFontString('Segoe UI', 10);
      var normal_font = CreateFontString('Segoe UI', 12);
      var big_font = CreateFontString('Segoe UI', 20);
      var big = CreateFontString('fontawesome ', 13, true);
      var bigtitle = CreateFontString('fontawesome ', 18, true);
      var bige = CreateFontString('fontawesome ', 11, true);
      var sma = CreateFontString('fontawesome ', 8 );
      var smal = CreateFontString('fontawesome ', 10 );
      gr.WriteText(tfo.albumartist.Eval(), bigtitle, RGB( 255,200, 0), 352, 7, 800, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText('Last.fm',small_font, RGB(255, 255, 255),352, 2, 290, 200, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      //gr.WriteText('Audioscrobbler',small_font, RGB(255, 255, 255),window.Width - 106, -84, 290, 200, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.genre.Eval(), small_font, RGB( 255,255, 255), 352, 2, 290, 235, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.title.Eval(), big, RGB( 255,255, 255), 40, 320, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.album.Eval(), bige, RGB( 255,200, 0), 40, 345, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText(tfo.albumartist.Eval(), bige, RGB( 255,255, 255), 40, 400, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText('Played ' + tfo.play_count.Eval() + ' times', smal, RGB( 255,255, 255), 40, 420, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      gr.WriteText('Released : ' + tfo.date.Eval(), sma, RGB( 255,255, 255), 40, 440, 240, 125, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
      thumbs.paint(gr);
      rating.paint(gr);
      text.paint(gr);
   }
   //flags
   if (flags) {
   flags = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
   gr.DrawImage(flags, svg_flag_x, svg_flag_y, 50, 26, 0, 0, 640, 480);
   }
   
}
function on_playback_dynamic_info_track() {
   panel.item_focus_change();
   //if (type == 0) window.Repaint();
   //else update_album_art(fb.GetNowPlaying());
}

function on_playback_new_track() {
   panel.item_focus_change();
   thumbs.playback_new_track();
   //flags
   country = fb.TitleFormat("%countryperformer%").Eval();
   flags = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
   window.Repaint();
}

function on_playback_stop(reason) {
   if (reason != 2) {
      panel.item_focus_change();
   }
}

function on_playback_time(time) {
   thumbs.playback_time();
}

function on_playlist_switch() {
   panel.item_focus_change();
}
///////////////////////////////////////////
function update_album_art(metadb) {
   _dispose(g_img);
   g_img = null;
   if (metadb) {
      g_img = metadb.GetAlbumArt();
   }
   window.Repaint();
}

function on_item_focus_change() {
   //focus
   handle = fb.GetFocusItem();
   //cover colour
   if (cover_img) {
      cover_img.Dispose();
      cover_img = null;
   }
   cover_array = [];
   var metadb = fb.GetFocusItem();
   if (metadb) {
      cover_img = metadb.GetAlbumArt(); // omitting the type defaults to front

      if (cover_img) {
         cover_array = cover_img.GetColourScheme(10).toArray();
      }
   }
   window.Repaint();
}


function on_size() {
   panel.size();
   text.w = panel.w - (LM * 54);
   text.h = panel.h - (TM * 6);
   thumbs.size();
   text.size();
   //flag
   svg_flag_x = 40
   svg_flag_y = 520
}

ALSO Add in : / AppData\Roaming\foobar2000-v2\user-components-x64\foo_jscript_panel3\samples\js
the 2 .js
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Jul2323 on 2023-06-22 07:15:41
my UI is here : https://hydrogenaud.io/index.php/topic,58574.msg1029091/topicseen.html#new
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Majestyk on 2023-06-22 23:56:55
the jscript panel 3 for the composer also .
you need the flags folder .
 Put in : / AppData\Roaming\foobar2000-v2
Add "Country" in the properties album
Add "countrycomposer" also in properties album



Can this work with Spider Monkey? (With some tweaking of course).
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Jul2323 on 2023-06-23 07:13:17
the jscript panel 3 for the composer also .
you need the flags folder .
 Put in : / AppData\Roaming\foobar2000-v2
Add "Country" in the properties album
Add "countrycomposer" also in properties album



Can this work with Spider Monkey? (With some tweaking of course).

yes , i think it is . but i'am useless for this.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-08-12 22:38:44
In the new release 0.5.4.1005, the option to enable/disable all Search Field Processing seems to have been removed--past versions had a check-box that would toggle all of it on/off as you wanted.  Now all I see is the ability to delete or add parameters to an always-on field processing, not exactly conducive to the ability to test new search scripts.  May have been an oversight by the developer, can't imagine it being done by design.  Reported as a bug.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-08-27 00:36:08
If you are currently using ESLyric and have experienced freezing when exiting Foobar, please check the discussion by Majestyk and TT in the Georgia-ReBORN thread beginning here for a fix:  https://hydrogenaud.io/index.php/topic,121047.msg1031935.html#msg1031935 (https://hydrogenaud.io/index.php/topic,121047.msg1031935.html#msg1031935)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-09-28 20:51:44
This is directed towards version .5.4.1011 of ESLyric, which was released recently with many changes and a much larger amount of lyric source searcher scripts (when downloaded from its Prefs/Lyric Sources/Get More link)--23 in total.  Most of the latter were donated by user TT of Georgia Re-Born theme fame.

On the ESLyric Github page you can  see a list of the improvements at the release page but will need to use a translator if you do not read Chinese.  The setup is much like previous version .5.4.1008, and in my usage some of the listed improvements are not immediately obvious.  However the retrieval speed is noticeably faster, practically leaping into the panel;  I use it in a Foobar panel and for unsynced lyrics only.  As with previous releases, it has the detailed ability for the user to modify searches using regex scripts of their own making.

A setback from .5.4.1008 is that if I move the lyrics up/down on the panel, then minimize Foobar, the display for the next song will not restart at the top panel but be somewhere in the middle when the player is maximized again.  Sometimes it will happen without the min/max process but just when the song changes.  This did not happen with 1008, all new songs' lyrics displays would always begin at the top margin (acc. to user settings).

My workaround was to return to 1008, and manually add the extra searcher scripts from TT from his link here: https://github.com/ESLyric/feedback/files/12642841/eslyric_source_pack.zip (https://github.com/ESLyric/feedback/files/12642841/eslyric_source_pack.zip) .  I also manually replaced the included parsers with TT's refactored/tuned versions (these are not included in the 1011 download): https://github.com/ESLyric/feedback/files/12700585/parser_refactored.zip (https://github.com/ESLyric/feedback/files/12700585/parser_refactored.zip) .

The above combo works great for me as a 64-bit lyrics retriever for Foobar v.2.1 64-bit.  Unfortunately the only competition, OpenLyrics, seems stuck at its April release and only 4 properly operating English lyrics sources.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-06 15:01:49
@always.beta

Reply #1088: https://hydrogenaud.io/index.php/topic,110516.msg1033777.html#msg1033777
> ESL panels enable custom layouts, and you can actually merge two panels.
> https://imgur.com/a/Y4vtRrA

That image (Layout) is ideal. I didn't know at all.
However, I don't know how to load "Example.xml".

ESLyric 0.5.4.1011 (Beta)
foobar2000 v2.1 preview 2023-09-28 : 32-bit | 64-bit

thank you.

(https://i.imgur.com/djGwi4C.png)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-10-06 15:08:14
However, I don't know how to load "Example.xml".
foobar2000 v2\profile\eslyric-data\layout
 You place the file in the path above, and then set it in the ESL panel settings.
 You can try to modify the xml file yourself. At present, only some basic parameters are supported. The number of people using it may be more sufficient for the author to develop in his spare time. You can feedback the problem in the github repository. Here, the author rarely views the reply.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-06 15:27:35
@always.beta

Thank you for your reply.
I put the file below.
foobar2000\profile\eslyric-data\layout\Example.xml

> You place the file in the path above, and then set it in the ESL panel settings.

Panel Preferences Advanced tab > Layout > Example ▼
Now let's edit the .xml file. thank you.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-06 18:22:05
I created a simple layout.
thank you very much.

(https://foobar2000.xrea.jp/up/files/up1673.png)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ApacheReal on 2023-10-06 19:48:51
I need to put the cover/image on the right and then reverse everything, lyrics on the left and cover and info/title on the right, is this possible?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-06 20:30:38
Sure it's possible, but how is it done  ;)

I would try cutting the following section from the bottom, and pasting it just below the first line in the xml (<panel layout..) instead:

<element type="container" anchor="stretch">
        <element type="lyric" anchor="stretch"/>
    </element>

My panel is totally the wrong dimensions, etc than what is needed for this layout (and no synced lyrics!), but doing the above does reverse the lyrics/artwork;  "proof of concept" with a radio stream link:

(https://i.imgur.com/QYlze2Z.png)

Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ApacheReal on 2023-10-06 21:11:08
Sorry but I didn't understand the change to make.

I'll tell you what I did.
I created two layouts as you see in the photo:

(https://i.postimg.cc/mc34CXPQ/Screenshot-2023-10-06-220332.png) (https://postimg.cc/mc34CXPQ)

At the moment both panels have the same parameters which are:

left

Spoiler (click to show/hide)

right

Spoiler (click to show/hide)

The right panel must be changed and reversed, as you posted, but I couldn't do it.

The skin I use has modular and independent panels that I combine as I like.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-06 22:48:28
The Example.xml file containing the change I described that reverses the two sides is attached.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-07 00:22:48
@sveakul
Hi :)
I think it is better to use a different file name for the layout file.
I may accidentally overwrite.



Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-07 03:36:08
When naming the layout file (.xml), open the file name (Example_01) and *.xml and align them with Line: 1.
Line 1: <panel layout="stack" name="Example_01" orientation="horizonal">

Panel Preferences > Advanced tab > Enable custom layout > Layout ▼
You can select a name and switch.
---
I just edited it a little.

ESLyric Layout file (2023-10-07)
https://foobar2000.xrea.jp/up/files/up1675.zip
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: ApacheReal on 2023-10-07 06:04:23
The Example.xml file containing the change I described that reverses the two sides is attached.

Thank you very much:

Lyrics left+right

(https://i.postimg.cc/f3P9r0MM/left-right.png) (https://postimg.cc/f3P9r0MM)

Spin Disc + Lyrics right

(https://i.postimg.cc/9Rq75FfZ/left.png) (https://postimg.cc/9Rq75FfZ)

Larege Panel Full Lyrics right

(https://i.postimg.cc/4KycP1k8/large.png) (https://postimg.cc/4KycP1k8)

Radio + Lyrics right

(https://i.postimg.cc/Q91cKkTH/Screenshot-2023-10-07-072053.png) (https://postimg.cc/Q91cKkTH)

Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-09 06:35:59
@always.beta

I'm enjoying using it.

I would appreciate it if you could provide some "Layout Sample file (*.xml)".
Is it possible to prepare an image and make something like a CD case?

Thanks.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-10-09 11:28:36
Is it possible to prepare an image and make something like a CD case?
At present, the layout function is still very simple, you can go to github above feedback, seek the author's development efforts.
https://github.com/ESLyric/feedback/issues
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-16 18:38:36
Has anyone else noticed the problem described and illustrated here with ESLyric versions above .5.4.1008? :

https://github.com/ESLyric/feedback/issues/124 (https://github.com/ESLyric/feedback/issues/124)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-17 22:48:04
Issue is now fixed, thanks ohyeah!  The version with the fix is downloadable at the post here:
https://github.com/ESLyric/feedback/issues/124#issuecomment-1766597100 (https://github.com/ESLyric/feedback/issues/124#issuecomment-1766597100)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Air KEN on 2023-10-18 02:46:06
@sveakul
Thanks.

We cannot share information unless you interact on this forum.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-22 18:45:56
TT has written 5 additional searcher scripts which are available on GitHub:

https://github.com/ESLyric/feedback/files/13061025/eslyric_source_pack2.zip (https://github.com/ESLyric/feedback/files/13061025/eslyric_source_pack2.zip)

https://github.com/ESLyric/feedback/files/13062122/eslyric_source_deezer.zip (https://github.com/ESLyric/feedback/files/13062122/eslyric_source_deezer.zip)  (you'll need to supply your own API code and cookie in the script's placeholders to use this one)

The Metallum (Metal Archives) script included in the first pack requires the presence of an album title if used as-is, which precludes its use with radio streams.  I made a modified version that only requires track title and artist and works fine with streams, downloadable here:
https://github.com/ESLyric/feedback/files/13062141/metallum.mod.zip (https://github.com/ESLyric/feedback/files/13062141/metallum.mod.zip)

Note that like with Song Lyrics, which if providing a match may say "We don't have the lyrics for this song yet,"  metallum will do something similar, returning "<em>(lyrics not available)</em>" if the search matches a song at the site but hasn't had lyrics supplied.  In both cases, ESLyric will stop the search progression as if it has supplied lyrics, so keep those sources below others like Genius to ensure best results.  ESLyric has yet to add a "Continue searching" choice ability past such returns as exists in MusicBee's Lyrics Reloaded and LyricShowPanel-3.

Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-10-28 15:40:27
Perhaps more lyric source options would be beneficial.
Please update the latest version, there are many new lyrics sources, explore for yourself.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-10-28 15:51:06
2. Is there any way to convert these lyrics into normal synced lyrics with just the timestamps in square brackets, maybe with regex in a text editor?
Please update the latest version 0.5.4.1022+, lyrics processing to add conversion to standard lyrics rules, explore for yourself.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-29 00:35:46
Note that like with Song Lyrics, which if providing a match may say "We don't have the lyrics for this song yet,"  metallum will do something similar, returning "<em>(lyrics not available)</em>" if the search matches a song at the site but hasn't had lyrics supplied.  In both cases, ESLyric will stop the search progression as if it has supplied lyrics, so keep those sources below others like Genius to ensure best results.
This issue is now manageable with version 1022 by using the Lyric Processor to add wildcard lines that cause the lyrics to be rejected and the searching to continue.  Tested with the Song Lyrics "We do not have the lyrics for.." line which occurs when that site has a reference to the song but not the lyrics.  THANKS, always.beta!

As I mentioned previously the metallum.js that comes with 1022's super pack of searcher downloads was written to require an Album title to work, which means it will not function on 99% of radio streams.  Attached is my own mod again that strips that requirement but this time I changed the internal header to not conflict with the supplied version on the sources list and also the file name--a dumb omission on my part previously  :-[ .  Now you can just have both and check/un-check as you will.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-10-29 02:08:45
As I mentioned previously the metallum.js that comes with 1022's super pack of searcher downloads was written to require an Album title to work, which means it will not function on 99% of radio streams.  Attached is my own mod again that strips that requirement but this time I changed the internal header to not conflict with the supplied version on the sources list and also the file name--a dumb omission on my part previously  :-[ .  Now you can just have both and check/un-check as you will.
https://github.com/ESLyric/feedback/issues/115#issuecomment-1774797322
“Please issue a PR instead, thanks.  ”   This is what the author recommends.
https://github.com/ESLyric/scripts/pulls
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-29 04:35:49
https://github.com/ESLyric/feedback/issues/115#issuecomment-1774797322
“Please issue a PR instead, thanks.  ”   This is what the author recommends.
https://github.com/ESLyric/scripts/pulls
Thanks always.beta for your reply.  I am uncomfortable with the level of involvement required in creating github "pull requests" (https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request (https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)) and will be sticking with just normal support requests/comments on your github "feedback" area.  TT already commented there on the metallum issue I described and I'll leave it between him and yourself as to whether to carry it any further offically.  I'm perfectly satisfied just using the mod version when dealing with streams.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: TT on 2023-10-29 12:34:31
Actually I did not check IF it is the same when removing the album title from the search query but I thought the search results would have better accuracy when it is included
( did not have streams in mind when wrote it ), see here: https://www.metal-archives.com/search/advanced/?searchString=&type=band_name.
If you click on the "Search Songs" tab there is "Release type" ( album, ep, single etc. ) and "Release title" ( the album title sveakul removed ).

If @sveakul can check and confirm on two/three examples that it has the same search results and it fetches the right lyrics,
I can remove it and make a PR. But the majority will not use it for radio streams.

Also if ttsping could make an ESLyric callback that returns if current playback is streaming or not, we could make an if conditional
and merge and use both versions...

-TT
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-29 17:42:43
Thanks for the comments.  I believe that metallum.js is unique among the ESLyric scripts in requiring an album title field to match lyrics.  It's similar to the past situation with foo_openlyrics where folks started commenting about never getting a hit with streams from its Musixmatch searcher and it turned out it was because that source had been scripted to require an album title.  Unlike ESLyric where the searcher scripts can be user modified, this is not the case with OpenLyrics and the developer released a new version (1.7+) which removed that requirement for Musixmatch.

People who are using the release metallum.js only with music files including album title metadata in cases where a different release type affected a track title's lyrics, and the site chose to provide those changes in its search results, will need the original metallum.js to provide those results.  On the other hand, people who expect lyric results from the metallum site when listening to radio streams will be disappointed, since 99% of streams do not send album title in their metadata and therefore the searches will fail.

The "quickest" solution is to just provide an alternate mod version of the searcher that doesn't require an album title, while keeping the original for those using music files who may benefit from being able to specify a release type or album title variance.  Granted, the "callback" method would be coolest but require additonal work from the developer.  Here I'm happy with "quickest", already in use.

THANK YOU to both TT and ttsping for the volume of new searchers!
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-10-29 19:40:36
Note that like with Song Lyrics, which if providing a match may say "We don't have the lyrics for this song yet,"  metallum will do something similar, returning "<em>(lyrics not available)</em>" if the search matches a song at the site but hasn't had lyrics supplied.  In both cases, ESLyric will stop the search progression as if it has supplied lyrics, so keep those sources below others like Genius to ensure best results.
This issue is now manageable with version 1022 by using the Lyric Processor to add wildcard lines that cause the lyrics to be rejected and the searching to continue.  Tested with the Song Lyrics "We do not have the lyrics for.." line which occurs when that site has a reference to the song but not the lyrics.  THANKS, always.beta!
Sorry, that info is wrong.  Apparently those lines are not considered part of the lyrics body so adding them to Lyric Processor has no effect.  I jumped to that conclusion for Song Lyrics on a mis-test.  Searching will indeed stop after results show the "We do not have the lyrics for (song) yet."  This also occurs with OpenLyrics when its metallum searcher returns the (lyrics not available) line.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2023-12-28 19:56:18
On streaming radio I have been noticing a large amount of lyric hits using ESLyric from the MiniLyrics version .5 searcher that show results bearing no relationship at all to the actual song except for the title.  Taking a look at the script in Notepad I noticed that it is designed to include an Album name in the search, which of course is almost never included in radio stream metadata.  This reflects the situation with the Metallum script, which I commented on earlier in this thread and posted a mod no-album version of the script (https://hydrogenaud.io/index.php/topic,122571.msg1034620.html#msg1034620 (https://hydrogenaud.io/index.php/topic,122571.msg1034620.html#msg1034620)) for optional use.

I made the same type of modification to the as-is minilyrics.js script and moved it to the top of my searcher list to test with radio streams and haven't had a bad hit yet.  I have attached it here for others who can add it to the ...profile\eslyric-data\scripts\searcher directory then select it optionally in your ESLyric Lyric Sources list.  It has an altered name both file-wise and internally so you won't confuse it with the existing script, which can still be used if you want or un-checked.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2023-12-30 14:37:20
タイトルに"."(dot)があるとローカル全てのファイルにヒットします。
Search Settingで"."が他のファイルにヒットしないようにできますか?

Please provide English translation in future posts.
TOS 10 (https://hydrogenaud.io/index.php/topic,3974.0.html). All members must post in English. Content in other languages allowed as long as full English translations are provided, or otherwise at the discretion of the staff.

Google Translation:
If there is a "." (dot) in the title, all local files will be hit. Is it possible to prevent "." from hitting other files in Search Settings?

Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2023-12-31 00:10:56
If the title has "." (dot) in the title will hit all local files.
Is it possible to prevent "."(dot) from hitting other files in Search Setting? in the Search Setting so that it does not hit any other files?

For example, if the title is "R.I.P." and ". is removed, it becomes "RIP",
For example, when the title is "R.I.P.", if I delete the ".", it becomes "RIP", but when I search for "RIP", it does not match with files registered with "R.I.P.".
When I search for "R.I.P.", it matches files registered with "R.I.P.", but when I search for "R.I.P.", it does not match files registered with "R.I.P.",
If the title is still "R.I.P.", it will match other local files.
Lyric Show 3 will not match other local files even if the title is still "R.I.P.".

----------------------------------------------------------
タイトルに「.」(dot)があるとローカル全てのファイルにヒットします。
Search Settingで「.」が他のファイルにヒットしないようにできますか?

例えば、タイトルが「R.I.P.」のとき「.」を削除すると「RIP」になりますが、
「RIP」で検索すると「R.I.P.」で登録されているファイルとマッチングしません。
「R.I.P.」で検索すると「R.I.P.」で登録されているファイルとマッチングしますが、
タイトルが「R.I.P.」のままだと、ローカルの他のファイルとマッチングしてしまいます。
Lyric Show 3はタイトルが「R.I.P.」のままでもローカルの他のファイルとマッチングしません。
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-12-31 03:03:12
If the title has "." (dot) in the title will hit all local files.
Is it possible to prevent "."(dot) from hitting other files in Search Setting? in the Search Setting so that it does not hit any other files?
What is the filename template for your local lyrics save?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2023-12-31 04:21:27
What does "filename template" mean?
I want to leave the file name of the local lyrics unchanged.

Do you mean "file name:  [%artist% - ]%title%" ?

-----------------------------------------
「filename template」とは何のことですか?
ローカル歌詞のファイル名は変更しないでそのままにしたいのですが?

「file name: [%artist% - ]%title%」のことですか?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-12-31 06:26:22
Do you mean "file name:  [%artist% - ]%title%" ?
Lyrics source-local file-configuration, search file name template is consistent with saved file name, did not encounter the problem you said.  You can take a screenshot of the caption.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2023-12-31 07:19:58
Do you mean "file name:  [%artist% - ]%title%" ?
Lyrics source-local file-configuration, search file name template is consistent with saved file name, did not encounter the problem you said.  You can take a screenshot of the caption.
The title has a "." in the title, and searching as is will match all local lyrics.
The file name of the local lyrics does not matter.

タイトルに「.」があり、そのまま検索するとローカルの歌詞全てに一致します。
ローカルの歌詞のファイル名は関係ありません。
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2023-12-31 13:34:07
The title has a "." in the title, and searching as is will match all local lyrics.
I also have some songs whose artists contain dot (.) symbols. The lrc lyrics file is saved locally with the file name: [%artist% - ]%title%. The search template is also: [%artist% - ]%title%. It works. Normal matching, no problem as you encountered. You'd better take a screenshot to explain.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Mrakobes on 2024-01-01 07:44:59
Often the lyrics do not correspond to the current track, for example the lyrics of the previous song are shown, with time stamps, but another one is played. How to force updating and compliance?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2024-01-01 09:16:05
Often the lyrics do not correspond to the current track, for example the lyrics of the previous song are shown, with time stamps, but another one is played. How to force updating and compliance?
This is the first time I've ever seen someone respond to a question like this. You've provided too little information to reproduce.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Mrakobes on 2024-01-01 12:06:32
I understand that there is little information, but I do not know what I could add to this? There is no dependence on events, just the next track is playing, and the lyrics are spinning from the previous one. Does not switch to a new one... An extension of the latest version, the player too
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Mrakobes on 2024-01-01 12:16:57
And how I would like the source to be displayed in the panel!!! Users have been waiting for this for many years. I see how well the profile resources work - the early lyrics were complete shit - now I'm saving all the texts, in connection with this confusion - I need a source in the panel header
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: sveakul on 2024-01-01 19:18:46
And how I would like the source to be displayed in the panel!!! Users have been waiting for this for many years. I see how well the profile resources work - the early lyrics were complete shit - now I'm saving all the texts, in connection with this confusion - I need a source in the panel header
The source is displayed when you right-click the panel and choose "Lyric information", where the source is displayed on the 3rd line; all the lyrics can also be copied from this window.  By adding a hotkey to the "Lyric Information" window (must be done while ESLyric is active) you can display the source in one click:
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-01 23:53:13
In Search, if there is "feat." in the title and "-" after it, only until "-" is deleted.
Is it possible to delete everything after "feat."?

Searchでタイトルに"feat."があってそれ以降に"-"があると"-"までしか削除されません。
"feat."以降全てを削除できないでしょうか?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2024-01-02 01:31:29
In Search, if there is "feat." in the title and "-" after it, only until "-" is deleted.
Is it possible to delete everything after "feat."?
Search settings, customize, adjust rules according to your title format, like this:
$left(%title%,$sub($strchr(%title%,'(feat'),1))

 Or the first rule of the field below, modify it to suit you, because everyone's song name rules are inconsistent.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-02 03:08:50
In Search, if there is "feat." in the title and "-" after it, only until "-" is deleted.
Is it possible to delete everything after "feat."?
Search settings, customize, adjust rules according to your title format, like this:
$left(%title%,$sub($strchr(%title%,'(feat'),1))

 Or the first rule of the field below, modify it to suit you, because everyone's song name rules are inconsistent.

Thank you.
I can custom search fields.
But,I don't know how to use <Field processing>

Operation : Regax remove string
Parameter 1 : $left(%title%,$sub($strchr(%title%,'feat'),1))
Parameter 2 : <None>
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-02 03:27:15
In Search, if there is "feat." in the title and "-" after it, only until "-" is deleted.
Is it possible to delete everything after "feat."?
Search settings, customize, adjust rules according to your title format, like this:
$left(%title%,$sub($strchr(%title%,'(feat'),1))

 Or the first rule of the field below, modify it to suit you, because everyone's song name rules are inconsistent.

Thank you.
I can custom search fields.
But,I don't know how to use <Field processing>

Operation : Regax remove string
Parameter 1 : $left(%title%,$sub($strchr(%title%,'feat'),1))
Parameter 2 : <None>


Sorry I can.
Operation : Regax remove string
Parameter 1 : \s?feat.*
Parameter 2 : <None>
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-03 01:49:06
I want to change '词' to '詞' in Lyric Processor, but it is not converted.
Is there something else I need to specify?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2024-01-03 02:40:21
I want to change '词' to '詞' in Lyric Processor, but it is not converted.
Is there something else I need to specify?
Unable to reproduce your problem, please provide lyrics component version + settings screenshots + song and lyrics samples.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-03 03:17:54
I want to change '词' to '詞' in Lyric Processor, but it is not converted.
Is there something else I need to specify?
Unable to reproduce your problem, please provide lyrics component version + settings screenshots + song and lyrics samples.

ESLyric v0. 5.4.1028 (Beta) for foobar2000

Attached is a screenshot of the Lyric Processor settings and the lyrics.
Sorry, I could not attach the song as it is an mp3.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2024-01-03 03:42:43
I want to change '词' to '詞' in Lyric Processor, but it is not converted.
Is there something else I need to specify?
The answer is in your screenshot
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-03 04:55:48
I want to change '词' to '詞' in Lyric Processor, but it is not converted.
Is there something else I need to specify?
The answer is in your screenshot

Thank you.
enhanced lyrics = sync lyrics ?
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2024-01-03 06:57:35
enhanced lyrics = sync lyrics ?
https://github.com/ESLyric/release/wiki/%E6%AD%8C%E8%AF%8D%E6%BA%90%E5%8F%8A%E8%A7%A3%E6%9E%90%E5%99%A8%E8%84%9A%E6%9C%AC#:~:text=%E5%A4%9A%E6%A0%87%E7%AD%BE%E5%A2%9E%E5%BC%BALRC%20(%E8%A7%81wiki%20Enhanced%20format%E9%83%A8%E5%88%86%E8%AF%B4%E6%98%8E)
https://en.wikipedia.org/wiki/LRC_(file_format)
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-03 11:08:34
enhanced lyrics = sync lyrics ?
https://github.com/ESLyric/release/wiki/%E6%AD%8C%E8%AF%8D%E6%BA%90%E5%8F%8A%E8%A7%A3%E6%9E%90%E5%99%A8%E8%84%9A%E6%9C%AC#:~:text=%E5%A4%9A%E6%A0%87%E7%AD%BE%E5%A2%9E%E5%BC%BALRC%20(%E8%A7%81wiki%20Enhanced%20format%E9%83%A8%E5%88%86%E8%AF%B4%E6%98%8E)
https://en.wikipedia.org/wiki/LRC_(file_format)

Thank you. I understand.

[00:00.00]line 1   
[00:01.00]line 2
...
Lyric Processor can

[mm:ss.xx] <mm:ss.xx> line 1 word 1 <mm:ss.xx> line 1 word 2 <mm:ss.xx> ... line 1 last word <mm:ss.xx>
[mm:ss.xx] <mm:ss.xx> line 2 word 1 <mm:ss.xx> line 2 word 2 <mm:ss.xx> ... line 2 last word <mm:ss.xx>
...
Lyric Processor cannot
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-01-27 14:02:00
Background Image, is it possible to specify a folder as the Image source and target all images under the folder?
I would appreciate it if this could be done.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Majestyk on 2024-02-17 03:25:10
Just an FYI... If your theme is portable, ESLyric will not work if there is an apostrophe in your folder name. It won't even list or load sources.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-02-17 11:29:55
Background Image, is it possible to specify a folder as the Image source and target all images under the folder?
I would appreciate it if this could be done.
My apologies. My mistake.
The image files in the folder were all in webp format.
I converted them to jpg and they displayed fine.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Rexray on 2024-02-23 16:01:09
Good day guys,

First time posting  :)

I have a couple questions about ESLyrics:

I'm trying to set a background picture but I don't see the "panel preferences" as on the developer (picture #1) instead I see the one with the "display configuration" (picture #2), Am I missing something?, do I need another plugging to show it? (I'm running version 0.5.4.1028)

Second questions is, if is possible to have a second line to show when the lyrics is too long...Right now what it does is that it scrolls from right to left (I f I go to  "Desktop lyrics" (Picture #2) I have a field call "line(s) and there I can chose "single line" and "double line" but this make the Lyric that is coming in to show on the top line which is not ideal.

Thanks in advance for your help!

Best regards.





Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: marc2k3 on 2024-02-23 16:28:03
The first screenshot says "Panel Preferences" so maybe that implies per instance. Right click the panel itself and see if there are options.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: paregistrase on 2024-02-23 16:31:27
Good day guys,

First time posting  :)

I have a couple questions about ESLyrics:

I'm trying to set a background picture but I don't see the "panel preferences" as on the developer (picture #1) instead I see the one with the "display configuration" (picture #2), Am I missing something?, do I need another plugging to show it? (I'm running version 0.5.4.1028)

Second questions is, if is possible to have a second line to show when the lyrics is too long...Right now what it does is that it scrolls from right to left (I f I go to  "Desktop lyrics" (Picture #2) I have a field call "line(s) and there I can chose "single line" and "double line" but this make the Lyric that is coming in to show on the top line which is not ideal.

Thanks in advance for your help!

Best regards.

The panel preferences you search is in the panel right click
X
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Rexray on 2024-02-23 16:56:44
Hello Paregistrase,

And thank you for the quick reply.

Sorry I did not say that I want the background for "desktop lyrics" not for the UI panel.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: paregistrase on 2024-02-23 17:43:51
Hello Paregistrase,

And thank you for the quick reply.

Sorry I did not say that I want the background for "desktop lyrics" not for the UI panel.

I don't think that you can set a background, the whole point is that it is transparent to be able to see the lyrics over other things you're doing.
IMaybe you can use https://hydrogenaud.io/index.php/topic,90977.0.html to make a poup window with the lyrics. It is a bit fake solution but it can have background picture, and it is movable.X

The window with the lyrics can be moved, resized and have the same configurations of a lyrics panel inside foobar2000
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: Rexray on 2024-03-01 14:41:57
Hello Paregistrase,

And thank you for the reply.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-03-03 02:18:27
When Panel and Desktop Lyric are displayed at the same time,
Panel does not show the enhanced lyrics, but the Desktop Lyric does,
What does this mean?
This title I can't find any enhanced lyrics in "Search".
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: michi777 on 2024-03-03 03:18:20
When Panel and Desktop Lyric are displayed at the same time,
Panel does not show the enhanced lyrics, but the Desktop Lyric does,
What does this mean?
This title I can't find any enhanced lyrics in "Search".
Sorry.
The panel has three "Karaoke modes".

Off
Always on
On when show enhanced lyric

For Desktop, Karaoke mode is either "Off" or "On".

Probably, Desktop  when "Karaoke mode" is "On".
If it is "sync lyrics", it shows "enhanced lyric".
I guess it is like that.
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: always.beta on 2024-03-13 03:58:35
Is it still necessary to support GDI/GDI+?
To vote, move over: https://github.com/ESLyric/feedback/discussions/145
Title: Re: NEW ESLyric v0.5 - an alternative lyric show component
Post by: paregistrase on 2024-03-13 09:07:39
Is it still necessary to support GDI/GDI+?
To vote, move over: https://github.com/ESLyric/feedback/discussions/145

Running fb2k on linux through WINE if I select DWrite in ESLyrics the player crashes immediately with a wined3d error.

Right now, GDI is necessary for me.