getmusicbee.com

General => MusicBee Wishlist => Topic started by: Godwin on August 10, 2010, 06:20:37 PM

Title: Support for Minilyrics
Post by: Godwin on August 10, 2010, 06:20:37 PM
Hi Steven,

It seems that Minilyrics has its own database of lyrics uploaded by users as mentioned here: http://www.crintsoft.com/mlfaq-upload.htm
Their database is up to date and have synchronized lyrics for all the latest releases. When there is no synchronized lyrics available, I simply open that track in Winamp and have Minilyrics do the job. Many times it finds synchronized lyrics for most of my songs which Musicbee fails to find.

So it would be great if it supported MB. You may need to send them the SDK(http://www.crintsoft.com/players.htm)

But can they integrate in to the interface of MB?
I really like the way MB is now and don't want to have another window open by Minilyrics. If they can replace the MB's lyrics window with their API it would be cool.
Title: Re: Support for Minilyrics
Post by: Steven on August 11, 2010, 08:41:20 AM
i tried to contact them last week but no one has responded as yet.
Depending how they interface to WinAmp it might be possible to integrate by emulating winamp but i need to experiement and cant promise anything until i get time to try it out.
Also i've now added LyricsDB and will look at a couple of others
Title: Re: Support for Minilyrics
Post by: Godwin on August 13, 2010, 06:57:18 AM
In Winamp it has it's own window which uses Winamp's skin or it's own skin.
I only need Minilyrics to get synchronized lyrics. Other than that, there's no real use of it. Except Minilyrics has a neat feature where it can display the lyrics on the desktop.
Title: Re: Support for Minilyrics
Post by: Steven on September 07, 2010, 05:01:55 PM
i have figured out the basics of getting a mini-lyrics plugin working but i'm not so familiar with this software so could someone who has used it let me know:
- i can get it so the current playing artist/title and album are displayed in mini-lyrics
- but mini-lyrics doesnt seem to automatically download the lyrics, instead i need to click a button to do a manual search
- once the lyrics have downloaded, the next time the lyrics will show automatically

is that how you would expect it to behave? It seems the same when i use it from winamp but i am surprised it doesnt automatically download the lyrics and not sure if its because i am using the free version or doing something wrong in the plugin
Title: Re: Support for Minilyrics
Post by: REIKA on September 07, 2010, 08:30:21 PM
You need to configure it to download lyrics automatically.

[Preferences] > [Advanced] > [Lyrics Download: Auto download lyrics = Yes]
Title: Re: Support for Minilyrics
Post by: Steven on September 07, 2010, 09:17:02 PM
that option is already enabled - perhaps its because i'm using the free version
Title: Re: Support for Minilyrics
Post by: REIKA on September 07, 2010, 10:09:46 PM
that option is already enabled - perhaps its because i'm using the free version

No, probably there is the cause elsewhere.
The free version of MiniLyrics has no limitation of the function.
Free version only displays the dialog box which prompts you to buy MiniLyrics.
(I am Japanese translator of MinLlyrics.)
Title: Re: Support for Minilyrics
Post by: Steven on September 07, 2010, 10:14:31 PM
anyone interested in trying this out
unzip and copy/overwrite MusicBee.exe
http://91.121.119.215:8080/MusicBee/Patches/MusicBee.zip

and also copy this zip file to where MB is installed and unzip:
http://91.121.119.215:8080/MusicBee/Patches/MiniLyrics.zip

you should have:
c:\program files\musicbee\MLPlugin.ini
c:\program files\musicbee\Plugins\gen_MiniLyrics.dll

then edit MLPlugin.ini and change it to point to where mini-lyrics is installed. You just need to start MB and it will detect the 2 files and automatically invoke/interact with mini-lyrics

feedback appreciated - i cant get mini-lyrics to automatically download lyrics (manual search in ML is required) but seems to behaving the same when used from winamp

Title: Re: Support for Minilyrics
Post by: REIKA on September 07, 2010, 10:49:00 PM
I confirmed MiniLyrics(unregistered) to be able to download lyrics automatically.
(I deleted registration info by editing registry file.)
Of course, registered version also works well.

But there is one problem.
Playback control buttons(play, stop, and any other) of MiniLyrics are unavailable.
Title: Re: Support for Minilyrics
Post by: Steven on September 07, 2010, 10:52:58 PM
ok thanks for that feedback. I havent implemented support for those buttons yet - i was assuming most people would control the tracks from musicbee but i'll look into it
Title: Re: Support for Minilyrics
Post by: Antonski on September 08, 2010, 12:54:07 AM
It works fine here, but... you will make this optional, I hope. It would be nice if I could start MiniLyrics with a button, but only when I need it. 
Title: Re: Support for Minilyrics
Post by: Steven on September 08, 2010, 10:21:48 PM
i've added a right click/Show MiniLyrics command on the now playing panel. Its in the next update.
Title: Re: Support for Minilyrics
Post by: Steven on September 09, 2010, 06:56:48 AM
here it is:
http://www.mediafire.com/?k3htx5pvc3ximhh
Title: Re: Support for Minilyrics
Post by: Godwin on September 09, 2010, 01:24:50 PM
Steven, excellent work with the integration!
I did some testing, please read below.

In order to check whether Minilyrics works properly I unticked all lyric providers in Musicbee. But when I restarted the first 2 lyric providers are ticked again. Bug?

In Minilyrics I have enabled "Save lyrics in mp3 file" under Preferences>Lyrics. It also saves the lyrics (.lrc) to C:/Lyrics by default which can't be disabled it seems. When I play a track that has no lyrics Minilyrics first searches then downloads and embeds the lyrics automatically. But at the same time Musicbee also searches for lyrics and it displays in its lyric window(due to the bug I mentioned above, otherwise it will not show any lyrics if no lyric providers are selected). What Musicbee should be doing here is give priority to Minilyrics first. If Minilyrics finds lyrics, Musicbee should refresh the lyrics window and display it. If Minilyrics doesn't find any lyrics then Musicbee should search it's lyric providers.

With regards to auto downloading lyrics not working for you, well it works fine for me(unregistered version). But I found that auto download doesn't seem to be working when the track already has unsynchronized lyrics embedded. Same problem in Winamp as well. There is an option in Minilyrics which I have set to "yes"(Preferences>advanced> Lyrics Download: Try to download synchronized lyrics (.lrc) even if having local unsynchronized (.txt) lyrics)
But it doesn't seem to be doing the job right. So I guess this is a Minilyrics issue. Other than that auto download should work. I hope you're using the latest version.

I checked the new build. Show Minilyrics option works perfectly but isn't there a way to hide the Minilyrics window?
This is what I'm trying to do; I want Minilyrics to do the searching and embedding of lyrics but want Musicbee to show the lyrics. I don't want to have the Minilyrics window open. Minilyrics should start with Musicbee but stay hidden. So that possible ?
If I could set a hotkey to toggle the visibility of the Minilyrics window that would be great!

Another issue: Minimizing Musicbee doesn't minimize Minilyrics. In Winamp when you minimize it, Minilyrics also minimizes. It's like it's part of Winamp.
Title: Re: Support for Minilyrics
Post by: Steven on September 09, 2010, 02:03:07 PM
when MB starts it defaults the lyrics providers if none are selected - so its intentional but i'll change it so if mini-lyrics is enabled it wont do that.

in terms of further integration, there isnt a way i am aware of that mini-lyrics indicates no lyrics are found. I guess one possibility is if the lyrics are downloaded, MB could check for that file.

I should be able to do something about synchronising the minimise. You can start MB with minilyrics in the background by unticking 'show minilyrics'. I'll add a hotkey for the toggle
Title: Re: Support for Minilyrics
Post by: Steven on September 09, 2010, 10:47:18 PM
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
Title: Re: Support for Minilyrics
Post by: jackuars on September 10, 2010, 02:20:13 AM
Thanks for the integration Steven. I was looking out for this one for quite a couple of weeks. :-) :D
Title: Re: Support for Minilyrics
Post by: ma_t14 on September 11, 2010, 05:28:45 PM
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?
Title: Re: Support for Minilyrics
Post by: Steven on September 11, 2010, 05:57:24 PM
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?
Title: Re: Support for Minilyrics
Post by: ma_t14 on September 11, 2010, 06:20:32 PM
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?

(http://img529.imageshack.us/img529/81/11092010200253.png) (http://img529.imageshack.us/i/11092010200253.png/)

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.
Title: Re: Support for Minilyrics
Post by: Godwin on September 14, 2010, 12:20:37 PM
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.
Title: Re: Support for Minilyrics
Post by: Steven on September 14, 2010, 10:33:32 PM
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
Title: Re: Support for Minilyrics
Post by: account4me2 on September 15, 2010, 04:28:12 PM
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
Title: Re: Support for Minilyrics
Post by: Steven on September 19, 2010, 08:53:43 PM
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
Title: Re: Support for Minilyrics
Post by: Godwin on September 19, 2010, 09:39:48 PM
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.
Title: Re: Support for Minilyrics
Post by: Steven on September 19, 2010, 09:44:44 PM
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
Title: Re: Support for Minilyrics
Post by: Godwin on September 19, 2010, 10:12:27 PM
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.
Title: Re: Support for Minilyrics
Post by: Steven on September 19, 2010, 10:18:15 PM
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
Title: Re: Support for Minilyrics
Post by: ma_t14 on September 20, 2010, 12:31:28 PM
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
Title: Re: Support for Minilyrics
Post by: Godwin on September 20, 2010, 12:34:14 PM
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 :)
Title: Re: Support for Minilyrics
Post by: account4me2 on September 20, 2010, 12:49:37 PM
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.

This is correct. Here are the settings I'm using:

Minilyrics:
--Save lyrics in C:\Lyrics\   (although I don't use these)
--Save lyrics in mp3 file
----ID3v2 synchronised lyrics
----ID3v2 unsynchornised lyrics
--Rename the downloaded lyrics file name as the name of the song   (although, again, these don't get used - only time I've had to use them is for flac files, b/c minilyrics won't save the lyrics to the actual song file)
--Only download synchronised lyrics with .lrc extension (advanced tab)
 
MB:
--"Lyrics storage (new saved lyrics only)" - "embed lyrics in the music file"
--all lyrics providers ticked

And so what happens much of the time when I open a song I haven't played before, in this order, is:
1)Musicbee connects to its lyrics providers and downloads the lyrics.
2)Minilyrics downloads it's .lrc file, and saves these synchronised lyrics to the actual mp3.
3)MB does *not* automatically notice these newly saved synchronised lyrics, however it works fine once 'Refresh Lyrics' has been manually clicked, and works from then on.
Title: Re: Support for Minilyrics
Post by: ma_t14 on September 20, 2010, 12:53:19 PM
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 :)

... and to make it even more perfect make it an option for the user to decide if he wants synchronized or not synchronized lyrics to be displayed
Title: Re: Support for Minilyrics
Post by: Steven on September 20, 2010, 02:33:08 PM
i expect mini-lyrics wouldnt be able to write the lyrics to the music file until the song has completed playing. MB could refresh the lyrics at that point (rather than waiting until the next restart but not really what you want i expect)
I could have a configuration to check a specific folder for the lyrics
Title: Re: Support for Minilyrics
Post by: Godwin on September 20, 2010, 04:23:10 PM
i expect mini-lyrics wouldnt be able to write the lyrics to the music file until the song has completed playing. MB could refresh the lyrics at that point (rather than waiting until the next restart but not really what you want i expect)

Are you sure?
To me Minilyrics seems to be writing to the file as soon as it finds the lyrics, because when I manually refresh the lyrics window while the song is playing, MB shows the embedded lyrics which was written by Minilyrics. The lyrics wasn't downloaded to the song's folder so MB definitely read it from the file itself.

I could have a configuration to check a specific folder for the lyrics
That will be useful to those who don't want Minilyrics save the lyrics in the song's directory. So yea, having that option is good and it will sort my problem as well. But the best method would be to "refresh lyrics window" during polling.
Title: Re: Support for Minilyrics
Post by: Steven on September 20, 2010, 05:17:26 PM
i wont be able to look at this until probably the weekend at least, but i am skeptical. Writing tags can involve recreating the entire file if there is not enough space free for the lyrics, so not possible if the song is playing. However I recall mini-lyrics has an option to save lyricsV2 tags, which get written at the end of the file so i guess it might be doing that while the song is playing and then update the standard lyric tags after the song completes (MB also looks for the lyricsV2 tags).

With the current version of MB the lyrics will automatically refresh if MB finds the downloaded lyrics file in the song directory with the same filename within 10secs
Title: Re: Support for Minilyrics
Post by: Antonski on September 20, 2010, 10:21:19 PM
MiniLyrics can store lyrics only in mp3, I think. So, for me this option is unusable. On the other hand I'd like to have controll on what is saved in my files, so in any case this is not useful.
It would be very useful if you implement the possibility to check one folder for the lyrics, though (the default setting in MinLyrics). But in this case you have to search for lyrics with the same song name (which contains also artist name) instead of same filename (imagine all your CDs are ripped as Track01, Track02 etc).

Edit: And, you can check MiniLyric.ini for correct download path, just to avoid mistakes with renamed/changed directories etc.
Title: Re: Support for Minilyrics
Post by: account4me2 on October 04, 2010, 02:23:57 AM
To me Minilyrics seems to be writing to the file as soon as it finds the lyrics, because when I manually refresh the lyrics window while the song is playing, MB shows the embedded lyrics which was written by Minilyrics. The lyrics wasn't downloaded to the song's folder so MB definitely read it from the file itself.
Yeah this is correct, so I expect it would be a simple fix. Currently I guess MB just checks for stored synced lyrics, then checks for stored unsynced lyrics, then downloads unsynced lyrics. Well perhaps another 5-10 seconds after that, just check for synced lyrics again?
Title: Re: Support for Minilyrics
Post by: Steven on October 04, 2010, 07:59:11 PM
this has polling for lyrics downloaded to a specific folder or for when mini-lyrics writes to the music file.
It seems mini-lyrics does write to the music file while it is playing. I hope the mini-lyrics author handles the case where the existing tag area doesnt have enough room and the file needs to be rewritten
you need to configure how musicbee will interact with mini-lyrics if you want polling - its configured in a new Plugins preference tab and of course you need to configure mini-lyrics to download the lyrics

http://www.mediafire.com/?w6w5lao569zdlj5