Is Partial Tag Copying Possible?

I am transcoding a bunch of of my ripped CDs (FLAC) and my purchased albums (m4a) into a much lower bitrate/smaller file size to transfer them to a device with limited storage. For that purpose, I am using a custom batch script + a CLI AAC encoder that outputs mp4/m4a files. This encoder writes a ITUNSMPB tag that ensures gapless playback.
Now, post-encoding, I am loading each album's original and transcoded tracks in mp3tag and performing a tag "copy/paste". This operation then results in the ITUNSMPB tags of the new tracks to be overwritten if present in the original tracks or removed altogether if not present in the original tracks.

What I need is to copy all other tags except the ITUNSMPB one, which I want to be kept intact in the new files. Is there a way to do this?

Thanks in advance...

I think this will only work with an export.
Either you export the whole list of tag fields to an export file and import the data back into the new files.
Or you stay with copy and paste but export only the itunsmpb fieldto a file (plus the filename, of course, for exact data alignment).

Excellent! Thank you!
Here's what I did:

Step 1 - Export tags from new files:


Step 2 - Copy/Paste full tags from original to new files.

Step 3 - Apply 'Convert >> Text file - Tag' on new files:

Filename: C:\...\ExportedTags.txt
Format string: %dummy%::%itunsmpb%

I'm not sure if I'm doing it the right/best way, but it works well.

Anyway, good "workaround" that achieves the desired goal, though not optimal for preserving a large number of existing fields. Maybe I'll add a partial (or preset based) copy/paste feature suggestion...

Well you did have luck, that it has worked for you.
If the second list of files has the same amount of files and the same sorting like the first list of files, then each file has been addressed in the right way.
Because you declared the placeholder %dummy% for the filepath column, which has the meaning of "don't care" about the filepath, Mp3tag has bound the loaded files to the given import list "as is".
It was your luck, that both lists have been sorted in the same manner and sequence.

If you want to make sure that the binding between import list files and loaded files is really 'one to one' (the right ones), then do not use %dummy%, ... better use %_path%.
This will bind the files with the same filepathname, and either the filenames from the import list, nor the loaded files needs to be in sequence.


Well, I do ignore the (advanced) binding possibilities, but I knowingly used the %dummy% placeholder since I already know that both file lists will have the same count and sorting order/sequence, so it wasn't all luck :wink: . The reason I included the filepath when exporting was because I figured that exact one-to-one binding was surely possible, even though I hadn't figured out how. However...

This is not very clear to me. From what I've seen, %_path% expands to 'FilePath\FileBase.FileExt'. In my case, the files will either have a different extension (C:...\OriginalFileName.flac vs C:...\OriginalFileName.m4a) or different basenames (i.e. C:...\OriginalFileName.m4a vs C:...\OriginalFileName [1].m4a), so how would this binding work exactly?

Yes, if you always know what you have to do or not do, then you need no luck.

Yes, when written into text file, the content of %_path% is the current value of the absolute filepath.

So far as I know, when importing data via Convert "Textfile - Tag", the word %_path% is just a placeholder in the formatstring, to tell Mp3tag, that from this place in the formatstring, path related data can be read, which further on can be used to direct Mp3tag to the fitting file entry in the currently loaded filelist, in order to update tag-fields in this one and only media file.
If Mp3tag cannot find the related file within the loaded filelist, then it logs an error.

Yes, in this case the meaning of %_path% is questionable respectively useless.
The user need to have good eyes and make sure on his own risk, to have both lists in correct relation to each other, the data rows in the import text file and the files in Mp3tag listview.

But you can also edit the import file with a text editor, to prepare the file path entries in relation to a new set of files with different names than the source files.


Thanks for pointing me in the right direction. I took the time to actually go over the documentation, and it turns out I can use such place holders as %_folderpath%, %_filename%, %_extension%, etc, to create a couple of presets that cover my different cases. After that, I can automatically use %_path% when "importing" back.

Cheers! :slight_smile: