HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: marc2k3 on 2023-01-15 16:31:51

Title: MusicBrainz64
Post by: marc2k3 on 2023-01-15 16:31:51
Rather than continuing to hijack the original foo_musicbrainz thread, I'm starting my own. As the name implies, this is 64bit only for fb2k v2.

Details and download here: https://marc2k3.github.io/component/musicbrainz64/

New version released just now adds support for writing COMPOSER and PERFORMER tags. There are limitations. If that big old wall of text is too much, just check the Changes section.

edit: what gets written will depend on what is available under the Release credits section of a given release.

example: https://i.imgur.com/FhbH3MT.png
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-01-16 04:29:59
1.2.2

`CATALOGNUMBER` and `LABEL` can now be multi-value. Previously, only the first value was written.

https://marc2k3.github.io/component/musicbrainz64/
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-01-16 07:54:28
1.2.3

`COMPOSER` and `PERFORMER` from the `recording` level are now supported. The original implementation only supported `release` level. If both are encountered, they should be combined but that has not been tested.

https://marc2k3.github.io/component/musicbrainz64/

The edit in the first post is now obsolete.  :P
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-01-16 17:03:28
1.2.4

- Fixes a bug introduced in `1.2.3` where a `PERFORMER` credited with the same `instrument` at `recording` and `release` level would see that `instrument` duplicated.

https://marc2k3.github.io/component/musicbrainz64/

That lack of testing I mentioned in the previous post came back and bit me.  :-X
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-01-18 17:13:50
1.2.5

- Fixes a bug where the `Disc Subtitle` column was recently enabled for single disc releases but the value was not written unless it was a multi-disc release.

https://marc2k3.github.io/component/musicbrainz64/
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-01-18 17:49:41
I'm bad at this.  :o

1.2.6
- Use `;` as multi-value separator when editing `LABEL`, `CATALOGNUMBER` and `Secondary Types` in the tagger dialog.

https://marc2k3.github.io/component/musicbrainz64/
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-04-01 06:55:52
1.2.7

https://github.com/marc2k3/foo_musicbrainz64/releases

No changes in functionality from previous release but some code has been modernised and it's now open source.

edit: in the unlikely event anyone does want to compile their own, it's easiest to install dependencies via vcpkg

Code: [Select]
vcpkg install fmt nlohmann-json wtl --triplet x64-windows

It also requires VS 2022 17.5+ because it uses features not available in earlier versions.
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-04-03 15:38:06
1.2.8

https://github.com/marc2k3/foo_musicbrainz64/releases

Fix displaying/editing the disc subtitle for single disc releases.

I mistakenly claimed this was fixed in an earlier version but got it wrong. :/
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-04-04 02:45:26
1.2.9

https://github.com/marc2k3/foo_musicbrainz64/releases

I can only apologise for these bugs. I'm an early contender for incompetent buffoon of the year award.  :'(

- Fix bug where ascii punctuation replacements were not applied if enabled in the Preferences.
- v1.1.2 added support for writing ARTISTSORT and ALBUMARTISTSORT and it was clearly stated that foobar2000 would transform these to ARTISTSORTORDER and ALBUMARTISTSORTORDER when tagging mp3/m4a. Unfortunately I did not notice that this would not clear any existing ARTISTSORTORDER and ALBUMARTISTSORTORDER values so if you tagged the same tracks more than once, values would be appended instead of overwriting. This is now fixed.
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-04-04 05:15:20
Just to follow on from my ascii puntuation balls up, I've made a component that can fix any selection of files offline from the  context menu, There is a Convert Unicode punctuation to ASCII option under the Tagging menu.

It will report the count of files that need fixing, send them to a new playlist and then prompt you to fix them. Just hit Cancel if you'd rather inspect the tags manually.

The bundle contains 32bit and 64bit dlls for fb2k 2.0.

https://marc2k3.github.io/files/foo_punctuation_fix-1.0.0.fb2k-component

edit: because this iterates every tag in every selected track and performs several string replacements on every one. you should consider limiting selection sizes.
Title: Re: MusicBrainz64
Post by: marc2k3 on 2023-04-04 06:51:40
The above link is now dead. It has moved here: https://github.com/marc2k3/foo_punctuation_fix/releases
Title: Re: MusicBrainz64
Post by: grimes on 2023-05-08 14:28:34
MusicBrainz64 (foo_musicbrainz64) 1.2.9
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-02-15 07:21:03
Documentation has been restored here: https://jscript-panel.github.io/other/
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-03-22 01:27:45
In a somewhat strange turn of events I've decided to make this 32bit compatible. The name remains the same just to confuse people. :P

No new features since the last 64bit release but it still has more to offer than the original component like having support for multi-value artists, performers/instruments, composer, artist sort etc.

https://github.com/marc2k3/marc2k3/releases

Full docs: https://jscript-panel.github.io/other/musicbrainz64/

For existing 64bit users, all preferences have been reset. It's had a large internal rewrite at the same time.
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-03-23 23:11:56
Being the utter chump I am, I didn't realise the above release was crashing on every shutdown. No crash report dialog but you may well have a profile folder full of dumps which you should delete so you won't get confused in future. Sorry for the inconvenience.

2.2 fixes it...

https://github.com/marc2k3/marc2k3/releases
Title: Re: MusicBrainz64
Post by: paregistrase on 2024-03-24 17:41:09
Any possibility to add other credits tags as lyricist, writer, vocals, etc?
And about the composer, I don't use the component too much still, but I found that in releases like https://musicbrainz.org/release/3ab9c050-a9a9-4cf7-a10c-5e801bc455ce the song 10   Going to School have composer:  Buddy Guy but is not written in tag (I have Write COMPOSER marked in preferences)
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-03-24 20:45:57
Vocalists should already be written as performers.

That composer seems to come from a related work which this component has never considered before. I'll look in to it.
Title: Re: MusicBrainz64
Post by: paregistrase on 2024-03-24 22:28:45
Vocalists should already be written as performers.
at least in the release I posted, it is not present
Code: [Select]
1    I Got My Eyes on You
recorded in:    Chicago, Illinois, United States (on 1960-03-02)
baritone saxophone:    Donald Hankins (Saxophonist) (on 1960-03-02)
bass:    Jack Myers (US blues bassist) (on 1960-03-02)
drums (drum set):    Fred Below (on 1960-03-02)
guitar:    Buddy Guy (on 1960-03-02)
piano:    Little Brother Montgomery (on 1960-03-02)
tenor saxophone:    Jarrett Gibson (Blues tenor saxophonist) (on 1960-03-02) and Bob Neely (on 1960-03-02)
vocals:    Buddy Guy (on 1960-03-02)
phonographic copyright (℗) by:    MCA Records, Inc. (do not use as a release label! a division of UMG Recordings, Inc.) (in 1960)
recording of:    I've Got My Eyes On You (on 1960-03-02)
    writer:        B. Guy and W. Dixon
    publisher:        Arc Music (U.S. rock & blues publisher), Arc Music Corporation (U.S. rock & blues publisher), Hoochie Coochie Music and Tristan Music Ltd.
And the tag performer have
Code: [Select]
Performer : Bob Neely (tenor saxophone); Buddy Guy (guitar); Donald Hankins (baritone saxophone); Fred Below (drums (drum set)); Jack Myers (bass); Jarrett Gibson (tenor saxophone); Little Brother Montgomery (piano)

That composer seems to come from a related work which this component has never considered before. I'll look in to it.

I hoped it will be possible, there is a lot of data in some releases that will be interesting to have available in tags
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-03-24 23:14:25
Well I did have *some* handling for vocals. The current version displays this from another release...

(https://i.imgur.com/DVhWHCJ.png)

I'll have to inspect the JSON of your release more carefully.

Title: Re: MusicBrainz64
Post by: paregistrase on 2024-03-25 00:32:09
Well I did have *some* handling for vocals. The current version displays this from another release...

(https://i.imgur.com/DVhWHCJ.png)

I'll have to inspect the JSON of your release more carefully.

I tagged a few more released and I also have the lead vocals in performer tag.

Edit:

In the same releases series, I found one that have lead vocals and vocals

https://musicbrainz.org/release/bb9be24e-a4d7-4185-b8df-2ca2b9496fbe

Elmore James has both vocals and lead vocals credits but only the song with lead vocals (11) have the performer tag.

The vocals in tracks 5, 8, 14, 15 and 17 are not written

X
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-03-25 07:33:09
2.3

Changes: https://jscript-panel.github.io/other/musicbrainz64/#23
Download: https://github.com/marc2k3/marc2k3/releases

Example:

(https://i.imgur.com/xdxkU9R.png)

edit: here's a reminder from the docs in case no one reads it...

Quote
When performing a Get tags by TOC lookup, LYRICIST, WRITER, PERFORMER and COMPOSER are not available.
Title: Re: MusicBrainz64
Post by: paregistrase on 2024-03-25 17:28:27
The blues legend has been redeemed. :)

Thank you
Title: Re: MusicBrainz64
Post by: KthugS on 2024-04-01 23:40:50
X
"The whole purpose of this is to unify tag display/search across foobar2000 regardless of file format."

This has been my wish for a long time.
And in the meantime, I directly modified the tag to do so.
However, when I tried to edit something with mp3tag, the FLAC file was fine, but
In the case of mp3 files, some fields such as MBID field and ORIGYEAR were changed unintentionally.
The 'User-defined field mappings' option didn't help me either.
So, after using mp3tag, I had to edit the tag once more with foobar2000.
It was a real hassle, but this is what I ultimately wanted.
So I really agree with "The whole purpose of this is to unify tag display/search across foobar2000 regardless of file format."

I have one question
Does MusicBrainz64 intentionally omit the 'ALBUM ARTIST' field?
While testing after deleting some or all tags, I found that the 'ALBUM ARTIST' field was missing.
I thought it was a conflict with the existing MusicBrainz Tagger, so I deleted MusicBrainz Tagger and foo_musicbrainz.dll.cfg, but 'ALBUM ARTIST' is still missing.


Your Components are always useful thank you
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-04-02 00:41:17
album artist is only written when it needs to be. When you have an album where the artist is identical for every single track, it's not written because it's pointless.

https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Encouraged_Tag_Standards#ALBUM_ARTIST

Everyone one should be using %album artist% title formatting in library viewer grouping/playlist headers etc where the artist will be used if album artist is not present. That is documented here...

https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference#.25album_artist.25

And while most players don't have anything quite like title formatting, they usually follow the general rule. Even steaming piles of poop like itunes and WMP do (or did - I've not tested for years :P)
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-04-02 01:22:30
2.4 fixes a dialog bug where the track artist couldn't always be previewed/edited for various artist releases.

https://github.com/marc2k3/marc2k3/releases
Title: Re: MusicBrainz64
Post by: KthugS on 2024-04-02 02:32:22
It's interesting. Since the first time I ripped a music CD a long time ago, the album artist tag field has always been filled in, so I thought it was natural.
Really interesting, I was missing something very basic  :))
I will update to 2.4
Thank you very much
Title: Re: MusicBrainz64
Post by: anamorphic on 2024-04-29 18:30:53
Now that this is 32-bit I get to use it, so cheers for that.

I had 'Write standard tags' unchecked and 'Always write ORIGINAL RELEASE DATE' unchecked, but it was still written because I guess it differed from the DATE as mentioned in the change log, even though DATE (standard tags) is not written. That seems not right. Both were greyed out in the preview.

Performer (Instrument) tagging is neat. Now to decide what to do with it ... ;D
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-04-29 20:14:47
Yeah, I guess that is a bug. I'll post again when I've fixed it.
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-04-29 21:32:31
Fixed version here: https://github.com/marc2k3/marc2k3/releases

Docs/changes here: https://marc2k3.github.io/components/musicbrainz64/
Title: Re: MusicBrainz64
Post by: marc2k3 on 2024-04-29 21:40:46
Performer (Instrument) tagging is neat. Now to decide what to do with it ... ;D

If you ever want to display them in layout, the Properties + Other Info script with JScript Panel3 does a better job than other components by displaying multi-value tags on their own lines.

Title: Re: MusicBrainz64
Post by: anamorphic on 2024-04-30 02:44:26
Thanks!

Fixed version here: https://github.com/marc2k3/marc2k3/releases
^ BTW the two docs links on that release page are going to nowhere.