Other Alias
kid3-qt, kid3-cliÜBERSICHT
- kid3 [--help | --help-qt | --help-kde | --help-all
-
|--author | --version | --license] [DATEI...] -
kid3-qt [Qt-Optionen] [DATEI...]
- kid3-cli [-h | --help] [-c BEFEHL1] [-c BEFEHL2...] [DATEI...]
OPTIONEN
DATEI
-
- Wenn DATEI der Pfad auf ein Verzeichnis ist, so wird es geöffnet. Wenn einer oder mehrere Datei-Pfade gegeben werden, so wird deren gemeinsames Verzeichnis geöffnet und die Dateien werden ausgewählt.
kid3
--help
- Hilfe zu verfügbaren Optionen anzeigen.
--help-qt
- Spezielle Optionen zu Qt anzeigen, siehe qtoptions(7).
--help-kde
- Spezielle Optionen zu KDE anzeigen, siehe kdeoptions(7).
--help-all
- Alle Optionen anzeigen.
--author
- Autoren-Information anzeigen.
--version
- Versionsinformation anzeigen.
--license
- Lizenz-Informationen anzeigen.
kid3-qt
Qt-Optionen
- Siehe qtoptions(7), die Optionen haben jedoch einen "-" als Präfix, und nicht "--".
kid3-cli
-c
- Führe einen Befehl aus. Mehrere -c Optionen sind möglich, die Befehle werden in der entsprechenden Reihenfolge ausgeführt. Siehe den Abschnitt über kid3-cli für eine Beschreibung der verfügbaren Befehle.
-h|--help
- Hilfe zu verfügbaren Optionen und Befehlen anzeigen.
EINLEITUNG
Kid3 ist eine Anwendung zum effizienten Editieren von ID3v1 und ID3v2 Tags in MP3 Dateien. Diese Tags können zwar mit den meisten MP3 Player Programmen editiert werden, jedoch nicht auf eine sehr komfortable und effiziente Art. Darüber hinaus werden auch die Tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF Dateien und Tracker Modulen (MOD, S3M, IT, XM) unterstützt.
Kid3 kann weder MP3 grabben noch codieren, es ist darauf ausgelegt, die ID3 Tags von allen Dateien eines Albums auf eine möglichst effiziente Art zu editieren, d.h. mit so wenig Mausklicks und Tastendrücken wie möglich. Während die meisten anderen Programme entweder ID3v1 oder ID3v2 Tags editieren können, hat Kid3 volle Kontrolle über die Tags beider Versionen, es kann zwischen den beiden Formaten konvertieren und hat Zugang zu allen ID3v2 Frames. Tags mehrerer Dateien können gleichzeitig auf dieselben Werte gesetzt werden, so beispielsweise Interpret, Album, Jahr und Genre aller Dateien eines Albums. Wenn die Information für die Tags schon im Dateinamen enthalten ist, können die Tags automatisch aus dem Dateinamen generiert werden. Es ist auch möglich, den Dateinamen in einem beliebigen Format aus den Werten in den Tags zu setzen.
Das Editieren wird darüber hinaus durch automatische Ersetzung von Zeichenketten erleichtert, z.B. um ungültige Zeichen aus Dateinamen zu entfernen. Automatische Groß- und Kleinschreibung macht es einfach, eine konsistente Namensschreibweise in allen Tags zu verwenden.
Die Tag-Information für ganze Alben kann über m[blue]gnudb.orgm[][1], m[blue]TrackType.orgm[][2], m[blue]MusicBrainzm[][3], m[blue]Discogsm[][4], m[blue]Amazonm[][5] oder von anderen Quellen mit Albuminformationen importiert werden. Das verwendete Format ist mit regulären Ausdrücken frei konfigurierbar.
Probleme und Vorschläge für neue Funktionen können dem Autor gemeldet werden.
BENUTZEN VON KID3
Funktionsmerkmale von Kid3
- • Editieren von ID3v1.1 Tags
- • Editieren von allen ID3v2.3 und ID3v2.4 Frames
- • Editieren der Tags von mehreren Dateien
- • Konvertieren zwischen ID3v1 und ID3v2 Tags
- • Editieren von MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV und AIFF Tags
- • Generieren der Tags aus dem Dateinamen
- • Generieren der Tags aus dem Inhalt der Tagfelder
- • Generieren des Dateinamens aus den Tags
- • Generieren und Ändern des Verzeichnisnamens aus den Tags
- • Generieren von Stücklisten
- • Automatische Groß-/Kleinschreibung und Zeichenersetzung
- • Import von m[blue]gnudb.orgm[][1], m[blue]TrackType.orgm[][2], m[blue]MusicBrainzm[][3], m[blue]Discogsm[][4], m[blue]Amazonm[][5] und anderen Quellen
- • Export als CSV, HTML, Stückliste, Kover XML oder in anderen Formaten. Exportierte CSV-Dateien können wieder importiert werden.
Arbeiten anhand eines Beispiels
Dieser Abschnitt beschreibt eine typische Sitzung mit Kid3. Nehmen wir an, wir haben ein Verzeichnis mit MP3 Dateien der Stücke aus dem Album "Let's Tag" von der Gruppe "One Hit Wonder". Das Verzeichnis ist im "Interpret - Album" Format benannt, in unserem Fall also One Hit Wonder - Let's Tag. Das Verzeichnis enthält die Stücke im "Nummer Titel.mp3" Format, was auch Sinn macht, weil die Dateinamen kurz werden (wichtig bei den kleinen Anzeigen mobiler MP3 Player) und alphabetisch in der richtigen Reihenfolge geordnet werden (wichtig falls ein Hardware MP3 Player die Stücke in alphabetischer Reihenfolge abspielt oder in der Reihenfolge, wie sie auf CD gebrannt wurde - diese Reihenfolge ist bei mkisofs alphabetisch). Darüber hinaus sind Interpret und Album bereits im Verzeichnisnamen enthalten und brauchen nicht im Dateinamen wiederholt zu werden. Doch zurück zu unserem Beispiel - das Verzeichnis sieht folgendermaßen aus:
01 Intro.mp3
02 We Only Got This One.mp3
03 Outro.mp3
Diese Dateien haben noch keine Tags, wir werden diese mit Kid3 erzeugen. Wir benutzen Öffnen (Datei Menü oder Werkzeugleiste) und wählen eine der Dateien in diesem Verzeichnis. Alle Dateien werden im Dateilistenfeld angezeigt. Aus Bequemlichkeit wollen wir die Tags aus den Dateinamen erzeugen. Daher wählen wir alle Dateien im Listenfeld aus und klicken auf Nach: Tag 1 in der Datei Sektion. Dadurch werden Titel, Interpret, Album und Nummer in allen Dateien gesetzt. Um die Werte für Jahr und Genre in allen Dateien zu setzen, lassen wir alle Dateien selektiert und tippen "2002" in das Feld Jahr und wählen "Pop" im Genre Auswahlfeld. Um einzig diese zwei Werte zu verändern, werden ihre Markierungsfelder automatisch aktiviert, und alle anderen Markierungsfelder bleiben leer. Wird nun durch Klick auf die erste Datei die Auswahl verändert, so sieht man, dass die Tags für die erste Datei die korrekten Werte enthalten. Die Tags der anderen Dateien können auch überprüft werden, indem eine nach der andern selektiert wird. Wenn wir mit den Tags zufrieden sind, können die Änderungen mit Speichern (Datei Menü oder Werkzeugleiste) übernommen werden. Wählen von Stückliste erstellen im Datei Menü erzeugt die Datei One Hit Wonder - Let's Tag.m3u im Verzeichnis.
MENÜEINTRÄGE
Die Elemente der Benutzeroberfläche
Die Kid3 Benutzeroberfläche ist in fünf Sektionen aufgeteilt: Links finden sich das Dateilistenfeld und das Verzeichnislistenfeld, die rechte Seite enthält die Datei, Tag 1, Tag 2 und Tag 3 Sektionen.
Die Dateiliste enthält die Namen aller Dateien im geöffneten Verzeichnis, welche den gewählten Dateinamenfilter (typischerweise
*.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape) erfüllen. Eine einzelne oder mehrere Dateien können ausgewählt werden. Um keine Datei auszuwählen, kann in den leeren Bereich unterhalb der Dateieinträge geklickt werden. Die Auswahl bestimmt die Dateien, welche durch die unten beschriebenen Operationen verändert werden.
Nebst
Name
können noch andere Spalten
Größe,
Typ
und
Änderungsdatum
mit Details zu den Dateien dargestellt werden. Eine Spalte wird angezeigt, wenn das Häkchen bei ihrem Namen im Kontextmenü der Kopfzeile gesetzt ist. Die Reihenfolge der Spalten kann mittels Drag'n'Drop verändert werden. Die Sortierreihenfolge kann durch Klicken auf den Spaltenkopf umgeschaltet werden.
Links von den Namen kann ein Symbol dargestellt werden: eine Diskette, um zu zeigen, dass die Datei verändert wurde, oder Information über die Tags welche vorhanden sind (V1, V2, V1V2 oder NO TAG, wenn nichts dargestellt wird, wurde die Datei noch nicht eingelesen).
Verzeichnisse werden mit Ordner-Symbolen gekennzeichnet. Wenn ein Verzeichnis geöffnet wird, so werden seine Dateien in einem hierarchischen Baum dargestellt. Operationen können auf Dateien aus verschiedenen Verzeichnissen angewendet werden, was nützlich ist, wenn die Musik-Dateien so organisiert werden, dass pro Interpret ein Ordner erstellt wird, der wiederum ein Verzeichnis für jedes Album enthält.
Bei einem Rechtsklick in der Dateiliste öffnet sich ein Kontext-Menü mit folgenden Befehlen:
Die Verzeichnisliste enthält die Verzeichnisse, welche das geöffnete Verzeichnis enthält, sowie das aktuelle (.) und das übergeordnete (..) Verzeichnis. Sie erlaubt den raschen Wechsel zwischen Verzeichnissen, ohne den Umweg über die
Öffnen...
Funktion oder "Drag and Drop".
Die Anzeige, Reihenfolge und Sortierung der Spalten kann auf dieselbe Weise eingestellt werden wie bei der
Dateiliste
beschrieben.
Zeigt Informationen über Codierung (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), Bit- und Samplerate, Kanäle und die Länge der Datei an.
Das
Name
Editierfeld enthält den Dateiname wenn nur eine einzelne Datei ausgewählt ist. Wird dieses Feld verändert, so wird die Datei umbenannt, wenn
Speichern
ausgeführt wird.
Das
Format
Auswahl- und Editierfeld enthält das Format, welches verwendet wird, wenn der Dateiname aus dem ersten oder zweiten Tag erzeugt wird. Der Dateiname kann beliebige Zeichen enthalten, es kann sogar ein Verzeichnisteil abgetrennt durch einen Schrägstrich angegeben werden, doch dieses Verzeichnis muss bereits existieren, damit das Umbenennen erfolgreich ist. Die folgenden Codes können verwendet werden, um Werte aus den Tags im Dateinamen einzusetzen:
Die Formatcodes sind nicht auf die oben gegebenen Beispiele beschränkt. Alle Framenamen können benutzt werden, sowohl vereinheitlichte wie
%{bpm}
als auch formatspezifische wie
%{popm}.
Ein zweites
Format
Auswahlfeld (mit Pfeil runter) wird verwendet, um die Tags aus dem Dateinamen zu generieren. Falls der Dateinamen nicht diesem Format entspricht, werden noch einige andere, gängige Formate ausprobiert.
Einige häufig verwendete Dateinamen-Formate sind bereits vordefiniert und über das Auswahlfeld verfügbar, aber es ist auch möglich, ein eigenes Format in das Eingabefeld einzutragen.
Intern wird ein regulärer Ausdruck aus den Formatcodes gebildet. Wenn die volle Ausdruckskraft regulärer Ausdrücke gebraucht wird, ist es auch möglich, einen kompletten regulären Ausdruck mit Klammerkonstrukten, welche durch die Formatcodes eingeleitet werden, als Format für die Extraktion der Tags aus den Dateinamen anzugeben. Um beispielsweise die Tracknummern ohne das automatische Entfernen führender Nullen in die Tags zu kriegen, könnte ein Ausdruck wie "/%{track}(\d+) %{title}(.*)" verwendet werden.
Von:
Tag 1,
Tag 2: Setzt den Dateinamen gemäß dem ausgewählten Format und dem ersten Tag bzw. zweiten Tag.
Nach:
Tag 1,
Tag 2: Die Tags werden anhand des Dateinamens gesetzt. Dabei wird zuerst das in
Format
ausgewählte Dateinamenformat probiert. Falls der vorhandene Dateinamen nicht diesem Format entspricht, werden noch folgende Formate versucht:
Wenn eine einzelne Datei ausgewählt wurde, werden die Eingabefelder mit den aus dem Dateinamen extrahierten Werten gefüllt. Bei Mehrfachselektion werden die Werte direkt gemäß den Dateinamen gesetzt.
Die Eingabefelder für
Titel,
Interpret,
Album,
Kommentar,
Jahr,
Nummer
und
Genre
werden benutzt um die entsprechenden Werte im ersten Tag der ausgewählten Dateien zu editieren. Die Werte werden verändert, wenn die Dateiauswahl geändert wird oder vor Operationen wie
Speichern
und
Beenden
und wenn die entsprechenden Markierungsfelder links aktiviert sind. Dies ist nützlich, um nur bestimmte Werte zu verändern und die übrigen Werte nicht anzurühren.
Wenn eine einzelne Datei ausgewählt ist, werden alle Markierungsfelder aktiviert und die Eingabefelder enthalten die Werte aus den Tags in der Datei. Wenn ein Tag nicht vorhanden ist, werden die leeren Werte angezeigt, d.h. eine leere Zeichenkette für die Felder
Titel,
Interpret,
Album
und
Kommentar, 0 für
Jahr
und
Nummer
und ein leerer Auswahleintrag bei
Genre. Die Werte können editiert werden und werden für die ausgewählte Datei beim Ändern der Auswahl gesetzt, sofern das entsprechende Markierungsfeld aktiviert ist. Die Datei wird dann durch ein Disketten-Symbol als modifiziert gekennzeichnet, doch die eigentliche Datei bleibt unverändert, bis
Speichern
ausgeführt wird.
Wenn mehrere Dateien ausgewählt werden, dann werden nur diejenigen Werte angezeigt, welche bei allen ausgewählten Dateien identisch sind. In allen übrigen Editierfeldern werden die leeren Werte (siehe oben) angezeigt. Alle Markierungsfelder sind inaktiv, um ungewolltes Verändern mehrerer Dateien zu verhindern. Soll ein Wert für alle selektierten Dateien verändert werden, so kann er editiert werden, und das entsprechende Markierungsfeld wird gesetzt. Der Wert wird dann für alle ausgewählten Dateien verändert wenn die Auswahl geändert wird und kann mit
Speichern
gesichert werden.
Die Markierungsfelder bestimmen auch, auf welche Felder die meisten anderen Befehle angewendet werden. So werden beim Kopieren, Einfügen und Transferieren zwischen Tags 1 und 2 nur markierte Felder verwendet. Um die Bedienung zu vereinfachen, wenn mehrere Dateien ausgewählt sind und daher alle Markierungsfelder inaktiv sind, verhalten sich diese Befehle wenn alle Markierungsfelder inaktiv sind gleich als wären alle markiert.
Von Tag 2: Die Tag 1 Felder werden auf die gleichen Werte gesetzt wie die entsprechenden Tag 2 Werte. Bei Mehrfachselektion werden die Tags der Dateien direkt gesetzt.
Kopieren: Die Kopierablage wird mit den Tag 1 Werten gefüllt. Bei folgenden Einfüge-Operationen werden nur solche Werte gesetzt, bei welchen hier das Markierungsfeld aktiviert war.
Einfügen: Fügt die Werte aus der Kopierablage in die Eingabefelder ein.
Löschen: Diese Funktion setzt alle Editierfelder auf die leeren Werte, entfernt also alle Werte. Die gespeicherte Datei enthält dann kein Tag 1 mehr.
Die Eingabefelder funktionieren gleich wie bei
Tag 1
beschrieben, die Länge der Zeichenketten ist jedoch nicht begrenzt.
Beim
Genre
können nebst den vorgegebenen auch eigene Namen verwendet werden - eine Eingabe ins Editierfeld genügt.
Das Tag 2 kann nicht bloß dieselben Werte enthalten wie das Tag 1, das Format ist vielmehr auf flexible Art aus mehreren Elementen aufgebaut, welche wiederum aus verschiedenen Feldern bestehen. Die Tag 2 Tabelle zeigt alle Elemente an, welche in der ausgewählten Datei vorhanden sind.
Bearbeiten: Ein Fenster wird geöffnet, in welchem alle Felder des gewählten Elementes editiert werden können. Wenn mehrere Dateien ausgewählt sind, so werden die editierten Felder bei allen ausgewählten Dateien angewendet, welche solch ein Element enthalten.
Hinzufügen: Ein Auswahlfenster mit allen unterstützten Elementtypen wird angezeigt und ein Element des gewählten Typs kann editiert und zu der Datei hinzugefügt werden. Dies funktioniert auch, wenn mehrere Dateien ausgewählt sind; das Element wird dann bei allen ausgewählten Dateien hinzugefügt.
Löschen: Löscht das ausgewählte Element in den ausgewählten Dateien.
Albumcover hierhin ziehen
wird angezeigt wenn die Datei kein Album Cover Bild enthält. Bilder kann man mittels "Drag and Drop" vom Browser oder Dateimanager hinzufügen; sie werden dann hier angezeigt. Das Editieren oder Hinzufügen eines Bild-Elements kann mit einem Doppelklick ausgelöst werden.
Einige Dateien haben mehr als zwei Tags, bei diesen ist eine dritte Tag-Sektion sichtbar. Die folgenden Dateitypen haben solch eine
Tag 3
Sektion:
Die Eingabefelder funktionieren wie bei der
Tag 2
Sektion.
Für zeitlich mit den Audio-Daten synchronisierte Informationen steht ein spezieller Editor zur Verfügung. Diese Frames sind für ID3v2.3.0 und ID3v2.4.0 Tags unterstützt. Um ein solches Frame zu erstellen, muss in der Liste, welche nach Klick auf
Hinzufügen
erscheint, sein Name ausgewählt werden -
Synchronisierter Text
oder
Ereignis-Zeitcodes. Beide Frame-Typen werden in einem gleichartigen Editor bearbeitet, bei den Ereignis-Zeitcodes kann aus einer Menge vordefinierter Codes ausgewählt werden, während beim synchronisierten Text der Liedtext eingegeben werden muss. Im folgenden wird die Eingabe von synchronisiertem Text erklärt.
Eine Datei, welche ein ID3v2 Tag enthält, wird selektiert und der Editor wird mit
Hinzufügen
und Auswahl von
Synchronisierter Text
geöffnet. Falls das Synchronisierter Text Frame schon existiert, wird es selektiert und auf
Bearbeiten
geklickt. Die Werkzeugleiste zum Abspielen von Audio-Dateien wird automatisch geöffnet, so dass das aktuelle Stück abgespielt und angehalten werden kann, um die Texte zu synchronisieren.
Die Einstellungen im oberen Teil des SYLT Editors müssen normalerweise nicht verändert werden. Wenn der Text Zeichen enthält, welche nicht im Latin 1 Zeichensatz enthalten sind, so kann die Textkodierung auf UTF16 (oder UTF8 für ID3v2.4.0) umgestellt werden. Für englischsprachige Texte und maximale Kompatibilität sollte ISO-8859-1 verwendet werden.
Der Abschnitt
Text
hat fünf Knöpfe oberhalb der Tabelle.
Hinzufügen
erstellt einen neuen Ereigniseintrag in der Tabelle. Die Zeit wird von der momentanen Position der Wiedergabe genommen, so dass ein Eintrag für die aktuelle Stelle des abgespielten Stücks erzeugt wird. Die Einträge in der Tabelle müssen zeitlich geordnet sein, die neue Zeile wird daher entsprechend eingeordnet. Einträge mit ungültiger Zeit werden speziell behandelt: Wenn die aktuelle Zeile eine ungültige Zeit hat, so wird ihre Zeit durch die Wiedergabezeit ersetzt, und es wird keine neue Zeile hinzugefügt. Wenn die Zeit nicht ungültig ist, so wird die erste Zeile mit einer ungültigen Zeit genommen, falls eine solche vorhanden ist. Dieses Verhalten sollte es erleichtern, die Zeit-Spalte auszufüllen, wenn der Text bereits in der Tabelle vorhanden ist, aber die Zeiten noch fehlen (was der Fall ist, wenn unsynchronisierte Texte importiert werden). Man beachte, dass ungültige Zeiten mit 00:00.00 dargestellt werden, also gleich wie die Zeit ganz zu Beginn des Stücks, welche nicht ungültig ist. Um einen Zeiteintrag ungültig zu machen, kann die
Delete
Taste gedrückt werden oder
Löschen
aus dem Kontextmenü verwendet werden. Neue Zeilen, welche mit
Zeile einfügen
des Kontextmenüs oder durch
Importieren
bzw.
Von Zwischenablage
erstellt werden, enthalten ebenfalls ungültige Zeiten. Zeilen in der Tabelle können mit Klick auf
Löschen
oder dem
Zeilen entfernen
Kontextmenü gelöscht werden.
Synchronisierter Liedtext kann aus einer Datei importiert werden mit
Importieren. Als Dateiformat wird LRC (einfach oder erweitert) erwartet. Wenn die ausgewählte Datei keine eckige Klammer in der ersten Zeile enthält, so wird angenommen, dass es sich um eine einfache Textdatei mit unsynchronisiertem Liedtext handelt. Die Zeilen einer solchen Datei werden dann in die Text-Spalte importiert und die Zeit-Spalte enthält ungültige Zeiten. Die Zeitinformationen können mit Hilfe des
Hinzufügen-Knopfs ergänzt oder manuell erfasst werden. Es ist auch möglich, Liedtexte mittels Kopieren und Einfügen zu importieren (Von Zwischenablage).
Exportieren
erlaubt es, synchronisierten Text in eine LRC-Datei zu schreiben. Man beachte, dass nur Einträge mit gültiger Zeit exportiert werden, und dass die Einträge zeitlich sortiert werden. Einträge mit ungültiger Zeit werden auch nicht in das SYLT-Frame geschrieben, man sollte daher alle Zeitinformationen eintragen, bevor man den Editor verlässt.
Die
m[blue]ID3 Spezifikationm[]
Während dem Abspielen einer Datei wird die aktuelle Zeile hervorgehoben, so dass die Korrektheit der Synchronisationsinformation überprüft werden kann. Existiert ein Versatz, so kann er mit dem Kontextmenü
Zeitabstand hinzufügen
korrigiert werden, wobei negative Werte die Zeit reduzieren. Die Funktion
Zur Position springen
ermöglicht es, die Position der Wiedergabe an die Zeit der ausgewählten Zeile zu setzen.
Empfohlenes Vorgehen zum Erstellen eines neuen synchronisierten Liedtextes
Dateiliste
[6]
legt es nahe, Zeitstempel für jede Silbe zu erfassen. Die meisten Player unterstützen jedoch bloß eine Granularität von einer Zeile bzw. einem Satz. Um beide Anwendungsfälle zu unterstützen, folgt
Kid3
denselben Konventionen wie
m[blue]SYLT Editorm[][7]. Es wird angenommen, dass Text, welcher in der Tabelle eingetragen wird, eine neue Zeile startet, es sei denn, er beginnt mit einem Leerzeichen oder Bindestrich. Diese Regel kann außer Kraft gesetzt werden, indem man den Text mit einem Unterstrich ('_') beginnen lässt, um eine Fortsetzung der Zeile zu erzwingen, bzw. mit einem Doppelkreuz ('#') um eine neue Zeile auch dann zu erhalten, wenn diese mit einem Leerzeichen oder Bindestrich beginnt. Diese Umschaltzeichen werden nicht im SYLT-Frame gespeichert. Innerhalb des Frames beginnen neue Zeilen mit einem Zeilenumbruch (das Zeichen mit Hex-Code 0A), ansonsten handelt es sich um eine Fortsetzung der Zeile. Beim Lesen existierender SYLT-Frames prüft
Kid3, ob der erste Text mit einem Zeilenumbruch beginnt. Ist dies nicht der Fall, so wird angenommen, dass alle Texte separate Zeilen sind und keine Silbenfortsetzungen verwendet werden.
Das Menü Datei
Datei → Öffnen... (Ctrl+O)
- Ein Verzeichnis wird geöffnet, und alle Dateien, welche den gewählten Dateinamenfilter erfüllen, werden im Dateilistenfeld angezeigt. Die gewählte Datei wird selektiert.
Datei → Zuletzt geöffnete Dateien
- Ein kürzlich geöffnetes Verzeichnis wird geöffnet.
Datei → Verzeichnis öffnen... (Ctrl+D)
- Ein Verzeichnis wird geöffnet, und alle Dateien, welche den gewählten Dateinamenfilter erfüllen, werden im Dateilistenfeld angezeigt.
Datei → Speichern (Ctrl+S)
- Speichert alle veränderten Dateien im Verzeichnis. Die veränderten Dateien sind durch ein Diskettensymbol gekennzeichnet. Wenn Dateinamen verändert wurden, so werden die entsprechenden Dateien umbenannt.
Datei → Zuletzt gespeicherte Fassung
- Macht die Änderungen an einer oder mehreren Dateien rückgängig. Wenn keine Dateien im Dateilistenfeld selektiert sind, so werden die Änderungen an allen Dateien rückgängig gemacht, ansonsten nur an den ausgewählten Dateien.
Datei → Importieren...
-
Der
Import Dialog
wird verwendet, um Daten direkt von einem freedb.org Server, von einem MusicBrainz Server, von Discogs, Amazon oder anderen Quellen mit Albumtitellisten zu importieren.
Zum Importieren von einem freedb.org Server wird Von Server: gnudb.org oder TrackType.org gewählt. Der zu suchende Interpret und der Name des Albums können in den zwei oberen Feldern eingegeben werden, und die gefundenen Alben werden nach Klick auf Suchen dargestellt, sobald sie von m[blue]www.gnudb.orgm[][8] empfangen werden. Die Track Daten eines Albums werden nach Auswahl geladen, der verwendete freedb.org Server kann gewählt werden, ebenso der CGI Pfad. Die importierten Daten werden in der Vorschau des Import Dialogfensters dargestellt. Wenn man mit den Daten in der Vorschau zufrieden ist, können sie mit OK importiert werden.
Zum Importieren vom Discogs Server wird Discogs gewählt. Wie bei Von gnudb.org können auch hier Artist und Album eingegeben werden und es wird ebenfalls eine Liste mit Alben zur Auswahl gestellt. Wenn Standard Tags markiert ist, werden grundlegende Informationen importiert, so z.B. Interpret, Album und Titel. Wenn Zusätzliche Tags markiert ist, werden mehr verfügbare Informationen importiert, z.B. Musiker, Arrangierer oder der Herausgeber. Wenn Cover-Bilder markiert ist, werden Cover-Bilder heruntergeladen, falls vorhanden.
Zum Importieren von Amazon wird Amazon gewählt. Wie bei Von gnudb.org können auch hier Artist und Album eingegeben werden und es wird ebenfalls eine Liste mit Alben zur Auswahl gestellt. Wenn Zusätzliche Tags markiert ist, werden mehr verfügbare Informationen importiert, z.B. Musiker, Arrangierer oder der Herausgeber. Wenn Cover-Bilder markiert ist, werden Cover-Bilder heruntergeladen, falls vorhanden.
In der gleichen Art kann mit Von MusicBrainz Album auch in der Album-Datenbank von MusicBrainz gesucht werden. Die Bedienung ist wie bei gnudb.org beschrieben.
Zum Importieren von einem MusicBrainz Server dient der Dialog, der nach Klicken auf Von MusicBrainz Fingerprint erscheint. Wie bei freedb kann auch hier der Server ausgewählt werden. Unten ist eine Tabelle, welche die importierten Track Daten darstellt. Die rechte Spalte zeigt dabei den Zustand der MusicBrainz-Abfrage, welche gleich mit dem Öffnen des Dialogs mit "Suche läuft" beginnt. Es folgen dann ein Abfrage des Fingerprints und, falls diese kein Ergebnis liefert, eine Suche anhand der in der Datei vorhandenen Tags. Für eine erfolgreiche MusicBrainz-Suche kann es daher hilfreich sein, vorhandene Informationen (z.B. Interpret und Album) vorangehend in den Tags zu speichern. Wenn ein Resultat gefunden wurde, so endet die Suche im Zustand "Erkannt", andernfalls wurde nichts gefunden oder gleich mehrere mögliche Resultate, von den der Benutzer eines auswählen kann. OK und Anwenden übernehmen die importierten Daten, Abbrechen schließt den Dialog. Das Schließen des Dialogs kann eine Weile dauern, da noch die ganze MusicBrainz-Maschinerie runtergefahren werden muss.
Zum Importieren von Albumdaten in Textform öffnet man einen Unterdialog mit Von Datei/Zwischenablage. Dort stehen mehrere vorkonfigurierte Formate zur Verfügung. Die ersten zwei, "CSV unquoted" und "CSV quoted", dienen dazu, Daten welche über die Export Funktion exportiert wurden, wieder zu importieren. Diese Daten können natürlich von einer Tabellenkalkulation bearbeitet werden. CSV-Daten aus einer Tabellenkalkulation müssen mit Tabulator als Trennzeichen geschrieben werden und sollten sich über "CSV quoted" einlesen lassen. Dieses ist flexibler als "CSV unquoted", dafür dürfen die enthaltenen Felder keine Anführungszeichen enthalten. Falls nur von Kid3 exportiert und wieder importiert wird, so sollte dies problemlos mit "CSV unquoted" möglich sein. Im Kontextmenü der Dateiliste hat es darüber hinaus die Funktionen "Export CSV" und "Import CSV", welche Skripts benutzen, um CSV-Daten vollständiger und flexibler auszutauschen.
Das nächste Format, "freedb HTML text", kann benutzt werden, um Informationen aus einer HTML-Seite von m[blue]freedb.orgm[][9] zu kopieren. Dazu sucht man sich in freedb das Album, und wenn die gewünschte Information im Browser angezeigt wird, kann sie selektiert und in die Zwischenablage kopiert werden. Nach einem Klick auf Von Zwischenablage werden die importierten Daten in der Tabelle angezeigt und können mit OK übernommen werden. Das Ziel (Tag 1, Tag 2 oder Tag 1 und Tag 2) kann mit einem Auswahlfeld festgelegt werden. Die Titel in der Dateiliste sollten in der korrekten Reihenfolge angezeigt sein um die richtigen Tags zu kriegen. Dies ist kein Problem, wenn sie nummeriert sind.
Das nächste vorkonfigurierte Format, "freedb HTML source", kann dann benutzt werden, wenn die Import-Daten als HTML-Dokument vorliegen. Solch eine Datei kann im Datei Dialog, welcher nach Klick auf Von Datei erscheint, ausgewählt werden. Natürlich können die Daten auch in einem Editor kopiert und dann über die Zwischenablage übernommen werden. Dieses Format kann für Offline Import nützlich sein, obschon die HTML-Datei auch von einem Browser angezeigt und im ersten Format über die Zwischenablage importiert werden kann.
Weitere vorkonfigurierte Formate, z.B. "Track Title Time" stehen zur Verfügung. Mit Klick auf Hinzufügen kann ein leeres benutzerdefiniertes Format erzeugt und vom Benutzer gesetzt werden. Die zwei Zeilen unterhalb des Formatnamens können hierzu mit regulären Ausdrücken gefüllt werden. Der erste Ausdruck wird einmal angewendet, um albumspezifische Daten wie Interpret, Album, Jahr und Genre zu extrahieren. Die zweite Zeile wird vom Dokumentanfang bis zum Schluss für jeden Titel probiert, um Titeldaten zu kriegen, also Nummer und Titel. In den regulären Ausdrücken können alle von Qt unterstützten Funktionen eingesetzt werden; also das meiste von dem, was Perl bietet. Klammerkonstrukte "(..)" werden benützt, um Felddaten zu extrahieren und werden von einem Kid3-spezifischen Feldcode eingeleitet. Die Codes sind dieselben wie beim Dateinamenformat, auch hier sind nebst den unten aufgelisteten Codes beliebige Framenamen möglich:
- • %s %{title} Titel (Song)
- • %a %{artist} Interpret (Artist)
- • %l %{album} Album
- • %c %{comment} Kommentar (Comment)
- • %y %{year} Jahr (Year)
- • %t %{track} Nummer (Track)
- • %g %{genre} Genre
- • %d %{duration} Länge (Dauer)
Beispiel: Ein regulärer Ausdruck für die zweite Zeile, um Titel aus einer .m3u Stückliste zu holen, könnte "%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]" sein. Alle Formate können geändert werden, indem der Name und die regulären Ausdrücke editiert werden und Einstellungen speichern gedrückt wird. Gespeichert werden sie in der Datei kid3rc im Konfigurationsverzeichnis. Diese Datei kann auch direkt verändert werden, um mehr Importformate zu haben, oder man kann sie löschen, um wieder zu den Standardeinstellungen zu kommen. Formate können mit Entfernen gelöscht werden.
Genauigkeit zeigt eine Abschätzung, wie gut die importierten Daten zu den Stücken passen. Dazu werden die Längen oder die Dateinamen verglichen um den Grad an Übereinstimmung in Prozent zu errechnen. Cover-Bild zeigt die URL des Cover-Bildes, welches heruntergeladen wird.
Um zu prüfen, ob die importierten Stücke den vorhandenen Dateien entsprechen, können die Längen verglichen werden. Diese Option kann mit dem Markierungsfeld Teste maximal erlaubten Zeitunterschied eingeschaltet werden und der maximal erlaubten Zeitunterschied kann in Sekunden eingestellt werden. Wird eine Überschreitung dieser Toleranzschwelle festgestellt, so wird die entsprechende Länge in der Vorschau rot dargestellt.
Falls nun die vorhandenen Dateien in einer anderen Reihenfolge als die importierten Stücke vorliegen, so sollte die Zuordnung korrigiert werden. Diese Arbeit wird durch die Zuordnen mit Knöpfe Länge, Nummer und Titel erleichtert, welche die Stücke dem jeweiligen Feld entsprechend zuordnen. Sollte die Zuordnung noch manuell korrigiert werden müssen, so kann ein Track nach Drücken der Steuerungs-Taste (Ctrl/Strg) mit der linken Maustaste gefasst und dann an die gewünschte Stelle gezogen werden.
Wenn der Import Dialog geöffnet wird, enthält die Tabelle die aktuell vorhandenen Werte der Tags. Der Tag Typ (Tag 1, Tag 2, Tag 1 und Tag 2) kann über das Ziel Auswahlfeld selektiert werden. Der Knopf rechts von diesem Auswahlfeld dient dazu, die Tabelle auf die in den Tags gespeicherten Werte zurückzusetzen. Über die Markierungsfelder in der ersten Tabellenspalte können die Stücke gewählt werden, deren Tags importiert werden sollen. Dies kann z.B. dann nützlich sein, wenn ein Verzeichnis alle Stücke eines Doppelalbums enthält, aber bloß die Stücke der zweiten CD importiert werden sollen.
Um die Dateien, welche importiert werden, zu identifizieren, können die Dateinamen oder die vollständigen Pfade in der Tabelle dargestellt werden. Diese Einstellung ist über das Kontextmenü, welches bei Rechtsklick auf die Kopfzeile erscheint, möglich. Die Werte in der Import-Tabelle lassen sich editieren. Die momentan in den Tags vorhandenen Werte lassen sich mit dem Rückgängig-Knopf rechts vom Ziel-Listenfeld wiederherstellen. Dies ist auch dann nützlich, wenn man das Ziel verändert hat und die dort vorhandenen Werte in der Tabelle sehen möchte.
Wie in fast allen Dialogen dient der Einstellungen speichern Knopf dazu, die dialogspezifischen Optionen und die Fenstergröße persistent zu speichern.
Von Tags führt zu einem Unterdialog, mit welchem sich Tag Frames mit dem Inhalt aus anderen Tag Frames füllen lassen. Dies kann dazu benutzt werden, um einfach Informationen zwischen Tags zu kopieren oder einen Teil des Inhaltes eines Tag Frames zu extrahieren und in einem anderen Tag Frame einzufügen.
Wie beim Import von Datei/Clipboard stehen frei konfigurierbare Formate zur Verfügung, um verschiedene Operationen durchzuführen. Vorkonfigurierte Formate erlauben es beispielsweise, den Wert des Interpreten zum Album Interpreten, Komponisten oder Leiter zu kopieren, bei Titeln, welche die Tracknummer enthalten, diese zu extrahieren und im Tracknummer-Frame zu speichern. Ebenso lässt sich ein Untertitel aus dem Titel extrahieren.
Das Erstellen eines eigenen Importformates wird im folgenden anhand eines Beispieles erklärt. Die Information im Untertitel soll auch im Kommentar gesetzt werden. Dazu wird ein neues Format mit Hinzufügen erstellt und ein neuer Name gesetzt, in diesem Beispiel also "Subtitle to Comment". Nun gibt man unter Quelle "%{subtitle}" und unter Extraktion "%{comment}(.*)" ein und klickt Einstellungen speichern.
Der Ausdruck in Quelle kann aus Format Codes für beliebige Tag Frames bestehen, wobei natürlich auch mehrere Codes verwendet werden können, um den Inhalt verschiedener Frames zu kombinieren. Für jeden Track wird aus den Tags und dem Quelle Format ein Text erzeugt, und auf diesen wird dann der reguläre Ausdruck aus Ermittlung angewendet, um neue Tag Werte zu setzen. Dieser reguläre Ausdruck enthält Klammerkonstrukte "(..)", um Felddaten zu extrahieren, und die Klammer-Konstrukte werden vom Format Code des Tag Frames eingeleitet. Es funktioniert also gleich wie bei den Formaten zum Import von Datei/Clipboard.
Datei → Importieren von gnudb.org...
- Importieren von einem freedb.org Server mit Album-Suche auf gnudb.org. Dieser Menüpunkt öffnet denselben Import Dialog wie Importieren..., öffnet jedoch direkt auch den gnudb.org Dialog.
Datei → Importieren von TrackType.org...
- Importieren vom TrackType.org Server. Dieser Menüpunkt öffnet denselben Import Dialog wie Importieren..., öffnet jedoch direkt auch den TrackType.org Dialog.
Datei → Importieren von Discogs...
- Importieren vom Discogs Server. Dieser Menüpunkt öffnet denselben Import Dialog wie Importieren..., öffnet jedoch direkt auch den Discogs Dialog.
Datei → Importieren von Amazon...
- Importieren von Amazon. Dieser Menüpunkt öffnet denselben Import Dialog wie Importieren..., öffnet jedoch direkt auch den Amazon Dialog.
Datei → Importieren von MusicBrainz Album...
- Importieren von der MusicBrainz Album Datenbank. Dieser Menüpunkt öffnet denselben Import Dialog wie Importieren..., öffnet jedoch direkt auch den Von MusicBrainz Album Dialog.
Datei → Importieren von MusicBrainz Fingerprint...
- Importieren von einem MusicBrainz Server. Dieser Menüpunkt öffnet denselben Import Dialog wie Importieren..., öffnet jedoch direkt auch den Von MusicBrainz Fingerprint Dialog.
Datei → Automatisch importieren...
-
Automatisch importieren
lassen sich Informationen für mehrere Alben von verschiedenen Web-Diensten. Wenn Verzeichnisse in der Dateiliste selektiert sind, so werden Metadaten für die Stücke der gewählten Verzeichnisse importiert. Wenn kein Verzeichnis ausgewählt ist, so werden Informationen für alle Verzeichnisse innerhalb der Dateiliste importiert.
Der Tag Typ (Tag 1, Tag 2, Tag 1 und Tag 2) kann über das Ziel Auswahlfeld selektiert werden.
Profile bestimmen, von welchen Servern die Album-Informationen geholt werden. Einige Profile sind bereits vordefiniert (All, MusicBrainz, Discogs, Cover Art), eigene Profile können mit dem Hinzufügen Knopf rechts von der Profil Auswahlliste erstellt werden.
Die Tabelle darunter zeigt die Server, welche benutzt werden, wenn mit dem ausgewählten Profil importiert wird. Der Import-Prozess für ein Album wird beendet, wenn alle geforderten Informationen gefunden wurden, daher ist die Reihenfolge der Server in der Tabelle wichtig. Sie kann mit den Nach oben und Nach unten Knöpfen verändert werden. Mit Bearbeiten kann ein bestehender Eintrag verändert werden. Die Server Auswahl stellt dieselben Server zur Verfügung wie die Import-Funktionen. Standard Tags, Zusätzliche Tags und Cover-Bilder bestimmen die Informationen, welche vom Server geholt werden sollen. Die Genauigkeit schließlich bestimmt die minimale Übereinstimmung, welche erreicht werden muss, damit die importierten Daten akzeptiert werden. Ist sie ungenügend, so wird ein Import mit dem nächsten Server versucht. Dieser Dialog mit den Server-Eigenschaften wird auch angezeigt wenn Hinzufügen gewählt wird, um einen neuen Eintrag zu erstellen. Bestehende Zeilen können mit Entfernen gelöscht werden.
Um einen automatischen Import mit dem ausgewählten Profil zu beginnen wird Starten gedrückt. Details über den laufenden Prozess werden im Dialog oben angezeigt. Abbrechen führt zu einer vorzeitigen Beendigung des Imports.
Datei → Nach Cover-Bildern suchen...
-
Der Dialog
Nach Cover-Bildern suchen
hilft bei der Suche nach Album Cover-Bildern.
Interpret/Album
werden wenn möglich aus den Tags übernommen.
Quelle
stellt eine Vielzahl von Websites mit Cover-Bildern zur Verfügung. Unter dem Namen ist die URL mit Interpret und Album als Parametern angegeben. Für URL-codierte Werte können dabei
%u{artist}
und
%u{album}
angegeben werden oder auch andere Werte aus den Tags, wie in
Kid3 einrichten
bei
Benutzerbefehle
beschrieben. Nach "Custom Source" können auch eigene Quellen hinzugefügt werden. Dazu wird "Custom Source" durch den Namen der Quelle ersetzt, dann Return gedrückt, die URL eingegeben und mit
Einstellungen speichern
gesichert. Das resultierende Browser-Kommando wird oben im Dialog dargestellt und nach Drücken des
Browser-Knopfes ausgeführt. Der Browser, welcher in den Einstellungen konfiguriert werden kann, wird mit der gewählten Quelle gestartet. Das gewünschte Cover-Bild kann dann aus dem Browser in das
Kid3
Fenster gezogen werden und wird im Bild-Feld von Tag 2 der selektierten Dateien gesetzt.
Da nicht alle Browser Drag'n'Drop von Bildern unterstützen und häufig die Bilder auf Websites mit einer URL unterlegt sind, erhält Kid3 in solchen Fällen bloß die entsprechende URL und nicht das Bild. Wenn die URL auf ein Bild zeigt, wird dieses heruntergeladen. Falls die URL jedoch auf sonst eine Website hinweist, so muss von dieser auf das gewünschte Cover-Bild geschlossen werden. Dies ist die Aufgabe der Tabelle URL Ersetzung. Die linke Spalte Vergleich enthält einen regulären Ausdruck, welcher mit der URL verglichen wird. Wenn eine Übereinstimmung festgestellt wird, so werden die erhaltenen Klammer-Werte im Muster der Spalte URL des Bildes ersetzt (\1 usw.). Der ersetzte reguläre Ausdrucks enthält dann die URL des Bildes. Auf diese Weise können auch Bilder von Amazon, Google Images, usw. per Drag'n'Drop importiert werden. Natürlich können auch hier eigene Ersetzungen erfasst werden.
Datei → Exportieren...
-
Der
Export Dialog
wird verwendet, um die Daten aus den Tags in einer Datei oder der Zwischenablage zu speichern. Das oberste Editierfeld stellt einen einfachen Editor zur Verfügung, welcher eine Vorschau der zu exportierenden Daten bietet. Falls die Export-Daten Tabulatorzeichen enthalten, wird der Export in einer Tabelle dargestellt. Die Daten werden aus den Tags der Dateien im aktuellen Verzeichnis generiert, und zwar gemäß dem unten eingestellten Format.
Diese Formateinstellung ist gleich aufgebaut wie im Import Dialog: Im obersten Feld ist der Titel (z.B. "CSV unquoted"), dann folgt der Header - dieser wird nur am Anfang der Datei generiert. Nun folgt das Track-Format, es wird für jeden Track angewendet. Schließlich gibt es noch einen Trailer, welcher die Datei noch abschließt.
Die Formatfelder enthalten keine regulären Ausdrücke wie im Import Dialog, sondern bloß Ausgabeformate, bei denen spezielle %-Ausdrücke durch Werte aus den Tags ersetzt werden. Das ganze verhält sich also gleich wie beim Dateinamenformat, es werden auch dieselben Codes verwendet, plus ein paar zusätzliche. Nicht nur die unten aufgelisteten Codes sind möglich, es können die Namen aller Tag Frames verwendet werden.
- • %s %{title} Titel (Song)
- • %a %{artist} Interpret (Artist)
- • %l %{album} Album
- • %c %{comment} Kommentar (Comment)
- • %y %{year} Jahr (Year)
- • %t %{track} Nummer (Track)
- • %t %{track.n} Nummer mit Feldlänge n (z.B. 001 für %{track.3})
- • %T %{tracknumber} Nummer (Track), ohne führende Null
- • %g %{genre} Genre
- • %f %{file} Dateiname (File name)
- • %p %{filepath} Pfadname
- • %u %{url} URL
- • %d %{duration} Dauer in Minuten:Sekunden
- • %D %{seconds} Dauer in Sekunden
- • %n %{tracks} Anzahl Tracks im Album
- • %e %{extension} Dateiendung
- • %O %{tag1} Das Format von Tag 1 (ID3v1.1 oder leer falls nicht vorhanden)
- • %o %{tag2} Das Format von Tag 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF oder leer falls nicht vorhanden)
- • %b %{bitrate} Bitrate in kbit/s
- • %v %{vbr} VBR oder leer (nur für ID3v2.3 mit id3lib)
- • %r %{samplerate} Samplerate in Hz
- • %m %{mode} Kanalmodus (Stereo oder Joint Stereo)
- • %h %{channels} Anzahl Kanäle (1 oder 2)
- • %k %{codec} Codec (z.B. MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)
Mit diesen Formatcodes sind bereits einige Formate vordefiniert. "CSV unquoted" trennt die einzelnen Felder durch Tabulatoren. Daten in diesem Format können einfach wieder über das gleichnamige Importformat in Kid3 importiert werden. "CSV quoted" setzt die Felder zusätzlich noch in Anführungszeichen, was den Import in Tabellenkalkulationen erleichtert. Dafür sollten in den Feldern keine Anführungszeichen vorkommen. "Extended M3U" und "Extended PLS" erzeugen Stücklisten mit Zusatzinformationen und absoluten Pfadnamen. "HTML" dient dazu, eine HTML-Seite mit verlinkten Tracks zu erstellen. "Kover XML" generiert eine XML-Datei, welche vom Cover-Druck-Programm Kover gelesen werden kann. "Technical Details" liefert Informationen über Bitrate, Samplerate, Kanäle, usw. "Custom Format" schließlich ist frei für ein eigenes Format. Natürlich können auch die anderen Formate beliebig angepasst werden, oder es können noch mehr Formate in der Datei kid3rc im Konfigurationsverzeichnis hinzugefügt werden.
Die Quelle der Daten (Tag 1 oder Tag 2) kann mit einem Auswahlfeld festgelegt werden. Ein Klick auf In Datei bzw. In Zwischenablage speichert die Daten in einer Datei oder der Zwischenablage. OK und Abbrechen beenden den Dialog, wobei OK die aktuellen Einstellungen übernimmt.
Datei → Stückliste erstellen...
-
Erzeugt eine Stückliste.
Das Format und der Inhalt der Stückliste können mit verschiedenen Optionen bestimmt werden.
Wie Verzeichnisname generiert den Dateinamen der Wiedergabeliste aus dem Namen des Verzeichnisses. Es kann aber auch ein Format mit Werten aus den Tags benutzt werden, z.B. "%{artist} - %{album}", um die Namen von Interpret und Album im Dateinamen zu haben. Es können dieselben Format Codes wie bei Exportieren verwendet werden. Die Dateierweiterung richtet sich nach dem Format der Stückliste.
Wo die Wiedergabeliste erstellt wird, kann bestimmt werden mit der Auswahlliste Erstelle in
Aktuellem Verzeichnis
- Die Stückliste wird im aktuellen Verzeichnis erstellt und enthält nur Dateien aus diesem Verzeichnis. Das aktuelle Verzeichnis ist das Verzeichnis, in welchem sich die aktuelle Datei befindet. Wenn mehrere Dateien ausgewählt sind, ist wahrscheinlich die zuletzt ausgewählte Datei die aktuelle Datei.
Jedem Ordner
- In jedem Verzeichnis, welches gelistete Dateien enthält, wird eine eigene Stückliste erstellt, welche die Dateien aus dem jeweiligen Verzeichnis enthält.
Basisordner
- Nur eine einzige Stückliste wird im Basisverzeichnis (d.h. dem Verzeichnis der Dateiliste) erstellt, und sie enthält die gelisteten Dateien aus dem Basisverzeichnis und allen Unterverzeichnissen.
Das Format der Wiedergabeliste kann M3U, PLS oder XSPF sein.
Nur ausgewählte Dateien einfügen führt dazu, dass nur ausgewählte Dateien in der Stückliste erscheinen. Wenn ein Verzeichnis ausgewählt ist, so gelten all seine Dateien ebenfalls als selektiert. Wenn diese Option nicht aktiviert ist, gelangen alle Audio-Dateien in die Stückliste.
Sortiere nach Dateiname ordnet die Dateien wie üblich nach dem Dateinamen in der Wiedergabeliste an. Mit Sortiere nach Tag-Feld ist es möglich, eine Format-Zeichenkette mit Tag-Werten für die Sortierung zu verwenden. "%{track.3}" kann beispielsweise benutzt werden, um nach der Tracknummer zu sortieren (".3" wird verwendet, um 3 Stellen mit führenden Nullen zu kriegen, und somit korrekt nach der Nummer zu sortieren). Es ist auch möglich, mehrere Codes zu verwenden, z.B. "%{genre}%{year}", um nach einer Zeichenkette aus Genre und Jahr zu sortieren.
Die Einträge in der Stückliste sind relative oder absolute Pfadangaben, je nachdem ob Benutze relativen Pfad für Dateien in der Wiedergabeliste oder Benutze vollen Pfad für Dateien in der Wiedergabeliste gesetzt ist.
Nur Liste der Dateien schreiben führt dazu, dass die Stückliste nur die Pfade zu den Dateien enthält. Wünscht man zusätzliche Informationen, so steht Schreibe Informationen mit einer Format-Zeichenfolge zur Verfügung, und es wird eine erweiterte Stückliste generiert.
Datei → Beenden (Ctrl+Q)
- Beendet die Anwendung.
Das Menü Bearbeiten
Bearbeiten → Alles auswählen (Alt+A)
- Selektiert alle Dateien.
Bearbeiten → Abwählen (Ctrl+Shift+A)
- Deselektiert alle Dateien.
Bearbeiten → Alles im Verzeichnis auswählen
- Selektiert alle Dateien im aktuellen Verzeichnis.
Bearbeiten → Vorangehende Datei (Alt+Up)
- Selektiert die vorangehende Datei.
Bearbeiten → Nächste Datei (Alt+Down)
- Selektiert die nächste Datei.
Bearbeiten → Suchen... (Ctrl+F)
- Sucht Zeichenketten in den Dateinamen und Tags. Der Suchen Dialog ist eine Teilmenge des Ersetzen-Dialogs, welcher unten beschrieben ist.
Bearbeiten → Ersetzen... (Ctrl+R)
-
Ein Dialog wird geöffnet, mit welchem sich Zeichenketten in den Dateinamen und Tags suchen und ersetzen lassen. Die Suche kann auf bestimmte Elemente eingeschränkt werden, indem bei
Alles selektieren
das Häkchen entfernt wird und die gewünschten Elemente ausgewählt werden. Es sind auch Optionen vorhanden, um rückwärts zu suchen, Groß- und Kleinbuchstaben zu unterscheiden und für reguläre Ausdrücke.
Abhängig von der Anzahl Dateien kann die Suche etwas dauern, daher kann sie durch Schließen des Dialogs abgebrochen werden.
Das Menü Extras
Extras → Dateinamenformat anwenden
- Wenn Während des Editierens formatieren im Konfigurationsdialog beim Dateinamenformat deaktiviert ist, kann man mit diesem Menüpunkt die Formatierung auf die Namen der ausgewählten Dateien anwenden. Diese Funktion kann auch angewendet werden, um zu testen, ob die Dateinamen dem eingestellten Format entsprechen. Hierzu sollten alle Dateien gespeichert werden; nach Anwendung des Formates sind dann nur diejenigen Dateien verändert (in der Dateiliste mit einem Diskettensymbol versehen), welche nicht dem eingestellten Format entsprechen. Ungewollte Änderungen können mit Zuletzt gespeicherte Fassung rückgängig gemacht werden.
Extras → Tag-Format anwenden
- Wenn Während des Editierens formatieren im Konfigurationsdialog beim Tag Format deaktiviert ist, kann man mit diesem Menüpunkt die Formatierung auf die Tags der ausgewählten Dateien anwenden. Diese Funktion kann auch angewendet werden, um zu testen, ob die Tags dem eingestellten Format entsprechen. Hierzu sollten alle Dateien gespeichert werden; nach Anwendung des Formates sind dann nur diejenigen Dateien verändert (in der Dateiliste mit einem Diskettensymbol versehen), welche nicht dem eingestellten Format entsprechen. Ungewollte Änderungen können mit Zuletzt gespeicherte Fassung rückgängig gemacht werden.
Extras → Textkodierung anwenden
- Setzt die Textkodierung, welche in Einstellungen/Kid3 einrichten.../Tags/Tag 2 eingestellt ist, für alle ausgewählten Dateien. Wenn UTF8 eingestellt ist, so wird für ID3v2.3.0 Tags UTF16 verwendet, denn dieses Format unterstützt UTF8 nicht.
Extras → Verzeichnis umbenennen...
-
Dieser Dialog bietet die Möglichkeit, automatisch das aktuelle Verzeichnis gemäß den Tags umzubenennen. Verschiedene Formate sind vordefiniert und Informationen über Interpret, Album und Jahr in den Verzeichnisnamen zu übernehmen. Es ist auch möglich, ein eigenes Format zu definieren, die folgenden Codes können verwendet werden, um Werte aus den Tags im Verzeichnisnamen einzusetzen:
- • %s %{title} Titel (Song)
- • %a %{artist} Interpret (Artist)
- • %l %{album} Album
- • %c %{comment} Kommentar (Comment)
- • %y %{year} Jahr (Year)
- • %t %{track} Nummer (Track))
- • %t %{track.n} Nummer mit Feldlänge n (z.B. 001 für %{track.3})
- • %T %{tracknumber} Nummer (Track), ohne führende Null
- • %g %{genre} Genre
Wenn ein Verzeichnis-Trennzeichen "/" im Format gefunden wird, werden mehrere Verzeichnisse erstellt. Will man ein neues Verzeichnis erstellen statt das aktuelle Verzeichnis umbenennen, so wählt man Verzeichnis erstellen statt Verzeichnis umbenennen. Die Quelle der Tag-Information kann zwischen Von Tag 1 und Tag 2, Von Tag 1 und Von Tag 2 ausgewählt werden. Die voraussichtliche Verzeichnisnamensänderung für die erste Datei kann in den Abschnitten Von und Nach des Dialogs gesehen werden.
Es können auch mehrere Verzeichnisse umbenannt werden, indem sie selektiert werden.
Extras → Tracks nummerieren...
-
Falls die Track-Nummern in den Tags nicht vorhanden oder falsch sind, so lassen sich mit dieser Funktion
die Tracks automatisch aufsteigend nummerieren. Im Dialog kann die
Startnummer
angegeben werden. Falls nur ein Teil der Tracks nummeriert werden soll, so sind diese im Voraus auszuwählen.
Wenn Anzahl Stücke markiert ist, wird auch die Anzahl Tracks in den Tags gesetzt.
Es können auch die Tracks über mehrere Ordner hinweg nummeriert werden. Dazu müssen die Verzeichnisse aufgeklappt und selektiert werden.
Wenn Zähler für jedes Verzeichnis zurücksetzen aktiviert ist, wird die Nummerierung bei jedem Verzeichnis mit der Startnummer begonnen falls mehrere Verzeichnisse ausgewählt sind.
Der Dialog kann auch dazu benutzt werden, bestehende Track-Nummern neu zu formatieren, ohne ihren Wert zu verändern. Dazu muss das Häkchen bei der Startnummer entfernt werden. Wenn Anzahl Stücke markiert ist, so wird das Total hinzugefügt. Falls es nicht erwünscht ist, die Anzahl Stücke in allen ausgewählten Dateien zu setzen, muss auch diese Option deaktiviert werden.
Extras → Filter...
-
Der Filter kann dazu verwendet werden, nur diejenigen Dateien anzeigen, welche gewisse Eigenschaften erfüllen. Dies kann dann nützlich sein, wenn man die Tags oder Dateinamen in einer größeren Sammlung bereinigen möchte, jedoch nur diejenigen Dateien bearbeiten möchte, welche nicht dem gewünschten Schema entsprechen. Der Ausdruck, der bestimmt, welche Dateien angezeigt werden, benutzt dieselben Formatcodes, welche auch beim Dateinamenformat, Importieren und Exportieren verwendet werden.
- • %s %{title} Titel (Song)
- • %a %{artist} Interpret (Artist)
- • %l %{album} Album
- • %c %{comment} Kommentar (Comment)
- • %y %{year} Jahr (Year)
- • %t %{track} Nummer (Track))
- • %t %{track.n} Nummer mit Feldlänge n (z.B. 001 für %{track.3})
- • %T %{tracknumber} Nummer (Track), ohne führende Null
- • %g %{genre} Genre
- • %f %{file} Dateiname (File name)
- • %p %{filepath} Absoluter Pfadname
- • %e %{extension} Dateiendung
- • %O %{tag1} Das Format von Tag 1 (ID3v1.1 oder leer falls nicht vorhanden)
- • %o %{tag2} Das Format von Tag 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF oder leer falls nicht vorhanden)
- • %b %{bitrate} Bitrate in kbit/s
- • %v %{vbr} VBR oder leer (nur für ID3v2.3 mit id3lib)
- • %r %{samplerate} Samplerate in Hz
- • %m %{mode} Kanalmodus (Stereo oder Joint Stereo)
- • %h %{channels} Anzahl Kanäle (1 oder 2)
- • %k %{codec} Codec (z.B. MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)
- • %1a %1{artist}, ... Der Präfix 1 wird benutzt, um Werte von Tag 1 zu erhalten
- • %2a %2{artist}, ... Der Präfix 2 wird benutzt, um Werte von Tag 2 zu erhalten
Diese Codes werden mit dem Wert für die Datei ersetzt und die resultierenden Zeichenketten können mit folgenden Operatoren verglichen werden:
- • s1 equals s2: wahr wenn s1 und s2 gleich sind.
- • s1 contains s2: wahr wenn s2 in s1 enthalten ist.
- • s matches re: wahr wenn s den regulären Ausdruck re erfüllt.
Wahre Ausdrücke werden durch 1 ersetzt, falsche durch 0. Wahre Werte repräsentieren nebst 1 auch true, on und yes, falsche Werte entsprechend 0, false, off und no. Diese Wahrheitwerte können durch die logischen Operatoren not, and und or verknüpft werden (die Priorität ist in dieser Reihenfolge), und mit Klammern gruppiert werden.
Einige Filterregeln sind bereits vordefiniert und können als Beispiele für eigene Ausdrücke dienen:
All
- Wenn die Dateiliste gefiltert ist - dies wird mit "[Gefiltert]" in der Titelzeile angezeigt - und man möchte wieder alle Dateien anzeigen, kann das Filtern mit diesem Filter rückgängig gemacht werden. Es wird ein leerer Ausdruck verwendet, ein Wahrheitswert wie true hätte aber denselben Effekt.
Filename Tag Mismatch
-
not (%{filepath} contains "%{artist} - %{album}/%{track} %{title}")
Testet, ob ein Dateipfad dem Dateinamenformat entspricht. Diese Regel wird automatisch angepasst, wenn sich das Dateinamenformat ändert.
No Tag 1
-
%{tag1} equals ""
Es werden nur Dateien ohne Tag 1 angezeigt.
No Tag 2
-
%{tag2} equals ""
Es werden nur Dateien ohne Tag 2 angezeigt.
ID3v2.3.0 Tag
-
%{tag2} equals "ID3v2.3.0"
Es werden nur Dateien mit ID3v2.3.0 Tag angezeigt.
ID3v2.4.0 Tag
-
%{tag2} equals "ID3v2.4.0"
Es werden nur Dateien mit ID3v2.4.0 Tag angezeigt.
Tag 1 != Tag 2
-
not (%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre})
Es werden Dateien mit Unterschieden zwischen Tag 1 und Tag 2 angezeigt.
Tag 1 == Tag 2
-
%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre}
Es werden Dateien mit identischen Tag 1 und Tag 2 angezeigt.
Incomplete
-
%{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals ""
Es werden nur Dateien angezeigt, welche leere Standard-Tag-Werte haben (Titel, Interpret, Album, Datum, Tracknummer, Genre).
No Picture
-
%{picture} equals ""
Es werden nur Dateien ohne Bild angezeigt.
Custom Filter
-
Dieser Eintrag kann verwendet werden, um einen eigenen Filter hinzuzufügen. Um beispielsweise nur Dateien anzuzeigen, deren Interpret mit "The" beginnt, ersetzt man "Custom Filter" durch einen Namen wie "The Bands" und drückt die Enter Taste. Dann fügt man folgenden Ausdruck in das Eingabefeld ein:
%{artist} matches "The.*"
Gespeichert wird mit Einstellungen speichern. Die Dateien werden mit Anwenden gefiltert. Alle bearbeiteten Dateien werden im Textfeld angezeigt, mit einem "+" vor solchen, die den Filterausdruck erfüllen, und einem "-" vor den anderen. Wenn das Filtern fertig ist, werden nur noch diejenigen Dateien angezeigt, deren Interpret mit "The" beginnt, und in der Titelzeile wird "[Gefiltert]" angezeigt.
Extras → ID3v2.3 nach ID3v2.4 konvertieren
- Wenn in den ausgewählten Dateien ID3v2.3 Tags vorhanden sind, so werden sie zu ID3v2.4 Tags konvertiert. Frames, welche von TagLib nicht unterstützt sind, werden verworfen. Nur Dateien ohne ungesicherte Änderungen werden konvertiert.
Extras → ID3v2.4 nach ID3v2.3 konvertieren
- Wenn in den ausgewählten Dateien ID3v2.4 Tags vorhanden sind, so werden sie zu ID3v2.3 Tags konvertiert. Nur Dateien ohne ungesicherte Änderungen werden konvertiert.
Extras → Wiedergabe
- Damit öffnet sich eine einfache Werkzeugleiste zum Abspielen von Audio-Dateien. Sie enthält Knöpfe für die grundlegenden Operationen (Wiedergabe/Pause, Wiedergabe stoppen, Zurück, Vorwärts, Schließen), Regler für Position und Lautstärke und eine Anzeige der aktuellen Position. Abgespielt werden die selektierten Stücke bei Mehrfachselektion bzw. alle Stücke wenn eine oder keine Datei selektiert ist.
Das Menü Einstellungen
Einstellungen → Werkzeugleiste anzeigen
- Schaltet die Anzeige der Werkzeugleiste ein und aus.
Einstellungen → Statusleiste anzeigen
- Schaltet die Anzeige der Statusleiste, welche längere Aktionen wie Öffnen und Speichern eines Verzeichnisses anzeigt, ein und aus.
Einstellungen → Bild anzeigen
- Schaltet die Anzeige des Cover-Bildes ein und aus.
Einstellungen → Tags automatisch ausblenden
- Wenn diese Option aktiv ist, werden leere Tags automatisch ausgeblendet. Manuell lassen sich die Datei, Tag 1 und Tag 2 Sektionen durch Druck auf die entsprechenden - bzw. + Schaltflächen zu- und aufklappen.
Einstellungen → Kid3 einrichten...
-
Öffnet den
Konfigurationsdialog, der aus verschiedenen Seiten besteht, mit Optionen für Tags, Dateien, Benutzerbefehle und Netzwerk.
Optionen für Tags sind auf der Seite Tags zu finden, welche ihrerseits in drei Reiter unterteilt ist für Tag 1, Tag 2 und Tag 1 und Tag 2.
Wenn Markiere abgeschnittene Felder aktiv ist, werden abgeschnittene ID3v1.1 Felder rot markiert. Die Textfelder in ID3v1.1 Tags haben bloß 30 Zeichen, der Kommentar nur 28 Zeichen. Auch Genre und Nummer sind Beschränkungen unterworfen, so dass Felder gekürzt werden können, wenn sie importiert oder von ID3v2 konvertiert werden. Abgeschnittene Felder und ihre Datei werden rot markiert; die Markierung wird entfernt, nachdem das Feld editiert worden ist.
Mit Text Codierung für ID3v1 kann die Codierung, welche für ID3v1 Tags verwendet wird, eingestellt werden. Standardmäßig wird hier ISO-8859-1 erwartet, daher wird empfohlen, diese Einstellung so zu lassen. Da jedoch Tags mit anderer Codierung anzutreffen sind, kann hier eine andere Codierung gewählt werden, so dass dann die ID3v1 Tags nach ID3v2 transferiert werden können, welches Unicode Zeichen unterstützt.
Das Markierungsfeld Benutze Format Nummer/Anzahl Stücke bewirkt, dass im Tracknummer-Feld bei den ID3v2 Tags nicht bloß die Tracknummer gespeichert wird, sondern auch die Gesamtzahl der Stücke im Verzeichnis.
Wenn Genre als Text statt als Nummer aktiviert ist, werden alle Genres als Text gespeichert, auch wenn ein ID3v1-Code für das Genre existiert. Ohne diese Einstellungen werden solche Genres als die Nummer des entsprechenden ID3v1-Codes gespeichert (in Klammern für ID3v2.3). Das Genre Metal wird also abhängig von dieser Option entweder als "Metal" oder als "(9)" gespeichert. Genres, für welche kein ID3v1-Code existiert, werden immer als Text gespeichert. Der Sinn dieser Option ist es, die Kompatibilität mit Geräten zu verbessern, welche die Codes nicht korrekt interpretieren.
Text Codierung bestimmt die Codierung von ID3v2 Elementen und kann auf ISO-8859-1, UTF16 oder UTF8 gesetzt werden. UTF8 ist für ID3v2.3.0 nicht gültig; wenn dieser Wert gesetzt ist, wird stattdessen UTF16 verwendet. Für ID3v2.4.0 sind alle drei Codierungen möglich.
Version für neue Tags legt fest, ob neue ID3v2 Tags mit der Version 2.3.0 oder 2.4.0 erzeugt werden. Im ersteren Fall wird id3lib verwendet, TagLib kommt nur dann zum Einsatz, wenn ein ID3v2.4.0 Tag bearbeitet werden muss. Mit der Einstellung ID3v2.4.0 (TagLib) wird für MP3-Dateien immer die TagLib verwendet; veränderte oder neu erstellte Tags werden dann als ID3v2.4.0 gespeichert. Mit ID3v2.3.0 (TagLib) wird TagLib auch für ID3v2.3.0 Tags verwendet.
Anzahl der Stellen in Tracknummer bestimmt die Zahl der Dezimalstellen in den Tracknummer-Feldern. Die Nummern werden mit führenden Nullen auf die eingestellte Anzahl Stellen erweitert. Beispielsweise wird mit dem Wert 2 die Tracknummer 5 als "05" gesetzt.
Das Auswahlfeld Name des Kommentar-Feldes ist für Ogg/Vorbis und FLAC-Dateien relevant und bestimmt den Namen des Feldes, welches für Kommentare verwendet wird. Hier scheinen verschiedene Anwendungen unterschiedliche Namen zu verwenden, "COMMENT" wird beispielsweise von xmms benutzt, während amaroK "DESCRIPTION" verwendet.
Das Format von Bildern in Ogg/Vorbis-Dateien wird bestimmt durch Name des Bild-Feldes und kann METADATA_BLOCK_PICTURE oder COVERART sein. Das erstere ist der offizielle Standard und benutzt dasselbe Format wie Bilder in FLAC-Dateien. Bei COVERART handelt es sich um eine frühere, inoffizielle Methode, um Bilder in Vorbis-Tags zu codieren. Manche Player benutzen dieses Feld.
Wenn das Häkchen bei Markieren wenn größer als gesetzt ist, so werden Dateien mit Bildern, welche die angegebene Größe überschreiten, rot markiert. Damit können Dateien mit übergroßen Bildern, welche von gewissen Applikationen und Playern nicht akzeptiert werden, aufgespürt werden. Der vorgegebene Limit ist 131072 Bytes (128 KB).
Eigene Genres kann zur Definition von Genres benutzt werden, welche nicht in der Standard-Liste enthalten sind, so z.B. "Gothic Metal". Solche Genres sind dann im Genre Auswahlfeld von Tag 2 verfügbar. Für ID3v1.1 Tags können nur die vordefinierten Genres verwendet werden.
Die Liste mit den eigenen Genres kann auch dazu verwendet werden, die Anzahl der im Genre Auswahlfeld angebotenen Einträge auf diejenigen zu reduzieren, welche man braucht. Falls die Musiksammlung hauptsächlich aus Metal, Gothic Metal, Ancient und Hard Rock Nummern besteht, so kann man diese Genres eingeben und Nur eigene Genres anzeigen markieren. Das Tag 2 Genre Auswahlfeld enthält dann nur noch diese vier Genres, und man braucht nicht mehr die ganze lange Liste nach ihnen zu durchsuchen. Bei dieser Beispielkonfiguration sind im Tag 1 Genre Auswahlfeld nur noch Metal und Hard Rock verfügbar, denn diese zwei Einträge sind Standard Genres. Wenn Nur eigene Genres anzeigen nicht markiert ist, so werden die eigenen Genres am Ende der Auswahlliste aufgeführt.
Schnellzugriff-Elemente bestimmt, welche Frametypen immer bei Tag 2 angezeigt werden. Solche Frames können dann hinzugefügt werden, ohne zuerst den Hinzufügen Knopf zu drücken. Die Reihenfolge dieser Schnellzugriff-Elemente kann durch Ziehen und Loslassen der Elemente verändert werden.
Tag Format enthält Einstellungen für das Format der Tags. Wenn Während dem Editieren formatieren aktiviert ist, wird die Eingabe während dem Editieren automatisch formatiert. Groß/Kleinschreibung kann auf Keine Änderungen, Alles Kleinbuchstaben, Alles Großbuchstaben, Den ersten Buchstaben groß oder Alle ersten Buchstaben groß gesetzt werden. Um die Eigenheiten einer Sprache bei der Konversion zwischen Klein- und Großbuchstaben zu berücksichtigen, kann eine Sprache in der darunterliegenden Auswahlliste gewählt werden. Die Zeichen ersetzen Liste kann mit beliebigen Zuordnungen von Zeichenketten gefüllt werden. Eine neue Zuordnung kann hinzugefügt werden, indem in der Von Zelle einer Zeile der zu ersetzende Text eingegeben wird und dann in der Nach Spalte der Ersetzungstext. Zum Löschen einer Zuordnung wird die Von Zelle auf einen leeren Wert gesetzt (z.B. indem man zuerst einen Leerschlag eingibt und diesen dann wieder löscht). Einfügen und Löschen von Zeilen ist auch über das Kontext-Menü möglich, welches erscheint, wenn man die rechte Maustaste drückt. Ersetzungen werden nur durchgeführt, wenn das Zeichen ersetzen Markierungsfeld aktiviert ist.
Auf der Seite Dateien bestimmt das Markierungsfeld Zuletzt geöffnete Dateien laden, ob Kid3 beim nächsten Start wieder die zuletzt gewählte Datei öffnet und selektiert. Mit Datei-Zeitstempel nicht verändern kann eingestellt werden, dass die Modifikationszeit der Datei nicht verändert wird.
Wenn Änderungen markieren aktiviert ist, werden veränderte Felder markiert, indem der Hintergrund des Namens grau gesetzt wird. Dateiname für Cover setzt den Namen, welcher vorgeschlagen wird, wenn ein eingebettetes Bild als Datei exportiert wird. Mit Textkodierung (Export, Stückliste) lässt sich die Codierung einstellen, welche beim Schreiben von Dateien verwendet wird. Die Voreinstellung System kann verändert werden wenn beispielsweise Stücklisten auf einem anderen Gerät verwendet werden sollen.
Dateinamen Format enthält Einstellungen für das Format der Dateinamen. Dabei sind die selben Optionen wie bei Tag Format möglich.
Die Seite Benutzerbefehle enthält eine Tabelle mit Befehlen, welche über das Kontext Menü der Dateiliste ausgewählt werden können. Bei kritischen Operationen, beispielsweise dem Löschen von Dateien, empfiehlt es sich, Nachfragen zu markieren, damit vor dem Ausführen des Befehls eine Bestätigung verlangt wird. Ausgabe kann markiert werden, um die Ausgabe von Konsolen-Applikationen zu sehen (Standard und Fehler-Ausgabe). Name ist der Text, welcher im Kontext Menü dargestellt wird. Befehl schließlich ist die auszuführende Kommandozeile. Argumente können mit den folgenden Codes übergeben werden:
- • %F %{files} Dateipfad (eine Liste wenn mehrere Dateien selektiert sind)
- • %f %{file} Pfad einer einzelnen Datei
- • %uF %{urls} URLs (eine Liste wenn mehrere Dateien selektiert sind)
- • %uf %{url} URL zu einer einzelnen Datei
- • %d %{directory} Verzeichnis
- • %s %{title} Titel (Song)
- • %a %{artist} Interpret (Artist)
- • %l %{album} Album
- • %c %{comment} Kommentar (Comment)
- • %y %{year} Jahr (Year)
- • %t %{track} Nummer (Track)
- • %t %{track.n} Nummer mit Feldlänge n (z.B. 001 für %{track.3})
- • %T %{tracknumber} Nummer (Track), ohne führende Null
- • %g %{genre} Genre
- • %b %{browser} Kommando zum Starten des Web Browsers
- • %q %{qmlpath} Basisverzeichnis der mitgelieferten QML-Dateien
Der Code @separator kann verwendet werden, um eine Trennlinie in das Benutzerbefehle-Kontextmenü einzufügen. Menüpunkte können in Untermenüs gruppiert werden, indem man sie mit @beginmenu und @endmenu Befehlen umgibt. Der Name des Untermenüs wird durch die Spalte Name des @beginmenu Befehls definiert.
Zum Ausführen von QML Skripten wird als Befehl @qml verwendet. Danach wird der Pfad zum QML-Skript angegeben. Die mitgelieferten Skripte liegen im Verzeichnis %{qmlpath}/script/ (unter Linux typischerweise /usr/share/kid3/qml/script/, bei Windows in qml/script/ innerhalb des Installationsverzeichnisses, und bei OS X im App-Verzeichnis kid3.app/Contents/Resources/qml/script/). Eigene Skripte können aber auch in einem beliebigen anderen Verzeichnis gespeichert werden. Wenn der QML-Code grafische Elemente innerhalb eines Fensters öffnet, so muss @qmlview anstelle von @qml verwendet werden. Weitere Parameter werden dem QML-Skript übergeben und sind dort über die Funktion getArguments() verfügbar. Eine Übersicht einiger in QML verfügbarer Funktionen und Eigenschaften findet sich im Anhang QML Schnittstelle.
Das Kommando, welches mit %{browser} eingefügt werden kann, wird oberhalb der Tabelle im Eingabefeld Web Browser definiert. Damit lassen sich leicht Webseiten mit Informationen zu den Audiodateien aufrufen. Zum Beispiel startet
-
%{browser} http://lyricwiki.org/%u{artist}:%u{title}
eine Anfrage in m[blue]LyricWikim[][10] mit Interpret und Titel. Das "u" in %u{artist} und %u{title} bewirkt, dass Interpret %{artist} und Titel %{title} URL-codiert werden. In gleicher Weise lassen sich auch leicht andere Abfragen definieren, z.B. eine Bildsuche bei m[blue]Googlem[][11]:
Um dem Tag 2 Album Cover Bilder hinzuzufügen, kann man mit den oben beschriebenen Benutzerbefehlen über Google Images oder Amazon nach Bildern suchen. Die Bilder können mit "Drag and Drop" hinzugefügt werden. Bilder können auch mit Hinzufügen eines Bild Elementes und Importieren einer Datei oder Einfügen aus der Zwischenablage in ein Tag gebracht werden. Unterstützt sind Bilder für ID3v2, MP4, FLAC, Ogg und ASF Tags.
Zum Löschen und Hinzufügen von Einträgen steht in der Tabelle ein Kontext Menü zur Verfügung.
Die Netzwerk Seite enthält bloß ein Textfeld für die Adresse des Netzwerk Proxys und optional der Portnummer, abgetrennt durch einen Doppelpunkt. Dieser Proxy wird für den Import von einem Internet Server verwendet, wenn das Kästchen davor markiert ist.
Die verfügbaren Plugins können in der Seite Erweiterungen ein- bzw. ausgeschaltet werden. Die Plugins sind in zwei Listen unterteilt. Metadaten Plugins & Priorität enthält Plugins, welche Audio-Datei-Formate unterstützen. Die Reihenfolge der Einträge ist entscheidend, denn sie werden der Reihe nach durchprobiert. Gewisse Formate werden von mehreren Plugins unterstützt, daher werden Dateien durch das erste Plugin, welches sie unterstützt, geöffnet. TaglibMetadata unterstützt die meisten Formate; wenn es zuoberst in der Liste ist, wird es die meisten Dateien öffnen. Um ein anderes Plugin zu verwenden, muss es vor TaglibMetadata in der Liste stehen. Details über die Metadaten Plugins und Gründe, warum man sie statt TagLib verwenden möchte, folgen.
- • Id3libMetadata: Benutzt m[blue]id3libm[][12] für ID3v1.1 und ID3v2.3 Tags in MP3, MP2 und AAC Dateien; unterstützt einige Frame-Typen mehr als TagLib. Ein weiterer Grund für die Verwendung ist, dass TagLib ID3v2.3 erst seit Version 1.8 unterstützt.
- • OggFlacMetadata: Benutzt m[blue]liboggm[][13], m[blue]libvorbis und libvorbisfilem[][14] für Ogg Dateien und zusätzlich m[blue]libFLAC++ und libFLACm[][15] für FLAC Dateien. Gründe für die Benutzung sind Bilder in Ogg Dateien - solche werden von TagLib nicht unterstützt - und dass es die offiziellen Bibliotheken dieser Formate sind.
- • TaglibMetadata: Benutzt m[blue]TagLibm[][16], welche viele Datei-Formate unterstützt, seit Version 1.8 auch ID3v2.3, so dass sie für alle Audio-Dateien verwendet werden kann, welche Kid3 unterstützt.
- • Mp4v2Metadata: m[blue]mp4v2m[][17] wurde ursprünglich von Kid3 für M4A-Dateien verwendet. Mittlerweile ist die Unterstützung von TagLib für dieses Format so gut, dass dieses Plugin nur erstellt wird, wenn dies explizit gefordert wird.
Verfügbare Erweiterungen listet die verbleibenden Plugins auf. Ihre Reihenfolge ist unwichtig, sie können über die Kästchen links ein- oder ausgeschaltet werden.
- • AmazonImport: Benutzt für die Importieren von Amazon... Funktion.
- • DiscogsImport: Benutzt für die Importieren von Discogs... Funktion.
- • FreedbImport: Benutzt für die Importieren von gnudb.org... und Importieren von TrackType.org... Funktionen.
- • MusicBrainzImport: Benutzt für die Importieren von MusicBrainz-Album... Funktion.
- • AcoustidImport: Benutzt für die Importieren von MusicBrainz-Fingerprint... Funktion, welche von den Bibliotheken m[blue]Chromaprintm[][18] und m[blue]libavm[][19] abhängig ist.
Deaktivierte Erweiterungen werden nicht geladen, damit lässt sich also der Speicherverbrauch und die Ladezeit optimieren. Die Einstellungen auf dieser Seite werden aber erst nach einem Neustart von Kid3 aktiv.
Einstellungen → Kurzbefehle festlegen...
-
Öffnet einen Dialog, um den meisten Programm-Funktionen ein Tastatur-Kürzel zuzuordnen. Es gibt sogar einige Funktionen ohne entsprechenden Menüpunkt oder Knopf, z.B. nächste Datei, vorangehende Datei, alles auswählen.
Das Menü Hilfe
Hilfe → Handbuch zu Kid3
- Öffnet dieses Handbuch.
Hilfe → Über Kid3
- Zeigt eine kurze Information über Kid3 an.
KID3-CLI
Befehle
kid3-cli bietet eine Kommandozeile für Kid3. Wenn ein Verzeichnispfad als Parameter verwendet wird, so wird das Verzeichnis geöffnet. Bei einem oder mehreren Dateipfaden wird das übergeordnete Verzeichnis geöffnet, und die Dateien werden ausgewählt. Befehle werden dann auf diese Dateien angewendet. Befehle werden mit -c Optionen angegeben, wenn mehrere vorhanden sind, so werden sie der Reihe nach ausgeführt. Falls Dateien durch die Befehle verändert werden, so werden sie am Ende gespeichert. Wenn keine Befehlsoptionen vorhanden sind, so startet kid3-cli im interaktiven Modus. Dort können Befehle eingegeben werden, welche auf die ausgewählten Dateien angewendet werden. Die folgenden Abschnitte beschreiben alle verfügbaren Befehle.
Überschreibt den Wert für die maximal erlaubte Ausführungszeit der Befehle. Die Befehle werden nach einer spezifischen Zeit abgebrochen, nach 10 Sekunden bei
ls
Hilfe
kid3-cli> ls 1- 01 Intro.mp3 > 12 02 We Only Got This One.mp3 *1- 03 Outro.mp3
In diesem Beispiel haben alle Dateien ein Tag 1, die zweite Datei hat auch ein Tag 2 und ist ausgewählt. Die dritte Datei ist verändert.
Veränderte Dateien speichern
kid3-cli> select first kid3-cli> ls > 1- 01 Intro.mp3 12 02 We Only Got This One.mp3 *1- 03 Outro.mp3 kid3-cli> select next kid3-cli> ls 1- 01 Intro.mp3 > 12 02 We Only Got This One.mp3 *1- 03 Outro.mp3 kid3-cli> select *.mp3 kid3-cli> ls > 1- 01 Intro.mp3 > 12 02 We Only Got This One.mp3 >*1- 03 Outro.mp3
Tag auswählen
kid3-cli> get Datei: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo Name: 01 Intro.mp3 Tag 1: ID3v1.1 Titel Intro Interpret One Hit Wonder Album Let's Tag Datum 2013 Tracknummer 1 Genre Pop kid3-cli> get title Intro
Ein Bild kann in einer Datei gespeichert werden.
-
get picture:"/pfad/zu/folder.jpg"
Synchronisierter Liedtext wird im LRC-Format exportiert.
-
get SYLT:"/pfad/zu/lyrics.lrc"
Tag-Element setzen
kid3-cli> set remixer "O.H. Wonder"
Um den Inhalt eines Bild-Elements aus einer Datei zu befüllen, kann
-
set picture:"/pfad/zu/folder.jpg" "Bildbeschreibung"
verwendet werden.
Synchronisierter Liedtext kann aus einer LRC-Datei importiert werden.
-
set SYLT:"/pfad/zu/lyrics.lrc" "Beschreibung"
Falls für
DATEI
tags
angegeben wird, so wird aus anderen Tags importiert. Anstelle von
FORMATNAME
werden dann
QUELLE
und
EXTRAKTION
als Parameter verlangt, siehe
Importieren von Tags.
Änderungen rückgängig machen
kid3-cli> albumart http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC
In Datei oder Zwischenablage exportieren
kid3-cli> filter '%{title} contains "tro"' Begonnen /home/urs/One Hit Wonder - Let's Tag + 01 Intro.mp3 - 02 We Only Got This One.mp3 + 03 Outro.mp3 Fertig kid3-cli> ls 1- 01 Intro.mp3 1- 03 Outro.mp3 kid3-cli> filter All Begonnen /home/urs/One Hit Wonder - Let's Tag + 01 Intro.mp3 + 02 We Only Got This One.mp3 + 03 Outro.mp3 Fertig kid3-cli> ls 1- 01 Intro.mp3 12 02 We Only Got This One.mp3 1- 03 Outro.mp3
ID3v2.3 nach ID3v2.4 konvertieren
Beispiele
Setze das Albumcover in allen Dateien eines Verzeichnisses unter Verwendung der automatischen Import-Funktion:
-
kid3-cli -c 'autoimport "Cover Art"' /pfad/zum/verzeichnis
Entferne Kommentar und wende Tag-Format an für beide Tags in allen MP3-Dateien eines Verzeichnisses:
-
kid3-cli -c 'set comment "" 1' -c 'set comment "" 2' \ -c 'tagformat 1' -c 'tagformat 2' /pfad/zum/verzeichnis/*.mp3
Automatischer Import in Tag 2, auch ins Tag 1 kopieren, die Dateinamen aus Tag 2 setzen und schließlich eine Stückliste erstellen:
-
kid3-cli -c autoimport -c 'syncto 1' -c fromtag -c playlist \ /pfad/zum/verzeichnis/*.mp3
Für alle Dateien mit einem ID3v2.4.0 Tag, dieses nach ID3v2.3.0 konvertieren und das Arrangierung Element entfernen:
-
kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \ -c "set arranger ''" /pfad/zum/verzeichnis
Dieses Python-Skript erzeugt mit kid3-cli iTunes Sound Check iTunNORM Frames aus Replay Gain Information.
-
#!/usr/bin/env python # Generate iTunes Sound Check from ReplayGain. from __future__ import print_function import os, sys, subprocess def rg2sc(dirpath): for root, dirs, files in os.walk(dirpath): for name in files: if name.endswith(('.mp3', '.m4a', '.aiff', '.aif')): fn = os.path.join(root, name) rg = subprocess.check_output([ 'kid3-cli', '-c', 'get "replaygain_track_gain"', fn]).strip() if rg.endswith(b' dB'): rg = rg[:-3] try: rg = float(rg) except ValueError: print('Value %s of %s in not a float' % (rg, fn)) continue sc = (' ' + ('%08X' % int((10 ** (-rg / 10)) * 1000) )) * 10 subprocess.call([ 'kid3-cli', '-c', 'set iTunNORM "%s"' % sc, fn]) if __name__ == '__main__': rg2sc(sys.argv[1])
DANKSAGUNGEN UND LIZENZ
Kid3
Programmiert von Urs Fleisch <ufleisch at users.sourceforge.net>
m[blue]FDLm[][20]
m[blue]GPLm[][21]
INSTALLATION
Bezugsquellen
Kid3 ist zu finden unter m[blue]http://kid3.sourceforge.netm[].
Anforderungen
Kid3 braucht m[blue]Qtm[][22]. m[blue]KDEm[][23] ist empfohlen aber nicht notwendig, denn Kid3 kann auch als reine Qt Applikation kompiliert werden. Kid3 läuft auf Systemen, wo diese Programmbibliotheken vorhanden sind, z.B. auf GNU/Linux, Windows und Mac OS X. Um Ogg/Vorbis Dateien zu taggen werden m[blue]liboggm[][13], m[blue]libvorbis und libvorbisfilem[][14] benötigt, für FLAC Dateien m[blue]libFLAC++ und libFLACm[][15]. Für MP3 Dateien wird die m[blue]id3libm[][12] verwendet. Für diese vier Formate kann auch die m[blue]TagLibm[][16] verwendet werden, welche zudem auch Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF Dateien und Tracker Module unterstützt. Für das Importieren über akustische Fingerabdrücke werden m[blue]Chromaprintm[][18] und m[blue]libavm[][19] verwendet.
Kid3 ist für die meisten Linux-Distributionen, Windows und Mac OS X erhältlich. Links finden sich auf m[blue]http://kid3.sourceforge.netm[].
Kompilieren und Installation
Man kann Kid3 mit oder ohne KDE kompilieren. Ohne KDE ist Kid3 eine reine Qt Applikation und es fehlen einige Konfigurations- und Session-Funktionen.
Für die KDE Version wird im obersten Verzeichnis getippt:
-
% cmake . % make % make install
Falls nicht alle Programmbibliotheken vorhanden sind, so wird Kid3 mit reduzierter Funktionalität kompiliert. Es sollte also darauf geachtet werden, dass die Entwicklungspakete aller gewünschten Bibliotheken auch installiert sind. Andererseits kann mit cmake-Optionen bestimmt werden, was verwendet werden soll. Die Voreinstellung ist -D WITH_TAGLIB:BOOL=ON -D WITH_MP4V2:BOOL=OFF -D WITH_ID3LIB:BOOL=ON -D WITH_CHROMAPRINT:BOOL=ON -D WITH_VORBIS:BOOL=ON -D WITH_FLAC:BOOL=ON . Entsprechend kann auch OFF gesetzt werden.
Um Kid3 als Qt Applikation ohne KDE zu kompilieren, wird die cmake Option -DWITH_APPS=Qt benutzt. Um sowohl eine KDE als auch eine Qt Applikation zu kompilieren, wird -DWITH_APPS="Qt;KDE" gesetzt.
Qt 4 oder Qt 5 können verwendet werden. Um Qt 4 zu erzwingen, kann -DWITH_QT4=ON gesetzt werden, entsprechend -DWITH_QT5=ON für Qt 5, wenn beide Optionen ausgeschaltet sind (Standardeinstellung), so wird Qt 4 bevorzugt, wenn beide Versionen installiert sind. Um eine bestimmte Qt-Installation zu nutzen, kann -DQT_QMAKE_EXECUTABLE=/Pfad/zu/qmake gesetzt werden. Wenn die KDE Applikation eingeschaltet ist, so wird mit Qt 4 KDE 4 verwendet und mit Qt 5 KDE 5.
Für die Erzeugung von RPM-Paketen ist die Datei kid3.spec vorhanden, für Debian-Pakete steht das Skript build-deb.sh zur Verfügung.
Die Qt Anwendung kann auch unter Windows und Mac OS X kompiliert werden. Die Verzeichnisse win32 und macosx beinhalten Skripte zum Kompilieren und Erzeugen von Paketen. Das Skript buildlibs.sh erstellt die notwendigen Programmbibliotheken.
Konfiguration
Mit KDE werden der Dateinamenfilter, das Dateinamenformat, die Importformate, die Dateinamen- und ID3-Formate, die Einstellungen für die Werkzeug- und Statusleiste sowie die Fenstergröße im Standardverzeichnis in der Datei kid3rc gespeichert. Als Qt-Anwendung liegt diese Datei in .config/Kid3/Kid3.conf. Unter Windows wird die Konfiguration in der Registry gespeichert.
Die Umgebungsvariable KID3_CONFIG_FILE kann gesetzt werden, um den Pfad der Konfigurationsdatei zu bestimmen.
D-BUS SCHNITTSTELLE
D-Bus Beispiele
Die Qt 4 und KDE 4 Versionen unter Linux bieten eine D-Bus Schnittstelle, mit welcher Kid3 über Skripte gesteuert werden kann. Skripte können in jeder Sprache, für die D-Bus-Anbindungen existieren, geschrieben werden (z.B. in Python) und können über die Benutzerbefehle die Funktionalität von Kid3 erweitern.
Mit folgenden Befehlen kann der Interpret im Tag 2 auf den Wert "One Hit Wonder" gesetzt werden:
Shell
-
-
dbus-send --dest=net.sourceforge.kid3 --print-reply=literal \ /Kid3 net.sourceforge.Kid3.setFrame int32:2 string:'Artist' \ string:'One Hit Wonder'
oder einfacher mit qdbus von Qt (qdbusviewer kann benutzt werden, um die D-Bus Schnittstelle über eine grafische Benutzeroberfläche zu erkunden):
-
qdbus net.sourceforge.kid3 /Kid3 setFrame 2 Artist \ 'One Hit Wonder'
-
Python
-
-
import dbus kid3 = dbus.SessionBus().get_object( 'net.sourceforge.kid3', '/Kid3') kid3.setFrame(2, 'Artist', 'One Hit Wonder')
-
Perl
-
-
use Net::DBus; $kid3 = Net::DBus->session->get_service( "net.sourceforge.kid3")->get_object( "/Kid3", "net.sourceforge.Kid3"); $kid3->setFrame(2, "Artist", "One Hit Wonder");
-
D-Bus API
Das D-Bus API ist in net.sourceforge.Kid3.xml spezifiziert. Die Kid3 Schnittstelle hat die folgenden Methoden:
path
Wenn OK wird true zurückgegeben.
tagMask
profileName
tagMask
path
fmtIdx
Wenn OK wird true zurückgegeben.
tagMask
source
extraction
url
allFilesInDir
tagMask
path
fmtIdx
Wenn OK wird true zurückgegeben.
Gibt true zurück, wenn das aktuelle Dateilistenelement ein Verzeichnis ist.
tagMask
format
create
Wenn OK wird true zurückgegeben, sonst ist eine Fehlermeldung mit getErrorMessage() abrufbar.
tagMask
firstTrackNr
expression
name
Die Datei wird umbenannt, wenn das Verzeichnis gespeichert wird.
format
tagMask
tagMask
name
Um binäre Daten wie ein Bild von einem Element in einer Datei zu speichern, kann der Dateiname dem Elementnamen hinzugefügt werden, z.B. "Picture:/Pfad/zu/Datei". Auf dieselbe Weise kann synchronisierter Liedtext exportiert werden, z.B. "SYLT:/Pfad/zu/Datei".
Gibt Wert des Elementes zurück.
tagMask
name
value
Für Tag 2 (tagMask
2) gilt: Wenn kein Element mit
name
existiert, so wird ein neues Element hinzugefügt, wenn
value
leer ist, so wird das Element gelöscht. Um binäre Daten wie ein Bild einem Element hinzuzufügen, kann der Dateiname dem Elementnamen hinzugefügt werden, z.B. "Picture:/Pfad/zu/Datei". "SYLT:/Pfad/zu/Datei" kann verwendet werden, um synchronisierten Liedtext im LRC-Format zu importieren.
Wenn OK wird true zurückgegeben.
tagMask
Gibt eine Liste mit abwechselnd Elementnamen und -werten zurück.
Gibt eine Liste mit abwechselnd Eigenschaftsnamen und -werten zurück.
tagMask
tagMask
tagMask
tagMask
tagMask
Öffne Datei oder Verzeichnis
Stückliste erstellen
Anwendung beenden
Gehe zur vorangehende Datei
Gehe zur nächstes Datei
Erste Datei auswählen
Vorangehende Datei auswählen
Nächste Datei auswählen
Aktuelle Datei auswählen
Aktuelles Verzeichnis auf- oder zuklappen
Dateinamenformat anwenden
Nummeriere Tracks in ausgewählten Dateien
Dateien filtern
ID3v2.3 nach ID3v2.4 konvertieren
Verzeichnispfad
Dateiname
Setze Dateinamen
Setze Format für Dateiname aus Tags
Generiere den Dateinamen aus den Tags
Wert eines Elementes
Setze Wert eines Elementes
Alle Elemente eines Tags
Technische Informationen über Datei
Setze Tag aus Dateinamen
Setze Tag aus anderem Tag
Kopiere Tag
Füge Tag ein
Entferne Tag
Lese die Konfiguration neu ein
Spielt die ausgewählten Dateien ab
QML SCHNITTSTELLE
QML Beispiele
-
import Kid3 1.0 Kid3Script { onRun: { console.log("Hello world, directory is", app.dirName) Qt.quit() } }
Wird dieses Skript unter /path/to/Example.qml abgespeichert, so kann als Benutzerbefehl @qml /path/to/Example.qml definiert werden. Wenn als Name QML Test gesetzt und Ausgabe aktiviert wird, so lässt sich das Skript über den Kontextmenüpunkt QML Test der Dateiliste starten, und die Ausgabe ist im Fenster sichtbar.
Alternativ lässt sich das Skript auch unabhängig von Kid3 mit den QML-Werkzeugen starten.
-
qmlviewer -I /usr/lib/kid3/plugins/imports /path/to/Example.qml
Bei Qt 5 wird stattdessen
-
qml -apptype widget -I /usr/lib/kid3/plugins/imports /path/to/Example.qml
oder
-
qmlscene -I /usr/lib/kid3/plugins/imports /path/to/Example.qml
verwendet. Bei Windows und OS X muss der Importpfad angepasst werden, damit er auf imports bei den Plugins im Installationsverzeichnis verweist. Außerhalb von Kid3 gestartete Skripte verwenden das aktuelle Verzeichnis, es sollte also vorgängig in das gewünschte Verzeichnis gewechselt werden.
Um die Titel im Tag 2 aller Dateien des aktuellen Verzeichnisses aufzulisten, könnte folgendes Skript verwendet werden:
-
import Kid3 1.0 Kid3Script { onRun: { app.firstFile() do { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) console.log(app.getFrame(tagv2, "title")) } while (app.nextFile()) } }
Wenn sich viele Dateien im Verzeichnis befinden, blockiert ein solches Skript die Benutzeroberfläche für einige Zeit. Für längere Aktionen sollte man daher kurze Pausen einlegen. Die unten stehende Alternative lagert die Arbeit an einer einzelnen Datei in eine Funktion aus. Diese ruft sich am Ende mit einem Timeout von 1 ms wieder selbst auf, sofern noch weitere Dateien zu bearbeiten sind. Dadurch bleibt das GUI auch während dem Ablauf des Skripts benutzbar.
-
import Kid3 1.0 Kid3Script { onRun: { function doWork() { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) { console.log(app.getFrame(tagv2, "title")) } if (!app.nextFile()) { Qt.quit() } else { setTimeout(doWork, 1) } } app.firstFile() doWork() } }
Weitere Beispiele sind bei Kid3 dabei und bereits bei den Benutzerbefehlen eingetragen.
- • ReplayGain to SoundCheck (ReplayGain2SoundCheck.qml): Erstellt iTunNORM SoundCheck Informationen aus Replay Gain Werten.
- • Resize Album Art (ResizeAlbumArt.qml): Skaliert eingebettete Bilder runter auf 500x500 Pixel.
- • Extract Album Art (ExtractAlbumArt.qml): Speichert alle eingebetteten Bilder als Dateien ab, ohne Duplikate zu erzeugen.
- • Embed Album Art (EmbedAlbumArt.qml): Bettet Bilder aus Dateien in die Audio-Dateien ein, welche sich im selben Ordner befinden.
- • Embed Lyrics (EmbedLyrics.qml): Holt unsynchronisierte Liedtexte von einem Webserver.
- • Text Encoding ID3v1 (ShowTextEncodingV1.qml): Hilft dabei, die Codierung zu finden, indem es die ID3v1 Tags in allen verfügbaren Zeichencodierungen anzeigt.
- • Export CSV (ExportCsv.qml): Exportiert rekursiv alle Tags aller Dateien in eine CSV-Datei.
- • QML Console (QmlConsole.qml): Einfache Konsole, um die Funktionen von Kid3's QML API auszuprobieren.
QML API
Das API lässt sich leicht über die QML Console erkunden, welche als Beispiel für ein Skript mit Benutzeroberfläche verfügbar ist.
Kid3Script
ist eine normale QML-Komponente im Plugin-Verzeichnis. Man kann ebenso gut andere QML-Komponenten als Basis brauchen. Die Verwendung von
Kid3Script
sorgt dafür, dass sich eine Skript-Funktion einfach im
onRun
Signal Handler aufrufen lässt. Falls das Skript keine weitere QML Komponenten verwendet, bleibt es auch unabhängig von der QtQuick-Version, kann also sowohl mit Qt 4 also auch mit Qt 5 verwendet werden. Darüber hinaus werden noch einige Funktionen geboten:
Kid3Script
onRun: Signal Handler, welcher beim Start des Skripts aufgerufen wird tagv1, tagv2, tagv2v1: Konstanten für tag Parameter script: Zugriff auf Skript-Funktionen configs: Zugriff auf Konfigurations-Objekte getArguments(): Liste mit Skript-Argumenten isStandalone(): true wenn Skript nicht aus Kid3 heraus gestartet wird setTimeout(callback, delay): Startet callback nach delay ms
Da JavaScript und somit auch QML nur einen eingeschränkten Funktionsumfang für Skripte mitbringt, stellt das
script
Objekt einige Methoden zur Verfügung, welche den Funktionsumfang erweitern, unter anderem:
Skript-Funktionen
script.properties(obj): Qt Eigenschaften des Objekts script.writeFile(filePath, data): Schreibe in Datei, true wenn OK script.readFile(filePath): Lese Daten von Datei script.removeFile(filePath): Lösche Datei, true wenn OK script.fileExists(filePath): true wenn Datei existiert script.renameFile(oldName, newName): Datei umbenennen, true wenn OK script.tempPath(): Verzeichnis temporärer Dateien script.listDir(path, [nameFilters], [classify]): Liste der Verzeichniseinträge script.system(program, [args], [msecs]): Systemkommando synchron ausführen, [exit code, standard output, standard error] wenn kein Timeout script.getEnv(varName): Wert einer Umgebungsvariablen script.setEnv(varName, value): Setze Wert einer Umgebungsvariablen script.getQtVersion(): Qt Version, z.B. "5.4.1" script.getDataMd5(data): MD5 Hash (hex) der Daten script.getDataSize(data): Anzahl Datenbytes script.dataToImage(data, [format]): Erzeuge Bild aus Daten script.dataFromImage(img, [format]): Daten aus einem Bild script.loadImage(filePath): Lade Bild aus einer Datei script.saveImage(img, filePath, [format]): Speichere Bild in Datei, true wenn OK script.imageProperties(img): Eigenschaften eines Bildes, enthält "width", "height", "depth" und "colorCount", leer wenn Bild ungültig script.scaleImage(img, width, [height]): Liefert skaliertes Bild script.selectFileName(caption, dir, filter, saveFile): Öffnet Dateidialog, um eine Datei auszuwählen
Über QML ist ein großer Teil der
Kid3
Funktionalität verfügbar. Das API ist ähnlich wie bei
D-Bus. Für Details wird auf die dortige Beschreibung verwiesen.
Applikations-Kontext
app.openDirectory(path): Verzeichnis öffnen app.saveDirectory(): Speichern app.revertFileModifications(): Zuletzt gespeicherte Fassung app.importTags(tag, path, fmtIdx): Datei importieren app.importFromTags(tag, source, extraction): Aus Tags importieren app.downloadImage(url, allFilesInDir): Bild herunterladen app.exportTags(tag, path, fmtIdx): Datei exportieren app.writePlaylist(): Stückliste erstellen app.selectAllFiles(): Alles auswählen app.deselectAllFiles(): Gesamte Auswahl aufheben app.firstFile([select]): Erste Datei app.nextFile([select]): Nächste Datei app.previousFile([select]): Vorangehende Datei app.selectCurrentFile([select]): Aktuelle Datei auswählen app.requestExpandFileList(): Alle ausklappen app.applyFilenameFormat(): Dateinamenformat anwenden app.applyTagFormat(): Tag-Format anwenden app.applyTextEncoding(): Textkodierung anwenden app.numberTracks(nr, total, tag, [options]): Tracks nummerieren app.applyFilter(expr): Filter app.convertToId3v23(): ID3v2.4 nach ID3v2.3 konvertieren app.convertToId3v24(): ID3v2.3 nach ID3v2.4 konvertieren app.getFilenameFromTags(tag): Dateiname von Tag app.getTagsFromFilename(tag): Tag von Dateiname app.getAllFrames(tag): Objekt mit allen Elementen app.getFrame(tag, name): Hole Element app.setFrame(tag, name, value): Setze Element app.getPictureData(): Daten aus Bild-Element app.setPictureData(data): Setze Daten in Bild-Element app.copyToOtherTag(tag): Tag zu anderem Tag app.copyTags(tag): Kopieren app.pasteTags(tag): Einfügen app.removeTags(tag): Entfernen app.playAudio(): Wiedergabe app.readConfig(): Konfiguration lesen app.applyChangedConfiguration(): Konfiguration anwenden app.dirName: Verzeichnisname app.selectionInfo.fileName: Dateiname app.selectionInfo.filePath: Absoluter Dateiname app.selectionInfo.detailInfo: Format Details app.selectionInfo.tag(Frame.Tag_1).tagFormat: Tag 1 Format app.selectionInfo.tag(Frame.Tag_2).tagFormat: Tag 2 Format app.selectionInfo.formatString(tag, format): Ersetze Format-Codes
Für asynchrone Operationen können Callbacks mit Signalen verbunden werden.
-
function automaticImport(profile) { function onAutomaticImportFinished() { app.batchImporter.finished.disconnect(onAutomaticImportFinished) } app.batchImporter.finished.connect(onAutomaticImportFinished) app.batchImport(profile, tagv2) } function renameDirectory(format) { function onRenameActionsScheduled() { app.renameActionsScheduled.disconnect(onRenameActionsScheduled) app.performRenameActions() } app.renameActionsScheduled.connect(onRenameActionsScheduled) app.renameDirectory(tagv2v1, format, false) }
Die einzelnen Konfigurationen sind über Methoden von
configs
verfügbar. Ihre Eigenschafen können in der QML Console aufgelistet werden.
Konfigurations-Objekte
script.properties(configs.networkConfig())
Eigenschaften können gesetzt werden:
-
configs.networkConfig().useProxy = false
-
configs.batchImportConfig() configs.exportConfig() configs.fileConfig() configs.filenameFormatConfig() configs.filterConfig() configs.findReplaceConfig() configs.guiConfig() configs.importConfig() configs.mainWindowConfig() configs.networkConfig() configs.numberTracksConfig() configs.playlistConfig() configs.renDirConfig() configs.tagConfig() configs.tagFormatConfig() configs.userActionsConfig()
AUTOR
Urs Fleisch <ufleisch at users.sourceforge.net>
- Software Entwicklung
COPYRIGHT
Copyright © 2016 Urs Fleisch
m[blue]FDLm[]
FUßNOTEN
- 1.
- gnudb.org
- 2.
- TrackType.org
- 3.
- MusicBrainz
- 4.
- Discogs
- 5.
- Amazon
- 6.
- ID3 Spezifikation
- 7.
- SYLT Editor
- 8.
- www.gnudb.org
- 9.
- freedb.org
- 10.
- LyricWiki
- 11.
- 12.
- id3lib
- 13.
- libogg
- 14.
- libvorbis und libvorbisfile
- 15.
- libFLAC++ und libFLAC
- 16.
- TagLib
- 17.
- mp4v2
- 18.
- Chromaprint
- 19.
- libav
- 20.
- FDL
- 21.
- GPL
- 22.
- Qt
- 23.
-
KDE