The problem is that right now, Plex/ffmpeg only supports multiple values if they are separated with a semi-colon. The old agent accepted several other separators. I can be corrected, but ffmpeg actually reads tags separated with slashes, and semi-colons as one tag. That is, ,a tag like Pop/Rock or Pop; Rock is not actually two tags, but just one, being “Pop/Rock” or “Pop; Rock” I’m assuming some code inserted by Plex, splits the genres at the separators it recognizes. Forward slashes and null-char are not part of that group.
I don’t expect a quick fix for this, if ever. It’s not likely to be considered a high priority.
No it’s slightly different. Plex only splits the tags it gets back from ffmpeg on semicolons now:
with FLAC/Vorbis tags, multiple values are stored as multiple fields of the same name (GENRE = “Pop”, GENRE = “Rock”). ffmpeg reads both values correctly, and returns them to Plex as a semicolon-separated string: “Pop;Rock”. Plex then splits this string. (no bugs, works as intended)
with id3v2.4, multiple values are null-separated (TCON = “Pop[null]Rock”). ffmpeg stops reading when it hits a null character, so it returns “Pop” to Plex (=another bug in ffmpeg to be fixed)
with id3v2.3 or id3v2.4, if you store genres as a single string with semicolon separators (TCON = “Pop;Rock”) you’re violating the standard, but this does make ffmpeg return “Pop;Rock”, and Plex happily separates that.
the forward slash is not a valid separator for Genre in any standard (id3v2.3, id3v2.4, mp4 or Vorbis comments), so neither ffmpeg nor Plex splits “Pop/Rock” if it encounters it.
You can check all this by doing ffmpeg -i file.mp3
I can think of a couple of approaches to fix ffmpeg stopping when it hits a null character:
before it parses the frame, do a find/replace of null with semicolon
when it parses the frame, when it hits a null character, replace it with semicolon and continue
split the frame on null characters into an array, and then after reading the whole frame, return the array as a semicolon-separated string
While I appreciate the explanation, this tiny bit used to at least be true for Plex. I can’t find any official Plex docs for this, but I have always done it that way and it has always worked, right up until this update.
Agreed, as long as your using ID3v2.3 tags. I’d been using ID3v2.4 and needed to switch to get plex to play nicely. Really wish they would put that into their support docs.
Will give the build a test later this afternoon. One point of clarification, is the fix just for multiple genre tags or is it all tags ? Ultimately, releasestatus is the tag I’m more interested in as I’d like to move my tags to ID3v2.4 which I can’t ATM due to this limitation.
Composer, Songwriter, lyricist, writer (MusicBrainz has a mix of these, sometimes Lennon/McCartney are composers, sometimes songwriters for example) Album Artist, and Track Artist,. I know Plex doesn’t use some of those tags, but maybe in the future…
Had a little time this afternoon to run a test with build plexmediaserver_1.31.2.6700-baa28a637_amd64.deb. This is what I done …
With build plexmediaserver_1.31.0.6654-02189b09f_amd64.deb I updated 1 album from ID3v2.3 to ID3v2.4 tags and including two genres …
… and force refreshed the album. As expected plex sees only 1 of the genres.
Then updated to build plexmediaserver_1.31.2.6700-baa28a637_amd64.deb and afterwards force refreshed the album. Plex now sees both genres as seen in the screenshot below.
Personally would like to see this extended to releasetype. Also label would benefit but I have other problems with that tag due to my library using mp3 music media (Record Label embedded Metadata for Music Media).
A release has only one label. All other corporate entities listed on covers are not “label”, but lyrics publishers, distributors, or manufacturers. But according to MB policies they are not record labels.