Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Official moOde 7.0.1 support thread
#79
(12-24-2020, 05:39 PM)Tim Curtis Wrote: The code now handles multiple occurrences of Genre, Artist, Performer and Conductor tags and considers Artist, Performer and Conductor as all being "artists" which they are. This approach supports Classical collections which are often tagged with multiples, and it still supports Pop collections which normally only have a single Genre, Artist, AlbumArtist tag.

When there are multiple "artists" present it's not possible to determine which one is the AlbumArtist if no AlbumArtist tag exists.

In your test album The same value is assigned to Performer and Artist tags and thus we have multiple "artists", and there is no AlbumArtist tag. This is what results in "Unknown AlbumArtist".

I don't quite understand why the tagging utility creates both a Performer and an Artist tag with the same value. Is this a common practice?

-Tim

Hi Tim,

Took a while to get back to you having to find time after Christmas and work duties to look into this a bit further.
These albums will likely have been at some point EAC rips with cue sheets and I decided some years ago to split them all into tracks and ditch the cue sheets, the metadata in those cue sheets probably came from CDDB and the tools/scripts I used to split and tag the files en masse would have populated whatever was in the cue files, including the performer tags.
I've sorted the problem at my end, using metaflac I identified all the tracks with matching artist and performer tags (21195 of them!) and removed the performer tags without altering the file modification dates, turns out they were the only files I had that had performer tags so all is well.


Still I will put it out there that I don't think that's really the right way to handle album artists, I can see what you mean by looking in playerlib.php that the code is creating an array of artists tags if there are multiple artists under the same album and if the array contains more than one value then set album artist to Unknown AlbumArtist if there's no Album Artist tag and that's fine.
But as it's now adding the values of the performer and composer tags to the artist array, if a composer or performer tag exists at all (even if they're the same as artist) the artist tag is no longer used as the album artist in the absence of an album artist tag and I think that's having an effect that was not intended.


Code:
    455                 for ($i = 0; $i < $linecount; $i++) {
    456                         list($element, $value) = explode(': ', $lines[$i], 2);
    457
    458                         if ($element == 'OK') {
    459                                 // NOTE: Skip any ACK's
    460                         }
    461                         else if ($element == 'file') {
    462                                 $item = count($flat);
    463                                 $flat[$item][$element] = $value;
    464                         }
    465                         // @Atair: Gather possible multiple Genre, Artist, Performer and Conductor values as array
    466                         elseif ($element == 'Genre') {
    467                                 if ($flat[$item]['Genre']) {
    468                                         array_push($flat[$item]['Genre'], $value);
    469                                 }
    470                                 else {
    471                                         $flat[$item]['Genre'] = array($value);
    472                                 }
    473                         }
    474                         elseif ($element == 'Artist') {
    475                                 if ($flat[$item]['Artist']) {
    476                                         array_push($flat[$item]['Artist'], $value);
    477                                 }
    478                                 else {
    479                                         $flat[$item]['Artist'] = array($value);
    480                                 }
    481                         }
    482                         // @Atair: add performers to artists
    483                         elseif ($element == 'Performer') {
    484                                 if ($flat[$item]['Artist']) {
    485                                         array_push($flat[$item]['Artist'], $value);
    486                                 }
    487                                 else {
    488                                         $flat[$item]['Artist'] = array($value);
    489                                 }
    490                         }
    491                         // @Atair: add conductor to artists
    492                         elseif ($element == 'Conductor') {
    493                                 if ($flat[$item]['Artist']) {
    494                                         array_push($flat[$item]['Artist'], $value);
    495                                 }
    496                                 else {
    497                                         $flat[$item]['Artist'] = array($value);
    498                                 }
    499                         }
    500                         else {
    501                                 $flat[$item][$element] = $value;
    502                         }
    503                 }

The performer tag is a valid tag as is conductor, and in the context of classical music or audio books these are more likely to exist and be different to the artist tag and the same is likely to occur. Shouldn't have to add an Album Artist tag if the Artist string is the same on all tracks regardless of any other tags. In the case of audio books it's less likely to be an album at all, often a book or other spoken word audio file is a single file so overriding artist for Unknown AlbumArtist if performer exists doesn't make sense.
Whilst Album Artist is useful and required if an album contains tracks from multiple artists it isn't mentioned as one of the minimal proposed tags in the Vorbis specs, yet artist and perfomer is and the different contexts described.
https://www.xiph.org/vorbis/doc/Vorbis_I...860005.2.2

Anyway thought I'd put it out there in case this bites anyone else.
By removing the performer tags in my collection and regenerating the database I no longer have 1600+ albums showing up as artist unknown and they're again listed against their artist tags.
Reply


Messages In This Thread
RE: Official moOde 7.0.1 support thread - by vinnn - 12-30-2020, 11:59 AM
RE: Official moOde 7.0.1 support thread - by efung - 02-04-2021, 12:06 AM
RE: Upcoming moOde 7.1.0 release - by JonPike - 02-06-2021, 10:05 PM

Forum Jump: