Beim Konverter Tag - > Dateimane" Zeichen ersetzen


#1

Hallo,

2 Fragen:

Wenn ich den Konverter Tag -> Dateiname benutze, werden ja bestimmte Zeichen wie z. B. / einfach weggelassen, weil sie zu den nicht erlaubten Zeichen in Windows-Dateinamen gehören. So weit, so gut.

  1. Frage: Wo sind diese Regeln in MP3Tag definiert und kann ich sie ändern?

  2. Frage: Ich möchte gerne die Zeichenkombination ": " (z. B. im Feld Titel) beim Umbenennen des Dateinamens durch "_" ersetzen. Kann ich diese Regel irgendwie in den Formatstring reinbasteln?

Bis jetzt sieht der so aus bei mir:

[$num(%discnumber%,1)"."]$num(%track%,2) - %title% - %album% - %artist%

Beispiel: Im Tag-Feld Titel steht "Song 1: Einleitung". Es soll dann der Dateiname so aussehen: 01 - Song 1_Einleitung - Album - Artist

Danke schonmal

Edit: Das war jetzt gar nicht so schwer... :slight_smile:

[$num(%discnumber%,1)"."]$num(%track%,2) - $replace(%title%,: ,_) - %album% - %artist%

Nur wenn mir da noch mehr Regeln für noch weitere Felder einfallen, wird der Formatstring ganz schön unübersichtlich.


#2

Du könntest die Funktion $validate für das Erzeugen gültiger Dateinamen verwenden.
Siehe die Online-Hilfe>Skriptbefehle.


#3

Diese Regel ist fest kodiert in der Funktion $validate ...
und es wäre unsinnig, diese Regel verändern zu wollen.

Benutze $validate für den kompletten Dateipfad ...

$validate([$num(%DISCNUMBER%,1)'.']$num(%TRACK%,2)' - '%TITLE%' - '%ALBUM%' - '%ARTIST%,'_')

Das kann man machen mit der Funktion $replace.

Siehe auch ...
Character remapping during conversion?

DD.20130127.1857.CET


#4

Jou, vielen Dank erstmal. Ich denke, damit kann ich schon was anfangen.

Edit: Ich hab ne Lösung gefunden, mit der ich gut leben kann.

$replace([$num(%discnumber%,1)"."]$num(%track%,2) - %title% - %album% - %artist%,:,¦,",'')

Der Doppelpunkt wird zur unterbrochenen Linie und die Anführungszeichen zum Apostroph. Den Rest erledigt ja sowieso die "eingebaute" Validate-Funktion. Ich kann den Formatstring einfacher halten, weil ich den Konverter nur nach dem Taggen benutze.


#5

Das wäre z. B. ein Skriptausdruck, den Mp3tag fehlerfrei versteht ...

$replace([$num(%DISCNUMBER%,1)'.']$num(%TRACK%,2)' - '%TITLE%' - '%ALBUM%' - '%ARTIST%,':','¦','"','')

DD.20130128.0015.CET


#6

Ok, die Apostrophe sind klar, aber wozu die Tagfelder in GROSS?


#7

Eigentlich sind das ja nicht die Tagfelder, sondern die Inhalte bzw. Werte der Tagfelder.
Wenn man außer den Namen des Tagfelds (ARTIST) auch den Wert des Tagfelds (%ARTIST%) in großen Buchstaben schreibt, dann hebt sich das vom Schriftbild her deutlich ab gegen die ansonsten klein geschriebenen Funktionsnamen.
Außerdem entspricht Großschreibung der Darstellung im Dialog "Erweiterte Tags...".
Manchmal wird gesagt, dass Kleinschreibung besser zu lesen sei.

Weil die Mp3tag Skriptsprachen eine ziemlich freizügige Syntax bzw. Grammatik haben, kommt es bei der Anwendung auch immer wieder zu unendlich vielen Versuchen, was denn nun die richtige Schreibweise sei, und damit zu Verständnisproblemen und zu Unsicherheit im Umgang mit Mp3tag.
Das müsste nicht sein, wenn die Syntax nicht so lose wäre.

DD.20130128.1610.CET


#8

Ist klar. Ich hab nur gefragt, weil es überall in der Hilfe klein geschieben wird. In der "Title Formatting Reference" für foobar2000 steht auch alles klein. Eigentlich hab ich das noch nirgends groß geschrieben gesehen...