Function/Variable to tell whether a tag containts multiple values?

Tags: #<Tag:0x00007f51189de9a8> #<Tag:0x00007f51189de778>

I have a Sony Walkman (NW-A55) that in this day an age is still limited to ID v2.3 - it doesn’t support multiple value tags!

When I’m tagging and renaming my files, there are instances where I would like to know if a particular tag has multiple values. Is there a function or variable that has this? Currently I’m scripting the logic as such:

$foreach(%genre%,$set(genre_count,%_loop_count%)) $gt(genre_count,1,do-something,do-something-else)

I have used _multiartist (found in Basic Variables and so far it seems to work for the artist field. However, I’ve encountered some MP3 files using the new v2.4 with multiple genres tagged and it creates havoc with my Sony.

Maybe a function like $ismulti() that will return a 1 or 0 if true/false; sort of like how $isaudio() works. Is this possible?

There is currently no such function, but I think it would be a nice addition.

However, regarding your actual issue with the Sony player I think the best solution would be to configure Picard to use 2.3 tags in Options > Tags > ID3

2 Likes

I did do that, but what I found was that if the tag had multiple values previously, it would “convert” those multiple values to a single string consisting of each individual element.

I’m finding that I have to make some very specific tweaks to my tagging and renaming scripts to accommodate the quirks of the Walkman.