I mentioned some time earlier that I wanted to use Musicbrainz IDs to disambiguate between same-named artists. In the end it proves impossible without breaking multi-value artist/album artist tags. I'm not really sure how $nodisplay{} treats multi-value tags. At first I thought that the issue lies in %<some artist tag>% evaluating separately for all meta values, but $nodisplay{} displaying as one. Turns out it's much weirder than the above (or at least I'm too dumb to comprehend what's happening here).
Here are two examples that involve standard multi-value artist tags grabbed from Musicbrainz (one unsorted, %albumartists%, another sorted, %albumartistsortorder%) and solo releases for "
Artist_A" and "
Artist_B", and also collab releases by "
Artist_A;
Artist_B" and "
Artist_B;
Artist_C". I triple checked in Picard for $setmulti, in foobar's advanced option for multi-value fields and lastly in mp3tag if the tags are saved as multi - everything's fine.
But when I use the view...
test_disamb // %<albumartistsortorder>%$nodisplay{%musicbrainz_albumartistid%}|%album%
...it gives me releases under two branches here:
-
Lag, DJ [1]
--
Lag, DJ {
1b6bf4fa-f2af-42c7-8399-53cc2bd468ec} | Uhuru
-
Lag, DJ [2]
--
Lag, DJ;
Okzharp {
1b6bf4fa-f2af-42c7-8399-53cc2bd468ec;
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f} | Steam Rooms EP
...and everything under one branch here:
-
Okzharp--
Okzharp {
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f} | Dumela 113 EP
--
Okzharp;
Ribane, Manthe {
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f;
e63e5202-1f69-413f-9d3c-d4c5bcca76e8} | Closer Apart
--
Lag, DJ;
Okzharp {
1b6bf4fa-f2af-42c7-8399-53cc2bd468ec;
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f} | Steam Rooms EP
A different view that's structurally the same, reverses the situation...
test_disamb2 // %<albumartists>%$nodisplay{%musicbrainz_albumartistid%}|%album%
-
DJ Lag [all under one branch]
--
DJ Lag;
Okzharp {
1b6bf4fa-f2af-42c7-8399-53cc2bd468ec;
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f} | Steam Rooms EP
--
DJ Lag {
1b6bf4fa-f2af-42c7-8399-53cc2bd468ec} | Uhuru
-
Okzharp [1]
--
Okzharp;
Manthe Ribane {
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f;
e63e5202-1f69-413f-9d3c-d4c5bcca76e8} | Closer Apart
--
DJ Lag;
Okzharp {
1b6bf4fa-f2af-42c7-8399-53cc2bd468ec; c
e7e84dc-d82f-43e5-b9ab-2abba1774d0f} | Steam Rooms EP
-
Okzharp [2]
--
Okzharp {
ce7e84dc-d82f-43e5-b9ab-2abba1774d0f} | Dumela 113 EP