Automating a huge tag copy & paste operation

Hello,

One of the things I love about mp3tag is that when I use the copy and paste feature, it copies 100% of my tags. "Non-standard tags" (like the ones Musicbrainz Picard inserts) are preserved when using copy and paste. I love it! Kudos to the mp3tag team on that one. Now onto my issue.

I have need to copy and paste tags from one set of files to another set of files. My issue is that I'm working with over 11,000 files. Is there a way that I can automate the copy and paste operation? The standard Ctrl-C / Ctrl-V is not going to cut it when we're talking about 11,000 files. I may have need to perform this big tag copy in the future, so doing it manually is out of the question. Can the copy and paste functionality be accessed via the command line? If so, I could script this. Any ideas?

Just to be clear, I'm looking to copy 100% of my tags, not just a few fields like artist, album, etc. It is my understanding that the Tag Copy, Tag Paste is the only route I can go to achieve this.

Thanks in advance.

-fumble

I am not quite sure how one could shortcut the shortcuts ctrl-c and ctrl-v.
Could you explain a little how you think the process of selecting a source, copying the contents, selecting the target and inserting the contents should be automated?
Cutting and pasting in a single go without the intermediate step of selecting the new target does not make a lot of sense, does it?
But perhaps with a little more details somebody may get enlightened.

Hi ohrenkino. I was thinking that if this functionality was exposed via the command line, I could script it. Something like this:

mp3tag.exe --tagcopy --source foo.mp3 --destination bar.mp3

With something like that in place, I no longer need to use a GUI to wrestle with 11k files. I could write a script in a few seconds, run it, and then walk away. I'm guessing such functionality does not yet exist?

Thanks,
fumble

Maybe http://www.autohotkey.com/ could help you.

Take a look at the "Autoscript Writer" which records your keystrokes.

Thanks for the link @Mike_nl .

The more I think about it, the more I think a command line interface is the best route to go for the quantity of files I'm working with. Are any mp3tag coders interested in implementing this feature? Seems like it would be simple enough to anyone familiar with the source code. I would consider paying a reasonable fee for the creation of this feature :slight_smile:

Thanks,
fumble

It sounds interesting.
What I still don't get: what kind of rule do you apply to the automated script generation to find 11k of matching pairs?
I bet that if you have to prepare the files to match that pattern it would have been just as easy to use one of the already existing methods like exporting tags to a text file and then using the converter text file - tag to reread them.
Have you tried that?

The OP will copy the entire tag (of which type? ID3v1/ID3v2.3/ID3v2.4/APE/???) which can carry an unknown amount of tag-fields of any name including binary picture data and further more someone might think of.

For now this is possible to do by Mp3tag only in a manual way.

I would avoid to [Ctrl+C]/[Ctrl+V] for 11k files at once, but smaller portions did work for me.

DD.20101203.1312.CET

Let me worry about that :wink: :laughing: I'm coming from *nix/OS X-land where simple command line tools like what I'm suggesting are everywhere. If I had the ability to specify the source and destination paths of the copy/paste operation via command line, I would be set. But to answer your question, I have a master lossless library and an iPod-ready lossy library that I want to sync. They are 100% matching pairs.

It is my understanding -- please correct me if I'm wrong -- that Ctrl-C/V is the only way to get ALL metadata from one file to another. Exporting tags to a text file only gets a finite list of tags, correct? I want all my tags like ITUNNORM, and the MUSICBRAINZxxx tags as well. Furthermore, since I'm relying on MusicBrainz Picard software and their database, not every file has the same tag fields. In other words, the tag fields are not known ahead of time. To export tags to a text file, don't I need to know the tag fields ahead of time?

Thanks to everyone for the discussion. It's great to see such an active and helpful community around mp3tag.

-fumble

OK, I get it that a perfect copy is probably much nicer than a selected set of tags.
Yet, if you make compromises regarding the lossiness of tracks and you export that part to an iPod which most certainly does not care about the musicbrainz tags (it can't even display the language tag) it looks to me as some kind of classical master-slave-data structure. But that is only me.

So if you want to synchronize the tags for a player that does even use the extra data then it looks even more like an interesting intellectual problem with hardly any practical impact.

If you think of synchronizing libraries in total then I would recommend the free synctoy by Microsoft.

That is a very good point! Thank you for the perspective. My preference would still be to have an exact mirror of the metadata. My lossy files are not just for iPod playback. My wife and I's laptops will also hold these smaller lossy files, while the big lossless files stay on the home server. But I suppose there are only a few tags that are "must haves" for me in this scenario. If the mp3tag devs are reading this, I still believe it would be beneficial to expose the functionality that copy/paste provides to the command line. But for now, it's time for me to investigate the tag from text file route more fully :slight_smile:

Thanks for the insight ohrenkino!

I've made a tool that helps Mp3tag export all tags of your files to a text file.
/t/9520/1

I'll check it out. Thanks!