"Format value" action only reads first value when source tag contains a list of values

I wanted to create a "Format value" Action that simply copied the %albumartist% data to the %artist% field. What I found is that if %albumartist% contained more than one item separated by "\\" then only the first value was copied to %artist%.

  1. albumartist = Foo\\Bar and artist = any text
  2. Run Action Format value "ARTIST": %albumartist%
  3. Observe artist = Foo when artist = Foo\\Bar was expected

If copying only the first value is the expected behavior, what is the correct way to make an Action that copies a list of values from one tag to another?

If you want to copy all values from %ALBUMARTIST%, you can use
$meta(ALBUMARTIST)
This will copy all existing ALBUMARTIST tags (you can see them with ALT + T) into 1 ALBUM tag, separated by a comma as default.

If you want to change this separator character to a - let's say semicolon - you can use
$meta_sep(ALBUMARTIST,;)

You can find some details about metadata functions here.

1 Like

As an amendment:
If you want to keep all existing entries, then try the following
Format string: new text\\$meta_sep(albumartist,\\)
where you enter for "new text" whatever you would have used in the "Format value" action.

1 Like

Thanks! This is my first exposure to $meta_sep(). There's ALWAYS something new to learn in mp3tag!

1 Like