Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - quick_wango

Pages: 12 3 ... 8
Plugins / Re: LyricsReloaded (Updated)
« on: February 12, 2020, 11:26:39 PM »
I don't really have the know-how, either, but the OP for the original lyrics reloaded states that it's not an update of Steven's plugin but a total rewrite, and since he did use some sources from the original plugin and didn't use others, I'd assume the reason he decided not to use the sources that he chose not to use was that those sites are not compatible with the structure of the plugin.

In fact, looking at that OP now, he says certain sources are "not possible yet" in that post, and those include the ones from the original plugin that he didn't use.

If something has changed and you're able to make a working YML file for any of those sites, I'll be happy to add it into the plugin.  I've been pretty clear that the kind of RegEx skill needed to create these files is not in my wheelhouse and life is kind of coming at me too fast in this last year to get anywhere close to learning it.

The great thing about Lyrics Reloaded is that anyone can add sites to it on their own and then offer the YML for others to use, too.

Wish I could be more helpful, but I'm really just an overseer of the plugin.  My skills are such that I can do cleanup and maintenance but not really creation.

The two don't interfere with each other at all as far as I can tell.  Why not just use both?

The architecture of the plugin allows to implement entirely different provider concepts side-by-side (in the codebase they are called LyricsLoader). The current concept (StaticLoader) relies entirely on the websites having a stable and predictable URL per song, that can be derived just from the limited song metadata that is available (which often can be done with surprising accuracy as you know).
I originally planned to implement a second loader implementation that tries to use search functions of the websites. so the flow would be like:

1. Construct a search query based on the song metadata
2. Call the site's search functions
3. Extract song URLs from the search results
4. Try to find a single best match in the results, possibly applying some fuzziness
5. Extract the lyrics from the matched URL's site as usual

So provider Yaml files would require a couple more options (search URL, search query filters, URL extraction regex) for these.

In case someone is interested in implementing this, I can assist, but I will not implement this myself as long as there is no native MusicBee for Linux.

Plugins / Re: LyricsReloaded (Updated)
« on: February 12, 2020, 11:11:09 PM »
That's good information to know.  Something to remember when using the plugin is that sites don't want you using plugins like this. They get nothing out of it.  It's a hacked solution.

The plugin is designed to bring up lyrics for songs as you listen to them and then utilize what's built into MB to view or save them.  Like, one song every three or four minutes or so.  That's a reasonable use and not something, I think, that sites would spend much time objecting to or caring much about.  It is not designed (as near as I can tell - I didn't design it) to be a bulk downloading tool. There is some code written for rate limiting, but I don't know how it was meant to work or if it was actually implemented anywhere.

The plugin actually has some rate limiting functionality integrated as I hit that problem as well back in the day. I think I never actually documented that though. Might even be completely untested :D

For developing new providers or testing existing ones I can recommend using the included unit test suite and testing tool, helped me a lot during development and maintenance. I became fairly quick at hacking together new provider configs.

It's great to see this still alive and kicking! I'm still open to assisting with technical problems, if wanted.

Plugins / Re: LyricsReloaded
« on: May 22, 2018, 01:14:44 AM »
If the plugin is breaking concrete license terms, feel free to point them out. I'm not aware of any, as what the plugin is doing is pretty much what a browser is doing, I doubt it someone, browsing a lyrics page with a browser, is violating license terms.

Plugins / Re: LyricsReloaded (Updated)
« on: May 21, 2018, 08:25:48 PM »
If you need/want, I can assist you in properly forking the project or merging your changes back into my repository.

Feel free to contact me privately.

Plugins / Re: LyricsReloaded
« on: May 21, 2018, 08:22:44 PM »
Just to make this clear: Feel free to fork the project and modify it as you like, but do it properly. This includes compliance with the terms of the code's license, the GPLv3.

Plugins / Re: LyricsReloaded (Updated)
« on: May 21, 2018, 08:17:11 PM »
Plugin deleted.  All yours.  You can even have the thread.

In the future, you may wish to monitor the thread about your plug-in, so that when people ask things like "is this abandoned?" or "I'd like to update this but don't want to step on anyone's toes, what's the protocol?" there won't be misunderstandings.

This reaction was definetly not what I intended. I will not actively develop the plugin anymore, but if someone (you in this case) would submit changes to my repository I would happly merge them in and build a new release. You are also free to create a fork of the code base, but you have to do it in compliance with the code's license: GPLv3. The obvious violation was the missing source distribution. The full license text can be seen here together with Github's short summary:

Plugins / Re: LyricsReloaded (Updated)
« on: May 21, 2018, 07:53:33 PM »
I, as the original auther, request you to comply with the license terms of the GPLv3.

Generally I'm also open for Pull Requests, I will build new releases when changes come in.

MusicBee API / Re: Writing a plugin in Go
« on: October 08, 2017, 06:24:26 PM »
Btw I think it would help MusicBee's plugin eco system if it's plugin interface would be language independent, as a lot more people know JavaScript or Python compared to C#/VB, especially those that are not professional software developers (I guess that's true for most of the users).

Given I get to implement this interface, would there be any chance to get it integrated into MusicBee?

MusicBee API / Re: Writing a plugin in Go
« on: October 08, 2017, 06:19:47 PM »
Well it seems like this is more like a "Send commands from some program to MusicBee" kind of thing and not bidirectional as I would need it.
And it also seems like MusicBee is losing more plugin devs to Linux :D .

If I'll really implement something for MusicBee, I'd probably do some kind of rudimentary RPC protocol over WebSockets, but not sure if and when I have the time for that.

MusicBee API / Re: Writing a plugin in Go
« on: October 03, 2017, 06:43:15 PM »
I'm thinking about building a small IPC layer get language independent plugin support. Do you think that makes sense? How much interest is there in support for different language support in plugins?

MusicBee API / Writing a plugin in Go
« on: October 02, 2017, 06:13:29 PM »
As I have rewritten my LyricsReloaded plugin into a Go commandline application, I'm thinking about wrapping that into a MusicBee plugin.

I see 2 paths for this:
1. Writing a C# plugin that invokes the lyrics2go.exe passing on the arguments from MusicBee
2. Writing the plugin in Go and directly calling into Lyrics2Go's functions

The latter seems more appealing, but I'm not entirely sure how to implement this.
My best bet is currently using the C++ plugin interface and implementing it with Go.

Has anyone tried this?

Plugins / Re: LyricsReloaded
« on: October 02, 2017, 05:25:02 PM »
So I have rewritten the whole thing in Go as a standalone binary.
It can be downloaded here: (lyrics2go.exe is the program, is a zip with all the Yaml files from LyricsReloaded ported over to Lyrics2Go)

It has basically the same functionality compared to the plugin, but a few things are different:

- The configuration format changed slightly (mostly to ease parsing)
- Go uses a different regex engine (RE2) which has a few limitations, but nothing problematic
- Running the program will only use a single provider. In order to search with multiple providers you have to write a wrapper script currently (a bash script is provided in the sources)
- As of now there is no direct integration into MusicBee as I first have to figure out the proper way to do this.

Running the program is pretty simple on the command line:

Generally: lyrics2go.exe "path to provder yml" "variable name=variable value" ...
Example: lyrics2go.exe "artist=Name of Artist" "title=Name of the Song"

Going forward with new features and better support, I'll need more input from your side:
1. What are songs that you are still missing lyrics even though you know the page has them?
2. What other sites would you like to see supported that currently isn't?

For 1. it would be useful to have Artist, Album, Title and the Link to the lyrics on the site.

Plugins / Re: LyricsReloaded
« on: August 28, 2017, 10:35:31 PM »
So I'm thinking about picking this up again, rewriting it from scratch for Linux support.
So this would be a standalone binary (e.g. lyricsreloaded.exe) which would then be called by the MusicBee plugin.

Plugins / Re: LyricsReloaded
« on: February 08, 2016, 11:08:27 PM »
The problems are caused by the websites changing in structure. That's why I originally added a unit tests for all default providers, but I don't have the infrastructure to run them on a regular basis.
The patterns will have to be corrected.

Plugins / Re: LyricsReloaded
« on: January 31, 2016, 10:45:40 PM »
Seems like the website is injecting some additional code after the initial request and the lyrics extraction regex is not prepared for that.

Pages: 12 3 ... 8