getmusicbee.com

MusicBee & Add-Ons => Customizations => Plugins => Topic started by: slonopot on May 25, 2022, 06:35:17 AM

Title: Beenius - Genius for MusicBee
Post by: slonopot on May 25, 2022, 06:35:17 AM
Read more here (https://github.com/slonopot/Beenius)

Features
Using Genius API instead of webpage parsing.
Author and track title in the library should be the same as in the Genius page. There's a 5-character tolerance for minor edits.

Installation
Get a release (https://github.com/slonopot/Beenius/releases) and extract all .dll files into MusicBee/Plugins/ directory
Title: Re: Beenius - Genius for MusicBee
Post by: phred on June 11, 2022, 07:14:55 PM
Thanks for this, I think.

I wanted to give this a try, but you really need to provide more information. There should have some instructions as to how to install and use.

Such as:
- Where to place the Zipped files? In a sub-directory under MB\Plugins?  I placed the three files individually in the Plugins directory.
- Upon launching MB, I got this popup, which isn't very helpful. Perhaps "slonopot" means something in your language, but not mine. And Google Translate doesn't recognize it. This also pops up every time I open Preferences > Plugins, which is quite annoying.
(http://i.imgur.com/Y1Pjseml.jpg) (https://i.imgur.com/Y1Pjsem.jpg)
- How to invoke it, especially if the Lyrics Reloaded (Updated) plugin is installed?
- I selected a few files that had no lyrics > auto-tag by track > update missing lyrics and got nothing.
- There should be some feedback from the plugin that it's searching.

At this point I have uninstalled it from MB and deleted the files I copied to MB's plugin directory.

Furthermore, I can't recommend this to anyone, especially those who are using the Lyrics Reloaded (Updated) plugin, since I have no way of knowing if it even works.

EDIT: I now notice that ""slonopot" is the name of the developer of this plugin.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on June 12, 2022, 01:30:00 AM
I was surprised by how well this plugin was working and that there were no responses to this, then one showed up right as I was about to post this earlier today. I had been using it non-stop for a few hours and haven't experienced a single error or noticed any weirdness so far in how it performs (except for that popup window).

I was also happy you made your source code available, and I had a look. I really favor Genius as a lyrics source but knew future plugins would need to use APIs, I   never looked into it and hoped someone else would.

Like phred mentioned, I've also been using lyrics-reloaded because for the time being it's been able to survive with minor updates. Website updates have brought that plugin down several times, but at any point withing the next five years there'll be changes that's it won't be capable to survive on old page hacks.

It's a brand new plugin, so minor things to address upfront:

1. Add more and very basic documentation, even when redundant with MusicBee. You're familiar with how MusicBee works since you were able to make the plugin, and you designed it according to MusicBee's original specification. So step them through the process of copying the two files the the plugins folder, opening musicbee, going to preferences -> plugins -> enable Beeniuus. Then it should be an option in preferences -> Tags(2) -> lyrics drop-down.

Also, I'm not sure if other lyric plugins need to be disabled, but lyrics-reloaded should be disabled. With them both enabled, lyrics-reloaded just doesn't seem to work, but benius is fine. (I wouldn't be surprised if it's because of how hacky lyrics-reloaded gets so that it can import those config files and pretend they are providers.)

2. To get rid of that popup window about loading your plugin,, I think you maybe need to implement the ReceiveNotification() function since your plugin is configured to receive startup notifications, and while I'm not sure, it seems like MusicBee might be creating that popup since nothing handled it. If I'm 100% wrong I am sorry. Haven't looked into it much.

3. Highly recommend adding a logger. They are incredibly helpful for plugins, especially if people are having issues, e.g. getting results, your config file settings or whatever. Especially since it's a new plugin, people cab also refer to it to help you.

There were actually a few more things I preferred to ask about, but this is getting long and it seems most important to ask about your use of your client-side auth using your token with your token insecurely used by the plugin and also it being stored in the source code repo. Kinda only  getting away with it now since the plugin isn’t getting used much,-------. But it is in your public repo.

Otherwise, nice plugin. Really hoping it can stick around.

EDIT: Mistyped words.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 13, 2022, 08:02:01 AM
- Where to place the Zipped files? In a sub-directory under MB\Plugins?  I placed the three files individually in the Plugins directory.
You unzip the archive and put all three individual files in Plugins folder (so mb_Beenius.dll, Topten.JsonKit.dll and beenius.conf (optional) are in Plugins folder).
- Upon launching MB, I got this popup, which isn't very helpful
I'll look into fixing this popup in the next possible updates, dunno why does it show up every time you open Plugins, for now I recommend to ignore this thing and proceed.
- How to invoke it, especially if the Lyrics Reloaded (Updated) plugin is installed?
You should enable a lyrics provider in Tags (2) section of Preferences (you'll see Genius via Beenius not to mix mine with any other custom providers).
- I selected a few files that had no lyrics > auto-tag by track > update missing lyrics and got nothing.
- There should be some feedback from the plugin that it's searching.
There shouldn't be any feedback because you will see it every single time it tries to search for lyrics, it's a hella headache if you have more than a dozen tracks. No results = no lyrics, it's that simple. There are cases when there are lyrics available in the source but the author or something else does not match. You'll have to manually fix these entries because 80% of results in Genius are community-supported and inconsistend. For example, you can see album UNLOCKED from Denzel Curry and you'll see that the author is "Denzel Curry & Kenny Beats". For sure, you'll have to update your entry in MusicBee to suffice this entry and only then it'll match. I had many issues with these features cuz the track might have a dozen of these but in Genius it will only include the album author. MusicBee passes track artist (not the album artist) which includes all the features, 0.0.2 update brings the option to split these out (I have edited the track artists in my audio library to have format like A & B & C so the plugin splits out the "& B & C" part and searches only by A and the track title.
TLDR: There are inconsistencies, yall been warned, don't expect it to magically match 100% of your library. You can make sure that you can manually search your track in Genius and have artist and track title match 100% minus 5-character tolerance (configurable in beenius.conf).
Furthermore, I can't recommend this to anyone, especially those who are using the Lyrics Reloaded (Updated) plugin, since I have no way of knowing if it even works.
It was made only because the latest version of Lyrics Reloaded (Updated) didn't work. You have an option to proceed to mess with regexes, this is the alternative that requires any basic understanding of how MusicBee plugins work. If you were able to use Lyrics Reloaded, you won't have any issues with mine.

1. Add more and very basic documentation, even when redundant with MusicBee. You're familiar with how MusicBee works since you were able to make the plugin, and you designed it according to MusicBee's original specification. So step them through the process of copying the two files the the plugins folder, opening musicbee, going to preferences -> plugins -> enable Beeniuus. Then it should be an option in preferences -> Tags(2) -> lyrics drop-down.
Added this to https://github.com/slonopot/Beenius, thanks

Also, I'm not sure if other lyric plugins need to be disabled, but lyrics-reloaded should be disabled. With them both enabled, lyrics-reloaded just doesn't seem to work, but benius is fine. (I wouldn't be surprised if it's because of how hacky lyrics-reloaded gets so that it can import those config files and pretend they are providers.)
MusicBee passes the data to plugins in the user-managed configurable order until the first hit. If you use LyricsReloaded, you'll have Genius and Genius via Beenius in your settings. Next, when the search is invoked, MusicBee will invoke all the providers sequentially until any valid result. You can configure multiple sources to be requested in the desired order.

2. To get rid of that popup window about loading your plugin,, I think you maybe need to implement the ReceiveNotification() function since your plugin is configured to receive startup notifications, and while I'm not sure, it seems like MusicBee might be creating that popup since nothing handled it. If I'm 100% wrong I am sorry. Haven't looked into it much.
I'll try if it'll need additional updates, the basic idea was to quickly make something that works and fill my library with lyrics. There's not much documentation to the APIs anyways.

3. Highly recommend adding a logger. They are incredibly helpful for plugins, especially if people are having issues, e.g. getting results, your config file settings or whatever. Especially since it's a new plugin, people cab also refer to it to help you.
It's too simple to have any errors that aren't users. Genius might revoke the API key I've borrowed from their Android app and that's it. All the other issues are mismatches in the user library and Genius databases.

There were actually a few more things I preferred to ask about, but this is getting long and it seems most important to ask about your use of your client-side auth using your token with your token insecurely used by the plugin and also it being stored in the source code repo. Kinda only  getting away with it now since the plugin isn’t getting used much,-------. But it is in your public repo.
I'll look into requests if I'll see them in the first place. I've made this plugin for my own purpose and just wanted to share for the community to have an extra chance to mitigate mental damage brought by fixing the regexes in Lyrics Reloaded.
Again, the API key is a public-private anonymous one that you can easily find in the Genius Android app. It's not mine, I don't care, I'll probably move it into config anyways since it could be eventually revoked.

P.S. I've tested the plugin first on my own library of 2060 files and had maximum matches I could've imagined. Minor fixes were brought in the 0.2 update and have maxed out the hits even further. Thanks for your feedback.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on June 13, 2022, 11:42:09 AM
Furthermore, I can't recommend this to anyone, especially those who are using the Lyrics Reloaded (Updated) plugin, since I have no way of knowing if it even works.
It was made only because the latest version of Lyrics Reloaded (Updated) didn't work. You have an option to proceed to mess with regexes, this is the alternative that requires any basic understanding of how MusicBee plugins work. If you were able to use Lyrics Reloaded, you won't have any issues with mine.
Agreed. LyricsReloaded as a downloadable plugin doesn't actually work. Users are required to find the forum thread and look through the latest posts to try to piece together the latest version of a yaml file and manually place it in the directory, and every minor change causes it to break. Additionally, almost all of the providers that are placed in the list don't work and can't be deleted. Only people on the LyricsReloaded forum topic are used to this idea as a workable solution, but as a downloadable plugin it's ridiculous.
An API-based plugin won't have any of these issues.

Added this to https://github.com/slonopot/Beenius, thanks
Sure. Is it possible to add that as a readme to the plugin page?

MusicBee passes the data to plugins in the user-managed configurable order until the first hit. If you use LyricsReloaded, you'll have Genius and Genius via Beenius in your settings. Next, when the search is invoked, MusicBee will invoke all the providers sequentially until any valid result. You can configure multiple sources to be requested in the desired order.
That's not what occurs in my testing.
If both plugins are enabled, LyricsReloaded will only work until MusicBee is restarted, and for some reason it tries to load Genius via Beenius but fails. But after a restart, LyricsReloaded will no longer search. And even if the Genius via Beenius provider is unselected, Beenius is still used for some reason.
There's no Beenius log, so I don't know what's going on there.

2. To get rid of that popup window about loading your plugin,, I think you maybe need to implement the ReceiveNotification() function since your plugin is configured to receive startup notifications, and while I'm not sure, it seems like MusicBee might be creating that popup since nothing handled it. If I'm 100% wrong I am sorry. Haven't looked into it much.
I'll try if it'll need additional updates, the basic idea was to quickly make something that works and fill my library with lyrics. There's not much documentation to the APIs anyways.
Yeah I know, hence my caveat about really not being sure. But a quick copy-paste of ReceiveNotification() from LyricsReloaded and some minor editing might knock it out quickly.
I applaud anyone who can make a working plugin based on the state of MusicBee's non-documentation and terse Interface.

3. Highly recommend adding a logger. They are incredibly helpful for plugins, especially if people are having issues, e.g. getting results, your config file settings or whatever. Especially since it's a new plugin, people cab also refer to it to help you.
It's too simple to have any errors that aren't users. Genius might revoke the API key I've borrowed from their Android app and that's it. All the other issues are mismatches in the user library and Genius databases.
Come on now. Your plugin code may be simple, but MusicBee is not, and don't pretend it is guaranteed to be 100% bug free, especially with the proprietary allowedDistance code. If it fails for any reason, be it an application update, an unexpected input string, the Genius server being down, having a log that just outputs some information would be extremely helpful. Additionally, just knowing what it's searching for using the Beenius config would also be nice to have, especially for those really willing to tweak that config file.

There were actually a few more things I preferred to ask about, but this is getting long and it seems most important to ask about your use of your client-side auth using your token with your token insecurely used by the plugin and also it being stored in the source code repo. Kinda only  getting away with it now since the plugin isn’t getting used much,-------. But it is in your public repo.
I'll look into requests if I'll see them in the first place. I've made this plugin for my own purpose and just wanted to share for the community to have an extra chance to mitigate mental damage brought by fixing the regexes in Lyrics Reloaded.
Again, the API key is a public-private anonymous one that you can easily find in the Genius Android app. It's not mine, I don't care, I'll probably move it into config anyways since it could be eventually revoked.

Ah, I didn't realize there was an anonymous one like that, my apologies. If at all configurable, probably a good idea. I would get my own token for this plugin.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 13, 2022, 12:32:48 PM
Sure. Is it possible to add that as a readme to the plugin page?
I don't have access to this page, probably Mr. Global Moderator will assist. Found the button, interface design 👍

That's not what occurs in my testing.
If both plugins are enabled, LyricsReloaded will only work until MusicBee is restarted, and for some reason it tries to load Genius via Beenius but fails. But after a restart, LyricsReloaded will no longer search. And even if the Genius via Beenius provider is unselected, Beenius is still used for some reason.
There's no Beenius log, so I don't know what's going on there.
It's strange indeed, I'll test it myself later and see if I can reproduce the behaviour. For now, I've made sure that Beenius doesn't work if I untick Genius via Beenius. I've deleted Lyrics Reloaded once made sure it doesn't work, will include it in future tests and see.

Come on now. Your plugin code may be simple, but MusicBee is not, and don't pretend it is guaranteed to be 100% bug free, especially with the proprietary allowedDistance code. If it fails for any reason, be it an application update, an unexpected input string, the Genius server being down, having a log that just outputs some information would be extremely helpful. Additionally, just knowing what it's searching for using the Beenius config would also be nice to have, especially for those really willing to tweak that config file.
I'll consider this a request and won't argue.

Ah, I didn't realize there was an anonymous one like that, my apologies. If at all configurable, probably a good idea. I would get my own token for this plugin.
GeniusClient.cs -> private string GeniusAnonymousAndroidToken (if you've read through code ofc).
It's not really a public one, but I'll have to make an instruction set for those who wanna use their own tokens. I dunno if Genius allows custom apps and didn't want to read through the ToS. In my case it was faster to implement the same logic as in the Android app search and mark the job done.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 13, 2022, 01:15:54 PM
Found out I can actually add Musixmatch alongside Genius, added a poll.
Title: Re: Beenius - Genius for MusicBee
Post by: frankuaku on June 13, 2022, 02:09:14 PM
Found out I can actually add Musixmatch alongside Genius, added a poll.
Bear in mind that with the Free API you can retrieve only 30% of the lyrics. You also have a daily API call limit. Anyway it would be a great idea!
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 13, 2022, 02:22:34 PM
Found out I can actually add Musixmatch alongside Genius, added a poll.
Bear in mind that with the Free API you can retrieve only 30% of the lyrics. You also have a daily API call limit. Anyway it would be a great idea!

There's, again, an Android app with private API which has little protection and zero limits. I've already reversed everything they had done there, I think I'll extend Beenius with it later it if there's a demand.
They have some kind of ratelimit with "captcha" but I've not seen it anywhere other than in responses to malformed requests, 100 cosecutive searches had 0 "captchas" so it should be fine, at least as a fallback to Genius.
Title: Re: Beenius - Genius for MusicBee
Post by: frankuaku on June 13, 2022, 02:24:22 PM
There's, again, an Android app with private API which has little protection and zero limits. I've already reversed everything they had done there, I think I'll extend Beenius with it later it if there's a demand.
Looks cool!  :-*
Title: Re: Beenius - Genius for MusicBee
Post by: phred on June 13, 2022, 02:42:12 PM
@slonopot- I appreciate the time you put into address all my questions/observations. I have tried the plugin again and tested with the same tracks I initially tested with. One track out of seven returned lyrics. I uninstalled your plugin and reactivated Lyrics Reloaded (Updated) and got seven out of seven.

Thanks for trying.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 13, 2022, 03:07:38 PM
@slonopot- I appreciate the time you put into address all my questions/observations. I have tried the plugin again and tested with the same tracks I initially tested with. One track out of seven returned lyrics. I uninstalled your plugin and reactivated Lyrics Reloaded (Updated) and got seven out of seven.

Thanks for trying.
I might try and explain why your exact tracks couldn't be found if I'll have a list of artists and titles.
Title: Re: Beenius - Genius for MusicBee
Post by: phred on June 13, 2022, 06:20:09 PM
I might try and explain why your exact tracks couldn't be found if I'll have a list of artists and titles.
Is your plugin also looking at <Album>? If so, that may be the reason as the tracks I'm testing with are from a Paul McCartney live bootleg. I assume if it were only looking are <Artist> and <Title> It would come up with lyrics.
Here what I was testing:
Got Back Boston - Paul McCartney - Can't Buy Me Love
Got Back Boston - Paul McCartney - Junior's Farm
Got Back Boston - Paul McCartney - Letting Go
Got Back Boston - Paul McCartney - Got To Get You Into My Life
Got Back Boston - Paul McCartney - Come On To Me
Got Back Boston - Paul McCartney - Let Me Roll It
Got Back Boston - Paul McCartney - Getting Better

And I repeat - Lyrics Reloaded (Updated) worked for all these tracks. And has multiple sources from which to search.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 13, 2022, 09:02:12 PM
I might try and explain why your exact tracks couldn't be found if I'll have a list of artists and titles.
Is your plugin also looking at <Album>? If so, that may be the reason as the tracks I'm testing with are from a Paul McCartney live bootleg. I assume if it were only looking are <Artist> and <Title> It would come up with lyrics.
It does not look at Album, it only searches with track title and artist

Here what I was testing:
1. Paul McCartney - Can't Buy Me Love - hit via plugin
2. Paul McCartney - Junior's Farm - unavailable under this title, only like this (https://genius.com/Paul-mccartney-and-wings-juniors-farm-lyrics) (different artist with a feature)
3. Paul McCartney - Letting Go - can confirm an issue, hits this (https://genius.com/Paul-mccartney-letting-go-lyrics) but it seems you'll need this (https://genius.com/Paul-mccartney-and-wings-letting-go-lyrics) which fits the previous inconsistency
4. Paul McCartney - Got To Get You Into My Life - search returns different options (https://genius.com/search?q=Paul%20McCartney%20-%20Got%20To%20Get%20You%20Into%20My%20Life) and none fits this exact title. Searching it as "The Beatles - Got To Get You Into My Life" does the job both in Genius and via plugin.
5. Paul McCartney - Come On To Me - hit via plugin
6. Paul McCartney - Let Me Roll It - mixed issue as with 2 and 4
7. Paul McCartney - Getting Better - only live version available (https://genius.com/search?q=Paul%20McCartney%20-%20Getting%20Better) via search

I'll fix an issue for 3 and probably will include an option to filter data coming from Genius the same way as the data coming from the client to suffice Live and DJ versions if those are available only.

Main issue is that my plugin does not consider such names as "Getting Better (Live / 2002)" or "Got to Get You into My Life (Live / 1989)" a hit because it might be a different song, like a radio or DJ edit as with Junior's Farm in Musixmatch. It seems LyricsReloaded allows way broader tolerances and you're fine with false positives.

My plugin is strict and will only ignore case and a minor number of edits to consider song a hit. MusicBee immediately adds lyrics if something is returned from the source so editing false positives was not an option for me, better leave it blank than wrong.

For example, you have a track with a title "Got To Get You Into My Life" and an artist "The Beatles". My plugin then searches Genius with "The Beatles Got To Get You Into My Life" and gets first results. For each of these search results a plugin concatenates the author with the track title to get "<Author> <Title>" the same way it's represented in the search. Then the plugin compares the lowercase versions of the strings and allows up to 5 (configurable) edits in the string (accidental characters, spaces etc). If both yours and one coming from Genius are considered valid by the plugin, only then you'll have a hit and will receive something.

Also have to make sure that we are comparing Genius as a lyrics source in my plugin and in the LyricsReloaded. Maybe some other sources are able to survive artist being seriously different.
Title: Re: Beenius - Genius for MusicBee
Post by: phred on June 13, 2022, 10:38:26 PM
Again I appreciate you taking the time to see if my "sample" tracks worked with your plugin. I used the Genius 2022 yml with Lyrics Reloaded and as I said before, it returned proper lyrics on each one. I didn't matter if the artist was Paul McCartney or The Beatles. Correct lyrics were returned.

I'm not going to spend any more time on this since what I have works well and "If it ain't broke, don't fix it."

No need for you to spend any more of your time addressing my issues.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on June 20, 2022, 10:16:32 AM
Again I appreciate you taking the time to see if my "sample" tracks worked with your plugin.
@phred Thanks for submitting the 7 edge-cases. They were actually helpful, but trying hundreds of artists over hundreds of songs is much more helpful for actually testing a lyrics plugin.

This is a great plugin for generally properly-tagged songs. I think the main threat is Genius pulling it's support, but that's much less a threat than Genius simply... changing its URL.

The reason those songs worked is because Genius currently redirects a few songs like:
https://genius.com/paul-mccartney-got-to-get-you-into-my-life-lyrics
to:
https://genius.com/Paul-mccartney-got-to-get-you-into-my-life-live-1989-lyrics

It's tremendously unstable.

Supporting it for a while is fine, but as a moderator, it might be better to support longer-term solutions.
Title: Re: Beenius - Genius for MusicBee
Post by: phred on June 20, 2022, 01:05:50 PM
Supporting it for a while is fine, but as a moderator, it might be better to support longer-term solutions.
My "job" as a moderator has nothing to do with supporting, or not supporting, any solutions. All comments I make are mine alone. I vocalize support for what I like and works for me. And I will also vocalize my feelings for things within MB that don't work.

As a fellow user of MB, I would like to suggest to you that you stop "bashing" plugins that you don't like. If you're going to be critical of someone else's work, you're free to come up with a better solution. But don't start posting that "longer-term solutions" are better unless you're able to create that longer-term solution yourself.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on June 24, 2022, 11:57:48 AM
I think the main threat is Genius pulling it's support, but that's much less a threat than Genius simply... changing its URL.

In case with my plugin it's not really a threat, Genius will have to either discontinue their Android app completely or limit APIs (which will be then overriden with using proper user authorization in the plugin).
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on June 27, 2022, 10:28:13 AM
My "job" as a moderator has nothing to do with supporting, or not supporting, any solutions. All comments I make are mine alone. I vocalize support for what I like and works for me. And I will also vocalize my feelings for things within MB that don't work.

As a fellow user of MB, I would like to suggest to you that you stop "bashing" plugins that you don't like. If you're going to be critical of someone else's work, you're free to come up with a better solution. But don't start posting that "longer-term solutions" are better unless you're able to create that longer-term solution yourself.

Well, not true:
Thanks for this, I think.
I wanted to give this a try, but you really need to provide more information. There should have some instructions as to how to install and use.
(...)
At this point I have uninstalled it from MB and deleted the files I copied to MB's plugin directory.
Furthermore, I can't recommend this to anyone, especially those who are using the Lyrics Reloaded (Updated) plugin, since I have no way of knowing if it even works.

You were, honestly, a jerk, and someone who sounds like your opinion is so important it makes or breaks new plugins. Hopefully it's clear you don't.

Edit: In terms of your weird accusations, see my other posts. You're a moderator that not only doesn't take it seriously, you're actively harmful.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on June 27, 2022, 11:05:33 AM
In case with my plugin it's not really a threat, Genius will have to either discontinue their Android app completely or limit APIs (which will be then overriden with using proper user authorization in the plugin).

I agree. I appreciate using this, and if some token issue occurs, it can be handled then.
Title: Re: Beenius - Genius for MusicBee
Post by: hiccup on June 27, 2022, 11:27:05 AM
In Phred's many posts over many years he has helped hundreds of other MusicBee users.
Probably thousands, if you count the ones that read the threads and learned from them.
(Redearth also criticed Phred about his 'amount of posts'. But he has been retro-editing his post—as he has done before--so I thought to explain my opening sentence here)

Since you 'graced' the forum with your presence, you have made some 24 posts.
Pretty much all of them complaining and reproaching other members that actually put in the work and effort to create things and help others.

And you choose to continue whining and acting like a man-child.
You have completely ignored the advice and explanations that you have been given about what you could have done to actually help.

It also has been explained to you that your understanding of a moderator being somehow responsible for monitoring and reporting add-ons that are no longer maintained (or the developer maybe being on a hiatus) is completely wrong.

So you seem unable or unwilling to accept and understand what has been explained to you many times now.
And you also don't seem to have an understanding about how a forum and moderation usually works.

But instead of accepting your limited comprehension of things, and coming to the conclusion that it's probably you that's at fault here, acting like some nasty and childish troll, you now start making personal attacks and insults to other users.

In doing so you also keep polluting other user's threads with this continuation of whining and arguing.

What is it that you are trying to accomplish here exactly?

Helping others?
You are certainly not doing that.

Showing off some unpleasant ego?
Yeah that's going just fine.
Title: Re: Beenius - Genius for MusicBee
Post by: phred on June 27, 2022, 01:06:26 PM
You were, honestly, a jerk, and someone who sounds like your opinion is so important it makes or breaks new plugins. Hopefully it's clear you don't.
Please explain how my opinion makes or breaks new plugins?  And while I can take your name calling, I suggest you don't do it with others. This is quite a civil forum and name calling will not be tolerated.

Quote
Edit: In terms of your weird accusations, see my other posts. You're a moderator that not only doesn't take it seriously, you're actively harmful.
Again, show me where I'm not taking something seriously and being harmful.

No, don't bother replying to me as I won't be reading any more of your rants posts.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on July 02, 2022, 09:27:54 AM
I feel bad for redirecting any attention away from this plugin.
None of what we said matters.

Highly recommend Beenius (https://github.com/slonopot/Beenius) for a great lyrics plugin.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 11, 2022, 06:43:40 AM
Made an update today, included all the stuff we've discussed here and made some improvements I've found necessary for the plugin to get the best results. Get it here (https://github.com/slonopot/Beenius/releases/tag/v0.0.3).

I welcome any discussion of this plugin and will try to help anybody out there having issues, but it's crucial to understand that this plugin works differently and won't fit everyone. I've made my job to clarify that on the first page with @phred, this plugin just won't be of help with his library and the approach to naming tracks in it. Again, I've made this plugin primarily to fulfill a sole purpose of filling my own library which is mostly rap songs as they reside at Genius since forever. You can't have an universal instrument when it comes to lyrics because there are thousands sources which has their limitations, LyricsReloaded is trying to solve this by allowing to configure all the regexes for the source, it works in a way that I don't find quick, efficient and proper. I find it easier to do it the way I do. If you know an Android or iOS app that can be used as a lyrics source (like Musixmatch) -- you're welcome to suggest it here and I'll see if it's possible to use it.

I won't merge Musixmatch with this plugin and will release it separatly later since it may have issues in the long run.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 11, 2022, 05:16:49 PM
Added a small fix this time, the update is available here (https://github.com/slonopot/Beenius/releases/tag/v1.3.1).

UPD: Had to push another bugfix, hope it's the last one for this release. Get it here. (https://github.com/slonopot/Beenius/releases/tag/v1.3.2)
Title: Re: Beenius - Genius for MusicBee
Post by: LazR on July 12, 2022, 02:13:08 AM
I personally do not see MusixMatch as a huge need. I am an editor on Genius and believe that their platform is much more through and advanced compared to MM; most of the time MM is just Genius copied while removing the [Chorus] tags.

Either way, thank you for the support and creation of the plugin, works amazing! Nice to have a dedicated backup in case LyricReloaded's way ever gets tanked by Genius
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 12, 2022, 03:46:27 AM
I personally do not see MusixMatch as a huge need. I am an editor on Genius and believe that their platform is much more through and advanced compared to MM; most of the time MM is just Genius copied while removing the [Chorus] tags.

I don't see much need either but there are still some tracks in my library that can be updated with lyrics automatically the way Genius simply won't allow. For example, some tracks (here (https://genius.com/Uicideboy-and-travis-barker-killing-2-birds-with-22-stones-lyrics)) has both artsts as one with an ampersand. There's no consistent way to get artists separately from Genius because they are filled in as a custom field. Musixmatch, on the other hand, does return the artists separately, which will allow to fill in the remaining blanks. Also, Musixmatch seems to be sorta "official" way for labels to release the lyrics (which is why you can see the same lyrics at Genius, MM is the source) -- they are more of a commercial solution that will probably have more hits than Genius if we take non-rap genres into account. Finally, I find it easy and fun for me to make a plugin and help those 10 dudes that will probably use it afterwards.

LyricReloaded's way ever gets tanked by Genius

It won't, Genius allows free usage (including API), dudes will just have to update their regexes every time there's a minor layout change. Musixmatch is greedy btw, but I've already have got it sorted out.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on October 05, 2022, 02:37:18 AM
Awesome @slonopot, I just now installed your updates. I've been using the first version of this plugin you posted back in May all the time, and it's been working wonderfully for me, but now you addressed all of the issues I encountered and it' seems pretty much perfect. You even added the logging I had requested! (which I honestly thought you had brushed off ;)). I should have checked back sooner.

I strongly concur with everything you said in Reply #23 on July 11 (https://getmusicbee.com/forum/index.php?topic=36605.msg202194#msg202194). Beenius isn't meant to be a universal replacement plugin for all use-cases, but it does work exactly as described. And in my case, though I have a grown a huge library of over 60k songs across several genres, Beenius has been consistently working for me. It works with the vast majority of my library, and what I love is that if I do come across any missing or incorrect lyrics, I can simply add them to Genius, and then the changes are immediately available via this plugin. So it's a really nice balance where I get to contribute to the community and engage with the lyrics more closely. And that seems to be the point of a lyrics plugin to me.

Anyway, Beenius is my favorite MusicBee plugin, both from a usability side and a technical side. Thanks very much. I'm hoping more people will notice it.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on October 05, 2022, 09:27:34 AM
@slonopot: Actually one last request: Please add the readme with installation and activation steps back to the plugin page, along with the Github link to "read more". That would ensure anyone can get Beenius working easily, and you could still maintain the full documentation and configuration options on Github.
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on October 05, 2022, 10:07:26 PM
Since Steven recently updated MusicBee to make it more compatible with running multiple lyrics plugins, I decided to give Beenius 1.3.2 a shot alongside LyricsReloaded 1.1.16.6, using MusicBee 3.5.8312 Portable.  Comments:

Check the Github site (https://github.com/slonopot/Beenius (https://github.com/slonopot/Beenius)) for the most complete installation instructions--all of the files in the zip go directly into the MusicBee/Plugins folder.  You can leave the file "beenius.conf.template" named as-is and it will use the plugin's default settings which worked fine for me.  Removing the "*.template" extension "activates" the contents of beenius.conf so the default parameters inside may be altered by the user (see the Github site).

The plugin is easily selectable from the normal Prefs/Tags(2) lyrics section in MB and clearly differentiated from the LyricsReloaded Genius.  Running both at the same time produced no issues whatsoever.  So far, both Genius sources produce the same results, except that the formatting/sectioning is often different.  It does not interfere with LyricsReloaded finding results from its own various sources and using the "Search Next Provider" function.  Beenius does not add a source caption for itself but its results show as "GENIUS VIA BEENIUS" in Lyrics Source when right-clicking the panel.

A log file beenius.log is created in Users/(username)/AppData/Roaming/MusicBee (includes the "MusicBee" subfolder if absent) even for those with Portable MusicBee installs, as a result of being focused at "Install" versions of MusicBee.  The log remains populated after MB exits, but clears itself of its contents at the next start of MusicBee.

So, a great lyrics plugin that works as-advertised and without compromising existing sources!  Thank-you slonopot!

My two requests for the developer would be to create the log file inside the MusicBee Portable install directory to keep those completely portable, and to allow the option to show a source caption at the beginning of the lyrics display.
Title: Re: Beenius - Genius for MusicBee
Post by: hiccup on October 09, 2022, 10:08:20 PM
I was curious about how the Beenius plugin compared to the LyricsReloaded plugin.
So I ran a set of 232 music files through both of them.

For the LyricsReloaded plugin I set the order of providers to be polled to:

- Genius
- Musixmatch
- Deezer
- Metal Archives

The Beenius plugin doesn't offer any tweaks or settings, so it was just a simple download and activate.

The results:

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

An additional observation:
Lyrics that were provided by Beenius showed all additional comments about the lyrics/music structure.
Such as 'intro', 'verse', 'chorus', 'refrain', 'instrumental break', etc. etc.

The LyricsReloaded plugin filtered all those out.

I'm not ventilating an opinion or a recommendation here.
I was just curious about how the two would compare, and thought the results might be interesting or useful to others too.

edit:

New results for Lyrics Reloaded after:
- updating to 1.1.17.0
- adding 'Genius (fuzzy)' and 'Deezer (fuzzy)' as 5th end 6th providers

(https://i.imgur.com/X2xT7v1.png)
 
Title: Re: Beenius - Genius for MusicBee
Post by: phred on October 09, 2022, 10:14:31 PM
Thanks for doing this, hiccup.

I'm assuming column B is Lyrics Reloaded, yes?

The fact that Lyrics Reloaded filters out the extraneous information makes it the winner for me. The ability to change the order of providers is another bonus.
Title: Re: Beenius - Genius for MusicBee
Post by: hiccup on October 09, 2022, 10:24:00 PM
I'm assuming column B is Lyrics Reloaded, yes?
Well spotted phred.
That was indeed missing from the excel screenshot. That's added now.
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on October 10, 2022, 01:40:37 AM
Since the Beenius plugin by design searches ONLY the Genius database, and not the 3 additional ones used for the LyricsReloaded plugin in the test, doesn't that make a results comparison problematic?
Title: Re: Beenius - Genius for MusicBee
Post by: hiccup on October 10, 2022, 07:39:06 AM
Since the Beenius plugin by design searches ONLY the Genius database, and not the 3 additional ones used for the LyricsReloaded plugin in the test, doesn't that make a results comparison problematic?
I did the comparison like this just out of personal interest.
I have been using Lyrics Reloaded with these four providers, and was curious if I perhaps would be better off using Beenius.
Title: Re: Beenius - Genius for MusicBee
Post by: DJC👽D on October 10, 2022, 10:07:59 AM
Very good job @slonopot

I have erased in my entire library the lyric tag and launched your plugin.

I have no more false lyrics and all is well formatted for me (with french punctuation).👏👏👏

And thanks to @hiccup for this comparison. It helped me a lot to test Beenius.
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on October 10, 2022, 05:41:51 PM
What I do is to add Beenius to the list of providers that LyricsReloaded already uses.  That became do-able recently when Steven tuned MB so it would not run into problems using more than one lyrics plugin at the same time, and I can confirm that now things run smooth as silk that way.  I have the Beenius source for Genius checked behind the built-in LR Genius, to provide a fall-back search in case the former and all the other LR sources come up empty.  95% of the time the built-in LR Genius gets the hit, and I prefer it due to the stripped "sectional names" formatting.  Occasionally, only Beenius will provide a Genius hit.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on October 15, 2022, 08:57:13 PM
@slonopot: Actually one last request: Please add the readme with installation and activation steps back to the plugin page, along with the Github link to "read more". That would ensure anyone can get Beenius working easily, and you could still maintain the full documentation and configuration options on Github.
I've changed the description one more time to make sure even complete retards will end up reading up-to-date instructions on Github.

My two requests for the developer would be to create the log file inside the MusicBee Portable install directory to keep those completely portable, and to allow the option to show a source caption at the beginning of the lyrics display.
Plugin is using environmental variables to get the /AppData/Roaming part and then appends /MusicBee/beenius.log. Steven should change the %APPDATA% variable for the portable process, you better ping him about this.
Could you please elaborate the "source caption" thing? An example would be nice.

I was curious about how the Beenius plugin compared to the LyricsReloaded plugin.
I've explaned earlier in this thread that it's inappropriate to compare LyricsReloaded to any other lyrics plugin out there, including mine. It's like comparing car and water because these both make sounds.
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on October 15, 2022, 10:19:33 PM
Could you please elaborate the "source caption" thing? An example would be nice.
The option to put lyrics source at the top of the results;  in the example below, "Source: Genius via Beenius" would replace "Source: Deezer."

(https://i.imgur.com/Ov3Qwlq.png)
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on October 15, 2022, 11:49:47 PM
The option to put lyrics source at the top of the results;  in the example below, "Source: Genius via Beenius" would replace "Source: Deezer."

Get the update here (https://github.com/slonopot/Beenius/releases/tag/v1.3.3).
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on October 16, 2022, 12:56:27 AM
Thanks slonopot, works great!
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on October 22, 2022, 09:10:12 AM
@phred and @hiccup are literally trying to be QA testers. This forum is now officially hilarious.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on October 22, 2022, 09:10:44 AM
@slonopot: Actually one last request: Please add the readme with installation and activation steps back to the plugin page, along with the Github link to "read more". That would ensure anyone can get Beenius working easily, and you could still maintain the full documentation and configuration options on Github.
I've changed the description one more time to make sure even complete retards will end up reading up-to-date instructions on Github.
lol, thank you so much. I'll stop pestering you to deal with the peeps here. I'm also gone now.
Title: Re: Beenius - Genius for MusicBee
Post by: hiccup on October 22, 2022, 09:17:25 AM
@phred and @hiccup are literally trying to be QA testers. This forum is now officially hilarious.

And with this latest comment you have now proven to be nothing but an annoying and useless troll.
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on October 22, 2022, 09:46:01 AM
So useless you always need to respond.

Skip over the point. Make it personal. Boring. Can't help but respond.

"Thanks for doing this, hiccup."
"Well spotted phred."
Title: Re: Beenius - Genius for MusicBee
Post by: Redearth on October 22, 2022, 10:49:04 AM
In any case, thanks for making the best hands-off lyrics plugin for the best lyrics source (https://github.com/slonopot/Beenius).
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on November 03, 2022, 07:50:16 PM
Get an update here (https://github.com/slonopot/Beenius/releases/). It will most likely fix the behavior when the plugin is used alongside other lyrics providers.
Title: Re: Beenius - Genius for MusicBee
Post by: brazyj on July 08, 2023, 10:47:16 PM
Can you add some code to remove [Intro], [Verse], and stuff like that
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 11, 2023, 01:30:45 PM
Can you add some code to remove [Intro], [Verse], and stuff like that

GeniusClient.cs, line 199
Code
result = Regex.Replace(result, @"\[.*\]\r?\n", string.Empty);

or use Museexmatch, it doesn't have these.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 11, 2023, 01:51:37 PM
Nevermind, found a computer with Visual Studio. Grab the update here (https://github.com/slonopot/Beenius/releases/tag/v1.3.6).
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on July 11, 2023, 07:23:38 PM
Thanks slonopot for the update with the new option that lets users have it either way!  This speedy and accurate Genius plugin has become my first choice on my provider's list.

For new users, a reminder to read closely the installation instructions which are posted here:  https://github.com/slonopot/Beenius/ (https://github.com/slonopot/Beenius/) .

Keep in mind that you need to extract ONLY the three *.dll's in the zip, and beenius.conf.template.  Drop the ".template" suffix from the latter file, and configure beenius.conf according to slonopot's instructions.  Also remember that this API-based plugin can be used simultaneously with any of the LyricsReloaded sources.
Title: Re: Beenius - Genius for MusicBee
Post by: brazyj on July 31, 2023, 05:23:12 PM
Is there any way I can make Beenius find the configuration file? I don't know what I''m doing wrong, but it never sees the configuration file, and uses the defaults.(https://media.discordapp.net/attachments/1124375355113877534/1135608266714521781/image.png)
(https://cdn.discordapp.com/attachments/1124375355113877534/1135608388680687646/image.png)
Title: Re: Beenius - Genius for MusicBee
Post by: phred on July 31, 2023, 06:37:10 PM
If you check the first post of this thread there are installation instructions along with a link to "read more here."
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on July 31, 2023, 07:10:41 PM
Is there any way I can make Beenius find the configuration file? I don't know what I''m doing wrong, but it never sees the configuration file, and uses the defaults.
Where are you seeing the log file for Beenius you posted an image of?  My Beenius stopped creating a separate log file since version 1.3.4.  I use MusicBee 3.5.8606 Portable and Beenius 1.3.6.

Have you confirmed that any changes you made to the defaults inside the beenius.conf file are still present?  Please post a shot of its contents--it's possible that you may have accidently damaged the syntax in a way that makes it not visible to the dll.

Also, be sure that there isn't another copy of the mb_Beenius.dll somewhere else on your PC from a previous install.

Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 31, 2023, 07:53:04 PM
Is there any way I can make Beenius find the configuration file? I don't know what I''m doing wrong, but it never sees the configuration file, and uses the defaults

There is a certain confusion about Plugins folder that I got trapped in since the initial release. MusicBee expects both Program Files and %APPDATA% Plugins folders to function, but by default the Program Files one is not user-writable.

Now the plugin is expected to be working only from %APPDATA%. I also fixed the logger if this plugin is used alongside Museexmatch.
Grab the update here (https://github.com/slonopot/Beenius/releases/tag/v1.3.7) and move the plugin from Program Files/MusicBee/Plugins to %APPDATA%/MusicBee/Plugins.

(%APPDATA% is Users/<>/AppData/Roaming by default)
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on July 31, 2023, 08:03:53 PM
My Beenius stopped creating a separate log file since version 1.3.4.  I use MusicBee 3.5.8606 Portable and Beenius 1.3.6.

The log was broken indeed if the plugin is used with Museexmatch or another one that is using NLog. Since all the plugins are running in the same scope, NLog is global as well and is expected to distinguish log targets between different classes. I've attempted to fix this multiple times, this one is final (I hope).

Have you confirmed that any changes you made to the defaults inside the beenius.conf file are still present?  Please post a shot of its contents--it's possible that you may have accidently damaged the syntax in a way that makes it not visible to the dll.

The plugin .dll was working from any Plugins folder, but .conf file was hardcoded to "./Plugins/beenius.conf" since day one. This is expected to be in Program Files and it's not writable. Now it's moved to %APPDATA% and will remain there.

As for the portable version, I guess we've discussed this a certain time ago and by then I've suggested to ask Steven to remap %APPDATA% to something in the portable folder. Don't know how did it end up being, but you always can just manually create MusicBee/Plugins in AppData/Roaming and it should work.
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on August 01, 2023, 02:20:42 AM
MusicBee Portable 3.5.8606 P, installed to C:\MusicBee.

After updating both Beenius and Museexmatch to the versions just posted, found that the Beenius log file is being created now all right in c:\users\<username>\AppData\Roaming\MusicBee.

Now however the conf files are no longer being seen (and hence their values not being applied) since their coded location was changed to lie outside of a MusicBee Portable installation, as you described, instead of within the original Plugins folder with the dll's.

Since with a Portable install I depend on all my settings/files being present in one folder I rolled everything back to my backup copy from last night and will stick with that.  Since no performance related functions were changed I'm perfectly happy using the 1.3.6/1.0.1 versions of these excellent plugins. This is just being presented as a heads-up to other Portable MB users and not as a condemnation of how a developer chose to redesign his own freely-offered work.
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on August 01, 2023, 08:34:37 AM
MusicBee Portable 3.5.8606 P, installed to C:\MusicBee.

As a workaround for your portable setup you can try and create a bat launcher that will override %APPDATA% environment variable with a local folder:

Code
set BAT_DIR=%~dp0
set APPDATA=%BAT_DIR%\PortableData
start /d %BAT_DIR% MusicBee.exe

I haven't tested this, but the approach should be functional. You are expected to manually create a folder tree for PortableData\MusicBee[\Plugins] (which is an alternative to AppData\Roaming\MusicBee[\Plugins]). I guess AppData should be the only place for plugins and user files to prevent further confusion, but it's not up for me to decide so we'll just somehow hack around this and it'll just work for the rest of the days. No more feasible fixes and updates for both plugins in my forecast anyways.
Title: Re: Beenius - Genius for MusicBee
Post by: chrl_nrys on January 23, 2024, 11:25:40 PM
Is there a reason the plugin omits certain portions of lyrics?

For instance

https://genius.com/Blink-182-rich-lips-live-lyrics

The retrieved lyrics in musicbee will omit the stage banter at the end
Title: Re: Beenius - Genius for MusicBee
Post by: sveakul on January 24, 2024, 01:11:51 AM
Is there a reason the plugin omits certain portions of lyrics?

For instance

https://genius.com/Blink-182-rich-lips-live-lyrics

The retrieved lyrics in musicbee will omit the stage banter at the end
In the beenius.conf file, be sure this value is set to false:

Code
"removeTags":  false
restart MusicBee to apply changes.  Note that location of the .conf file was changed in version 1.3.7 (https://github.com/slonopot/Beenius/releases/tag/v1.3.7 (https://github.com/slonopot/Beenius/releases/tag/v1.3.7)).
Title: Re: Beenius - Genius for MusicBee
Post by: slonopot on January 24, 2024, 02:40:53 PM
Is there a reason the plugin omits certain portions of lyrics?

For instance

https://genius.com/Blink-182-rich-lips-live-lyrics

The retrieved lyrics in musicbee will omit the stage banter at the end

Well, it will not match with default settings. You need to adjust allowedDistance to at least 7 to get a match from Beenius. The reason to this is that MusicBee feels like it knows better and removes all content in round parentheses and that's what gets into lyrics plugins. For example, if you have "blink-182 -- Rich Lips (Live)", Beenius will only receive "blink-182 -- Rich Lips". This will indeed get a match with the link you provided, but this result will be ignored since " (Live)" is a 7 character difference with the original.

With adjusted settings I can see the banter. My guess is that the result you get is from some other plugin, not mine.