Picard changes multiple value tags

Tags: #<Tag:0x00007f2a002f5978>


I’ve been using Picard for quite a while and now and there’s something that’s been annoying me for ages. I use Foobar2000 as my media player/organizer and use a few custom tags applied by FB2K that accept multiple values that are separated by a semicolon. Most of my library consists of M4A/AAC. When there’s a tag set with multiple values set by FB2K Picard will change them to where FB2K will only read one of the entries. It appears that Picard is separating the tags and putting them in multiple entries with the same atom.

Example. I have a multiple tag in FB2K as “s_tags” as “Apple; Orange”. When Picard tags/re-tags the file FB2K (mp3tag, dbPowerAmp were also tested) and only one of the tags appear, in this case “Hot 100”. Now, if I open the file within the Python script mutagen-inspect, both are there in separate atoms:

----:com.apple.iTunes:s_tags=MP4FreeForm(‘Apple’, <AtomDataType.UTF8: 1>)
----:com.apple.iTunes:s_tags=MP4FreeForm(‘Orange’, <AtomDataType.UTF8: 1>)

I’ve added “s_tags” in the option to being overwritten in Picard but makes no difference. Is there any way to prevent this from happening? I’m using the latest build from the GIT repository build by myself using all updated dependencies (mutagen, PyQT, Python2.7, etc.)

Edit: This is Picard for Windows built on a Win7-32bit machine.


Possibly related:

MP4 multi-value tags are proprietary to Picard/mutagen (?)


I was just going through that page you linked a few hours ago and it doesn’t look good. It was reported in 2012 and still doesn’t have anyone assigned to that bug. Is there any way I can workaround this issue as I’m losing quite a few of these tags.


Has there been a fix or work around for this?
I’ve been using mp3 ID3v2.3 with the " / " join option on mp3 files for years with no issue. Started to jump towards m4a now and can’t get multiple composers in at all. Notice that they come into Picard as " ; " and thus NAK’ed in the final tag?
Is there a script method to make this " / "?