[Solved] How to set the NULL (aka double backslash) separator within Multi-Value Tags...?

I moved your message into a new topic as this is really getting into a completely different direction than the original question.

There are multiple things wrong with your approach. First, the script does not replace commas with a a double backslash, but with a single backslash. In Picard’s scripting the backslash is a special character used to escape other special characters. E.g. the dollar sign has special meaning, to write a literal dollar sign you use \$ in scripting. Likewise if you want to write a single backslash you need to escape this and write \\. Your script hence replaces , with a single backslash. Two backslashes would be \\\\.

Second, even if that replacement happens it wouldn’t do what you want to have. It would just add backslashes to the tags. But I have tried to explain to you before that when MP3Tag displays these double backslashes it does not mean there are actually double backslashes in the file. It’s MP3Tag’s way to show the separate values of a multi-value tag. There is no such thing as a NULL backslash.

So the proper solution is to convert your comma separated artist list into a proper multi value field. You can use $setmulti for this:

$setmulti(artist,%artist%,\, )

This sets artist as a multi value tag, but instead of the usual "; " as the separator it uses a comma followed by a space. Maybe even better would be to convert the commas to semicolons first, then this would also work with artist values that are multi-value before:

$setmulti(artist,$replace(%artist%,\, ,; ))

Picard will always use a text separator for ID3v2.3. If MusicBee expects this than configure Picard to write v2.4 tags. MusicBee will respect this and also use v2.4 tags when saving the file. Given all your other threads this really seems to be the solution to your problem.

3 Likes