Per Aktion ARTIST befüllen

Moin.

Wiederkehrend bearbeite ich mp3-Tracks, wo nur %_filename% bekannt ist. Z.B.:
02-Prosa P.Pan.mp3
07-Gedicht P. Pan.mp3

Per Aktion suche ich im %_filename% nach 'P.Pan' und beim Treffer wird %ARTIST% mit 'Peter Pan' befüllt:

$ifgreater($strstr(%_filename%,'P.Pan'),0,'Peter Pan',%ARTIST%)

Nun kommt es vor, dass im %_filename% der Name des Interpreten mal als 'P. Pan' (mit Leerzeichen) und ein andermal als 'P.Pan' (ohne Leerzeichen) steht.

Wie frage ich beide Schreibweisen in einer Aktion ab?

Gruß
Gerulus

Kommt man nicht pragmatisch schneller und einfacher zum Ziel, wenn man nach "P.Pan" und "P. Pan" filtert, alle angezeigten Dateien markiert und dann im Tagpanel "Peter Pan" manuell ins Artist-Feld einträgt?
Filterausdruck: %_filename% HAS "P.Pan" OR %_filename% HAS "P. Pan"

Hallo poster.

'Peter Pan' ist nur ein Bsp., und tatsächlich habe ich bis vor Kurzem jeden der zig Interpreten manuell eingepflegt.

Mit den Aktionen

$ifgreater($strstr(%_filename%,'P.Pan'),0,'Peter Pan',%ARTIST%)
$ifgreater($strstr(%_filename%,'P. Pan'),0,'Peter Pan',%ARTIST%)

habe ich zwei Abfragen je Artist.

Wie frage ich beide Schreibweisen in einer Aktion ab? Gern auch eleganter als vorgestellt.

Gruß
Gerulus

Ja, das glaube ich.
Allerdings stellt sich mir trotzdem die Frage: wie oft im Leben einer Datei muss dieses Suchen und Ersetzen passieren?
Ich hätte jetzt vermutet, das passiert genau 1x für die erste Kombination "P.Pan" und dann ein 2. Mal für "P. Pan" - und danach stehen in allen Dateien die richtigen Namen und man braucht die Aktion nie wieder.

Hast du mal probiert, wenn man

und den von @poster beschriebenen Weg geht? Der erscheint mir schneller zu sein als für diesen Zweck extra Aktionen zu schreiben.

Danke für die Antworten!

Der von @poster beschriebene Weg ist getestet und funktiniert. Ist für mich jedoch keine Verbesserung der Situation:
Bisher kommen hier wöchentlich ca. 20 mp3-Tracks hinzu. Die neuen Tracks mit Metadaten händisch zu bestücken ist mühsam. Bin soweit, dass ich 30 von den insgesamt ca. 50 Interpreten anhand von %_filename% per obig vorgestellten Aktion zuordnen kann.

Wie frage ich beide Schreibweisen in einer Aktion ab? Gern auch eleganter als vorgestellt.

Gruß
Gerulus

Wozu muss das in 1 Aktion passieren?
Du kannst doch beliebig viele Aktionen in 1 Aktionsgruppe zusammenfassen und die Aktionsgruppe dann laufen lassen.
Ansonsten fällt mir kein wirklich kürzerer Weg ein.
Wenn wirklich immer dieselben

in

dazukommen, könnte ggf. eine Liste für vordefinierte Werte für die einzelnen Felder helfen.

Um mehrfache Schreibweisen durch eine zu ersetzen:
$regexp(%artist%,(P Pan|P. Pan),Peter Pan)
Dazu würde ich aber das Feld ARTIST erst mal füllen und dann nur in dem Feld die Aktion laufen lassen und nicht die Abhängigkeit zum Dateinamen herstellen.
Dann könnte man allerdings auch viel einfacher
$replace(%artist%,P. Pan, Peter Pan, P Pan, Peter Pan,K West, Kanye West,K. West, Kanye West)
basteln.
Und da nur Treffer ersetzt werden, muss man auch nicht mühsam vorher prüfen, was im Dateinamen steht.

Mir geht es um den Pflegeaufwand. Möchte halt in der Aktionsgruppe nicht 100 sondern nur 50 Abfragen eingeben. Ich möchte auch das Feld ARTIST möglichst nicht mehr händisch füllen.

Mein jetziges Vorgehen für jeden Interpreten, das möchte ich gern halbieren:

  1. In der Aktionsgruppe erstelle eine neue Aktion "Tag-Feld formatieren".
  2. Feld > "ARTIST"
  3. Formatstring > "$ifgreater($strstr(%_filename%,'P.Pan'),0,'Peter Pan',%ARTIST%)"
  4. In der Aktionsgruppe erstelle eine neue Aktion "Tag-Feld formatieren".
  5. Feld > "ARTIST"
  6. Formatstring > "$ifgreater($strstr(%_filename%,'P. Pan'),0,'Peter Pan',%ARTIST%)"

Wie packe ich die Suche nach 'P.Pan' und 'P. Pan' in nur einen Formatstring ein? Wie frage ich syntaktisch korrekt ab: wenn in %_filename% entweder 'P.Pan' oder 'P. Pan' gefunden wird, dann setze %ARTIST% auf 'Peter Pan'?

Gruß
Gerulus

Wenn die Voraussetzung ist, dass der unstrukturierte Dateiname auf eine bestimmte Zeichenkette hin untersucht wird, erscheint mir die vorhandene Lösung am einfachsten.
Man könnte die beiden Bedingungenen
($strstr(%_filename%,'P.Pan') und
($strstr(%_filename%,'P. Pan') und vielleicht noch
($strstr(%_filename%,'P Pan')
mit $or() verknüpfen.
z.B.
$if($or($grtr($strstr(%_filename%,P. Pan),0),$grtr($strstr(%_filename%,P.Pan),0)),Peter Pan,%artist%)

... aber ist das wirklich sparsamer? Spätestens bei der 3. Schreibweise wird es mit dem $OR() und den Klammern schon unübersichtlich.

kann insofern abgekürzt werden als eine Aktion innerhalb einer Aktionsgruppe auch einfach dupliziert werden kann. Dann musst du nur noch die Änderung eintragen - und das müsstest du bei jedem anderen Ansatz auch.

Danke für die Hilfe an @ohrenkino und @poster.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.