MinimServer Forum

Full Version: Extra sub-albums for multi-disc album
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello Simon,

I have a problem with a multi-disc album for which I get several album entries in the "<n> albums" list, one complete album and several sub-albums. I would like to get rid of the extra sub-albums.

Everything is stored below one parent folder consisting only of subfolders, one per disc, each containing all the audio files from that disc, one per track. The album is "Claudio Abbado - The Symphony Edition" and consists of 41 discs. There are several discs per composer (8 composers), but I did not group by composer in the file system.

I have set the following tags:
  • ALBUMARTIST to "Claudio Abbado" for all tracks of all discs,
  • ALBUM to "Claudio Abbado - The Symphony Edition" for all tracks of all discs,
  • CONDUCTOR to "Claudio Abbado" for all tracks of all discs,
  • COMPOSER to "Wolfgang Amadeus Mozart", "Joseph Haydn", etc. but consistent for all tracks of each disc,
  • ARTIST to the same value as COMPOSER,
  • ORCHESTRA to the name of the orchestra (7 different orchestras),
  • DISCNUMBER to a number between 1 and 41, consistently for all tracks of each disc,
  • WORK to the name of the work,
  • MOVEMENT to the name of the movement (for works with multiple movements only),
  • GROUP to the value of WORK followed by the disc number, but only if MOVEMENT is set. (So no group spans multiple discs, and all groups have only consecutive tracks.)
  • Some more tags which are not important here.

To exclude the effect of my configuration (or misconfiguration), I have removed minimserver.config and restarted MinimServer so that the default configuration is active.

When I understand the section Albums and folders in the user guide correctly, everything should be merged to a single album, because
  • the ALBUM tag is always the same (however I admit, the subfolder names don't have consistent names),
  • the ALBUMARTIST tag is always used and always the same,
  • I did not use any ['filter'] in the ALBUM tags or in the subfolder names.

Actually, I see the expected album "Claudio Abbado - The Symphony Edition", my control point shows an artist name of "Claudio Abbado" for it, and the album contents consists of all tracks of all discs, grouped by the WORK name. This is exactly what I want.

However, I see some unexpected additional albums under "<n> albums" which are just sub-albums of the complete album. This is related to the (default) tagFormat value of Artist.displayFormat={$artist$orchestra$conductor}.

For each combination of ARTIST (which is the same as COMPOSER in my case), ORCHESTRA, and CONDUCTOR (which is always the same in my case), I get an extra album. There are 11 extra albums shown under "<n> albums", all using the same album name ("Claudio Abbado - The Symphony Edition"), but differing in the value shown as artist by my control point, e.g. "Anton Bruckner, Lucerne Festival Orchestra, Claudio Abbado" for the (alphabetically) first extra album.

I wonder why the display value of ARTIST affects what is shown as album when I have set ALBUMARTIST everywhere to the same value (and the same for ALBUM). Could you please check whether this is a bug in MinimServer? But I am open for changes on the tag values or directory structure if that helps.

I made some further observations and experiments and hope that will help you to analyze the problem. I just describe what I have seen, I don't expect any particular behaviour (e.g. for grouping) in the extra albums (as I would prefer them to disappear at all).

First observation: Track renumbering takes place across disk 1 to 41 for the complete album, but (with one exception) not for the extra albums so that I see the '>> Disc <n>' choices there. The exception is the extra album for the Mozart recordings which happens to be on disc 1 to 3, so it is logical that track renumbering works there.

Second observation: There are two Mahler symphonies which span multiple discs and although I included the disc number in the GROUP tag (e.g. "Symphony No. 3 in D minor [33]" and "Symphony No. 3 in D minor [34]") I get the error "group spans multiple discs" in the log file. However, both groups appear and work correctly. From the results of the experiments below, the error seems to be caused by the WORK tag, not by the GROUP tag.

If you have enough information about the results of my tags for the MinimServer default configuration, please do not read on. There is nothing more following than experiments with changing the configuration or removing tags and observing the effects. To summarize, there seems to be some special handling of ALBUMARTIST/ARTIST/COMPOSER or GROUP/WORK tags (e.g. fall-backs when one tag is not set) which affects what extra sub-albums are shown but does not give a hint how to avoid this problem.

It would be very nice if you could look into this problem. And sorry about the long post.

Servatius

Now the boring details:

First experiment: I replaced the default tagFormat value with Artist.displayFormat={$albumartist}. In the complete album, this changes the artist shown for each group to be "Claudio Abbado" as expected, and all groups work well. But instead of the 11 extra (sub-)albums I get now just one extra album, for which my control point shows the list of composers (from the ARTIST flags) as artist value. The GROUP flags have been ignored, but there are groups named differently (by the WORK tag for some reason), but I got about a dozen errors "group contains tracks that aren't consecutive" for some tracks that could not be grouped by WORK. I guess these errors are only related to the unwanted extra album, as in the expected album all groups work fine using the values of my GROUP tags.

Second experiment: I used Artist.displayFormat={$notset} (with notset added to itemTags). Same result as in first experiment. Obviously, the value of ALBUMARTIST in the first experiment does not really matter for the extra album, and the wanted album falls back to an artist value from the ALBUMARTIST field shown at each group by the control point if Artist.displayValue does not supply a value.

Third experiment: Same as first or second experiment, but all ARTIST tags deleted (via a tagUpdate file). Same results as above.

Fourth experiment: Same as first or second experiment, but all COMPOSER tags deleted (via a tagUpdate file). Same results as above except that the artist shown by the control point for the unwanted album is now empty.

Fifth experiment: Back to the default setting of Artist.displayFormat={$artist$orchestra$conductor} in tagFormat, but all ARTIST tags deleted (via a tagUpdate file). The complete album is OK, but instead of the 11 extra sub-albums there are now 7 (as much as different orchestras). For each album the control point shows the collected values from the COMPOSER tag as artist (not the value from Artist.displayFormat).

Sixth experiment: Back to the default setting of Artist.displayFormat={$artist$orchestra$conductor} in tagFormat, but all COMPOSER tags deleted (via a tagUpdate file). This is like the original situation with one complete album and 11 extra sub-albums.

Seventh experiment: Back to the default setting of Artist.displayFormat={$artist$orchestra$conductor} in tagFormat, but all COMPOSER and all ARTIST tags deleted (via a tagUpdate file). The complete album is OK, but instead of the 11 extra sub-albums there are now 7 (as much as different orchestras). For each of the extra albums, the control point shows an empty artist (not the value from Artist.displayFormat).

Eighth experiment: Back to the default setting of Artist.displayFormat={$artist$orchestra$conductor} in tagFormat, but all COMPOSER, all ARTIST, and all ORCHESTRA tags deleted (via a tagUpdate file). Now I got just one album, no groups are working (lots of errors "group contains tracks that aren't consecutive" in the log file), and all tracks in the album appear twice (which is the reason why the groups are not working).

Ninth experiment: Like eighth one, but CONDUCTOR tag also deleted. I see two albums now in the control point, one with an artist value of "Claudio Abbado" (from the ALBUMARTIST tag), and one with an empty artist value. The first one shows groups from the GROUP tag but I cannot navigate into them via the Naim app. Only the works without movement (which do not belong to one of my groups) can be played. The second album shows groups from the WORK tag, and I can navigate into them via the Naim app. BubbleUPnP (Android) can navigate into groups from both albums.

Tenth experiment: Like eighth one, but also COUNDUCTOR and ALBUMARTIST tags deleted. The same result as in the eighth experiment.
I made some more experiments which may help better to understand the reason of the problem.

When I move the top folder of the 41-disc album into a new library directory containing nothing else and configure this library directory as the only contentDir in the MinimServer configuration, the problem is gone. I only get the complete album and no extra album.

When I move a second multi-disc album into the new contentDir, the problem comes back when it uses similar ARTIST/COMPOSER tags. In my test, the second multi-disc album consists of 10 discs, again each disc in a separate subfolder, and uses the following tags:
  • ALBUMARTIST not set on any of the tracks for any disc,
  • ARTIST set to "Anton Bruckner" for all tracks of all discs
  • ALBUM set to "Symphonies Nos. 1-9" for all tracks of all discs
  • CONDUCTOR set to "Günter Wand" for all tracks of all discs
  • COMPOSER set to the same value as ARTIST

This second multi-disc album is shown correctly and only once. The control point shows an album value of "Symphonies Nos. 1-9" and an artist value of "Anton Bruckner, Kölner Rundfunk-Sinfonie-Orchester, Günter Wand" (as I did not specify ALBUMARTIST, I get the ARTIST value). However, the existence of this multi-disc album causes the extra albums for the first multi-disc albums to reappear - but just two of them related to ARTIST/COMPOSER "Anton Bruckner". This is what I get:
  • An extra album "Claudio Abbado - The Symphony Edition" with an artist value of "Anton Bruckner, Lucerne Festival Orchestra, Claudio Abbado" (which is the Artist.displayFormat value). This extra album contains only disc 26 because this is the only one with ARTIST/COMPOSER "Anton Bruckner" and ORCHESTER "Lucerne Festival Orchestra". This album appears because the same ARTIST/COMPOSER is used in the other multi-disc album.
  • An extra album "Claudio Abbado - The Symphony Edition" with an artist value of "Anton Bruckner, Wiener Philharmoniker, Claudio Abbado" (which is the Artist.displayFormat value). This extra album contains discs 27 - 30 because these are the discs with the combination of ARTIST/COMPOSER "Anton Bruckner" and ORCHESTER "Wiener Philharmoniker". This album appears because the same ARTIST/COMPOSER is used in the other multi-disc album.
  • The complete album "Claudio Abbado - The Symphony Edition" with an artist value of "Claudio Abbado" (which is the ALBUMARTIST value). This album exists independently on the existence of the other multi-disc album.

The problem is not related to having ALBUMARTIST set for the 41-disc album and having it unset for the 10-disc album. I added it on the latter via a tagUpdate file which did not change anything.

So it seems that album merging for one multi-disc album may be affected by a different multi-disc album that uses partly the same values for tags specified in Artist.displayFormat. In addition to the correct and complete first multi-disc album, extra albums with combinations of tag values from the other multi-disc album appear.

I did not test whether the first multi-disc value may be disturbed just by a single-disc album with a value for ARTIST/COMPOSER also partly used in the multi-disc album.
Which control point are you using?

The first thing to check is whether MinimServer is finding an extra copy of the album files when it is scanning your library. This can happen if your content directory settings are pulling in something like a backup folder or recycle bin that contains a previous version of the album files. To check this, change your content directory to point at the top-level folder for the correct version of the album files and then perform a MinimServer rescan (not restart). Do you see any duplication in <n> albums and/or <n> items?
(23-05-2016 09:14)simoncn Wrote: [ -> ]The first thing to check is whether MinimServer is finding an extra copy of the album files when it is scanning your library. This can happen if your content directory settings are pulling in something like a backup folder or recycle bin that contains a previous version of the album files. To check this, change your content directory to point at the top-level folder for the correct version of the album files and then perform a MinimServer rescan (not restart). Do you see any duplication in <n> albums and/or <n> items?

Thank you very much for looking into this. I now understand the reason of the problem. All my audio files are multi-track FLAC files with embedded album art and an embedded cue sheet containing all tracks of one CD. So I have just one file per CD, which is very practical when copying a CD onto a smart phone. I do this also because of the 256-character path name limitation of Windows (because album title plus track title is often too long).

I manage and tag these multi-track files on my PC and use the convert feature of foobar2000 to copy them into the MinimServer content directory on an external hard disc, which I then connect to a Raspberry Pi where I run MinimServer. I use the following pattern in foobar 2000 to split the multi-track files into single-track files for use by MinimServer:

Code:
%album artist%/%filename%/[%discnumber%.]%tracknumber%

%filename% here is the name of the multi-track FLAC file (without extension) and is being used as the subfolder name for the single-track files in the MinimServer content directory.

The following happens for the 10-disc album with the Bruckner Symphonies conducted by Günter Wand: As I did not set ALBUMARTIST but set ARTIST to "Anton Bruckner", %album artist% evaluated to "Anton Bruckner", so all subfolders were placed in a folder "Anton Bruckner".

The following happens for the 41-disc album with the symphonies conducted by Claudio Abbado: Because I set ALBUMARTIST to "Claudio Abbado" and ARTIST to the name of the composer, %album artist% evaluated to two values, "Claudio Abbado" and the composer name. So the 5 CDs with the Bruckner symphonies from that album were copied to the folder "Claudio Abbado" and to the folder "Anton Bruckner". I was not aware that %album artist% includes ARTIST when ALBUMARTIST is set and that I got the converted file twice.

This explains that the problem went away with the folder "Claudio Abbado" as only folder in the MinimServer content directory but reappeared when I added the folder "Anton Bruckner".

To solve the problem I have to use a convert pattern that does not depend on any tag value (except for the disc and track number in the single-track audio file names). I'll use the following pattern in future:

Code:
$replace($directory_path(%path%),D:\Path\To\Multi-Track\Flac\Base\Directory\,)/%filename%/[%discnumber%.]%tracknumber%

I do apologize for wasting your time. I'm very sorry.

Servatius
No problem and I'm glad it's working correctly now.
Reference URL's