- 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
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.