I know mp3tag can (almost) do everything - how about this ?
Johann Strauss wrote 479 pieces of music, I have all as mp3-filess, some multiple by different artists, names as follows:
Strauss-J2_op354_Wiener_Blut_artist_1.mp3
Strauss-J2_op354_Wiener_Blut_artist_2.mp3
Strauss-J2_op354_Wiener_Blut_artist_3.mp3
For all I have jpg-files with an explanation of the opus with the name
Strauss-J2_op354.jpg (substring of filename) which should appear for each artist's version.
With 1by1 this one jpg-file is shown in all different mp3-files (file-name starting with identical Strauss-J2_op354).
I know how to integrate them into the mp3-files manually with mp3tag - but approx. 500 times ...
Who can help ? What is the more efficient, elegant and less boring way ?
I am not sure wheter I understand the problem in full.
So I start like this: mp3tag has several ways to import bitmaps as cover.
e.g. select all the files that shoudl get the same cover, press Alt-T and then the "NEW" button right beside the (empty) cover and select the bitmap file. The bitmap will be stored in each selected file.
Or: you may import the bitmap with an action "Import album art" and either specify a fixed name like
folder.jpg
or let mp3tag take the first bitmap file it finds using
*.jpg
or construct a filename from the tags in the respective audio file, e.g.
Strauss-J2_op354_%artist%
thanks for your ideas which I hope will pave the way to the destination. The point is:
I do NOT want
one jpg for all mp3 or
one specified for an artist for all mp3
My jpg-files all have a name that is a substring of those mp3-files (in the beginning of the mp3-filename) into which they should be integrated. 1by1 does understand this - if a file-import algorithm would understand this as well, all would be fine. For illustration:
OK, this is not quite as straightforward but could lead to a course of actions that lets the machine do most of the work:
The combination of filenames looks like this:
Strauss-J2_op002.jpg
Strauss-J2_op002_1844_Debut-Quadrille_Walter_SVSPO_0104.mp3
So, I would do a Convert Filename > tag with the mask
%covername%_18%dummy%
which would fill the userdefined tag COVERNAME.
This tag should contain "Strauss-J2_op002" for the example.
Then I would execute an action "Import album cover" with the contents
%covername%.jpg
This should import the file Strauss-J2_op002.jpg as album cover.
As all the other files have similar structures before the "18" the converter should work for all of them.
Edit:
One more thing: afterwards the userdefined field is still in the files but not needed any more. you may delete it - easiest done with the extended tags dialogue (alt-T)
Related to the content of your file at http://www.vorticity.de/mp3/strauss.txt ...
Because the filename structure is the same on both filetypes, mp3 and jpg, at least for the leading two items, which are separated by the underline character, so they share the same substring, we can use this substring of the mp3 filename to build the jpg filename just on the fly, while executing the action "Import cover from file".
Action: Import cover from file
Formatstring for filename: $regexp(%filename%,'^(.+?.+?)_.*$','$1')'.jpg'
thanks a lot for your contributions which remind me to former Unix-times. I will try to understand and apply your recommendations - otherwise I really would not have known what to do this evening -)
I will be back - either to report 'all worked well' or to ask for further clarification.
If you have installed the graphic software suit "ImageMagick", then you may run this command file ... GetImages.cmd.txt (14.6 KB)[Right click on the link and save as ...]
[Remove the file extension ".txt" before use!]
... to get this result ...
Images.zip (95.74MB)
[outdated link removed]