How do you deal with mixed libraries (MP3 + M4A + FLAC + etc) and differing standards?

Basically I've run into something when dealing with the following tags:

  • Release date
  • Disc number & total number of discs
  • Track number & total number of tracks

Per each standard these appear to be dealt with as such:

  • FLAC

    • Release date: YEAR (which mp3tag maps to DATE by default)
    • Disc number & total number of discs: DISCNUMBER and DISCTOTAL, respectively
    • Track number & total number of tracks: TRACK (which mp3tag maps to TRACKNUMBER by default) and TRACKTOTAL, respectively
  • MP3 (ID3v2.3)

    • Release date: Split into YEAR (TYER) and DATE (TDAT)
    • Disc number & total number of discs: Combined into DISCNUMBER
    • Track number & total number of tracks: Combined into TRACK
  • M4A (MP4)

    • Release date: YEAR
    • Disc number & total number of discs: DISCNUMBER and TOTALDISCS, respectively
    • Track number & total number of tracks: TRACK and TOTALTRACKS, respectively

It seems rather annoying to have to manually conform to each standard to ensure proper tags. For those who have libraries with different kinds of files, how do you attack this?

I think that MP3tag can handle all these different incarnations.
So it is not really true that you

MP3tag does that for you.
So, I assume, it is really down to the player to cope with the various tag types.
In general: the more data you save the better is the chance that the player will actually display some of it.
Missing data cannot be displayed.

i originally wrote out a long detailed answer but i think i can handle it more simply by asking you:

does your music library have mp3s, m4as, flacs? if yes, how do you handle tagging release date (including month & day), disc number (& total discs) and track number (& total tracks) in mp3tag? if not, how would you?

Yes, I have.
And MP4s
Any date longer than YEAR is put in RELEASETIME - and YEAR filled with just 4 digits
For tracks and discs I use the numbering assistant or the format 1/10.
MP3tag then adds the data as it should be

Maybe as a second input to your question: I'm using foobar2000 as my player, which is very customizable. Your range of freedom might vary if you want or need to use another player.

As an example, I'd configure the Tag Panel to use the following fields:

  • TRACK and TOTALTRACKS
  • DISCNUMBER and TOTALDISCS
  • YEAR

Since FLAC/VorbisComments prefer TRACKTOTAL and DISCTOTAL, I'd add corresponding mappings via "Options > Tags > Mapping" (next to the existing one for DATE and TRACKNUMBER)

Tag Source Target
VorbisComment TRACKTOTAL TOTALTRACKS
VorbisComment DISCTOTAL TOTALDISCS

Since ID3v2 usually has the totals in TRACK and DISCNUMBER, this configuration creates two custom text fields TOTALTRACKS and TOTALDISCS. I'd find this acceptable, especially because I could use the separate fields to create a combined one (if necessary).

Since you've mentioned ID3v2.3, but already noticed that Mp3tag is flexible w.r.t. the YYYY restriction of the TYER frame, I'd put the data here. MP4 and FLAC are also fine with that.

This is only an example, but would create a configuration you can use for the mentioned file types without distinction of the actual file type when filling the fields. All under the premise that you use a player that is flexible enough to display the data.