Bugzilla – Bug 452
multiple artists in vorbis comments
Last modified: 2008-09-15 14:39:24 UTC
from http://www.xiph.org/ogg/vorbis/doc/v-comment.html Field names are not required to be unique (occur once) within a comment header. As an example, assume a track was recorded by three well know artists; the following is permissible, and encouraged: ARTIST=Dizzy Gillespie ARTIST=Sonny Rollins ARTIST=Sonny Stitt ... slimserver should support this method of notating multiple artists in ogg vorbis and flac files much the same way Artist;Artist is supported for id3tags. (currently they're treated as key=value pairs, so the last entry is the only one recorded.)
The MP3::Info module returns multiple tags of the same type as a reference to an array, rather than as a string. We need to add support for this in ID3 as well, so I suggest that the CPAN flac library return this way as well.
Broadly speaking, the aforementioned behavior should apply to all tags, not just the ARTIST tag. Furthermore, there probably should be a configuration setting that covers this the same way that there currently is for the "Multiple Items In Tags" settings. Perhaps something like the following, shamelessly stolen from an e-mail by Christian Pernegger: "If multiple tags of the same type are present ..." - "... treat first occurence as primary" - "... treat last occurence as primary" - "... treat as equal" For the first two entries, only one entry in the ARTIST / ALBUM / whatever list would be generated, for the last one, there'd be one entry per occurence, all pointing to the same data. Song details would always list all entries.
ARTIST names were just an example, this should indeed apply to any tag. How this would affect certain other tags can be left as a question for another topic (some wouldn't map well to having multiple entries). If I'm understanding the vorbis docs correctly, we should be treating this the same as we treat multiple artists now (which would be either to file under each of them as we do when using seperators in other types of tags, or concatenate them with " and " if the user has chosen to have them displayed as a unique entity). If we wanted to expand that to include the other options mentioned above, that can certainly be tackled if someone is up for doing the work. But at the very least if we get multiple tags working according to the vorbis spec, we should be compatible with other systems using these files.
I'm looking through the source to determine if I might be able to put together a patch for this. However, it's unclear to me whether the patch should be against the CPAN directory in slimserver, or if it should be against the upstream sources and sent to the original developers for the FLAC and Ogg Header.pm modules. Any advice?
if you have to patch the CPAN modules in order to get the features working in slimserver, please do so. Slimserver already has a bit of customisations to CPAN stuff. Dan can forward the CPAN changes to get them merged officially.
Jason: do you have a patch ready for this?
No, Dean, I'm afraid I don't have a patch for this. I haven't had the time to dedicate to any open source projects as of late. If I do find the time to dedicate to this, I'll certainly do my best to put together a patch, but please don't hold off working on this with the assumption that I'll have a patch any time soon. :-(
I've checked in a fix for this as subversion change 4044 It currently works for: ARTIST, ALBUMARTIST, TRACKARTIST, COMPOSER, CONDUCTOR, BAND & GENRE Both FLAC & Ogg Please open additional bugs for any related features. Thanks.