Page 9 of 18

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 7:46 am
by thehammer
quintz wrote:Hi there, I just started using lyricator and I love it!

I just have one question, I listen mostly to Metal, Alternative, Alternative Punk and so on. The website http://www.plyrics.com is a very reliable source for lyrics in this genre.
Is there any chance that I can add this website in Lyricator?

Cheers, Quintz
Glad you love the plugin. There is a plugin almost exactly like lyricator but focuses on metal called darklyrics (http://www.mediamonkey.com/addons/brows ... arklyrics/). The developer of that plugin already uses that site, so check that one out, and I will put this on the list for future investigation.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 9:17 am
by Meander
The latest version that is now available should have this fixed.
...and it does. Thanks.

While I'm here - I previously mentioned that the toolbar icon doesn't disable when asked to. Is this an MM issue? Yours isn't the only script with misbehaving icons.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 10:13 am
by thehammer
Meander wrote:
The latest version that is now available should have this fixed.
...and it does. Thanks.

While I'm here - I previously mentioned that the toolbar icon doesn't disable when asked to. Is this an MM issue? Yours isn't the only script with misbehaving icons.
I briefly tried to troubleshoot that issue in the past, but wasn't able to see anything obvious. If I get a chance when I am in the code again, I will look at it again.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 10:29 am
by martialartsguy
Hey there,

I've been a long-time user of Lyricator, but for some reason it's stopped working lately. I get a spinning wheel when it's looking up songs (via Tools>Scripts>Lyricator, or my shortcut, and nothing returns at all: Image

I've tried the following:
1) Complete uninstall of Lyricator from /Users/ and Program Drive, plus from all .ini files, then a fresh reinstall.
2) After step 1, I got another error page that looked like it was calling out IE, so I moved the folder from "c:\users\NAME\appdata\roaming\mediamonkey\scripts" into "c:\program files (x86)\mediamonkey\scripts", but that didn't seem to help either.

This is a fresh install, and I haven't changed any options in the script either.

Any ideas?

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 12:57 pm
by thehammer
martialartsguy wrote:Hey there,

I've been a long-time user of Lyricator, but for some reason it's stopped working lately. I get a spinning wheel when it's looking up songs (via Tools>Scripts>Lyricator, or my shortcut, and nothing returns at all: Image

I've tried the following:
1) Complete uninstall of Lyricator from /Users/ and Program Drive, plus from all .ini files, then a fresh reinstall.
2) After step 1, I got another error page that looked like it was calling out IE, so I moved the folder from "c:\users\NAME\appdata\roaming\mediamonkey\scripts" into "c:\program files (x86)\mediamonkey\scripts", but that didn't seem to help either.

This is a fresh install, and I haven't changed any options in the script either.

Any ideas?
From that screen shot, it looks like there aren't any lyrics sites selected to search. I don't know how it got into that state, but there may be some settings that are in a bad state in one of the config files. Try to go into the Lyricator preferences and make sure at least one lyrics site is selected.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 2:16 pm
by martialartsguy
Hmm, that's not the issue from the Options menu (see snapshot below). I've also made sure that the tracks in question do not have lyrics as well. :-?

Image

EDIT: ADDITIONAL INFO

So I noticed something odd. When I use Tools>Scripts>Lyricator, or my Hotkey (I use Alt+L), I have the issue in my first post. If I use the button shortcut on the MM menu, I get the following:
Image

This latter option comes up with lyrics, but the other way (Tools>Scripts>Lyricator, or my Hotkey (I use Alt+L)) has the constantly rotating circle.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 4:40 pm
by thehammer
martialartsguy wrote:Hmm, that's not the issue from the Options menu (see snapshot below). I've also made sure that the tracks in question do not have lyrics as well. :-?

Image

EDIT: ADDITIONAL INFO

So I noticed something odd. When I use Tools>Scripts>Lyricator, or my Hotkey (I use Alt+L), I have the issue in my first post. If I use the button shortcut on the MM menu, I get the following:
Image

This latter option comes up with lyrics, but the other way (Tools>Scripts>Lyricator, or my Hotkey (I use Alt+L)) has the constantly rotating circle.
Ok. I have seen this behavior before. It usually happens when Lyricator was installed for all users and then is installed for one user, or the other way around. Uninstall becomes tricky because one or the other install doesn't get cleaned up because the type of install was changed. There is some discussion earlier in this forum that explains where to look to manually get rid of both types of install to truly start over. MediaMonkey gets confused because there are configuration files in multiple places and so odd behaviors happen.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 4:53 pm
by martialartsguy
OK, thanks! I'll try to look that up and see if I can get it fixed.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Mon Oct 13, 2014 5:12 pm
by thehammer
martialartsguy wrote:OK, thanks! I'll try to look that up and see if I can get it fixed.
Here is most of the mentioned stuff to look at: http://www.mediamonkey.com/forum/viewto ... 82#p382090. Also, having other plugins installed in both Program Files and the Users locations can also cause issues. A lot of the older plugins only work in Program Files, but since Windows Vista that means running MediaMonkey as administrator when installing plugins and installing for all users.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Thu Oct 16, 2014 2:33 pm
by Meander
A couple of things:

1. Lyricator will not work for me, when fresh in a new MM session, until I go into Options and simply confirm everything first.

2. When in edit mode, the return key doesn't respond (never has - in any version)

Edit to add:

I haven't done a forensic on this, but it struck me that the toolbar icon issue may only affect scripts that have a standalone interface (ie not the inbuilt dockable panels which can be toggled).

MM 4.1.4.1709
Windows 8.1
Lyricator 1.2.2

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Thu Oct 16, 2014 10:15 pm
by thehammer
Meander wrote:A couple of things:

1. Lyricator will not work for me, when fresh in a new MM session, until I go into Options and simply confirm everything first.

2. When in edit mode, the return key doesn't respond (never has - in any version)

Edit to add:

I haven't done a forensic on this, but it struck me that the toolbar icon issue may only affect scripts that have a standalone interface (ie not the inbuilt dockable panels which can be toggled).

MM 4.1.4.1709
Windows 8.1
Lyricator 1.2.2
For the first issue, it sounds like the plugin was installed for all users. If this is the case, I believe MediaMonkey would have to be run as administrator every time in order for the configuration file to be saved. Question on the second issue... are you saying that you cannot put a carriage return in the lyrics or are you expecting the return key to close edit and go back to the list?

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Fri Oct 17, 2014 1:25 am
by tj_junk
Suggestions:
  • Sort the Lyricator Submenu

    Code: Select all

    'To Add lyrics site add here
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "Toolbar"
          lyricator_submenu.Caption = "All configured sites"
          lyricator_submenu.Hint = "Find lyrics using all lyrics sites chosen in Lyricator options"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "AZLyrics"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "ELyrics"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "Genius"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "Hiplyrics"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "Letras"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "LyrDB"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "LyricsMode"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "Lyricstime"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "LyricWikia"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "MetroLyrics"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "Mp3Lyrics"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "SeekALyric"
    
          Set lyricator_submenu = SDB.UI.AddMenuItem(lyricator_menu, 0, 0)
          lyricator_submenu.UseScript = Script.ScriptPath
          lyricator_submenu.OnClickFunc = "RunOneSite"
          lyricator_submenu.Caption = "SongColeta"
    
  • Rank the providers and sequence the searches accordingly

    Some providers are excellent: They have a high success rate for finding song lyrics, they return results quickly, and the lyrics are formatted well (e.g., with mixed case and grouped into logical paragraphs). Other providers are very poor: They have a low success rate, they are slow, and/or their lyrics are formatted poorly.

    After running several tests, i would rank the providers in the following order from best to worst, and would prefer that Lyricator search the best providers first.

    Code: Select all

    LyricsMode   (good success rate, very good formatting)
    SongColeta   (good success rate, very good formatting)
    LyrDB        (good success rate, good formatting)
    Hiplyrics    (medium success rate, good formatting)
    Genius       (medium success rate, good formatting)
    SeekALyric   (medium success rate, fair-to-good formatting)
    ELyrics      (medium success rate, fair formatting)
    MetroLyrics  (medium success rate, poor formatting)
    Letras       (medium success rate, poor formatting)
    AZLyrics     (low success rate)
    LyricWikia   (low success rate)
    Mp3Lyrics    (very low success rate)
    Lyricstime   (extremely slow, very low success rate)
    

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Fri Oct 17, 2014 1:57 am
by tj_junk
Suggestions:
  • Add option to ignore lyrics without paragraph breaks

    I hate lyrics the don't have the lines grouped into logical paragraphs. It's visually unpleasant, and it ignores the concept of verses and choruses and refrains, etc. (Letras is notorious for this.)

    I would suggest using this algorithm: "ignore lyrics if there are 5 or more lines, but no double line breaks".

    I tested the following code snippet and it works effectively. (You could place it in each of the success routines or in CleanupLyrics or some other place.)

    Code: Select all

    Dim ignoreLyricsWithoutParagraphs : ignoreLyricsWithoutParagraphs = ini.BoolValue("Lyricator", "ignoreLyricsWithoutParagraphs")
    
    ...
    
       Set e = UI.NewCheckbox(g)
       e.Common.SetRect 15, 15, 250, 20
       e.Common.ControlName = "ignoreLyricsWithoutParagraphs"
       e.Common.Hint = "Ignore lyrics that do not have paragraph breaks"  // could use better wording here
       e.Caption = Translate("Ignore lyrics without paragraph groupings")
       e.Checked = ignoreLyricsWithoutParagraphs 
    
    ...
    
    if (!ignoreLyricsWithoutParagraphs || l.split(/<br>|\r\n|\r|\n/).length < 5 || l.split(/<br><br>|\r\n\r\n|\r\r|\n\n/).length >= 2)
        // do the success code...
    
  • Add option to ignore lyrics that are all upper case or all lower case

    Again, Letras is the most notorious offender: results are often all lower case, with no paragraph groupings. I would suggest using this algorithm: "ignore lyrics if there are 3 or more lines, but all upper or lower case".

    I tested the following code snippet and it works effectively. (You could place it in each of the success routines or in CleanupLyrics or some other place.)

    Code: Select all

    Dim ignoreLyricsWithoutMixedCase : ignoreLyricsWithoutMixedCase = ini.BoolValue("Lyricator", "ignoreLyricsWithoutMixedCase")
    
    ...
    
       Set e = UI.NewCheckbox(g)
       e.Common.SetRect 15, 15, 250, 20
       e.Common.ControlName = "ignoreLyricsWithoutMixedCase"
       e.Common.Hint = "Ignore lyrics if they are all upper or lower case"
       e.Caption = Translate("Ignore lyrics without mixed case")
       e.Checked = ignoreLyricsWithoutMixedCase 
    
    ...
    
    if (!ignoreLyricsWithoutMixedCase 
        || l.split(/<br>|\r\n|\r|\n/).length < 3 
        || (l.replace(/<br>/gi, "") != l.replace(/<br>/gi, "").toUpperCase() 
        && l.replace(/<br>/gi, "") != l.replace(/<br>/gi, "").toLowerCase()))
        // do the success code...
    

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Fri Oct 17, 2014 2:10 am
by tj_junk
Any idea what provider(s) are used by the built-in lyric finder (e.g., the feature that is configured via Tools > Options > Library > Metadata Lookup)?

The built-in finder has a very good success rate. However, it's not publicly extensible, and you cannot run in on a batch of files, like you can with the Lyricator tool. Plus, the built-in has no confirmation step: it's completely automatic, which is great when it works, but bad when it pulls back incorrect lyrics.

I wish the two tools were combined. I like the provider(s) and success rate of the built-in tool, but love the batch capability and confirmation of Lyricator.

Re: Lyricator v1.2.2 (2014-10-12)

Posted: Fri Oct 17, 2014 3:06 am
by Meander
For the first issue, it sounds like the plugin was installed for all users.
Nope. I install all scripts for current user only.

Just to be clear - I'm using the context menu to access Lyricator, having pre-selected the track(s). What I get is a window which shows those selections in a (wrapped) column on the left hand side. There's no other formatting/style sheet or function beyond that, until I confirm the options.
are you saying that you cannot put a carriage return in the lyrics
Yep. As simple as that.