KID3(1) Das Kid3 Handbuch KID3(1) NAME kid3, kid3-qt, kid3-cli - Kid3 ID3 Tagger UBERSICHT kid3 [ | --help | --author | --version | --license | --desktopfile DATEI ] [DATEI...] kid3-qt [--portable] [Qt-Optionen] [DATEI...] kid3-cli [--portable] [--dbus] [ | -h | --help ] [-c BEFEHL1] [-c BEFEHL2...] [DATEI...] OPTIONEN --portable Speichert die Einstellungen in der Datei kid3.ini im Programmordner. DATEI Wenn DATEI der Pfad auf einen Ordner ist, so wird er geoffnet. Wenn einer oder mehrere Datei-Pfade gegeben werden, so wird deren gemeinsamer Ordner geoffnet und die Dateien werden ausgewahlt. kid3 --help Hilfe zu verfugbaren Optionen anzeigen. --author Autoren-Information anzeigen. --version Versionsinformation anzeigen. --license Lizenz-Informationen anzeigen. --desktopfile DATEI Der Basis-Dateiname des Desktop-Eintrags dieser Anwendung. kid3-qt Qt-Optionen Siehe qt5options(7). kid3-cli --dbus Aktiviert die D-Bus Schnittstelle. -c Fuhrt einen Befehl aus. Mehrere -c Optionen sind moglich, die Befehle werden in der entsprechenden Reihenfolge ausgefuhrt. Siehe den Abschnitt uber kid3-cli fur eine Beschreibung der verfugbaren Befehle. -h|--help Hilfe zu verfugbaren Optionen und Befehlen anzeigen. EINLEITUNG Kid3 ist eine Anwendung zum effizienten Editieren von ID3v1 und ID3v2 Tags in MP3 Dateien. Diese Tags konnen zwar mit den meisten MP3 Player Programmen editiert werden, jedoch nicht auf eine sehr komfortable und effiziente Art. Daruber 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) unterstutzt. Kid3 kann weder MP3 grabben noch codieren, es ist darauf ausgelegt, die ID3 Tags von allen Dateien eines Albums auf eine moglichst effiziente Art zu editieren, d.h. mit so wenig Mausklicks und Tastendrucken wie moglich. Wahrend die meisten anderen Programme entweder ID3v1 oder ID3v2 Tags editieren konnen, hat Kid3 volle Kontrolle uber die Tags beider Versionen, es kann zwischen den beiden Formaten konvertieren und hat Zugang zu allen ID3v2 Frames. Tags mehrerer Dateien konnen gleichzeitig auf dieselben Werte gesetzt werden, so beispielsweise Interpret, Album, Jahr und Genre aller Dateien eines Albums. Wenn die Information fur die Tags schon im Dateinamen enthalten ist, konnen die Tags automatisch aus dem Dateinamen generiert werden. Es ist auch moglich, den Dateinamen in einem beliebigen Format aus den Werten in den Tags zu setzen. Das Editieren wird daruber hinaus durch automatische Ersetzung von Zeichenfolgen erleichtert, z.B. um ungultige Zeichen aus Dateinamen zu entfernen. Automatische Gross- und Kleinschreibung macht es einfach, eine konsistente Namensschreibweise in allen Tags zu verwenden. Die Tag-Information fur ganze Alben kann uber gnudb.org[1], MusicBrainz[2], Discogs[3], Amazon[4] oder von anderen Quellen mit Albuminformationen importiert werden. Das verwendete Format ist mit regularen Ausdrucken frei konfigurierbar. Probleme und Vorschlage fur neue Funktionen konnen dem Autor gemeldet werden. BENUTZEN VON KID3 Funktionsmerkmale von Kid3 o Editieren von ID3v1.1 Tags o Editieren von allen ID3v2.3 und ID3v2.4 Frames o Editieren der Tags von mehreren Dateien o Konvertieren zwischen ID3v1 und ID3v2 Tags o Editieren von MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV und AIFF Tags o Generieren der Tags aus dem Dateinamen o Generieren der Tags aus dem Inhalt der Tagfelder o Generieren des Dateinamens aus den Tags o Generieren und Andern des Ordnernamens aus den Tags o Generieren von Stucklisten o Automatische Gross-/Kleinschreibung und Zeichenersetzung o Import von gnudb.org[1], MusicBrainz[2], Discogs[3], Amazon[4] und anderen Quellen o Export als CSV, HTML, Stuckliste, Kover XML oder in anderen Formaten. Exportierte CSV-Dateien konnen wieder importiert werden. Arbeiten anhand eines Beispiels Dieser Abschnitt beschreibt eine typische Sitzung mit Kid3. Nehmen wir an, wir haben einen Ordner mit MP3 Dateien der Stucke aus dem Album "Let's Tag" von der Gruppe "One Hit Wonder". Der Ordner ist im "Interpret - Album" Format benannt, in unserem Fall also One Hit Wonder - Let's Tag. Der Ordner enthalt die Stucke 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 Stucke in alphabetischer Reihenfolge abspielt oder in der Reihenfolge, wie sie auf CD gebrannt wurden - diese Reihenfolge ist bei mkisofs alphabetisch). Daruber hinaus sind Interpret und Album bereits im Ordnernamen enthalten und brauchen nicht im Dateinamen wiederholt zu werden. Doch zuruck zu unserem Beispiel - der Ordner sieht folgendermassen 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 Offnen (Datei Menu oder Werkzeugleiste) und wahlen eine der Dateien in diesem Ordner. Alle Dateien werden im Dateilistenfeld angezeigt. Aus Bequemlichkeit wollen wir die Tags aus den Dateinamen erzeugen. Daher wahlen 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 fur Jahr und Genre in allen Dateien zu setzen, lassen wir alle Dateien selektiert und tippen "2002" in das Feld Datum und wahlen "Pop" im Genre Auswahlfeld. Um einzig diese zwei Werte zu verandern, werden ihre Markierungsfelder automatisch aktiviert, und alle anderen Markierungsfelder bleiben leer. Wird nun durch Klick auf die erste Datei die Auswahl verandert, so sieht man, dass die Tags fur die erste Datei die korrekten Werte enthalten. Die Tags der anderen Dateien konnen auch uberpruft werden, indem eine nach der andern selektiert wird. Wenn wir mit den Tags zufrieden sind, konnen die Anderungen mit Speichern (Datei Menu oder Werkzeugleiste) ubernommen werden. Wahlen von Stuckliste erstellen im Datei Menu erzeugt die Datei One Hit Wonder - Let's Tag.m3u im Ordner. MENUEINTRAGE Die Elemente der Benutzeroberflache Die Kid3 Benutzeroberflache ist in sechs Sektionen aufgeteilt: Links finden sich das Dateilistenfeld und das Ordnerlistenfeld, die rechte Seite enthalt die Datei, Tag 1, Tag 2 und Tag 3 Sektionen. Um mit der Tastatur zwischen den verschiedenen Sektionen zu navigieren, stehen verschiedene Tastaturkurzel zur Verfugung. In den Tag-Sektionen sind die Kurzel aktiv wenn nicht gerade Text bearbeitet wird oder wenn man sich in der ersten Spalte der Tabelle befindet. o Alt+Links: Gehe zu vorangehender Sektion (Command+[ auf macOS(R)) o Alt+Rechts: Gehe zu nachster Sektion (Command+] auf macOS(R)) o Ctrl+Shift+V: Von anderem Tag o Ctrl+C: Kopieren o Ctrl+V: Einfugen o Shift+Delete: Entfernen o F2: Bearbeiten o Insert: Hinzufugen o Delete: Loschen Dateiliste Die Dateiliste enthalt die Namen aller Dateien im geoffneten Ordner, welche den gewahlten Dateinamenfilter (typischerweise *.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape) erfullen. Eine einzelne oder mehrere Dateien konnen ausgewahlt werden. Um keine Datei auszuwahlen, kann in den leeren Bereich unterhalb der Dateieintrage geklickt werden. Die Auswahl bestimmt die Dateien, welche durch die unten beschriebenen Operationen verandert werden. Nebst Name konnen noch andere Spalten Grosse, Typ und Anderungsdatum mit Details zu den Dateien dargestellt werden. Eine Spalte wird angezeigt, wenn das Hakchen bei ihrem Namen im Kontextmenu der Kopfzeile gesetzt ist. Die Reihenfolge der Spalten kann mittels Drag'n'Drop verandert werden. Die Sortierreihenfolge kann durch Klicken auf den Spaltenkopf umgeschaltet werden. Die Werte der Standard Tags konnen auch in Spalten der Dateiliste dargestellt und bearbeitet werden. Links von den Namen kann ein Symbol dargestellt werden: eine Diskette, um zu zeigen, dass die Datei verandert wurde, oder Information uber die Tags welche vorhanden sind (V1, V2, V1V2 oder NO TAG, wenn nichts dargestellt wird, wurde die Datei noch nicht eingelesen). Ordner werden mit Ordner-Symbolen gekennzeichnet. Wenn ein Ordner geoffnet wird, so werden seine Dateien in einem hierarchischen Baum dargestellt. Operationen konnen auf Dateien aus verschiedenen Ordnern angewendet werden, was nutzlich ist, wenn die Musik-Dateien so organisiert werden, dass pro Interpret ein Ordner erstellt wird, der wiederum einen Ordner fur jedes Album enthalt. Bei einem Rechtsklick in der Dateiliste offnet sich ein Kontext-Menu mit folgenden Befehlen: o Alle ausklappen: Klappt alle Ordnerbaume auf (nur der aktuelle Ordner, wenn die Umschalttaste gedruckt ist) o Alle einklappen: Klappt alle Ordnerbaume ein o Umbenennen: Andert den Namen der Datei o In den Papierkorb verschieben: Verschiebt die Datei in den Papierkorb o Wiedergabe: Spielt die Datei ab, siehe Wiedergabe. Wenn die ausgewahlte Datei eine Wiedergabeliste ist, so werden deren Stucke abgespielt. o Bearbeiten: Bearbeitet Wiedergabeliste, siehe Wiedergabeliste bearbeiten. o Bei den weiteren Menueintragen handelt es sich um Benutzerbefehle, welche in Kid3 einrichten bei Benutzerbefehle definiert werden konnen. Dort kann auch die Wiedergabe von Dateien per Doppelklick aktiviert werden. Wiedergabeliste bearbeiten Eine Wiedergabeliste kann entweder mit den Stucken eines Ordners oder leer erstellt werden, siehe hierzu Stuckliste erstellen. Die so erstellte Datei kann mittels Doppelklick oder Wahl von Bearbeiten aus dem Kontext-Menu der Dateiliste bearbeitet werden. Es wird ein Dialog mit den Eintragen der Stuckliste geoffnet. Es konnen mehrere Stucklisten gleichzeitig bearbeitet werden. Neue Eintrage konnen mit "Drag'n'Drop" aus der Dateiliste, einem Dateimanager oder einer anderen Stuckliste hinzugefugt werden. Wenn ein Eintrag aus einer anderen Stuckliste hineingezogen wird, so wird der Eintrag abhangig vom System verschoben oder kopiert. Fur die jeweils andere Operation muss gleichzeitig die Umschalt-Taste (Shift) bzw. die Steuerungs-Taste (Ctrl) gedruckt werden (auf macOS muss Alt gedruckt werden, um zu kopieren statt zu verschieben). Um Eintrage innerhalb der Stuckliste zu verschieben, kann ebenfalls "Drag'n'Drop" verwendet werden. Alternativ konnen Eintrage mit den Tastenkombinationen Ctrl+Shift+Up und Ctrl+Shift+Down verschoben werden (auf macOS muss Command statt Ctrl gedruckt werden). Um einen Eintrag zu loschen, kann Delete gedruckt werden. Um Eintrage aus der Dateiliste mittels "Drag'n'Drop" zu ziehen, ist folgendes zu beachten: Die Eintrage mussen links (bei den Icons) gezogen werden, eine entsprechende Geste im rechten Bereich fuhrt zu einer Mehrfachselektion, eine solche ist somit immer noch einfach moglich. Wenn eine Stuckliste modifiziert wurde, so konnen die Anderungen mit Speichern ubernommen oder mit Abbrechen verworfen werden. Beim Schliessen des Fensters erfolgt eine Sicherheitsabfrage, wenn noch ungesicherte Anderungen vorhanden sind. In einer Wiedergabeliste ausgewahlte Stucke werden automatisch auch in der Dateiliste ausgewahlt, womit auch ihre Tags bearbeitet werden konnen. Um Aktionen auf einer Wiedergabeliste auszufuhren, muss sie in der Dateiliste ausgewahlt werden. In deren Kontext-Menu fuhrt Bearbeiten zum hier beschriebenen Dialog und Wiedergabe spielt die Stuckliste ab. Es lassen sich auch Benutzerbefehle fur Wiedergabelisten definieren, zum Beispiel Export Playlist Folder, welche die Stucke einer Wiedergabeliste in einen Ordner kopiert. Ordnerliste Die Ordnerliste enthalt die Unterordner sowie den aktuellen (.) und den ubergeordneten (..) Ordner. Sie erlaubt den raschen Wechsel zwischen Ordnern, ohne den Umweg uber die Offnen ... Funktion oder "Drag'n'Drop". Die Anzeige, Reihenfolge und Sortierung der Spalten kann auf dieselbe Weise eingestellt werden wie bei der Dateiliste beschrieben. Datei Zeigt Informationen uber Codierung (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), Bit- und Samplerate, Kanale und die Lange der Datei an. Das Name Editierfeld enthalt den Dateiname wenn nur eine einzelne Datei ausgewahlt ist. Wird dieses Feld verandert, so wird die Datei umbenannt, wenn Speichern ausgefuhrt wird. Das Format Auswahl- und Editierfeld enthalt 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 Ordnerteil abgetrennt durch einen Schragstrich angegeben werden, doch dieser Ordner muss bereits existieren, damit das Umbenennen erfolgreich ist. Die folgenden Codes konnen verwendet werden, um Werte aus den Tags im Dateinamen einzusetzen: o %s %{title} Titel (Song) o %a %{artist} Interpret (Artist) o %l %{album} Album o %c %{comment} Kommentar (Comment) o %y %{year} Jahr (Year) o %t %{track} Nummer (Stuck, z.B. 01) o %t %{track.n} Nummer mit Feldlange n (z.B. 001 fur %{track.3}) o %T %{tracknumber} Nummer (Stuck, ohne fuhrende Null, z.B. 1) o %g %{genre} Genre o %{ignore} Wird ignoriert wenn Tags aus dem Dateinamen erzeugt werden Die Formatcodes sind nicht auf die oben gegebenen Beispiele beschrankt. Alle Framenamen konnen benutzt werden, sowohl vereinheitlichte wie %{albumartist}, %{discnumber.1}, %{bpm} als auch formatspezifische wie %{popm}. Es ist moglich, zusatzlichen Text vor und nach dem Wert, welcher fur einen Formatcode ersetzt wird, einzufugen indem man diesen in Anfuhrungszeichen innerhalb der geschwungenen Klammern hinzufugt. Dieser Text wird nur dann eingefugt, wenn der Wert fur den Formatcode nicht leer ist. Als Beispiel konnte man fur einen Dateinamen, welcher sowohl den Titel als auch den Untertitel enthalten soll, %{title} [%{subtitle}] als Format verwenden. Aber dies wurde im Falle von nicht vorhandenem Untertitel dazu fuhren, dass der resultierende Dateinamen mit [] endet. Um diese leeren Klammern am Ende zu verhindern, kann %{title}%{" ["subtitle"]"} verwendet werden. Dieses Format lasst die eckigen Klammern, das fuhrende Leerzeichen und den Untertitel weg, wenn kein entsprechendes Element vorhanden ist. Die Liste der verfugbaren Formate kann in dem Dialog bearbeitet werden, welcher erscheint, wenn der Knopf Dateiname von Tag im Dateien-Reiter der Einstellungen gedruckt wird. 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, gangige Formate ausprobiert. Einige haufig verwendete Dateinamen-Formate sind bereits vordefiniert und uber das Auswahlfeld verfugbar, aber es ist auch moglich, ein eigenes Format in das Eingabefeld einzutragen. Die Liste der verfugbaren Formate kann in dem Dialog bearbeitet werden, welcher erscheint, wenn der Knopf Tag von Dateiname im Dateien-Reiter der Einstellungen gedruckt wird. Intern wird ein regularer Ausdruck aus den Formatcodes gebildet. Wenn die volle Ausdruckskraft regularer Ausdrucke gebraucht wird, ist es auch moglich, einen kompletten regularen Ausdruck mit Klammerkonstrukten, welche durch die Formatcodes eingeleitet werden, als Format fur die Extraktion der Tags aus den Dateinamen anzugeben. Um beispielsweise die Stucknummern ohne das automatische Entfernen fuhrender Nullen in die Tags zu kriegen, konnte ein Ausdruck wie "/%{track}(\d+) %{title}(.*)" verwendet werden. Von: Tag 1, Tag 2: Setzt den Dateinamen gemass dem ausgewahlten 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 ausgewahlte Dateinamenformat probiert. Falls der vorhandene Dateinamen nicht diesem Format entspricht, werden noch folgende Formate versucht: o Interpret - Album/Nummer Titel o Album/Nummer - Interpret - Titel o /Interpret - Album - Nummer - Titel o Album/Interpret - Nummer - Titel o Album/Interpret - Titel o Interpret/Album/Stuck Song Wenn eine einzelne Datei ausgewahlt wurde, werden die Eingabefelder mit den aus dem Dateinamen extrahierten Werten gefullt. Bei Mehrfachselektion werden die Werte direkt gemass den Dateinamen gesetzt. Tag 1 Die Eingabefelder fur Titel, Interpret, Album, Kommentar, Datum, Stucknummer und Genre werden benutzt um die entsprechenden Werte im ersten Tag der ausgewahlten Dateien zu editieren. Die Werte werden verandert, wenn die Dateiauswahl geandert wird oder vor Operationen wie Speichern und Beenden und wenn die entsprechenden Markierungsfelder links aktiviert sind. Dies ist nutzlich, um nur bestimmte Werte zu verandern und die ubrigen Werte nicht anzuruhren. Wenn eine einzelne Datei ausgewahlt 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 Zeichenfolge fur die Felder Titel, Interpret, Album und Kommentar, 0 fur Datum und Stucknummer und ein leerer Auswahleintrag bei Genre. Die Werte konnen editiert werden und werden fur die ausgewahlte Datei beim Andern 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 unverandert, bis Speichern ausgefuhrt wird. Wenn mehrere Dateien ausgewahlt werden, dann werden nur diejenigen Werte angezeigt, welche bei allen ausgewahlten Dateien identisch sind. In allen ubrigen Editierfeldern werden die leeren Werte (siehe oben) angezeigt. Alle Markierungsfelder sind inaktiv, um ungewolltes Verandern mehrerer Dateien zu verhindern. Soll ein Wert fur alle selektierten Dateien verandert werden, so kann er editiert werden, und das entsprechende Markierungsfeld wird gesetzt. Der Wert wird dann fur alle ausgewahlten Dateien verandert wenn die Auswahl geandert wird und kann mit Speichern gesichert werden. Die Markierungsfelder bestimmen auch, auf welche Felder die meisten anderen Befehle angewendet werden. So werden beim Kopieren, Einfugen und Transferieren zwischen Tags 1 und 2 nur markierte Felder verwendet. Um die Bedienung zu vereinfachen, wenn mehrere Dateien ausgewahlt sind und daher alle Markierungsfelder inaktiv sind, verhalten sich diese Befehle wenn alle Markierungsfelder inaktiv sind gleich als waren 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 gefullt. Bei folgenden Einfuge-Operationen werden nur solche Werte gesetzt, bei welchen hier das Markierungsfeld aktiviert war. Einfugen: Fugt die Werte aus der Kopierablage in die Eingabefelder ein. Loschen: Diese Funktion setzt alle Editierfelder auf die leeren Werte, entfernt also alle Werte. Die gespeicherte Datei enthalt dann kein Tag 1 mehr. Tag 2 Die Eingabefelder funktionieren gleich wie bei Tag 1 beschrieben, die Lange der Zeichenfolgen ist jedoch nicht begrenzt. Beim Genre konnen nebst den vorgegebenen auch eigene Namen verwendet werden - eine Eingabe ins Editierfeld genugt. Das Tag 2 kann nicht bloss 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 ausgewahlten Datei vorhanden sind. Bearbeiten: Ein Fenster wird geoffnet, in welchem alle Felder des gewahlten Elementes editiert werden konnen. Wenn mehrere Dateien ausgewahlt sind, so werden die editierten Felder bei allen ausgewahlten Dateien angewendet, welche solch ein Element enthalten. Hinzufugen: Ein Auswahlfenster mit allen unterstutzten Elementtypen wird angezeigt und ein Element des gewahlten Typs kann editiert und zu der Datei hinzugefugt werden. Dies funktioniert auch, wenn mehrere Dateien ausgewahlt sind; das Element wird dann bei allen ausgewahlten Dateien hinzugefugt. Loschen: Loscht das ausgewahlte Element in den ausgewahlten Dateien. Albumcover hierhin ziehen wird angezeigt wenn die Datei kein Album Cover Bild enthalt. Bilder kann man mittels "Drag'n'Drop" vom Browser oder Dateimanager hinzufugen; sie werden dann hier angezeigt. Das Editieren oder Hinzufugen eines Bild-Elements kann mit einem Doppelklick ausgelost werden. Tag 3 Einige Dateien haben mehr als zwei Tags, bei diesen ist eine dritte Tag-Sektion sichtbar. Die folgenden Dateitypen haben solch eine Tag 3 Sektion: o MP3-Dateien konnen ein ID3v1.1 Tag, ein ID3v2 (2.3.0 oder 2.4.0) Tag und in der dritten Sektion ein APE-Tag haben. APE-Tags werden v.a. fur Replay-Gain-Informationen verwendet. In der Tag 3 Sektion ist diese Information sichtbar, und das APE-Tag kann mit dem Entfernen-Knopf geloscht werden. o Der RIFF-INFO-Chunk in WAV-Dateien ist in der Tag 3 Sektion zuganglich, weil die Tag 1 Sektion fur ID3v1.1 Tags reserviert ist und die Einschrankungen dieser Tags umfasst. Die Tag 2 Sektion wird wie bisher fur ID3v2.4.0 Tags verwendet. RIFF-INFO-Chunks scheinen jedoch weiter verbreitet zu sein. o FLAC-Dateien speichern ihre Meta-Daten normalerweise in einem Vorbis-Tag. Man trifft jedoch auch auf FLAC-Dateien mit IDv1 und ID3v2 Tags, welche in den Sektionen Tag 1 und Tag 3 sichtbar sind. ID3 Tags in FLAC-Dateien werden nur von TagLib unterstutzt, daher muss das OggFlacMetadata-Plugin im Plugins-Reiter der Einstellungen abgeschaltet werden. Die Eingabefelder funktionieren wie bei der Tag 2 Sektion. Synchronisierter Text und Ereignis-Zeitcodes Fur zeitlich mit den Audio-Daten synchronisierte Informationen steht ein spezieller Editor zur Verfugung. Diese Frames sind fur ID3v2.3.0 und ID3v2.4.0 Tags unterstutzt. Um ein solches Frame zu erstellen, muss in der Liste, welche nach Klick auf Hinzufugen erscheint, sein Name ausgewahlt 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 ausgewahlt werden, wahrend beim synchronisierten Text der Liedtext eingegeben werden muss. Im folgenden wird die Eingabe von synchronisiertem Text erklart. Eine Datei, welche ein ID3v2 Tag enthalt, wird selektiert und der Editor wird mit Hinzufugen und Auswahl von Synchronisierter Text geoffnet. Falls das Synchronisierter Text Frame schon existiert, wird es selektiert und auf Bearbeiten geklickt. Die Werkzeugleiste zum Abspielen von Audio-Dateien wird automatisch geoffnet, so dass das aktuelle Stuck abgespielt und angehalten werden kann, um die Texte zu synchronisieren. Die Einstellungen im oberen Teil des SYLT Editors mussen normalerweise nicht verandert werden. Wenn der Text Zeichen enthalt, welche nicht im Latin 1 Zeichensatz enthalten sind, so kann die Textkodierung auf UTF16 (oder UTF8 fur ID3v2.4.0) umgestellt werden. Fur englischsprachige Texte und maximale Kompatibilitat sollte ISO-8859-1 verwendet werden. Der Abschnitt Text hat funf Knopfe oberhalb der Tabelle. Hinzufugen erstellt einen neuen Ereigniseintrag in der Tabelle. Die Zeit wird von der momentanen Position der Wiedergabe genommen, so dass ein Eintrag fur die aktuelle Stelle des abgespielten Stucks erzeugt wird. Die Eintrage in der Tabelle mussen zeitlich geordnet sein, die neue Zeile wird daher entsprechend eingeordnet. Eintrage mit ungultiger Zeit werden speziell behandelt: Wenn die aktuelle Zeile eine ungultige Zeit hat, so wird ihre Zeit durch die Wiedergabezeit ersetzt, und es wird keine neue Zeile hinzugefugt. Wenn die Zeit nicht ungultig ist, so wird die erste Zeile mit einer ungultigen Zeit genommen, falls eine solche vorhanden ist. Dieses Verhalten sollte es erleichtern, die Zeit-Spalte auszufullen, 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 ungultige Zeiten mit 00:00.00 dargestellt werden, also gleich wie die Zeit ganz zu Beginn des Stucks, welche nicht ungultig ist. Um einen Zeiteintrag ungultig zu machen, kann die Delete Taste gedruckt werden oder Loschen aus dem Kontextmenu verwendet werden. Neue Zeilen, welche mit Zeile einfugen des Kontextmenus oder durch Importieren bzw. Von Zwischenablage erstellt werden, enthalten ebenfalls ungultige Zeiten. Zeilen in der Tabelle konnen mit Klick auf Loschen oder dem Zeilen entfernen Kontextmenu geloscht werden. Synchronisierter Liedtext kann aus einer Datei importiert werden mit Importieren. Als Dateiformat wird LRC (einfach oder erweitert) erwartet. Wenn die ausgewahlte Datei keine eckige Klammer in der ersten Zeile enthalt, 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 enthalt ungultige Zeiten. Die Zeitinformationen konnen mit Hilfe des Hinzufugen-Knopfs erganzt oder manuell erfasst werden. Es ist auch moglich, Liedtexte mittels Kopieren und Einfugen zu importieren (Von Zwischenablage). Exportieren erlaubt es, synchronisierten Text in eine LRC-Datei zu schreiben. Man beachte, dass nur Eintrage mit gultiger Zeit exportiert werden, und dass die Eintrage zeitlich sortiert werden. Eintrage mit ungultiger Zeit werden auch nicht in das SYLT-Frame geschrieben, man sollte daher alle Zeitinformationen eintragen, bevor man den Editor verlasst. Die ID3 Spezifikation[5] legt es nahe, Zeitstempel fur jede Silbe zu erfassen. Die meisten Player unterstutzen jedoch bloss eine Granularitat von einer Zeile bzw. einem Satz. Um beide Anwendungsfalle zu unterstutzen, folgt Kid3 denselben Konventionen wie SYLT Editor[6]. 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 ausser Kraft gesetzt werden, indem man den Text mit einem Unterstrich ('_') beginnen lasst, 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 pruft 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. Wahrend dem Abspielen einer Datei wird die aktuelle Zeile hervorgehoben, so dass die Korrektheit der Synchronisationsinformation uberpruft werden kann. Existiert ein Versatz, so kann er mit dem Kontextmenu Zeitabstand hinzufugen korrigiert werden, wobei negative Werte die Zeit reduzieren. Die Funktion Zur Position springen ermoglicht es, die Position der Wiedergabe an die Zeit der ausgewahlten Zeile zu setzen. Empfohlenes Vorgehen zum Erstellen eines neuen synchronisierten Liedtextes o Unsynchronisierten Liedtext besorgen, z.B. mit Lyrics -> Embed Lyrics aus dem Kontextmenu der Dateiliste. o Den unsynchronisierten Liedtext in die Zwischenablage kopieren, dazu einfach in der Text-Zeile der Tag 2 Tabelle Ctrl+C drucken. o Element mit synchronisiertem Liedtext hinzufugen (Hinzufugen..., Synchronisierter Text, OK), dann Von Zwischenablage klicken. o Nun sind alle Zeilen des Liedtextes in der Tabelle, die Zeitstempel sind alle ungultig (0:0:0.00). Leere Zeilen konnen vorangehend geloscht werden. o Die Wiedergabe kann mit dem Abspiel-Knopf der Wiedergabe-Werkzeugliste, welche sich unten am Hauptfenster befindet, gestartet werden. o Wenn die nachste Zeile mit ungultigem Zeitstempel wiedergegeben wird, kann Hinzufugen geklickt oder Alt+H gedruckt werden, der Zeitstempel wird gesetzt. o Auf diese Weise fortfahren, bis alle Zeitstempel gesetzt sind. Falls man eine Zeile verpasst, so kann die Wiedergabe gestoppt und falsche Zeitstempel geloscht werden (Delete Taste oder mit Loschen aus dem Kontextmenu). Um die Wiedergabe ab einem gewissen Zeitstempel zu starten, kann Zur Position springen aus dem Kontextmenu verwendet werden. Kapitel in MP4 Dateien MP4 Horbucher haben typischerweise eine .m4b Dateiendung und sind ziemlich gross weil alle Kapitel in einer einzigen Datei enthalten sind. Solche Dateien konnen Kapitel-Markierungen enthalten, welche mit Kid3 als Pseudo-Element "Kapitel" bearbeitet werden konnen, wobei derselbe Bearbeitungsdialog wie fur Synchronisierten Text verwendet wird. Diese Funktion ist nur mit demMp4v2Metadata Plugin verfugbar, man sollte also sicherstellen, dass es aktiviert und oberhalb vom TaglibMetadata Plugin ist im ReiterErweiterungen bei den Einstellungen wenn MP4 Kapitel bearbeitet werden sollen. Das Menu Datei Datei -> Offnen... ( Ctrl+O ) Ein Ordner wird geoffnet, und alle Dateien, welche den gewahlten Dateinamenfilter erfullen, werden im Dateilistenfeld angezeigt. Die gewahlte Datei wird selektiert. Datei -> Zuletzt geoffnete Dateien Ein kurzlich geoffneter Ordner wird geoffnet. Datei -> Ordner offnen ... ( Ctrl+D ) Ein Ordner wird geoffnet, und alle Dateien, welche den gewahlten Dateinamenfilter erfullen, werden im Dateilistenfeld angezeigt. Datei -> Neu laden ( F5 ) Ordner neu einlesen. Veranderte Dateien mussen vorher gespeichert werden. Ausgeklappte Unterordner werden eingeklappt. Datei -> Speichern ( Ctrl+S ) Speichert alle veranderten Dateien im Ordner. Die veranderten Dateien sind durch ein Diskettensymbol gekennzeichnet. Wenn Dateinamen verandert wurden, so werden die entsprechenden Dateien umbenannt. Datei -> Zuletzt gespeicherte Fassung Macht die Anderungen an einer oder mehreren Dateien ruckgangig. Wenn keine Dateien im Dateilistenfeld selektiert sind, so werden die Anderungen an allen Dateien ruckgangig gemacht, ansonsten nur an den ausgewahlten 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 gewahlt. Der zu suchende Interpret und der Name des Albums konnen in den zwei oberen Feldern eingegeben werden, und die gefundenen Alben werden nach Klick auf Suchen dargestellt, sobald sie von www.gnudb.org[7] empfangen werden. Die Stuckdaten eines Albums werden nach Auswahl geladen, der verwendete freedb.org-Server kann gewahlt 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, konnen sie mit OK importiert werden. Wenn man bereits ein Suchergebnis im Browser offen hat, kann man die URL direkt in das erste Suchfeld eingeben. Das Resultat erscheint dann in der Albumliste und kann direkt in Kid3 importiert werden. Zum Importieren vom Discogs Server wird Discogs gewahlt. Wie bei gnudb.org konnen auch hier Interpret und Album eingegeben werden und es wird ebenfalls eine Liste mit Alben zur Auswahl gestellt. Ein Token kann eingegeben werden, um das RESTful Discogs API zu verwenden statt der Web-Schnittstelle, welche oft geandert wird und dann funktioniert der Import-Parser nicht mehr. Dazu muss man sich bei Discogs[8] registrieren und dann dort ein Token generieren (Settings/Developers, Generate new token). Man sollte nicht vergessen, das Token mit Einstellungen speichern zu sichern, damit es auch fur kunftige Anfragen verwendet wird. Wenn Standard-Tags markiert ist, werden grundlegende Informationen importiert, so z.B. Interpret, Album und Titel. Wenn Zusatzliche Tags markiert ist, werden mehr verfugbare 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 gewahlt. Wie bei Von gnudb.org konnen auch hier Interpret und Album eingegeben werden und es wird ebenfalls eine Liste mit Alben zur Auswahl gestellt. Wenn Zusatzliche Tags markiert ist, werden mehr verfugbare 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 ausgewahlt werden. Unten ist eine Tabelle, welche die importierten Stuckdaten darstellt. Die rechte Spalte zeigt dabei den Zustand der MusicBrainz-Abfrage, welche gleich mit dem Offnen des Dialogs mit "Suche lauft" beginnt. Es folgen dann ein Abfrage des Fingerprints und, falls diese kein Ergebnis liefert, eine Suche anhand der in der Datei vorhandenen Tags. Fur 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 mogliche Resultate, von denen der Benutzer eines auswahlen kann. OK und Anwenden ubernehmen die importierten Daten, Abbrechen schliesst den Dialog. Das Schliessen des Dialogs kann eine Weile dauern, da noch die ganze MusicBrainz-Maschinerie runtergefahren werden muss. Zum Importieren von Albumdaten in Textform offnet man einen Unterdialog mit Von Datei/Zwischenablage. Dort stehen mehrere vorkonfigurierte Formate zur Verfugung. Die ersten zwei, "CSV unquoted" und "CSV quoted", dienen dazu, Daten welche uber die Export Funktion exportiert wurden, wieder zu importieren. Diese Daten konnen naturlich von einer Tabellenkalkulation bearbeitet werden. CSV-Daten aus einer Tabellenkalkulation mussen mit Tabulator als Trennzeichen geschrieben werden und sollten sich uber "CSV quoted" einlesen lassen. Dieses ist flexibler als "CSV unquoted", dafur durfen die enthaltenen Felder keine Anfuhrungszeichen enthalten. Falls nur von Kid3 exportiert und wieder importiert wird, so sollte dies problemlos mit "CSV unquoted" moglich sein. Im Kontextmenu der Dateiliste hat es daruber hinaus die Funktionen "Export CSV" und "Import CSV", welche Skripts benutzen, um CSV-Daten vollstandiger und flexibler auszutauschen. Das nachste Format, "freedb HTML text", kann benutzt werden, um Informationen aus einer HTML-Seite von freedb.org[9] zu kopieren. Dazu sucht man sich in freedb das Album, und wenn die gewunschte 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 konnen mit OK ubernommen 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 nachste 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, ausgewahlt werden. Naturlich konnen die Daten auch in einem Editor kopiert und dann uber die Zwischenablage ubernommen werden. Dieses Format kann fur Offline Import nutzlich sein, obschon die HTML-Datei auch von einem Browser angezeigt und im ersten Format uber die Zwischenablage importiert werden kann. Weitere vorkonfigurierte Formate, z.B. "Track Title Time" stehen zur Verfugung. Mit Klick auf Hinzufugen kann ein leeres benutzerdefiniertes Format erzeugt und vom Benutzer gesetzt werden. Die zwei Zeilen unterhalb des Formatnamens konnen hierzu mit regularen Ausdrucken gefullt 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 fur jeden Titel probiert, um Titeldaten zu kriegen, also Nummer und Titel. In den regularen Ausdrucken konnen alle von Qt unterstutzten Funktionen eingesetzt werden; also das meiste von dem, was Perl bietet. Klammerkonstrukte "(..)" werden benutzt, 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 moglich: o %s %{title} Titel (Song) o %a %{artist} Interpret (Artist) o %l %{album} Album o %c %{comment} Kommentar (Comment) o %y %{year} Jahr (Year) o %t %{track} Nummer (Stuck) o %g %{genre} Genre o %d %{duration} Lange (Dauer) Beispiel: Ein regularer Ausdruck fur die zweite Zeile, um Titel aus einer .m3u Stuckliste zu holen, konnte "%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]" sein. Alle Formate konnen geandert werden, indem der Name und die regularen Ausdrucke editiert werden und Einstellungen speichern gedruckt wird. Gespeichert werden sie in der Datei kid3rc im Konfigurationsordner. Diese Datei kann auch direkt verandert werden, um mehr Importformate zu haben, oder man kann sie loschen, um wieder zu den Standardeinstellungen zu kommen. Formate konnen mit Entfernen geloscht werden. Genauigkeit zeigt eine Abschatzung, wie gut die importierten Daten zu den Stucken passen. Dazu werden die Langen oder die Dateinamen verglichen um den Grad an Ubereinstimmung in Prozent zu errechnen. Cover-Bild zeigt die URL des Cover-Bildes, welches heruntergeladen wird. Um zu prufen, ob die importierten Stucke den vorhandenen Dateien entsprechen, konnen die Langen 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 Uberschreitung dieser Toleranzschwelle festgestellt, so wird die entsprechende Lange in der Vorschau rot dargestellt. Falls nun die vorhandenen Dateien in einer anderen Reihenfolge als die importierten Stucke vorliegen, so sollte die Zuordnung korrigiert werden. Diese Arbeit wird durch die Zuordnen mit Knopfe Lange, Nummer und Titel erleichtert, welche die Stucke dem jeweiligen Feld entsprechend zuordnen. Sollte die Zuordnung noch manuell korrigiert werden mussen, so kann ein Track nach Drucken der Steuerungs-Taste (Ctrl/Strg) mit der linken Maustaste gefasst und dann an die gewunschte Stelle gezogen werden. Wenn der Import Dialog geoffnet wird, enthalt die Tabelle die aktuell vorhandenen Werte der Tags. Der Tag Typ (Tag 1, Tag 2, Tag 1 und Tag 2) kann uber das Ziel Auswahlfeld selektiert werden. Der Knopf rechts von diesem Auswahlfeld dient dazu, die Tabelle auf die in den Tags gespeicherten Werte zuruckzusetzen. Uber die Markierungsfelder in der ersten Tabellenspalte konnen die Stucke gewahlt werden, deren Tags importiert werden sollen. Dies kann z.B. dann nutzlich sein, wenn ein Ordner alle Stucke eines Doppelalbums enthalt, aber bloss die Stucke der zweiten CD importiert werden sollen. Um die Dateien, welche importiert werden, zu identifizieren, konnen die Dateinamen oder die vollstandigen Pfade in der Tabelle dargestellt werden. Diese Einstellung ist uber das Kontextmenu, welches bei Rechtsklick auf die Kopfzeile erscheint, moglich. Die Werte in der Import-Tabelle lassen sich editieren. Die momentan in den Tags vorhandenen Werte lassen sich mit dem Ruckgangig-Knopf rechts vom Ziel-Listenfeld wiederherstellen. Dies ist auch dann nutzlich, wenn man das Ziel verandert hat und die dort vorhandenen Werte in der Tabelle sehen mochte. Wie in fast allen Dialogen dient der Einstellungen speichern Knopf dazu, die dialogspezifischen Optionen und die Fenstergrosse persistent zu speichern. Von Tags fuhrt zu einem Unterdialog, mit welchem sich Tag Frames mit dem Inhalt aus anderen Tag Frames fullen 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 einzufugen. Wie beim Import von Datei/Zwischenablage stehen frei konfigurierbare Formate zur Verfugung, um verschiedene Operationen durchzufuhren. Vorkonfigurierte Formate erlauben es beispielsweise, den Wert des Interpreten zum Album Interpreten, Komponisten oder Leiter zu kopieren, bei Titeln, welche die Stucknummer enthalten, diese zu extrahieren und im Stucknummer-Frame zu speichern. Ebenso lasst sich ein Untertitel aus dem Titel extrahieren. Das Erstellen eines eigenen Importformates wird im folgenden anhand eines Beispieles erklart. Die Information im Untertitel soll auch im Kommentar gesetzt werden. Dazu wird ein neues Format mit Hinzufugen 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 fur beliebige Tag Frames bestehen, wobei naturlich auch mehrere Codes verwendet werden konnen, um den Inhalt verschiedener Frames zu kombinieren. Fur jedes Stuck wird aus den Tags und dem Quelle Format ein Text erzeugt, und auf diesen wird dann der regulare Ausdruck aus Ermittlung angewendet, um neue Tag Werte zu setzen. Dieser regulare Ausdruck enthalt 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/Zwischenablage. Import von Tags... ist auch direkt im Menu Datei verfugbar. Der Unterschied zwischen diesen zwei Funktionen ist, dass der Unterdialog des Import-Dialogs auf allen Dateien des aktuellen Ordners arbeitet, wahrend die Menu-Funktion auf die selektierten Dateien angewendet wird (welche in verschiedenen Ordnern liegen konnen). Die Menu-Funktion verfugt uber einen zusatzlichen Format Code "%{__return}" um den extrahierten Wert zuruckzugeben, was im CLI und bei der QML-Schnittstelle nutzlich sein kann. Datei -> Importieren von gnudb.org... Importieren von einem freedb.org Server mit Album-Suche auf gnudb.org. Dieser Menupunkt offnet denselben Import Dialog wie Importieren..., offnet jedoch direkt auch den gnudb.org Dialog. Datei -> Importieren von Discogs... Importieren vom Discogs Server. Dieser Menupunkt offnet denselben Import Dialog wie Importieren..., offnet jedoch direkt auch den Discogs Dialog. Datei -> Importieren von Amazon... Importieren von Amazon. Dieser Menupunkt offnet denselben Import Dialog wie Importieren..., offnet jedoch direkt auch den Amazon Dialog. Datei -> Importieren von MusicBrainz Album... Importieren von der MusicBrainz Album Datenbank. Dieser Menupunkt offnet denselben Import Dialog wie Importieren..., offnet jedoch direkt auch den Von MusicBrainz Album Dialog. Datei -> Importieren von MusicBrainz Fingerprint... Importieren von einem MusicBrainz Server. Dieser Menupunkt offnet denselben Import Dialog wie Importieren..., offnet jedoch direkt auch den Von MusicBrainz Fingerprint Dialog. Datei -> Importieren von Tags... Wie Import von Tags, jedoch wird der Import auf die selektierten Dateien angewendet. Datei -> Automatisch importieren... Automatisch importieren lassen sich Informationen fur mehrere Alben von verschiedenen Web-Diensten. Wenn Ordner in der Dateiliste selektiert sind, so werden Metadaten fur die Stucke der gewahlten Ordner importiert. Wenn kein Ordner ausgewahlt ist, so werden Informationen fur alle Ordner innerhalb der Dateiliste importiert. Der Tag Typ (Tag 1, Tag 2, Tag 1 und Tag 2) kann uber 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 konnen mit dem Hinzufugen Knopf rechts von der Profil Auswahlliste erstellt werden. Die Tabelle darunter zeigt die Server, welche benutzt werden, wenn mit dem ausgewahlten Profil importiert wird. Der Import-Prozess fur 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 Knopfen verandert werden. Mit Bearbeiten kann ein bestehender Eintrag verandert werden. Die Server Auswahl stellt dieselben Server zur Verfugung wie die Import-Funktionen. Standard Tags, Zusatzliche Tags und Cover-Bilder bestimmen die Informationen, welche vom Server geholt werden sollen. Die Genauigkeit schliesslich bestimmt die minimale Ubereinstimmung, welche erreicht werden muss, damit die importierten Daten akzeptiert werden. Ist sie ungenugend, so wird ein Import mit dem nachsten Server versucht. Dieser Dialog mit den Server-Eigenschaften wird auch angezeigt wenn Hinzufugen gewahlt wird, um einen neuen Eintrag zu erstellen. Bestehende Zeilen konnen mit Entfernen geloscht werden. Um einen automatischen Import mit dem ausgewahlten Profil zu beginnen wird Starten gedruckt. Details uber den laufenden Prozess werden im Dialog oben angezeigt. Abbrechen fuhrt 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 moglich aus den Tags ubernommen. Quelle stellt eine Vielzahl von Webseiten mit Cover-Bildern zur Verfugung. Unter dem Namen ist die URL mit Interpret und Album als Parametern angegeben. Fur URL-codierte Werte konnen 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" konnen auch eigene Quellen hinzugefugt werden. Dazu wird "Custom Source" durch den Namen der Quelle ersetzt, dann Return gedruckt, die URL eingegeben und mit Einstellungen speichern gesichert. Das resultierende Browser-Kommando wird oben im Dialog dargestellt und nach Drucken des Browser-Knopfes ausgefuhrt. Der Browser, welcher in den Einstellungen konfiguriert werden kann, wird mit der gewahlten Quelle gestartet. Das gewunschte 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 unterstutzen und haufig die Bilder auf Webseiten mit einer URL unterlegt sind, erhalt Kid3 in solchen Fallen bloss die entsprechende URL und nicht das Bild. Wenn die URL auf ein Bild zeigt, wird dieses heruntergeladen. Falls die URL jedoch auf sonst eine Webseite hinweist, so muss von dieser auf das gewunschte Cover-Bild geschlossen werden. Dies ist die Aufgabe der Tabelle URL-Ersetzung. Die linke Spalte Vergleich enthalt einen regularen Ausdruck, welcher mit der URL verglichen wird. Wenn eine Ubereinstimmung festgestellt wird, so werden die erhaltenen Klammer-Werte im Muster der Spalte URL des Bildes ersetzt (\1 usw.). Der ersetzte regulare Ausdrucks enthalt dann die URL des Bildes. Auf diese Weise konnen auch Bilder von Amazon, Google Images, usw. per Drag'n'Drop importiert werden. Naturlich konnen 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 Verfugung, 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 Ordner generiert, und zwar gemass 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 Stuck-Format, es wird fur jedes Stuck angewendet. Schliesslich gibt es noch einen Trailer, welcher die Datei noch abschliesst. Die Formatfelder enthalten keine regularen Ausdrucke wie im Import Dialog, sondern bloss Ausgabeformate, bei denen spezielle %-Ausdrucke durch Werte aus den Tags ersetzt werden. Das ganze verhalt sich also gleich wie beim Dateinamenformat, es werden auch dieselben Codes verwendet, plus ein paar zusatzliche. Nicht nur die unten aufgelisteten Codes sind moglich, es konnen die Namen aller Tag Frames verwendet werden. o %s %{title} Titel (Song) o %a %{artist} Interpret (Artist) o %l %{album} Album o %c %{comment} Kommentar (Comment) o %y %{year} Jahr (Year) o %t %{track} Nummer (Stuck, z.B. 01) o %t %{track.n} Nummer mit Feldlange n (z.B. 001 fur %{track.3}) o %T %{tracknumber} Nummer (Stuck, ohne fuhrende Null, z.B. 1) o %g %{genre} Genre o %f %{file} Dateiname (File name) o %p %{filepath} Pfadname o %{modificationdate} Anderungsdatum o %{creationdate} Erstellungsdatum o %u %{url} URL o %{dirname} Ordnername o %d %{duration} Dauer in Minuten:Sekunden o %D %{seconds} Dauer in Sekunden o %n %{tracks} Anzahl Stucke im Album o %e %{extension} Dateiendung o %O %{tag1} Das Format von Tag 1 (ID3v1.1 oder leer falls nicht vorhanden) o %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) o %b %{bitrate} Bitrate in kbit/s o %v %{vbr} VBR oder leer (nur fur ID3v2.3 mit id3lib) o %r %{samplerate} Samplerate in Hz o %m %{mode} Kanalmodus (Stereo oder Joint Stereo) o %h %{channels} Anzahl Kanale (1 oder 2) o %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 konnen einfach wieder uber das gleichnamige Importformat in Kid3 importiert werden. "CSV quoted" setzt die Felder zusatzlich noch in Anfuhrungszeichen, was den Import in Tabellenkalkulationen erleichtert. Dafur sollten in den Feldern keine Anfuhrungszeichen vorkommen. "Extended M3U" und "Extended PLS" erzeugen Stucklisten mit Zusatzinformationen und absoluten Pfadnamen. "HTML" dient dazu, eine HTML-Seite mit verlinkten Stucken zu erstellen. "Kover XML" generiert eine XML-Datei, welche vom Cover-Druck-Programm Kover gelesen werden kann. "Technical Details" liefert Informationen uber Bitrate, Samplerate, Kanale, usw. "Custom Format" schliesslich ist frei fur ein eigenes Format. Naturlich konnen auch die anderen Formate beliebig angepasst werden, oder es konnen noch mehr Formate in der Datei kid3rc im Konfigurationsordner hinzugefugt 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 ubernimmt. Datei -> Stuckliste erstellen... Erzeugt eine Stuckliste. Das Format und der Inhalt der Stuckliste konnen mit verschiedenen Optionen bestimmt werden. Wie Ordnername generiert den Dateinamen der Wiedergabeliste aus dem Namen des Ordners. 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 konnen dieselben Format Codes wie bei Exportieren verwendet werden. Die Liste der verfugbaren Formate kann im Bereich Formatdes Dateien Reiters in den Einstellungen bearbeitet werden.Erstelle neue leere Stuckliste erzeugt eine leere Stuckliste mit dem angegebenen Namen. Die Dateierweiterung richtet sich nach dem Format der Stuckliste. Wo die Wiedergabeliste erstellt wird, kann bestimmt werden mit der Auswahlliste Erstelle in Aktueller Ordner Die Stuckliste wird im aktuellen Ordner erstellt und enthalt nur Dateien aus diesem Ordner. Der aktuelle Ordner ist der Ordner, in welchem sich die aktuelle Datei befindet. Wenn mehrere Dateien ausgewahlt sind, ist wahrscheinlich die zuletzt ausgewahlte Datei die aktuelle Datei. Jedem Ordner In jedem Ordner, welcher gelistete Dateien enthalt, wird eine eigene Stuckliste erstellt, welche die Dateien aus dem jeweiligen Ordner enthalt. Basisordner Nur eine einzige Stuckliste wird im Basisordner (d.h. dem Ordner der Dateiliste) erstellt, und sie enthalt die gelisteten Dateien aus dem Basisordner und allen Unterordnern. Das Format der Wiedergabeliste kann M3U, PLS oder XSPF sein. Nur ausgewahlte Dateien einfugen fuhrt dazu, dass nur ausgewahlte Dateien in der Stuckliste erscheinen. Wenn ein Ordner ausgewahlt ist, so gelten all seine Dateien ebenfalls als selektiert. Wenn diese Option nicht aktiviert ist, gelangen alle Audio-Dateien in die Stuckliste. Sortiere nach Dateiname ordnet die Dateien wie ublich nach dem Dateinamen in der Wiedergabeliste an. Mit Sortiere nach Tag-Feld ist es moglich, eine Format-Zeichenfolge mit Tag-Werten fur die Sortierung zu verwenden. "%{track.3}" kann beispielsweise benutzt werden, um nach der Stucknummer zu sortieren (".3" wird verwendet, um 3 Stellen mit fuhrenden Nullen zu kriegen, und somit korrekt nach der Nummer zu sortieren). Es ist auch moglich, mehrere Codes zu verwenden, z.B. "%{genre}%{year}", um nach einer Zeichenfolge aus Genre und Jahr zu sortieren. Die Eintrage in der Stuckliste sind relative oder absolute Pfadangaben, je nachdem ob Benutze relativen Pfad fur Dateien in der Wiedergabeliste oder Benutze vollen Pfad fur Dateien in der Wiedergabeliste gesetzt ist. Nur Liste der Dateien schreiben fuhrt dazu, dass die Stuckliste nur die Pfade zu den Dateien enthalt. Wunscht man zusatzliche Informationen, so steht Schreibe Informationen mit einer Format-Zeichenfolge zur Verfugung, und es wird eine erweiterte Stuckliste generiert. Datei -> Beenden ( Ctrl+Q ) Beendet die Anwendung. Das Menu Bearbeiten Bearbeiten -> Alles auswahlen ( Alt+A ) Selektiert alle Dateien. Bearbeiten -> Abwahlen ( Ctrl+Shift+A ) Deselektiert alle Dateien. Bearbeiten -> Alles im Ordner auswahlen Selektiert alle Dateien im aktuellen Ordner. Bearbeiten -> Vorangehende Datei ( Alt+Up ) Selektiert die vorangehende Datei. Bearbeiten -> Nachste Datei ( Alt+Down ) Selektiert die nachste Datei. Bearbeiten -> Suchen... ( Ctrl+F ) Sucht Zeichenfolgen 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 geoffnet, mit welchem sich Zeichenfolgen in den Dateinamen und Tags suchen und ersetzen lassen. Die Suche kann auf bestimmte Elemente eingeschrankt werden, indem bei Alles selektieren das Hakchen entfernt wird und die gewunschten Elemente ausgewahlt werden. Es sind auch Optionen vorhanden, um ruckwarts zu suchen, Gross- und Kleinbuchstaben zu unterscheiden und fur regulare Ausdrucke. Abhangig von der Anzahl Dateien kann die Suche etwas dauern, daher kann sie durch Schliessen des Dialogs abgebrochen werden. Das Menu Extras Extras -> Dateinamenformat anwenden Wenn Format automatisch anwenden im Konfigurationsdialog beim Dateinamenformat deaktiviert ist, kann man mit diesem Menupunkt die Formatierung auf die Namen der ausgewahlten 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 verandert (in der Dateiliste mit einem Diskettensymbol versehen), welche nicht dem eingestellten Format entsprechen. Ungewollte Anderungen konnen mit Zuletzt gespeicherte Fassung ruckgangig gemacht werden. Extras -> Tag-Format anwenden Wenn Format automatisch anwenden im Konfigurationsdialog beim Tag Format deaktiviert ist, kann man mit diesem Menupunkt die Formatierung auf die Tags der ausgewahlten 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 verandert (in der Dateiliste mit einem Diskettensymbol versehen), welche nicht dem eingestellten Format entsprechen. Ungewollte Anderungen konnen mit Zuletzt gespeicherte Fassung ruckgangig gemacht werden. Extras -> Textkodierung anwenden Setzt die Textkodierung, welche in Einstellungen/Kid3 einrichten.../Tags/Tag 2 eingestellt ist, fur alle ausgewahlten Dateien. Wenn UTF8 eingestellt ist, so wird fur ID3v2.3.0 Tags UTF16 verwendet, denn dieses Format unterstutzt UTF8 nicht. Extras -> Ordner umbenennen... Dieser Dialog bietet die Moglichkeit, automatisch den aktuellen Ordner gemass den Tags umzubenennen. Verschiedene Formate sind vordefiniert, um Informationen uber Interpret, Album und Jahr in den Ordnernamen zu ubernehmen. Es ist auch moglich, ein eigenes Format zu definieren und die verfugbaren Formate zu bearbeiten (Knopf Bearbeiten). Die folgenden Codes konnen verwendet werden, um Werte aus den Tags im Ordnernamen einzusetzen: o %s %{title} Titel (Song) o %a %{artist} Interpret (Artist) o %l %{album} Album o %c %{comment} Kommentar (Comment) o %y %{year} Jahr (Year) o %t %{track} Nummer (Stuck, z.B. 01) o %t %{track.n} Nummer mit Feldlange n (z.B. 001 fur %{track.3}) o %T %{tracknumber} Nummer (Stuck, ohne fuhrende Null, z.B. 1) o %g %{genre} Genre o %{dirname} Ordnername (z.B. %{year" "}%{dirname} fugt vorne am bestehenden Ordnernamen die Jahreszahl hinzu) o %{max-year} Die maximale Jahreszahl, welche fur diesen Ordner gefunden wurde, es konnen auch andere Codes als "year" verwendet werden o %{min-year} Die minimale Jahreszahl, welche fur diesen Ordner gefunden wurde o %{unq-year} Die einzige Jahreszahl, welche fur diesen Ordner gefunden wurde, leer falls nicht eindeutig Wenn ein Ordner-Trennzeichen "/" im Format gefunden wird, werden mehrere Ordner erstellt. Will man einen neuen Ordner erstellen statt den aktuellen Ordner umbenennen, so wahlt man Ordner erstellen statt Ordner umbenennen. Die Quelle der Tag-Information kann zwischen Von Tag 1 und Tag 2, Von Tag 1 und Von Tag 2 ausgewahlt werden. Die voraussichtliche Ordnernamensanderung fur die erste Datei kann in den Abschnitten Von und Nach des Dialogs gesehen werden. Es konnen auch mehrere Ordner umbenannt werden, indem sie selektiert werden. Extras -> Stucke nummerieren... Falls die Stucknummern in den Tags nicht vorhanden oder falsch sind, so lassen sich mit dieser Funktion die Stucke automatisch aufsteigend nummerieren. Im Dialog kann die Startnummer angegeben werden. Falls nur ein Teil der Stucke nummeriert werden soll, so sind diese im Voraus auszuwahlen. Wenn Anzahl Stucke markiert ist, wird auch die Anzahl Stucke in den Tags gesetzt. Es konnen auch die Stucke uber mehrere Ordner hinweg nummeriert werden. Dazu mussen die Ordner aufgeklappt und selektiert werden. Wenn Zahler fur jeden Ordner zurucksetzen aktiviert ist, wird die Nummerierung bei jedem Ordner mit der Startnummer begonnen falls mehrere Ordner ausgewahlt sind. Der Dialog kann auch dazu benutzt werden, bestehende Stucknummern neu zu formatieren, ohne ihren Wert zu verandern. Dazu muss das Hakchen bei der Startnummer entfernt werden. Wenn Anzahl Stucke markiert ist, so wird das Total hinzugefugt. Falls es nicht erwunscht ist, die Anzahl Stucke in allen ausgewahlten Dateien zu setzen, muss auch diese Option deaktiviert werden. Extras -> Filter... Der Filter kann dazu verwendet werden, nur diejenigen Dateien anzeigen, welche gewisse Eigenschaften erfullen. Dies kann dann nutzlich sein, wenn man die Tags oder Dateinamen in einer grosseren Sammlung bereinigen mochte, jedoch nur diejenigen Dateien bearbeiten mochte, welche nicht dem gewunschten Schema entsprechen. Der Ausdruck, der bestimmt, welche Dateien angezeigt werden, benutzt dieselben Formatcodes, welche auch beim Dateinamenformat, Importieren und Exportieren verwendet werden. o %s %{title} Titel (Song) o %a %{artist} Interpret (Artist) o %l %{album} Album o %c %{comment} Kommentar (Comment) o %y %{year} Jahr (Year) o %t %{track} Nummer (Stuck, z.B. 01) o %t %{track.n} Nummer mit Feldlange n (z.B. 001 fur %{track.3}) o %T %{tracknumber} Nummer (Stuck, ohne fuhrende Null, z.B. 1) o %g %{genre} Genre o %f %{file} Dateiname (File name) o %p %{filepath} Absoluter Pfadname o %e %{extension} Dateiendung o %O %{tag1} Das Format von Tag 1 (ID3v1.1 oder leer falls nicht vorhanden) o %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) o %b %{bitrate} Bitrate in kbit/s o %v %{vbr} VBR oder leer (nur fur ID3v2.3 mit id3lib) o %r %{samplerate} Samplerate in Hz o %m %{mode} Kanalmodus (Stereo oder Joint Stereo) o %h %{channels} Anzahl Kanale (1 oder 2) o %k %{codec} Codec (z.B. MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV) o %w %{marked} Markiert, ist 1 wenn die Datei markiert ist (z.B. weil Felder abgeschnitten wurden oder wegen einer Verletzung des ID3v2 Standards), ansonsten leer o %1a %1{artist}, ... Der Prafix 1 wird benutzt, um Werte von Tag 1 zu erhalten o %2a %2{artist}, ... Der Prafix 2 wird benutzt, um Werte von Tag 2 zu erhalten Diese Codes werden mit dem Wert fur die Datei ersetzt und die resultierenden Zeichenfolgen konnen mit folgenden Operatoren verglichen werden: o s1 equals s2: wahr wenn s1 und s2 gleich sind. o s1 contains s2: wahr wenn s2 in s1 enthalten ist. o s matches re: wahr wenn s den regularen Ausdruck re erfullt. Wahre Ausdrucke werden durch 1 ersetzt, falsche durch 0. Wahre Werte reprasentieren nebst 1 auch true, on und yes, falsche Werte entsprechend 0, false, off und no. Diese Wahrheitwerte konnen durch die logischen Operatoren not, and und or verknupft werden (die Prioritat ist in dieser Reihenfolge), und mit Klammern gruppiert werden. Einige Filterregeln sind bereits vordefiniert und konnen als Beispiele fur eigene Ausdrucke dienen: All Wenn die Dateiliste gefiltert ist - dies wird mit "[Gefiltert]" in der Titelzeile angezeigt - und man mochte wieder alle Dateien anzeigen, kann das Filtern mit diesem Filter ruckgangig gemacht werden. Es wird ein leerer Ausdruck verwendet, ein Wahrheitswert wie true hatte 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 andert. 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, Stucknummer, Genre). No Picture %{picture} equals "" Es werden nur Dateien ohne Bild angezeigt. Marked not (%{marked} equals "") Es werden nur Dateien angezeigt, die markiert sind weil sie den ID3v2 Standard verletzen, weil Felder abgeschnitten wurden oder ein Bild zu gross ist. Custom Filter Dieser Eintrag kann verwendet werden, um einen eigenen Filter hinzuzufugen. Um beispielsweise nur Dateien anzuzeigen, deren Interpret mit "The" beginnt, ersetzt man "Custom Filter" durch einen Namen wie "The Bands" und druckt die Enter Taste. Dann fugt 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 erfullen, 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 ausgewahlten Dateien ID3v2.3 Tags vorhanden sind, so werden sie zu ID3v2.4 Tags konvertiert. Frames, welche von TagLib nicht unterstutzt sind, werden verworfen. Nur Dateien ohne ungesicherte Anderungen werden konvertiert. Extras -> ID3v2.4 nach ID3v2.3 konvertieren Wenn in den ausgewahlten Dateien ID3v2.4 Tags vorhanden sind, so werden sie zu ID3v2.3 Tags konvertiert. Nur Dateien ohne ungesicherte Anderungen werden konvertiert. Extras -> Wiedergabe Damit offnet sich eine einfache Werkzeugleiste zum Abspielen von Audio-Dateien. Sie enthalt Knopfe fur die grundlegenden Operationen (Wiedergabe/Pause, Wiedergabe stoppen, Zuruck, Vorwarts, Schliessen), Regler fur Position und Lautstarke und eine Anzeige der aktuellen Position. Abgespielt werden die selektierten Stucke bei Mehrfachselektion bzw. alle Stucke wenn eine oder keine Datei selektiert ist. Das Menu Einstellungen Einstellungen -> Werkzeugleiste anzeigen Schaltet die Anzeige der Werkzeugleiste ein und aus. Einstellungen -> Statusleiste anzeigen Schaltet die Anzeige der Statusleiste, welche langere Aktionen wie Offnen und Speichern eines Ordners 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. + Schaltflachen zu- und aufklappen. Einstellungen -> Kurzbefehle festlegen... Offnet einen Dialog, um den meisten Programm-Funktionen ein Tastatur-Kurzel zuzuordnen. Es gibt sogar einige Funktionen ohne entsprechenden Menupunkt oder Knopf, z.B. nachste Datei, vorangehende Datei, alles auswahlen. Einstellungen -> Kid3 einrichten... Offnet den Konfigurationsdialog, der aus verschiedenen Seiten besteht, mit Optionen fur Tags, Dateien, Benutzerbefehle und Netzwerk. Optionen fur Tags sind auf der Seite Tags zu finden, welche ihrerseits in vier Reiter unterteilt ist fur Tag 1, Tag 2, Tag 3 und Alle Tags. Wenn Markiere abgeschnittene Felder aktiv ist, werden abgeschnittene ID3v1.1 Felder rot markiert. Die Textfelder in ID3v1.1 Tags haben bloss 30 Zeichen, der Kommentar nur 28 Zeichen. Auch Genre und Nummer sind Beschrankungen unterworfen, so dass Felder gekurzt werden konnen, 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 fur ID3v1 kann die Codierung, welche fur ID3v1 Tags verwendet wird, eingestellt werden. Standardmassig 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 gewahlt werden, so dass dann die ID3v1 Tags nach ID3v2 transferiert werden konnen, welches Unicode Zeichen unterstutzt. Das Markierungsfeld Format Nummer/Anzahl Stucke benutzen bewirkt, dass im Stucknummer-Feld bei den ID3v2 Tags nicht bloss die Stucknummer gespeichert wird, sondern auch die Gesamtzahl der Stucke im Ordner. Wenn Genre als Text statt als Nummer aktiviert ist, werden alle Genres als Text gespeichert, auch wenn ein ID3v1-Code fur das Genre existiert. Ohne diese Einstellungen werden solche Genres als die Nummer des entsprechenden ID3v1-Codes gespeichert (in Klammern fur ID3v2.3). Das Genre Metal wird also abhangig von dieser Option entweder als "Metal" oder als "(9)" gespeichert. Genres, fur welche kein ID3v1-Code existiert, werden immer als Text gespeichert. Der Sinn dieser Option ist es, die Kompatibilitat mit Geraten zu verbessern, welche die Codes nicht korrekt interpretieren. Wenn WAV-Dateien mit id3 Block in Kleinbuchstaben aktiviert ist, wird "id3 " statt "ID3 " als Name fur die RIFF Chunks verwendet, in welchen ID3v2 Tags fur WAV-Dateien gespeichert werden. Normalerweise akzeptieren Kid3 und andere Programme, welche TagLib verwenden, beim Lesen von WAV-Dateien sowohl die Variante mit Kleinbuchstaben als auch die Variante mit Grossbuchstaben, geschrieben wird aber immer "ID3 ". Weil Applikationen existieren, welche nur "id3 " akzeptieren (z.B. JRiver Media Center und foobar2000), konnen mit dieser Einstellung Tags geschrieben werden, welche auch von solchen Applikationen gelesen werden konnen. Wenn Standardverletzungen markieren aktiviert ist, werden ID3v2 Felder, welche den Standard verletzen, rot markiert. Details uber die Verletzung werden in Tooltips angezeigt: o Darf nur einmal vorkommen o Neue Zeile ist verboten o Wagenrucklauf ist verboten o Besitzer darf nicht leer sein o Muss numerisch sein o Muss numerisch sein oder Nummer/Anzahl o Format ist DDMM o Format ist HHMM o Format ist YYYY o Muss mit einem Jahr und einem Leerzeichen beginnen o Muss ISO-8601 Zeitstempel sein o Muss eine Tonart sein, 3 Zeichen, A-G, b, #, m, o o Muss ein ISO 639-2 Sprachcode sein, 3 Kleinbuchstaben o Muss eine ISRC Kennung sein, 12 Zeichen o Muss eine Liste von Zeichenfolgen sein, getrennt durch '|' o Hat uberschussige Leerzeichen Die ID3-Standard-Dokumente sind online verfugbar: o ID3 tag version 2.3.0[10] o ID3 tag version 2.4.0 - Main Structure[11] o ID3 tag version 2.4.0 - Native Frames[5] Text Codierung bestimmt die Codierung von ID3v2 Elementen und kann auf ISO-8859-1, UTF16 oder UTF8 gesetzt werden. UTF8 ist fur ID3v2.3.0 nicht gultig; wenn dieser Wert gesetzt ist, wird stattdessen UTF16 verwendet. Fur ID3v2.4.0 sind alle drei Codierungen moglich. Version fur neue Tags legt fest, ob neue ID3v2 Tags mit der Version 2.3.0 oder 2.4.0 erzeugt werden. Anzahl der Stellen in Stucknummer bestimmt die Zahl der Dezimalstellen in den Stucknummer-Feldern. Die Nummern werden mit fuhrenden Nullen auf die eingestellte Anzahl Stellen erweitert. Beispielsweise wird mit dem Wert 2 die Stucknummer 5 als "05" gesetzt. Das Auswahlfeld Name des Kommentar-Feldes ist fur Ogg/Vorbis und FLAC-Dateien relevant und bestimmt den Namen des Feldes, welches fur Kommentare verwendet wird. Hier scheinen verschiedene Anwendungen unterschiedliche Namen zu verwenden, "COMMENT" wird beispielsweise von XMMS benutzt, wahrend 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 fruhere, inoffizielle Methode, um Bilder in Vorbis-Tags zu codieren. Manche Player benutzen dieses Feld. Wenn das Hakchen bei Markieren wenn grosser als gesetzt ist, so werden Dateien mit Bildern, welche die angegebene Grosse uberschreiten, rot markiert. Damit konnen Dateien mit ubergrossen Bildern, welche von gewissen Applikationen und Playern nicht akzeptiert werden, aufgespurt 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 verfugbar. Fur ID3v1.1 Tags konnen nur die vordefinierten Genres verwendet werden. Die Liste mit den eigenen Genres kann auch dazu verwendet werden, die Anzahl der im Genre Auswahlfeld angebotenen Eintrage auf diejenigen zu reduzieren, welche man braucht. Falls die Musiksammlung hauptsachlich 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 enthalt 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 verfugbar, denn diese zwei Eintrage sind Standard Genres. Wenn Nur eigene Genres anzeigen nicht markiert ist, so werden die eigenen Genres am Ende der Auswahlliste aufgefuhrt. In Eigene Elemente konnen bis zu acht Namen definiert werden, welche dann wie die vereinheitlichten Elemente verwendet werden konnen, z.B. in den Schnellzugriff-Elementen. Schnellzugriff-Elemente bestimmt, welche Frametypen immer bei Tag 2 angezeigt werden. Solche Frames konnen dann hinzugefugt werden, ohne zuerst den Hinzufugen Knopf zu drucken. Die Reihenfolge dieser Schnellzugriff-Elemente kann durch Ziehen und Loslassen der Elemente verandert werden. Das Auswahlfeld Name des Stucknummer-Feldes ist fur RIFF INFO relevant und bestimmt den Namen des Feldes, welches fur Stucknummern verwendet wird. Stucknummern sind im RIFF Standard nicht spezifiziert, einige Anwendungen verwenden "ITRK", andere "IPRT". Tag Format enthalt Einstellungen fur das Format der Tags. Wenn Format automatisch anwenden aktiviert ist, wird die Eingabe wahrend dem Editieren automatisch formatiert. Uberprufung aktiviert die Validation in Eingabefeldern mit Stucknummer/Total- und Datum/Zeit-Werten. Gross/Kleinschreibung kann auf Keine Anderungen, Alles Kleinbuchstaben, Alles Grossbuchstaben, Den ersten Buchstaben gross oder Alle ersten Buchstaben gross gesetzt werden. Um die Eigenheiten einer Sprache bei der Konversion zwischen Klein- und Grossbuchstaben zu berucksichtigen, kann eine Sprache in der darunterliegenden Auswahlliste gewahlt werden. Die Zeichen ersetzen Liste kann mit beliebigen Zuordnungen von Zeichenfolgen gefullt werden. Eine neue Zuordnung kann hinzugefugt werden, indem in der Von Zelle einer Zeile der zu ersetzende Text eingegeben wird und dann in der Nach Spalte der Ersetzungstext. Wenn der zu ersetzende Text mit einem Schragstrich ("/") beginnt und endet, so wird ein regularer Ausdruck verwendet. Enthalt der regulare Ausdruck Erfassungsgruppen, so werden \1, \2, ... in Nach mit der entsprechend erfassten Zeichenfolge ersetzt. Zum Loschen einer Zuordnung wird die Von Zelle auf einen leeren Wert gesetzt (z.B. indem man zuerst einen Leerschlag eingibt und diesen dann wieder loscht). Einfugen und Loschen von Zeilen ist auch uber das Kontext-Menu moglich, welches erscheint, wenn man die rechte Maustaste druckt. Ersetzungen werden nur durchgefuhrt, wenn das Zeichen ersetzen Markierungsfeld aktiviert ist. Die Tabelle in Bewertung enthalt die Zuordnungen zwischen der Anzahl Sterne und den effektiv in den Tags gespeicherten Werten. Die Frames mit Bewertungsinformationen sind in der Zeile Bewertung der Frame-Liste aufgefuhrt. In diesen Frames kann eine Bewertung mit 1 bis 5 Sternen gesetzt werden. Verschiedene Tag-Formate und unterschiedliche Applikationen benutzen unterschiedliche Werte um die Anzahl Sterne im Tag zu speichern. Um die korrekte Anzahl Sterne darzustellen schaut Kid3 in dieser Tabelle nach, und zwar nach einem Schlussel aus dem Frame-Namen, z.B. "RATING" fur Vorbis-Tags oder "IRTD" fur RIFF INFO. Fur ID3v2-Tags wird als Schlussel zur Frame-ID "POPM" noch der Wert des "Email"-Feldes hinzugefugt, getrennt durch einen Punkt. Folglich konnen fur ID3v2 unterschiedliche Zuordnungen verwendet werden, z.B. "POPM.Windows Media Player 9 Series" fur die Werte, welche beim Windows Media Player und Explorer verwendet werden, oder bloss "POPM" fur POPM-Frames mit leerem "Email"-Feld. Da mehrere Eintrage fur "POPM" existieren konnen, ist deren Reihenfolge wichtig. Wenn Kid3 ein neues POPM-Frame hinzufugt, wird der erste "POPM"-Eintrag benutzt, um den Wert des "Email"-Feldes zu bestimmen. Dieser Wert entscheidet dann uber die Zuordnung der Werte zur Anzahl Sterne. Der erste Eintrag wird auch benutzt, wenn kein passender Schlussel gefunden wurde, stellt also den Standardwert dar. Nebst der Spalte Name fur die Schlussel gibt es noch die Spalten 1 bis 5 fur die Werte, welche gespeichert werden, wenn die entsprechende Anzahl Sterne gesetzt wird. Andersherum werden diese Werte dazu benutzt um zu bestimmen, wie viele Sterne fur einen im Tag gespeicherten Wert dargestellt werden sollen. Der Eintrag in der Tabelle unten enthalt beispielsweise die Werte 1, 64, 128, 196 und 255. Die Schwellwerte fur die anzuzeigende Anzahl Sterne liegen dazwischen und sind so gewahlt, dass sie kompatibel mit dem Windows Explorer sind. Tabelle 1. Eintrag in Bewertungs-Tabelle +--------+------+-------+--------+---------+---------+ |Name | 1 | 2 | 3 | 4 | 5 | +--------+------+-------+--------+---------+---------+ |POPM | 1 | 64 | 128 | 196 | 255 | +--------+------+-------+--------+---------+---------+ |Bereich | 1-31 | 32-95 | 96-159 | 160-223 | 224-255 | +--------+------+-------+--------+---------+---------+ Auf der Seite Dateien bestimmt das Markierungsfeld Zuletzt geoffnete Dateien laden, ob Kid3 beim nachsten Start wieder die zuletzt gewahlte Datei offnet und selektiert. Mit Datei-Zeitstempel nicht verandern kann eingestellt werden, dass die Modifikationszeit der Datei nicht verandert wird. Dateiname fur Cover setzt den Namen, welcher vorgeschlagen wird, wenn ein eingebettetes Bild als Datei exportiert wird. Mit Textkodierung (Export, Stuckliste) lasst sich die Codierung einstellen, welche beim Schreiben von Dateien verwendet wird. Die Voreinstellung System kann verandert werden wenn beispielsweise Stucklisten auf einem anderen Gerat verwendet werden sollen. Wenn Anderungen markieren aktiviert ist, werden veranderte Felder markiert, indem der Hintergrund des Namens grau gesetzt wird. Der Abschnitt Dateiliste bestimmt, welche Dateien in der Dateiliste angezeigt werden. Mit einem Filter konnen die in dieser Liste angezeigten Elemente auf Dateien mit unterstutzter Dateiendung eingeschrankt werden. Um explizit anzugeben, welche Ordner in der Dateiliste erscheinen sollen oder bestimmte Ordner zu unterdrucken, konnen die Felder Ordner einschliessen und Ordner ausschliessen verwendet werden. Sie konnen Dateinamen-Platzhalter enthalten, beispielsweise */Musik/* um nur den Musik-Ordner anzuzeigen, oder */iTunes/* um den iTunes-Ordner auszublenden. Wenn mehrere solche Ausdrucke verwendet werden, so konnen sie durch Leerzeichen oder Strichpunkte getrennt werden. Die Knopfe Dateiname von Tag und Tag von Dateiname im Abschnitt Format offnen Dialoge, um die Formate zu bearbeiten, welche in den Format Auswahlfeldern (mit Pfeilen rauf und runter) des Abschnittes Datei im Hauptfenster verfugbar sind. Uber den Knopf Stuckliste konnen die Dateinamen-Formate bearbeitet werden, welche im Dialog Stuckliste erstellen verfugbar sind. Dateinamen Format enthalt Einstellungen fur das Format der Dateinamen. Dabei sind die selben Optionen wie bei Tag Format moglich. Zusatzlich kann die Maximale Lange fur Dateinamen gesetzt werden. Die meisten modernen Dateisysteme haben eine Begrenzung auf 255 Zeichen, aber wenn man die Dateien auf CD brennen mochte, sollte man die Lange auf 64 Zeichen begrenzen. Wenn Fur Wiedergabelisten und Ordnernamen verwenden aktiviert ist, dann wird das Dateinamenformat auch beim Erzeugen von Wiedergabelisten und beim Umbenennen von Ordnern verwendet. Die Seite Benutzerbefehle enthalt eine Tabelle mit Befehlen, welche uber das Kontext Menu der Dateiliste ausgewahlt werden konnen. Bei kritischen Operationen, beispielsweise dem Loschen von Dateien, empfiehlt es sich, Nachfragen zu markieren, damit vor dem Ausfuhren des Befehls eine Bestatigung 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 Menu dargestellt wird. Befehl schliesslich ist die auszufuhrende Kommandozeile. Argumente konnen mit den folgenden Codes ubergeben werden: o %F %{files} Dateipfad (eine Liste wenn mehrere Dateien selektiert sind) o %f %{file} Pfad einer einzelnen Datei o %uF %{urls} URLs (eine Liste wenn mehrere Dateien selektiert sind) o %uf %{url} URL zu einer einzelnen Datei o %d %{directory} Ordner o %s %{title} Titel (Song) o %a %{artist} Interpret (Artist) o %l %{album} Album o %c %{comment} Kommentar (Comment) o %y %{year} Jahr (Year) o %t %{track} Nummer (Stuck, z.B. 01) o %t %{track.n} Nummer mit Feldlange n (z.B. 001 fur %{track.3}) o %T %{tracknumber} Nummer (Stuck, ohne fuhrende Null, z.B. 1) o %g %{genre} Genre o %b %{browser} Kommando zum Starten des Web Browsers o %q %{qmlpath} Basisordner der mitgelieferten QML-Dateien Der Code @separator kann verwendet werden, um eine Trennlinie in das Benutzerbefehle-Kontextmenu einzufugen. Menupunkte konnen in Untermenus gruppiert werden, indem man sie mit @beginmenu und @endmenu Befehlen umgibt. Der Name des Untermenus wird durch die Spalte Name des @beginmenu Befehls definiert. Zum Ausfuhren von QML Skripten wird als Befehl @qml verwendet. Danach wird der Pfad zum QML-Skript angegeben. Die mitgelieferten Skripte liegen im Ordner %{qmlpath}/script/ (unter Linux typischerweise /usr/share/kid3/qml/script/, bei Windows in qml/script/ innerhalb des Installationsordners, und bei macOS im App-Ordner kid3.app/Contents/Resources/qml/script/). Eigene Skripte konnen aber auch in einem beliebigen anderen Ordner gespeichert werden. Wenn der QML-Code grafische Elemente innerhalb eines Fensters offnet, so muss @qmlview anstelle von @qml verwendet werden. Weitere Parameter werden dem QML-Skript ubergeben und sind dort uber die Funktion getArguments() verfugbar. Eine Ubersicht einiger in QML verfugbarer Funktionen und Eigenschaften findet sich im Anhang QML Schnittstelle. Das Kommando, welches mit %{browser} eingefugt 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 LyricWiki[12] 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 Google[13]: %{browser} http://images.google.com/images?q=%u{artist}%20%u{album} Um dem Tag 2 Album Cover Bilder hinzuzufugen, kann man mit den oben beschriebenen Benutzerbefehlen uber Google Images oder Amazon nach Bildern suchen. Die Bilder konnen mit "Drag'n'Drop" hinzugefugt werden. Bilder konnen auch mit Hinzufugen eines Bild Elementes und Importieren einer Datei oder Einfugen aus der Zwischenablage in ein Tag gebracht werden. Unterstutzt sind Bilder fur ID3v2, MP4, FLAC, Ogg und ASF Tags. Zum Loschen und Hinzufugen von Eintragen steht in der Tabelle ein Kontext Menu zur Verfugung. Die Netzwerk Seite enthalt bloss ein Textfeld fur die Adresse des Netzwerk Proxys und optional der Portnummer, abgetrennt durch einen Doppelpunkt. Dieser Proxy wird fur den Import von einem Internet Server verwendet, wenn das Kastchen davor markiert ist. Die verfugbaren Plugins konnen in der Seite Erweiterungen ein- bzw. ausgeschaltet werden. Die Plugins sind in zwei Listen unterteilt. Metadaten Plugins & Prioritat enthalt Plugins, welche Audio-Datei-Formate unterstutzen. Die Reihenfolge der Eintrage ist entscheidend, denn sie werden der Reihe nach durchprobiert. Gewisse Formate werden von mehreren Plugins unterstutzt, daher werden Dateien durch das erste Plugin, welches sie unterstutzt, geoffnet. TaglibMetadata unterstutzt die meisten Formate; wenn es zuoberst in der Liste ist, wird es die meisten Dateien offnen. Um ein anderes Plugin zu verwenden, muss es vor TaglibMetadata in der Liste stehen. Details uber die Metadaten Plugins und Grunde, warum man sie statt TagLib verwenden mochte, folgen. o Id3libMetadata: Benutzt id3lib[14] fur ID3v1.1 und ID3v2.3 Tags in MP3, MP2 und AAC Dateien; unterstutzt einige Frame-Typen mehr als TagLib. o OggFlacMetadata: Benutzt libogg[15], libvorbis und libvorbisfile[16] fur Ogg Dateien und zusatzlich libFLAC++ und libFLAC[17] fur FLAC Dateien. Dies sind die offiziellen Bibliotheken dieser Formate. o TaglibMetadata: Benutzt TagLib[18], welche viele Datei-Formate unterstutzt und fur alle Audio-Dateien verwendet werden kann, welche Kid3 unterstutzt. o Mp4v2Metadata: mp4v2[19] wurde ursprunglich von Kid3 fur M4A-Dateien verwendet. Kann bei Problemen mit der M4A-Unterstutzung von TagLib verwendet werden. Verfugbare Erweiterungen listet die verbleibenden Plugins auf. Ihre Reihenfolge ist unwichtig, sie konnen uber die Kastchen links ein- oder ausgeschaltet werden. o AmazonImport: Benutzt fur die Importieren von Amazon... Funktion. o DiscogsImport: Benutzt fur die Importieren von Discogs... Funktion. o FreedbImport: Benutzt fur die Funktion Importieren von gnudb.org. o MusicBrainzImport: Benutzt fur die Importieren von MusicBrainz-Album... Funktion. o AcoustidImport: Benutzt fur die Importieren von MusicBrainz-Fingerprint... Funktion, welche von den Bibliotheken Chromaprint[20] und libav[21] abhangig ist. Deaktivierte Erweiterungen werden nicht geladen, damit lasst sich also der Speicherverbrauch und die Ladezeit optimieren. Die Einstellungen auf dieser Seite werden aber erst nach einem Neustart von Kid3 aktiv. Das Menu Hilfe Hilfe -> Handbuch zu Kid3 Offnet dieses Handbuch. Hilfe -> Uber Kid3 Zeigt eine kurze Information uber Kid3 an. KID3-CLI Befehle kid3-cli bietet eine Kommandozeile fur Kid3. Wenn ein Ordnerpfad als Parameter verwendet wird, so wird der Ordner geoffnet. Bei einem oder mehreren Dateipfaden wird der ubergeordnete Ordner geoffnet, und die Dateien werden ausgewahlt. Befehle werden dann auf diese Dateien angewendet. Befehle werden mit -c Optionen angegeben, wenn mehrere vorhanden sind, so werden sie der Reihe nach ausgefuhrt. Falls Dateien durch die Befehle verandert werden, so werden sie am Ende gespeichert. Wenn keine Befehlsoptionen vorhanden sind, so startet kid3-cli im interaktiven Modus. Dort konnen Befehle eingegeben werden, welche auf die ausgewahlten Dateien angewendet werden. Die folgenden Abschnitte beschreiben alle verfugbaren Befehle. Hilfe help [BEFEHLSNAME] Zeigt Hilfe uber die Parameter von BEFEHLSNAME oder uber alle Befehle falls kein Befehlsname angegeben wird. Zeituberschreitung timeout [ | default | off | ZEIT ] Uberschreibt den Wert fur die maximal erlaubte Ausfuhrungszeit der Befehle. Die Befehle werden nach einer spezifischen Zeit abgebrochen, nach 10 Sekunden bei ls und albumart, 60 Sekunden bei autoimport und filter und 3 Sekunden fur alle anderen Befehle. Wenn eine grosse Anzahl von Dateien bearbeitet wird, so konnen diese Maximalzeiten zu restriktiv sein. Daher kann mit diesem Befehl der Timeout fur alle Befehle auf ZEIT ms gesetzt werden, ganzlich abgeschaltet werden oder auf den Voreinstellungen belassen werden. Anwendung beenden exit [force] Beendet die Anwendung. Falls veranderte Dateien existieren, so muss der Parameter force mitgegeben werden. Ordner wechseln cd [ORDNER] Wenn kein Ordner angegeben wird, so wird in den Benutzerordner gewechselt, sonst in den angegebenen Ordner. Bei einem oder mehreren Dateipfaden wird der ubergeordnete Ordner geoffnet, und die Dateien werden ausgewahlt. Aktuellen Ordner ausgeben pwd Gibt den Pfad des aktuellen Ordners aus. Ordnerliste ls Zeigt den Inhalt des aktuellen Ordners an. Dies entspricht der Dateiliste im Kid3 GUI. Funf Zeichen auf der linken Seite des Dateinamens zeigen Zustandsinformationen an. o > Datei ist ausgewahlt. o * Datei ist verandert. o 1 Datei hat ein Tag 1, sonst wird '-' angezeigt. o 2 Datei hat ein Tag 2, sonst wird '-' angezeigt. o 3 Datei hat ein Tag 3, sonst wird '-' angezeigt. 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 ausgewahlt. Die dritte Datei ist verandert. Veranderte Dateien speichern save Datei wahlen select [ | all | none | first | previous | next | DATEI... ] Alle Dateien werden mit select all ausgewahlt, mit select none wird die Selektion aufgehoben. Um die Dateien des aktuellen Ordners zu traversieren, wird mit select first gestartet, vorwarts geht es mit select next und ruckwarts mit select previous. Dateien konnen uber ihren Namen zur Auswahl hinzugefugt werden. Wildcards sind moglich, so werden mit select *.mp3 alle MP3-Dateien im aktuellen Ordner ausgewahlt. 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 auswahlen tag [TAGNUMMERN] Viele Befehle haben einen optionalen TAGNUMMERN Parameter, welcher festlegt, ob der Befehl auf Tag 1, 2 oder 3 wirkt. Wenn dieser Parameter weggelassen wird, so werden die standardmassigen Tagnummern verwendet, welche mit dem Befehl tag festgelegt werden konnen. Voreingestellt ist ein Wert von 12, was bedeutet, dass Informationen vom Tag 2 geholt werden, falls es vorhanden ist, sonst vom Tag 1. Anderungen werden am Tag 2 durchgefuhrt. Die TAGNUMMERN konnen auf 1, 2 oder 3 gesetzt werden, damit nur das entsprechende Tag verwendet wird. Wird kein Parameter angegeben, so wird die momentane Einstellung angezeigt. Tag-Element holen get [ | all | ELEMENTNAME ] [TAGNUMMERN] Dieser Befehl kann dazu benutzt werden, den Wert eines bestimmten Tag-Elements zu lesen oder um Informationen uber alle Tag-Elemente zu holen (wenn kein Parameter vorhanden ist oder all verwendet wird). Veranderte Elemente werden mit einem '*' markiert. 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 Stucknummer 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' Es konnen auch nur bestimmte Felder abgefragt werden, beispielsweise kann das Email-Feld eines Popularimeter-Frames mit get POPM.Email ausgegeben werden. Wenn eine Datei mehrere Frames des gleichen Typs enthalt, so kann der Index in eckigen Klammern angegeben werden. So kriegt man beispielsweise den ersten Musiker aus einem Vorbis-Tag mit get performer[0], den zweiten mit get performer[1]. Der Pseudo-Feldname "selected" kann verwendet werden um zu prufen, ob ein Frame selektiert ist, z.B. liefert get artist.selected dann 1 zuruck, wenn der Interpret ausgewahlt ist, sonst 0. Das Pseudo-Element "ratingstars" kann verwendet werden, um den Wert des "rating" Elements als Anzahl Sterne (0 bis 5) zu kriegen. Bei der Verwendung von "rating" wird der interne Wert zuruckgegeben. Tag-Element setzen set {ELEMENTNAME} {ELEMENTWERT} [TAGNUMMERN] Dieser Befehl setzt den Wert eines bestimmten Tag-Elements. Wenn ELEMENTWERT leer ist, so wird das Element geloscht. kid3-cli> set remixer 'O.H. Wonder' Um den Inhalt eines Bild-Elements aus einer Datei zu befullen, verwendet man set picture:'/pfad/zu/folder.jpg' 'Bildbeschreibung' Synchronisierter Liedtext kann aus einer LRC-Datei importiert werden. set SYLT:'/pfad/zu/lyrics.lrc' 'Beschreibung' Um ein bestimmtes Feld eines Frames zu setzen, kann der Feldname nach einem Punkt angegeben werden, z.B. fur das Zahler-Feld des Popularimeter-Frames. set POPM.Counter 5 Eine Anwendung fur das Setzen spezifischer Felder ist der Fall, dass man ein TXXX-Frame mit "rating" als Beschreibung mochte anstelle eines POPM Frames (dies scheint fur die Anwendung gewisser Plugins notig zu sein). Man kann ein solches TXXX-Rating-Frame mit kid3-cli erstellen, muss dazu jedoch zuerst das Frame mit der Beschreibung erstellen und dann den Wert setzen. kid3-cli> set rating "" kid3-cli> set TXXX.Description rating kid3-cli> set rating 5 Der erste Befehl loscht ein allenfalls vorhandenes POPM frame, denn wenn ein solches existiert, wurde set rating 5 das POPM-Frame setzen und nicht das TXXX-Frame. Eine andere Moglichkeit ware set TXXX.Text 5, aber dies funktioniert nur, wenn kein anderes TXXX-Frame vorhanden ist. Um mehrere Frames desselben Typs zu setzen, kann der Index in eckigen Klammern angegeben werden, z.B. mehrere Musiker in einem Vorbis-Tag. kid3-cli> set performer[0] 'Liza don Getti (soprano)' kid3-cli> set performer[1] 'Joe Barr (piano)' Um nur bestimmte Frames vor dem Kopieren, Einfugen oder Entfernen auszuwahlen, kann der Pseudo-Feldname "selected" verwendet werden. Normalerweise sind alle Frames ausgewahlt, um alle zu deselektieren, kann set '*.selected' 0 verwendet werden, danach kann beispielsweise das Interpreten-Frame mit set artist.selected 1 ausgewahlt werden. Das Pseudo-Element "ratingstars" kann verwendet werden, um den Wert des "rating" Elements auf den Wert zu setzen, welcher fur das entsprechende Format der Anzahl Sterne (0 bis 5) entspricht. Bei der Verwendung von "rating" wird der interne Wert gesetzt. Das gleichzeitige Setzen von "ratingstars" auf mehreren Dateien mit unterschiedlichem Tag-Format funktioniert nicht weil der interne Wert, welcher der Anzahl Sterne entspricht, fur die erste Datei berechnet wird und dann fur alle Dateien verwendet wird. Daher sollte man anstelle von kid3-cli -c "set ratingstars 2" * besser for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done verwenden. Anderungen ruckgangig machen revert Macht alle Anderungen an den ausgewahlten Dateien ruckgangig (oder an allen Dateien, falls keine selektiert sind). Von Datei importieren import {DATEI} {FORMATNAME} [TAGNUMMERN] Die Tags werden aus DATEI importiert im Format FORMATNAME (z.B. "CSV unquoted", siehe Importieren). Falls fur 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. Um das Importieren aus Tags auf die selektierten Dateien anzuwenden, kann tagsel statt tags verwendet werden. Hiermit kann auch mit einer EXTRAKTION von %{__return}(.+) der extrahierte Wert ausgegeben werden. Automatisch importieren autoimport [PROFILNAME] [TAGNUMMERN] Es wird automatisch importiert unter Verwendung des Profils PROFILNAME (siehe Automatisch importieren, "All" wird benutzt, falls kein Profil angegeben wird). Cover-Bilder herunterladen albumart {URL} [all] Setzt das Albumcover mit einem von URL heruntergeladenen Bild. Die Regeln zur Umwandlung einer allgemeinen URL (z.B. von Amazon) zu einer Bild-URL werden verwendet, diese konnen im Nach Cover-Bildern suchen Dialog definiert werden. Um das Albumcover mit einer lokalen Datei zu setzen kann der set Befehl verwendet werden. kid3-cli> albumart http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC In Datei exportieren export {DATEI} {FORMATNAME} [TAGNUMMERN] Tags werden in die Datei DATEI exportiert im Format FORMATNAME (z.B. "CSV unquoted", siehe Exportieren). Stuckliste erstellen playlist Erstellt eine Stuckliste in dem in der Konfiguration gesetzten Format, siehe Stuckliste erstellen. Dateinamenformat anwenden filenameformat Wendet das Dateinamenformat an, welches in der Konfiguration gesetzt ist, siehe Dateinamenformat anwenden. Tag-Format anwenden tagformat Wendet das Tag-Format an, welches in der Konfiguration gesetzt ist, siehe Tag-Format anwenden. Textkodierung anwenden textencoding Wendet die Textkodierung an, welche in der Konfiguration gesetzt ist, siehe Textkodierung anwenden. Ordner umbenennen renamedir [FORMAT] [ | create | rename | dryrun ] [TAGNUMMERN] Mit diesem Befehl werden Ordner umbenannt oder neu erstellt anhand der Werte in den Tags nach einem bestimmten FORMAT (z.B. %{artist} - %{album}, siehe Ordner umbenennen), wenn kein Format angegeben wird, so wird dasjenige verwendet, welches im Ordner umbenennen Dialog gesetzt ist. Normalerweise wird der Modus rename verwendet; um neue Ordner zu erstellen, muss create explizit angegeben werden. Die zum Umbenennen notigen Aktionen werden sofort ausgefuhrt, um bloss eine Vorschau uber diese Aktionen zu sehen, kann die dryrun Option verwendet werden. Stucke nummerieren numbertracks [TRACKNUMMER] [TAGNUMMERN] Nummeriert die ausgewahlten Dateien beginnend mit TRACKNUMMER (1 wenn nichts angegeben wird). Filter filter [ | FILTERNAME | FILTERFORMAT ] Filtert die Dateien, so dass nur Dateien angezeigt werden, welche dem FILTERFORMAT entsprechen. Der Name eines vordefinierten Filterausdrucks (z.B. "Filename Tag Mismatch") kann anstelle eines Filterausdrucks verwendet werden, siehe Filter. 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 to24 ID3v2.4 nach ID3v2.3 konvertieren to23 Dateiname von Tag fromtag [FORMAT] [TAGNUMMERN] Setzt die Dateinamen der ausgewahlten Dateien anhand der Werte in den Tags, z.B. fromtag '%{track} - %{title}' 1. Wenn kein Format angegeben wird, wird dasjenige verwendet, welches im GUI gesetzt ist. Tag von Dateiname totag [FORMAT] [TAGNUMMERN] Setzt die Tag-Elemente anhand der Dateinamen, z.B. totag '%{albumartist} - %{album}/%{track} %{title}' 2. Wenn kein Format angegeben wird, wird dasjenige verwendet, welches im GUI gesetzt ist. Falls der Dateiname nicht diesem Format entspricht, werden noch einige andere, gangige Formate ausprobiert. Tag zu anderem Tag syncto {TAGNUMMER} Kopiert die Tag-Elemente von einem Tag zum anderen Tag, um beispielsweise das ID3v2 Tag anhand der Werte im ID3v1 Tag zu setzen, wird syncto 2 verwendet. Kopieren copy [TAGNUMMER] Kopiert die Tag-Elemente der selektierten Datei in die interne Ablage. Sie konnen dann in einer anderen Datei mit dem paste Befehl gesetzt werden. Um nur ein paar ausgewahlte Frames zu kopieren, kann der set Befehl mit dem Pseudo-Feldnamen "selected" verwendet werden. Um beispielsweise nur die CD-Nummer- und Copyright-Frames zu kopieren, verwende man set '*.selected' 0 set discnumber.selected 1 set copyright.selected 1 copy Einfugen paste [TAGNUMMER] Setzt die Tag-Elemente gemass dem Inhalt der copy Ablage in den ausgewahlten Dateien. Entfernen remove [TAGNUMMER] Entfernt ein Tag. Es ist moglich, nur bestimmte Frames zu entfernen, indem man sie auswahlt wie beim copy Befehl beschrieben. Kid3 einrichten config [OPTION] [WERT] Konfigurationseinstellung lesen oder setzen Die OPTION besteht aus einem Gruppennamen und einem Eigenschaftsnamen, getrennt durch einen Punkt. Wenn keine OPTION mitgegeben wird, so werden alle verfugbaren Gruppennamen aufgelistet. Wenn nur ein Gruppenname angegeben wird, so werden die Eigenschaften der Gruppe angezeigt. Fur eine Gruppe mit Eigenschaft wird der aktuelle Wert ausgegeben. Um einen neuen Wert zu setzen, kann dieser als zweites Argument angegeben werden. Wenn der Wert fur eine Einstellung aus einer Liste besteht, so mussen alle Listenelemente als Argumente angegeben werden. Um also ein neues Element zu einer bestehenden Liste hinzuzufugen, mussen alle existierenden Elemente angegeben werden, gefolgt vom neuen Element. In solch einem Fall ist es einfacher, den JSON-Modus zu verwenden, denn dort kann die bestehende Liste einfach kopiert und durch das neue Element erganzt werden. Programm oder QML-Skript ausfuhren execute [@qml] {DATEI} [ARGS] Fuhre ein QML-Skript oder eine Programmdatei aus. Ohne @qml wird eine Programmdatei mit Argumenten ausgefuhrt. Wenn das erste Argument @qml ist, sind die folgenden Argumente das QML-Skript und seine Argumente. Beispielsweise konnen die Tags eines Ordners mit dem folgenden Befehl in eine Datei export.csv exportiert werden. kid3-cli -c "execute @qml /usr/share/kid3/qml/script/ExportCsv.qml export.csv" /pfad/zu/ordner/ Hier ist export.csv das Argument fur das ExportCsv.qml Skript, wahrend /pfad/zu/ordner/ das DATEI-Argument fur kid3-cli ist. Beispiele Setzt Titel mit Apostroph. Befehle, welche kid3-cli mit -c ubergeben werden, mussen in Anfuhrungszeichen stehen, falls sie nicht bloss aus einem einzelnen Wort bestehen. Wenn solch ein Befehl selbst ein Argument mit Leerzeichen hat, muss dieses Argument ebenfalls in Anfuhrungszeichen gesetzt werden. In UNIX(R) Shells konnen einfache oder doppelte Anfuhrungszeichen verwendet werden, aber in der Windows Eingabeaufforderung ist es wichtig, dass aussen doppelte und innen einfache Anfuhrungszeichen verwendet werden. Wenn im Text innerhalb der einfachen Anfuhrungszeichen ein einfaches Anfuhrungszeichen verwendet wird, so muss diesem ein umgekehrter Schragstrich vorangestellt werden, wie im folgenden Beispiel gezeigt wird: kid3-cli -c "set title 'I\'ll be there for you'" /path/to/dir Setzt das Albumcover in allen Dateien eines Ordners unter Verwendung der automatischen Import-Funktion: kid3-cli -c "autoimport 'Cover Art'" /pfad/zum/ordner Kommentar entfernen und Tag-Format fur beide Tags in allen MP3-Dateien eines Ordners anwenden: kid3-cli -c "set comment '' 1" -c "set comment '' 2" \ -c "tagformat 1" -c "tagformat 2" /pfad/zum/ordner/*.mp3 Automatischer Import in Tag 2, auch ins Tag 1 kopieren, die Dateinamen aus Tag 2 setzen und schliesslich eine Stuckliste erstellen: kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \ /pfad/zum/ordner/*.mp3 Fur 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/ordner Dieses Python-Skript erzeugt mit kid3-cli iTunes Sound Check iTunNORM Frames aus Replay Gain Information. #!/usr/bin/env python3 # Generate iTunes Sound Check from ReplayGain. 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]) JSON Format Um die Antworten von kid3-cli einfacher von Programmen zu verarbeiten, konnen sie im JSON-Format ausgegeben werden. Wenn das Kommando im JSON-Format daherkommt, so wird auch die Antwort in JSON geliefert. Wird im Kommando eine kompakte JSON-Reprasentation verwendet, so wird auch das Resultat kompakt. Wenn das Kommando ein "id"-Feld enthalt, so wird es als JSON-RPC interpretiert und die Antwort enthalt ein "jsonrpc"-Feld und die "id" der Anfrage. Dieselben Kommandos wie im Standard-CLI werden verwendet, der Befehl ist im "method"-Feld und die Parameter (sofern es solche hat) in der "params"-Liste. Die Antwort enthalt ein "result"-Objekt, welches auch null sein kann, falls der entsprechende kid3-cli-Befehl kein Resultat ausgibt. Im Falle eines Fehlers wird ein "error"-Objekt zuruckgegeben, welches "code" und "message" wie in JSON-RPC enthalt. kid3-cli> {"method":"set","params":["artist","An Artist"]} {"result":null} kid3-cli> {"method":"get","params":["artist",2]} {"result":"An Artist"} kid3-cli> {"method": "get", "params": ["artist"]} { "result": "An Artist" } kid3-cli> {"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]} {"id":"123","jsonrpc":"2.0","result":"An Artist"} DANKSAGUNGEN UND LIZENZ Kid3 Programmiert von Urs Fleisch Ubersetzung von Urs Fleisch .PP FDL[22] .PP GPL[23] INSTALLATION Bezugsquellen Kid3 ist zu finden unter https://kid3.kde.org. Anforderungen Kid3 braucht Qt[24]. KDE[25] ist empfohlen aber nicht notwendig, denn Kid3 kann auch als reine Qt Applikation kompiliert werden. Kid3 lauft auf Systemen, wo diese Programmbibliotheken vorhanden sind, z.B. auf GNU/Linux, Windows und macOS. Um Ogg/Vorbis Dateien zu taggen werden libogg[15], libvorbis und libvorbisfile[16] benotigt, fur FLAC Dateien libFLAC++ und libFLAC[17]. Fur MP3 Dateien wird die id3lib[14] verwendet. Fur diese vier Formate kann auch die TagLib[18] verwendet werden, welche zudem auch Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF Dateien und Tracker Module unterstutzt. Fur das Importieren uber akustische Fingerabdrucke werden Chromaprint[20] und libav[21] verwendet. Kid3 ist fur die meisten Linux-Distributionen, Windows und macOS erhaltlich. Links finden sich auf https://kid3.kde.org. 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. Fur die KDE Version wird im obersten Ordner getippt: % cmake . % make % make install Um fur andere Versionen von Qt oder KDE zu kompilieren, setzt man die entsprechenden cmake Optionen. Falls nicht alle Programmbibliotheken vorhanden sind, so wird Kid3 mit reduzierter Funktionalitat kompiliert. Es sollte also darauf geachtet werden, dass die Entwicklungspakete aller gewunschten Bibliotheken auch installiert sind. Andererseits kann mit cmake-Optionen bestimmt werden, was verwendet werden soll. Die Voreinstellung ist -DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_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. Um eine bestimmte Qt-Installation zu nutzen, kann -DQT_QMAKE_EXECUTABLE=/Pfad/zu/qmake gesetzt werden. Fur die Erzeugung von RPM-Paketen ist die Datei kid3.spec vorhanden, fur Debian(R)-Pakete wird build.sh deb ausgefuhrt. Die Qt Anwendung kann auch fur Windows und macOS kompiliert werden. Das Skript build.sh kann verwendet werden, um alle benotigten Programmbibliotheken herunterzuladen und zu kompilieren und ein Kid3-Paket zu erstellen. Konfiguration Unter KDE werden die Einstellungen in .config/kid3rc gespeichert, der Zustand der Applikation in .local/share/kid3/kid3staterc. Als Qt-Anwendung liegt diese Datei in .config/Kid3/Kid3.conf. Unter Windows wird die Konfiguration in der Registry gespeichert, unter macOS in einer plist-Datei. Die Umgebungsvariable KID3_CONFIG_FILE kann gesetzt werden, um den Pfad der Konfigurationsdatei zu bestimmen. D-BUS-SCHNITTSTELLE D-Bus-Beispiele Unter Linux steht eine D-Bus Schnittstelle zur Verfugung, mit welcher Kid3 uber Skripte gesteuert werden kann. Skripte konnen in jeder Sprache, fur die D-Bus-Anbindungen existieren, geschrieben werden (z.B. in Python) und konnen uber die Benutzerbefehle die Funktionalitat von Kid3 erweitern. Mit folgenden Befehlen kann der Interpret im Tag 2 auf den Wert "One Hit Wonder" gesetzt werden: Shell dbus-send --dest=org.kde.kid3 --print-reply=literal \ /Kid3 org.kde.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 uber eine grafische Benutzeroberflache zu erkunden): qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \ 'One Hit Wonder' Python import dbus kid3 = dbus.SessionBus().get_object( 'org.kde.kid3', '/Kid3') kid3.setFrame(2, 'Artist', 'One Hit Wonder') Perl use Net::DBus; $kid3 = Net::DBus->session->get_service( "org.kde.kid3")->get_object( "/Kid3", "org.kde.Kid3"); $kid3->setFrame(2, "Artist", "One Hit Wonder"); D-Bus API Das D-Bus API ist in org.kde.Kid3.xml spezifiziert. Die Kid3 Schnittstelle hat die folgenden Methoden: Datei oder Ordner offnen boolean openDirectory(string path); .PP path Pfad zu Datei oder Ordner .RE Wenn OK wird true zuruckgegeben. Tags aller nicht selektierten oder modifizierten Dateien entladen unloadAllTags(void); Alle veranderten Dateien speichern boolean save(void); Wenn OK wird true zuruckgegeben. Detaillierte Fehlermeldung fur einige Methoden string getErrorMessage(void); Gibt eine detaillierte Fehlermeldung zuruck. Anderungen an Dateien ruckgangig machen revert(void); Automatischen Import starten boolean batchImport(int32 tagMask, string profileName); .PP tagMask Tag Maske (Bit 0 fur Tag 1, Bit 1 fur Tag 2) .RE .PP profileName Name des zu verwendenden Profils .RE Tags von Datei importieren boolean importFromFile(int32 tagMask, string path, int32 fmtIdx); .PP tagMask Tag Bit (1 fur Tag 1, 2 fur Tag 2) .RE .PP path Pfad zu Datei .RE .PP fmtIdx Format Index .RE Wenn OK wird true zuruckgegeben. Tags aus anderen Tags importieren importFromTags(int32 tagMask, string source, string extraction); .PP tagMask Tag Bit (1 fur Tag 1, 2 fur Tag 2) .RE .PP source Format-Spezifikation, um Ausgangstext aus den vorhandenen Tags zu erhalten .RE .PP extraction Regularer Ausdruck mit Elementnamen und Klammergruppen, um Treffer aus dem Ausgangstext zu extrahieren .RE Tags aus anderen Tags importieren in ausgewahlten Dateien array importFromTagsToSelection(int32 tagMask, string source, string extraction); Tag Bit (1 fur Tag 1, 2 fur Tag 2) .RE .PP source Format-Spezifikation, um Ausgangstext aus den vorhandenen Tags zu erhalten .RE .PP extraction Regularer Ausdruck mit Elementnamen und Klammergruppen, um Treffer aus dem Ausgangstext zu extrahieren .RE .PP returnValues Extrahierter Wert fur "%{__return}(.+)" .RE Cover-Bild herunterladen downloadAlbumArt(string url, boolean allFilesInDir); URL des Bildes oder einer dazugehorigen Webseite .RE .PP allFilesInDir falls true, wird das Bild in allen Dateien des Ordners hinzugefugt .RE Tags in Datei exportieren boolean exportToFile(int32 tagMask, string path, int32 fmtIdx); .RE .PP path Wenn OK wird true zuruckgegeben. Stuckliste erstellen boolean createPlaylist(void); Wenn OK wird true zuruckgegeben. Dateien einer Stuckliste abfragen array getPlaylistItems(string path); Gibt eine Liste mit absoluten Pfaden zu den Stucken der Wiedergabeliste zuruck. Dateien einer Stuckliste setzen boolean setPlaylistItems(string path, array items); Wenn OK wird true zuruckgegeben, false wenn nicht alle Stucke gefunden wurden oder das Speichern fehlgeschlagen ist. Anwendung beenden quit(void); Alles auswahlen selectAll(void); Gesamte Auswahl aufheben deselectAll(void); Gehe zur ersten Datei boolean firstFile(void); Gibt true zuruck, wenn eine Datei existiert. Gehe zur vorangehende Datei boolean previousFile(void); Gibt true zuruck, wenn eine vorangehende Datei existiert. Gehe zur nachstes Datei boolean nextFile(void); Gibt true zuruck, wenn eine nachste Datei existiert. Erste Datei auswahlen boolean selectFirstFile(void); Gibt true zuruck, wenn eine Datei existiert. Vorangehende Datei auswahlen boolean selectPreviousFile(void); Gibt true zuruck, wenn eine vorangehende Datei existiert. Nachste Datei auswahlen boolean selectNextFile(void); Gibt true zuruck, wenn eine nachste Datei existiert. Aktuelle Datei auswahlen boolean selectCurrentFile(void); Gibt true zuruck, wenn eine aktuelle Datei existiert. Aktuellen Ordner auf- oder zuklappen boolean expandDirectory(void); Ein Dateilistenelement ist ein Ordner, wenn getFileName() einen Namen mit '/' als letztem Zeichen zuruckgibt. Gibt true zuruck, wenn das aktuelle Dateilistenelement ein Ordner ist. Dateinamenformat anwenden applyFilenameFormat(void); Tag Format anwenden applyTagFormat(void); Textkodierung anwenden applyTextEncoding(void); Ordnername von Tags setzen boolean setDirNameFromTag(int32 tagMask, string format, boolean create); Wenn OK wird true zuruckgegeben, sonst ist eine Fehlermeldung mit getErrorMessage() abrufbar. Stucke in ausgewahlten Dateien nummerieren numberTracks(int32 tagMask, int32 firstTrackNr); Dateien filtern filter(string expression); ID3v2.3 nach ID3v2.4 konvertieren convertToId3v24(void); ID3v2.4 nach ID3v2.3 konvertieren convertToId3v23(void); Wenn OK wird true zuruckgegeben. Ordnerpfad string getDirectoryName(void); Gibt den absoluten Ordnerpfad zuruck. Name der aktuellen Datei string getFileName(void); Gibt den absoluten Dateinamen zuruck, wenn es ein Ordner ist, endet er mit "/". Setze Dateinamen setFileName(string name); Die Datei wird umbenannt, wenn der Ordner gespeichert wird. Setze Format fur Dateiname aus Tags setFileNameFormat(string format); Generiere den Dateinamen aus den Tags setFileNameFromTag(int32 tagMask); Wert eines Elementes string getFrame(int32 tagMask, string name); Um binare Daten wie ein Bild von einem Element in einer Datei zu speichern, kann der Dateiname dem Elementnamen hinzugefugt 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 zuruck. Setze Wert eines Elementes boolean setFrame(int32 tagMask, string name, string value); Fur Tag 2 (tagMask 2) gilt: Wenn kein Element mit name existiert, so wird ein neues Element hinzugefugt, wenn value leer ist, so wird das Element geloscht. Um binare Daten wie ein Bild einem Element hinzuzufugen, kann der Dateiname dem Elementnamen hinzugefugt 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 zuruckgegeben. Alle Elemente eines Tags array of string getTag(int32 tagMask); Gibt eine Liste mit abwechselnd Elementnamen und -werten zuruck. Technische Informationen uber Datei array of string getInformation(void); Eigenschaften sind Format, Bitrate, Samplerate, Channels, Duration, Channel Mode, VBR, Tag 1, Tag 2. Eigenschaften, welche nicht vorhanden sind, werden ausgelassen. Gibt eine Liste mit abwechselnd Eigenschaftsnamen und -werten zuruck. Setze Tag aus Dateinamen setTagFromFileName(int32 tagMask); Setze Tag aus anderem Tag setTagFromOtherTag(int32 tagMask); Kopiere Tag copyTag(int32 tagMask); Fuge Tag ein pasteTag(int32 tagMask); Entferne Tag removeTag(int32 tagMask); Lese die Konfiguration neu ein reparseConfiguration(void); Automatisierte Konfigurationsanderungen sind durch direktes Modifizieren der Konfigurationsdatei und anschliessendes Einlesen moglich. Spielt die ausgewahlten Dateien ab playAudio(void); QML SCHNITTSTELLE QML Beispiele QML Skripte lassen sich uber das Kontextmenu der Dateiliste aufrufen und in den Einstellungen auf der Seite Benutzerbefehle setzen. Die dortigen Beispielskripte bieten eine Vorlage fur die Programmierung eigener Skripte. Codiert wird in JavaScript, hier das obligate "Hello World": 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 lasst sich das Skript uber den Kontextmenupunkt QML Test der Dateiliste starten, und die Ausgabe ist im Fenster sichtbar. Leider lassen sich mit neueren Qt-Versionen QML-Skripte nicht mehr mit dem Programm qml starten (z.B. qml -apptype widget -I /usr/lib/kid3/plugins/imports /pfad/zu/Example.qml). Aber kid3-cli bietet mit execute eine Alternative an, um QML-Skripte von der Kommandozeile aus zu starten. kid3-cli -c "execute @qml /pfad/zu/Example.qml" Um die Titel im Tag 2 aller Dateien des aktuellen Ordners aufzulisten, konnte 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 Ordner befinden, blockiert ein solches Skript die Benutzeroberflache fur einige Zeit. Fur langere 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 wahrend 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() } } Mit app.firstFile() und app.nextFile() werden alle Dateien des aktuellen Ordners bearbeitet. Falls es nur die ausgewahlten Dateien sein sollen, so sollten stattdessen firstFile() und nextFile() verwendet werden, diese Funktionen sind in der Komponente Kid3Script enthalten. Das folgende Beispiel kopiert bloss die CD-Nummer- und Copyright-Frames der ausgewahlten Datei. import Kid3 1.1 Kid3Script { onRun: { function doWork() { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) { app.setFrame(tagv2, "*.selected", false) app.setFrame(tagv2, "discnumber.selected", true) app.setFrame(tagv2, "copyright.selected", true) app.copyTags(tagv2) } if (!nextFile()) { Qt.quit() } else { setTimeout(doWork, 1) } } firstFile() doWork() } } Weitere Beispiele sind bei Kid3 dabei und bereits bei den Benutzerbefehlen eingetragen. o ReplayGain to SoundCheck (ReplayGain2SoundCheck.qml): Erstellt iTunNORM SoundCheck Informationen aus Replay Gain Werten. o Resize Album Art (ResizeAlbumArt.qml): Skaliert eingebettete Bilder runter auf 500x500 Pixel. o Extract Album Art (ExtractAlbumArt.qml): Speichert alle eingebetteten Bilder als Dateien ab, ohne Duplikate zu erzeugen. o Embed Album Art (EmbedAlbumArt.qml): Bettet Bilder aus Dateien in die Audio-Dateien ein, welche sich im selben Ordner befinden. o Embed Lyrics (EmbedLyrics.qml): Holt unsynchronisierte Liedtexte von einem Webserver. o Text Encoding ID3v1 (ShowTextEncodingV1.qml): Hilft dabei, die Codierung zu finden, indem es die ID3v1 Tags in allen verfugbaren Zeichencodierungen anzeigt. o ID3v1 to ASCII (Tag1ToAscii.qml): Konvertiere Zeichen aus den lateinischen Unicodeblocken im ID3v1 Tag nach ASCII. o English Title Case (TitleCase.qml): Formatiere den Text in den Tags nach den Regeln englischer Gross- und Kleinschreibung in Titeln. o Rewrite Tags (RewriteTags.qml): Schreibt die Tags in allen ausgewahlten Dateien neu. o Export CSV (ExportCsv.qml): Exportiert rekursiv alle Tags aller Dateien in eine CSV-Datei. o Import CSV (ImportCsv.qml): Importiert rekursiv alle Tags aller Dateien aus einer CSV-Datei. o Export JSON (ExportJson.qml): Exportiert rekursiv alle Tags aller Dateien in eine JSON-Datei. o Import JSON (ImportJson.qml): Importiert rekursiv alle Tags aller Dateien aus einer JSON-Datei. o Export Playlist Folder (ExportPlaylist.qml): Kopiert alle Dateien einer Playlist in ein Ordner und benennt sie gemass ihrer Position um. o QML Console (QmlConsole.qml): Einfache Konsole, um die Funktionen von Kid3's QML API auszuprobieren. QML API Das API lasst sich leicht uber die QML Console erkunden, welche als Beispiel fur ein Skript mit Benutzeroberflache verfugbar ist. Kid3Script Kid3Script ist eine normale QML-Komponente im Plugin-Ordner. Man kann ebenso gut andere QML-Komponenten als Basis brauchen. Die Verwendung von Kid3Script sorgt dafur, dass sich eine Skript-Funktion einfach im onRun Signal Handler aufrufen lasst. Daruber hinaus werden noch einige Funktionen geboten: onRun: Signal Handler, welcher beim Start des Skripts aufgerufen wird tagv1, tagv2, tagv2v1: Konstanten fur 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 firstFile(): Erste ausgewahlte Datei nextFile(): Nachste ausgewahlte Datei Skript-Funktionen Da JavaScript und somit auch QML nur einen eingeschrankten Funktionsumfang fur Skripte mitbringt, stellt das script Objekt einige Methoden zur Verfugung, welche den Funktionsumfang erweitern, unter anderem: 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): Losche Datei, true wenn OK script.fileExists(filePath): true wenn Datei existiert script.fileIsWritable(filePath): true wenn Datei schreibbar ist script.getFilePermissions(filePath): Lese Dateiberechtigungen (Mode Bits) script.setFilePermissions(filePath, modeBits): Setze Dateiberechtigungen script.classifyFile(filePath): Klasse der Datei (Ordner "/", Symlink "@", Exe "*", Datei " ") script.renameFile(oldName, newName): Datei umbenennen, true wenn OK script.copyFile(source, dest): Kopiere Datei, true wenn OK script.makeDir(path): Erstelle Ordner, true wenn OK script.removeDir(path): Losche Ordner, true wenn OK script.tempPath(): Ordner temporarer Dateien script.musicPath(): Musik-Ordner script.listDir(path, [nameFilters], [classify]): Liste der Ordnereintrage script.system(program, [args], [msecs]): Systemkommando synchron ausfuhren, [exit code, standard output, standard error] wenn kein Timeout script.systemAsync(program, [args], [callback]): Systemkommando asynchron ausfuhren, callback wird mit [exit code, standard output, standard error] aufgerufen 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, enthalt "width", "height", "depth" und "colorCount", leer wenn Bild ungultig script.scaleImage(img, width, [height]): Liefert skaliertes Bild Applikations-Kontext Uber QML ist ein grosser Teil der Kid3 Funktionalitat verfugbar. Das API ist ahnlich wie bei D-Bus. Fur Details wird auf die dortige Beschreibung verwiesen. app.openDirectory(path): Ordner offnen app.unloadAllTags(): Entlade alle Tags app.saveDirectory(): Speichern app.revertFileModifications(): Zuletzt gespeicherte Fassung app.importTags(tag, path, fmtIdx): Datei importieren app.importFromTags(tag, source, extraction): Aus Tags importieren app.importFromTagsToSelection(tag, source, extraction): Aus Tags der ausgewahlten Dateien importieren app.downloadImage(url, allFilesInDir): Bild herunterladen app.exportTags(tag, path, fmtIdx): Datei exportieren app.writePlaylist(): Stuckliste erstellen app.getPlaylistItems(path): Stucke einer Wiedergabeliste app.setPlaylistItems(path, items): Setze Stucke einer Wiedergabeliste app.selectAllFiles(): Alles auswahlen app.deselectAllFiles(): Gesamte Auswahl aufheben app.firstFile([select], [onlyTaggedFiles]): Erste Datei app.nextFile([select], [onlyTaggedFiles]): Nachste Datei app.previousFile([select], [onlyTaggedFiles]): Vorangehende Datei app.selectCurrentFile([select]): Aktuelle Datei auswahlen app.selectFile(path, [select]): Spezifische Datei auswahlen app.getSelectedFilePaths([onlyTaggedFiles]): Alle ausgewahlten Dateien app.requestExpandFileList(): Alle ausklappen app.applyFilenameFormat(): Dateinamenformat anwenden app.applyTagFormat(): Tag-Format anwenden app.applyTextEncoding(): Textkodierung anwenden app.numberTracks(nr, total, tag, [options]): Stucke 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): Einfugen app.removeTags(tag): Entfernen app.playAudio(): Wiedergabe app.readConfig(): Konfiguration lesen app.applyChangedConfiguration(): Konfiguration anwenden app.dirName: Ordnername 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 app.selectFileName(caption, dir, filter, saveFile): Offnet Dateidialog, um eine Datei auszuwahlen app.selectDirName(caption, dir): Offnet Dateidialog, um Ordner auszuwahlen Fur asynchrone Operationen konnen 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) } Konfigurations-Objekte Die einzelnen Konfigurationen sind uber Methoden von configs verfugbar. Ihre Eigenschafen konnen in der QML Console aufgelistet werden. script.properties(configs.networkConfig()) Eigenschaften konnen 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() AUTOREN Urs Fleisch Software Entwicklung Urs Fleisch Ubersetzung COPYRIGHT Copyright (C) 2022 Urs Fleisch FDL FUssNOTEN 1. gnudb.org http://gnudb.org 2. MusicBrainz http://musicbrainz.org 3. Discogs http://discogs.com 4. Amazon http://www.amazon.com 5. ID3 Spezifikation http://id3.org/id3v2.4.0-frames 6. SYLT Editor http://www.compuphase.com/software_sylteditor.htm 7. www.gnudb.org http://www.gnudb.org 8. Discogs https://www.discogs.com/ 9. freedb.org http://freedb.org 10. ID3 tag version 2.3.0 http://id3.org/id3v2.3.0 11. ID3 tag version 2.4.0 - Main Structure http://id3.org/id3v2.4.0-structure 12. LyricWiki http://www.lyricwiki.org 13. Google http://www.google.com 14. id3lib http://id3lib.sourceforge.net 15. libogg http://xiph.org/ogg/ 16. libvorbis und libvorbisfile http://xiph.org/vorbis/ 17. libFLAC++ und libFLAC http://flac.sourceforge.net 18. TagLib http://taglib.github.io/ 19. mp4v2 https://mp4v2.org/ 20. Chromaprint http://acoustid.org/chromaprint 21. libav http://libav.org/ 22. FDL http://www.gnu.org/licenses/licenses.html#FDL 23. GPL http://www.gnu.org/licenses/licenses.html#GPL 24. Qt https://www.qt.io 25. KDE http://www.kde.org 3.9.2 2022-08-06 KID3(1)