In working out this tagging scheme, I have discovered quite a few things (some of which I had rather not). Here are a few:
TrackArtist is a LMS-specific tag of slightly obscure origin. It is not the direct equivalent of the FLAC tag “Performer” and is certainly not the same as the MusicBrainz term "Track Artist", which is just the tag "Artist". It is more a sort of “shadow artist”; LMS may display track artists alongside Artist without being told to. However, I do use it to display performers in LMS and mostly it works well (see the Custom Clock display). The main problem is that LMS will not include sort keys for TrackArtist unless the artist is also named in another contributor role (Album Artist, Artist, Composer, Conductor, Band). It is possible to fix this by applying a simple patch to LMS – you need to add TRACKARTISTSORT at the end of the last line of the following section in the file Schema.pm:
2660 for my $tag (Slim::Schema::Contributor->contributorRoles, qw(
2661 COMMENT GENRE ARTISTSORT PIC APIC ALBUM ALBUMSORT DISCC
2662 COMPILATION REPLAYGAIN_ALBUM_PEAK REPLAYGAIN_ALBUM_GAIN
2663 MUSICBRAINZ_ARTIST_ID MUSICBRAINZ_ALBUMARTIST_ID MUSICBRAINZ_ALBUM_ID
2664 MUSICBRAINZ_ALBUM_TYPE MUSICBRAINZ_ALBUM_STATUS
2665 ALBUMARTISTSORT COMPOSERSORT CONDUCTORSORT BANDSORT
The file Schema.pm is in /usr/share/perl5/Slim in my Raspberry Pi. If you do make this patch then of course you will lose it if you update LMS and will need to re-apply it.
Writing the "Classical Extras" plugin was a voyage of discovery. Partly this was because my coding skills and Python knowledge leave a bit to be desired, but also the documentation of the Picard API is pretty scanty - so it was a question of looking at other plugins and examining the main code for hooks. Some of the technical issues are noted in the readme that accompanies the plugin.
Sundry tagging issues
Various tagging issues were discovered in the process of developing this tagging scheme.
- Ensemble is a dangerous tag to use as it maps to TPE2 in mp3 which in most systems maps to Album Artist, causing endless confusion. Use Band instead.
- Different tagging software has different behaviours. For example, MP3Tag does not show the same tags as "Edit ID-tag" in some cases. Sometimes they can show different Albums, Titles and Track Numbers. I have yet to track down the reason for this. The only solution I have found is to use both tools to fix the tags if problems are suspected.
- Picard only supports a limited number of m4a tags - see the Picard tag mappings for details. (Also see here for the Mp3Tag mappings)