Welche Tags werden von welchen Formaten übernommen?

Hi Torben,

ich habe gerade schon fleißig im Forum usw. gesucht, aber ich finde dazu keine verbindliche Info:

Welche Tags von welchen Formaten werden von mAirList gelesen und importiert?
Gibt es die Möglichkeit, anzugeben, welche Tags eingelesen werden sollen und wir sie zugeordnet werden?

Meine Beobachtung: Von FLAC-Dateien wird alles eingelesen, von MP3-Dateien nicht.

Unser Anwendungsfall: Wir haben 5 Custom-Felder, in denen wichtige Informationen stehen, nach denen wir Musik einsortieren. Bei den FLACs ist alles gut, aber bei den MP3s eben nicht.

Vielleicht übersehe ich auch gerade was?

Viele Grüße
Stefan

P.S. Wie ist es bei WMA, MP4, BWF usw.?

Noch ein Nachtrag:

Mir fällt auch gerade auf, dass ich in der Datenbank verschiedene Attribut-Bezeichnungen finde, die den selben Inhalt haben. Das resultiert wohl aus den Imports von verschiedenen Tags.

Ich habe z.B. Datum, Jahr, Year und YEAR.
Datum kommt wahrscheinlich von Vorbis und so.
Die anderen beiden …
Year: mp3
YEAR: ogg (steht aber auch in Datum)

Eigentlich möchte ich bei Bedarf Jahr anklicken, das gewünschte Jahr auswählen und was raussuchen können bzw. das automatisieren können.

Ich müsste als sagen können: Year, YEAR usw. sind alle “Jahr” zuzuordnen. Und wenn es ein Datum-Tag gibt, dann extrahiere daraus bitte die Jahreszahl und leg sie zusätzlich in Jahr ab.

Gibt’s das schon und ich finde es nicht?

Wenn du dich mal umschaust, was es alles so an verschiedenen Tags gibt, an verschiedenen Versionen der Tags, und dann noch an “üblichen” Arten, diese mit Daten zu versehen, dann wirst du feststellen, dass das ein Fass ohne Boden ist.

Das Date-Feld ist ein schönes Beispiel. Manche schreiben nur das Jahr rein, manche das exakte Datum, davon gibt es dann wiederum x verschiedene Schreibweisen, und so weiter und so fort.

mAirList importiert grundsätzlich die Tags der folgenden Dateiformate: MP3 (ID3v1 und v2), MP2 (incl. Digas-Header), OggVorbis (VorbisComments), FLAC (VorbisComments) und AAC.

Die Besonderheiten der jeweiligen Tags werden dabei so gut wie möglich beachtet. Zum Beispiel wird bei VorbisComments tatsächlich das Datum noch in Datum und Jahr aufgeteilt, wenn ein exaktes Datum angegeben ist, und dann zwei Attribute erzeugt.

Außerdem sollten die wichtigsten Attribut-Namen automatisch ins Deutsche übersetzt werden, wenn die Dateien von einer deutschen mAirList-Version importiert werden.

Kannst du eigentlich ein bisschen SQL? Dann sollte es kein Problem sein, die falschen Attributenamen auf einen Schwung zu ändern.

Ja, ein Fass ohne Boden ist das sicher.

Ich selbst kann SQL eigentlich nicht. Aber in der IT gibt’s da Leute …

Ich verstehe jetzt aber noch nicht, welche Tag-Frames eingelesen werden, insbesondere bei MP3 (bei uns immernoch das Standardformat): Werden alle eingelesen oder nur eine Auswahl?
Wenn alle ausgelesen würden, würde das schon helfen, dann gäbe es ja in der DB ein entsprechendes Attribut, ich könnte das auswählen und dann über die Massenbearbeitung das irgendwohin ordnen, wo ich es gerne hätte.

Nein, es werden bei weitem nicht alle ausgelesen. Zumal ID3v2 gegenüber anderen Tag-Formaten wie VorbisComments einen entscheidenden Nachteil hat: Man kann nicht mal eben eine Liste aller Tags als Name/Wert-Paare bekommen (zumindest kann die von mir verwendete JVCL-Library das nicht), sondern man müsste alle möglichen Frame-Typen einzeln abfragen. Und das sind eine Menge: http://www.id3.org/id3v2.4.0-frames

Neben den Standardfeldern (Interpret, Titel, Kommentar, Coverbild) beschränkt sich mAirList daher auf die folgenden Felder: Album, BPM, Composer, Copyright, Language, Publisher, Year, Track.

Diese werden dann - ggf. wieder ins Deutsche übersetzt - als Attribute abgespeichert.

Wenn du meinst, dass etwas Wichtiges fehlt, sag bescheid.

Denk übrigens daran, dass die Tags nur ausgelesen werden, wenn man die Datei “erstmalig” in mAirlist importiert. Sobald ein mAirList-Tag, eine MMD-Datei oder ein Datenbankeintrag existiert, wird der Tag nie wieder angeschaut. Auch nicht wenn er sich ändern sollte.

Ich weiß, das sind bei ID3v2 eine Menge.

Wir bräuchten COMM/Songs-DB_Custom1 bis COMM/Songs-DB_Custom5. Möglicherweise auch noch andere. Das ist so speziell, das ist sinnlos, wenn Du das implementierst.

Ich würde gerne selbst eine Liste anlegen können, etwa in der folgenden Art; statt dem [Attributes]-Abschnitt in der gui.ini nehmen wir eine attributes.ini mit folgendem Inhalt:

Aus diesem hier:

[Attributes]
Test-Attribut=Wert1;Wert2

wird dieses hier:

[Test-Attribut]
Values=Wert1;Wert2
ID3-Frame=TXXX
ID3-Frame-Description=Mein_Test-Attribut
Vorbis-Frame=WEISSICHNICHT

[Senderecht]
ID3-Frame=COMM
ID3-Frame-Description=Songs-DB_Custom1
Vorbis-Frame=CUSTOM1
Values=GEMA/GVL;We2007;We unbegrenzt

[Stück/Werk]
ID3-Frame=TIT1

usw.

Das wäre unglaublich pragmatisch. :slight_smile:

Denk übrigens daran, dass die Tags nur ausgelesen werden, wenn man die Datei "erstmalig" in mAirlist importiert. Sobald ein mAirList-Tag, eine MMD-Datei oder ein Datenbankeintrag existiert, wird der Tag nie wieder angeschaut. Auch nicht wenn er sich ändern sollte.

Ja, das ist auch noch so ein Problem. Da verstehe ich ja Deine Philosophie noch nicht ganz. Aber das sollten wir in einem anderen Thread diskutieren, denn das ist ja ein völlig eigenes Thema.

Viele Grüße
Stefan