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

Pages: 12
1
Screenshots / Re: Config/theme show off thread.
« on: September 23, 2015, 07:51:28 PM »
What font is that?
Helvetica CondensedLight, 10pt
And I'm using Mactype on Windows 10 (without Mactype the font may be a little blurry)
Ah yes, well I gave up when I realized all my Helvetica fonts were OTF and MusicBee apparently only likey the TTF, but MacType seems like an interesting thing I may have to look into at a later, less lazy date.

At least you inspired me to end my ridiculous dalliance with monospace OCR and go back to using an acceptable adult human font (Liberation Sans Narrow), so thanks!

2
Screenshots / Re: Config/theme show off thread.
« on: September 22, 2015, 04:56:43 AM »

3
MusicBee Wishlist / Re: "Replace file" feature
« on: September 21, 2015, 05:17:47 AM »
Wild thought here - I get why Steven wouldn't want to try to automatically replace a whole album, too much room for things to get borked.  But what if there was a "replace album" dialog that worked a little like the auto-tag by album screen, where you could see the list of matched tracks and adjust manually before replacing multiple files?  It could be limited to one source folder and one target folder to keep things from getting out of hand.

+1 this, especially speaking as someone who's about to blow up their drive with upgraded quality versions of, like, 1/3 of a 25K song library

4
Plugins / Re: LyricsReloaded
« on: September 20, 2015, 01:22:38 AM »
I tried adding the musixmatch and genius providers but they don't work. I did some digging and found this in the log file
Hmm, just from the log snippet you pasted, that all looks like it would be working ok, although it doesn't show the constructed URL for the separate Genius provider, though it may have been cut off below (+ logging seems to be a little inconsistent re: what actually gets printed for every lyric-search/transaction, especially the first search after startup).

Testing on the same song, it was able to find lyrics from both sources and, given the content/formatting, loaded them from Genius, so not sure what might be happening on your end. I tried enabling the built-in RapGenius provider (which I normally don't) to see if that was messing with anything, but haven't noticed any adverse effects. Besides just making sure you're on the latest version of this plugin/MusicBee, maybe rearrange your lyrics provider preference ordering in Tags (2) to put Genius + Musixmatch at #1/2  and disable the LyricsFetcher plugin if you have it.

Also try re-search/loading some lyrics via right-click "search next provider" "redo search", etc. Even if it finds lyrics from multiple sources, it will only show for one, but see if anything interesting is generated in the end of the log. *In the lyrics right click context menu, it will say 'Lyrics Source: MUSICBEE PLUGIN' when it's used a lyrics provider from this plugin.

5
Questions / Re: Forum registration temporarily disabled
« on: September 17, 2015, 05:23:46 AM »
Lol, what I don't understand is why the Customizations > Skins subforum seems to be the sole target of these very confused, but persistent bots.

Looks like 1 did find a different subforum - reported

6
Questions / Re: Forum registration temporarily disabled
« on: September 17, 2015, 03:24:31 AM »
Do I win a prize?


"Zoloft aromatic deletions sigmoidoscope" sounds like something a skeazy, possibly acid-tripping, Willy Wonka pharma rep would try and peddle.

- another popped up just now too; both reported

7
It's possible with the built-in Search & Replace feature using regex (just don't try it on too large a selection at once, or be prepared to kill a locked up MusicBee from taskmgr). This search criteria string should remove the "Rock" genre tag, while still keeping any other existing tags intact (keep 'Replace' field blank):

(?<!(\s|\w|-|\.|\\|/))Rock(?!(\s|\w|-|\.|\\|/))

Of course, test it on a small batch first and always review the preview of changes, but worked like a charm for me!

8
Plugins / Re: LyricsReloaded
« on: September 11, 2015, 09:21:36 PM »
* Edit: 2015.09.11 13:10 PST - updated both configs to handle curly apostrophes like straight ( -> ' )
Updated provider code(s) in my orig post because curly apostrophes are silly and trollish.

9
To clarify, I don't have an Xbox Music (or whatever MS is calling it now) subscription, nor do I plan on getting one, so this is all occurring with the Xbox Music plugin in "Preview Only" mode. When enabled, the built-in Last.fm scrobbler is scrobbling every single 30s preview clip played from the Music Explorer as a full track, which is rather silly, for obvious reasons. I think it would make sense to just prevent scrobbling of Xbox Music [preview] tracks when it's in "Preview Only" mode by default, or at least have an option to disable it.

In the course of trying to figure out what was happening and/or some hacky workaround, I amassed some possibly helpful, possibly totally irrelevant info:

  • 30 second tracks will actually reach the playtime scrobble +1 threshold at 12 seconds, or 40% of the total playtime, despite the indication that the threshold should be 50%:

    This applies to any 30s track, including those in my library. Didn't test much, but did verify w/ a couple longer (normal song length) tracks that the normal scrobble threshold is closer to 47%

  • Although the player controls show the track length as 0:30, the actual track length is still retained/displayed everywhere else:

    Though it appears that the scrobbler/Last.fm must still be using the 30s clip time to determine the minimum percentage of playback required for scrobbling.

  • Not that it should have, but attempting to force the last.fm plugin to use URLs in the exclude-tracks-in-the-following-folders option super didn't work:


  • Also total failure - adding fake Radio Sations using those same source URL/paths and unticking the "scrobble tracks to Last.fm" option  :\

Aaaaand that's it - thanks!

10
Questions / Re: Events that trigger a full rescan of all Library [tags]?
« on: September 10, 2015, 04:37:40 AM »
Any time you edit the "custom tags" section, it will do a full re-scan.
Ah, so it does! Thanks - that was exactly what I was looking for ;)

11
I haven't noticed the <Category> field being absent from any other field-selection thingies (e.g., virtual tag/renaming/whateva <field> pickers)
J/k, found another field dropdown list "missing" <Category>, although not in MusicBee, per se, but the Additional Tagging Tools plugin Advanced Search & Replace editor:
   
    (<Category.test> is my virtual tag that is just <Category>)

Dunno what the source of the <fields> "pool" used for that dropdown is, but I can x-post this info in the Add'l Tagging Tools plugin thread if more appropriate.

12
This may actually be more of a bug report than a wishlist thing, but it's low priority either way.

I juuuuust discovered what data is actually in the <Category> field (Music, Inbox, Audiobooks, etc) and was going to clean up a couple of my highlighting rules that use path > contains to designate my Inbox/Library files instead, but discovered that <Category> is not actually available from the Highlighting Criteria Editor field dropdown list:
   

I'm guessing this might be due to the highlighting and auto-playlist rules sharing the same "pool" of available fields, since <Category> is also reasonably omitted from the Auto-Playlist criteria list, given that 'music track source' is already designated separately:
   

I haven't noticed the <Category> field being absent from any other field-selection thingies (e.g., virtual tag/renaming/whateva <field> pickers) and was also able to successfully create and use a virtual tag consisting of just <Category> to exactly the intended effect - which is why I'm not sure if this is more a "fix" than "feature" request.

Again, not at all pressing, but let me know if you need any more details - thanks!

13
Questions / Events that trigger a full rescan of all Library [tags]?
« on: September 09, 2015, 06:35:41 PM »
Over the past couple days I've somehow managed to trigger several full library re-scans (tag/metadata only? - the whole scan takes <30 min, maybe way less) while fiddling w/ stuff in MusicBee and I'm not sure why; each time I haven't even realized one's started until it's several 1000 into the scan:


I don't believe it's occurred, thus far, as a result of adding any files to the Library/designated Inbox watch dir, but I'm regularly messing with all sorts of MB options, custom+virtual tag formulas, etc, so I'm sure it's something I've done/am doing to trigger the behavior, but process of elimination is hard when I keep missing the start of the scan :\  There's seriously all sorts of crap I've changed that could be related, but it's possibly noteworthy that I also very recently changed the 'save mp3 tags as' option from ID3v2.3 to ID3v2.4 under Preferences > Tags (1) > tag storage.

Just wondering if anyone knew of any particular events/actions that will always trigger a tag(?) re-scan or if I might be able to derive some info from a log file or what-have-you. Not a big deal, just curious about what I've done to cause this new behavior. Thanks!

14
Plugins / Re: LyricsReloaded
« on: September 02, 2015, 06:36:22 PM »
But for this:

Macklemore & Ryan Lewis feat. Ray Dalton - Can't Hold Us

I still can't grab it because it has feat. in it. Is there a way to make it ignore feat.?
Ah, yes, most of of my recent library has all artists cleaned up to have "feat" artists in the separate <Artists: Guest> tag, so I didn't bother much with that originally, but yeah it probably makes a difference if you have it all in the artist field or at the end of the song title. Genius, especially tends to not include any of that in the URL, whereas Musixmatch seems to be pretty good about redirecting and/or will even have 2 separate listings (1 with feat artist crap, 1 without), but that's more inconsistent.

I updated both in their respective code sections in my previous post so they'll now strip everything on/after f./ft./feat/./featuring.

15
Plugins / Re: LyricsReloaded
« on: September 02, 2015, 09:09:47 AM »
Here is how to add Genius.com as a provider with this plugin.

1. Save the following code as a text file named "genius.com.yml"

2. Place the file in <MusicBee's appdata folder>/mb_LyricsReloaded/providers/ folder (the folder already exists if the plugin is enabled)

3. Now you will see "Genius" entry from the lyrics providers list in Preferences> Tags(2)> lyrics setting.
Indeed, thank you, redwing, for posting that extremely helpful Genius.com provider template. I started using it awhile ago and eventually realized that it was having issues retrieving lyrics for some tracks/artists with various punctuation patterns, so I decided to take a look at the log and see what was up. And then I accidentally spent waaaaaaaay too much time discovering all the annoying variations in how lyrics sites format artist+title strings and flexing my puny regex muscles, with the aid of Pythex.org.

The result of my nerdocity is a modified Genius.com provider config + a config for Musixmatch.com. Neither are 100%, of course, but I tested it with a bunch of stupid character-containing bands and song titles and, while I'm quite sure that both configs could be significantly cleaned up by utilizing some of the built-in plugin filters and less terrible regex skillz, they seem to get the job done most of the time. They will, however, both still fail on song titles with parentheses, as the plugin strips everything on and after the 1st "(" before being scrubbed by the provider config (plus, feat. <artist> patterns are all over the place, so F that).



Anyway, here's my modified code for Genius (see redwing's original instructions for how to install)
Code: genius.com.yml
name: "Genius"

variables:
    artist:
        type: artist
        filters:
        - strip_diacritics
        - lowercase
        - [replace, "!!!", "chk-chik-chick"]    # !!! (Chk Chk Chk) artist exception
        - [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
                                                # ^ Strip F./ft/eat/uring + everything after
        - [regex, '\s&(?=\s)', " and"]          # Replace " &" with " and"
                                                    ## ^ Currently superfluous (for ARTIST) bc plugin preemptively replaces "&" with "and"
                                                        ### ^ But still necessary for <title> "&" replacement
        - [regex, '[’\.,'']+|(\W+(?=$))|(^\W+)', ""] # Strip "'/’" + "." + "," + beginning/end of string non-word chars
        - [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
                                                # ^ Replace medial non-alphanumeric char(s) with single "-" e.g., f**k > f-k
        - [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
                                                # ^ Clean up any remaining successive non-alphanumeric chars before strip_nonascii
                                                    ## ^ Long & stupid bc couldn't figure out YAML-friendly non-capturing "(?:...)"
                                                        ### ^ EZ version: [regex, '\W+(?:\W)(?<!$)', " "]
        - [strip_nonascii, -]
    title:
        type: title
        filters: artist

config:
    url: "http://genius.com/{artist}-{title}-lyrics"
    pattern: ['<div\s+class="lyrics"[^>]*?>(?<lyrics>.*?)</div>', s]

post-filters:
- strip_html
- clean_spaces
- utf8_encode



For Musixmatch, copy/paste below code to a text file named "musixmatch.com.yml", save to MusicBee's <appdata folder>/mb_LyricsReloaded/providers/, open Musicbee and add new Musixmatch provider from Preferences > Tags (2) > Auto-tagging > Lyrics [...]
Code: musixmatch.com.yml
name: "Musixmatch"

variables:
    artist:
        type: artist
        filters:
        - strip_diacritics
        - lowercase
        - [replace, "!!!", "artist-46206"]      # !!! (Chk Chk Chk) artist exception
        - [replace, "+/-", "p%m"]               # +/- artist janky exception (step 1)
        - [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
                                                # ^ Strip F./ft/eat/uring + everything after
        - [regex, '[’'']+', "%27"]              # URL encode "'/’" bc MM is cool w/ dat shit
        - [regex, '\s&\s(?=the)', " and "]      # ONLY if succeeded by "the", replace " & " with " and "
                                                    ## ^ Currently superfluous bc plugin preemptively replaces "&" with "and"
                                                        ### ^ So MM will choke if <artist> contains "& (?!the)"
        - [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
                                                # ^ Replace medial non-alphanumeric char(s) with single "-" (except "'") e.g., M.I.A. > M-I-A.
        - [regex, '\W+(?=$)', ""]               # Strip end-of-string non-word chars
        - [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
                                                # ^ Clean up any remaining successive non-alphanumeric char(s) before strip_nonascii
                                                    ## ^ Long & stupid bc couldn't figure out YAML-friendly non-capturing "(?:...)"
                                                        ### EZ version: [regex, '\W+(?:\W)(?<!$)', " "]
        - [strip_nonascii, -]
        - [replace, "-27", "%27"]               # Fix "'/’" URL encoding after strip_nonascii
        - [regex, '(?<=^)p-m', "-"]             # Janky replace for artist +/- after strip_nonascii (step 2)
    title:
        type: title
        filters:                                # Not using identical artist filters due to different treatment of "&" in titles vs artist names
                                                # Musixmatch strips "&" from <title> ALWAYS; from <artist> too, *unless* "& the", then replaced with "and"
                                                    ## ^ see "&" treatment note above, under 'artist'
        - strip_diacritics
        - lowercase
        - [regex, '(?<=\W|\s)+(feat.+|ft[\W\s]+|(f\.\s)).+', ""]
                                                # ^ Strip F./ft/eat/uring + everything after
        - [regex, '[’'']+', "%27"]              # URL encode "'/’" bc MM is cool w/ dat shit
        - [regex, '(?<=[a-z0-9%])[^\sa-z0-9%]+(?=[a-z0-9%]+)', "-"]
                                                # ^ Replace medial non-alphanumeric char(s) with single "-" (except "'") e.g., f**k > f-k
        - [regex, '\W+(?=$)', ""]               # Strip end-of-string non-word chars
        - [regex, '((?<=\s)([^a-z0-9\s-])+(\s|\W)+)|((?<=\w)([^a-z0-9-])+(\s|\W)+)', " "]
                                                # ^ Clean up any remaining successive non-alphanumeric char(s) before strip_nonascii
        - [strip_nonascii, -]
        - [replace, "-27", "%27"]               # Fix "'/’" URL encoding after strip_nonascii

config:
    url: "http://www.musixmatch.com/lyrics/{artist}/{title}"
    pattern: ['<span\s+id="lyrics-html"[^>]*?>(?<lyrics>.*?)</span>', s]

post-filters:
- utf8_encode

* I included my comments, just in case anyone wants to take stab at updating or modifying my very silly regex and wants to know what the hell I was thinking (delete at will - they have no effect on functionality).

So, yeah, with both Genius and Musixmatch as my #1 & #2 lyrics providers, I wanna say like 90% of my 25K songs now come with bonus words. Yay and thanks again redwing and, of course, quick_wango!


* Edit: 2015.09.02 10:30 PST - added featured artist stripping to both configs
* Edit: 2015.09.11 13:10 PST - updated both configs to handle curly apostrophes like straight ( -> ' )

Pages: 12