devolving the removal of various crud to `HtmlLyricsProvider`;
log initial query and use new `StartsOrEndsMatch()` static to
match JSON replies, log each request, and break if full match;
`StartsOrEndsMatch()` ignores some common punctuation variations
& normalizes single quotes and allows match at beginning or end
HtmlLyricsProvider: fix `multiple` mode not to terminate on first
batch, and defer processing till have whole HTML (avoids issues
with tags spanning batches);
add param to take list of regular expressions to remove from HTML
prior to general processing (used only by `GeniusLyrics` for now)
README.md etc: update list of lyrics providers supported
Report music service, URL, and Spotify ID to ListenBrainz.
ListenBrainz accepts the music service in listen reports, in both a canonical domain format and a human-readable display name format. This commit makes Strawberry report both, for maximum flexibility. I've also set it up to report a shareable track URL for supported streaming services. I am already using this data in my homepage's "Now Playing" widget.
Fixes#1768
`UpdateButtonGeometry()`: specify "QPlainTextEdit" for `TextEdit`
padding (Comment and Lyrics) and invert left/right padding for
`LineEdit` if layout direction RTL
`set_reset_button()` in `UpdateModifiedField()` and catering for
non-text in `IsValueModified()` (-1 original being same as 0);
use new `ExtendedEditor::set_font()`;
connect reset for "rating".
Make "comment" `tabChangesFocus` to keep tab chain.
ExtendedEditor: New `set_font()` to get emboldened font to work and
make reset feedback work for `CheckBox` and `RatingBox` by
overriding `Resize()`.
RatingWidget: Allow tabbed focus and implement keyboard input.
There are some iPods which do not support ALAC, but they are quite rare. Anything 3rd gen
and newer, which most people are likely to be using, will work if upgraded to the latest
firmware (they probably are already on it...)