Author Topic: Support for Minilyrics  (Read 24464 times)

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
i've added a hotkey to show/hide minilyrics and synchronised minimise/restore.
I dont think i can do further integration with ML for having MB only do a lyrics search if ML doesnt find anything

jackuars

  • Full Member
  • ***
  • Posts: 203
Thanks for the integration Steven. I was looking out for this one for quite a couple of weeks. :-) :D

ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
Two final suggestions. It would be great if musicbee waited for minilyrics to download the synchronized lyrics and then displayed them instead of searching for unsynchronized ones.

As it stands you have to wait until minilyrics completes downloading the synchronized  lyrics and then you have to refresh the lyrics panel in order to make musicbee display them. If you do not refresh it displays the unsynchronized ones.

Any way to improve this behavior?

Lastly any way to control the window position of minilyrics at different states of Musicbee. Have a one window position when MusicBee is in the main window state and another when is docked or in the mini mode state.

Plus is there any way to make minlyrics not show as a window (show only lyrics, meaning no background) right when you start musicbee?


EDIT

There seems to be a problem. MusicBee doesn't seem to always display the synchronized lyrics when both synched and unsynched lyrics are embedded in song even after refreshing. Any option I missed or is this a bug?
Last Edit: September 11, 2010, 05:42:42 PM by ma_t14

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
there isnt any integration between the lyrics mini-lyrics downloads and whats displayed in MB. I am guessing you are just seeing cached or saved synchronised lyrics in musicbee.
I dont think it would be possible to reliably detect if/when minilyrics downloads lyrics anyway.
I can change it so mini-lyrics is remembers its position and size for the main window and min-player mode.

i dont understand what you mean by make minilyrics not show as a window - is that an option in minilyrics?

ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
Quote from: Steven
There isnt any integration between the lyrics mini-lyrics downloads and whats displayed in MB.

I know, just trying to make musicbee act like in the old days when the viewlyrics database was accessible  ;)

Quote from: Steven
I am guessing you are just seeing cached or saved synchronised lyrics in musicbee.

You guessed right, I'm seeing the saved lyrics because I set Minilyrics to autosave the .lrc file into the playing track.

Quote from: Steven
I dont think it would be possible to reliably detect if/when minilyrics downloads lyrics anyway.

The way I thought about is to make MusicBee to make a synchronised lyrics check each time a song is being played. If synchronised lyrics are embeded in the file, display them. If not wait about 3secs (or less) and check again if synched lyrics are avialilable in the file, this should be more than enough time for MiniLyrics to download synced lyrics. If Minilyrics fails to download synched lyrics then make musicbee display unsynched ones. It should be pretty straightforward to implement. Of course this check should be made only when minilyrics is running.

Quote from: Steven
I can change it so mini-lyrics is remembers its position and size for the main window and min-player mode.

That's great ;D

Quote from: Steven
i dont understand what you mean by make minilyrics not show as a window - is that an option in minilyrics?



The way to get around this one is to set focus to the musicbee window as soon as it starts because the minilyrics windows becomes backgroundless as soon as it loses focus.
Last Edit: September 11, 2010, 06:29:02 PM by ma_t14

Godwin

  • Guest
i've added a hotkey to show/hide minilyrics and synchronised minimise/restore.
I dont think i can do further integration with ML for having MB only do a lyrics search if ML doesnt find anything
Works great in the new build!
Now all I had to do is to uncheck "Always on top" in Minilyrics and now the window stays behind MB and does it's job.
Only issue right now is that MB doesn't show the lyrics automatically found by Minilyrics. Steven, is it possible to implement a timer system(only when Minilyrics is activated), so lets say every 2 seconds it refreshes the lyrics window until it sees a change. If it doesn't find any changes then it assumes that Minilyrics couldn't find any lyrics and it'll start searching for lyrics through its lyric providers.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
as long as you have configured mini-lyrics to download the lyrics to the same folder and same name as the music file, then MB will detect the lyrics the next time. But yes i could add in some polling so it shows while the song is playing

account4me2

  • Guest
Steven, is it possible to implement a timer system(only when Minilyrics is activated), so lets say every 2 seconds it refreshes the lyrics window until it sees a change. If it doesn't find any changes then it assumes that Minilyrics couldn't find any lyrics and it'll start searching for lyrics through its lyric providers.

+1.  ;D

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
i've put in some polling now (it tries for up to 10 secs)
could you let me know how it goes:
http://www.mediafire.com/?ayvijx95atddv5x

Godwin

  • Guest
hmm...It doesn't seem to be working here.
I tested in the following scenarios:
1. Minilyrics found the lyrics while MB didn't find and said "unable to find any lyrics" without refreshing the window automatically
2. Minilyrics found synced lyrics while MB found only unsynced lyrics and displayed it without refreshing the window automatically
3. Track already had unsynced lyrics embedded and Minilyrics found synced lyrics but MB only displayed the unsynced lyrics without refreshing the window automatically

I believe the polling is done automatically when only Minilyrics is active and not by enabling an option ???
You may need to increase the polling time because searching 5 lyric providers it takes more than 10 secs on my connection(2mbps). While it searches through all providers it should poll in between so that the lyrics will be displayed quicker than waiting till it searches through all providers.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
you have mini-lyrics configured to download the song to the same folder as the music file and "Keep the file name" ticked?
and can you confirm the downloaded lyrics from your test has exactly the same filename as the musicfile, apart from the filename extension

no special options need to be enabled - just make sure mini-lyrics is not disabled in MB ie. mini-lyrics is opened from MB
once MB detects the file it aborts its own lyrics search and should display the downloaded mini-lyrics file
Last Edit: September 19, 2010, 09:47:33 PM by Steven

Godwin

  • Guest
you have mini-lyrics configured to download the song to the same folder as the music file and "Keep the file name" ticked?
I have Minilyrics not to save the lyrics in the song's directory and "Keep the file name" was ticked. I tested again by enabling it to save the lyrics to the song's directory and I ticked "As the same name as the song" and now it works!
So for it to work the lyrics(.lrc) should be saved in the songs directory with the same name as the song is it?

and can you confirm the downloaded lyrics from your test has exactly the same filename as the musicfile, apart from the filename extension
No, it's the same. The downloaded .lrc file has a different name. Which explains why it didn't work as per the settings I had enabled which I have mentioned above.

I'll do more testing and get back to you.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34313
it needs to be exactly the same name as the music filename, not the name of the song

there is also an option in mini-lyrics to embed the lyrics so perhaps you are doing that? MB will retrieve the lyrics from the file on the next restart if it is embedded
Last Edit: September 19, 2010, 10:25:39 PM by Steven

ma_t14

  • Sr. Member
  • ****
  • Posts: 2493
The polling works great!!! Now what about an option to have minilyrics show at different positions on the screen one when musicbee is maximized and one when is docked or in mini player mode and one when is minimized?

EDIT

Was to quick to say it works. It doesn't seem to.

it needs to be exactly the same name as the music filename, not the name of the song

there is also an option in mini-lyrics to embed the lyrics so perhaps you are doing that? MB will retrieve the lyrics from the file on the next restart if it is embedded

So the polling does not work for embedded lyrics? That was the point, to check if synchronized lyrics have been embeded form minilyrics and display them without the need to restart mb
Last Edit: September 20, 2010, 12:39:43 PM by ma_t14

Godwin

  • Guest
it needs to be exactly the same name as the music filename, not the name of the song

there is also an option in mini-lyrics to embed the lyrics so perhaps you are doing that? MB will retrieve the lyrics from the file on the next restart if it is embedded
I have enabled Minilyrics to embed the lyrics to MP3 automatically. I don't like these .lrc files being downloaded by Minilyrics. There seems to be no way to disable it. Either it saves to the song's directory or a directory of our choice. I don't want to clutter the song directories with a bunch of lyrics, so I setup a temp folder to save the downloaded lyrics. Now the problem is, MB only checks for the lyrics file in the song's directory and if it finds one with the same file name, it will display. This is fine if you're not embedding the lyrics to the MP3 file. But if the lyrics are embedded by Minilyrics then MB shouldn't be checking for any lyric files in the song's directory, instead it should simply refresh the lyrics window for 10 secs until the lyrics are found(embedded). Right now, MB is not retrieving the embedded lyrics while the song is playing. In other words, MB is not refreshing the lyrics window automatically while the song is playing and Minilyics embedded the lyrics automatically.

Steven, in order to cater both scenarios(embed and not embed), only thing you need to do is, in addition to checking the downloaded lyrics in the song's directory when polling, please make the lyrics window refresh as well(up to 10secs).
That's the only thing you need to do to make this integration perfect :)