Is It Possible To Add ID Tag Information To The Filename And-Or Title Of Songs?

Hello, and thank you in advance to anyone willing to help. After happily using Mp3tag for several years to manage my mp3 collection, I've encountered a question I can't answer using either trial and error or the help menu. I'm creating personal greatest hits albums for multiple artists, and I want to append every individual song title in each of these created albums to include "[%year%; %album%]" after the title so that even after I "Select all files" and rename the album and year to, for example, "Bob Smith's Greatest Hits" and "1975-11", respectively, the original album and year will be displayed in each song's title, for example, "Hit Song 3[1977; Bob Smith's Second Album]"; that is, I want to use Mp3tag to add the album year and the album name from each individual song's ID tag, in brackets, to the end of the existing song title, after combining multiple songs from multiple albums by the same artist into a single folder. Unfortunately, it seems I can't use any of the "Convert" options because I've already tagged all of my mp3's such that the filename is simply the title preceded by the track number, thus, the year and album information aren't part of either the filename or the title. I've also tried to use "Actions", but for the life of me I can't find success. Basically, I want to know how to (if it's even possible) add-append information from the ID tag of a song to the filename-title of the same song without having to type this information for each individual title. Thanks again for any help.

If you want to append the filename with some extra information then use a mask like this for the converter tag-filename:
%_filename%'['%year%']'
This will work once for each file as after the first run it has been appended.

Plase note that the square brackets have to be enclosed in apostrophes as they would otherwise have a special meaning.

There's also a tag called ORIGALBUM that could come in handy here. For all the albums that you might use in your personal compilations this way (or just for all your albums...period), you could add this tag using the Format Value action.

Action: Format value
Field: ORIGALBUM
Format string: %album%

This will simply copy the album title to the ORIGALBUM tag. Now, as you compile a bunch of files for your "Greatest Hits" albums, you can use this tag to add the information you want to the new song titles. Again, you'd use Format value for this.

So, for example, to change the song titles to "Original Title [year; Original Album]":

Action: Format value
Field: TITLE
Format string: %title% '['%year%; %origalbum%']'

(Note the apostrophes around each bracket symbol. As ohrenkino mentioned, this is necessary to identify the square brackets as literal characters.)

The nice part of doing it this way is that the original album name always stays with the songs (in the ORIGALBUM tag), so you can use it in any future title or filename renaming schemes. (I assumed you weren't changing the YEAR tag, but if you are, you can use ORIGYEAR exactly the same way.)

Thank you both for your help; I really appreciate it.

ohrenkino: your suggestion worked perfectly. I converted the tag>filename with the mask--I never would have figured that out on my own--then simply converted filename>tag to make the filename and the title the same (excepting the track number prefixing the filename), which is how I prefer to label my mp3's. Also, I played around with your mask and discovered that any information on the tag (Artist, Album, etc.) can be added using %"X"%, which is great. A question: are there any other things that can replace "filename" in your mask, %_filename%'['%year%']'? I tried replacing "filename" with "title" but that didn't work.

progprog: your suggestion also worked perfectly. I was left with a few questions, however. Where is the information ORIGALBUM stored? Is it like a subfolder on the tag? I ask because I had to add the tag ORIGARTIST before appending the song title but I didn't have to add the tag ORIGYEAR or some such; that is, I don't understand why even though both the original year and the original artist were already on the tag, I had to do the step of creating an ORIGARTIST tag but not an ORIGYEAR tag. Also, is it possible to make a custom Format Value with multiple information, something like:

Action: Format value
Field: CUSTOM
Format string: %album% %artist% %year% etc

so that I can add multiple information to the end of each title, or do I need to create a Format Value for each individual piece of information? That is, I often make personal greatest hits albums not only for individual artists but also for various artists, so I'd like to be able to add the artist, the original album, and the year to the title, for example, %title%'['%origartist%; %origalbum%; %year%']' as easily as you taught me to add %title%'['%year%; %origalbum%']'.

Thank you again for your help.

Well, yes and no.
Of couse you can compose a completely new mask - I only constructed the example as you wanted to keep the filename as it was initially - and the variable %_filename% stores the string of the filename.
You get help on the available variables if, after opening the converter mask input dialogue, you click on the arrow button the the right of the input box. THis opens a submenu from which you may select other variables. But you probably know that....
Anything that is not stored in a variable (and is no square bracket) may be entered as literal.

That simply means that the ORIGYEAR tag already happened to be there. No tag exists for a song exists until that particular piece of information is added. So when you add the ORIGALBUM tag, it's just another tag attached to the song.....just like title, track, artist, etc.

Yes, absolutely! That's the power of mp3tag. :sunglasses: These functions are all highly programmable and flexible, so you can "design" a format string to create pretty much any tags you want or need.

%title%'['%origartist%; %origalbum%; %year%']'

will construct exactly the title you describe, with those three pieces of info amended to the title, in brackets. Do be aware, just as a practical matter, that really long titles get kind of cumbersome in actual use. Most music players seem to have some sort of display that shows basic info as a song plays. In a static display (like the one in my car), the character limit might cut off all that extra info in the title anyway. Other displays might stream the long title, but that can get a little awkward too.

Since you can always leave the original ARTIST tag in place, even on "Various Artists" compilations, I wouldn't think you'd need that in the song title as well. But if you want it there, mp3tag certainly allows you to customize your tags this way.

Note: The tag->filename action is extremely flexible too. You can use any & all tags you want in constructing your filenames. ohrenkino was showing how to append an existing filename, but you can also make entirely new constructions. To use the TITLE tag, just use %title%...without the leading underscore.

So if you have your titles already constructed as you previously described (%title%'['%origartist%; %origalbum%; %year%']'), simply using %title% in your filename mask will use that whole constructed title string.

ohrenkino: thanks for the extra information (and pointing out the arrow button to the right of the input box; I'm embarrassed to admit that I never noticed it before). Because I've been using the Convert options for a couple years in a certain, albeit very limited, way, I think that using Actions for relabeling my titles (then using Convert to change the file names) is much less confusing for me. But I still really appreciate your help and will use it when I attack a future filename>filename project. Thank you very much.

progprog: thanks for explaining how the tags are stored and for expanding on the flexibility of Mp3tag's functionality. Because all of my music is already tagged to my specifications, I took your suggestion but tweaked it to fit the information already on my tags, thus saving one Action. Now I have one Action that adds the album and year in square brackets at the end of the title--%title%'['%album%; %year%']'--and a second Action that adds the artist, album, and year in square brackets at the end of the title--%title%'['%artist%; %album%; %year%']'. Plus, with your help, I was able to make a third Action that saves me from having to manually change each title when they're in a certain form. Thank you very much.