I want my FLAC files to be tagged the same way as my M4A files. I want DISCNUMBER to be split into DISCNUMBER/TOTALDISCS and TRACK to be split into TRACK/TOTALTRACKS.

In Mp3tag, when I tag an MP3 or an M4A with DISCNUMBER 1/1, it is split and displays in extended tags as DISCNUMBER/TOTALDISCS. FLAC files don't do this, they show DISCNUMBER as 1/1. What do I need to do to get the same behavior as MP3 and M4A files?

I've tried many different things and nothing is working. I can do this with an action but I don't want to do it that way. I want to be able to enter DISCNUMBER as 1/1 and it automagically split to DISCNUMBER/TOTALDISCS and be added to the extended tags. I also want it to display in the tag panel as just 1 when I enter 1/1.

I want my FLAC files to be tagged exactly like my MP3 and M4A files.

You are asking too much.
Checkout to see which fields map to which other fields (and which may not exist in the other standard).

I'm greedy. I looked through all of that and wasn't able to come up with a solution. I understand that all the tags don't exist in all standards but I can still make Mp3tag write those tags to my files. I just can't get them to function like they do for M4A files. There has to be some scripting setup that will do what I want to do, unfortunately my knowledge is limited. I tried several regexp values and they show the value I want but it screws with the values in the M4A files and the DISCNUMBER still shows as 1/1 in my FLAC files.

I need a formatting string that makes DISCNUMBER 1/1 change to 1 and the same for TRACK.


both in separate actions of the type "Format value" for the respective field. This gts rid of the "total" number

That works in the column view but on the tag panel and in the extended tags, it still shows DISCNUMBER as 1/1.

What I'm trying to do is make it split the DISCNUMBER 1/1 into DISCNUMBER/TOTALDISCS and write those values to the tags. So after I put in DISCNUMBER as 1/1, the new value of DISCNUMBER should be 1. I haven't been able to find a formatting string that spits tags and writes them to two new fields.

How can I make DISCNUMBER & TRACK accept x/xx but not write the /xx?

This I cannot believe. How should Mp3tag be able to guess a total discnumber.

Try it and tell me what happens for you. $num(%discnumber%,1) doesn't change the value of the field. It just changes what displayed. I'm not sure if that's how it's supposed to be but that is the behavior that I'm seeing.

The function $num(%track%,1) strips leading zeros and everything after the first non-digit character. It is puzzling that you apparently see the number sometimes behind the backslash and at the same time you don't.
Perhaps you describe what you have done.
The proper way of doing it would be:
New action of the type "Format value" for TRACK
Format string: $num(%track%,1)

Maybe I'm not being clear so if you can, would you do these things and tell me what happens for you.

Make sure your DISCNUMBER value and field are both %discnumber%.

Get a FLAC file and an M4A file, then remove all tags. Now on the M4A, set Discnumber in the tag panel to 1/1. Look at the extended tags and you will see that there are 2 tags written to the file, DISCNUMBER which is 1 and TOTALDISCS which is 1.

Now do the same with the FLAC file and there will only be 1 tag written, DISCNUMBER which is 1/1.

Now change the value of DISCNUMBER to $num(%discnumber%,1) and you will see that in the tag panel it stays 1/1 for the FLAC but in the column view it is 1. If you don't get these same results, I must have something jacked up.

I ...

But I get absolutely the results that I described before: no more slashes or numbers in the fields TRACK and DISCNUMBER.
And no differing displays in the tag-panel and/or extended tags dialogue (this would be particularly puzzling as you cannot modify the values for these two display types).

(Edit: I tried that with a FLAC file)

I screwed the pooch then, can you send me your settings zip so I can compare mine to it?

Edit: Is there a way to format the number to only return whats behind the slash?


The easiest way would be with an action of the type "guess value" for TRACK
Guessing pattern: %track%/%totaltracks%

This moves the front part to TRACK and that behind the slash to TOTALTRACK

I don't want to use an action. I just want to be able to type in 1/1 in the DISCNUMBER field and have it change DISCNUMBER to 1 and adds the TOTALDISCS tag and makes it 1.

Is there not a way to change the tag values to achieve this?

No, you have to do it on purpose. Possibly with an action. Or you enter the values separated via the tag-panel (add fields for that) or the extended tags dialogue or separate column definitions.

But as the "total" fields do not exist in every standard, you might end up with a user-defined field.

And if they are set as user-defined, would that mess up the tags that do have it as a standard?

But you do not get the same kind of display as then the ordinary TRACK and DISCNUMBER are missing the totals.

That is what I want to happen. I don't want the total part to be displayed. I want to be able to enter it but not display it.

Input x/xx into the DISCNUMBER then display x in the DISCNUMBER field and move xx into TOTALDISCS field.

See posts 13 to 15 on that.

No, that's not right.
There will exist only one tag-field with the name "DISCNUMBER" and the value "1/1".
An additional tag-field "TOTALDISCS" will not be created automatically.

The fiile type FLAC is supported by VORBIS COMMENT tag type, ...
this tag type is only able to hold textual values.
There is no special datatype for numbers.
When you put the string '1/1' into a FLAC tag-field, then it will be stored as is '1/1'.
The interpretation of this string value is given by the name of the tag-field ...
or any other convention, which makes sense.

No, that's not right.
The function "$num(%discnumber%,1)" extracts the leading digits from the given tag-field "DISCNUMBER" and removes possible leading zeroes, therefore the result will be "1" in this case, ...
and the previously following part of text '/1' does not exist any longer.

The tagging of the file type M4A is supported by Mp3tag using the MP4 tag type.
For this tag-type Mp3tag offers an automatic procedure for the tag-field DISCNUMBER.
If the value '1/1' is given to the tag-field DISCNUMBER, ...
then Mp3tag splits this text string into two numbers, due to the given slash character, ...
and stores the second number into the tag-field TOTALDISCS, ...
and stores the first number into the tag-field DISCNUMBER.

This behaviour let me assume, that the tag-type MP4 does not allow to store a text value into the tag-field DISCNUMBER, ... therefore Mp3tag does automatically the healing of the failure, which was introduced by the user.