Add new extraction methods to lyrics providers and drop some defunct ones - #160
Add new extraction methods to lyrics providers and drop some defunct ones#160berniyh wants to merge 11 commits into
Conversation
This allows to fetch from providers like genius that spread lyrics across multiple containers.
This was likely done to remove trailing whitespace, but in some cases it will actually drop the last character of the actual lyrics. The code runs trimmed(), which will remove trailing whitespace, so it shouldn't be required anyways.
4046e4b to
7f335a1
Compare
|
Thanks. I think this would close #126. However, there is a little bit of smell with the JSON parsing; I would much rather prefer the use of Qt's built-in JSON parsing library instead of naïvely using a |
What I didn't see back then is your comment in #93, where you stated that you're thinking about refactoring the lyrics system. I only found that 1-2 week ago. Had I known that, I might have done the implementation a bit different, maybe more like what #122 does. Instead, I went the "least amount of changes" way. I think with regard to the lyrics page, there is many things that could be improved. For one, I'd like to improve the search window, so that you can use it more like a proper search, where you lookup some terms and then can select from a list of results instead having to match the results exactly. Shouldn't be that hard to do, since most providers have included search functionality anyways (which are commonly used by search plugins, e.g. for Firefox). |
For quite some time, I noticed that a lot of the providers were broken. So I made an attempt to fix some of them. I also removed those for which the website was clearly defunct or down. Since all previous defaults were broken I set genius as default now, because I didn't know a better option.
Please note that I used Claude Opus 5 to implement these changes. I did try to check the changes as best as I can, but I don't know c++ too well, so feedback is appreciated.
Providers that I checked and fixed explicitely:
Ones that I checked and were working already:
Still broken. I didn't try to fix, but at least the service is still up:
No idea:
The other ones I didn't really try out, because they offered mostly regional stuff.
Edit: I noticed I still had an older email address configured. Fixed that and recommitted all with the proper one. Code is identical.