# Handbok Kid3

### Urs Fleisch

Programvaruutveckling

`<ufleisch at users.sourceforge.net>`

### Stefan Asserhäll

Översättare

`<stefan.asserhall@bredband.net>`

3.8.6

Copyright © 2021 Urs Fleisch

FDL

Sammanfattning

Kid3 är ett program för att redigera ID3v1 och ID3v2 taggar i MP3-filer på ett effektivt sätt. Taggar i Ogg/Vorbis-, Opus-, DSF-, FLAC-, MPC-, APE-, MP4/AAC-, MP2-, Speex-, TrueAudio-, WavPack-, WMA-, WAV-, AIFF-filer och spårningsmoduler (MOD, S3M, IT, XM) stöds också. Det är enkelt att tilldela taggar i fler filer till samma värden (t.ex. album, artist, år och genre i alla filer för samma album) och generera taggar från filnamn eller vice versa.

Tabellförteckning

3.1. Översättning av gemensamma ramtyper till diverse format
3.2. Post i betygstabell

# Översikt

`kid3` [ `--help` | `--author` | `--version` | `--license` | `--desktopfile `FIL`` ] [`FIL`...]

`kid3-qt` [`--portable`] [`Qt-väljare`] [`FIL`...]

`kid3-cli` [`--portable`] [`--dbus`] [ `-h` | `--help` ] [`-c KOMMANDO1`] [`-c KOMMANDO2`...] [`FIL`...]

# Väljare

`--portable`

  Lagra inställningen i filen `kid3.ini` i programkatalogen.

`FIL`

  Om ``FIL`` är sökvägen för en katalog, som öppnas. Om en eller flera filsökvägar anges, öppnas deras gemensamma katalog och filerna markeras.

## kid3

`--help`

  Visa hjälp om väljare.

`--author`

  Visa information om upphovsman.

`--version`

  Visa versionsinformation.

`--license`

  Visa licensinformation.

`--desktopfile `FIL``

  Basfilnamnet på skrivbordsposten för programmet.

## kid3-qt

`Qt-väljare`

  Se qt5options(7).

## kid3-cli

`--dbus`

  Aktivera D-Bus-gränssnittet.

`-c`

  Kör ett kommando. Flera `-c` väljare är möjliga, och de körs i en följd. Se avsnittet om kid3-cli för en beskrivning av tillgängliga kommandon.

`-h`|`--help`

  Visa hjälp om väljare och kommandon.

# Kapitel 1. Inledning

Kid3 är ett program för att redigera ID3v1 och ID3v2 taggar i MP3 filer på ett effektivt sätt. Taggarna kan redigeras i de flesta MP3-spelare, men inte på ett särskilt bekvämt och effektiv sätt. Dessutom stöds också taggar i Ogg/Vorbis-, Opus-, DSF-, FLAC-, MPC-, APE-, MP4/AAC-, MP2-, Speex-, TrueAudio-, WavPack-, WMA-, WAV-, AIFF-filer och spårningsmoduler (MOD, S3M, IT, XM).

Kid3 griper eller kodar inte MP3-filer, men har som mål att redigera ID3-taggarna i alla filer i ett album på ett effektivt sätt, dvs. med så få musklick och tangentnedtryckningar som möjligt. Även om de flesta program kan redigera antingen ID3v1 eller ID3v2 taggar, har Kid3 fullständig kontroll över båda versionerna, kan konvertera taggar mellan de två formaten och kan komma åt alla ID3v2-taggar. Taggar i flera filer kan tilldelas samma värde, t.ex. artist, album, år och genre i alla filer i ett album har ofta samma värden och kan tilldelas tillsammans. Om informationen för taggarna ingår i filnamnet kan taggarna automatiskt tilldelas från filnamnet. Det är också möjligt att ändra filnamnet enligt taggarna som hittas i filen med godtyckliga format.

Redigeringsaktiviteten stöds ytterligare genom automatisk ersättning av tecken eller delsträngar, exempelvis för att ta bort ogiltiga tecken från filnamn. Automatisk kontroll av stora och små bokstäver gör det enkelt att använda en konsekvent namngivningsmetod för alla taggar.

Tagginformationen för hela album kan tas från gnudb.org, MusicBrainz, Discogs, Amazon eller andra källor för spårlistor. Importformatet är fritt inställningsbart med reguljära uttryck.

Rapportera gärna eventuella problem eller önskemål till upphovsmannen.

# Kapitel 2. Använda Kid3

## Funktioner i Kid3

- Redigera ID3v1.1 taggar

- Redigera alla ID3v2.3 och ID3v2.4 ramar

- Redigera taggar i flera filer

- Konvertera mellan ID3v1 och ID3v2 taggar

- Redigera MP3-, Ogg/Vorbis-, Opus-, DSF-, FLAC-, MPC-, APE-, MP4/AAC-, MP2-, Speex-, TrueAudio-, WavPack-, WMA-, WAV- och AIFF-taggar

- Generera taggar från filnamn

- Generera taggar från innehållet i taggfält

- Generera filnamn från taggar

- Generera och ändra katalognamn från taggar

- Genererar spellistefil

- Automatisk skiftlägeskonvertering och strängöversättning

- Importera från gnudb.org, MusicBrainz, Discogs, Amazon och andra datakällor

- Exportera som CSV, HTML, spellista, Kover XML och andra format. Exporterade CSV-filer kan importeras igen.

## Exempel på användning

Det här avsnittet beskriver en typisk session med Kid3. Låt oss anta att vi har en katalog som innehåller MP3-filer med spår från albumet "Låt oss tagga" från bandet "Dagslända". Katalogen är namngiven med formatet "artist - album", i vårt fall `Dagslända - Låt oss tagga`. Katalogen innehåller spåren på formatet "spår titel.mp3", som jag tycker är användbart eftersom filnamnen är korta (viktigt vid användning av mobila MP3-spelare med små skärmar) och i rätt ordning när de sorteras alfabetiskt (viktigt vid användning av MP3-hårdvaruspelare som spelar spåren i alfabetisk ordning eller ordningen som de är brända på en cd och den ordningen är alfabetisk när mkisofs används). Bortsett från det, är artist- och albuminformationen redan i katalognamnet och behöver inte upprepas i filnamnet. Men åter till vårt exempel, där listningen av katalog ser ut så här:

`01 Början.mp3`

`02 Vi har bara den här.mp3`

`03 Slutet.mp3`

Filerna har inga taggar än och vi vill generera dem med Kid3. Vi använder Arkiv → Öppna (eller knappen i verktygsraden) och markerar en av filerna i katalogen. Alla filer visas i fillistrutan. Lata som vi är, vill vi använda informationen i katalogen och filnamnen för att skapa taggar. Därför markerar vi alla filerna, och klickar på knappen Till: Tagg 1 i sektionen Arkiv. Det tilldelar värden för titel, artist, album och spår i alla filer. För att tilldela värden för år och genre i alla filer, behåller vi alla filer markerade och skriver in "2002" för Datum och väljer "Pop" i kombinationsrutan Genre. För att bara tilldela de här två värdena markeras deras kryssrutor automatiskt och alla andra kryssrutor lämnas omarkerade. Nu ändrar vi markeringen genom att bara markera den första filen och vi ser att alla taggar innehåller rätt värden. De andra filernas taggar kan också verifieras genom att markera dem en i taget. När vi är nöjda med taggarna, använder vi menyalternativet Arkiv → Spara (eller knappen i verktygsraden). Att välja menyalternativet Arkiv → Skapa spellista skapar filen `Dagslända - Låt oss tagga.m3u` i katalogen.

# Kapitel 3. Kommandoreferens

## Elementen i det grafiska användargränssnittet

Det grafiska gränssnittet i Kid3 är uppdelat i sex sektioner: Till vänster är fil- och kataloglistrutorna, och till höger finns sektionerna Fil, Tagg 1, Tagg 2 och Tagg 3 .

För att navigera mellan de olika sektionerna med tangentbordet, stöds flera snabbtangenter. I taggsektionerna är genvägarna aktiva när inte text redigeras eller när man är i den första kolumnen.

- Alt+Vänsterpil: Gå till föregående sektion (Kommando+[ på macOS®)

- Alt+Högerpil: Gå till nästa sektion (Kommando+] på macOS®)

- Ctrl+Skift+V: Från annan tagg

- Ctrl+C: Kopiera

- Ctrl+V: Klistra in

- Skift+Delete: Ta bort

- F2: Redigera

- Insert: Lägg till

- Delete: Ta bort

### Fillista

Fillistan innehåller namnen på alla filerna i de öppnade katalogerna som motsvarar det valda filnamnsfiltret (oftast `*.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape`). En enda eller flera filer kan markeras. För att inte markera någon fil, klicka på det tomma utrymmet efter listrutans poster. Markeringen bestämmer filerna som påverkas av de tillgängliga åtgärderna genom att använda knapparna som beskrivs nedan.

Förutom Namn kan andra kolumner med detaljerad filinformation visas, Storlek, Typ och Ändringsdatum. Kolumner kan döljas genom att avmarkera deras namn i listrubrikens sammanhangsberoende meny. Kolumnordningen kan ändras genom att dra och släppa dem. Sorteringsordningen kan ändras genom att klicka på kolumnrubriken.

Till vänster om namnen kan en ikon visas: en skiva för att visa att filen har ändrats eller information om vilka taggar som finns (V1, V2, V1V2 eller NO TAG). Om filen inte ännu har lästs in visas ingen ikon.

Kataloger visas med en katalogikon. Om en katalog är öppnad, visas dess filer i ett hierarkiskt träd. Genom att markera filer i underkataloger, kan åtgärder utföras med filer i olika kataloger, vilket är användbart om musiksamlingen är organiserad med en katalog för varje artist som innehåller kataloger för album av artisten.

Genom att klicka med höger musknapp inne i fillistan visas en sammanhangsberoende meny med följande kommandon:

- Expandera alla: Expanderar alla katalogträd (bara det aktuella trädet om skifttangenten hålls nere)

- Dra ihop alla: Drar ihop alla katalogträd

- Byt namn: Byter namn på en fil

- Flytta till papperskorgen: Flyttar en fil till papperskorgen

- Spela: Spelar upp en fil, se Spela. Om den markerade filen är en spellista, spelas filerna i spellistan.

- Redigera: Redigera en spellista, se Redigera spellista.

- Efterföljande alternativ är användarkommandon, som kan definieras under fliken Användaråtgärder i Anpassa Kid3. Uppspelning vid dubbelklick kan också aktiveras där.

### Redigera spellista

En spellista kan skapas tom eller med spåren i en katalog, se Skapa spellista. Spellistefilen skapas på ett sådant sätt att den kan redigeras genom att dubbelklicka eller genom att använda Redigera i fillistans sammanhangsberoende meny. En dialogruta med posterna i spellistan visas. Det är möjligt att öppna flera spellistor samtidigt.

Nya poster kan läggas till genom att dra och släppa från fillistan, en filhanterare eller en annan spellista. Om en post dras från en annan spellista flyttas eller kopieras den beroende på systemet. För att utföra den andra åtgärden, måste Shift-, Ctrl- eller Alt-tangenten användas (för att kopiera eller flytta på macOS®). Det är också möjligt att ordna om poster i spellistan med dra och släpp. Som alternativ kan poster flyttas genom att använda snabbtangenterna Ctrl+Shift+Uppåtpil och Ctrl+Shift+Neråtpil (på macOS® måste Kommando användas istället för Ctrl). En post kan tas bort med Delete-tangenten.

Observera följande: För att dra poster från fillistan, måste de hållas på vänster sida (nära ikonerna), samma gest på höger sida utför multipel markering, en sådan åtgärd är därmed fortfarande enkel att göra.

När en spellista har ändrats, ändringarna kan lagras genom att använda Spara eller kastas genom att använda Avbryt. När fönstret stängs, visas en bekräftelseruta om det finns osparade ändringar.

Spår som markeras i spellistan markeras automatiskt i fillistan, och därigenom blir det möjligt att redigera deras taggar.

För att utföra åtgärder för en spellista måste dess fil vara markerad i fillistan. Redigera i den sammanhangsberoende menyn ger dialogrutan beskriven i det här avsnittet, och Spela startar mediaspelaren med spåren i spellistan. Användaråtgärder kan gälla spellistor, exempelvis Exportera spellistekatalog, som kopierar filerna från en spellista till en katalog.

### Kataloglista

Kataloglista innehåller namnet på katalogerna i den öppnade katalogen, förutom den aktuella (`.`) och den överliggande (`..`) katalogen. Den gör att man snabbt kan byta katalog utan att använda kommandot Öppna... eller dra och släpp.

Kolumnsynlighet, ordning och sortering kan ställas in som beskrivs i avsnittet om fillistan.

### Fil

Visar information om kodningen (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), bithastighet, samplingsfrekvens, kanaler och filens längd.

Redigeringsraden Namn innehåller filens namn (om bara en enda fil är markerad). Om namnet ändras, ändras också filens namn när kommandot Spara används.

Kombinationsrutan Format och redigeringsraden innehåller formatet som ska användas när filnamnet genereras från den första eller andra taggen. Filnamnet kan använda godtyckliga tecken, till och med en katalogdel åtskild med ett snedstreck från filnamnet, men katalogen måste redan finnas för att namnbytet ska lyckas. Följande specialkoder används för att infoga taggvärden i filnamnet:

- %s %{title} Titel (Låt)

- %a %{artist} Artist

- %l %{album} Album

- %c %{comment} Kommentar

- %y %{year} År

- %t %{track} Spår (t.ex. 01)

- %t %{track.n} Spår med fältbredd n (t.ex. 001 för %{track.3})

- %T %{tracknumber} Spår (utan inledande nollor, t.ex. 1)

- %g %{genre} Genre

- %{ignore} Ignoreras när taggar genereras från filnamnet

Formatkoderna är inte begränsade till exemplen som ges ovan. Alla ramnamn kan användas, exempelvis gemensamma ramnamn som `%{albumartist}`, `%{discnumber.1}`, `%{bpm}` eller formatspecifika namn såsom `%{popm}`.

Det är möjligt att lägga till strängar i början eller slutet av en formatkod genom att lägga till den i dubbla citationstecken inne i en formatkods klammerparenteser. Strängarna läggs bara till i resultatsträngen om formatkoden ger ett värde som inte är tomt. Om filnamnet exempelvis både ska innehålla titeln och undertiteln, skulle man kunna använda `%{title} [%{subtitle}]` i formatsträngen. Men det skulle resultera i en sträng som slutar med `[]` om undertitel saknas i en fil. För att utelämna hakparenteserna om det inte finns någon undertitel, måste `%{title}%{" ["subtitle"]"}` användas istället. Det utelämnar hakparenteserna, det inledande mellanslaget och undertiteln om det inte finns någon undertitel.

Listan med tillgängliga format kan redigeras i dialogrutan som visas när knappen Filnamn från tagg klickas under fliken Fil i inställningarna.

En andra kombinationsruta Format (med neråtpil) används för att generera taggarna från filnamnet. Om filnamnsformatet inte motsvarar mönstret, provas ett antal andra ofta använda format.

Vissa ofta använda filnamnsformat är redan tillgängliga i kombinationsrutan, men det är också möjligt att skriva in några specialformat på redigeringsraden.

Listan med tillgängliga format kan redigeras i dialogrutan som visas genom att klicka på knappen Tagg från filnamn under fliken Fil i inställningarna.

Internt byggs ett reguljärt uttryck från formatkoderna. Om avancerade reguljära uttryck krävs, kan formatet för att generera taggarna från filnamnen anges som ett fullständigt reguljärt uttryck med infångning som föregås av formatkoderna, t.ex. för att extrahera spårnumren utan borttagning av inledande nollor, ett format som "`/%{track}(\d+) %{title}(.*)`" kunna användas.

Från: Tagg 1, Tagg 2: Ställer in filnamnet genom att använda det valda formatet och den första taggen eller den andra taggen.

Till: Tagg 1, Tagg 2: Taggarna ställs in från filnamnet. Först används formatet angivet i Format. Om det befintliga filnamnet inte motsvarar formatet, provas följande format:

- `Artist - Album/Spår Låt`

- `Album/Spår - Artist - Låt`

- `/Artist - Album - Spår - Låt`

- `Album/Artist - Spår - Låt`

- `Album/Artist - Låt`

- `Artist/Album/Spår Låt`

Om en enda fil är markerad, fylls kontrollerna i det grafiska användargränssnittet med värden som extraheras från filnamnet. Om flera filer är markerade, ställs filernas taggar direkt in enligt filnamnen.

### Tagg 1

Redigeringsraden för Titel, Artist, Album, Kommentar, Datum, Spårnummer och Genre används för att redigera motsvarande värde i de markerade filernas första tagg. Värdet ändras när filmarkeringen ändras eller innan åtgärder som Spara och Avsluta och när motsvarande kryssruta till vänster om fältnamnet markeras. Det är användbart för att bara ändra vissa värden och lämna andra oförändrade.

Om en enda fil är markerad, är alla kryssrutor markerade och redigeringsraderna innehåller värdena som fanns i filens taggar. Om en tagg inte finns i filen, visas det motsvarande tomma värdet, som är en tom sträng för redigeringsraderna Titel, Artist, Album och Kommentar, 0 för de numeriska redigeringsraderna Datum och Spårnummer och ett tomt utvalt värde för kombinationsrutan Genre. Värdena kan ändras och om motsvarande kryssruta är markerad, tilldelas de i den markerade filen efter markeringen ändras. Filen markeras därefter som ändrad av en disksymbol i fillistrutan men förblir oförändrad tills kommandot Spara används.

Om flera filer är markerad, visas bara värdena som är identiska i alla markerade filer. I alla andra kontroller, visas de tomma värdena visas enligt beskrivningen ovan. Alla kryssrutor är avmarkerade för att undvika oönskade ändringar. Om ett värde ska tilldelas i alla markerade filer, kan det redigeras och kryssrutan kan markeras. Värdena tilldelas för alla markerade filer när markeringen ändras, och kan sparas med kommandot Spara.

Kryssrutorna styr också funktionen hos de flesta kommandon som påverkar taggar, såsom kopiera, klistra in och överföring mellan tagg 1 och tagg 2. För att göra det enklare att använda med flera filer, då alla kryssrutor är avmarkerade, beter sig kommandona likadant när alla kryssrutor är markerade och när alla kryssrutor är avmarkerade.

Från tagg 2: Fälten i tagg 1 tilldelas från motsvarande värden i tagg 2. Om en enda fil är markerad, fylls det grafiska användargränssnittets kontroller med värdena från tagg 2. Om flera filer är markerade, tilldelas filernas taggar direkt.

Kopiera: Kopieringsbufferten fylls i med värden från Tagg 1. Bara värden med markerade kryssrutor används i efterföljande kommandon för att klistra in.

Klistra in: Klistrar in värdena från kopieringsbufferten till de grafiska användargränssnittets kontroller.

Ta bort: Tilldelar alla grafiska användargränssnittets kontroller sina tomma värden, vilket leder till att alla värden tas bort. Den sparade filen innehåller då inte någon tagg 1.

### Tagg 2

Det grafiska användargränssnittet styr funktionen på samma sätt som beskrivs för Tagg 1 sektionen, men strängarnas storlek är inte begränsad.

För Genre i tagg 2 kan du också använda dina egna namn förutom genrer listad i kombinationsrutan, skriv bara in namnet på redigeringsraden.

Tagg 2 kan inte bara innehålla samma värden som tagg 1, utan formatet är uppbyggt på ett flexibelt sätt från flera ramar som i sin tur består av flera fält. Tabellen över tagg 2 visar alla ramar som är tillgängliga i den markerade filen.

Redigera: Öppnar ett fönster som gör att man kan redigera alla fält i den markerade ramen. Om flera filer är markerade, tilldelas de redigerade fälten till alla markerade filer som innehåller en sådan ram.

Lägg till: En fråga om att välja ramtyp dyker upp och en ram av den valda typen kan redigeras och läggas till i filen. Det fungerar också för att lägga till en ram i flera markerade filer.

Ta bort: Tar bort den markerade ramen i de markerade filerna.

Dra album-omslag hit visas om filen inte innehåller något inbäddat omslag. En bild kan läggas till genom att använda dra och släpp från en filbläddrare eller filhanterare och visas här. Bildramar kan också redigeras eller läggas till genom att dubbelklicka på kontrollen.

### Tagg 3

Visa filer kan ha mer än två taggar, och en tredje taggsektion är synlig. Följande filtyper kan ha en sådan Tagg 3 sektion:

- MP3-filer kan ha en ID3v1.1-tagg, en ID3v2 (2.3.0 eller 2.4.0)-tagg och en APE-tagg i den tredje sektionen. Sådan APE-taggar används för information om uppspelningsförstärkning. I sektionen Tagg 3 är informationen synlig, och APE-taggen kan tas bort med knappen Ta bort.

- RIFF INFO segmentet i WAV-filer är tillgängligt i sektionen Tagg 3 eftersom sektionen Tagg 1 är tillägnad ID3v1.1-taggar och hanterar deras begränsningar. Tagg 2 används fortfarande för ID3v2.4.0-taggar, som också stöds för WAV-filer, men RIFF INFO segment verkar stödjas bättre.

- FLAC-filer använder normalt en Vorbis-kommentar för sin metadata. Dock finns det FLAC-filer som har ID3v1- och ID3v2-taggar, som finns i sektionerna Tagg 1 och Tagg 3. ID3-taggar i FLAC-filer stöds bara av TagLib, därför måste insticksprogrammet QggFlacMetadata inaktiveras under fliken Insticksprogram i inställningarna.

De grafiska användargränssnittets kontroller fungerar på samma sätt som i Tagg 2 sektionen.

### Ramlista

Kid3 kan redigera de flesta ramar för alla filtyper som stöds. Åtkomst av vissa ramar görs med gemensamma namn, så att de kan utbytas mellan filer med olika format. Ramar som inte är gemensamma kan kommas åt som formatspecifika ramar.

Tabell 3.1. Översättning av gemensamma ramtyper till diverse format

Gemensam | ID3v2.3 | ID3v2.4 | MP4 | ASF | Vorbis | RIFF
--- | --- | --- | --- | --- | --- | ---
Title | `TIT2` | `TIT2` | `©nam` | `Title` | `TITEL` | `INAM`
Artist | `TPE1` | `TPE1` | `©ART` | `Author` | `ARTIST` | `IART`
Album | `TALB` | `TALB` | `©alb` | `WM/Albumtitel` | `ALBUM` | `IPRD`
Comment | `COMM` | `COMM` | `©cmt` | `Description` | `COMMENT` | `ICMT`
Date | `TYER` | `TDRC` | `©day` | `WM/Year` | `DATUM` | `ICRD`
Track Number | `TRCK` | `TRCK` | `trkn` | `WM/TrackNumber` | `TRACKNUMBER` | `IPRT` eller `ITRK`
Genre | `TCON` | `TCON` | `©gen` | `WM/Genre` | `GENRE` | `IGNR`
Album Artist | `TPE2` | `TPE2` | `aART` | `WM/AlbumArtist` | `ALBUMARTIST` |
Arranger | `IPLS` | `TIPL` | `ARRANGER` | `WM/Producer` | `ARRANGER` | `IENG`
Author | `TOLY` | `TOLY` | `AUTHOR` |  | `AUTHOR` |
BPM | `TBPM` | `TBPM` | `tmpo` | `WM/BeatsPerMinute` | `BPM` | `IBPM`
Catalog Number | `TXXX:CATALOGNUMBER` | `TXXX:CATALOGNUMBER` |  |  | `CATALOGNUMBER` |
Compilation | `TCMP` | `TCMP` | `cpil` |  | `COMPILATION` |
Composer | `TCOM` | `TCOM` | `©wrt` | `WM/Composer` | `COMPOSER` | `IMUS`
Conductor | `TPE3` | `TPE3` | `CONDUCTOR` | `WM/Conductor` | `CONDUCTOR` |
Copyright | `TCOP` | `TCOP` | `cprt` | `Copyright` | `COPYRIGHT` | `ICOP`
Description | `TIT3` | `TIT3` | `desc` | `WM/SubTitleDescription` | `DESCRIPTION` |
Disc Number | `TPOS` | `TPOS` | `disk` | `WM/PartOfSet` | `DISCNUMBER` |
Encoded-by | `TENC` | `TENC` | `©enc` | `WM/EncodedBy` | `ENCODED-BY` | `ITCH`
Encoder Settings | `TSSE` | `TSSE` | `©too` | `WM/EncodingSettings` | `ENCODERSETTINGS` | `ISFT`
Encoding Time |  | `TDEN` |  | `WM/EncodingTime` | `ENCODINGTIME` | `IDIT`
Grouping | `GRP1` | `GRP1` | `©grp` |  | `GROUPING` |
Initial Key | `TKEY` | `TKEY` |  | `WM/InitialKey` | `INITIALKEY` |
ISRC | `TSRC` | `TSRC` | `ISRC` | `WM/ISRC` | `ISRC` | `ISRC`
Language | `TLAN` | `TLAN` | `LANGUAGE` | `WM/Language` | `LANGUAGE` | `ILNG`
Lyricist | `TEXT` | `TEXT` | `LYRICIST` | `WM/Writer` | `LYRICIST` | `IWRI`
Lyrics | `USLT` | `USLT` | `©lyr` | `WM/Lyrics` | `LYRICS` |
Media | `TMED` | `TMED` | `SOURCEMEDIA` |  | `SOURCEMEDIA` | `IMED`
Mood |  | `TMOO` |  | `WM/Mood` | `MOOD` |
Original Album | `TOAL` | `TOAL` | `ORIGINALALBUM` | `WM/OriginalAlbumTitle` | `ORIGINALALBUM` |
Original Artist | `TOPE` | `TOPE` | `ORIGINALARTIST` | `WM/OriginalArtist` | `ORIGINALARTIST` |
Original Date | `TORY` | `TDOR` | `ORIGINALDATE` | `WM/OriginalReleaseYear` | `ORIGINALDATE` |
Performer | `IPLS` | `TMCL` | `PERFORMER` |  | `PERFORMER` | `ISTR`
Picture | `APIC` | `APIC` | `covr` | `WM/Picture` | `METADATA_BLOCK_PICTURE` |
Publisher | `TPUB` | `TPUB` | `PUBLISHER` | `WM/Publisher` | `PUBLISHER` | `IPUB`
Rating | `POPM` | `POPM` | `rate` | `WM/SharedUserRating` | `RATING` | `IRTD`
Release Country | `TXXX:RELEASECOUNTRY` | `TXXX:RELEASECOUNTRY` |  |  | `RELEASECOUNTRY` | `ICNT`
Release Date |  | `TDRL` | `RELEASEDATE` |  | `RELEASEDATE` |
Remixer | `TPE4` | `TPE4` | `REMIXER` | `WM/ModifiedBy` | `REMIXER` | `IEDT`
Sort Album | `TSOA` | `TSOA` | `soal` | `WM/AlbumSortOrder` | `ALBUMSORT` |
Sort Album Artist | `TSO2` | `TSO2` | `soaa` |  | `ALBUMARTISTSORT` |
Sort Artist | `TSOP` | `TSOP` | `soar` | `WM/ArtistSortOrder` | `ARTISTSORT` |
Sort Composer | `TSOC` | `TSOC` | `soco` |  | `COMPOSERSORT` |
Sort Name | `TSOT` | `TSOT` | `sonm` | `WM/TitleSortOrder` | `TITLESORT` |
Subtitle |  | `TSST` | `SUBTITLE` | `WM/SubTitle` | `SUBTITLE` | `PRT1`
Website | `WOAR` | `WOAR` | `WEBSITE` | `WM/AuthorURL` | `WEBSITE` | `IBSU`
Work | `TIT1` | `TIT1` | `©wrk` | `WM/ContentGroupDescription` | `WORK` |
WWW Audio File | `WOAF` | `WOAF` |  | `WM/AudioFileURL` | `WWWAUDIOFILE` |
WWW Audio Source | `WOAS` | `WOAS` |  | `WM/AudioSourceURL` | `WWWAUDIOSOURCE` |

Anmärkningar rörande översättningarna till gemensamma ramnamn:

- Antalet gemensamma ramnamn är begränsat av det faktum att en rimlig avbildning måste vara möjlig för alla filformat som stöds. De flesta taggar stöder ramar med godtyckliga namn, de används om ingen specifik ram är tillgänglig (t.ex. namnen med stora bokstäver i kolumnen MP4). Om ingen sådan möjlighet finns, kanske inte vissa ramtyper stöds för formatet, t.ex. Author och Performer för ASF (WMA).

- Avbildningarna är inte godtyckligt valda, de är inriktade på användning av ramarna i andra program och apparater. Sålunda tyder inte ID3v2-ramen "TPE2 - Band/orkester/ackompanjemang" på en användning som Album Artist, men det används ofta. Den verkliga betydelsen av ID3v2 är å andra sidan orsaken till att ramen används för orkestern vid import (t.ex. från Discogs), även om det kan verka lite konstigt för andra taggformat.

- Avbildningarna är inte alltid bijektiva. Så ID3v2.3 använder en IPLS-ram för både Arranger och Performer. Vid återläsning visas båda ramarna som "Arranger".

- Ramarna Arranger och Performer använder ett särskilt format för sina innehåll: "medverkan 1|medverkande 1|medverkan 2|medverkade 2|...", exempelvis "Körledare|Ernst Dunshirn|Sångsopran|Anna Netrebko". Det skapar IPLS (ID3v2.3)- eller TIPL/TMCL (ID3v2.4)-ramar med en stränglista med det angivna formatet ("|" används som avskiljare mellan strängarna). Värden med det här formatet används också när data importeras från servrar som erbjuder informationen.

- För explicit använda ett specifikt ramnamn som har en konflikt med ett gemensamt ramnamn, inled med ett utropstecken. Om exempelvis en ram av typ "`Media`" i en Vorbis-kommentar skapar en ram vid namn "`SOURCEMEDIA`" på grund av den gemensamma typavbildningen. För att lägga till en ram vid namn "`MEDIA`" och inte "`SOURCEMEDIA`", använd "`!MEDIA`" för att tvinga användning av det explicita namnet.

### Synkroniserad sångtext och händelsetidskoder

För information synkroniserad med ljuddata är en särskild editor tillgänglig. Sådana ramar stöds för ID3v2.3.0- och ID3v2.4.0-taggar. För att lägga till en sådan ram, måste det specifika ramnamnet väljas i listan som dyker upp när knappen Lägg till klickas: respektive Synkroniserad sångtext eller Händelsetidskoder. Editorn är samma för båda typerna, men för händelsetidskoderna är bara en fördefinierad uppsättning händelser tillgängliga, medan för de synkroniserade sångtexterna måste text matas in. I det följande förklaras synkroniserad sångtext.

En fil som har en ID3v2-tagg markeras, och sångtexteditorn startas genom att använda Lägg till och välja Synkroniserad sångtext. För en befintlig synkroniserad sångtextram, markeras den och Redigera klickas. Spelaren öppnas automatiskt med aktuell fil så att filen kan spelas och pausas för att synkronisera sångtexten.

Inställningarna längst upp i SYLT-editorn behöver normalt inte ändras. Om sångtexten innehåller tecken som inte finns i teckenuppsättningen Latin 1, är det lämpligt att ändra textkodningen till UTF16 (eller UTF8 för ID3v2.4.0). För engelsk sångtext och maximal kompatibilitet bör ISO-8859-1 användas.

Sektionen Sångtext har fem knappar längst upp. Lägg till lägger till en ny tidshändelse i tabellen. Tiden tas från spelarens position, och att lägga till en post när spåret spelas lägger därmed till en rad för positionen som spelas just nu. Händelserna i tabellen måste vara kronologiskt ordnade, och därför infogas raden i enlighet med det. Poster med en ogiltig tid hanteras speciellt: om raden som för närvarande är markerad har en ogiltig tid, ersätts dess tidstämpel med aktuell tid istället för att lägga till en ny rad. Om den aktuella tiden inte är ogiltig, används den första raden med en ogiltig tid om det finns någon. Beteendet bör förenkla tillägg av tidsstämplar om sångtexten redan finns i tabellen men tidsstämplarna saknas (vilket är fallet när osynkroniserad sångtext importeras). Observera att den ogiltiga tiden representeras som 00:00.00, dvs. samma som tiden i spårets absoluta början, som inte är ogiltig. För att göra tiden ogiltig, tryck på tangenten Delete, eller använd Rensa i den sammanhangsberoende menyn. Nya rader som infogas genom att använda Infoga rad i den sammanhangsberoende menyn eller som skapas när osynkroniserad sångtext importeras med Från klippbord eller Importera innehåller också ogiltiga tidsstämplar. Rader i tabellen kan tas bort genom att klicka på knappen Ta bort eller använda Ta bort rader från den sammanhangsberoende menyn.

Synkroniserad sångtext kan importeras från en fil genom att använda Importera. Förväntat format är enkel eller förbättrad LRC. Om den markerade filen inte innehåller en hakparentes på första raden, antas den vara en enkel textfil med osynkroniserad sångtext. Raderna från en sådan fil importeras med ogiltiga tidsstämplar. Tidsinformationen kan läggas till genom att använda knappen Lägg till eller med manuell inmatning. Det är också möjligt att importera sångtext genom att kopiera och klistra in genom att använda Från klippbord. Synkroniserad sångtext kan skrivas till LRC-filer genom att använda Exportera. Observera att bara poster med giltiga tidsstämplar exporteras, och att posterna sorteras enligt tid. Poster med ogiltig tid lagras inte heller i SYLT-ramarna, så säkerställ att all tidsinformation innan dialogrutan lämnas.

ID3-specifikationen föreslår en tidsstämpel för varje stavelse. Dock stöder de flesta spelare bara granulariteten rad eller mening. Kid3 följer samma konvention som SYLT-editorn för att stödja båda användningsfallen. Text som matas in i tabellen antas starta en ny rad om den inte börjar med ett mellanslag eller ett bindestreck. Undantag av regeln är möjliga genom att inleda an rad med ett understreck ('_') för att tvinga en fortsättning, eller ett nummertecken ('#') för att tvinga en ny rad. Dessa undantagstecken lagras inte i SYLT-ramen. Inne i SYLT-ramen, börjar nya rader med ett nyradstecken (hexadecimalt 0A) medan fortsättningar inte gör det. När SYLT-ramar läses in, kontrollerar Kid3 om den första posten startar med en nyrad. Om det inte är fallet, antas att alla poster är nyrader och att ingen stavelsefortsättning används.

Medan spåret spelas, färgläggs raden som hör ihop med positionen som för närvarande spelas upp, så att synkroniseringsinformationens riktighet kan verifieras. Om en förskjutning måste läggas till för en eller flera tidsstämplar, kan det åstadkommas med Lägg till förskjutning i den sammanhangsberoende menyn. Negativa värden kan användas för att reducera tiden. Genom att använda Gå till position i den sammanhangsberoende menyn, är det möjligt att ställa in uppspelningsposition till den markerade radens tid.

Rekommenderad procedur för att lägga till ny synkroniserad sångtext

- Hämta den osynkroniserade sångtexten, t.ex. genom att använda Sångtext → Inbädda sångtext i fillistans sammanhangsberoende meny.

- Kopiera den osynkroniserade sångtexten till klippbordet. Gå bara till raden Sångtext i ramtabellen och tryck på Ctrl+C.

- Lägg till en synkroniserad sångtextram (Lägg till..., Synkroniserad sångtext, Ok), klicka på Från klippbord.

- Nu finns alla raderna från den osynkroniserade sångtexten i tabellen, med alla tidsstämplar ogiltiga (0:0:0.00). Tomma poster kan tas bort i förväg.

- Starta uppspelning av sången genom att klicka på uppspelningsknappen ► i uppspelningsverktygsraden längst ner i huvudfönstret.

- När nästa sångtextrad med ogiltig tidsstämpel, klicka på Lägg till eller tryck på Alt+A, så uppdateras tidsstämpeln.

- Fortsätt på detta sätt tills alla tidsstämplar är uppdaterade. Om du missade någonting, stoppa uppspelningen och nollställ tidsstämplarna med tangenten Delete eller genom att markera dem och använda Rensa i den sammanhangsberoende menyn. För att starta om uppspelning från en given tidsstämpel, använd Gå till position från den sammanhangsberoende menyn.

## Menyn Arkiv

Arkiv → Öppna... (Ctrl+O)

  Öppnar en katalog. Alla filer som matchar den markerade filens namnfilter visas i fillistrutan och den valda filen markeras.

Arkiv → Öppna senaste

  Öppnar en nyligen öppnad katalog.

Arkiv → Öppna katalog... (Ctrl+D)

  Öppnar en katalog. Alla filer som matchar den markerade filens namnfilter visas i fillistrutan.

Arkiv → Läs in igen (F5)

  Uppdatera katalog. Ändrade filer måste först sparas. Expanderade underkataloger dras ihop.

Arkiv → Spara (Ctrl+S)

  Sparar alla ändrade filer i katalogen. De ändrade filerna är markerade med en disksymbol i fillistrutan. Om några filnamn har ändrats, byts namnen på de filerna.

Arkiv → Återställ

  Återställer ändringarna av en eller flera filer. Om inga filer är markerade i fillistrutan återställs ändringarna av alla filer, annars återställs bara ändringar av de markerade filerna.

Arkiv → Importera...

  Importdialogrutan kan användas för att direkt importera data från en freedb.org server, från en MusicBrainz server, från Discogs, Amazon eller andra källor för albumspårlistor med textformat.

  Import från en freedb.org server är möjlig genom att använda en dialogruta som dyker upp när Från server: gnudb.org väljes. Artisten och albumnamnet att söka efter kan skrivas in i de två översta fälten, och albumen som matchar frågan visas när Sök klickas och resultaten från www.gnudb.org tas emot. Import av spårdata för ett album görs genom att dubbelklicka på albumet i listan. Vilken freedb.org server att använda för import kan väljas, samt CGI-sökvägen. Importerad data visas i förhandsgranskningstabellen i importdialogrutan. När du är nöjd med de visade spåren kan de importeras genom att avsluta importdialogrutan med Ok.

  En sökning på Discogs server kan utföras genom att använda Discogs. Som i dialogrutan gnudb.org, kan du mata in artist och album och sedan välja bland en lista av utgåvor. En Symbol kan matas in för att använda programmeringsgränssnittet RESTful i Discogs istället för deras webbgränssnitt, vilket ofta ändras, och därigenom tar sönder importtolkningen. Du måste registrera för att få ett konto på Discogs, och sedan generera en symbol på deras webbplats (Settings/Developers, Generate new token). Glöm inte att Spara inställningar efter att ha matat in symbolen för att också kunna använda den i efterföljande frågor. Om Standardtaggar är markerat, importeras standardinformationen, t.ex. artist, album och titel. Om Ytterligare taggar är markerat, importeras mer information om tillgängligt, t.ex. utövare, arrangör eller utgivare. Om Omslag är markerat, laddas omslaget ner om tillgängligt.

  En sökning på Amazon kan utföras genom att använda Amazon Som i dialogrutan gnudborg, kan du mata in artist och album och sedan välja bland en lista av utgåvor. Om Ytterligare taggar är markerat, importeras mer information om tillgängligt, t.ex. utövare, arrangör eller utgivare. Om Omslag är markerat, laddas omslaget ner om tillgängligt.

  Du kan söka på samma väg i MusicBrainz utgivningsdatabas genom att använda Från MusicBrainz Release. Arbetsflödet är samma som beskrivs för Från gnudb.org.

  Import från en MusicBrainz server är möjlig genom att använda dialogrutan som dyker upp när Från MusicBrainz Fingerprint väljes. Servern kan väljas som i freedb importdialogrutan. Nedan visas en tabell som visar importerad spårdata. Den högra kolumnen visar tillståndet för förfrågan till MusicBrainz, vilket börjar med "Väntande" när dialogrutan öppnas. Därefter slås fingeravtrycket upp och om det inte ger något resultat, görs en annan uppslagning med taggarna i filen. Sålunda kan det vara till hjälp för en lyckad MusicBrainz uppslagning att lagra känd information (t.ex. artist och album) i taggarna innan importen. Om ett resultat hittas, slutar sökningen i tillståndet "Igenkänd", annars hittades ingenting eller hittades flera tvetydiga resultat och ett av dem måste väljas av användaren. Ok och Verkställ använder importerad data, medan Avbryt stänger dialogrutan. Stängningen kan ta en stund, eftersom hela MusicBrainz maskineri måste stängas av.

  För att importera textdata, öppnar Från fil/klippbord en underdialogruta där flera förinställda importformat är tillgängliga. De två första, "CSV unquoted" och "CSV quoted" kan användas för att importera data som exporterades med exportdialogrutan. CSV-data kan redigera med ett kalkylark, och måste skrivas ut genom att använda tabulator som avgränsare. Import ska sedan vara möjlig genom att använda "CSV quoted", som är flexiblare än "CSV unquoted". Dock kan dess fält inte innehålla några dubbla citationstecken. Om du bara exporterar från Kid3 och importerar senare, kan "CSV unquoted" användas som ett enkelt format i detta syfte. Observera att det också finns kommandona "Exportera CSV" och "Importera CSV" i fillistans sammanhangsberoende meny, som använder skript för att exportera och importera CSV-data på ett fullständigare, kraftfullare och flexiblare sätt.

  Nästa format, "freedb HTML-text" kan användas för att kopiera information från en HTML-sida på freedb.org. Sök efter ett album på freedb, så visas önskad information i webbläsaren. Kopiera innehållet till klippbordet. Klicka därefter på knappen Från klippbord så visas de importerade spåren i förhandsgranskningstabellen längst upp i dialogrutan. Om du är nöjd med importerad data, avsluta dialogrutan med Ok, vilket infogar data i den aktuella katalogens taggar. Målet (Tagg 1, Tagg 2 eller Tagg 1 och tagg 2) kan väljas med en kombinationsruta. Filerna i den aktuella katalogen ska vara i rätt ordning för att få sina taggar tilldelade. Det är fallet om de är numrerade.

  Nästa förinställda importformat, "freedb HTML-källkod", kan användas om data är tillgängligt som ett HTML-dokument. Import är möjlig genom att använda knappen Från fil, som öppnar en filväljare, eller genom att kopiera innehållet från en editor och sedan importera från klippbordet. Formatet kan vara användbart för nerkopplad import, även om HTML-dokumentet också skulle kunna öppnas i en webbläsare och sedan importeras med det första formatet via klippbordet.

  Fler förinställda format, t.ex. "Spår titel tid" är tillgängliga. Ett tomt eget format kan skapas med Lägg till för att sedan ställas in av användaren. Två rader nedanför kan formatnamnet ställas in med ett reguljärt uttryck för att lagra fälten från den importerade texten. Det första reguljära uttrycket tolkas en gång per dokument för att samla in data för varje album, såsom artist, album, år och genre. Den andra raden försöker matcha från dokumentets början till slut för att hämta spårdata, oftast nummer och titel. De reguljära uttrycken inkluderar alla funktioner som erbjuds av Qt™, vilket är det mesta som Perl erbjuder. Parenteskonstruktioner "(..)" skapar tagningsbuffertar för fälten att importera och föregås av Kid3 specifika koder för att ange vilket fält som ska lagras. Koderna är samma som används för filnamnsformat, förutom koderna listade nedan, är alla ramnamn möjliga:

  - %s %{title} Titel (Låt)

  - %a %{artist} Artist

  - %l %{album} Album

  - %c %{comment} Kommentar

  - %y %{year} År

  - %t %{track} Spår

  - %g %{genre} Genre

  - %d %{duration} Längd

  Exempelvis kan ett reguljärt uttryck för spår (andra raden) för att importera från en `.m3u`-spellista vara "`%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]`". Alla format kan ändras genom att redigera de reguljära uttrycken och namnet, och därefter klicka på Spara inställningar. De lagras i filen `kid3rc` i inställningskatalogen. Filen kan redigeras direkt för att få fler importformat, eller kan tas bort för att återgå till standardformaten. Format kan tas bort genom att använda Ta bort.

  Noggrannhet visar en uppskattning av hur bra den importerade informationen motsvarar givna spår. Den använder spårlängder eller filnamn för att beräkna likhetsnivån i procent. Omslag visar webbadressen för albumets omslagsbild som kommer att laddas ner.

  För att kontrollera om de importerade spåren motsvarar aktuell uppsättning filer, kan de importerade spårens längd jämföras med filernas längd. Alternativet kan aktiveras med kryssrutan Kontrollera maximal tillåten tidsskillnad (s): och den maximalt tolererade tidsskillnaden kan ställas in i sekunder. Om en avvikelse i längd detekteras visas den med en röd bakgrund i förhandsgranskningstabellen.

  Om filerna är ordnade på annat sätt än de importerade spåren, måste deras tilldelade spår ändras. Uppgiften kan förenklas genom att använda alternativet Matcha med och knapparna Längd, Spår och Titel, vilket ordnar om spåren enligt motsvarande fält. För att korrigera tilldelningarna manuellt, kan ett spår dras med vänster musknapp och tangenten Ctrl nedtryckt, och därefter släppas på den nya platsen.

  När importdialogrutan öppnas innehåller den taggarnas verkliga innehåll. Taggtypen (Tagg 1, Tagg 2, Tagg 1 och tagg 2) kan väljas med kombinationsrutan Mål. Knappen till höger om kombinationsrutan kan användas för att återställa tabellen till taggarnas nuvarande innehåll. Kryssrutorna i den första tabellkolumnen kan användas för att markera spåren som är importerade. Det kan vara användbart om en katalog innehåller spåren för båda cd-skivorna av en dubbel-cd, och bara spåren på den andra cd-skivan behöver importeras.

  För att identifiera spår som importeras är det möjligt att visa filnamnen eller hela sökvägarna till filerna genom att använda den sammanhangsberoende menyn i tabellrubrikerna. Värdena i importtabellen kan redigeras. Ångringsknappen till höger om kombinationsrutan Mål kan användas för att återställa taggarnas innehåll, vilket också kan vara användbart efter att ha ändrat Mål.

  Nästan alla dialogrutornas funktioner har knappen Spara inställningar, som kan användas för att beständigt lagra dialogspecifika inställningar och fönsterstorlekar.

  Från taggar leder till en underdialogruta för att tilldela taggramar från innehållet i andra taggramar. Det kan användas för att helt enkelt kopiera information mellan taggar eller extrahera en del från en ram och infoga den i en annan.

  Liksom i dialogrutan Importera från fil/klippbord finns det fritt inställningsbara format för att utföra olika åtgärder. Format för att kopiera albumvärdet till albumartist, tonsättare eller dirigent, och för att extrahear spårnummer från titelfält som innehåller ett nummer är redan fördefinierade. Det finns också ett format för att extrahera en undertitel från ett titelfält.

  Följande exempel förklarar hur man lägger till ett eget format, vilket också tilldelar informationen från undertiteln till kommentarfältet. Skapa ett nytt format genom att använda knappen Lägg till och ange ett nytt namn, t.ex. "Undertitel till kommentar". Mata därefter in "`%{subtitle}`" i Källa and "`%{comment}(.*)`" för Extrahering och klicka på Spara inställningar.

  Uttrycket i Källa kan innehålla formatkoder för godtyckliga taggramar, flera koder kan användas för att kombinera innehållet från olika ramar. För varje spår skapas en text från dess taggar genom att använda formatet i Källa, och det reguljära uttrycket från Extrahering används på texten för att tilldela nya värden till taggarna. Formatkoder används innan lagringsparenteserna för att ange taggramen där den tagna texten ska lagras. Det fungerar på samma sätt som import från fil/klippbord.

  Importera från taggar... är också direkt tillgänglig i menyn Arkiv. Skillnaden mellan dessa två funktioner är att importdialogrutans underdialogruta arbetar med alla filer i aktuell katalog, medan menyfunktionen arbetar med de markerade filerna (vilka kan vara i olika kataloger). Menyfunktionen stöder ytterligare en kod "`%{__return}`" för att returnera det extraherade värdet, vilket kan vara användbart med kommandorads- och QML-gränssnitten.

Arkiv → Importera från gnudb.org...

  Importera från en freedb.org server med gnudb.org albumsökning. Menyalternativet öppnar samma importdialogruta som Importera... men öppnar direkt dialogrutan gnudb.org.

Arkiv → Importera från Discogs...

  Importera från Discogs servern Menyalternativet öppnar samma importdialogruta som Importera.. men öppnar direkt dialogrutan Från Discogs.

Arkiv → Importera från Amazon...

  Importera från Amazon. Menyalternativet öppnar samma importdialogruta som Importera. men öppnar direkt dialogrutan Från Amazon.

Arkiv → Importera från MusicBrainz Release...

  Importera från MusicBrainz Release databas. Menyalternativet öppnar samma importdialogruta som Importera. men öppnar direkt dialogrutan Från MusicBrainz Release.

Arkiv → Importera från MusicBrainz Fingerprint...

  Importera från en MusicBrainz server. Menyalternativet öppnar samma importdialogruta som Importera. men öppnar direkt dialogrutan Från MusicBrainz Fingerprint.

Arkiv → Importera från taggar...

  Som Från taggar, men importen gäller de markerade filerna.

Arkiv → Automatisk import...

  Automatisk import gör att man kan importera information från flera album på diverse webbtjänster. Om kataloger är markerade i fillistan, importeras spårdata för de markerade katalogerna. Om inga kataloger är markerade, importeras alla kataloger i fillistan.

  Taggtypen (Tagg 1, Tagg 2, Tagg 1 och tagg 2) kan väljas med kombinationsrutan Mål.

  Profiler bestämmer vilka servrar som kontaktas för att hämta albuminformation. Vissa profiler är fördefinierade (Alla, MusicBrainz, Discogs, Omslag), och egna profiler kan läggas till genom att använda knappen Lägg till till höger om kombinationsrutan Profil.

  Tabellen nedan visar servrarna som används när albuminformation importeras med användning av den valda profilen. Importprocessen för ett album är klar om all nödvändig information har hittas, så radernas ordning i tabellen är viktig. Den kan ändras genom att använda knapparna Flytta upp och Flytta ner. Redigera kan användas för att ändra en befintlig post. Valet Server erbjuder samma servrar som kan användas av importfunktionerna. Standardtaggar, Ytterligare taggar, Omslag bestämmer informationen som ska hämtas från servern. Till sist är Noggrannhet den minimala noggrannheten som måste uppnås för att acceptera importerad data. Om noggrannheten är otillräcklig, provas nästa server i listan. Samma dialogruta som innehåller serveregenskaperna dyker upp när Lägg till klickas för att lägga till en ny serverpost. Befintliga poster kan tas bort genom att använda Ta bort.

  Klicka på Starta för att starta en automatisk import i bakgrunden med den valda profilen. Detaljinformation om pågående import visas längst upp i dialogrutan. Processen kan avbrytas med knappen Avbryt.

Arkiv → Bläddra bland omslag...

  Dialogrutan Bläddra bland omslag hjälper till att hitta albumomslag. Artist/Album fylls i från taggarna om möjligt. Källa erbjuder ett antal webbplatser med albumomslag. Webbadressen med artist och album som parametrar finns under namnet. Webbadresskodade värden för artist och album kan infogas genom att använda "`%u{artist}`" och "`%u{album}`". Andra värden från taggarna är också möjliga, som beskrivs i Anpassa Kid3, Användaråtgärder. Fler källor kan matas in efter posten "Egen källa" genom att ersätta "Egen källa" med källans namn, trycka på Enter, därefter infoga webbadressen, och slutligen klicka på Spara inställningar. Det resulterande webbläsarkommandot visas längst upp i dialogrutan och kan utföras genom att klicka på Bläddra. Webbläsaren, som kan anpassas i inställningarna, startas med den valda källan. En omslagsbild kan sedan dras från webbläsaren till fönstret i Kid3 och tilldelas till de markerade filernas bildram.

  Eftersom inte alla webbläsare stöder drag och släpp av bilder, och bilderna på webbplatser har ofta en webbadress. I sådana fall tar Kid3 emot webbadressen och inte bilden. Om webbadressen pekar på en bild, laddas den ner. Om webbadressen dock refererar till någon annan webbresurs, måste den översättas till motsvarande bild. Sådana avbildningar definieras i tabellen Webbadressextrahering. Den vänstra kolumnen Matcha innehåller ett reguljärt uttryck som jämförs med webbadressen. Om det matchar, infogas de infångade uttrycken inom parenteser i den högra kolumnens mönster Bildwebbadress (i positionerna markerade med \1 etc.). Det ersatta reguljära uttrycket innehåller bildens webbadress. På detta sätt kan omslag importeras från Amazon, Google bilder, etc. genom att använda drag och släpp. Det är också möjligt att definiera dina egna avbildningar.

Arkiv → Exportera...

  Exportdialogrutan används för att lagra data från taggarna i en fil eller på klippbordet. Editorn längst upp visar en förhandsgranskning av data att exportera. Om exporterad data innehåller tabulatortecken, visas exporten i en tabell. Data genereras från taggarna i aktuell katalog enligt det inställda formatet.

  Formatinställningarna liknar dem i importdialogrutan: Det översta fältet innehåller titeln (t.ex. "CSV unquoted"), följd av huvudet, som genereras i början av filen. Spårdata följer, och den används för varje spår. Till sist kan avslutningen användas för att generera någon avslutande text.

  Formatfälten innehåller inte reguljära uttryck som i importdialogrutan, men bara formatuttryck för utdata med speciella %-uttryck, som ersätts med värden från taggarna. Det hela fungerar som filnamnsformat, och samma koder används samt några ytterligare. Alla taggramnamn kan användas, inte bara koderna som listas nedan.

  - %s %{title} Titel (Låt)

  - %a %{artist} Artist

  - %l %{album} Album

  - %c %{comment} Kommentar

  - %y %{year} År

  - %t %{track} Spår (t.ex. 01)

  - %t %{track.n} Spår med fältbredd n (t.ex. 001 för %{track.3})

  - %T %{tracknumber} Spår (utan inledande nollor, t.ex. 1)

  - %g %{genre} Genre

  - %f %{file} Filnamn

  - %p %{filepath} Sökväg

  - %{modificationdate} Ändringsdatum

  - %{creationdate} Skapad datum

  - %u %{url} Webbadress

  - %{dirname} Katalognamn

  - %d %{duration} Längd i minuter:sekunder

  - %D %{seconds} Längd i sekunder

  - %n %{tracks} Antal spår på albumet

  - %e %{extension} Filändelse

  - %O %{tag1} Format på tagg 1 (ID3v1.1 eller tom om den inte finns)

  - %o %{tag2} Formatet på tagg 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF eller tom om den inte finns)

  - %b %{bitrate} Bithastighet i kbit/s

  - %v %{vbr} VBR eller tom (bara för ID3v2.3 med id3lib)

  - %r %{samplerate} Samplingsfrekvens i Hz

  - %m %{mode} Kanalläge (Stereo eller Joint Stereo)

  - %h %{channels} Antal kanaler (1 eller 2)

  - %k %{codec} Kodare (t.ex. MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)

  Några få format är fördefinierade. "CSV unquoted" skiljer fälten med tabulatorer. Data med det här formatet kan importeras till Kid3 igen genom att använda importformatet med samma namn. "CSV quoted" omger dessutom fälten med dubbla citationstecken, som förenklar import till kalkylprogram. Dock kan fälten inte innehålla några dubbla citationstecken när det här formatet används. "Extended M3U" och "Extended PLS" genererar spellistor med utökade attribut och absoluta sökvägsnamn. "HTML" kan användas för att generera en HTML-sida med hyperlänkar till spår. "Kover XML" skapar en fil som kan importeras i omslagsutskriftsprogrammet Kover. "Tekniska detaljer" tillhandahåller information om bithastighet, samplingsfrekvens, kanaler, etc. Till sist, är "Eget format" lämnat tomt för att definiera ett eget format. Du kan definiera fler egna format genom att lägga till rader i filen `kid3rc` i inställningskatalogen. Övriga format kan anpassas efter dina behov.

  Taggarnas Källa för att generera exportdata (Tagg 1 eller Tagg 2) kan väljas med en kombinationsruta. Genom att klicka på Till fil eller Till klippbord lagrar data i en fil eller på klippbordet. Ok och Avbryt stänger dialogrutan, medan Ok accepterar de nuvarande dialoginställningarna.

Arkiv → Skapa spellista...

  Skapar en spellista. Spellistans format och innehåll kan ställas in med diverse alternativ.

  Spellistans namn kan vara Samma som katalognamnet eller använd ett Format med värden från taggarna, t.ex. "`%{artist} - %{album}`", för att få artist- och albumnamn i spellistans filnamn. Formatkoderna är samma för Exportera. Skapa ny tom spellista skapar en tom spellista med angivet namn. Filändelsen beror på spellisteformatet.

  Den skapade spellistans plats bestäms av valet i kombinationsrutan Skapa i.

  Nuvarande katalog

    Spellistan skapas i aktuell katalog och innehåller bara filer från aktuell katalog. Den aktuella katalogen är katalogen där den aktuella filen finns. Om flera filer är markerade, är den aktuella filen troligtvis den senast markerade filen.

  Varje katalog

    En spellista skapas i varje katalog som innehåller listade filer, och varje spellista innehåller den katalogens filer.

  Toppnivåkatalog

    Bara en spellista skapas i toppnivåkataloger (dvs. fillistans katalog) och den innehåller de listade filerna i toppnivåkatalogen och alla dess underkataloger.

  Spellistans format kan vara M3U, PLS eller XSPF.

  Om Inkludera bara de markerade filerna är markerad, inkluderas bara de markerade filerna i spellistan. Om en katalog är markerad, är alla dess filer markerade. Om den här kryssrutan inte är aktiverad, inkluderas alla ljudfiler i spellistan.

  Sortera enligt filnamn väljer det vanliga fallet där filerna är ordnade enligt filnamn. Med Sortera enligt taggfält, är det möjligt att sortera enligt en formatsträng med värden från taggfält. Exempelvis kan "`%{track.3}`" kan användas för att sortera enligt spårnummer ("`3`" används för att få tre siffror med inledande nollor eftersom strängar används vid sortering). Det är också möjligt att använda flera fält, t.ex. "`%{genre}%{year}`" för att sortera med användning av en sträng sammansatt av genre och år.

  Spellisteposterna har relativa eller absoluta filsökvägar beroende på om Använd relativ sökväg för filer i spellista eller Använd fullständig sökväg för filer i spellista är valt.

  När Skriv bara lista med filer är valt, innehåller spellistan bara sökvägarna till filerna. För att skapa en utökad spellista med ytterligare information, kan en formatsträng anges genom att använda alternativet Skriv information med användning av.

Arkiv → Avsluta (Ctrl+Q)

  Avslutar programmet.

## Menyn Redigera

Redigera → Markera alla (Alt+A)

  Markerar alla filer.

Redigera → Avmarkera (Ctrl+Shift+A)

  Avmarkerar alla filer.

Redigera → Markera alla i katalog

  Markerar alla filer i den aktuella katalogen.

Redigera → Föregående fil (Alt+Uppåtpil)

  Väljer föregående fil

Redigera → Nästa fil (Alt+Neråtpil)

  Väljer nästa fil

Redigera → Sök... (Ctrl+F)

  Sök efter strängar i filnamnen och taggarna. Dialogrutan Sök är en delmängd av dialogrutan Ersätt, som beskrivs nedan.

Redigera → Ersätt... (Ctrl+R)

  Funktionen öppnar en dialogruta för att hitta och ersätta strängar i filnamnen och taggarna. Uppsättningen av ramar där sökningen utförs kan begränsas genom att inaktivera kryssrutan Markera alla och markera alla ramar som ska sökas igenom. Det finns också sökalternativ tillgängliga för att söka bakåt, skiftlägesokänsligt och för att använda reguljära uttryck.

  Beroende på antalet filer kan sökningen ta en stund, och därför kan den avbrytas genom att stänga dialogrutan.

## Menyn Verktyg

Verktyg → Verkställ filnamnsformat

  När Verkställ format automatiskt stängs av för filnamnsformatet i inställningsdialogrutan, kan menyalternativet användas för att verkställa det inställda formatet för de markerade filernas namn. Det kan också användas för att kontrollera om filnamnen motsvarar det inställda formatet genom att verkställa formatet för alla sparade filer och sedan kontrollera om några filer ändrades (och därför markerades med en skivsymbol i fillistrutan).

Verktyg → Verkställ taggformat

  När Verkställ format automatiskt stängs av för taggformatet i inställningsdialogrutan, kan menyalternativet användas för att verkställa det inställda formatet för taggarna i de markerade filerna. Det kan också användas för att kontrollera om taggarna motsvarar det inställda formatet genom att verkställa formatet för alla sparade filer och sedan kontrollera om några filer ändrades (och därför markerades med en skivsymbol i fillistrutan).

Verktyg → Verkställ textkodning

  Tilldelar Textkodning vald med Inställningar → Anpassa Kid3... → Sektionen Tagg → Fliken Tagg 2 till alla markerade filerna. Om UTF8 är valt, används UTF16 för ID3v2.3.0 taggar eftersom UTF8 inte stöds för det formatet.

Verktyg → Byt namn på katalog...

  Dialogrutan erbjuder möjligheten att automatiskt byta namn på katalogen som för närvarande är öppen till taggarna i filerna. Flera format är förinställda att inkludera information om artist, album och år i katalognamnet. Det är också möjligt att ange ett eget format och Redigera listan med tillgängliga format. Följande speciella koder används för att infoga taggvärden i katalognamnet:

  - %s %{title} Titel (Låt)

  - %a %{artist} Artist

  - %l %{album} Album

  - %c %{comment} Kommentar

  - %y %{year} År

  - %t %{track} Spår (t.ex. 01)

  - %t %{track.n} Spår med fältbredd n (t.ex. 001 för %{track.3})

  - %T %{tracknumber} Spår (utan inledande nollor, t.ex. 1)

  - %g %{genre} Genre

  - %{dirname} Katalognamn (t.ex. %{year" "}%{dirname} lägger till året först i det aktuella katalognamnet)

  - %{max-year} Det maximala värdet på året som hittas i katalogen, kan också användas med andra koder än "year"

  - %{max-year} Det minimala värdet på året som hittas för den här katalogen

  - %{unq-year} Det unika värdet på året som hittas för den här katalogen, eller tomt om det inte är unikt

  Om en katalogavskiljare "/" finns i formatet, skapas flera kataloger. Om du vill skapa en ny katalog istället för att byta namn på den aktuella katalogen, välj Skapa katalog i kombinationsrutan Åtgärd istället för Byt namn på katalog. Källa för tagginformationen kan väljas mellan Tagg 1 och tagg 2, Tagg 1 och Tagg 2. En förhandsgranskning av namnbytesåtgärden utförd för den första filen visas i sektionerna Från och Till i dialogrutan.

  Namnet på flera kataloger kan bytas genom att markera dem.

Verktyg → Numrera spår...

  Om spårnumren i taggarna inte är inställda eller har fel värden, kan funktionen automatiskt numrera spåren i stigande ordning. Startnumret kan ställas in i dialogrutan. Om bara delar av spåren ska numreras, måste de markeras.

  När Totalt antal spår är markerat, anges också antal spår i taggarna.

  Det är möjligt att numrera spåren i flera kataloger. Katalogerna måste expanderas och markeras.

  Om Nollställ räknare för varje katalog är markerat, startas spårnumrering om med det angivna numret för varje katalog när flera kataloger är markerade.

  Dialogrutan för att numrera spår kan också användas för att formatera befintliga spårnummer utan att ändra värdena när kryssrutan till vänster om Startnummer är inaktiverad. Det totala antalet spår läggs till om motsvarande kryssruta är aktiverad, vilket kan användas för att ställa in totalantalet för alla markerade spår. Om bara formatering av befintliga nummer önskas, måste den kryssrutan också inaktiveras.

Verktyg → Filtrera...

  Filtret kan användas för att bara visa de filer som motsvarar vissa kriterier. Det är användbart om du vill organisera en stor samling och bara redigera filerna som inte har önskat format. Uttrycket som definierar vilka filer som ska visas använder samma formatkoder som används för filnamnsformat, import och export.

  - %s %{title} Titel (Låt)

  - %a %{artist} Artist

  - %l %{album} Album

  - %c %{comment} Kommentar

  - %y %{year} År

  - %t %{track} Spår (t.ex. 01)

  - %t %{track.n} Spår med fältbredd n (t.ex. 001 för %{track.3})

  - %T %{tracknumber} Spår (utan inledande nollor, t.ex. 1)

  - %g %{genre} Genre

  - %f %{file} Filnamn

  - %p %{filepath} Absolut sökväg till fil

  - %e %{extension} Filändelse

  - %O %{tag1} Format på tagg 1 (ID3v1.1 eller tom om den inte finns)

  - %o %{tag2} Formatet på tagg 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF eller tom om den inte finns)

  - %b %{bitrate} Bithastighet i kbit/s

  - %v %{vbr} VBR eller tom (bara för ID3v2.3 med id3lib)

  - %r %{samplerate} Samplingsfrekvens i Hz

  - %m %{mode} Kanalläge (Stereo eller Joint Stereo)

  - %h %{channels} Antal kanaler (1 eller 2)

  - %k %{codec} Kodare (t.ex. MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)

  - %w %{marked} Markerad, är 1 om filen är markerad (t.ex. på grund av avkortning eller avvikelse från standarden), annars tom

  - %1a %1{artist}, ... Använd prefix 1 för att få värdet på tagg 1

  - %a %{artist}, ... Använd prefix 2 för att få värdet på tagg 2

  Koderna ersätts med filens värden, och resulterade strängarna kan jämföras med följande operationer:

  - s1 equals s2: true om s1 och s2 är lika.

  - s1 contains s2: true om s1 innehåller s2, dvs. s2 är en delsträng av s1.

  - s matches re: true om s matchar det reguljära uttrycket re.

  Sanna uttryck ersätts med 1, falska med 0. Sanna värden representeras med 1, true, on och yes. Falska värden av 0, false, off och no. Booleska operationer är not, and, or (i den rangordningen) och kan grupperas med parenteser.

  Några filterregler är fördefinierade och kan tjäna som exempel för dina egna uttryck:

  Alla

    När fillistan är filtrerad (det visas med "[filtrerad]" i fönsterrubriken) och alla filer ska visas igen, kan filtreringen återställas med det här filtret. Det använder ett tomt uttryck, men ett sant värde skulle få samma effekt.

  Filnamn tagg missanpassning

    `not (%{filepath} contains "%{artist} - %{album}/%{track} %{title}")`

    Testar om filsökvägen motsvarar filnamnsformatet. Regeln anpassas automatiskt om filnamnsformatet ändras.

  Ingen tagg 1

    `%{tag1} equals ""`

    Visa bara filer som inte har tagg 1.

  Ingen tagg 2

    `%{tag2} equals ""`

    Visa bara filer som inte har tagg 2.

  ID3v2.3.0 tagg

    `%{tag2} equals "ID3v2.3.0"`

    Visa bara filer som inte har en ID3v2.3.0 tagg.

  ID3v2.4.0 tagg

    `%{tag2} equals "ID3v2.4.0"`

    Visa bara filer som inte har en ID3v2.4.0 tagg.

  Tagg 1 != Tagg 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})`

    Visar filer med skillnader mellan tagg 1 och tagg 2.

  Tagg 1 == Tagg 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}`

    Visar filer med identiska tagg 1 och tagg 2.

  Ofullständig

    `%{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals ""`

    Visar filer med tomma värden i standardtaggarna (titel, artist, album, datum, spårnummer, genre).

  Ingen bild

    `%{picture} equals ""`

    Visa bara filer som inte har en bild.

  Markerad

    `not (%{marked} equals "")`

    Visar bara filerna som är markerade eftersom de bryter mot ID3-standarden, är avkortade eller har en för stor bild.

  Egna filter

    Välj den här posten för att lägga till ditt eget filter. Om du exempelvis vill ha ett filter för artister som börjar med "The", ersätt "Eget filter" med namnet "The Bands" och tryck på Enter. Infoga därefter följande uttryck i radeditorn:

    `%{artist} matches "The.*"`

    Klicka därefter på Spara inställningar. Klicka på Verkställ för att filtrera filerna. Alla filer som behandlas visas i textvyn med ett "+" för de som motsvarar filtret och ett "-" för de övriga. När det är klart, visas bara filerna med en artist som börjar på "The", och fönsterrubriken är markerad med "[filtrerad]".

Verktyg → Konvertera till ID3v2.3 till ID3v2.4

  Om det finns några ID3v2.3 taggar i de markerade filerna konverteras de till ID3v2.4 taggar. Ramar som inte stöds av TagLib kastas. Bara filer utan osparade ändringar konverteras.

Verktyg → Konvertera till ID3v2.4 till ID3v2.3

  Om det finns några ID3v2.4 taggar i de markerade filerna konverteras de till ID3v2.3 taggar. Bara filer utan osparade ändringar konverteras.

Verktyg → Spela

  Visar en enkel verktygsrad för att spela ljudfiler. Den innehåller knappar för grundfunktionerna (Spela/Paus, Stoppa uppspelning, Föregående spår, Nästa spår, Stäng), skjutreglage för position och volym, samt visning av aktuell position. Om flera filer är markerade, spelas de markerade spåren, annars spelas alla filer.

## Menyn Inställningar

Inställningar → Visa verktygsrad

  Ändrar visning av verktygsraden.

Inställningar → Visa statusrad

  Ändrar visning av statusraden, som visar längre åtgärder som att öppna eller spara en katalog.

Inställningar → Visa bild

  Ändrar visning av förhandsgranskningsbilden av albumomslag.

Inställningar → Dölj taggar automatiskt

  Tomma taggar är automatiskt dolda om alternativet är aktivt. Sektionerna Fil, Tagg 1 och Tagg 2 kan dras ihop och expanderas manuellt genom att klicka på motsvarande knappar -/+.

Inställningar → Anpassa snabbtangenter...

  Visar en dialogruta för att tilldela snabbtangenter för de flesta av programmets funktioner. Det finns till och med funktioner utan motsvarande meny eller knapp tillgängliga, t.ex. nästa fil, föregående fil, markera alla.

Inställningar → Anpassa Kid3...

  Visar inställningsdialogrutan, som består av sidor för taggar, filer, användaråtgärder och nätverksinställningar.

  Taggspecifika alternativ finns på sidan Taggar, som i sig är uppdelad i fyra flikar för Tagg 1, Tagg 2, Tagg 3 och Alla taggar.

  Om Markera avkortade fält är aktiverat, markeras avkortade ID3v1.1 fält med rött. Textfälten i ID3v1.1 taggar kan bara ha 30 tecken, och kommentaren bara 28 tecken. Dessutom är genre- och spårnumren begränsade, så att fälten kan avkortas när de importeras eller överförs från ID3v2. Avkortade fält och filen markeras med rött, och markeringen tas bort efter fältet har redigerats.

  Med Textkodning för ID3v1 är det möjligt att ange teckenuppsättningen som används i ID3v1 taggar. Kodningen förväntas vara ISO-8859-1, så det rekommenderas att behålla detta förvalda värde. Dock finns det en del taggar med annorlunda kodning, så den kan ställas in här och ID3v1 taggarna kan sedan kopieras till ID3v2, som stöder Unicode.

  Kryssrutan Använd formatet spår/totalt antal spår bestämmer om spårnummerfältet i ID3v2 taggar helt enkelt innehåller spårnumret eller dessutom det totala antalet spår i katalogen.

  När Genre som text istället för numerisk sträng är markerad, lagras alla ID3v2 genrer som textsträngar även om det finns en motsvarande kod för ID3v1 genrer. Om alternativet inte är valt, lagras genrer för vilka det finns en ID3v1 kod lagras som den genrekodens nummer (inom parentes för ID3v2.3). Sålunda lagras genren Metal som "Metal" eller "(9)" beroende på alternativet. Genrer som inte finns i listan över ID3v1 genrer lagras alltid som en textsträng. Syftet med alternativet är förbättrad kompatibilitet med enheter som inte tolkar genrekoder korrekt.

  När WAV-filer med id3-stycke med små bokstäver är markerad, används RIFF-stycket användes för att lagra ID3v2-taggar i WAV-filer med namnet "id3" istället för "ID3". Normalt Kid3 och andra program som använder TagLib accepterar både varianter med små och stora bokstäver när WAV-filer läses, men de använder "ID3" när ID3v2 taggar skrivs till WAV-filer. Eftersom det finns andra program som bara accepterar "Id3" (t.ex. JRiver Media Center och foobar2000), kan alternativet användas för att skapa taggar som kan läsas av sådana program.

  När Markera avvikelser från standard är markerad, är ID3v2-fält som avviker från standarden markerade med rött. Detaljinformation om avvikelsen visas i ett verktygstips:

  - Måste vara unik

  - Nyrad otillåten

  - Returtecken otillåtet

  - Ägare måste vara icke-tom

  - Måste vara numerisk

  - Måste vara numerisk eller nummer/totalantal

  - Format är DDMM

  - Format är TTMM

  - Format är ÅÅÅÅ

  - Måste börja med ett år och ett mellanslag

  - Måste vara ISO 8601 datum eller tid

  - Måste vara en tonart, tre tecken, A-G, b, #, m, o

  - Måste ha ISO 639-2 språkkod, tre små bokstäver

  - Måste vara ISRC-kod, 12 tecken

  - Måste vara lista av strängar åtskilda av '|'

  - Har överflödiga blanktecken

  ID3-standarddokumenten är tillgängliga på nätet:

  - ID3-tagg version 2.3.0

  - ID3-tagg version 2.4.0 - Huvudstruktur

  - ID3-tagg version 2.4.0 - Inbyggda ramar

  Textkodning definierar standardkodningen använd för ID3v2 ramar och kan ställas in till ISO-8859-1, UTF16 eller UTF8. UTF8 är inte giltigt för ID3v2.3.0 ramar: om det är inställt, används UTF16 istället. För ID3v2.4.0 är alla tre kodningarna möjliga.

  Version använd för nya taggar bestämmer om nya ID3v2 taggar skapas som version 2.3.0 eller 2.4.0.

  Spårnummersiffror är antal siffror i spårnummerfält. Inledande nollor används för att fylla ut. Exempelvis med värdet 2 anges spårnummer 5 som "05".

  Kombinationsrutan Kommentarfältnamn är bara relevant för Ogg/Vorbis- och FLAC-filer och anger namnet på fältet används för kommentarer. Olika program verkar använda olika namn, "`KOMMENTAR`" används exempelvis för XMMS, medan Amarok använder "`BESKRIVNING`".

  Bildernas format i Ogg/Vorbis-filer bestäms av Bildfältnamn, som kan vara "`METADATA_BLOCK_PICTURE`" eller "`COVERART`". Den första är officiell standard och använder samma format i FLAC-taggar. "`COVERART`" är en tidigare inofficiellt sätt för att inkludera bilder i Vorbis-kommentarer. Det kan användas för kompatibilitet med tidigare spelare.

  Om kryssrutan Markera om större än (byte) är aktiverad, markeras filer som innehåller inbäddade albumomslag som överskrider given storlek i byte. Det kan användas för att hitta filer som innehåller alltför stora bilder som inte accepteras av vissa program och spelare. Standardvärdet är 131072 byte (128 KB).

  Egna genrer kan användas för att definiera genrer som inte är tillgängliga i standardlistan över genren, t.ex. "Gothic Metal". Sådana egna genrer dyker upp i kombinationsrutan Genre för Tagg 2. För ID3v1.1, kan bara fördefinierade genrer.

  Listan över egna genrer kan också användas för att reducera antalet genrer tillgängliga i kombinationsrutan Genre till de som typiskt används. Om din samling innehåller mest musik i genrerna Metal, Gothic Metal, Ancient och Hard Rock, kan du mata in dessa genrerna och markera Visa bara egna genrer. Kombinationsrutan Tagg 2 Genre innehåller då bara de fyra genrerna och du behöver inte söka igenom den fullständiga genrelistan för att hitta dem. I det här exemplet listas bara Metal och Hard Rock i genrelistan för tagg 1, eftersom dessa två egna genrer är standardgenrer. Om Visa bara egna genrer inte är aktiverad, hittar man de egna genrerna i slutet av genrelistan.

  Snabbåtkomstramar definierar vilka ramtyper som alltid visas i sektionen Tagg 2. Sådana ramar kan därefter läggas till utan att först använda knappen Lägg till. Ordningen på snabbåtkomstramarna kan ändras genom att dra och släppa objekt.

  Kombinationsrutan Spårnummerfältnamn är bara relevant för RIFF INFO och ställer in namnet på fältet som används för spårnummer. Spårnummer är inte specificerade i den ursprungliga RIFF-standarden. Det finns program som använder "`ITRK`" och andra som använder "`IPRT`".

  Taggformat innehåller alternativ för taggarnas format. När Verkställ format automatiskt är markerat, används formatinställningen automatiskt när text ändras i redigeringsrader. Validering aktiverar validering i rutorna med värden för spår/totalt och datum/tid. Skiftlägeskonvertering kan ställas in till Ingen ändringar, Bara små bokstäver, Bara stora bokstäver, Första bokstaven stor bokstav eller Alla första bokstäver stora. För att använda konvertering mellan små och stora bokstäver som känner till landsinställningar, kan en landsinställning väljas i kombinationsrutan nedanför. Strängersättningslistan kan ställas in till godtyckliga strängavbildningar. För att lägga till en ny avbildning, markera cellen Från på en rad och infoga texten att ersätta, och gå sedan till kolumnen Till och skriv in ersättningstexten. När texten att ersätta börjar och slutar med ett snedstreck ("/"), används ett reguljärt uttryck. För reguljära uttryck som innehåller infångningsgrupper, ersätts förekomster av \1, \", ... i Till ersätts av strängen som representeras av motsvarande infångningsgrupp. För att ta bort en avbildning, ändra cellen Från till ett tomt värde (t.ex. genom att först skriva in ett mellanslag och sedan ett baksteg). Att infoga och ta bort rader är också möjligt med en sammanhangsberoende meny som dyker upp när höger musknapp klickas. Ersättning är bara aktiv om kryssrutan Strängersättning är markerad.

  Tabellen Betyg innehåller avbildningen av stjärnbetyg till de verkliga värdena lagrade i taggen. Ramarna med betygsinformation listas på raden Betyg i ramlistan. För dessa ramar, kan betyget anges genom att ge ett antal stjärnor av fem stjärnor. Olika taggformat och olika program använder olika värden för att avbilda stjärnbetygen till värdet lagrat i taggen. För att visa rätt antal stjärnor slår Kid3 upp en avbildning i den här tabellen. Nyckeln för att slå upp avbildningen är ramnamnet, till exempel "RATING" som används för Vorbis-kommentarer eller "IRTD" för RIFF INFO. För ID3v2-taggar, används en kombinerad nyckel som består av ram-id "POPM" i ramen Popularimeter och dess "Email" fält, separerade av en punkt. Därför finns olika nycklar för ID3v2, t.ex. "POPM.Windows Media Player 9 Series" för avbildningen som används av Windows mediaspelare och utforskare, och helt enkelt "POPM" för POPM-ramar med ett tomt "Email" fält. Eftersom flera poster kan finnas för "POPM" är deras ordning viktig. När Kid3 lägger till en ny Popularimeter-ram, används den första "POPM" posten för att bestämma värdet som ska skrivas in i "Email" fältet. Det värdet anger sedan avbildningen som används för stjärnbetyg. Den första posten används också om ingen nyckel hittades, och är därför den förvalda posten.

  Förutom kolumnen Namn som innehåller nycklarna, har tabellen kolumnerna 1 till 5 för värden som ska lagras när motsvarande antal stjärnor ges. Åt andra hållet, avgör värdena antal stjärnor som visas för värdet som är lagrat i ramen. Raden i tabellen nedan innehåller exempelvis värdena 1, 64, 128, 196, 255. Trösklarna för antal stjärnor som visas ligger mellan dessa värden och är kompatibla med det som Windows® utforskare använder.

  Tabell 3.2. Post i betygstabell

  Namn | 1 | 2 | 3 | 4 | 5
  --- | --- | --- | --- | --- | ---
  POPM | 1 | 64 | 128 | 196 | 255
  Intervall | 1-31 | 32-95 | 96-159 | 160-223 | 224-255

  På sidan Filer akn kryssrutan Läs in senast öppnade filer så att Kid3 öppnar och markerar den senast markerade filen när det startas nästa gång. Bevara filtidsstämpel kan markeras för att bevara filens ändringstidsstämpel. Filnamn för omslag ställer in namnet som föreslås när en inbäddad bild exporteras till en fil. Med Textkodning (export, spellista) kan kodningen som används när filer skrivs ut ställas in. Förvalet System kan ändras om spellistor exempelvis behöver användas på en annan enhet.

  Om Markera ändringar är aktiverad, markeras ändrade fält med en ljusgrå bakgrund.

  Sektionen Fillista bestämer vilka filer som visas i fillistan. Ett Filter kan användas för att begränsa objekten i listan till filer med filändelser som stöds. För att explicit ange vilka kataloger som ska visas i fillistan eller undanta vissa kataloger, kan alternativen Inkludera kataloger och Undanta kataloger användas. De kan innehålla uttryck med jokertecken, exempelvis `*/Musik/*` för att bara inkludera katalogen `Musik`, eller `*/iTunes/*` för att undanta katalogen iTunes från fillistan. Om flera sådana uttryck behöver användas, kan de åtskiljas av mellanslag eller semikolon.

  Knapparna Filnamn från tagg och Tagg från filnamn i sektionen Format visar dialogrutor för att redigera formaten som är tillgängliga i kombinationsrutorna Format (med piltangenterna uppåt och neråt) som finns i sektionen Fil i huvudfönstret.

  Filnamnsformat innehåller alternativ för filnamnens format. Samma alternativ som för Taggformat är tillgängliga.

  Sidan Användaråtgärder innehåller en tabell med kommandon som är tillgängliga i fillistans sammanhangsberoende meny. För kritiska åtgärder, som att ta bort filer, är det lämpligt att markera Bekräfta för att visa en bekräftelseruta innan kommandot utförs. Utmatning kan markeras för att se utmatning skriven av terminalkommandon (standardutmatning och standardfelutmatning). Namn är namnet som visas i den sammanhangsberoende menyn. Kommando är kommandoraden som ska utföras. Argument kan skickas med genom att använda följande koder:

  - %F %{files} Filsökvägar (en lista om flera filer är markerade)

  - %f %{file} Filsökväg till en enstaka fil

  - %uF %{urls} Webbadresser (en lista om flera filer är markerade)

  - %uf %{url} Webbadress till en enstaka fil

  - %d %{directory} Katalog

  - %s %{title} Titel (Låt)

  - %a %{artist} Artist

  - %l %{album} Album

  - %c %{comment} Kommentar

  - %y %{year} År

  - %t %{track} Spår (t.ex. 01)

  - %t %{track.n} Spår med fältbredd n (t.ex. 001 för %{track.3})

  - %T %{tracknumber} Spår (utan inledande nollor, t.ex. 1)

  - %g %{genre} Genre

  - %b %{browser} Kommando för att starta webbläsaren

  - %q %{qmlpath} Baskatalog för tillhandahållna QML-filer

  Specialkoden @separator kan anges som ett kommando för att infoga en avskiljare i den sammanhangsberoende menyn med användaråtgärder. Menyalternativ kan läggas till i en undermeny genom att omge dem med kommandona @beginmenu och @endmenu. Namnet på undermenyn bestäms av kolumnen Namn för kommandot @beginmenu.

  För att köra QML-skript används @qml som kommandonamn. Sökvägen till QML-skriptet skickas med som en parameter. Skripten som tillhandahålls finns i katalogen `%{qmlpath}/script/` (på Linux® oftast `/usr/share/kid3/qml/script/`, på Windows `qml/script/` inne i installationskatalogen, och på macOS® i app-katalogen `kid3.app/Contents/Resources/qml/script/`). Egna skript kan lagras i vilken katalog som helst. Om QML-koden använder grafiska användargränssnittskommandon, måste @qmlview användas istället för @qml. Ytterligare parametrar kan skickas med till QML-skriptet, där de är tillgängliga via funktionen `getArguments()`. En översikt av några funktioner och egenskaper som är tillgängliga i QML finns i appendixet QML-gränssnitt.

  Kommandot som infogas med %{browser} kan definieras på redigeringsraden Webbläsare ovanför. Kommandon som börjar med %{browser} kan användas för att hämta information om ljudfilerna från webben, exempelvis frågar

      %{browser} http://lyricwiki.org/%u{artist}:%u{title}

  efter sångtexten för nuvarande sång hos LyricWiki. Bokstaven "u" i %u{artist} och %u{title} används för att webbadresskoda artist- %{artist} och sång- %{title} information. Det är enkelt att definiera dina egna frågor på samma sätt, t.ex. en bildsökning med Google:

      %{browser} http://images.google.com/images?q=%u{artist}%20%u{album}

  För att lägga till albumomslag till tagg 2 kan du söka efter bilder med Google eller Amazon genom att använda kommandona som beskrivs ovan. Bilden kan läggas till i taggen med drag och släpp. Du kan också lägga till en bild med Lägg till och därefter markera bildramen och importera en bildfil eller klistra in från klippbordet. Bildramar stöds för ID3v2-, MP4-, FLAC-, Ogg- och ASF-taggar

  En sammanhangsberoende meny kan användas för att lägga till eller ta bort poster i tabellen.

  Sidan Nätverk innehåller bara ett fält för att infoga proxy-adressen och valfritt porten, åtskilda av ett kolon. Proxy används vid import från en Internet-server när kryssrutan är markerad.

  På sidan Insticksprogram, kan tillgängliga insticksprogram aktiveras eller inaktiveras. Insticksprogrammen är uppdelade i två sektioner. Listan Metadatainsticksprogram och prioritet innehåller insticksprogram som stöder ljudfilformat, Insticksprogrammens ordning är viktig eftersom de provas uppifrån och ner. Några format stöds av flera insticksprogram, så filer öppnas med det första insticksprogrammet som stöder dem. Tablibmetadata stöder flest format. Om det är längst upp i listan, öppnar det de flesta filerna. Om du vill använda ett annat insticksprogram för ett filformat, säkerställ att det listas innan insticksprogrammet Taglibmetadata. Detaljinformation om metadatainsticksprogram och varför du kan vilja använda dem istället för Taglib listas nedan.

  - Id3libMetadata: Använder id3lib för ID3v1.1 och ID3v2.3 taggar i MP3-, MP2-, AAC-filer. Stöder några få fler ramtyper än TagLib.

  - OggFlacMetadata: Använder libogg, libvorbis, libvorbisfile för Ogg-filer, och ytterligare libFLAC++ och libFLAC för FLAC-filer. De är de officiella biblioteken för dessa format.

  - TaglibMetadata: Använder TagLib som stöder många ljudfilformat. Det kan användas för alla ljudfiler som stöds av Kid3.

  - Mp4v2Metadata: mp4v2 användes ursprungligen av Kid3 för att stödja M4A-filer. Kan användas i händelse av problem med M4A-stödet i TagLib.

  Sektionen Tillgängliga insticksprogram listar de återstående insticksprogram. Deras ordning är inte viktig, men de kan aktiveras och inaktiveras genom att använda kryssrutorna.

  - AmazonImport: Används för funktionen Import från Amazon....

  - DiscogsImport: Används för funktionen Import från Discogs....

  - FreedbImport: Används för funktionen Import från gnudb.org....

  - MusicBrainzImport: Används för funktionen Import från MusicBrainz Release....

  - AcoustidImport: Används för funktionen Import från MusicBrainz Fingerprint..., som beror på biblioteken Chromaprint och libav.

  Insticksprogram som är inaktiverade laddas inte. Det kan användas för att optimera resursanvändning och starttid. Inställningarna på sidan får bara effekt efter att Kid3 har startats om.

## Menyn Hjälp

Hjälp → Handbok Kid3

  Visar den här handboken.

Hjälp → Om Kid3

  Visar en kort information om Kid3.

# Kapitel 4. kid3-cli

## Kommandon

kid3-cli erbjuder ett kommandoradsgränssnitt för Kid3. Om en katalogsökväg används, öppnas den katalogen. Om en eller flera filsökvägar anges, öppnas den gemensamma katalogen och filerna markeras. Efterföljande kommandon arbetar därefter med dessa filer. Kommandon anges med väljaren `-c`. Om flera kommandon anges, utförs de i angiven ordning. Om filer ändras av kommandon, sparas de på slutet. Om inga kommandoväljare anges, startar kid3-cli i interaktivt läge. Kommandon kan matas in och utförs med den aktuella markeringen. Följande avsnitt listar alla tillgängliga kommandon.

### Hjälp

`help` [`KOMMANDONAMN`]

Visar hjälp om parametrarna för `KOMMANDONAMN` eller om alla kommandon om inget kommandonamn anges.

### Tidsgräns

`timeout` [ default | off | `TID` ]

Skriv över den normala kommandotidsgränsen. Kommandoradens kommandon avbryts efter en kommandospecifik tidsgräns har överskridits. Tidsgränsen är 10 sekunder för ls och albumart, 60 sekunder för autoimport och filter, och 3 sekunder för alla andra kommandon. Om ett mycket stort antal filer måste behandlas, kan tidsgränserna vara för restriktiva, och sålunda kan tidsgränsen för alla kommandon ställas in till `TID` ms, stängas av helt och hållet eller lämnas som normala värden.

### Avsluta programmet

`exit` [force]

Avsluta programmet. Om det finns ändrade osparade filer, krävs parametern `force`.

### Byt katalog

`cd` [`KATALOGER`]

Om `FOLDER` inte anges, byt till hemkatalogen. Om en katalog anges, byt till den katalogen. Om en eller flera filsökvägar anges, byt till deras gemensamma katalog och markera filerna.

### Skriv ut den aktuella katalogens filnamn

`pwd`

Skriver ut den aktuella arbetskatalogens filnamn.

### Kataloglista

`ls`

Lista innehållet i den aktuella katalogen. Det motsvarar fillistan i Kid3s grafiska användargränssnitt. Fem tecken innan filnamnen visar filernas tillstånd.

- `>` Filen är markerad.

- `*` Filen är ändrad.

- `1` Filen har en tagg 1, annars visas '`-`'.

- `2` Filen har en tagg 2, annars visas '`-`'.

- `3` Filen har en tagg 3, annars visas '`-`'.

    kid3-cli> ls
      1-- 01 Början.mp3

    > 12- 02 Vi har bara den här.mp3
     *1-- 03 Slutet.mp3

I det här exemplet har alla filer en tagg 1, den andra filen har också en tagg 2 och den är markerad. Den tredje filen är ändrad.

### Spara de ändrade filerna

`save`

### Markera fil

`select` [ all | none | first | previous | next | `FIL`... ]

Skriv in `select all` för att markera alla filer,skriv in `select none` för att avmarkera alla filer. För att gå igenom filerna i aktuell katalog, börja med `select first`, gå sedan framåt med `select next` eller bakåt med `select previous`. Specifika filer kan läggas till i aktuell markering genom att ange deras filnamn. Jokertecken är möjliga, så `select *.mp3` markerar alla MP3-filer i den aktuella katalogen.

    kid3-cli> select first
    kid3-cli> ls

    > 1-- 01 Början.mp3
      12- 02 Vi har bara den här.mp3
     *1-- 03 Slutet.mp3
    kid3-cli> select next
    kid3-cli> ls
      1-- 01 Början.mp3

    > 12- 02 Vi har bara den här.mp3
     *1-- 03 Slutet.mp3
    kid3-cli> select *.mp3
    kid3-cli> ls

    > 1-- 01 Början.mp3

    > 12- 02 Vi har bara den här.mp3

    >*1-- 03 Slutet.mp3

### Välj tagg

`tag` [`TAGGNUMMER`]

Många kommandon har en valfri parameter `TAGGNUMMER`, som anger om kommandot gäller tagg 1, 2 eller 3. Om parametern utelämnas, används förvalda taggnummer, som kan ställas in med kommandot. Vid start är det inställt till `12`, vilket betyder att information läses från tagg 2 om tillgänglig, annars från tagg 1, och ändringar görs av tagg 2. ``TAGGNUMMER`` kan ställas in till `1`, `2` eller `3` för att bara gälla motsvarande tagg. Om parametern utelämnas visas den nuvarande inställningen.

### Hämta taggram

`get` [ all | `RAMNAMN` ] [`TAGGNUMMER`]

Kommandot kan användas för att läsa värdet på en specifik taggram eller få information om alla taggramar (om argumentet utelämnas eller `all` används). Ändrade ramar är markerade med '`*`'.

    kid3-cli> get
    File: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
      Name: 01 Början.mp3
    Tag 1: ID3v1.1
      Title         Intro
      Artist        Dagslända
      Album         Låt oss tagga
      Date          2013
      Track Number  1
      Genre         Pop
    kid3-cli> get title
    Intro

För att spara innehållet i en bildram till en fil, använd

    get picture:'/sökväg/till/katalog.jpg'

För att spara synkroniserad sångtext till en LRC-fil, använd

    get SYLT:'/sökväg/till/sångtext.lrc'

Det är möjilgt att bara hämta ett specifikt fält från en ram, exempelvis `get POPM.Email` för Email fältet i en Popularimeter ram. Om en fil har flera ramar av samma sort, kan de olika ramarna indexeras med hakparenteser, exempelvis kan den första utföraren från en Vorbis-kommentar hämtas genom att använda `get performer[0]`, den andra genom att använda `get performer[1]`.

Pseudofältnamnet "selected" kan användas för att kontrollera om en ram är markerad, exempelvis returnerar `get artist.selected` `1` om artistramen är markerad, annars `0`.

### Ange taggram

`set` {`RAMNAMN`} {`RAMVÄRDE`} [`TAGGNUMMER`]

Kommandot tilldelar en specifik taggrams värde. Om `FRAMEVALUE` är tomt, tas ramen bort.

    kid3-cli> set remixer 'O.H. Wonder'

För att ställa in innehållet i en bildram från en fil, använd

    set picture:'/sökväg/till/katalog.jpg' 'Bildbeskrivning'

För att tilldela synkroniserad sångtext från en LRC-fil, använd

    set SYLT:'/sökväg/till/sångtext.lrc' 'Sångtextbeskrivning'

För att tilldela ett specifikt fält i en ram, kan fältnamnet anges efter en punkt. För att tilldela fältet Counter i ramen Popularimeter använd t.ex.

    set POPM.Counter 5

Ett program för fältspecifikationer är fallet då du vill ha en egen TXXX-ram med beskrivning av "rating" istället för den vanliga Popularimeter ramen (som verkar användas av vissa insticksprogram). Du kan skapa en sådan TXXX-betygsram med kid3-cli. Dock måste du först skapa en TXXX-ram med beskrivningen "rating" och därefter tilldela ramens värde till betygsvärdet.

    kid3-cli> set rating ""
    kid3-cli> set TXXX.Description rating
    kid3-cli> set rating 5

Det första kommandot tar bort en befintlig POPM-ram, eftersom om en sådan ram finns, skulle `set rating 5` använda POPM-ramen och inte TXXX-ramen. En annan möjlighet skulle vara att använda `set TXXX.Text 5`, men det skulle bara fungera om det inte fanns någon annan TXXX-ram.

För att tilldela flera ramar av samma sort, kan ett index anges inom hakparenteser. För att tilldela flera utövare i en Vorbis-kommentar använd t.ex.

    kid3-cli> set performer[0] 'Liza don Getti (sopran)'
    kid3-cli> set performer[1] 'Joe Barr (piano)'

För att markera vissa ramar innan kopierings-, inklistrings- eller borttagningsåtgärder, kan pseudofältnamnet "selected" användas. Normalt är alla ramar markerade. För att avmarkera alla, använd `set '*.selected' 0`, och därefter exempelvis `set artist.selected 1` för att markera artistramen.

### Återställ

`revert`

Återställ alla ändringar i de markerade filerna (eller alla filer om inga filer är markerade).

### Importera från fil

`import` {`FIL`} {`FORMATNAMN`} [`TAGGNUMMER`]

Taggar importeras från filen `FIL` på formatet vid namn `FORMATNAMN` (tex. `"CSV unquoted"`. Se Import).

Om `tags` anges för `FIL`, importeras taggar från andra taggar. Istället för `FORMATNAMN` krävs `KÄLLA` och `EXTRAHERING`, se Import från taggar. För att utföra import från taggar med de markerade filerna, använda `tagsel` istället för `tags`. Funktionen stöder också utmatning av det extraherade värdet genom att använda `EXTRAHERING` med värdet `%{__return}(.+)`.

### Automatisk import

`autoimport` [`PROFILNAMN`] [`TAGGNUMMER`]

Import i bakgrunden genom att använda profilen `PROFILNAMN` (se Automatisk import, `"All"` används om utelämnat).

### Ladda ner albumomslag

`albumart` {`WEBBADRESS`} [all]

Tilldela albumomslaget genom att ladda ner en bild från `WEBBADRESS`. Reglerna definierade i dialogrutan Bläddra bland omslag används för att översätta allmänna webbadresser (t.ex. från Amazon) till en bildwebbadress. För att tilldela albumomslaget från en lokal bildfil, använd kommandot set.

    kid3-cli> albumart
    http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC

### Exportera till fil

`export` {`FIL`} {`FORMATNAMN`} [`TAGGNUMMER`]

Taggar exporteras till filen `FIL` på formatet vid namn `FORMATNAMN` (t.ex. `"CSV unquoted"`. Se Export.

### Skapa spellista

`playlist`

Skapa en spellista med formatet valt i inställningarna, se Skapa spellista.

### Verkställ filnamnsformat

`filenameformat`

Verkställ filnamnsformatet valt i inställningarna, se Verkställ filnamnsformat.

### Verkställ taggformat

`tagformat`

Verkställ taggnamnsformatet valt i inställningarna, se Verkställ taggformat.

### Verkställ textkodning

`textencoding`

Verkställ textkodningen vald i inställningarna, se Verkställ textkodning.

### Byt namn på katalog

`renamedir` [`FORMAT`] [ create | rename | dryrun ] [`TAGGNUMMER`]

Byt namn på eller skapa kataloger från värdena i taggarna enligt ett givet `FORMAT` (t.ex. `%{artist} - %{album}`, se Byt namn på katalog). Om inget format anges, används formatet definierat i Byt namn på katalog. Standardläget är `rename`. För att skapa kataloger måste `create` explicit användas. Namnbytesåtgärderna utförs omedelbart, för att bara se vad som skulle göras, använd väljaren `dryrun`.

### Numrera spår

`numbertracks` [`SPÅRNUMMER`] [`TAGGNUMMER`]

Numrera de markerade spåren med början på `SPÅRNUMMER` (`1` om utelämnat).

### Filtrera

`filter` [ `FILTERNAMN` | `FILTERFORMAT` ]

Filtrera filerna så att bara filerna som matchar `FILTERFORMAT` är synliga. Namnet på ett fördefinierat filteruttryck (t.ex. `"Filnamn tagg missanpassning"`) kan användas istället för att filteruttryck, se Filter.

    kid3-cli> filter '%{title} contains "tro"'
    Started
      /home/urs/Dagslända - Låt oss tagga
    + 01 Början.mp3
    - 02 Vi har bara den här.mp3
    + 03 Slutet.mp3
    Finished
    kid3-cli> ls
      1-- 01 Början.mp3
      1-- 03 Slutet.mp3
    kid3-cli> filter All
    Started
      /home/urs/Dagslända - Låt oss tagga
    + 01 Början.mp3
    + 02 Vi har bara den här.mp3
    + 03 Slutet.mp3
    Finished
    kid3-cli> ls
      1-- 01 Början.mp3
      12- 02 Vi har bara den här.mp3
      1-- 03 Slutet.mp3

### Konvertera ID3v2.3 till ID3v2.4

`to24`

### Konvertera ID3v2.4 till ID3v2.3

`to23`

### Filnamn från tagg

`fromtag` [`FORMAT`] [`TAGGNUMMER`]

Ställ in filnamn för markerade filer från värden i taggarna, exempelvis `fromtag '%{track} - %{title}' 1`. Om inget format anges, används formatet som ställts in i det grafiska användargränssnittet.

### Tagg från filnamn

`totag` [`FORMAT`] [`TAGGNUMMER`]

Tilldela taggramar från filnamnen, exempelvis `totag '%{albumartist} - %{album}/%{track} %{title}' 2`. Om inget format anges, används formatet inställt i det grafiska användargränssnittet. Om filnamnets format inte matchar mönstret, provas några andra ofta använda format.

### Tagg till annan tagg

`syncto` {`TAGGNUMMER`}

Kopiera taggramarna från en tagg till den andra taggen, använd t.ex. `syncto 2` för att tilldela ID3v2-taggen från ID3v1-taggen.

### Kopiera

`copy` [`TAGGNUMMER`]

Kopiera de markerade filernas taggramar till den interna kopieringsbufferten. De kan därefter tilldelas till en annan fil genom att använda kommandot paste.

För att bara kopiera en delmängd av ramarna, använd pseudofältet "selected" med kommandot set. För att exempelvis bara kopiera skivnummer- och copyrightramar, använd

    set '*.selected' 0
    set discnumber.selected 1
    set copyright.selected 1
    copy

### Klistra in

`paste` [`TAGGNUMMER`]

Tilldela taggramar från innehållet i copy-bufferten för de markerade filerna.

### Ta bort

`remove` [`TAGGNUMMER`]

Ta bort en tagg.

Det är möjligt att bara ta bort en delmängd av ramarna genom att markera dem som beskrivs för kommandot copy.

### Anpassa Kid3

`config` [`ALTERNATIV`] [`VÄRDE`]

Fråga efter eller ställ in ett inställningsalternativ.

`ALTERNATIV` består av ett gruppnamn och ett egenskapsnamn åtskilda av en punkt. När inget `ALTERNATIV` anges, visas alla tillgängliga grupper. Om bara ett gruppnamn anges, visas alla gruppens tillgängliga egenskaper. För en given grupp och egenskap, visas det för närvarande inställda värdet. För att ändra inställningen kan det nya värdet anges som andra argument.

Om en inställnings värde är en lista, måste alla listelement anges som argument. Det betyder att för att lägga till ett element i en befintlig lista, måste alla befintliga element anges, följda av det nya elementet. I ett sådant fall är det enklare att använda JSON, där den nuvarande listan kan kopieras, med det nya elementet tillagt.

## Exempel

Tilldela en titel som innehåller en apostrof. Kommandon som skickas till kid3-cli med `-c` måste vara inom citationstecken om de inte bara består av enstaka ord. OM ett sådant kommando själv har ett argument som innehåller mellanslag, måste det argumentet också citeras. Med UNIX®-skal kan enkla eller dubbla citationstecken användas, men med Windows kommandofönster är det viktigt att de yttre citationstecknen är dubbla och att enkla citationstecken används inom dessa. Om texten inom de enkla citationstecknen innehåller ett enkelt citationstecken måste det undantas genom att använda ett bakstreck, som visas i följande exempel:

    kid3-cli -c "set title 'I\'ll be there for you'" /sökväg/till/katalog

Tilldela albumomslag till alla filer i en katalog med användning av bakgrundsimportfunktionen:

    kid3-cli -c "autoimport 'Cover Art'" /sökväg/till/katalog

Ta bort kommentarramar och tilldela taggformatet i båda taggar av alla MP3-filer i en katalog:

    kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
    -c "tagformat 1" -c "tagformat 2" /sökväg/till/katalog/*.mp3

Importera automatiskt tagg 2, synkronisera med tagg 1, ställ in filnamn från tagg 2 och skapa slutligen en spellista:

    kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
      /sökväg/till/katalog/*.mp3

För alla filer med en ID3v24.0-tagg, konvertera till ID3v2.3.0 och ta bort ramen arranger:

    kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
      -c "set arranger ''" /sökväg/till/katalog

Python-skriptet använder kid3-cli för att generera iTunes Sound Check iTunNORM ramar från information om uppspelningsförstärkning.

    #!/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

För att göra det enklare att tolka resultat från kid3-cli är det möjligt att få utmatningen på JSON-format. När begäran använder JSON-format blir också svaret JSON. Ett kompakt format på begäran ger också kompakt representation av svaret. Om begäran innehåller ett "id"-fält antas det bara en JSON-RPC-begäran och svaret innehåller fältet "jsonrpc" och "id" för begäran. Formatet på en begäran använder samma kommando som det vanliga kommandoradsgränssnittet, fältet "method" innehåller kommandot och parametrarna (om det finns några) anges i listan "params". Svaret innehåller objektet "result", som också kan vara null om motsvarande kid3-cli kommando inte returnerar ett resultat. I händelse av fel, returneras objektet "error" med fälten "code" och "message" som används av JSON-RPC.

    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"}

# Kapitel 5. Tack till och licens

Kid3

Program skrivet av Urs Fleisch `<ufleisch at users.sourceforge.net>`

Översättning Stefan Asserhäll `<stefan.asserhall@bredband.net>`

FDL

GPL

# Appendix A. Installation

## Hur man skaffar Kid3

Kid3 finns på https://kid3.kde.org.

## Krav

Kid3 behöver Qt™, KDE rekommenderas men är inte nödvändigt, eftersom Kid3 också kan kompileras som ett Qt™-program. Kid3 kan kompileras för system där dessa bibliotek är tillgängliga, t.ex. för GNU/Linux®, Windows® och macOS®. För att hantera Ogg/Vorbis-filer, behövs libogg, libvorbis och libvorbisfile, för FLAC-filer behövs libFLAC++ och libFLAC, id3lib används för MP3-filer. Dessa fyra format stöds också av TagLib, som också kan hantera Opus-, MPC-, APE-, MP2-, Speex-, TrueAudio-, WavPack-, WMA-, WAV-, AIFF-filer och tracker-moduler. För att importera från akustiska fingeravtryck används Chromaprint och libav.

Kid3 är tillgängligt för de flesta Linux®-distributioner, Windows® och macOS®. Länkar finns på https://kid3.kde.org.

## Kompilering och installation

Kid3 kan kompileras med eller utan KDE. Utan KDE är Kid3 ett enkelt Qt™-program och saknar några inställnings- och sessionsfunktioner.

För en KDE-version, gå till toppkatalogen och skriv

    % cmake .
    % make
    % make install

Ställ in motsvarande alternativ i `cmake` för att kompilera för andra versioner av Qt™ eller KDE.

Om alla bibliotek inte är närvarande, byggs Kid3 med reducerad funktionalitet. Så du bör vara noga med att alla önskade utvecklingspaket är installerade. Å andra sidan, styr `cmake`-alternativ vilka bibliotek som kompileras med. Förval är `-DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON` . Alternativen kan inaktiveras genom att använda `OFF`.

För att bygga Kid3 som ett Qt™-program utan KDE, använd alternativet`-DWITH_APPS=Qt` i `cmake`. För att både bygga ett KDE- och ett Qt™-program, använd `-DWITH_APPS="Qt;KDE"`.

För att använda en specifik Qt™-installation, ställ in `-DQT_QMAKE_EXECUTABLE=/sökväg/till/qmake`.

Att generera RPM-paket stöds av filen `kid3.spec`. För Debian®-paket är skriptet `build-deb.sh` tillgängligt.

Qt™-programmet kan också kompileras för Windows® och macOS®. Skriptet `buildlibs.sh` kan användas för att ladda ner och bygga alla nödvändiga bibliotek och skapa ett Kid3-paket.

## Inställning

Med KDE, lagras inställningarna i `.config/kid3rc`. Som ett Qt™-program, finns filen i `.config/Kid3/Kid3.conf`. På Windows®, lagras inställningarna i registret, och på macOS® i en plist-fil.

Miljövariabeln `KID3_CONFIG_FILE` kan användas för att ange inställningsfilens sökväg.

# Appendix B. D-Bus gränssnitt

## D-Bus-exempel

På Linux® kan ett D-Bus-gränssnitt användas för att styra Kid3 med skript. Skript kan skrivas i vilket språk som helst med D-Bus-gränssnitt (t.ex. i Python) och kan läggas till i Användaråtgärder för att utöka funktionaliteten i Kid3.

Artisten i tagg 2 för aktuell fil kan tilldelas värdet "Dagslända" med följande kod:

Skal

      dbus-send --dest=org.kde.kid3 --print-reply=literal \
      /Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \
      string:'Dagslända'

  eller enklare med Qt™:s qdbus (qdbusviewer kan användas för att utforska gränssnittet i ett grafiskt användargränssnitt):

      qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \
      'Dagslända'

Python

      import dbus
      kid3 = dbus.SessionBus().get_object(
        'org.kde.kid3', '/Kid3')
      kid3.setFrame(2, 'Artist', 'Dagslända')

Perl

      use Net::DBus;
      $kid3 = Net::DBus->session->get_service(
        "org.kde.kid3")->get_object(
        "/Kid3", "org.kde.Kid3");
      $kid3->setFrame(2, "Artist", "Dagslända");

## D-Bus programmeringsgränssnitt

Programmeringsgränssnittet för D-Bus specificeras i `org.kde.Kid3.xml`. Gränssnittet i Kid3 har följande metoder:

### Öppna fil eller katalog

`boolean openDirectory(` | path`)`; |

`string path`;

`sökväg`

  sökväg till fil eller katalog

Returnerar true om ok.

### Ladda ur taggarna för alla filer som inte är ändrade eller markerade

`unloadAllTags(` | `)`; |

### Spara alla ändrade filer

`boolean save(` | `)`; |

Returnerar true om ok.

### Hämta ett detaljerat felmeddelande som tillhandahålls av vissa metoder

`string getErrorMessage(` | `)`; |

Returnerar detaljerat felmeddelande.

### Ångrar ändringar i markerade filer

`revert(` | `)`; |

### Starta en automatisk import i bakgrunden

`boolean batchImport(` | tagMask, |
| profileName`)`; |

`int32 tagMask`;
`string profileName`;

`tagMask`

  taggmask (bit 0 för tagg 1, bit 1 för tagg 2)

`profileName`

  namn på bakgrundsimportprofil att använda

### Importera taggar från en fil

`boolean importFromFile(` | tagMask, |
| path, |
| fmtIdx`)`; |

`int32 tagMask`;
`string path`;
`int32 fmtIdx`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

`sökväg`

  sökväg till fil

`fmtIdx`

  formatets index

Returnerar true om ok.

### importera taggar från andra taggar

`importFromTags(` | tagMask, |
| source, |
| extraction`)`; |

`int32 tagMask`;
`string source`;
`string extraction`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

`källa`

  format för att hämta källtext från taggar

`extrahering`

  reguljärt uttryck med ramnamn och infångningar för att extraheara från källtext

### importera taggar från andra taggar för markerade filer

`array importFromTagsToSelection(` | tagMask, |
| source, |
| extraction`)`; |

`int32 tagMask`;
`string source`;
`string extraction`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

`källa`

  format för att hämta källtext från taggar

`extrahering`

  reguljärt uttryck med ramnamn och infångningar för att extraheara från källtext

`returnValues`

  extraherat värde för "%{__return}(.+)"

### Ladda ner albumomslag

`downloadAlbumArt(` | url, |
| allFilesInDir`)`; |

`string url`;
`boolean allFilesInDir`;

`webbadress`

  Webbadress till bildfil eller albumomslagsresurs

`allFilesInDir`

  true för att lägga till bilden i alla filer i katalogen

### Exportera taggar till en fil

`boolean exportToFile(` | tagMask, |
| path, |
| fmtIdx`)`; |

`int32 tagMask`;
`string path`;
`int32 fmtIdx`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

`sökväg`

  sökväg till fil

`fmtIdx`

  formatets index

Returnerar true om ok.

### Skapa en spellista

`boolean createPlaylist(` | `)`; |

Returnerar true om ok.

### Hämta objekt i en spellista

`array getPlaylistItems(` | path`)`; |

`string path`;

`sökväg`

  sökväg till spellistefil

Returerar en lista över absoluta sökvägar till objekt i spellistan.

### Tilldela objekten i en spellista

`boolean setPlaylistItems(` | path, |
| items`)`; |

`string path`;
`array items`;

`sökväg`

  sökväg till spellistefil

`items`

  lista över absoluta sökvägar till objekt i spellistan

Returnerar true om ok, false om inte alla objekt hittades och lades till eller spara misslyckades.

### Avsluta programmet

`avsluta(` | `)`; |

### Markera alla filer

`selectAll(` | `)`; |

### Avmarkera alla filer

`deselectAll(` | `)`; |

### Ställ in första filen som den aktuella filen

`boolean firstFile(` | `)`; |

Returnerar true om det finns en första fil.

### Ställ in föregående fil som den aktuella filen

`boolean previousFile(` | `)`; |

Returnerar true om det finns en föregående fil.

### Ställ in nästa fil som den aktuella filen

`boolean nextFile(` | `)`; |

Returnerar true om det finns en nästa fil.

### Markera första filen

`boolean selectFirstFile(` | `)`; |

Returnerar true om det finns en första fil.

### Markera föregående fil

`boolean selectPreviousFile(` | `)`; |

Returnerar true om det finns en föregående fil.

### Markera nästa fil

`boolean selectNextFile(` | `)`; |

Returnerar true om det finns en nästa fil.

### Markera aktuell fil

`boolean selectCurrentFile(` | `)`; |

Returnerar true om det finns en aktuell fil.

### Expandera eller dra ihop aktuellt filobjekt om det är en katalog

`boolean expandDirectory(` | `)`; |

Ett objekt i fillistan är en katalog om getFileName() returnerar ett namn med '/' som det sista tecknet.

Returnera true om aktuellt filobjekt är en katalog.

### Verkställ filnamnsformatet

`applyFilenameFormat(` | `)`; |

### Verkställ taggformatet

`applyTagFormat(` | `)`; |

### Verkställ textkodning

`applyTextEncoding(` | `)`; |

### Ange katalognamn från taggar

`boolean setDirNameFromTag(` | tagMask, |
| format, |
| create`)`; |

`int32 tagMask`;
`string format`;
`boolean create`;

`tagMask`

  taggmask (bit 0 för tagg 1, bit 1 för tagg 2)

`format`

  katalognamnsformat

`skapa`

  true för att skapa, false för att byta namn

Returnerar true om ok, annars är felmeddelandet tillgängligt genom att använda getErrorMessage().

### Ställ in följande spårnummer i markerade filer

`numberTracks(` | tagMask, |
| firstTrackNr`)`; |

`int32 tagMask`;
`int32 firstTrackNr`;

`tagMask`

  taggmask (bit 0 för tagg 1, bit 1 för tagg 2)

`firstTrackNr`

  nummer att använda för första fil

### Filtrera filerna

`filter(` | expression`)`; |

`string expression`;

`uttryck`

  filteruttryck

### Konvertera ID3v2.3 taggar till ID3v2.4

`convertToId3v24(` | `)`; |

### Konvertera ID3v2.4 taggar till ID3v2.3

`convertToId3v23(` | `)`; |

Returnerar true om ok.

### Hämta katalogens sökväg

`string getDirectoryName(` | `)`; |

Returnerar katalogens absoluta sökväg.

### Hämta namnet på den aktuella filen

`string getFileName(` | `)`; |

Returnerar det verkliga absoluta filnamnet, slutar med "/" om det är en katalog.

### Ställ in namnet på markerad fil

`setFileName(` | name`)`; |

`string name`;

`namn`

  filnamn

Filens namn byts när katalogen sparas.

### Ställ in format att använda när filnamnet ställs in från taggarna

`setFileNameFormat(` | format`)`; |

`string format`;

`format`

  filnamnsformat

### Ställ in filnamn för markerade filer från taggarna

`setFileNameFromTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

### Hämta ramens värde

`string getFrame(` | tagMask, |
| name`)`; |

`int32 tagMask`;
`string name`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

`namn`

  ramens namn (t.ex. "artist")

För att hämta binärdata, som en bild, kan namnet på en fil att skriva till läggas till efter `namn`, t.ex. ""Picture:/path/to/file". På samma sätt kan synkroniserad sångtext exporteras, t.ex. "SYLT:/sökväg/till/fil".

Returnerar ramens värde.

### Tilldela ramens värde

`boolean setFrame(` | tagMask, |
| name, |
| value`)`; |

`int32 tagMask`;
`string name`;
`string value`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

`namn`

  ramens namn (t.ex. "artist")

`värde`

  ramens värde

Om det inte finns någon ram med `namn` för tagg 2 (`tagMask` 2), läggs en ny ram till. Om `värde` är tomt, tas ramen bort. För att lägga till binärdata, som en bild, kan en fil läggas till efter `namn`, t.ex. ""Picture:/path/to/file". "SYLT:/sökväg/till/fil" kan användas för att importera synkroniserad sångtext.

Returnerar true om ok.

### Hämta alla ramar i en tagg

`array of string getTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

Returnerar lista med alternerande ramnamn och värden.

### Hämta teknisk information om filen

`array of string getInformation(` | `)`; |

Egenskaperna är Format, Bithastighet, Samplingsfrekvens, Kanaler, Längd, Kanalläge, VBR, Tagg 1, Tagg 2. Egenskaper som inte är tillgängliga utelämnas.

Returnerar lista med alternerande egenskapsnamn och värden.

### Tilldela tagg från filnamn

`setTagFromFileName(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

### Tilldela tagg från en annan tagg

`setTagFromOtherTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

### Kopiera tagg

`copyTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

### Klistra in tagg

`pasteTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

### Ta bort tagg

`removeTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  taggbit (1 för tagg 1, 2 för tagg 2)

### Tolka om inställningen

`reparseConfiguration(` | `)`; |

Automatiserade inställningsändringar är möjliga genom att ändra inställningsfilen och sedan tolka om inställningen.

### Spelar markerade filer

`playAudio(` | `)`; |

# Appendix C. QML-gränssnitt

## QML-exempel

QML-skript kan startas via fillistans sammanhangsberoende meny och det kan ställas in under fliken Användaråtgärder i inställningsdialogrutan. Skriptet som ställs in där kan användas som exempel för att programmera egna skript. QML använder JavaScript, och här är det obligatoriska "Hello World".

    import Kid3 1.0

    Kid3Script {
      onRun: {
        console.log("Hej allesamman, katalogen är", app.dirName)
        Qt.quit()
      }
    }

Om skriptet sparas som `/sökväg/till/Exempel.qml` kan användarkommandot definieras som @qml /sökväg/till/Exempel.qml med namnet `Test av QML` och Utmatning markerat. Därefter kan det startas med alternativet Test av QML i fillistans sammanhangsberoende meny, så visas utmatningen i fönstret.

Som ett alternativ, skulle skriptet också kunna startas oberoende av Kid3 genom att använda QML-verktygen.

    qml -apptype widget -I /usr/lib/kid3/plugins/imports /path/to/Example.qml

eller

    qmlscene -I /usr/lib/kid3/plugins/imports /path/to/Example.qml

På Windows® och macOS® måste importsökvägen anpassas till katalogen `importer` i installationskatalogen. Skript som startas utanför Kid3 använder den aktuella katalogen, så den måste ändras i förväg.

För att lista titlarna i tagg 2 för alla filer i aktuell katalog, skulle följande skript kunna användas:

    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())
      }
    }

Om katalogen innehåller många filer, ett sådant skript kan blockera användargränssnittet under en viss tid. För längre åtgärder, bör det därför ta en paus då och då. Den alternativa implementeringen nedan har flyttat ut arbetet för en enstaka fil till en funktion. Funktionen aktiverar sig själv med en 1 ms tidsgräns i slutet, under förutsättning att flera filer måste behandlas. Det säkerställer att det grafiska användargränssnittet förblir mottagligt medan skriptet kör.

    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()
      }
    }

Vid användning av app.firstFile() med app.nextFile(), processas alla filer i den aktuella katalogen. Om bara de markerade filerna ska påverkas, använd istället firstFile() och nextFile(), som är bekvämlighetsfunktioner i komponenten `Kid3Script`. Följande exempel är ett skript som bara kopierar den markerade filens skivnummer- och copyrightram.

    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()
      }
    }

Fler exempelskript levereras med Kid3 och är redan registrerade som användarkommandon.

- ReplayGain till SoundCheck (`ReplayGain2SoundCheck.qml`): Skapa iTunNORM SoundCheck information från ramar med uppspelningsförstärkning.

- Ändra storlek på omslag (`ResizeAlbumArt.qml`): Ändra storlek på inbäddade omslagsbilder som är större än 500 x 500 bildpunkter.

- Extrahera omslag (`ExtractAlbumArt.qml`): Extrahera alla inbäddade omslagsbilder och undvik dubbletter.

- Inbädda omslag (`EmbedAlbumArt.qml`): Inbädda omslag funna i bildfiler till ljudfiler i samma katalog.

- Inbädda sångtexter (`EmbedLyrics.qml`): Hämta osynkroniserade sångtexter från webbtjänst.

- Textkodning ID3v1 (`ShowTextEncodingV1.qml`): Hjälper till att hitta kodning av ID3v1-taggar genom att visa den aktuella filens taggar med alla tillgängliga teckenkodningar.

- ID3v1 till ASCII (`Tag1ToAscii.qml`): Omvandlar utökade latinska tecken i ID3v1-taggar till ASCII.

- Engelskt titelskiftläge (`TitleCase.qml`): Formaterar texten i taggarna med engelskt titelskiftläge.

- Skriv om taggar (`RewriteTags.qml`): Skriv om alla taggar i de markerade filerna.

- Exportera CSV (`ExportCsv.qml`): Exportera rekursivt alla taggar för alla filer till en CSV-fil.

- Exportera spellistekatalog (`ExportPlaylist.qml`): Kopiera alla filer från en spellista till en katalog och byt namn på dem enligt deras position.

- QML-terminal (`QmlConsole.qml`): Enkel terminal för att leka med Kid3s QML programmeringsgränssnitt.

## QML-programmeringsgränssnitt

Programmeringsgränssnittet kan enkelt utforskas genom att använda QML-terminalen, som är tillgänglig som ett exempelskript med ett användargränssnitt.

### Kid3Script

`Kid3Script` är en vanlig QML-komponent som finns i katalogen med insticksprogram. Du skulle lika enkelt kunna använda en annan QML-komponent. Genom att använda `Kid3Script` blir det enkelt att starta skriptfunktionen med signalhanteraren `onRun`. Dessutom erbjuder den några funktioner:

    onRun: Signalhanterare som anropas när skriptet startas
    tagv1, tagv2, tagv2v1: Konstanter för taggparametrar
    script: Åtkomst till skriptfunktioner
    configs: Åtkomst till inställningsobjekt
    getArguments(): Lista över skripargument
    isStandalone(): true om skriptet inte startades inifrån Kid3
    setTimeout(callback, delay): Startar återanrop efter delay ms
    firstFile(): Till första markerade fil
    nextFile(): Till nästa markerade fil

### Skriptfunktioner

Eftersom JavaScript och därför också QML bara har en begränsad uppsättning funktioner för skript, har objektet `script` några ytterligare metoder, exempelvis:

    script.properties(obj): Sträng med Qt-egenskaper
    script.writeFile(filePath, data): Skriv data i filen, true om ok
    script.readFile(filePath): Läs data från fil
    script.removeFile(filePath): Ta bort fil, true om ok
    script.fileExists(filePath): true om filen finns
    script.fileIsWritable(filePath): true om filen är skrivbar
    script.getFilePermissions(filePath): Hämta filrättighetsbitar
    script.setFilePermissions(filePath, modeBits): Tilldela filrättighetsbitar
    script.classifyFile(filePath): Hämta filklassen (katalog "/", symbolisk länk "@",
       exe "*", file " ")
    script.renameFile(oldName, newName): Byt namn på fil, true om ok
    script.copyFile(source, dest): Kopiera fil, true om ok
    script.makeDir(path): Skapa katalog, true om ok
    script.removeDir(path): Ta bort katalog, true om ok
    script.tempPath(): Sökväg till temporär katalog
    script.musicPath(): Sökväg till musikfolder
    script.listDir(path, [nameFilters], [classify]): Lista katalogposter
    script.system(program, [args], [msecs]): Starta ett systemkommando synkront,
      [avslutningskod, standardutmatning, standardfelutmatning] om tidsgräns inte överskrids
    script.systemAsync(program, [args], [callback]): Starta ett systemkommando
    asynkront, återanrop görs med [avslutningskod, standardutmatning,
    standardfelutmatning]
    script.getEnv(varName): Hämta värde på miljövariabel
    script.setEnv(varName, value): Tilldela miljövariabel värde
    script.getQtVersion(): Qt-versionssträng, t.ex. "5.4.1"
    script.getDataMd5(data): Hämta hexadecimal sträng med MD5-kondensat för data
    script.getDataSize(data): Hämta storlek på bytefält
    script.dataToImage(data, [format]): Skapa en bild från data
    script.dataFromImage(img, [format]): Hämta data från en bild
    script.loadImage(filePath): Läs in en bild från en fil
    script.saveImage(img, filePath, [format]): Spara en bild i en fil, true om ok
    script.imageProperties(img): Hämta egenskaper för en bild, avbildning med
      "width", "height", "depth" och "colorCount", tom om ogiltig bild
    script.scaleImage(img, width, [height]): Skala en bild, returnerar skalad bild

### Programsammanhang

Med användning av QML, är en stor del av funktionerna i Kid3 tillgängliga. Programmeringsgränssnittet liknar det som används för D-Bus. För detaljerad information, se respektive anmärkningar.

    app.openDirectory(path): Öppna katalog
    app.unloadAllTags(): Ladda ur alla taggar
    app.saveDirectory(): Spara katalog
    app.revertFileModifications(): Ångra
    app.importTags(tag, path, fmtIdx): Importera filer
    app.importFromTags(tag, source, extraction): Importera från taggar
    app.importFromTagsToSelection(tag, source, extraction): Importera från taggar från markerade filer
    app.downloadImage(url, allFilesInDir): Ladda ner bild
    app.exportTags(tag, path, fmtIdx): Exportera filer
    app.writePlaylist(): Skriv spellista
    app.getPlaylistItems(path): Hämta objekt i en spellista
    app.setPlaylistItems(path, items): Tilldela objekt i en spellista
    app.selectAllFiles(): Markera alla
    app.deselectAllFiles(): Avmarkera
    app.firstFile([select], [onlyTaggedFiles]): Till första fil
    app.nextFile([select], [onlyTaggedFiles]): Till nästa fil
    app.previousFile([select], [onlyTaggedFiles]): Till föregående fil
    app.selectCurrentFile([select]): Markera aktuell fil
    app.selectFile(path, [select]): Markera en specifik fil
    app.getSelectedFilePaths([onlyTaggedFiles]): Hämta sökvägar för markerade filer
    app.requestExpandFileList(): Expandera alla
    app.applyFilenameFormat(): Använd filnamnsformat
    app.applyTagFormat(): Verkställ taggformat
    app.applyTextEncoding(): Verkställ textkodning
    app.numberTracks(nr, total, tag, [options]): Nummerspår
    app.applyFilter(expr): Filtrera
    app.convertToId3v23(): Konvertera ID3v2.4.0 till ID3v2.3.0
    app.convertToId3v24(): Konvertera ID3v2.3.0 till ID3v2.4.0
    app.getFilenameFromTags(tag): Filnamn från taggar
    app.getTagsFromFilename(tag): Filnamn till taggar
    app.getAllFrames(tag): Hämta object med alla ramar
    app.getFrame(tag, name): Hämta ram
    app.setFrame(tag, name, value): Tilldela ram
    app.getPictureData(): Hämta data från bildram
    app.setPictureData(data): Tilldela data i bildram
    app.copyToOtherTag(tag): Taggar till andra taggar
    app.copyTags(tag): Kopiera
    app.pasteTags(tag): Klistra in
    app.removeTags(tag): Ta bort
    app.playAudio(): Spela
    app.readConfig(): Läs inställning
    app.applyChangedConfiguration(): Verkställ inställning
    app.dirName: Katalognamn
    app.selectionInfo.fileName: Filnamn
    app.selectionInfo.filePath: Absolut filsökväg
    app.selectionInfo.detailInfo: Formatdetaljer
    app.selectionInfo.tag(Frame.Tag_1).tagFormat: Tagg 1 format
    app.selectionInfo.tag(Frame.Tag_2).tagFormat: Tagg 2 format
    app.selectionInfo.formatString(tag, format): Ersätt koder i formatsträng
    app.selectFileName(caption, dir, filter, saveFile): Öppna fildialogruta
    för att markera en fil
    app.selectDirName(caption, dir): Öppna fildialogruta för att markera en katalog

För asynkrona operationer, kan återanrop anslutas till signaler.

    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)
    }

### Inställningsobjekt

De olika inställningsdelarna kan kommas åt via metoder kallade `configs`. Deras egenskaper kan listas i QML-konsolen.

    script.properties(configs.networkConfig())

Egenskaperna kan ställas in:

    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()