Wie schreibe ich eine automatisierung?

Hallo Liebe Community,

ich möchte etwas automatisieren und weiß nicht wie:
ich habe folgende Dateien:

Bei den ersten sechs Tunes ist die Struktur:
(ALBUM YEAR) ARTIST - TITLE

bei den folgenden zwei:
COMMENT YEAR - ARTIST - TITLE

und bei der letzten:
COMMENT YEAR - (ALBUM) ARTIST - TITLE

Eine Besonderheit bei Datei Nummer 7 ist, das am Ende in Klammern das Wort Instrumental steht, und anders formatiert werden soll.
Hier soll der Titelname aus dem ALBUM,oder wenn wie hier nicht vorhanden dem TITLE und dem Wort RIDDIM bestehen. Der TITLE aus TITEL ,oder wenn vorhanden dem Komponisten, und dem Wort VERSION bestehen. Ausserdem soll dem Genre folgende Zeichenkette hinzugefügt werden:
/ INSTRUMENTAL.
Also so:
TITLE:Owe Me Nothing RIDDIM
ARTIST:Voice, Skinny Fabulous VERSION
GENRE:Soca / INSTRUMENTAL [ach ja das Genre ist schon vorhanden:Soca]

Desweiteren soll das ID3v1 Tag entfernt und nur ID3v2.3 in der Datei verbleiben.

Alle Cover Bilder auf 999x999 verkleinert und mehr komprimiert werden.

In WWWPUBLISHER soll caribbeanmusicpool stehen.

Album-Interpret soll entfernt werden, auch INITIALKEY, SUBTITLE, WWWARTIST,SERATO_PLAYCOUNT,ENCODEDBY.

Was anfangs in CONDUCTOR steht soll nun am Anfang in COMMENT stehen.

So sieht die erste Datei unbearbeitet aus:

Zum Schluss soll sie so aussehen:

Hier sieht man auch die Struktur, bei COMMENT steht nicht einfach nur COMMENT sondern eine Folge aus Bedingungen. Zuerst das Aktuelle Datum in eckigen Klammern genau wie hinter dem Album im Format [MM-YYYY] gefolgt von einem LEERZEICHEN einem - wieder LEERZEICHEN einem # und dahinter der Wert der in CONDUCTOR steht.

Wie macht man das?

Ich habe schon mehrere Stunden und Möglichkeiten durchgespielt und auch KIs gefragt, aber ich schaffe es einfach nicht.
Aktion oder Script und wenn Script wie macht man das????

Ich weiß das ist ganz schön viel, aber ich würde mich freuen wenn Ihr mir helfen könntet.

Danke an alle Antworten schon einmal im Voraus!

Mit einzelnen Aktionen die Schritt für Schritt die Veränderungen vornehmen.

Bei Deinen sehr unterschiedlichen Ausgangslagen wirst Du nicht darum herumkommen, die passenden Dateien zuerst zu suchen/filtern und dann die entsprechend zugehörigen Aktionen ausführen zu lassen.

Es gibt keine Möglichkeit Aktionen so zu schreiben, dass sie "immer und überall" passen.

Eine Ausnahme besteht dann, wenn Du für 100% aller Dateien die gleiche Änderung durchführen willst, z.B. caribbeanmusicpool in WWWPUBLISHER zu schreiben. Da spielt es ja keine Rolle, ob es dieses Feld schon gibt oder welchen Inhalt es hat. Du setzt es einfach für alle neu.

Das gleiche gilt, wenn Du für 100% aller Dateien etwas entfernen willst, also z.B. INITIALKEY, SUBTITLE etc. Das erledigt dann 1 Aktion "Remove fields" für alle Dateien, egal ob das Feld gibt oder nicht.

Mehrere Aktionen lassen sich auch zu Aktions-Gruppen zusammenfassen.
Aber wie gesagt: Eine Gruppe die dann für 100% Deiner Dateien "alles auf einmal" erledigt, gibt es nicht.

PS Bitte sag uns noch, ob Du das für Mac oder Windows möchtest.

Hallo LyricsLover,

eigentlich für die Windows Version, ich besitze aber auch die Mac Version.
Vorzugsweise (noch) benutze ich meinen Windows Rechner dafür.

Ich verstehe deine Antwort.
Aber ist es nicht möglich z.B. in Scripten Bedingungen zu definieren?
Wäre das nicht die Lösung?

LG

So richtige WENN -> DANN gibt es bisher nicht für Aktionen.
Man kann zwar mit Scripting-Funktionen wie IF gewisse Konstrukte abbilden, aber das wird sehr schnell sehr unübersichtlich. Spätestens in 14 Tagen weisst Du nicht mehr, wie die eigentlich funktionieren.

Ansatzweise geht das auch mit regulären Ausdrücken. Aber eben auch nicht für jede denkbare Variante.
Du wirst schnell mehr Zeit damit vergeuden alle erdenklichen Varianten zu testen, als wenn Du einfach für Deine tatsächlich vorkommenden Fälle eine passende Aktion machst.

Wenn dann mal eine neue Variante auftaucht, kopierst Du eine bestehende Aktion und passt diese an. Das ist viel effizienter, als die Suche nach einer Allzweck-Aktion (die es so nicht gibt).

Okay ich verstehe.
Gut dann müssen es halt einzelne Aktionen werden, besser als alles ständig händisch zu machen.

Genau.

Ich empfehle Dir, mit dem Konverter Dateiname -> Tag für die ersten 6 Stücke zu starten.
Das hat den Vorteil, dass Du immer sofort eine Vorschau siehst.
Probier es z.B. mit dem Formatstring
(%ALBUM% %YEAR%) %ARTIST% - %TITLE%

Wenn das passt, kannst Du danach immer noch Aktionen daraus machen.
Das hilft schneller zu testen und an passende Resultate zu kommen.

Das gilt dann auch für das Kopieren von Inhalten aus einem Feld in ein anderes:
Konverter Tag -> Tag
Dort könntest Du es für das Feld COMMENT mit
%CONDUCTER% - %COMMENT%
versuchen.
Wie gesagt, die Vorschau zeigt Dir sofort, ob das so passt oder Du noch Leerschläge, Trennzeichen oder Klammern einfügen oder wegnehmen musst.

Also das funktioniert natürlich nicht, weil der Album Name nicht aus einen Wort sorndern aus dreien besteht.
Aber das ist nicht schlimm so habe ich das ja bisher auch gemacht.
Allerdings würde ich mir wünschen, das wenigstens das Jahr und das davor stehende LEERZEICHEN gelöscht werden, bevor es in Album geschrieben wird (das Jahr ist ja in den allermeisten Fällen bereits gesetzt).
Wie mache ich das, da es oft sehr viele Dateien mit unterschiedlichem Albumnamen sind, erspare ich mir das händische rauslöschen des Jahres aus dem Album.

Leider gibt es kein eindeutiges Trennzeichen zwischen dem ALBUM und dem YEAR.

Rein theoretisch funktioniert es bei 3 Worten für das ALBUM bei
(The Ark Riddim 2025) Adam O - Flashing Lights.mp3
mit
(%ALBUM% %ALBUM% %ALBUM% %YEAR%) %ARTIST% - %TITLE%

Das funktioniert aber genau so logisch nicht mehr bei 2 Worten oder 4 Worten.

Wie anfänglich gesagt:
Es ist immer die Frage, wieviel Aufwand Du für jede mögliche Variante betreiben willst.

Mit einem regulären Ausdruck und einer Aktion vom Typ "Tag-Felder importieren":


Quellformat: $regexp(%_filename%,\((.*) (\d+)\) (.*) - (.*),$1==$2==$3==$4)
Formatstring: %ALBUM%==%YEAR%==%ARTIST%==%TITLE%

Erklärung regulärer Ausdruck:


Es wird nach einer öffnenden Klammer gesucht
dann nach beliebigen Zeichen
bis zu einem Leerschlag vor Zahlen
dann werden die Zahlen gruppiert
bis zu einer schliessenden Klammer und einem Leerschlag
dann nach beliebigen Zeichen gesucht
bis vor einem Leerschlag einem Bindestrich und einem Leerschlag
und danach wieder nach beliebigen Zeichen gesucht

Diese 4 Gruppen werden in $1 und $2 und $3 und $4 abgefüllt und mit == getrennt.
Diese Trennzeichen dienen dazu, im Formatstring die Werte in die einzelnen Felder abfüllen zu können.

Das sieht schlussendlich so aus:

wow.
Ich werde das durchprobieren.

Erst einmal vielen Dank für deine Mühe und die tolle Erklärung.

Ich wünsche Dir ein schönes Fest.
Bis demnächst...