Insert Track Number Into Title


#1

This should be simple but does not work. I would like to insert into the TITLE tag the track number. Currently there is a dummy string "#" in the title tag and I wish to replace it with the actual track number. I'm using the Replace with Regular Expression, where "Field" = "TITLE", "Regular expression" = "#", and "Replace matches with" = "$num(%track%,3)". This returns a value of '000'. I'm expecting the actual value of the track number padded with two zeros. How can I get this to work?

Thanks. <_<


#2

Well, it doesn't work the way you want, AFAIK. If you want to add a track number at the beginning of the title field, simply replace "#" by nothing and add another action which formats values. Use TITLE as field and "$num(%track%,3) %title%" as format string.


#3

Are you saying I cannot insert the track number in the middle of the TITLE string using Mp3tag? Does Mp3tag have an enumerate function which would apply to a selection of files/tags? Something like $enum(x,y), where x=starting value, and y=increment. Also, the ability to create variables which are based on information in tags would be nice.

Thanks!


#4

I don't know if I understand this right, but you can try FORMAT VALUE on TITLE with:
$left(%title%,$sub($strchr(%title%,#),1))$num(%track%,3)$right(%title%,$sub($strchr(%title%,#),1))


#5

Thanks dano!

This is very close. If I start with this title: "Sonata in D Major, K. # -- Allegro" and apply your expression, I get "Sonata in D Major, K. 161Major, K. # -- Allegro". The result should be "Sonata in D Major, K. 161 -- Allegro".


#6

Ok, I didn't look what $right really does :wink:
Sp replace
$right(%title%,$sub($strchr(%title%,#),1))
with
$right(%title%,$sub($len(%title%),$strchr(%title%,#)))


#7

dano,

This worked beautifully. Brilliant, you saved me much work. Where can I learn more about scripting for Mp3tag?

Thanks!


#8

In Mp3tag, press F1 and you see the Help.
There's a link to the scripting reference.