I have been doing some heavy editing on my library, trying to create as homogeneous a structure as I can. Using Foobar I realized, much to my chagrin, that there are still some fields that contain multiple values by using 2 backward slashes (cannot type it for some reason here, it only shows one backward slash). I can see this info in the tag panel "Allman Brothers Band, The\Allman Brothers Band, The" but it is not present in the column browser, it only shows "Allman Brothers Band, The." Unfortunately, with the amount of files I am dealing with it is hard to go track by track to check if these fields exist.
Is there a way to get the columns to show all the values for each defined field, so I can see which tracks have the two back slashes field delimiter?
This depends a lot on what you want to achieve.
If you want to get real multi-value fields that you can see as separate fields in the extended tags dialogue, then use the double backslash: $meta_sep(artist,\\)
If you have a player that cannot cope with several fields of the same type but uses the slash or semicolon as separator, then use $meta_sep(artist,/)
Alternatively, you may run an action to merge all duplicate fields or to delete them.
You could load your whole collection,
select all files,
open the extended tags dialogue.
In this dialogue you will see several entries for the multi-value fields - so you could take down a list of the fields that really are multi-value fields. I doubt that all fields are really multi-value fields.
You could then filter for each field from the multi-value list with "$meta(artist,1)" PRESENT
(as an example for the field ARTIST if that should be a multi-value field).
Well I don't have to use the $meta_sep() to find fields with /, as I have defined involved people as %involvedpeople% and can see those characters in those columns
"Manuel Cachao, Valrela / Daniel Palacio / Lazaro Galarraga / Andy Garcia / Nelson Marquez / Luis Conte / Danilo Lozano / Richard Marquez / Jr Valdes, Alfredo . / Rafael Palau / Prestes Vilato / Nelson Gonzalez / Jimmy Bosch / Feliciano Gomez / Federico Britos"
I also experimented with "Cachao / Israel Lopez ; try this//and this" and all that was reported in a regularly defined column (%involvedpeople%).
So, it seems that only the two backward slashes causes this problem. I actually remember reading at some point that that was the only way to create multiple entries for a field in MP3Tag, but I could be wrong.
Ohhhh, how can I do that? I tried using \ or %_tag% HAS "\" in the filter but that did not result in anything.
I tried "$meta(artist,\)" PRESENT or "$meta(artist,2)" PRESENT, that did not work. I would love to be able to filter for or eliminate these duplicate fields.
BTW when you see a \ it is actually a double backslash, but for some reason, in this forum, it will not post two backward slashes, and always makes it one. Sorry.
Indeed. THe forward slash is just another character for MP3tag - it could b, though, that your player interprets that character as separator between entries.
"$meta(artist,)" is invalid syntax - you have to supply a number after the comma.
"$meta(artist,2)" refers to the 3rd field of the same type - but if you only have 2 then the reference to the 3rd will not yield any hits.
The safest way would be
as this means that you have more than 1 field of the type ARTIST.
But please: have a look at the help to see the actions. Now that you know you may look for "merge" it will be easy to find the action to merge fields:
Thanks for the links. I will definitely check those out.
Do these work with the regular filter that you pull up by hitting F3? I tried "$meta(albumartist,1)" and $meta(albumartist,1) and no results were found even though I know there are entries in "albumartist" that have more than one field.
I'm not sure what you're trying to achieve, but $meta(albumartist,1) is not a valid filter expression. If you check the documentation, giving a string without any operators is treated as a string that is compared to the contents of the tags:
Returns only files that contain every word in the string as a word or substring thereof. A word is a contiguous sequence of characters excluding the space character.
If you want to check for files that have multiple ALBUMARTIST fields, you'd need to use a filter expression, e.g.,
"$meta_sep(albumartist,\\)" HAS "\\"
or "$len($meta(albumartist,1))" GREATER 0