Year tag reformatting with \\ in tag

Hello,

I am new using mp3tag. I have been trying to change the value stored in the YEAR tag.

So I have the following values stored in the year tag(s) for example:
1906\\2020

therefore following the pattern:
DDMM\\YYYY

I am trying to reformat it to the following pattern:
YYYY\\YYYY-MM-DD

Reading a number of posts on this forum, I have tried to use the following:
Action > Format Values for the YEAR field with the following expression:
$regexp(%year%,(\d\d)(\d\d)'\\(\d\d\d\d),$1'\\$3-$2-$1)

where I use ' character to escape the \\ so I can still print this as is, except it doesn't give what I am expecting.

As a result from my example, it renders the year field with the value of:
1906
and not
2020\\2020-06-19

How do I write it to achieve the result I am trying to get please?

thanks

On the trouble with the double backslash see e.g. here:

The long date with year, month and day should be stored in RELEASETIME as YEAR has only 4 digits according to the ID3 standard.

Can you please show us a screen shot after pressing ALT + T on one of your tracks?
I can't imagine how you would have 1906\\2020 stored as one value in your year tag.

If you mean you have one YEAR tag with 1906 and another with 2020 it would be very hard to detect the difference between the year "Nineteen-oh-six" and the "19 June" and the year "Twenty-Twenty".

Thank you for your response.

I get the logic you follow ie separating the values in 2 distinct fields rather double the same one twice but I don't know how to achieve this.

There is no \\ in your example, just a - between 1003 and 2021.
(At least this was shown in your first screen shot...)

No, actually, you have to merge the 2 YEAR fields first,
then arrange them with the regular expression,
then copy the data to RELEASETIME
and then cut YEAR to just 4 digits

sorry about this I had played around in the direction of merging the fields and uploaded the wrong screenshot.

I updated the initial post with the proper one.

I'm still not convinced that this will work with all your occurences in the year tags, but you can TEST it with this format string:

$regexp($meta_sep(year,\\),'(\d\d)(\d\d)\\\\(\d{4})',$3\\\\$3-$2-$1)

image

1 Like

oh nice, it did the work!! Thank you

I tried it on a batch of files with similar conditions and it worked for all of them. :slight_smile:
Thanks again

1 Like

As long as you get MMDD from the first YEAR tag (which is AFAIK not garantueed) it should work.

And as @ohrenkino already told you:
Your new YEAR tag format does not match the standard YYYY anymore!

I understand it would be better to split the fields into Year and ReleaseTime but I don't know how to do this yet...
If you guys want to share a step by step on how to I would be very happy to do it but I don't mean to abuse of your time/help...

You could try an action of the type "Guess value"
Source: $meta_sep(year,==)
Target pattern: %year%==%releasetime%

1 Like

oh this awesome! After I got the results from LyricsLover script if I apply your action to the result it give me the right split of value and field between Year and ReleaseTime.

Great help guys, thank you so much! :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.