Suggestion: Block Copy/Paste of Tags

It suddenly dawned on me: what I need for my workflow is the ability to have tab-separated tags in a text file, select and copy, then be able to paste that into the MP3Tag listing as a block.

The paste operation would write tags across consecutive columns as displayed, and down multiple tracks as displayed, starting from the track and tag selected for the paste.

Thus, for example, from a plain text file containing the track titles and artists, I could simply apply that to the tracks in an album by copy&paste instead of going through the rigamarole of import specifications, and if something wasn't right just back out of it with an undo.

This would be a lot more intuitive than what we currently have.

Complement that with the ability to select a region in the MP3Tag listing (multiple tags across multiple tracks), then copy and paste that into a text file.

Thanks for the suggestions but you do not mention the built-in Text File to Tag Converter

If you have not used it, you might give it a try. I use it a lot, mainly to transfer data from spread sheets. It is less error prone than Copy and Paste because it only modifies fields that I previously specified.

You can use any delimiter you like, although to avoid errors a visible one is preferable to tabs. I prefer the pipe symbol.

The converter supports standard Mp3tag field variables, which make it easy to construct delimited target strings. And there is no "rigmarole of import specifications" to deal with. Below is a screen shot of a simple example that fills the Album Artist field with unique entries from a text file.


The preview button is a big help when setting up a long format string.

This function is already available in Edit>Copy as text ...

Thanks, but neither of these hit the mark. Yes, I've used text file to tag, but that's what I was talking about as import. What I'm talking about is a WYSIWYG operation, similar to copy&paste in a spreadsheet.

Imagine the MP3Tag file listing as an array of cells. The tag display for each individual file is a row, and the tag content for any particular tag over multiple files are the columns. I want to select a particular tag in a particular file and "paste", which then populates multiple cells in a rectangular block with the content of the paste buffer, like it would within a spreadsheet or copy-pasting between a word processor and a spreadsheet.

So simple.

Yes, it might be error-prone, but "undo" could protect against that. People would learn how not to make errors. How long did it take you to get comfortable with spreadsheets?

This facility would need the ability to highlight just one cell (rather than the whole row), perhaps as a right-click option, and then a right-click "paste block" perhaps, and a means to highlight multiple cells as a rectangular block and then "copy block" (or something).

Perhaps I should have titled this thread "block copy-paste" rather than "import/export".

How would you make sure that the data from your spreadsheet block gets into the corresponding fields in the file?

You can still modify the thread title.

Direct physical correspondence with the on-screen display of tags. WYSIWYG.

Oh yes, so I can.

[extra text to satisfy the post length requirement]

Apart from the effort to keep the columns in MP3tag and the external application in synchronization, I wonder which function could be carried out in the external program that cannot be achieved in MP3tag.
I see the need to export (copy) some data to an external program to get e.g. a nicer layout. And that function is already almost available.
But the import ... I am still looking for a good use-case.

Suppose I want to tag the tracks in a new CD rip. My personal default display layout has %title% and %artist% in adjacent columns, and the appropriate sort puts all the tracks in the album in one block with the tracks in numerical order. I also typically have a plain text source for the title and artist information.

At the moment I simply go through copying from the text source and pasting into the tag display in MP3Tag, slightly laborious but easier than formatting the text source for a File To Tag operation.

If we could block paste, I could populate the tags in one fell swoop: select the data in the text source and copy, select the top left "cell" for the title and artist block in MP3Tag, paste. Job done.

Perhaps Alt+Left Click could be used for cell selection, Shift+Alt+Left Click to select a block, Alt+C to copy a block, and Alt+V to paste a block.

Doesn't the ripper add the tag data?
What is the advantage of filling all the spreadsheet cells with ARTIST data instead of using the tag panel, where you enter the data once (without the need to copy it do the right number of cells) and press Ctrl-< to save the modification?
Admittedly, you have to enter the data in TITLE for each track - but even that would be quicker directly in MP3tag as you do leave out the the cell selection, copy, cell selection in MP3tag, paste.

The CDs I'm talking about are not mainstream, and even when they are in the databases the data is frequently inaccurate. I do it myself.

How does that help when a CD is a compilation of various artists? In any case, I was only illustrating. I also have requirement for various classification tags in addition.

I don't follow you.

The initial effort stays the same in both the spreadsheet and MP3tag - all the data that is unique to a file has to be entered at least once. This also applies to further tag fields.
If you have done that in MP3tag then the data is there - no need for a transfer any more.
If you do that in the spreadsheet the data has to be transferred to the tags - which requires cell selection in the spreadsheet, copy the data, switch to MP3tag, select the corresponding cells there, paste. These are 4 steps more than setting the data in MP3tag directly.

Sorry, that misses the point on so many levels.

First, I was only using the spreadsheet paradigm as an illustration. I don't want to copy cells from a spreadsheet, I want to prepare the tags for an album in plain text and then paste them into MP3Tag like I could in a spreadsheet.

Second, I find it a lot quicker to use text editor functions for bulk data entry than the editor functions in MP3Tag.

Third, a lot of the data can be copied from elsewhere, which I then paste into plain text for sanitisation and then paste (currently individually) into MP3Tag. It's turning the "individually" into "as one block" which would be the real effort saver (for me).

Finally, I understand the "is this worth the hassle of implementing" argument, it's only a suggestion but something I would find very useful and others might too. MP3Tag knows the layout of the tag display, so it knows which cells correspond to what and I don't see that as an issue (although I agree it would take a bit of development).

It seems a no-brainer to me that being able to paste into an on-screen rectangular block of cells (tags), and being able to copy out from a selected block, is highly intuitive. By convention, the representation of an array of cells (from a spreadsheet, or a word processor table) in plain text delimits horizontally by tab and vertically by CR.

Just to get some points right:

So was I. I used the term

but as "spreadsheet" is a lot shorter, I used that as a synonym.

Which would be? I admit that the editor that I know best is also the best editor for me. But sometimes it is also worth to get to know functions in other programs.
That is why I ask as it could be that these favoured functions are already available in MP3tag and therefore would avoid the 4 extra steps for the import plus the implementation of a function that is then not needed any more.

This seems to be getting argumentative when that is not my intention. I know what I mean, you don't seem to, and I don't know how to explain any clearer.

An alternative way would be:
a) Search your source text as usual
b) Paste it into ONE single field in Mp3tag, lets say "DATATOPROCESS"
c) Then use the existing Mp3tag functions (like regular expressions and others) to get the data out of your DATATOPROCESS and into your target fields.
d) As soon as all target fields are filled, delete the DATATOPROCESS field

That would eliminate any use of external "spreadsheets", "text editors" and other similar tools.

Even if you have to further adjust your TITLE or ARTIST this is in most cases an easy task for Mp3tag.

If you tell us what exactly do you modifiy outside Mp3tag, we can help you to do the same inside Mp3tag.

Thanks, but that's a work-around rather than the easy, simple, point-and-click vision I have.

My point in raising this as a suggestion is to provide another way of working, not be told to do it a different way. I already have to do it a different way.

If those who maintain MP3Tag don't share that vision, there's nothing more to say.

Of course every suggestion is worth considering. That is how mp3tag has developed over 20+ years.

But at the same time, since mp3tag has already been with us for so long, we often find now that some suggestions already have a more effective approach available. So discussions like this help to clarify that or determine if there really is merit in the recommendation.

I can see limited potential for what you have offered. But I can also suggest there are some significant hurdles to consider. The concept of WYSIWYG here isn't that simple when you consider that the display you show won't likely match another users display. There is no concept of "matching" from one file to another or from any particular field. And what you see is just a display of the tags you prefer, not how they are written to the file. So implementing this "simple" copy/paste across multiple files and within a limited number of fields isn't going to be such an easy task to implement.

Ultimately if @Florian feels there is something to work with it may get some attention. But that will be up to him to decide. In the meantime only the alternatives already proposed are what you have available to work with.

Totally agree, never expected anything else.

Meanwhile, what might work is some kind of scripting (AutoIt?) able to walk the plain text and robotically copy&paste into MP3Tag fields.