Slash-Ersatz im Dateinamen


#1

Oftmals werden bei Websources Titelkombinationen oder Bestandteile von Medleys durch einen Slash ohne Leerzeichen vor und nachher getrennt.
Im Dateinamen fange ich das mit
$replace(%title%,/, -- )
gezielt ab, damit das Zeichen nicht nur einfach ausgelassen wird.
Ein einfaches trennendes " - " ist nicht richtig geeignet, weil ich im Dateinamen %track%, %artist% und %title% bereits durch dieses trenne und da gerne einen erkennbaren Unterschied habe.

Bei manchen Titeln führt das jedoch zu einer unerwünschten Nebenwirkung, die ich anschließend durch eine weitere Aktion wieder beseitigen muss. Wie kann ich die Ausnahmen in folgendem Beispiel direkt abfangen, damit dort für "/" nur ein einfaches "-" ersetzt wird.

Aus dem Titel
Alle meine Entchen/Häschen in der Grube (Live aus dem Kindergarten Rumpelstilz, 10/12/2016)

soll im Dateinamen werden
Alle meine Entchen -- Häschen in der Grube (Live aus dem Kindergarten Rumpelstilz, 10-12-2016)


#2

Tja, einen Tod kann man nur sterben.
Und wenn der eine Schrägstrich eine andere semantische Bedeutung hat als der andere, dann muss man die auch separat behandeln.

So ginge es z.B. dass die Ursprungsdaten schon entsprechend aufbereitet sind und der normale Schrägstrich durch was anderes ersetzt ist.

Die deutsche Schreibweise für ein Datum ist meiner Ansicht auch nicht 10/12/2016 oder 10-12-2016 sondern 10.12.2016.

Oder eben einen Teilstring mit $regexp() aufbereiten ...

Denn das Problem gibt es doch nicht nur im Titel, sondern auch in den bekannten Gruppen
AC/DC -> AC--DC
De/Vision -> De--Vision
Colorbox M/A/R/R/S -> Colorbox M--A--R--R--S


#3

Klar, kann man.
Aber das ist ja nicht das eigentliche Problem, denn es geht ja um Behandlung vom Websource-Tagging.
Ob ich bereits den Titel-Tag ändere oder erst den Dateinamen bleibt sich letztlich gleich - es geht nicht ohne weiteren Eingriff.

Naja, die überwiegende Anzahl meiner Titel ist ja nicht deutsch. Und ich deutsche auch nicht die üblichen englischen Datumsformate im Titel ein. Wenn das "Websource-Original" ein Datum mit Punkten hat, lasse ich es auch einfach so.

Ich hatte gehofft, dass eventuell per $regexp() eine Erkennung des Datum-Strings und so eine davon abhängige andere Ersetzung der "/" innerhalb dieses möglich wäre.

Albumartist und Artist ändere ich grundsätzlich bereits im Tag und vermeide dort diese Problematik.
Zwar wäre es schöner, AC/DC im Tag zu haben als AC-DC aber irgendwo muss man ja Kompromisse eingehen. Und sich für ein paar Interpreten auf eine einheitliche dateinamenkomforme Schreibweise festzulegen hat eine andere Dimension als für jede Menge Titel.
Bandnamen wie "? & the Mysterians" entziehen sich sowieso einer automatischen Ersetzaktion für Einzelzeichen und die heißen somit bei mir im Tag gleich "Question Mark & the Mysterians".

Man sollte solche problematischen Bandnamen durch den Gesetzgeber verbieten. Was könnte ich alles an Denkprozessen sparen, wenn ich nicht immer auf solche Problemfälle stoßen würde. :wink:


#4

Ja, oder einfach Dateinamen so lassen, wie sie bei Behandlung der Daten durch $validate() als gültig erzeugt werden. Den Dateinamen als Datenspeicher zu nehmen, ist doch sowieso ne Krücke, da es auch noch Längenbeschränkungen gibt.
Ich würde da nicht lange rumziselieren, weil man am Ende doch einen Kompromiss eingehen muss, und alle Anstrengungen davor eigentlich vergebliche Liebesmüh waren...
Aber da ist jeder Herrscher seiner eigenen Reusen.
Und nicht alles, was hinkt, ist ein Vergleich.


#5

Den normalen Schrägstrich "/" (solidus, englisch slash) kann man ersetzen mit einem ähnlich aussehenden Zeichen aus dem Unicode Zeichensatz, z. B. "⁄".
So kann man den Dateiname erzeugen: "TEST ⁄ TEST.mp3"

Siehe auch:
https://de.wikipedia.org/wiki/Schr%C3%A4gstrich
https://en.wikipedia.org/wiki/Slash_(punctuation)

DD.20170718.1200.CEST


#6

Danke Detlev für den Hinweis.

Ich habe bisher immer davon Abstand genommen allzu exotische Zeichen zu nehmen, weil es da oftmals zu Kompatibilitätsproblemen kommen kann.
Zwar liegt die Schuld dann wohl prinzipiell bei der Software die damit nicht klar kommt, ich muss aber dann die Folgen tragen. Und was irgendein Hardware-Player damit macht, den ich vielleicht in Zukunft irgendwann haben werden, kann ich auch nicht absehen.

Habe gerade mal das Zeichen im Dateinamen getestet und das diesbezüglich sensible MP3Val bleibt wie üblich in solchen Fällen stecken und Lamedrop beendet sich sofort.