Source-Script für www.imdb.de

Es gibt keine Varianten, denn Mp3tag speichert jedes "multi-value" Tag-Feld immer in demselben dafür vorgesehenen technischen Format.

... ist, aber was hat das für einen Sinn?

Auch wenn mehrere Dateien zur Bearbeitung selektiert sind, so arbeitet Mp3tag nacheinander immer nur mit einer Datei.
Was hat dieses Problem mit Metadaten zu tun?

Durch diesen Beitrag ...
Multi-value storage non-complies with ID3 V2.3, V2.44
[X] Multi-value storage non-complies with ID3 V2.3
... ist klargestellt wie Mp3tag "mehrwertige" oder "multi value" Tag-Felder intern speichert.
Mp3tag verwendet als Trennzeichen zwischen den Listenelementen das nicht als Text darstellbare Zeichen "binäre Null".

Praktisch ist ein "multi value" Tag-Feld eine Liste von Zeichenketten, die semantisch zusammengehören und unter demselben Tag-Feld Namen verwaltet werden.

Im Mp3tag Dialog "Extended Tags..." wird das so dargestellt:
ARTIST=Aaron Taylor-Johnson
ARTIST=Jasper Harris
ARTIST=Carole Boyd
ARTIST=Bob Goody
ARTIST=Jim Carter

In Mp3tag Dialog Eingabefeldern wird das so dargestellt:
Aaron Taylor-Johnson\\Jasper Harris\\Carole Boyd\\Bob Goody\\Jim Carter

Mp3tag übersetzt die technische "binäre Null" in eine praktische Ersatzdarstellung, die von Menschen lesbar ist.
Im Mp3tag Dialog "Extended Tags..." geschieht das im Format der "vertikalen Liste" von einzelnen Tag-Feld Werten unter dem gemeinsamen Tag-Feld Namen.
In anderen Dialogen oder Anzeigen geschieht das im Format der "horizontalen Liste".
In der horizontalen Liste verwendet Mp3tag die Trennsequenz "zwei Backslash Zeichen" (\\), weil das eine Zeichenkette ist, die sehr selten für andere Zwecke gebraucht wird.

Mp3tag stellt besondere Skriptfunktionen für Tag-Felder bereit, die sogenannte Metadaten enthalten:
$meta(x) liefert den Inhalt des Feldes x (z.B. $meta(artist)).
Falls mehrere Felder mit diesem Namen existieren, werden die Werte mit ", " getrennt.
$meta(x,n) liefert den n-ten Wert des Feldes x (wobei n bei 0 beginnt, z.B. $meta(artist,1)).
$meta_sep(x,sep) liefert den Inhalt des Feldes x (z.B. $meta_sep(artist,; )).
Falls mehrere Felder mit diesem Namen existieren, werden die Werte mit sep getrennt.

Für besondere Anwendungszwecke kann man als Benutzer mit der Funktion $meta_sep(x,sep) selbst bestimmen, welche Trennsequenz verwendet werden soll, z. B. ...

$meta_sep('ARTIST','+++')

... erzeugt die horizontale Liste ...
Aaron Taylor-Johnson+++Jasper Harris+++Carole Boyd+++Bob Goody+++Jim Carter

$meta_sep('ARTIST',', ')

... erzeugt die horizontale Liste ...
Aaron Taylor-Johnson, Jasper Harris, Carole Boyd, Bob Goody, Jim Carter

Bei einer Textausgabe via Export könnte man jeden einzelnen Wert eines "multi value" Tag-Feldes in eine separate Zeile schreiben, so dass man eine vertikale Liste erhält ...

$meta_sep('ARTIST',$char(13)$char(10))

... erzeugt die vertikale Liste ...
Aaron Taylor-Johnson
Jasper Harris
Carole Boyd
Bob Goody
Jim Carter

Wie man sieht gibt es mehrere Varianten der Darstellung für "multi value" Tag-Felder.

In diesem Beitrag ...
/t/12748/1
... ist ein Export-Skript bereit gestellt, dass "multi-value" Tag-Felder ausgeben kann.

In diesem Beitrag ...
Working with multiple value tags
... wird das Problem beschrieben, dass ein "multi value" Tag-Feld mit der Aktion "Tag-Feld formatieren" nicht kopiert werden kann. Es wird nur der erste Teil-Wert übernommen.

In diesem Beitrag ...
/t/13494/1
... gibt es Hilfestellung zur Umwandlung von "multi value" nach Textliste und zurück.
Siehe auch ... Aktion "Tag-Feld aufteilen".

Und ... wie gesagt ... mit dem Tag-Feld ARTISTSORT funktioniert dieser Formatstring ...

$trimRight($regexp($meta_sep('ARTISTSORT',', ')', ','^((?:.+?, ){1,3}).*$','$1'),', ')

DD.20121013.1140.CEST

Danke für die ausführliche Beschreibung. Mir ist vieles klarer geworden. Außerdem hast Du mir wertvolle Anregungen gegeben.

Meine Beschreibung war vielleicht etwas ungenau, deshalb hier ein Sceenshot.
Unter Erweiterte Tags erhalte ich die horizontale Liste bei ARTIST und die vertikale Liste bei ARTISTSORT. Bei anderen Einträgen ist vertikale Liste bei ARTIST.





Dein Formatstring funktioniert, wenn "Erweiterte Tags" für ARTIST die vertikale Liste zeigt. Gründe dafür konnte ich nicht ermitteln.



Frage: Von wo oder wie "erhältst du die horizontale Liste bei ARTIST"?

Wenn man den Inhalt von ARTIST im Dialog "Erweiterte Tags..." als horizontale Liste sehen kann, dann handelt es sich dabei nicht um ein multi-value Tag-Feld, sondern um ein normales Tag-Feld.

Wenn mit "erhalten" gemeint ist, dass die Daten mit einem Websource-Skript geholt werden, dann darfst du danach das nochmalige Speichern der Datei nicht vergessen, denn erst beim Speichern macht Mp3tag aus der horizontalen Liste ein echtes multi-value Tag-Feld.
Auf diese Besonderheit wurde im Forum schon hingewiesen (von pone?).

DD.20121013.1911.CEST

zu Abs. 1: Ich erhalte die horizontale Liste bei ARTIST m Dialog "Erweiterte Tags..."

zu Abs. 2: Jetzt ist mir klar, warum Dein Formatscript nicht funktioniert hat. ARTIST war gar kein multi-value Tag-Feld.

zu Abs. 3: Die Daten stammen aus dem Websource-Skript IMDB. Ich habe wohl nur einige Datensätze editiert und die dann gespeichert. Das erklärt, dass dann Dein Formatscript einwandfrei funktioniert hat! Nur dies ware wirkliche multi-value Tag-Felder.

Danke für diese Deine Analyse.

Hier die überarbeiteten Web Skripte so wie von die gewünscht.

Bei Actors / Artist hab ich jetzt Mulitvalue gelassen. Du kannst das aber leicht selber ändern. Ich hab die betreffende Zeile im Skript mit einem Komentar gekennzeichnet und die alternative Zeile für ein normales Tag Feld direkt darunter geschrieben. Wenn du das ändern willst, das Rauten Zeichen # am Zeilenanfang eine Zeile nach oben verschieben. Eine Raute markiert in der Web Sources Programmsprache immer einen Kommentar, alles dahinter ist quasi deaktiviert.

Das mit den Mulit-Tag-Feldern ist wirklich ziemlich umständlich in Mp3tag. Hab das des öfteren schon zur Verbesserung angeregt, da scheint sich aber nicht viel zu tun.
Ich zerlege die Multi-Tag-Felder mitlerweile immer mit folgender Aktionsgruppe:

Anfang Aktionengruppe &Video#&Multitag Felder trennen (nach IMDB Script)

Aktion #1
Aktionstyp 16: Tagfelder aufteilen
Feld _______: ARTIST
Trennzeichen: </b>

Aktion #2
Aktionstyp 16: Tagfelder aufteilen
Feld _______: COUNTRY
Trennzeichen: </b>

Aktion #3
Aktionstyp 16: Tagfelder aufteilen
Feld _______: GENRE
Trennzeichen: </b>

Ende Aktionengruppe &Video#&Multitag Felder trennen (nach IMDB Script) (4 Aktionen)

_IMDB_Pone_mbaa3___Search_by__Title.src (6.99 KB)

_IMDB_Pone_mbaa3_Direct_by_Release__ID.src (5.26 KB)

Danke für das Websource-Skript IMDB. Ich habe es sofort ausprobiert. Einwandfrei! wozu ist eigentlich das zweite Script?

Das erste ist um anhand des Film Titels zu suchen.
Das zweite um mit der IMDB ID-Nummer (die Nummer in der URL eines Filmes, beginnend mit tt...) direkt auf einen Film zuzugreifen. Falls sich mal der Fall ergibt, dass die Suche über das Skript nichts findet oder zu unübersichtlich ist, man aber den Film im Web Browser gefunden hat. Dann einfach die ID Nummer kopieren und für die Suche verwenden. Brauch ich aber eigentlich auch nie, da die Suche ganz gut funktioniert.

Jetzt, nach einigen Monaten habe ich das Script _IMDB_Pone___Search_by__Title.src ( 6.38K ) wieder benutzen wollen. Es funktioniert nicht mehr. Wurde das Interface geändert? Wer hat eine angepasste Version?

ich weiß, ist schon länger so. bin noch nicht zum verbessern gekommen.
das andere skript, dass mit der release id sollte aber noch gehen. da muss mann halt immer erst im browser nach dem film suchen und die id kopieren.

Danke für die schnelle Antwort. Dann lasse ich _IMDB_Pone_mbaa3___Search_by__Title.src ( 6.99KB ) erst mal liegen und probiere es mit dem anderen Script.

Das Script "_IMDB_Pone_mbaa3___Search_by__Title.src" funktioniert nicht mehr.

Siehe ausführliche Beschreibung zur Vorgehensweise hier. (Checkliste)

Beide Scripte funktionieren nicht mehr. Schade!

Schade, das andere Script "_IMDB_Pone_mbaa3_Direct_by_Release__ID.src" funktioniert auch nicht mehr richtig. Bei GENRE erscheint z. B. Comedy, Family, Fantasy See more »

Bin gerade am Umschreiben.
So wie es aussieht, hat IMDB das ganze mehr dem Englischen angepasst. Es gibt jetzt z.B. keine deutschen Genre Bezeichnungen mehr, aus Krimi wurde Crime, aus Zeichentrick wurde Animation usw.
Die deutschen Plotzusammenfassungen sind auch nicht mehr zu finden.
Zumindest der Titel ist nach wie vor auf deutsch.

Tausend Dank, dass ich hoffen kann. Die Einschränkungen muss ich hinnehmen. Für %genre% kann ich mir ja eine Ersetzungstabelle basteln. Auf die deutschen Plotzusammenfassungen muss ich dann verzichten.

Hier die neue vorläufig Version. Ich denke ich werde das Skript selbst noch so bearbeiten, dass es das meiste wieder zurück ins deutsche übersetzt, damit meine Sammlung schön einheitlich ist.

Von der deutsch-englisch-Umstellung betroffen sind die Tag Felder:
GENRE (siehe oben)
UNSYNCEDLYRICS (die Plotzusammenfassung ist jetzt englisch)
COLOUR ("Color" / "Black and White" statt "Farbe" / "Schwarzweiss")
RATING ("votes" statt "Stimmen", ausserdem jetzt ein Komma statt einem Punkt zur Abrennung der Tausenderstellen)

Wenn dir noch was auffällt, bitte teils mir mit. Eine überarbeitete Version wird nächstes Wochenende kommen.
Soweit ich mich erinnere hab ich dir auch meine Verwendung der Multi-Value-Tagfelder abgeändert. Das kann ich auch wieder tun.

_IMDB_Pone___Search_by__Title.src (6.31 KB)

Sehr gerne! Ich habe einiges getestet. Keine Fehler festgestellt. ABER es gibt Probleme mit den deutschen Umlauten. Filmtitel werden nur gefunden, wenn sie mit ae, oe bzw. ue geschrieben sind. Nachdem sie gefunden wurden, ist die Schreibweise ä ö ü. ß habe ich nicht getestet. Übrigens, %COVERURL% ist immer leer.

Folgende Genre's habe ich nicht ersetzt:
Action, Horror, Fantasy, Mystery, Drama, Sci-Fi, Thriller, Western, Musical, Sport, Game-Show,
Reality-TV, Talk-Show

Aber
[#0]
T=2
F=GENRE
1=Adventure
2=Abenteuer
3=1|1

[#1]
T=2
F=GENRE
1=Comedy
2=K\u00f6m\u00f6die
3=1|1

[#2]
T=2
F=GENRE
1=Documentary
2=Dokumentation
3=1|1

[#3]
T=2
F=GENRE
1=Romance
2=Romantik
3=1|1

[#4]
T=2
F=GENRE
1=Biography
2=Biografie
3=1|1

[#5]
T=2
F=GENRE
1=Music
2=Musik
3=1|1

[#6]
T=2
F=GENRE
1=Family
2=Familie
3=1|1

[#7]
T=2
F=GENRE
1=Crime
2=Krimi
3=1|1

[#8]
T=2
F=GENRE
1=Animation
2=Zeichentrick
3=1|1

[#9]
T=2
F=GENRE
1=War
2=Krieg
3=1|1

[#10]
T=2
F=GENRE
1=History
2=Geschichte
3=1|1