Nun gibt es aber auch diese:
\TAN DUN & BBC CONCERT ORCHESTRA...
\TAN DUN FEAT BBC CONCERT ORCHESTRA...
\TAN DUN + BBC CONCERT ORCHESTRA...
Seht Ihr eine Möglichkeit, wie ich prüfen könnte, welches Verzeichnisnamen Interpreten enthalten, die z.B. NICHT in der MusicBrainz-DB als ARTIST geführt werden? Ich stell mir eine Liste mit Verzeichnisnamen (wie die letzten 3 Beispiele) vor, die ich dann manuell auf den tatsächlichen Interpreten korrigieren/reduzieren könnte.
Hat jemand eine Idee, wie man das am besten anpackt?
Wenn ich das richtig sehe, geht es darum, dass der Ordnername nicht dem Feld %artist% entspricht - alles andere kannst Du besser mit einem Report erschlagen, der dir alle %artist% aufzeigt. Da müsstest Du dann allerdings manuell durch, da Sprache nun mal unlogisch ist und sich solche Abweichungen wie du oben mit den Metazeichen geschrieben hast, kaum formal erfassen lassen, da sie semantische Gleichheiten darstellen, aber formal völlig unterschiedlich sind.
Es sei denn, du sagst, was womöglich gleich sein könnte.
Ich würde mir erstmal einen Überblick über die Abweichungen durch einen Filter schaffen. Was soll jetzt in dem Filter drin stehen?
Es gibt einen Teil, der bis zum Namen des Künstlers geht, also z.B.
e:\mp3musik
(das sind 12 Zeichen)
Dann kommt der Künstler hinzu, in variabler Länge:
$len(%artist%)
Und dann guckst Du, ob dann das nächste Zeichen der Rückwärtsschräger ist
Du kannst z.B. eine Spalte einrichten mit dem Wert
$mid(%_path%,$add($len(%artist%),25),1)
Die "25" musst du abzählen und entspricht dem Pfad vom Laufwerksbuchstaben bis zu dem Zeichen unmittelbar vor dem Namen des Künstlers, dann muss noch 1 dazugezählt werden, damit auch der Schräger nach dem Künstler erwischt wird - probier es aus.
Du kannst dann nach der Spalte sortieren und findest so alle, die keinen Schräger haben. Was du dann mit denen tust .... Das ist Sprache.
Wenn der Ordnername der einzige Ort ist, an dem die Artistennamen zu finden sind, dann käme als erster Schritt in Betracht, den Ordnernamen in die Artistennamen zu zerlegen und die einzelnen Werte in einzelne temporäre Tag-Felder oder in ein multi-value Tag-Feld zu schreiben.
Dann die Mp3tag Export Funktion benutzen, um Artisten und Dateipfad in eine Textdatei zu schreiben. Eine Liste mit jeweils einem Artist und Dateipfad je Zeile, sortiert nach Artist, wäre sinnvoll.
In der Liste macht man sich dann die Markierung, ob Artist in MB DB vorhanden ist oder nicht.
Die Markierungen kann man mit Mp3tag in ein Tag-Feld in die Dateien importieren.
Die Dateien mit Markierungen kann man gefiltert anzeigen lassen und manuell oder automatisiert bearbeiten.
Danke Euch beiden für die hilfreichen und interessanten Möglichkeiten! Ich probier die heute Abend gerne aus.
Mir kam in der Zwischenzeit noch folgende Variante in den Sinn:
Wie beurteilt Ihr die Möglichkeit den aktuellen Pfadnamen
via Webscript direkt bei Musicbrainz prüfen zu lassen und als Antwort z.B. "existiert" oder "gibts nicht" zu bekommen oder bei mehreren Möglichkeiten gar eine Auswahl?
So wie z.B. dano in verschiedenen Webscripts ja schon nach Album oder Artist sucht, müsste das im Prinzip doch auch mit einem (oder mehreren) Interpreten im Pfadnamen gehen? Oder überseh ich da was?
Ebenfalls gute Idee!!
Ein zusätzlicher (temporärer) Tag wäre mein Plan C gewesen
Mich hat aber noch der Hafer gestochen und die bereits vorhandenen Platzhalter für die verschiedenen Pfad-Elemente liessen mir keine Ruhe. So kam ich mit ein wenig Hirnschmalz und ausprobieren auf folgenden Wert für eine neue Spalte: $mid(%_folderpath%,15,$sub($len(%_folderpath%),$len(%_directory%),$len(%_parent_directory%),17))Entscheidend für das korrekte Funktionieren ist folgendes:
Wie schon von ohrenkino erwähnt, muss man einmalig die Startposition des gewünschten Teils des Verzeichnisses manuell zählen. In obigem Beispiel steht die Zahl 15 für die Position 15 aus dem Pfad:
Danach ist es "nur" noch Mathematik, hier kurz erklärt:
$mid(%_folderpath%, -> Schnippselt aus dem Platzhalter %_folderpath%
15, -> ab fixer Position 15 die folgende zu errechnende Längenangabe pro Track
$sub($len(%_folderpath%),$len(%_directory%),$len(%_parent_directory%), 17))
-> SUBtrahiert von der Länge des Platzhalter-Inhalts %_folderpath% die Länge des Platzhalter-Inhalts %_directory% und die Länge des Platzhalter-Inhalts %_parent_directory% und 17 Zeichen*
17 Zeichen = 15 Stellen die wir oben überspringen + 2 x Backslashes (1 x für das Jahr-Verzeichnis und 1 x für das Album-Verzeichnis)
Damit fummle ich aus dem Verzeichnispfad den gesuchten Teil mit dem Interpreten raus und stelle diesen in einer eigenen Spalte dar. Das hat für mich den Vorteil, dass ich damit nun (hoffentlich) ein Webscript leichter anpassen und zudem mit sortieren und filtern weitere manuelle Korrekturen vornehmen kann.