... alle Metadaten in Text-Files exportiert. Zu jeder FLAC-Datei gibt es genau eine Text-Datei in einer gespiegelten Verzeichnisstruktur. Eine Text-Datei sieht in so aus:
Album=I Got 5 On It (CD Single)
Artist=Luniz
Date=1995
Encoded by=EAC (Secure Mode)
Genre=Hip-Hop
Replaygain_album_gain=-6.53 dB
Replaygain_album_peak=1.000000
Replaygain_track_gain=-6.66 dB
Replaygain_track_peak=1.000000
Title=I Got 5 on it (Gumbo Funk Mix)
Tracknumber=03
Der Plan ist, die Daten aus diesen Text-Dateien in MP3-Dateien zu importieren. Die MP3s liegen wiederum in einer gespiegelten Verzeichnisstruktur, analog der Text-Dateien-Verzeichnisstruktur. Auch die Dateinamen sind gleich, bis auf die Erweiterung. ...
Es gibt in Mp3tag mehrere Wege, Metadaten in eine Musikdatei zu importieren.
- Manuell via Einzelfeldbearbeitung über unterschiedliche Dialogmethoden wie Tag-Panel, Listenansicht, Erweiterte Tags, Aktionen, Konverter, Webquellenskript, Zwischenablage.
- Automatisiert via Aktionen, Konverter.
Zum einfachen 'Stempeln', zum Übertragen eines kompletten Tags, benutzt man manuell die Zwischenablage, also die Methode 'copy&paste'. Das funktioniert von einer Datei zur anderen Datei (1:1) ebenso wie von einer Datei zu einer Dateigruppe (1:n) ebenso wie von einer Dateigruppe zur anderen Dateigruppe (n:n).
Zum Importieren bzw. Ergänzen von vielen einzelnen Werten in verschiedene Tag-Felder benutzt man den Dialog 'Konverter/Textdatei-Tag'.
Das ist eine erprobte und einfache und flexible Methode.
Die Daten für eine Musikdatei müssen jeweils in einer Zeile der Textdatei liegen.
Eine Zeile wird vom Konverter prinzipiell so ausgewertet wie die Aktion 'Tag-Felder formatieren' es macht.
Um eine Textzeile eindeutig an eine Datei zu binden, muss die Zeile einen absoluten Dateipfad enthalten, der im Formatstring der Pseudo Variablen '%_path%' zugeordnet werden muss.
Eine Textdatei im Format einer INI Datei wie in deinem Beispiel oben kann mit dem Konverter nicht verwendet werden.
Eine INI Datei muss deshalb umformatiert werden von der spaltenorientierten Form in eine zeilenorientierte Form.
Viele solcher Zeilen ergeben dann eine Importdatei für den Konverter zur Bearbeitung von vielen Musikdateien.
Das Umformatieren lässt sich mit Textbearbeitungsfunktionen in einem Editor oder sonstwie sicherlich auch automatisieren.
Vielleicht bieten die von dir verwendeten Tag-Auslese-Programme auch ein CSV Ausgabeformat an, das von Mp3tag direkt verwendet werden kann.
Neben den oben genannten 'normalen' Importmethoden kann man sich auch noch andere Methoden vorstellen.
Zum Beipiel das Importieren der INI Datei in ein Tag-Feld, wie man es auch mit einem Lyriktext machen würde mit der Aktion 'Textdatei importieren'.
Wenn die INI Daten in einem Tag-Feld vorhanden sind, dann kann man Funktionen von Mp3tag benutzen und die 'Schlüssel=Wert' Zeilen zerlegen und irgendwie weiter verwenden.
Zum Beispiel so:
1.
Aktion 'Text-Datei importieren' ausführen.
Import von einer INI Datei in ein Tag-Feld.
Der Feldname kann frei gewählt werden.
Der Textdateiname ist skriptfähig, und kann so definiert werden, dass er auf die jeweilige Musikdatei bezogen durch eine Ordnerstruktur sozusagen mitläuft.
Feld:
IMPORT
Dateiname:
MeineImportDatei.txt
-
Aktion 'Tag-Feld formatieren' ausführen.
Feld:
IMPORT
Formatstring:
$replace(%IMPORT%,$char(13)$char(10),$char(92)$char(92))
Nach diesem Schritt gibt es das Tag-Feld IMPORT als sogenanntes 'Mehrwert-Tag-Feld', für das die Mp3tag Meta-Funktionen vorgesehen sind.
Mit $meta(IMPORT,10) kann man sich den zehnten Eintrag anzeigen lassen.
Dem Beispiel oben entsprechend erhält man die Ausgabe 'Tracknumber=03'.
-
Aktion 'Tag-Felder importieren' ausführen so oft Felder zu beschreiben sind.
Quellformat:
$regexp($meta(IMPORT,0),'^(.+?)=(.+?)$','$2')
Formatstring:
%ALBUM%
... bis ...
Quellformat:
$regexp($meta(IMPORT,10),'^(.+?)=(.+?)$','$2')
Formatstring:
%TRACK%
-
Aktion 'Tag-Felder entfernen'.
Feld:
IMPORT
Nach diesem Schritt hat man alle die Felder mit den Werten gefüllt wie sie in der INI Datei definiert sind.
Diese Methode ist nicht sehr flexibel, aber eingermaßen brauchbar.
Man muss darauf achten, dass die Feldstruktur in der INI Datei immer dieselbe ist, und die Formatierungsaktiionen dem entsprechend korrekt konfiguriert sind.
Beispiel TXT Datei:
Import.txt (283 Bytes)
Beispiel MTA Datei:
Test_2011_LosMintos.Import.mta (1.05 KB)
Den Punkt 3 kann man auch anders gestalten (einfacher? schneller?).
3.
Aktion 'Tag-Feld formatieren' ausführen so oft Felder zu beschreiben sind.
Feld:
ALBUM
Formatstring:
$regexp($meta(IMPORT,0),'^(.+?)=(.+?)$','$2')
... bis ...
Feld:
TRACK
Formatstring:
$regexp($meta(IMPORT,10),'^(.+?)=(.+?)$','$2')
Beispiel MTA Datei:
Test_2011_LosMintos.Import.2.mta (1.04 KB)
DD.20110304.1158.CET
Edit.DD.20110304.1515.CET
Test_2011_LosMintos.Import.mta (1.05 KB)
Import.txt (283 Bytes)
Test_2011_LosMintos.Import.2.mta (1.04 KB)