# El manual del Kid3

### Fleisch, Urs

Desenvolupament de programari

`<ufleisch at users.sourceforge.net>`

### Antoni Bella

Traductor

`<antonibella5@yahoo.com>`

3.9.5

Dret de reproducció © 2024 Urs Fleisch

FDL

Resum

El Kid3 és una aplicació per a editar les etiquetes ID3 versió 1 i 2 en els fitxers MP3 de manera eficient. També s'admeten les etiquetes a fitxers Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF i els mòduls del seguidor de peces (MOD, S3M, IT i XM). És fàcil establir etiquetes a múltiples fitxers amb els mateixos valors (p. ex., àlbum, artista, any i gènere en tots els fitxers del mateix àlbum) i generar les etiquetes a partir del nom del fitxer o viceversa.

Llistat de taules

3.1. Associacions dels tipus de marcs unificats amb els diversos formats
3.2. Entrada a la taula de puntuació

# Sinopsi

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

`kid3-qt` [ `--portable` ] [ `Opcions de les Qt` ] [`FITXER`...]

`kid3-cli` [ `--portable` ] [ `--dbus` ] [ `-h` | `--help` ] [ `-c ORDRE_1` ] [ `-c ORDRE_2` ...] [`FITXER`...]

# Opcions

`--portable`

  Emmagatzema la configuració al fitxer `kid3.ini` a dins de la carpeta de l'aplicació.

`FITXER`

  Si ``FITXER`` és el camí a una carpeta, s'obrirà. Si es proporcionen un o més camins de fitxer, s'obrirà la seva carpeta comuna i se seleccionaran els fitxers.

## kid3

`--help`

  Mostra ajuda quant a les opcions.

`--author`

  Mostra informació sobre l'autor.

`--version`

  Mostra informació sobre la versió.

`--license`

  Mostra informació sobre la llicència.

`--desktopfile `FITXER``

  El nom del fitxer base de l'entrada de l'escriptori per a aquesta aplicació.

## kid3-qt

`Opcions de les Qt`

  Vegeu qt5options(7).

## kid3-cli

`--dbus`

  Activa la interfície de D-Bus.

`-c`

  Executa una ordre. Són possibles múltiples opcions `-c`, s'executaran en seqüència. Vegeu la secció sobre el kid3-cli per a una descripció de les ordres disponibles.

`-h`|`--help`

  Mostra ajuda quant a les opcions i ordres.

# Capítol 1. Introducció

El Kid3 és una aplicació per a editar les etiquetes ID3 versió 1 i 2 en els fitxers MP3 de manera eficient. La majoria dels reproductors d'MP3 poden editar aquestes etiquetes, però no d'una manera molt còmoda i eficient. A més, també s'admeten les etiquetes als fitxers Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF i els mòduls del seguidor de peces (MOD, S3M, IT i XM).

El Kid3 no enregistra ni codifica els fitxers MP3, però està dirigit a editar les etiquetes ID3 de tots els fitxers d'un àlbum de manera eficient, és a dir, amb el menor nombre de clics i pulsacions de tecles possibles. On la majoria dels altres programes poden editar etiquetes ID3 versió 1 o 2, el Kid3 té un control total sobre ambdues versions, pot convertir les etiquetes entre els dos formats i té accés a totes les etiquetes ID3 versió 2. Es poden establir les etiquetes de múltiples fitxers amb el mateix valor, p. ex., l'artista, àlbum, any i gènere de tots els fitxers d'un àlbum que generalment tenen els mateixos valors i es poden configurar junts. Si la informació de les etiquetes està continguda en el nom del fitxer, les etiquetes es podran establir automàticament a partir del nom del fitxer. També és possible establir el nom del fitxer a partir de les etiquetes trobades en el fitxer en formats arbitraris.

La tasca d'edició se sosté addicionalment amb la substitució automàtica de caràcters o subcadenes, per exemple, per a eliminar caràcters il·legals dels noms de fitxer. El control automàtic de majúscules i minúscules facilita l'ús d'un esquema de noms coherent en totes les etiquetes.

La informació de l'etiqueta per a àlbums sencers es pot obtenir des de gnudb.org, MusicBrainz, Discogs, Amazon o altres fonts de llistes de peces. El format d'importació és lliurement configurable amb expressions regulars.

Podreu informar de qualsevol problema o petició de característica a l'autor.

# Capítol 2. Usar el Kid3

## Característiques del Kid3

- Edita les etiquetes ID3 versió 1

- Edita tots els marcs ID3 versió 2.3 i 2.4

- Edita les etiquetes de múltiples fitxers

- Converteix entre les etiquetes ID3 versió 1 i 2

- Edita les etiquetes dels MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV i AIFF

- Genera les etiquetes a partir del nom del fitxer

- Genera les etiquetes a partir del contingut als camps d'etiqueta

- Genera els noms de fitxer a partir de les etiquetes

- Genera i canvia els noms de les carpetes a partir de les etiquetes

- Genera un fitxer de llista de reproducció

- Conversió automàtica entre majúscules i minúscules, i traducció de les cadenes

- Importa des de gnudb.org, MusicBrainz, Discogs, Amazon i altres fonts de dades

- Exporta com a CSV, HTML, llista de reproducció, XML del Kover i altres formats. Els fitxers CSV exportats es podran importar de nou.

## Exemple d'ús

Aquesta secció descriu una sessió típica amb el Kid3. Suposem que tenim una carpeta que conté fitxers MP3 amb les peces de l'àlbum «I si canto trist» del cantautor «Lluís Llach». La carpeta s'anomena en el format «artista - àlbum», en el nostre cas «`Lluís Llach - I si canto trist`». La carpeta conté les peces en el format «títol de la peça.mp3», el qual crec que és útil perquè els noms dels fitxers són curts (important quan s'empren reproductors d'MP3 mòbils amb pantalles petites) i en l'ordre correcte quan s'ordenen alfabèticament (important quan es fa servir maquinari reproductor d'MP3 que reprodueixen les peces en ordre alfabètic o en l'ordre en què es graven en el CD i aquest ordre és alfabètic quan s'utilitza el mkisofs). A més d'això, la informació de l'artista i de l'àlbum ja es troba al nom de la carpeta i no s'ha de repetir en el nom del fitxer. Però tornant al nostre exemple, el llistat de la carpeta es veurà així:

`01 El jorn dels miserables.mp3`

`02 Cançó a Mahalta.mp3`

`03 Vaixell de Grècia.mp3`

Aquests fitxers encara no tenen etiquetes i volem generar-les utilitzant el Kid3. Emprem l'element de menú Fitxer → Obre... (o el botó a la barra d'eines) i seleccionem un dels fitxers en aquesta carpeta. Tots els fitxers es mostraran en el quadre de llista de fitxers. Mandrosos com som, volem fer servir la informació a la carpeta i els noms de fitxer per a generar les etiquetes. Per tant, seleccionarem tots els fitxers, després farem clic al botó A: Etiqueta 1 a la secció Fitxer. Això establirà els valors de títol, artista, àlbum i peça en tots els fitxers. per a establir els valors d'any i gènere de tots els fitxers, mantindrem seleccionats tots els fitxers i escriurem «2002» per a la Data i seleccionem Cantautor des del quadre combinat Gènere. per a establir només aquests dos valors, les seves caselles de selecció es marcaran automàticament i totes les altres caselles es deixaran sense marcar. Ara canviarem la selecció seleccionant només el primer fitxer i veurem que totes les etiquetes contenen els valors correctes. Les etiquetes dels altres fitxers també es poden verificar seleccionant-los un per un. Quan estiguem satisfets amb les etiquetes, emprem l'element de menú Fitxer → Desa (o el botó a la barra d'eines). En seleccionar l'element de menú Fitxer → Crea una llista de reproducció... (o el botó a la barra d'eines) es generarà un fitxer «`Lluís Llach - I si canto trist.m3u`» a la carpeta.

# Capítol 3. Referència d'ordres

## Els elements de la IGU

La IGU del Kid3 està separada en sis seccions: a l'esquerra hi ha els quadres de llista de fitxers i carpetes, el costat dret conté les seccions Fitxer, Etiqueta 1, Etiqueta 2 i Etiqueta 3.

Per a navegar entre les diferents seccions emprant el teclat, s'admeten diverses dreceres de teclat. A les seccions d'etiquetes, les dreceres estaran actives mentre no s'edita text o quan s'està a la primera columna.

- Alt+Fletxa esquerra: Va a la selecció anterior (Ordre+] en el macOS®)

- Alt+Fletxa dreta: Va a la següent selecció (Ordre+] en el macOS®)

- Ctrl+Maj+V: Des d'una altra etiqueta

- Ctrl+C: Copia

- Ctrl+V: Enganxa

- Maj+Supr: Elimina

- F2: Edita

- Inser: Afegeix

- Supr: Suprimeix

### Llista de fitxers

La llista de fitxers conté els noms de tots els fitxers a la carpeta oberta que coincideixen amb el filtre de nom de fitxer seleccionat (generalment `*.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape`). Es poden seleccionar un o múltiples fitxers. Per no seleccionar cap fitxer, feu clic a l'àrea buida després de les entrades del quadre de llista. La selecció determinarà els fitxers afectats per les operacions que hi hagi disponibles mitjançant l'ús dels botons que es descriuen a continuació.

A més del Nom, també es poden mostrar altres columnes de Mida, Tipus i Data de modificació amb els detalls del fitxer. Les columnes es poden ocultar desmarcant el seu nom al menú contextual de la capçalera. L'ordre de les columnes es pot canviar arrossegant i deixant anar. L'ordre de classificació es pot alternar fent clic sobre la capçalera de la columna.

Els valors de les etiquetes estàndard també es poden mostrar i editar en columnes de la llista de fitxers.

A l'esquerra dels noms es pot mostrar una icona: un disc per a mostrar que el fitxer ha estat modificat o la informació sobre quines etiquetes hi ha presents (V1, V2, V1V2 o SENSE ETIQUETA, no es mostrarà cap icona si encara no s'ha llegit el fitxer).

Les carpetes es mostren amb una icona de carpeta. Si s'obre una carpeta, els fitxers es mostraran en un arbre jeràrquic. En seleccionar fitxers des de subcarpetes, les operacions es podran executar sobre els fitxers en carpetes diferents, el qual és útil si la col·lecció de música està organitzada amb una carpeta per a cada artista que conté les carpetes per als àlbums d'aquest artista.

En fer clic amb el botó dret del ratolí dins de la llista de fitxers, s'obrirà un menú contextual amb les següents ordres:

- Expandeix-ho tot: expandeix tots els arbres de carpetes (només l'arbre actual si es prem la tecla Maj)

- Redueix-ho tot: contrau tots els arbres de carpetes

- Reanomena: canvia el nom d'un fitxer

- Mou a la paperera: mou un fitxer a la paperera

- Reprodueix: reprodueix un fitxer, vegeu Reproduir. Si el fitxer seleccionat és una llista de reproducció, es reproduiran els fitxers de la llista de reproducció.

- Edita: edita una llista de reproducció, vegeu Editar una llista de reproducció.

- Les entrades posteriors són ordres d'usuari, les quals es poden definir a la pestanya Accions de l'usuari de Configura el Kid3. La reproducció amb doble clic també es pot activar allà.

  Quan s'activa Selecciona el fitxer en reproducció, la peça actual en reproducció se selecciona automàticament en la llista de fitxers.

### Editar una llista de reproducció

Es pot crear una llista de reproducció buida o que contingui les peces d'una carpeta, vegeu Crear una llista de reproducció. El fitxer de la llista de reproducció serà creat de tal manera que es podrà editar fent-hi doble clic o emprant l'element Edita des del menú contextual de la llista de fitxers. Es mostrarà un diàleg amb les entrades de la llista de reproducció. És possible obrir múltiples llistes de reproducció simultàniament.

Es poden afegir entrades noves arrossegant i deixant anar des de la llista de fitxers, un gestor de fitxers o una altra llista de reproducció. Si s'arrossega una entrada des d'una altra llista de reproducció, es mourà o copiarà segons el sistema. Per a invocar l'altra operació, respectivament, s'haurà de prémer la tecla Maj, Ctrl o Alt (per a copiar en lloc de moure al macOS®). També és possible tornar a ordenar les entrades dins de la llista de reproducció arrossegant i deixant anar. De manera alternativa, les entrades es poden moure emprant les dreceres de teclat Ctrl+Maj+Fletxa amunt i Ctrl+Maj+Fletxa avall (en el macOS®, s'ha de prémer Ordre en lloc de Ctrl). Es pot eliminar una entrada amb la tecla Supr.

Tingueu en compte el següent: per a arrossegar les entrades de la llista de fitxers, s'han de mantenir al costat esquerre (a prop de les icones), el mateix gest en el costat dret realitzarà una selecció múltiple, de manera que aquesta acció encara serà possible.

Quan s'ha modificat una llista de reproducció, els canvis es podran emmagatzemar utilitzant Desa o descartar-los utilitzant Cancel·la. Quan es tanca la finestra, es mostrarà un missatge de confirmació si hi ha canvis sense desar.

Les peces seleccionades en una llista de reproducció se seleccionaran automàticament a la llista de fitxers, el qual permetrà editar les etiquetes.

Per a executar accions en una llista de reproducció, s'haurà de seleccionar el seu fitxer a la llista de fitxers. L'entrada Edita des del menú contextual portarà el diàleg descrit en aquesta secció, i Reprodueix iniciarà el reproductor multimèdia amb les peces de la llista de reproducció. Les accions de l'usuari poden actuar sobre les llistes de reproducció, per exemple, Exporta la llista de reproducció a una carpeta copiarà els fitxers d'una llista de reproducció a dins d'una carpeta.

### Llista de carpetes

La llista de carpetes conté els noms de les carpetes que hi ha a la carpeta oberta, així com la carpeta actual (`.`) i la carpeta pare (`..`). Permet canviar ràpidament de carpeta sense emprar l'ordre Obre... o l'acció d'arrossegar i deixar anar.

La visibilitat, l'ordre i la classificació de la columna es poden configurar com es descriu a la secció sobre la llista de fitxers.

### Fitxer

Mostra informació sobre la codificació (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV i AIFF), velocitat de bits, freqüència de mostreig, canals i la longitud del fitxer.

La línia d'edició Nom: conté el nom del fitxer (si només se selecciona un fitxer). Si es canvia aquest nom, el fitxer canviarà de nom quan es faci servir l'ordre Desa.

El quadre combinat Format: i la línia d'edició conté el format que s'utilitzarà quan es generi el nom del fitxer a partir de la primera o la segona etiqueta. El nom del fitxer podrà contenir caràcters arbitraris, fins i tot una part de la carpeta separada del nom del fitxer per una barra diagonal, però aquesta carpeta ja haurà d'existir perquè el canvi de nom tingui èxit. S'empren els següents codis especials per a inserir valors d'etiqueta en el nom del fitxer:

- %s %{title} Títol (cançó)

- %a %{artist} Artista

- %l %{album} Àlbum

- %c %{comment} Comentari

- %y %{year} Any

- %t %{track} Peça (p. ex., 01)

- %t %{track.n} Peça amb l'amplada del camp «n» (p. ex., 001 per a %{track.3})

- %T %{tracknumber} Peça (sense zeros a l'esquerra, p. ex., 1)

- %g %{genre} Gènere

- %{ignore} Ignorada en generar les etiquetes a partir del nom del fitxer

Els codis de format no estan restringits als exemples donats anteriorment. Es pot indicar un nom de marc, per exemple, noms de marc unificats com `%{albumartist}`, `%{discnumber.1}`, `%{bpm}` o noms específics de format com `%{popm}`.

És possible anteposar i annexar cadenes a la substitució d'un codi de format afegint entre cometes dobles dins de les claus d'un codi de format. Aquestes cadenes només es col·locaran a la cadena resultant si els camps del codi de format produeixen un valor no buit. Per exemple, si el nom del fitxer ha de contenir el títol i el subtítol, es podria utilitzar `%{title} [%{subtitle}]` a la cadena de format. Però això donaria com a resultat una cadena que acaba amb `[]` si no hi ha un marc de subtítols per a un fitxer. Per a ometre els claudàtors si no hi ha subtítols, en el seu lloc s'utilitzarà `%{title}%{"["subtitle"]"}`. Això ometrà els claudàtors, l'espai inicial i el subtítol si no existeix el subtítol.

La llista de formats disponibles es pot editar en el diàleg que apareix en fer clic al botó Nom del fitxer des de l'etiqueta a la pestanya Fitxer del diàleg de configuració.

S'utilitza un segon quadre combinat Format (amb una fletxa cap avall) per a generar les etiquetes a partir del nom de fitxer. Si el format del nom de fitxer no coincideix amb aquest patró, s'intentaran alguns altres formats d'ús habitual.

Alguns formats del nom de fitxer utilitzats habitualment ja estan disponibles al quadre combinat, però també és possible escriure algun format especial a la línia d'edició.

La llista de formats disponibles es pot editar en el diàleg que apareix en fer clic al botó Etiqueta des del nom de fitxer a la pestanya Fitxer del diàleg de configuració.

De manera interna, es construeix una expressió regular a partir dels codis de format. Si es requereixen expressions regulars avançades, el format per a generar les etiquetes a partir dels noms de fitxer es podrà indicar tot com una expressió regular amb captures precedides pels codis de format, p. ex., per a extreure els números de peça sense eliminar els zeros a l'esquerra, es podria emprar un format com «`/%{track}(\d+) %{title}(.*)`».

Des de: Etiqueta 1, Etiqueta 2: estableix el nom de fitxer utilitzant el format seleccionat i la primera o la segona etiqueta, respectivament.

A: Etiqueta 1, Etiqueta 2: les etiquetes s'estableixen a partir del nom de fitxer. Primer, s'utilitza el format especificat a Format:. Si el nom de fitxer existent no coincideix amb aquest format, s'intentarà amb els següents formats:

- `Artista - Àlbum/Peça Cançó`

- `Àlbum/Peça - Artista - Cançó`

- `/Artista - Àlbum - Peça - Cançó`

- `Àlbum/Artista - Peça - Cançó`

- `Àlbum/Artista - Cançó`

- `Artista/Àlbum/Peça Cançó`

Si se selecciona un únic fitxer, els controls de la IGU s'ompliran amb els valors extrets del nom de fitxer. Si se seleccionen múltiples fitxers, les etiquetes dels fitxers s'establiran directament d'acord amb els noms dels fitxers.

### Etiqueta 1

Els ginys de línia d'edició per al Títol, Artista, Àlbum, Comentari, Data, Número de la peça, Gènere i Codificador s'utilitzen per a editar el valor corresponent a la primera etiqueta dels fitxers seleccionats. El valor canviarà quan es modifiqui la selecció del fitxer o abans d'operacions com Desa i Surt i quan es marqui la casella de selecció corresponent a l'esquerra del nom de camp. Això és útil per a només canviar alguns valors i deixar els altres sense canviar.

Si se selecciona un únic fitxer, totes les caselles de selecció estaran marcades i els ginys de línia d'edició contindran els valors trobats a les etiquetes d'aquest fitxer. Si no es troba una etiqueta al fitxer, es mostrarà el valor buit corresponent, el qual serà una cadena buida per a les línies d'edició del Títol, Artista, Àlbum i Comentari, 0 per a les línies d'edició numèrica com la Data i Número de peça i un valor buit seleccionat per al quadre combinat Gènere. Els valors es poden canviar i si la casella de selecció corresponent està marcada, s'establiran per al fitxer seleccionat després de canviar la selecció. El fitxer serà marcat com a modificat amb un símbol de disc en el quadre de llista de fitxers, però romandrà sense canvis fins que s'utilitzi l'ordre Desa.

Si se seleccionen múltiples fitxers, només es mostraran els valors que són idèntics en tots els fitxers seleccionats. En tots els altres controls, es mostraran els valors buits com s'ha descrit anteriorment. Totes les caselles de selecció estaran desmarcades per a evitar canvis no desitjats. Si s'ha d'establir un valor per a tots els fitxers seleccionats, es pot editar i s'ha de marcar la casella de selecció. Els valors s'establiran per a tots els fitxers seleccionats quan es canviï la selecció i es podran desar amb l'ordre Desa.

Les caselles de selecció també controlen el funcionament de la majoria de les ordres que afecten les etiquetes, com copiar, enganxar i transferir entre les etiquetes 1 i 2. Per a facilitar el seu ús amb múltiples fitxers, on totes les caselles de selecció no estaran marcades, aquestes ordres es comportaran de la mateixa manera que quan estan marcades o desmarcades totes les caselles de selecció.

Des de l'etiqueta 2: els camps de l'etiqueta 1 s'estableixen a partir dels valors corresponents a l'etiqueta 2. Si se selecciona un únic fitxer, els controls de la IGU s'ompliran amb els valors de l'etiqueta 2. Si se seleccionen múltiples fitxers, les etiquetes dels fitxers s'establiran directament.

Copia: la memòria intermèdia de l'ordre Copia s'omplirà amb els valors de l'Etiqueta 1. Només s'utilitzaran els valors amb la casella de selecció marcada en les subsegüents ordres Enganxa.

Enganxa: enganxarà els valors des de la memòria intermèdia copiada a dins dels controls de la IGU.

Elimina: establirà tots els controls de la IGU amb els seus valors buits, el qual resultarà en l'eliminació de tots els valors. El fitxer desat no contindrà l'etiqueta 1.

### Etiqueta 2

Els controls de la IGU funcionen de la mateixa manera com es descriu a la secció Etiqueta 1, però la mida de les cadenes no està limitada.

Per al Gènere a l'etiqueta 2, també podreu utilitzar els vostres propis noms a més dels gèneres llistats en el quadre combinat, simplement escriviu el nom a la línia d'edició.

L'etiqueta 2 no només podrà contenir els mateixos valors que l'etiqueta 1, el format es construeix de manera flexible a partir de diversos marcs que estan compostos per diversos camps. La taula de l'etiqueta 2 mostra tots els marcs que hi ha disponibles al fitxer seleccionat.

Edita: obrirà una finestra que permet editar tots els camps del marc seleccionat. Si se seleccionen múltiples fitxers, els camps editats s'aplicaran a tots els fitxers seleccionats que continguin aquest marc.

Afegeix: apareixerà una sol·licitud per a seleccionar el tipus de marc i es podrà editar i afegir al fitxer. També funciona per a afegir un marc als múltiples fitxers seleccionats.

Suprimeix: suprimirà el marc seleccionat en els fitxers seleccionats.

Es mostrarà Arrossegueu aquí la caràtula si el fitxer no conté cap caràtula incrustada. Es pot afegir una imatge arrossegant i deixant anar des d'un navegador o gestor de fitxers i es mostrarà aquí. Els marcs de la imatge es poden editar o afegir fent doble clic sobre aquest control.

### Etiqueta 3

Alguns fitxers poden tenir més de dues etiquetes, i serà visible una tercera secció d'etiquetes. Els següents tipus de fitxer poden contenir una secció Etiqueta 3:

- Els fitxers MP3 poden tenir una etiqueta ID3 versió 1.1, una etiqueta ID3 versió 2 (2.3.0 o 2.4.0) i a la tercera secció una etiqueta APE. Aquestes etiquetes APE s'utilitzen per a reproduir la informació del guany. A la secció Etiqueta 3, aquesta informació serà visible i l'etiqueta APE es pot eliminar amb el botó Elimina.

- El fragment INFO del RIFF als fitxers WAV es troba disponible a la secció Etiqueta 3 perquè la secció Etiqueta 1 està dedicada a les etiquetes ID3 versió 1.1 i té les seves restriccions. L'Etiqueta 2 encara es fa servir per a les etiquetes ID3 versió 2.4.0, les quals també estan admeses per als fitxers WAV, però els fragments INFO del RIFF semblen estar més ben admesos.

- Els fitxers FLAC normalment utilitzen un comentari Vorbis per a les seves metadades. No obstant això, hi ha fitxers FLAC que tenen etiquetes ID3 versió 1 i versió 2, les quals es troben a les seccions Etiqueta 1 i Etiqueta 3. Les etiquetes ID3 en els fitxers FLAC només estan admeses per la TagLib, per tant, el connector «OggFlacMetadata» haurà d'estar inhabilitat a la pestanya Connectors del diàleg de configuració.

Els controls de la IGU funcionen de la mateixa manera que a la secció Etiqueta 2.

### Llista de marcs

El Kid3 pot editar la majoria dels marcs per a tots els tipus de fitxers admesos. S'accedeix a alguns marcs utilitzant els noms unificats, de manera que puguin intercanviar-se entre fitxers amb formats diferents. Podreu accedir als marcs que no estan unificats com a marcs específics del format.

Taula 3.1. Associacions dels tipus de marcs unificats amb els diversos formats

Unificat | ID3 versió 2.3 | ID3 versió 2.4 | MP4 | ASF | Vorbis | RIFF
--- | --- | --- | --- | --- | --- | ---
Títol | `TIT2` | `TIT2` | `©nam` | `Title` | `TITLE` | `INAM`
Artista | `TPE1` | `TPE1` | `©ART` | `Author` | `ARTIST` | `IART`
Àlbum | `TALB` | `TALB` | `©alb` | `WM/AlbumTitle` | `ALBUM` | `IPRD`
Comentari | `COMM` | `COMM` | `©cmt` | `Description` | `COMMENT` | `ICMT`
Data | `TYER` | `TDRC` | `©day` | `WM/Year` | `DATE` | `ICRD`
Número de la peça | `TRCK` | `TRCK` | `trkn` | `WM/TrackNumber` | `TRACKNUMBER` | `IPRT` o `ITRK`
Gènere | `TCON` | `TCON` | `©gen` | `WM/Genre` | `GENRE` | `IGNR`
Artista de l'àlbum | `TPE2` | `TPE2` | `aART` | `WM/AlbumArtist` | `ALBUMARTIST` |
Arranjador | `IPLS` | `TIPL` | `ARRANGER` | `WM/Producer` | `ARRANGER` | `IENG`
Autor | `TOLY` | `TOLY` | `AUTHOR` |  | `AUTHOR` |
PPM | `TBPM` | `TBPM` | `tmpo` | `WM/BeatsPerMinute` | `BPM` | `IBPM`
Número del catàleg | `TXXX:CATALOGNUMBER` | `TXXX:CATALOGNUMBER` |  |  | `CATALOGNUMBER` |
Compilació | `TCMP` | `TCMP` | `cpil` |  | `COMPILATION` |
Compositor | `TCOM` | `TCOM` | `©wrt` | `WM/Composer` | `COMPOSER` | `IMUS`
Director | `TPE3` | `TPE3` | `CONDUCTOR` | `WM/Conductor` | `CONDUCTOR` |
Drets d'autor | `TCOP` | `TCOP` | `cprt` | `Copyright` | `COPYRIGHT` | `ICOP`
Descripció | `TIT3` | `TIT3` | `desc` | `WM/SubTitleDescription` | `DESCRIPTION` |
Número del disc | `TPOS` | `TPOS` | `disk` | `WM/PartOfSet` | `DISCNUMBER` |
Codificat per | `TENC` | `TENC` | `©enc` | `WM/EncodedBy` | `ENCODED-BY` | `ITCH`
Configuració del codificador | `TSSE` | `TSSE` | `©too` | `WM/EncodingSettings` | `ENCODERSETTINGS` | `ISFT`
Temps de la codificació |  | `TDEN` |  | `WM/EncodingTime` | `ENCODINGTIME` | `IDIT`
Agrupament | `GRP1` | `GRP1` | `©grp` |  | `GROUPING` |
Clau inicial | `TKEY` | `TKEY` |  | `WM/InitialKey` | `INITIALKEY` |
ISRC | `TSRC` | `TSRC` | `ISRC` | `WM/ISRC` | `ISRC` | `ISRC`
Idioma | `TLAN` | `TLAN` | `LANGUAGE` | `WM/Language` | `LANGUAGE` | `ILNG`
Lletrista | `TEXT` | `TEXT` | `LYRICIST` | `WM/Writer` | `LYRICIST` | `IWRI`
Lletra | `USLT` | `USLT` | `©lyr` | `WM/Lyrics` | `LYRICS` |
Mitjà | `TMED` | `TMED` | `SOURCEMEDIA` |  | `SOURCEMEDIA` | `IMED`
Estat d'ànim |  | `TMOO` |  | `WM/Mood` | `MOOD` |
Àlbum original | `TOAL` | `TOAL` | `ORIGINALALBUM` | `WM/OriginalAlbumTitle` | `ORIGINALALBUM` |
Artista original | `TOPE` | `TOPE` | `ORIGINALARTIST` | `WM/OriginalArtist` | `ORIGINALARTIST` |
Data original | `TORY` | `TDOR` | `ORIGINALDATE` | `WM/OriginalReleaseYear` | `ORIGINALDATE` |
Intèrpret | `IPLS` | `TMCL` | `PERFORMER` |  | `PERFORMER` | `ISTR`
Imatge | `APIC` | `APIC` | `covr` | `WM/Picture` | `METADATA_BLOCK_PICTURE` |
Editor | `TPUB` | `TPUB` | `PUBLISHER` | `WM/Publisher` | `PUBLISHER` | `IPUB`
Puntuació | `POPM` | `POPM` | `rate` | `WM/SharedUserRating` | `RATING` | `IRTD`
País de llançament | `TXXX:RELEASECOUNTRY` | `TXXX:RELEASECOUNTRY` |  |  | `RELEASECOUNTRY` | `ICNT`
Data de llançament |  | `TDRL` | `RELEASEDATE` |  | `RELEASEDATE` |
Remesclador | `TPE4` | `TPE4` | `REMIXER` | `WM/ModifiedBy` | `REMIXER` | `IEDT`
Ordena per àlbum | `TSOA` | `TSOA` | `soal` | `WM/AlbumSortOrder` | `ALBUMSORT` |
Ordena per artista de l'àlbum | `TSO2` | `TSO2` | `soaa` |  | `ALBUMARTISTSORT` |
Ordena per artista | `TSOP` | `TSOP` | `soar` | `WM/ArtistSortOrder` | `ARTISTSORT` |
Ordena per compositor | `TSOC` | `TSOC` | `soco` |  | `COMPOSERSORT` |
Ordena per nom | `TSOT` | `TSOT` | `sonm` | `WM/TitleSortOrder` | `TITLESORT` |
Subtítol |  | `TSST` | `SUBTITLE` | `WM/SubTitle` | `SUBTITLE` | `PRT1`
Lloc web | `WOAR` | `WOAR` | `WEBSITE` | `WM/AuthorURL` | `WEBSITE` | `IBSU`
Treball | `TIT1` | `TIT1` | `©wrk` | `WM/ContentGroupDescription` | `WORK` |
Fitxer d'àudio WWW | `WOAF` | `WOAF` |  | `WM/AudioFileURL` | `WWWAUDIOFILE` |
Font d'àudio WWW | `WOAS` | `WOAS` |  | `WM/AudioSourceURL` | `WWWAUDIOSOURCE` |

Observacions sobre les assignacions als noms dels marcs unificats:

- El nombre dels noms per als marcs unificats està limitat pel fet que és possible una observació sensata per a tots els formats de fitxer admesos. La majoria de les etiquetes admeten marcs amb noms arbitraris: aquestes s'empraran si no hi ha disponible un marc específic (p. ex., els noms en majúscules a la columna MP4). Si no existeix aquesta possibilitat, alguns tipus de marc podrien no ser compatibles amb el format, p. ex., Autor i Intèrpret per a l'ASF (WMA).

- Les assignacions no es trien de manera arbitrària, sinó que estan orientades a l'ús dels marcs en altres aplicacions i dispositius. Per tant, el marc ID3 versió 2 «TPE2 - Banda/orquestra/acompanyament» no suggerirà el seu ús com Artista de l'àlbum, però això s'utilitza de forma habitual. D'altra banda, el significat real de l'ID3 versió 2, és la raó per la qual quan s'importa es fa servir aquest marc per a l'orquestra (p. ex., des de Discogs), encara que això pot semblar una mica estrany per a altres formats d'etiqueta.

- Les assignacions no sempre són bijectives. Per tant, l'ID3 versió 2.3 utilitza un marc IPLS per a Arranjaments i Intèrpret. Quan es torna a llegir, ambdós marcs es mostraran com a «Arranjaments».

- Els marcs Arranjaments i Intèrpret utilitzen un format particular per al seu contingut: «participació 1|participant 1|participació 2|participant 2 |...», per exemple, «Chorus Master|Ernst Dunshirn|Soprano Vocals|Anna Netrebko». Això crearà els marcs IPLS (ID3 versió 2.3) o TIPL/TMCL (ID3 versió 2.4) amb una llista de cadenes en el format especificat (la «|» s'utilitza com un separador entre les cadenes). Els valors en aquest format també s'estableixen en importar dades des dels servidors que ofereixen aquesta informació.

- Per a utilitzar explícitament un nom de marc específic que entri en conflicte amb un nom de marc unificat, anteposeu un signe d'exclamació. Per exemple, afegir un marc de tipus «`Suport`» amb un comentari de Vorbis crearà un marc amb el nom «`SOURCEMEDIA`» a causa de l'observació de tipus unificat. Per a afegir un marc amb el nom «`MEDIA`» i no «`SOURCEMEDIA`», utilitzeu «`!MEDIA`» per a forçar un nom explícit.

- Si necessiteu un marc que no es troba en aquesta llista, encara teniu la possibilitat d'introduir noms arbitraris utilitzant el botó Afegeix. Els noms de marc utilitzats sovint es poden afegir als Marcs personalitzats a la configuració Etiquetes, i després estaran disponibles a Marcs d'accés ràpid.

### Lletra sincronitzada i els Codis de temps dels esdeveniments

Per a obtenir informació sincronitzada amb les dades de l'àudio, hi ha disponible un editor específic. Aquests marcs estan admesos per les etiquetes ID3 versió 2.3.0 i 2.4.0. Per a afegir aquest marc, s'haurà de seleccionar el nom específic del marc a la llista que apareixerà quan feu clic al botó Afegeix -la Lletra sincronitzada i els Codis de temps dels esdeveniments, respectivament-. L'editor és el mateix per a ambdós tipus, per als codis de temps dels esdeveniments, només hi ha disponible un conjunt predefinit d'esdeveniments, mentre que per a la lletra sincronitzada, s'haurà d'introduir el text. A continuació, s'explica l'edició de la lletra sincronitzada.

Un fitxer que té seleccionada l'etiqueta ID3 versió 2, s'entra a l'editor de la lletra emprant Afegeix i seleccionant Lletra sincronitzada. Per a un marc existent de Lletra sincronitzada, se seleccionarà i es farà clic a Edita. El reproductor s'obrirà automàticament amb el fitxer actual perquè el fitxer es pugui reproduir i fer pausa per tal de sincronitzar la lletra.

La configuració que hi ha a la part superior de l'editor SYLT normalment no s'han de canviar. Si la lletra conté caràcters que no estan presents en el joc de caràcters Llatin 1, és recomanable canviar la codificació del text a UTF16 (o UTF8 per a l'ID3 versió 2.4.0). Per a la lletra en anglès i una màxima compatibilitat, s'haurà d'utilitzar la ISO-8859-1.

La secció Lletra conté cinc botons a la part superior. Afegeix afegirà un esdeveniment de temps nou a la taula. El temps es prendrà des de la posició del reproductor, per tant, afegir una entrada mentre es reprodueix la peça afegirà una línia per a la posició de reproducció actual. Els esdeveniments a la taula s'ordenaran de forma cronològica, per tant, la fila s'inserirà en conseqüència. Les entrades amb un temps no vàlid es tractaran especialment: si la fila seleccionada té un temps no vàlid, la seva marca de temps serà substituïda pel temps actual en lloc d'afegir una fila nova. Si el temps actual no és vàlid, si està present s'emprarà la primera fila amb un temps no vàlid. Aquest comportament hauria de facilitar afegir marques de temps si el text de la lletra ja es troba a la taula, però manquen les marques de temps (el qual és el cas en importar lletra sense sincronitzar). Tingueu en compte que el temps no vàlid es representa com a 00:00,00, és a dir, el mateix que el temps al començament absolut de la peça, el qual no és vàlid. Per a invalidar un temps, premeu la tecla Supr o utilitzeu Neteja des del menú contextual. Les files noves inserides emprant Insereix una fila des del menú contextual o creades en importar la lletra sense sincronitzar amb Des del porta-retalls o Importa també contindran marques de temps no vàlides. Les files de la taula es poden suprimir fent clic al botó Suprimeix o utilitzant Suprimeix les files des del menú contextual.

La lletra sincronitzada es pot importar des d'un fitxer fent servir Importa. El format esperat és LRC senzill o millorat. Si el fitxer seleccionat no conté un claudàtor a la primera línia, se suposarà que es tracta d'un senzill fitxer de text amb lletra sense sincronitzar. Les línies en aquest fitxer s'importaran amb marques de temps no vàlides. La informació de temps es podrà afegir mitjançant el botó Afegeix o la introducció manual. També és possible importar la lletra mitjançant còpia i enganxat utilitzant Des del porta-retalls. La lletra sincronitzada es pot escriure en els fitxers LRC utilitzant Exporta. Recordeu que només s'exportaran les entrades amb marques de temps vàlides i que les entrades s'ordenaran per hora. Les entrades amb temps no vàlid no s'emmagatzemaran en el marc SYLT, així que assegureu-vos d'incloure tota la informació de temps abans de deixar el diàleg.

L'especificació ID3 suggereix una marca de temps per a cada síl·laba. No obstant això, la majoria dels reproductors només admeten la granularitat d'una línia o frase. Per a admetre ambdós casos d'ús, el Kid3 segueix les mateixes convencions que l'editor SYLT. Se suposa que el text que s'introdueix a la taula començarà una línia nova a menys que comenci amb un espai o un guió. Les excepcions a aquesta regla són possibles quan es comença una línia amb un guió baix («_») per a forçar la continuació o una marca de numeral («#») per a forçar una línia nova. Aquests caràcters d'escapament no s'emmagatzemaran dins del marc SYLT. Dins del marc SYLT, les línies noves començaran amb un caràcter d'avanç de línia (0A hexadecimal) mentre que les continuacions no. En llegir els marcs SYLT, el Kid3 comprovarà si la primera entrada comença amb un salt de línia. Si aquest no és el cas, se suposarà que totes les entrades són línies noves i que no s'utilitzen continuacions de síl·laba.

Mentre es reprodueix la peça, es ressaltarà la fila associada amb la posició de reproducció actual, de manera que es pugui verificar l'exactitud de la informació de sincronització. Si s'ha d'afegir un desplaçament a una o més marques de temps, això es pot aconseguir amb l'entrada Afegeix un desplaçament... des del menú contextual. Els valors negatius es poden utilitzar per a reduir el temps. Utilitzant l'entrada Ves a la posició des del menú contextual, és possible establir la fila seleccionada amb el temps de la posició de reproducció.

Procediment recomanat per a afegir una lletra sincronitzada nova

- Obteniu la lletra sense sincronitzar, p. ex., utilitzant l'element Lletra → Lletra incrustada des del menú contextual a la llista de fitxers.

- Copieu al porta-retalls la lletra sense sincronitzar, simplement aneu a la fila Lletra a la taula de marcs i premeu Ctrl+C.

- Afegiu un marc de lletra sincronitzada (Afegeix..., Lletra, D'acord), feu clic a Des del porta-retalls.

- Ara totes les línies de la lletra sense sincronitzar estaran a la taula, totes les marques de temps no seran vàlides (0:0:0,00). Per endavant, podreu suprimir les entrades buides.

- Comenceu a reproduir la cançó fent clic al botó de reproducció ► que es troba a la barra d'eines de reproducció a la part inferior de la finestra principal.

- Quan aparegui la següent línia de la lletra amb una marca de temps no vàlida, feu clic a Afegeix o premeu Alt+A, la marca de temps serà actualitzada.

- Continueu així fins que s'estableixin totes les marques de temps. Si s'ha perdut alguna cosa, atureu la reproducció i netegeu les marques de temps amb la tecla Supr o seleccionant-les i utilitzant Neteja des del menú contextual. Per a tornar a iniciar la reproducció des d'una marca de temps en concret, utilitzeu Ves a la posició des del menú contextual.

### Capítols en els fitxers MP4

Els audiollibres MP4 normalment solen tenir una extensió `.m4b` i són bastant grans perquè contenen tots els capítols en un sol fitxer. Per a navegar en aquests fitxers, poden contenir marques de capítols, que es poden editar en el Kid3 en un pseudomarc de «Capítols» utilitzant el mateix editor que s'utilitza per a les lletres sincronitzades. No obstant això, cal tenir en compte que aquesta característica només està disponible amb el connector Mp4v2Metadata, així que assegureu-vos que està activat i per sobre del connector TaglibMetadata a la pestanya Connectors de la configuració si heu d'editar capítols MP4.

## El menú Fitxer

Fitxer → Obre... (Ctrl+O)

  Obre una carpeta. Tots els fitxers que coincideixin amb el filtre del nom de fitxer seleccionat es mostraran en el quadre de llista de fitxers i se seleccionarà el fitxer triat.

Fitxer → Obre'n una recent

  Obre una carpeta que ha estat oberta recentment.

Fitxer → Obre una carpeta... (Ctrl+D)

  Obre una carpeta. Tots els fitxers que coincideixin amb el filtre del nom de fitxer seleccionat es mostraran en el quadre de llista de fitxers.

Fitxer → Torna a carregar (F5)

  Torna a carregar la carpeta. Primer s'hauran de desar tots els fitxers modificats. Les subcarpetes expandides es contrauran.

Fitxer → Desa (Ctrl+S)

  Desa tots els fitxers modificats a la carpeta. Els fitxers modificats es marcaran amb un símbol de disc al quadre de llista de fitxers. Si s'ha canviat algun nom de fitxer, es canviarà el nom d'aquests fitxers.

Fitxer → Reverteix

  Reverteix els canvis d'un o múltiples fitxers. Si no se seleccionen fitxers en el quadre de llista de fitxers, es revertiran els canvis de tots els fitxers. En cas contrari, només es revertiran els canvis dels fitxers seleccionats.

Fitxer → Importa...

  El diàleg Importa es pot utilitzar per a importar les dades directament des d'un servidor freedb.org, des d'un servidor MusicBrainz, des de Discogs, Amazon o altres fonts de llistes de peces d'àlbum en un format de text.

  És possible la importació des d'un servidor freedb.org utilitzant un diàleg que apareix quan a Des del servidor: se selecciona gnudb.org. L'artista i el nom de l'àlbum per a cercar es poden introduir en els dos camps de sobre, els àlbums que coincideixin amb la consulta apareixeran quan feu clic a Cerca i es rebran els resultats des de www.gnudb.org. La importació de les dades de les peces per a un àlbum es realitza fent doble clic sobre l'àlbum a la llista. Es pot seleccionar el servidor freedb.org per a importar, així com el camí CGI. Les dades importades es mostraran a la taula de vista prèvia del diàleg d'importació. Quan estigueu satisfet amb les peces mostrades, es podran importar finalitzant el diàleg d'importació amb D'acord.

  Si ja teniu obert un resultat de cerca al navegador web, podeu introduir l'URL al primer camp de cerca. El resultat apareixerà a la llista d'àlbums i es podrà importar directament al Kid3.

  Es pot fer una cerca al servidor Discogs utilitzant Discogs. Com en el diàleg gnudb.org, podreu introduir l'artista i àlbum, i després triar des d'una llista de llançaments. Es pot introduir un Testimoni: per a utilitzar l'API RESTful de Discogs en lloc de la seva interfície web, la qual canvia sovint, trencant així l'analitzador d'importació. Heu de registrar-vos per a obtenir un compte a Discogs i després generar un testimoni al seu lloc web (Settings/Developers, Generate new token -Arranjament/Desenvolupadors, Genera un testimoni nou). No us oblideu de prémer el botó Desa la configuració després d'introduir el testimoni per a emprar-lo també en les sol·licituds posteriors. Si es marca Etiquetes estàndard, s'importarà la informació estàndard, p. ex., artista, àlbum i títol. Si es marca Etiquetes addicionals, s'importarà més informació si està disponible, p. ex., intèrprets, arranjadors o l'editor. Si es marca la Caràtula, es descarregarà la caràtula si està disponible.

  Es pot fer una cerca al servidor Amazon utilitzant Amazon. Com en el diàleg gnudb.org, podreu introduir l'artista i àlbum, i després triar d'una llista de llançaments. Si es marca Etiquetes addicionals, s'importarà més informació si està disponible, p. ex., intèrprets, arranjadors o l'editor. Si es marca la Caràtula, es descarregarà la caràtula si està disponible.

  Podreu fer cerques de la mateixa manera que amb la base de dades de llançament de MusicBrainz utilitzant Des del Llançament de MusicBrainz. El flux de treball és el mateix que es descriu per a Des de gnudb.org.

  És possible la importació des d'un servidor MusicBrainz utilitzant el diàleg que apareix quan se selecciona Des de l'Empremta digital de MusicBrainz. El servidor es pot seleccionar com en el diàleg d'importació de freedb. A sota es mostrarà una taula mostrant les dades importades de les peces. La columna de la dreta mostrarà l'estat de la consulta a MusicBrainz, la qual comença amb «Pendent» quan s'obre el diàleg. Després, se cercarà l'empremta digital i, si no produeix un resultat, s'intentarà una altra cerca utilitzant les etiquetes al fitxer. Per tant, pot ser útil per a una consulta amb èxit a MusicBrainz i així emmagatzemar la informació coneguda (p. ex., artista i àlbum) en les etiquetes abans de fer la importació. Si es troba un resultat, la cerca acabarà amb l'estat «Reconeguda», en cas contrari és que no s'ha trobat res o que s'han obtingut múltiples resultats ambigus i l'usuari n'haurà de seleccionar un. Accepta i Aplica utilitzaran les dades importades, Cancel·la tancarà el diàleg. El tancament pot trigar una estona, ja que s'haurà de tancar tota la maquinària del MusicBrainz.

  Per a la importació de dades textuals, Des del fitxer/porta-retalls... obrirà un subdiàleg, on hi haurà disponibles diversos formats d'importació preconfigurats. Els dos primers, «CSV sense cometes» i «CSV amb cometes» es poden fer servir per a importar les dades que s'han exportat mitjançant el diàleg Exporta. Les dades CSV es podran editar amb un full de càlcul i s'escriuran emprant tabulacions com a delimitadors. La importació hauria de ser possible utilitzant «CSV amb cometes», el qual és més flexible que el «CSV sense cometes». No obstant això, els seus camps no poden contenir cometes dobles. Si només exporteu des del Kid3 i importeu més tard, es pot utilitzar el «CSV sense cometes» com un format senzill per a aquesta finalitat. Recordeu que també hi ha les ordres «Exporta a CSV» i «Importa des de CSV» al menú contextual de la llista de fitxers, les quals utilitzen scripts per a exportar i importar les dades CSV d'una manera més completa, potent i flexible.

  El següent format, «Text HTML de freedb», es pot utilitzar per a copiar la informació des d'una pàgina HTML de freedb.org. Cerqueu un àlbum a freedb i si la informació desitjada es mostra en el navegador web, copieu el contingut al porta-retalls. Després feu clic al botó Des del porta-retalls i les peces importades es mostraran a la taula de vista prèvia a la part superior del diàleg. Si esteu satisfet amb les dades importades, finalitzeu el diàleg amb D'acord, el qual inserirà les dades en les etiquetes de la carpeta actual. La destinació (Etiqueta 1, Etiqueta 2 o Etiqueta 1 i Etiqueta 2) es pot seleccionar amb un quadre combinat. Els fitxers a la carpeta actual hauran d'estar en l'ordre de peces correcte per a assignar les seves etiquetes. Aquest serà el cas si estan numerades.

  Si les dades estan disponibles com un document HTML, es podrà utilitzar el següent format d'importació preconfigurat, «Font HTML des de freedb». La importació és possible utilitzant el botó Des del fitxer..., el qual obrirà un selector de fitxers, o copiant el seu contingut des d'un editor i després important des del porta-retalls. Aquest format pot ser útil per a la importació sense connexió, tot i que el document HTML també podria obrir-se en un navegador i després importar-se en el primer format mitjançant el porta-retalls.

  Hi ha disponibles més formats preconfigurats, p. ex., «Temps del títol de la peça». Es pot crear un format personalitzat buit amb Afegeix perquè sigui configurat per l'usuari. Es poden establir dues línies a sota del nom del format amb una expressió regular per a capturar els camps de text a importar. S'analitzarà la primera expressió regular un cop per document per a recopilar les dades per àlbum; com ara l'artista, àlbum, any i gènere. La segona línia intenta fer coincidir des del començament del document fins al final per a obtenir les dades de les peces, generalment el número i títol. Les expressions regulars inclouen totes les característiques que ofereixen les Qt™, les quals són la major part del que ofereix Perl. Les construccions de parèntesis «(..)» creen memòries intermèdies de captura per als camps a importar i estan precedides per codis específics del Kid3 per a especificar quin camp capturar. Els codis són els mateixos que es fan servir per al format del nom de fitxer, a més dels codis llistats a continuació, és possible qualsevol nom de marc:

  - %s %{title} Títol (cançó)

  - %a %{artist} Artista

  - %l %{album} Àlbum

  - %c %{comment} Comentari

  - %y %{year} Any

  - %t %{track} Peça

  - %g %{genre} Gènere

  - %d %{duration} Durada

  Per exemple, una expressió regular de peça (segona línia) per a importar des d'una llista de reproducció `.m3u` podria ser «`%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]`». Tots els formats es poden canviar editant les expressions regulars i el nom, i després fent clic a Desa la configuració. S'emmagatzemaran al fitxer `kid3rc` a la carpeta de configuració. Aquest fitxer es pot editar directament per a tenir més formats d'importació o es pot eliminar per a tornar als formats predeterminats. Els formats es poden eliminar amb Elimina.

  La Precisió: mostra una estimació de com és de bona la coincidència de la informació importada amb les peces indicades. Utilitza durades de peça o noms de fitxer per a calcular el nivell de similitud en percentatge. La Caràtula: mostra l'URL de la imatge per a la portada de l'àlbum que es descarregarà.

  Per a comprovar si les peces importades coincideixen amb el conjunt actual de fitxers, es pot comparar la durada de les peces importades amb la durada dels fitxers. Aquesta opció es pot habilitar amb la casella de selecció Comprova la diferència màxima de temps permesa (seg): i la diferència de temps màxima tolerada es pot establir en segons. Si es detecta una manca de coincidència en una durada, la durada es mostrarà amb un fons vermell a la taula de vista prèvia.

  Si els fitxers estan ordenats de manera diferent que les peces importades, les peces assignades s'hauran de canviar. Aquesta tasca es pot facilitar utilitzant l'opció Coincideix amb: amb els botons Durada, Peça i Títol, la qual reordenarà les peces d'acord amb el camp corresponent. Per a corregir les assignacions manualment, es pot arrossegar una peça amb el botó esquerre del ratolí i mantenint premuda la tecla Ctrl, i després deixar-la anar a la nova ubicació.

  Quan s'obri el diàleg d'importació, aquest contindrà el contingut real de les etiquetes. El tipus d'etiqueta (Etiqueta 1, Etiqueta 2, Etiqueta 1 i Etiqueta 2) es podrà seleccionar utilitzant el quadre combinat Destinació:. El botó a la dreta d'aquest quadre combinat es pot utilitzar per a revertir la taula al contingut actual de les etiquetes. Es poden utilitzar les caselles de selecció a la primera columna de la taula per a seleccionar les peces que s'importaran. Això pot ser útil si una carpeta conté les peces d'ambdós CD d'un CD doble i només s'han d'importar les peces del segon CD.

  Per a identificar les pistes que s'importaran, és possible mostrar els noms de fitxer o els camins sencers als fitxers utilitzant el menú contextual a la capçalera de la taula. Els valors en la taula d'importació es poden editar. El botó Reverteix que hi ha a la dreta del quadre combinat Destinació: es pot utilitzar per a restaurar el contingut de les etiquetes, el qual també pot ser útil després de canviar la Destinació:.

  Gairebé tots els diàlegs tenen un botó Desa la configuració, el qual es pot utilitzar per a emmagatzemar les opcions de configuració específiques del diàleg i fer que la mida de la finestra sigui persistent.

  Des de les etiquetes... porta a un subdiàleg per a establir els marcs de les etiquetes a partir del contingut d'altres marcs d'etiqueta. Es pot utilitzar per a simplement copiar la informació entre les etiquetes o extreure una part d'un marc i inserir-la en un altre.

  Com en el diàleg Importa des del fitxer/porta-retalls, hi ha formats lliurement configurables per a realitzar diferents operacions. Són formats que ja estan preconfigurats per a copiar el valor de l'Àlbum a l'Artista, Compositor o Director de l'àlbum, i per a extreure el número de la peça dels camps Títol que contenen un número. També hi ha un format per a extreure un subtítol des d'un camp Títol.

  El següent exemple explica com afegir un format personalitzat, el qual estableix la informació del camp Subtítol també en el camp Comentari. Creeu un format nou amb el botó Afegeix i establiu un nom nou, p. ex., «Comentari per al subtítol». Després introduïu «`%{subtitle}`» a Font: i «`%{comment}(.*)`» per a Extracció: i feu clic a Desa la configuració.

  L'expressió a Font: pot contenir codis de format per a marcs d'etiqueta arbitraris, es poden utilitzar múltiples codis per a combinar el contingut de diferents marcs. Per a cada pista, es generarà un text a partir de les seves etiquetes utilitzant el format Font:, i l'expressió regular des d'Extracció: s'aplicarà a aquest text per a establir valors nous per a les etiquetes. Els codis de format s'utilitzen abans dels parèntesis de captura per a especificar el marc de l'etiqueta on s'emmagatzemarà el text capturat. Funciona de la mateixa manera que per a Importar des d'un fitxer/porta-retalls.

  Importa des de les etiquetes... també està disponible directament des del menú Fitxer. La diferència entre aquestes dues funcions és que el subdiàleg del diàleg d'importació funciona sobre tots els fitxers de la carpeta actual, mentre que la funció de menú funciona sobre els fitxers seleccionats (els quals poden estar en carpetes diferents). La funció de menú admet un codi addicional «`%{__return}`» per a retornar el valor extret, el qual pot ser útil amb les interfícies CLI i QML.

Fitxer → Importa des de gnudb.org...

  Importa des d'un servidor freedb.org utilitzant la cerca d'àlbums de gnudb.org. Aquest element de menú obrirà el mateix diàleg d'importació que Importa..., però obrirà directament el diàleg de gnudb.org.

Fitxer → Importa des de Discogs...

  Importa des d'un servidor Discogs. Aquest element de menú obrirà el mateix diàleg d'importació que Importa..., però obrirà directament el diàleg de Des de Discogs.

Fitxer → Importa des d'Amazon...

  Importa des d'Amazon. Aquest element de menú obrirà el mateix diàleg d'importació que Importa..., però obrirà directament el diàleg de Des d'Amazon.

Fitxer → Importa des de Llançament de MusicBrainz...

  Importa des d'una base de dades de Llançament de MusicBrainz. Aquest element de menú obrirà el mateix diàleg d'importació que Importa..., però obrirà directament el diàleg Des del Llançament de MusicBrainz.

Fitxer → Importa des de l'Empremta digital de MusicBrainz...

  Importa des d'un servidor de MusicBrainz. Aquest element de menú obrirà el mateix diàleg d'importació que Importa..., però obrirà directament el diàleg Des de l'Empremta digital de MusicBrainz.

Fitxer → Importa des de les etiquetes...

  Com Des de les etiquetes, però la importació s'aplicarà als fitxers seleccionats.

Fitxer → Importa automàticament...

  La importació automàtica permet importar la informació per a múltiples àlbums des de diversos serveis web. Si se seleccionen carpetes a la llista de fitxers, s'importaran les dades de les peces per a les carpetes seleccionades. Si no se selecciona cap carpeta, s'importaran totes les carpetes a la llista de fitxers.

  Es pot seleccionar el tipus d'etiqueta (Etiqueta 1, Etiqueta 2, Etiqueta 1 i Etiqueta 2) utilitzant el quadre combinat Destinació:.

  Els perfils determinen quins servidors seran contactats per a obtenir la informació de l'àlbum. Alguns perfils estan predefinits (Tots, MusicBrainz, Discogs, Caràtula), es poden afegir perfils personalitzats emprant el botó Afegeix que hi ha a la dreta del quadre combinat Perfil:.

  La següent taula mostra els servidors que s'utilitzaran en importar la informació de l'àlbum utilitzant el perfil seleccionat. El procés d'importació per a un àlbum finalitzarà si s'ha trobat tota la informació requerida, per la qual cosa l'ordre de les files a la taula és important. Es pot canviar amb els botons Mou amunt i Mou avall. Es pot emprar Edita... per a canviar una entrada existent. La selecció del Servidor ofereix els mateixos servidors que es poden utilitzar en les funcions d'importació. Les Etiquetes estàndard, Etiquetes addicionals i la Caràtula determinen la informació que s'obtindrà del servidor. Finalment, la Precisió és la precisió mínima que s'haurà d'aconseguir per a acceptar les dades importades. Si la precisió és insuficient, es provarà el següent servidor de la llista. El mateix diàleg que conté les propietats del servidor apareixerà quan feu clic a Afegeix... per a afegir una entrada nova de servidor. Les entrades existents es poden eliminar utilitzant Elimina.

  Per a iniciar una importació automàtica per lots amb el perfil seleccionat, feu clic a Inicia. Els detalls sobre la importació en execució es mostraran a la part superior del diàleg. El procés es pot interrompre amb el botó Interromp.

Fitxer → Explora les caràtules...

  El diàleg Explora les caràtules ajuda a trobar la caràtula de l'àlbum. Si és possible, Artista/Àlbum s'omplirà amb les etiquetes. Font: oferirà una varietat de llocs web amb caràtules d'àlbums. L'URL amb l'artista i l'àlbum com a paràmetres es troba a sota del nom. Els valors codificats en l'URL per a l'artista i l'àlbum es poden inserir utilitzant «`%u{artist}`» i «`%u{album}`», també són possibles altres valors des de les etiquetes, com es descriu a Configurar el Kid3, Accions de l'usuari. Es poden introduir més fonts després de l'entrada «Font personalitzada» en substitució de la «Font personalitzada» amb el nom de la font, prement Retorn, després introduint l'URL i finalment prement Desa la configuració. L'ordre resultant del navegador es mostrarà a la part superior del diàleg i es podrà iniciar fent clic a Explora. El navegador, el qual es pot configurar a les opcions de configuració, s'iniciarà amb la font seleccionada. Després podreu arrossegar una imatge de caràtula des del navegador a la finestra del Kid3 i s'establirà al marc de la imatge dels fitxers seleccionats.

  A causa que no tots els navegadors admeten arrossegar i deixar anar imatges, i les imatges en els llocs web sovint tenen un URL, en aquests casos, el Kid3 rebrà l'URL i no la imatge. Si l'URL apunta a una imatge, es descarregarà. No obstant això, si l'URL es refereix a algun altre recurs web, s'haurà de traduir a la imatge corresponent. Aquestes assignacions es defineixen a la taula Extracció de l'URL. La columna esquerra Coincidència conté una expressió regular que es compararà amb l'URL. Si coincideix, les expressions capturades entre parèntesis s'inseriran en el patró de la columna dreta URL de la imatge (en les posicions marcades amb \1, etc.) L'expressió regular substituïda contindrà l'URL de la imatge. D'aquesta manera, la caràtula es podrà importar des d'Amazon, Google Images, etc., mitjançant arrossegar i deixar anar. També és possible definir les vostres pròpies assignacions.

Fitxer → Exporta...

  El diàleg Exporta s'utilitza per a emmagatzemar les dades de les etiquetes en un fitxer o al porta-retalls. L'editor a la part superior mostrarà una vista prèvia de les dades a exportar. Si les dades d'exportació contenen caràcters de tabulació, l'exportació es mostrarà en una taula. Les dades es generaran a partir de les etiquetes a la carpeta actual d'acord amb el format configurat.

  La configuració del format és similar a la del diàleg Importa: el camp superior conté el títol (p. ex., «CSV sense cometes»), seguit de la capçalera, el qual es generarà al començament del fitxer. Segueixen les dades de la peça -s'utilitzaran per a cada peça-. Finalment, el tràiler es podrà utilitzar per a generar algun text final.

  Els camps de format no contenen expressions regulars com en el diàleg Importa, sinó només expressions del format de la sortida amb expressions «%» especials, les quals seran substituïdes pels valors de les etiquetes. Tot funciona com el format del nom de fitxer, i s'utilitzen els mateixos codis més alguns codis addicionals. No només es podran fer servir els codis llistats a continuació, sinó també tots els noms dels marcs d'etiqueta.

  - %s %{title} Títol (cançó)

  - %a %{artist} Artista

  - %l %{album} Àlbum

  - %c %{comment} Comentari

  - %y %{year} Any

  - %t %{track} Peça (p. ex., 01)

  - %t %{track.n} Peça amb l'amplada del camp «n» (p. ex., 001 per a %{track.3})

  - %T %{tracknumber} Peça (sense zeros a l'esquerra, p. ex., 1)

  - %g %{genre} Gènere

  - %f %{file} Nom del fitxer

  - %p %{filepath} Camí

  - %{modificationdate} Data de modificació

  - %{creationdate} Data de creació

  - %u %{url} URL

  - %{dirname} Nom de la carpeta

  - %d %{duration} Durada en minuts:segons

  - %D %{seconds} Durada en segons

  - %n %{tracks} Nombre de peces de l'àlbum

  - %e %{extension} Extensió del fitxer

  - %O %{tag1} El format de l'etiqueta 1 (ID3 versió 1.1 o buida si no existeix)

  - %o %{tag2} El format de l'etiqueta 2 (ID3 versió 2.3.0, 2.4.0, 2.2.0, 2.2.1, Vorbis, APE, MP4, ASF o buida si no existeix)

  - %b %{bitrate} Taxa de bits en kbit/s

  - %v %{vbr} VBR o buida (només per a l'ID3 versió 2.3 amb la id3lib)

  - %r %{samplerate} Freqüència de mostreig en Hz

  - %m %{mode} Mode del canal (Estèreo o Estèreo combinat)

  - %h %{channels} Nombre de canals (1 o 2)

  - %k %{codec} Còdec (p. ex., MPEG 1 Capa 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF o WAV)

  Hi ha alguns formats predefinits. «CSV sense cometes» separarà els camps per pestanyes. Les dades en aquest format es podran importar de nou al Kid3 utilitzant el format d'importació amb el mateix nom. «CSV amb cometes» també inclourà els camps entre cometes dobles, el qual facilitarà la importació en les aplicacions de full de càlcul. No obstant això, els camps no hauran de contenir cometes dobles quan s'utilitza aquest format. «M3U estès» i «PLS estès» generaran llistes de reproducció amb atributs estesos i noms de camí absoluts. «HTML» es pot utilitzar per a generar una pàgina HTML amb enllaços a les peces. «XML del Kover» crearà un fitxer el qual podrà importar des del programa d'impressió de caràtules Kover. «Detalls tècnics» proporcionarà la informació sobre la velocitat dels bits, la freqüència de mostreig, els canals, etc. Finalment, el "Format personalitzat" es deixarà buit per a la definició d'un format personalitzat. Podreu definir més formats propis afegint línies al fitxer `kid3rc` a la carpeta de la configuració. Els altres formats es podran adaptar a les vostres necessitats.

  La Font: de les etiquetes per a generar les dades d'exportació (Etiqueta 1 o Etiqueta 2) es podrà seleccionar amb un quadre combinat. Prement A un fitxer... o Al porta-retalls s'emmagatzemaran les dades en un fitxer o al porta-retalls. D'acord i Cancel·la tancaran el diàleg, mentre que D'acord acceptarà la configuració del diàleg actual.

Fitxer → Crea una llista de reproducció...

  Crearà una llista de reproducció. El format i el contingut de la llista de reproducció es poden establir mitjançant diverses opcions.

  El nom de la llista de reproducció pot ser El mateix, com el nom de la carpeta o utilitzar un Format: amb els valors de les etiquetes, p. ex., «`%{artist} - %{album}`» per a tenir el nom de l'artista i l'àlbum en el nom del fitxer de llista de reproducció. Els codis de format són els mateixos que per a Exporta. La llista de formats disponibles es pot editar a la secció Format de la pestanya Fitxers a la configuració. Crea una nova llista de reproducció buida: crearà una llista de reproducció buida amb el nom indicat. L'extensió dependrà del format de la llista de reproducció.

  La ubicació de la llista de reproducció generada estarà determinada per la selecció del quadre combinat Crea dins:.

  Carpeta actual

    Es crearà la llista de reproducció a la carpeta actual i només contindrà els fitxers de la carpeta actual. La carpeta actual serà la carpeta on es troba el fitxer actual. Si se seleccionen múltiples fitxers, el fitxer actual probablement serà l'últim fitxer seleccionat.

  Cada carpeta

    Es crearà una llista de reproducció a cada carpeta que contingui els fitxers llistats, i cada llista de reproducció contindrà els fitxers en aquesta carpeta.

  Carpeta de nivell superior

    Només crearà una llista de reproducció a la carpeta de nivell superior (és a dir, la carpeta de la llista de fitxers) i contindrà els fitxers llistats a la carpeta de nivell superior i totes les seves subcarpetes.

  El Format: de la llista de reproducció pot ser M3U, PLS o XSPF.

  Si es marca Inclou només els fitxers seleccionats, només s'inclouran els fitxers seleccionats a la llista de reproducció. Si se selecciona una carpeta, se seleccionaran tots els seus fitxers. Si aquesta casella de selecció no està marcada, s'inclouran tots els fitxers d'àudio a la llista de reproducció.

  Ordena per nom de fitxer seleccionarà el cas habitual on els fitxers s'ordenen per nom de fitxer. Amb Ordena pel camp de l'etiqueta, és possible ordenar per una cadena de format amb els valors dels camps d'etiqueta. Per exemple, «`%{track.3}`» es pot utilitzar per a ordenar per número de peça (el «`.3`» s'utilitza per a obtenir tres dígits amb zeros a l'esquerra, de manera que les cadenes s'utilitzaran per a ordenar). També és possible utilitzar múltiples camps, p. ex., «`%{genre}%{year}`» per a ordenar utilitzant una cadena composta del gènere i any.

  Les entrades a la llista de reproducció tindran camins de fitxer relatius o absoluts depenent de si s'estableix Empra un camí relatiu per als fitxers a la llista de reproducció o Empra un camí absolut per als fitxers a la llista de reproducció.

  Quan s'estableix Escriu només la llista de fitxers, la llista de reproducció només contindrà els camins als fitxers. Per a generar una llista de reproducció estesa amb informació addicional, es podrà establir una cadena de format utilitzant el control Escriu la informació usant.

Fitxer → Surt (Ctrl+Q)

  Surt de l'aplicació.

## El menú Edita

Edita → Selecciona-ho tot (Alt+A)

  Selecciona tots els fitxers.

Edita → Desselecciona (Ctrl+Maj+A)

  Desselecciona tots els fitxers.

Edita → Selecciona-ho tot a la carpeta

  Selecciona tots els fitxers en la carpeta actual.

Edita → Fitxer anterior (Alt+Fletxa amunt)

  Selecciona el fitxer anterior.

Edita → Fitxer següent (Alt+Fletxa avall)

  Selecciona el fitxer següent.

Edita → Cerca... (Ctrl+F)

  Cerca les cadenes en els noms de fitxer i les etiquetes. El diàleg Cerca és un subconjunt del diàleg Substitueix, el qual es descriu a continuació.

Edita → Substitueix... (Ctrl+R)

  Aquesta funció obrirà un diàleg per a cercar i substituir les cadenes en els noms de fitxer i les etiquetes. El conjunt de marcs on es realitza la cerca es pot restringir desactivant la casella de selecció Selecciona-ho tot i seleccionant els marcs que se cercaran. També hi ha opcions de cerca disponibles per a cercar cap enrere, majúscules i minúscules, i per a utilitzar expressions regulars.

  Depenent de la quantitat de fitxers, la cerca es podria demorar una mica, per tant, es podrà interrompre tancant el diàleg.

## El menú Eines

Eines → Aplica el format del nom de fitxer

  Quan Aplica automàticament el format està desactivada per al format del nom de fitxer en el diàleg de configuració, aquest element de menú es podrà utilitzar per a aplicar el format configurat als noms dels fitxers seleccionats. Això també es pot fer servir per a comprovar si els noms dels fitxers s'ajusten al format configurat aplicant el format a tots els fitxers desats i després comprovant si es van modificar els fitxers (i, per tant, es van marcar amb un símbol de disc en el quadre de llista de fitxers).

Eines → Aplica el format de l'etiqueta

  Quan Aplica automàticament el format està desactivada per al format de l'etiqueta en el diàleg de configuració, aquest element de menú es podrà utilitzar per a aplicar el format configurat a les etiquetes dels fitxers seleccionats. Això també es pot fer servir per a comprovar si els noms dels fitxers s'ajusten al format configurat aplicant el format a tots els fitxers desats i després comprovant si es van modificar els fitxers (i, per tant, es van marcar amb un símbol de disc en el quadre de llista de fitxers).

Eines → Aplica la codificació del text

  Estableix la Codificació del text seleccionada a Arranjament → Configura el Kid3... → secció Etiquetes → pestanya Etiqueta 2 per a tots els fitxers seleccionats. Si se selecciona UTF8, s'usarà UTF16 per a les etiquetes ID3 versió 2.3.0 perquè UTF8 no s'admet amb aquest format.

Eines → Reanomena la carpeta...

  Aquest diàleg ofereix la possibilitat de canviar automàticament el nom de la carpeta actualment oberta d'acord amb les etiquetes en els fitxers. Hi ha preconfigurats diversos formats per a incloure la informació sobre l'artista, l'àlbum i l'any en el nom de la carpeta. També és possible establir un format personalitzat i fer Edita sobre la llista de formats disponibles. S'utilitzaran els següents codis especials per a inserir valors d'etiqueta en el nom de la carpeta:

  - %s %{title} Títol (cançó)

  - %a %{artist} Artista

  - %l %{album} Àlbum

  - %c %{comment} Comentari

  - %y %{year} Any

  - %t %{track} Peça (p. ex., 01)

  - %t %{track.n} Peça amb l'amplada del camp «n» (p. ex., 001 per a %{track.3})

  - %T %{tracknumber} Peça (sense zeros a l'esquerra, p. ex., 1)

  - %g %{genre} Gènere

  - %{dirname} Nom de la carpeta (p. ex., %{year" "}%{dirname} anteposarà l'any al nom de la carpeta actual)

  - %{max-year} El valor d'any màxim trobat per a aquesta carpeta, també es pot emprar amb altres codis que no siguin «year»

  - %{min-year} El valor d'any mínim trobat per a aquesta carpeta

  - %{unq-year} El valor d'any únic trobat per a aquesta carpeta o bé si no és únic

  Si en el format es troba un separador de carpeta «/», es crearan múltiples carpetes. Per a crear una carpeta nova en lloc de canviar el nom de la carpeta actual, al quadre combinat Acció: seleccioneu Crea una carpeta en lloc de Reanomena la carpeta. La Font: de la informació de les etiquetes es pot triar entre Etiqueta 1 i etiqueta 2, Etiqueta 1 i Etiqueta 2. Al diàleg es disposarà d'una vista prèvia de l'operació del canvi de nom realitzada en el primer fitxer a les seccions Des de: i A:.

  Es podrà canviar el nom de múltiples carpetes seleccionant-les.

Eines → Números de les peces...

  Si els números de peça a les etiquetes no estan establerts o tenen valors incorrectes, aquesta funció podrà donar número automàticament a les peces en ordre ascendent. El número d'inici es podrà establir en el diàleg. Si només s'han de numerar part de les peces, s'hauran de seleccionar.

  Quan es marca Nombre total de peces:, també s'establirà en les etiquetes el nombre de peces.

  És possible donar número a les pistes en múltiples carpetes. S'hauran d'expandir i seleccionar les carpetes.

  Si es marca Restableix el comptador en cada carpeta, la numeració de les peces es reiniciarà amb el número donat per a cada carpeta quan se seleccionen múltiples carpetes.

  El diàleg Números de les peces també es pot utilitzar per a donar format als números de les peces existents sense canviar els valors quan la casella de selecció esquerra a Número d'inici: està desactivada. El nombre total de peces s'afegirà si la casella de selecció corresponent està activa, el qual es pot utilitzar per a establir el total de totes les pistes seleccionades. Si només es vol donar format als números existents, també s'haurà de desactivar aquesta casella de selecció.

Eines → Filtre...

  El filtre es pot utilitzar per a mostrar només aquells fitxers que coincideixin amb certs criteris. Això és útil si voleu organitzar una gran col·lecció i només editar els fitxers que no estan en l'esquema desitjat. L'expressió que defineix quins fitxers mostrar utilitza els mateixos codis de format que s'utilitzen en el format del nom de fitxer, importar i exportar.

  - %s %{title} Títol (cançó)

  - %a %{artist} Artista

  - %l %{album} Àlbum

  - %c %{comment} Comentari

  - %y %{year} Any

  - %t %{track} Peça (p. ex., 01)

  - %t %{track.n} Peça amb l'amplada del camp «n» (p. ex., 001 per a %{track.3})

  - %T %{tracknumber} Peça (sense zeros a l'esquerra, p. ex., 1)

  - %g %{genre} Gènere

  - %f %{file} Nom del fitxer

  - %p %{filepath} Camí absolut cap al fitxer

  - %e %{extension} Extensió del fitxer

  - %O %{tag1} El format de l'etiqueta 1 (ID3 versió 1.1 o buida si no existeix)

  - %o %{tag2} El format de l'etiqueta 2 (ID3 versió 2.3.0, 2.4.0, 2.2.0, 2.2.1, Vorbis, APE, MP4, ASF o buida si no existeix)

  - %b %{bitrate} Taxa de bits en kbit/s

  - %v %{vbr} VBR o buida (només per a l'ID3 versió 2.3 amb la id3lib)

  - %r %{samplerate} Freqüència de mostreig en Hz

  - %m %{mode} Mode del canal (Estèreo o Estèreo combinat)

  - %h %{channels} Nombre de canals (1 o 2)

  - %k %{codec} Còdec (p. ex., MPEG 1 Capa 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF o WAV)

  - %w %{marked} Marcat, serà 1 si el fitxer està marcat (p. ex., per trencament o violació de l'estàndard), en cas contrari estarà buida

  - %1a %1{artist}, ... Empra el prefix 1 per a obtenir els valors de l'etiqueta 1

  - %2a %2{artist}, ... Empra el prefix 2 per a obtenir els valors de l'etiqueta 2

  Aquests codis se substituiran amb els valors del fitxer, i les cadenes resultants es podran comparar amb les següents operacions:

  - s1 és igual que s2: cert si s1 i s2 són iguals.

  - s1 conté s2: cert si s1 conté s2, és a dir, s2 és una subcadena de s1.

  - «s» coincideix amb «re»: cert si «s» coincideix amb l'expressió regular «re».

  Les expressions veritables se substituiran per «1», les falses per «0». Els valors veritables es representen per «1», «cert», «actiu» i «sí», els valors falsos per «0», «fals», «inactiu» i «no». Les operacions booleanes són «no», i, «o» (en aquest ordre de precedència) i es poden agrupar entre parèntesis.

  Hi ha predefinides algunes regles de filtre i poden servir com a exemples per a les vostres pròpies expressions:

  Tot

    Quan es filtra la llista de fitxers -això es mostra amb «[filtrada]» al títol de la finestra- i es mostren de nou tots els fitxers, el filtratge es podrà revertir utilitzant aquest filtre. Utilitza una expressió buida, però un valor veritable tindria el mateix efecte.

  L'etiqueta del nom de fitxer no coincideix

    `(%{filepath} no conté "%{artist} - %{album}/%{track} %{title}")`

    Comprova si el camí del fitxer s'ajusta al format del nom del fitxer. Aquesta regla s'adaptarà automàticament si canvia el format del nom del fitxer.

  Sense etiqueta 1

    `%{tag1} igual que ""`

    Només mostra els fitxers que no tenen una etiqueta 1.

  Sense etiqueta 2

    `%{tag2} igual que ""`

    Només mostra els fitxers que no tenen una etiqueta 2.

  Etiqueta ID3 versió 2.3.0

    `%{tag2} igual que "ID3 versió 2.3.0"`

    Només mostra els fitxers que tenen una etiqueta ID3 versió 2.3.0.

  Etiqueta ID3 versió 2.4.0

    `%{tag2} igual que "ID3 versió 2.4.0"`

    Només mostra els fitxers que tenen una etiqueta ID3 versió 2.4.0.

  Etiqueta 1 != Etiqueta 2

    `no (%1{title} igual que %2{title} i %1{album} igual que %2{album} i %1{artist} igual que %2{artist} i %1{comment} igual que %2{comment} i %1{year} igual que %2{year} i %1{track} igual que %2{track} i %1{genre} igual que %2{genre})`

    Mostra els fitxers amb diferències entre l'etiqueta 1 i l'etiqueta 2.

  Etiqueta 1 == Etiqueta 2

    `%1{title} igual que %2{title} i %1{album} igual que %2{album} i %1{artist} igual que %2{artist} i %1{comment} igual que %2{comment} i %1{year} igual que %2{year} i %1{track} igual que %2{track} i %1{genre} igual que %2{genre}`

    Mostra els fitxers on l'etiqueta 1 i l'etiqueta 2 són idèntiques.

  Incompletes

    `%{title} igual que "" o %{artist} igual que "" o %{album} igual que "" o %{year} igual que "" o %{tracknumber} igual que "" o %{genre} igual que ""`

    Mostra els fitxers amb valors buits a les etiquetes estàndard (títol, artista, àlbum, data, número de la peça, gènere).

  Cap imatge

    `%{picture} igual que ""`

    Només mostra els fitxers que no tenen una imatge.

  Marcada

    `no (%{marked} igual que "")`

    Només mostra els fitxers que estan marcats perquè violen l'estàndard ID3, es trenca o la imatge és massa gran.

  Filtratge personalitzat

    Per a afegir el vostre propi filtre, seleccioneu aquesta entrada. Per exemple, si voleu tenir un filtre per a artistes que comencin amb «El», substituïu «Filtre personalitzat» amb el nom «La banda» i premeu Retorn. Després inseriu la següent expressió a la línia d'edició:

    `%{artist} coincideix amb "El.*"`

    Després feu clic a Desa la configuració. Feu clic a Aplica per a filtrar els fitxers. Tots els fitxers processats es mostraran a la vista de text, amb un «+» per a aquells que coincideixin amb el filtre i un «-» per als altres. Quan acabeu, només es mostraran els fitxers amb un artista que comenci per «El», i el títol de la finestra es marcarà amb «[filtrada]».

Eines → Converteix ID3 versió 2.3 a 2.4

  Si hi ha etiquetes ID3 versió 2.3 en els fitxers seleccionats, es convertiran en etiquetes ID3 versió 2.4. Els marcs que no estiguin admesos per la TagLib seran descartats. Només es convertiran els fitxers sense canvis i que no s'hagin desat.

Eines → Converteix ID3 versió 2.4 a 2.3

  Si hi ha etiquetes ID3 versió 2.4 en els fitxers seleccionats, es convertiran en etiquetes ID3 versió 2.3. Només es convertiran els fitxers sense canvis i que no s'hagin desat.

Eines → Reprodueix

  Obre una barra d'eines senzilla per a reproduir els fitxers d'àudio. Conté botons per a les operacions bàsiques (Reprodueix/Pausa, Atura la reproducció, Peça anterior, Peça següent, Tanca), controls lliscants per a la posició i el volum, i una vista de la posició actual. Si se seleccionen múltiples fitxers, es reproduiran les peces seleccionades. En cas contrari, es reproduiran tots els fitxers.

  El temps mostrat es pot alternar entre el temps transcorregut i el temps restant fent clic a la pantalla.

## El menú Arranjament

Arranjament → Mostra la barra d'eines

  Alterna la visualització de la barra d'eines.

Arranjament → Mostra la barra d'estat

  Alterna la visualització de la barra d'estat, la qual mostra accions més llargues com obrir o desar una carpeta.

Arranjament → Mostra la imatge

  Alterna la visualització de la imatge de vista prèvia per a la caràtula de l'àlbum.

Arranjament → Oculta automàticament les etiquetes

  Les etiquetes buides s'ocultaran automàticament si aquesta opció està activa. Les seccions Fitxer, Etiqueta 1 i Etiqueta 2 es podran contraure i expandir manualment fent clic als botons -/+ corresponents.

Arranjament → Configura les dreceres de teclat...

  Obre un diàleg per a assignar les dreceres de teclat per a la majoria de les funcions del programa. Fins i tot hi ha funcions sense un menú o botó corresponent disponible, p. ex., Fitxer següent, Fitxer anterior o Selecciona-ho tot.

Arranjament → Configura el Kid3...

  Obre el diàleg de configuració, el qual consta de pàgines per a les etiquetes, fitxers, accions de l'usuari i configuració de xarxa.

  Les opcions específiques de les etiquetes es troben a la pàgina Etiquetes, la qual està dividida en quatre pestanyes per a Etiqueta 1, Etiqueta 2, Etiqueta 3 i Totes les etiquetes.

  Si Marca els camps truncats està marcada, els camps truncats ID3 versió 1.1 es marcaran en vermell. Els camps de text de les etiquetes ID3 versió 1.1 només poden contenir 30 caràcters i el comentari només 28 caràcters. A més, el gènere i els números de peça estan restringits, de manera que els camps es poden truncar quan s'importen o transfereixen des d'ID3 versió 2. Els camps truncats i el fitxer es marcaran en vermell, i la marca s'eliminarà una vegada s'hagi editat el camp.

  Amb la Codificació del text per a ID3 versió 1 és possible establir el joc de caràcters utilitzat en les etiquetes ID3 versió 1. Se suposa que aquesta codificació ha de ser ISO-8859-1, de manera que es recomana mantenir aquest valor predeterminat. No obstant això, hi ha etiquetes amb codificacions diferents, de manera que es pot establir aquí i les etiquetes ID3 versió 1 es poden copiar a ID3 versió 2, la qual admet Unicode.

  La casella de selecció Empra el nombre de peces/total del format de les peces controla si el camp del número de peça de les etiquetes ID3 versió 2 conté simplement el número de pista o, a més, el nombre total de peces a la carpeta.

  Quan Genera com a text en lloc d'una cadena numèrica està marcada, tots els gèneres d'ID3 versió 2 s'emmagatzemaran com una cadena de text, fins i tot si hi ha un codi corresponent per als gèneres d'ID3 versió 1. Si no s'estableix aquesta opció, els gèneres per als quals hi ha un codi d'ID3 versió 1 s'emmagatzemaran com el número del codi de gènere (entre parèntesis per a ID3 versió 2.3). Per tant, el gènere Metal s'emmagatzemarà com a «Metal» o «(9)» depenent d'aquesta opció. Els gèneres que no es trobin a la llista de gèneres ID3 versió 1 sempre s'emmagatzemaran com una cadena de text. La finalitat d'aquesta opció és una compatibilitat millorada amb els dispositius que no interpretin correctament els codis de gènere.

  Quan Fitxers WAV amb el bloc id3 en minúscules està marcada, el fragment RIFF utilitzat per a emmagatzemar les etiquetes ID3 versió 2 en els fitxers WAV s'anomenarà «id3» en lloc d'«ID3». De manera predeterminada, el Kid3 i altres aplicacions que fan servir la TagLib admeten tant la variant en minúscules com en majúscules quan llegeixen els fitxers WAV, però fan servir «ID3» quan escriuen les etiquetes ID3 versió 2 en els fitxers WAV. Com a altres aplicacions que només admeten «id3» (p. ex., JRiver Media Center i foobar2000), aquesta opció es pot utilitzar per a crear etiquetes que aquestes aplicacions puguin llegir.

  Quan Marca les infraccions de l'estàndard està marcada, els camps ID3 versió 2 que violen l'estàndard es marcaran en vermell. Els detalls sobre la violació es mostraran en un consell d'eina:

  - Cal que sigui única

  - La línia nova està prohibida

  - El retorn de carro està prohibit

  - El propietari no pot estar buit

  - Ha de ser numèrica

  - Ha de ser numèrica o número/total

  - El format és DDMM

  - El format és HHMM

  - El format és AAAA

  - Ha de començar amb un any i un caràcter espacial

  - Ha de ser la data/hora en l'ISO 8601

  - Ha de ser clau musical, de 3 caràcters, «A-G», «b», «#», «m» o «o»

  - Ha de tenir un codi d'idioma en l'ISO 639-2, 3 caràcters en minúscula

  - Ha de ser un codi ISRC, 12 caràcters en minúscula

  - S'han de llistar les cadenes separades per «|»

  - Hi ha excés en l'espai en blanc

  Els documents de l'estàndard ID3 estan disponibles en línia:

  - Etiqueta ID3 versió 2.3.0

  - Etiqueta ID3 versió 2.4.0: estructura principal

  - Etiqueta ID3 versió 2.4.0: marcs natius

  La Codificació del text defineix la codificació predeterminada emprada per als marcs ID3 versió 2 i es pot establir en l'ISO-8859-1, UTF16 o UTF8. L'UTF8 no és vàlid per a marcs ID3 versió 2.3.0. Si està establert, es farà servir UTF16 al seu lloc. Per als marcs ID3 versió 2.4.0, seran possibles les tres codificacions.

  La Versió per a les etiquetes noves: determina si les etiquetes noves ID3 versió 2 es crearan com a versió 2.3.0 o 2.4.0.

  Els Dígits del número de la peça: són la quantitat de dígits en els camps de Número de la peça. Els zeros inicials s'empren per a omplir. Per exemple, amb un valor de 2, la peça número 5 s'establirà com a «05».

  El quadre combinat Nom del camp de comentari: només és rellevant per als fitxers Ogg/Vorbis i FLAC, i estableix el nom del camp emprat per als comentaris. Sembla que diferents aplicacions fan servir noms diferents, «`COMMENT`», per exemple, és emprat pel XMMS, mentre que l'Amarok fa servir «`DESCRIPTION`».

  El format de les imatges en els fitxers Ogg/Vorbis està determinat pel Nom del camp de la imatge:, el qual pot ser «`METADATA_BLOCK_PICTURE`» o «`COVERART`». El primer és l'estàndard oficial i utilitza el mateix format que les imatges en les etiquetes FLAC. La «`COVERART`» és una forma no oficial anterior d'incloure imatges en els comentaris de Vorbis. Es pot emprar per a compatibilitat amb els reproductors heretats.

  Si la casella de selecció Marca si és més gran que (bytes): està activada, els fitxers que tinguin incrustada la caràtula de l'àlbum i que excedeixi la mida indicada en bytes es marcaran en vermell. Això es pot utilitzar per a trobar els fitxers que continguin imatges de grans dimensions que algunes aplicacions i reproductors no acceptaran. De manera predeterminada és 131.072 bytes (128 kB).

  Els Gèneres personalitzats es poden utilitzar per a definir gèneres que no estiguin disponibles a la llista de gèneres estàndard, p. ex., «Gothic Metal». Aquests gèneres personalitzats apareixeran en el quadre combinat Gènere de l'Etiqueta 2. Per a les etiquetes ID3 versió 1.1, només es podran emprar els gèneres predefinits.

  La llista de gèneres personalitzats també es pot emprar per a reduir la quantitat de gèneres disponibles al quadre combinat Gènere als que s'utilitzen habitualment. Si la vostra col·lecció principalment conté música en els gèneres Metal, Gothic Metal, Ancient i Hard Rock, podreu introduir aquests gèneres i marcar Mostra només els gèneres personalitzats. El quadre combinat Gènere de l'Etiqueta 2 només contindrà aquests quatre gèneres i no haurà de cercar-los a tota la llista. En aquest exemple, només es llistaran Metal i Hard Rock a la llista de l'etiqueta 1, perquè aquestes dues entrades de gèneres personalitzats són gèneres estàndard. Si Mostra només els gèneres personalitzats no està activada, els gèneres personalitzats es podran trobar al final de la llista de gèneres.

  A Marcs personalitzats, es poden definir fins a vuit noms de marc personalitzats, els quals després es poden utilitzar com els marcs unificats, per exemple, com a marcs d'accés ràpid.

  Els Marcs d'accés ràpid defineixen quins tipus de marcs es mostraran sempre a la secció Etiqueta 2. Aquests marcs es podran afegir sense fer servir primer el botó Afegeix. L'ordre d'aquests marcs d'accés ràpid es pot canviar arrossegant i deixant anar els elements.

  El quadre combinat Nom de camp del número de la peça: només és rellevant per a la informació del RIFF i estableix el nom del camp emprat per als números de les peces. Els números de les peces no s'especifiquen en l'estàndard RIFF original, hi ha aplicacions que fan servir «`ITRK`», altres fan servir «`IPRT`».

  El Format de l'etiqueta conté opcions per al format de les etiquetes. Quan l'opció Aplica automàticament el format està marcada, s'emprarà automàticament la configuració del format mentre s'editi el text a les línies d'edició. La Validació habilita els validadors en els controls amb els valors de peça/total i data/hora. La Conversió entre majúscules i minúscules: es pot establir a Sense canvis, Tot en minúscula, Tot en majúscula, Primera lletra en majúscula o Totes les primeres lletres en majúscula. Per a utilitzar la conversió del reconeixement segons la configuració regional entre caràcters en minúscula i majúscula, es pot seleccionar en el quadre combinat a continuació. La llista de substitució de cadenes es pot establir a assignacions arbitràries de cadenes. Per a afegir una assignació nova, seleccioneu la cel·la Des de: d'una fila i inseriu el text a substituir, després aneu a la columna A: i introduïu el text de substitució. Quan el text a substituir comença i acaba amb una barra diagonal («/»), s'utilitzarà una expressió regular. Per a les expressions regulars que contenen grups de captura, les ocurrències de \1, \2, «...» a A: se substituiran amb la cadena capturada pel grup de captura corresponent. Per a eliminar una assignació, establiu la cel·la Des de: un valor buit (p. ex., escrivint primer un espai i després la tecla Retrocés). També és possible inserir i suprimir files fent servir un menú contextual que apareixerà quan feu clic amb el botó dret del ratolí. La substitució només estarà activa si la casella de selecció Cadena de substitució: està marcada.

  La taula a Puntuació conté l'assignació de les estrelles valorades als valors efectius emmagatzemats a l'etiqueta. Els marcs amb informació de puntuació es llisten a la fila Puntuació de la llista de marcs. Per a aquests marcs, la puntuació es podrà establir donant una quantitat d'estrelles de cinc estrelles. Els diferents formats d'etiqueta i les diferents aplicacions utilitzen diferents valors per a assignar la puntuació d'estrelles al valor emmagatzemat a l'etiqueta. Per a mostrar el nombre correcte d'estrelles, el Kid3 cercarà un mapa en aquesta taula. La clau per a cercar l'assignació serà el nom del marc, per exemple «RATING» tal com s'empra per als comentaris a Vorbis o «IRTD» per a la informació de RIFF. Per a les etiquetes ID3 versió 2, s'utilitza una clau combinada que consisteix en l'ID del marc «POPM» del marc Mesurador de la popularitat i el seu camp «Correu electrònic», separats per un punt. Per tant, hi ha diferents claus per a ID3 versió 2, p. ex., «POPM.Windows Media Player 9 Series» per a l'assignació emprada pel Windows Media Player i Explorer, i simplement «POPM» per als marcs POPM amb un camp «Correu electrònic» buit. Com hi poden haver múltiples entrades per a «POPM», el seu ordre és important. Quan el Kid3 afegeix un marc nou de Mesurador de la popularitat, utilitzarà la primera entrada «POPM» per a determinar el valor que s'escriurà al camp «Correu electrònic». Aquest valor especificarà l'assignació que s'utilitzarà per a la puntuació d'estrelles. També s'emprarà la primera entrada si no es troba cap clau, per tant, és l'entrada predeterminada.

  A més de la columna Nom que conté les claus, la taula té les columnes de l'1 al 5 per als valors que s'emmagatzemaran quan es proporcioni el nombre corresponent d'estrelles. Al revés, els valors determinaran el nombre d'estrelles que es mostraran per al valor emmagatzemat en el marc. Per exemple, la fila de la taula a continuació conté els valors 1, 64, 128, 196 i 255. Els llindars per a la quantitat d'estrelles que es mostraran es troben entre aquests valors i són compatibles amb el que utilitza el Windows® Explorer.

  Taula 3.2. Entrada a la taula de puntuació

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

  A la pàgina Fitxers, la casella de selecció Carrega els últims fitxers oberts es pot marcar de manera que la pròxima vegada que s'obri el Kid3 ho faci amb els últims fitxers seleccionats. Es pot marcar Mantén la marca de temps del fitxer per a mantenir la marca de temps de modificació del fitxer. Nom de fitxer per a la caràtula: estableix el nom que s'aconsella quan s'exporta una imatge incrustada a un fitxer. Amb la Codificació del text (Exporta, Llista de reproducció) es pot establir la codificació emprada en escriure els fitxers. El Sistema predeterminat es pot canviar, per exemple, si s'han d'emprar les llistes de reproducció en un dispositiu diferent.

  Si Marca els canvis està activa, els camps modificats es marcaran amb un fons d'etiqueta en gris clar.

  La secció Llista de fitxers determina quins fitxers es mostraran a la llista de fitxers. Es pot utilitzar un Filtre per a restringir els elements d'aquesta llista als fitxers amb extensions admeses. Per a especificar explícitament quines carpetes mostrar a la llista de fitxers o excloure certes carpetes, es poden emprar les opcions Carpetes a incloure: i Carpetes a excloure:. Poden contenir expressions de comodí, per exemple `*/Música/*` per a incloure només la carpeta `Música`, o `*/iTunes/*` per a excloure la carpeta `iTunes` de la llista de fitxers. Si s'han d'emprar múltiples d'aquestes expressions, es podran separar amb espais o punt i coma.

  Els botons Nom del fitxer des de l'etiqueta i Etiqueta des del nom de fitxer a la secció Format obriran els diàlegs per a editar els formats que hi ha disponibles als quadres combinats Format (amb les fletxes amunt i avall), que es poden trobar a la secció Fitxer de la finestra principal.

  El botó Llista de reproducció es pot utilitzar per a editar els formats disponibles de noms de fitxer al diàleg Crear una llista de reproducció.

  El Format del nom de fitxer conté opcions per al format dels noms de fitxer. Hi ha disponibles les mateixes opcions que en el Format de l'etiqueta.

  A més, es pot configurar la Longitud màxima permesa per als noms de fitxer. La majoria dels sistemes de fitxers moderns tenen un límit de 255 caràcters, però si voleu escriure fitxers en un CD, haureu d'establir-la a 64. Si es marca Emprar-ho per als noms de llistes de reproducció i de carpetes, el format del nom de fitxer també s'emprarà quan es creïn llistes de reproducció i es reanomenin carpetes.

  La pàgina Accions de l'usuari conté una taula amb les ordres que hi ha disponibles al menú contextual de la llista de fitxers. Per a operacions crítiques com suprimir fitxers, és recomanable marcar Confirma perquè aparegui un diàleg de confirmació abans d'executar l'ordre. La Sortida es pot marcar per a veure la sortida escrita per les ordres de la consola (sortida estàndard i d'error estàndard). El Nom és el nom que es mostra en el menú contextual. L'Ordre és la línia d'ordres que s'executarà. Es poden passar els arguments utilitzant els següents codis:

  - %F %{files} Camins de fitxer (una llista si hi ha seleccionats múltiples fitxers)

  - %f %{file} Camí de fitxer a un únic fitxer

  - %uF %{urls} Els URL (una llista si hi ha seleccionats múltiples fitxers)

  - %uf %{url} URL a un únic fitxer

  - %d %{directory} Carpeta

  - %s %{title} Títol (cançó)

  - %a %{artist} Artista

  - %l %{album} Àlbum

  - %c %{comment} Comentari

  - %y %{year} Any

  - %t %{track} Peça (p. ex., 01)

  - %t %{track.n} Peça amb l'amplada del camp «n» (p. ex., 001 per a %{track.3})

  - %T %{tracknumber} Peça (sense zeros a l'esquerra, p. ex., 1)

  - %g %{genre} Gènere

  - %b %{browser} Ordre per a iniciar el navegador web

  - %q %{qmlpath} Carpeta base dels fitxers QML proporcionats

  El codi especial @separator es pot establir com una ordre per a inserir un separador al menú contextual de les accions de l'usuari. Els elements de menú es poden posar en un submenú tancat amb les ordres @beginmenu i @endmenu. El nom del submenú està determinat per la columna Nom de l'ordre @beginmenu.

  Per a executar scripts QML, s'utilitza @qml com a nom de l'ordre. El camí cap a l'script QML es passa com un paràmetre. Els scripts proporcionats es troben a la carpeta `%{qmlpath}/script/` (a Linux® típicament `/usr/share/kid3/qml/script/`, a Windows `qml/script/` dins de la carpeta d'instal·lació i a macOS® a la carpeta de l'aplicació `kid3.app/Contents/Resources/qml/script/`). Els scripts personalitzats es poden emmagatzemar en qualsevol carpeta. Si el codi QML fa servir components de la IGU, s'utilitzarà @qmlview en lloc de @qml. Es passaran paràmetres addicionals a l'script QML i estaran disponibles mitjançant la funció `getArguments()`. Trobareu una descripció general d'algunes funcions i propietats que hi ha disponibles al QML a la secció Interfície QML de l'apèndix.

  L'ordre que s'inserirà amb %{browser} es podrà definir a l'anterior línia d'edició del Navegador web. Les ordres que comencin amb %{browser} es podran emprar per a obtenir informació sobre els fitxers d'àudio del web, per exemple

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

  consultarà la lletra per a la cançó actual a LyricWiki. La «u» a %u{artist} i %u{title} s'utilitza per a codificar a l'URL la informació de l'artista %{artist} i la cançó %{title}. És fàcil definir les vostres pròpies consultes de la mateixa manera, p. ex., una cerca d'imatges amb Google:

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

  Per a afegir la caràtula de l'àlbum a l'etiqueta 2, podreu cercar imatges amb Google o Amazon utilitzant les ordres descrites anteriorment. La imatge es podrà afegir a l'etiqueta arrossegant i deixant anar. També podreu afegir una imatge amb Afegeix, després seleccioneu el Marc de la imatge i importeu un fitxer d'imatge o enganxeu-lo des del porta-retalls. Els marcs d'imatge estan admesos per les etiquetes ID3 versió 2, MP4, FLAC, Ogg i ASF.

  Per a afegir i suprimir entrades a la taula, es pot emprar un menú contextual.

  La pàgina Xarxa només conté un camp per a inserir l'adreça de l'intermediari i, de manera opcional, el port, separat per dos punts. El servidor intermediari s'utilitzarà en importar des d'un servidor d'Internet quan la casella de selecció estigui marcada.

  A la pàgina Connectors, els connectors disponibles es podran habilitar o inhabilitar. Els connectors estan separats en dues seccions. La llista Connectors de metadades i prioritat conté els connectors que admeten formats de fitxers d'àudio. L'ordre dels connectors és important perquè es proven de dalt a baix. Alguns formats són admesos per múltiples connectors, de manera que els fitxers s'obriran amb el primer connector que l'admeti. El TaglibMetadata admet la majoria dels formats, si es troba a la part superior de la llista, obrirà la majoria dels fitxers. Si voleu utilitzar un connector diferent per a un format de fitxer, comproveu que aparegui abans d'aquest. Els detalls sobre el connector de metadades i perquè és possible que vulgueu utilitzar-los en lloc de la TagLib es llisten a continuació.

  - Id3libMetadata: utilitza la id3lib per a les etiquetes ID3 versió 1.1 i 2.3 en els fitxers MP3, MP2 i AAC. Admet alguns tipus de marcs més que la TagLib.

  - OggFlacMetadata: utilitza les libogg, libvorbis i libvorbisfile per als fitxers Ogg, i addicionalment les libFLAC++ i libFLAC per als fitxers FLAC. Aquestes són les biblioteques oficials per a aquests formats.

  - TaglibMetadata: utilitza la TagLib, la qual admet molts formats de fitxers d'àudio. Es pot fer servir per a tots els fitxers d'àudio admesos pel Kid3.

  - Mp4v2Metadata: la mp4v2 va ser utilitzada originalment pel Kid3 per a admetre els fitxers M4A. Es pot utilitzar en cas de problemes amb el suport M4A de la TagLib.

  La secció Connectors disponibles llista els connectors restants. El seu ordre no és important, però es poden habilitar o inhabilitar mitjançant les caselles de selecció.

  - AmazonImport: utilitzat per a la funció Importa des d'Amazon....

  - DiscogsImport: utilitzat per a la funció Importa des de Discogs....

  - FreedbImport: emprat per a la funció Importa des de gnudb.org....

  - MusicBrainzImport: utilitzat per a la funció Importa des del Llançament de MusicBrainz....

  - AcoustidImport: utilitzat per a la funció Importa des de l'Empremta digital de MusicBrainz..., la que depèn de les biblioteques Chromaprint i libav.

  Els connectors que estiguin inhabilitats no es carregaran. Això es pot utilitzar per a optimitzar l'ús dels recursos i el temps d'inici. La configuració d'aquesta pàgina només tindrà efecte després de reiniciar el Kid3.

## El menú Ajuda

Ajuda → Manual del Kid3

  Obre aquest manual.

Ajuda → Quant al Kid3

  Mostra la informació curta sobre el Kid3.

# Capítol 4. kid3-cli

## Ordres

El kid3-cli ofereix una interfície de línia d'ordres per al Kid3. Si s'utilitza un camí de carpeta, s'obrirà la carpeta. Si es proporcionen un o més camins de fitxer, s'obrirà la carpeta comuna i se seleccionaran els fitxers. Les ordres posteriors treballaran sobre aquests fitxers. Les ordres s'especifiquen emprant les opcions `-c`. Si es passen múltiples ordres, s'executaran en l'ordre indicat. Si les ordres modifiquen els fitxers, es desaran en finalitzar. Si no passen opcions d'ordre, el kid3-cli s'iniciarà en el mode interactiu. Es poden introduir ordres i operaran sobre la selecció actual. Les següents seccions llisten totes les ordres disponibles.

### Ajuda

`help` [`NOM_ORDRE`]

Mostrarà l'ajuda sobre els paràmetres de `NOM_ORDRE` o sobre totes les ordres si no es proporciona cap nom.

### Temps d'espera

`timeout` [ default | off | `TEMPS` ]

Se sobreescriurà el temps d'espera predeterminat de l'ordre. Les ordres de la CLI s'interrompran després d'un temps d'espera específic en el qual expirarà una ordre. Aquest temps d'espera és de 10 segons per a ls i albumart, 60 segons per a autoimport i filter, i 3 segons per a totes les altres ordres. Si s'ha de processar una gran quantitat de fitxers, aquests temps d'espera podrien ser massa restrictius, per tant, el temps d'espera per a totes les ordres es podrà establir en `TEMPS` ms, no pensar-hi o deixar-ho en els valors predeterminats.

### Sortir de l'aplicació

`exit` [force]

Sortirà de l'aplicació. Si hi ha fitxers sense desar que han estat modificats, es requerirà el paràmetre `force`.

### Canviar de carpeta

`cd` [`CARPETA`]

Si no es proporciona la ``CARPETA``, es canviarà a la carpeta d'inici. Si es proporciona una carpeta, es canviarà a dins de la carpeta. Si es proporcionen un o més camins de fitxer, es canviarà a la seva carpeta comuna i se seleccionaran els fitxers.

### Imprimir el nom de fitxer de la carpeta de treball actual

`pwd`

Imprimirà el nom de fitxer de la carpeta de treball actual.

### Llistar les carpetes

`ls`

Llistarà el contingut de la carpeta actual. Això correspon a la llista de fitxers a la IGU del Kid3. Cinc caràcters abans dels noms de fitxer es mostrarà l'estat del fitxer.

- `>` El fitxer està seleccionat.

- `*` El fitxer està modificat.

- El fitxer `1` té una etiqueta 1, en cas contrari es mostrarà «`-`».

- El fitxer `2` té una etiqueta 2, en cas contrari es mostrarà «`-`».

- El fitxer `3` té una etiqueta 3, en cas contrari es mostrarà «`-`».

    kid3-cli> ls
      1-- 01 Intro.mp3

    > 12- 02 We Only Got This One.mp3
     *1-- 03 Outro.mp3

En aquest exemple, tots els fitxers tenen una etiqueta 1, el segon fitxer també té una etiqueta 2 i està seleccionat. El tercer fitxer serà el modificat.

### Desar els fitxers canviats

`save`

### Seleccionar un fitxer

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

Per a seleccionar tots els fitxers, introduïu `select all`, per a desseleccionar tots els fitxers, introduïu `select none`. Per a recórrer els fitxers a la carpeta actual comenceu amb `select first`, després aneu endavant emprant `select next` o cap enrere emprant `select previous`. Es poden afegir fitxers específics a la selecció actual indicant els seus noms de fitxer. Són possibles els comodins, de manera que `select *.mp3` seleccionarà tots els fitxers MP3 a la carpeta actual.

    kid3-cli> select first
    kid3-cli> ls

    > 1-- 01 Intro.mp3
      12- 02 We Only Got This One.mp3
     *1-- 03 Outro.mp3
    kid3-cli> select next
    kid3-cli> ls
      1-- 01 Intro.mp3

    > 12- 02 We Only Got This One.mp3
     *1-- 03 Outro.mp3
    kid3-cli> select *.mp3
    kid3-cli> ls

    > 1-- 01 Intro.mp3

    > 12- 02 We Only Got This One.mp3

    >*1-- 03 Outro.mp3

### Seleccionar una etiqueta

`tag` [`NÚMEROS_D'ETIQUETA`]

Moltes ordres tenen un paràmetre opcional `NÚMEROS_D'ETIQUETA`, el qual especifica si l'ordre operarà sobre l'etiqueta 1, 2 o 3. Si s'omet aquest paràmetre, s'utilitzaran els números d'etiqueta predeterminats, els quals es poden establir mitjançant aquesta ordre. A l'inici, s'estableix a `12`, el qual vol dir que la informació es llegirà de l'etiqueta 2, si està disponible, en cas contrari, de l'etiqueta 1, les modificacions es realitzaran a l'etiqueta 2. Els ``NÚMEROS_D'ETIQUETA`` es poden establir a `1`, `2` o `3` per a només operar sobre l'etiqueta corresponent. Si s'omet el paràmetre, es mostrarà l'opció de configuració actual.

### Obtenir un marc d'etiqueta

`get` [ all | `NOM_MARC` ] [`NÚMEROS_D'ETIQUETA`]

Aquesta ordre es pot emprar per a llegir el valor d'un marc d'etiqueta específic o obtenir informació sobre tots els marcs d'etiqueta (si s'omet l'argument o s'utilitza `all`). Els marcs modificats seran marcats amb un «`*`».

    kid3-cli> get
    File: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
      Name: 01 Intro.mp3
    Tag 1: ID3v1.1
      Title         Intro
      Artist        Lluís Llach
      Album         I si canto trist
      Date          1974
      Track Number  1
      Genre         Lied
    kid3-cli> get title
    Intro

Per a desar a un fitxer el contingut d'un marc d'imatge, utilitzeu

    get picture:'/camí/a/carpeta.jpg'

Per a desar una lletra sincronitzada en un fitxer LRC, utilitzeu

    get SYLT:'/camí/a/lletra.lrc'

És possible obtenir només un camp específic des d'un marc, per exemple, `get POPM.Email` per al camp Correu electrònic d'un marc Mesurador de la popularitat. Si un fitxer té múltiples marcs del mateix tipus, els diferents marcs es podran indexar amb parèntesis, per exemple, el primer intèrpret d'un comentari de Vorbis es pot recuperar emprant `get performer[0]`, el segon emprant `get performer[1]`.

El nom del pseudocamp «seleccionada» es pot fer servir per a comprovar si s'ha seleccionat un marc, per exemple, `get artist.selected` retornarà `1` si està seleccionat el marc de l'artista, en cas contrari `0`.

Es pot utilitzar el nom del pseudomarc «ratingstars» per a obtenir el valor del marc «rating» com a valor del format específic corresponent al nombre d'estrelles (0 a 5). En usar el «rating», es retorna el valor intern.

### Establir un marc d'etiqueta

`set` {`NOM_MARC`} {`VALOR_MARC`} [`NÚMEROS_D'ETIQUETA`]

Aquesta ordre estableix el valor d'un marc d'etiqueta específic. Si `VALOR_MARC` està buit, se suprimirà el marc.

    kid3-cli> set remixer 'I si canto trist'

Per a establir des d'un fitxer el contingut d'un marc d'imatge, utilitzeu

    set picture:'/camí/a/carpeta.jpg' 'Descripció de la imatge'

Per a establir una lletra sincronitzada en un fitxer LRC, utilitzeu

    set SYLT:'/camí/a/lletra.lrc' 'Descripció de la lletra'

Per a establir un camp específic d'un marc, el nom del camp es podrà indicar després d'un punt, p. ex., per a establir el camp Comptador d'un marc Mesurador de la popularitat, utilitzeu

    set POPM.Counter 5

Una aplicació per a especificacions de camp és el cas en el qual voldreu un marc TXXX personalitzat amb una descripció de «rating» en lloc d'un marc Mesurador de la popularitat estàndard (alguns connectors semblen utilitzar-lo). Podreu crear-lo com un marc de puntuació TXXX amb el kid3-cli, però, primer haureu de crear un marc TXXX amb la descripció «rating» i després establir el valor d'aquest marc al valor de la puntuació.

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

La primera ordre suprimirà un marc POPM existent, perquè si existeix, `set rating 5` establirà el marc POPM i no el marc TXXX. Una altra possibilitat seria utilitzar `set TXXX.Text 5`, però això només funcionarà si no hi ha un altre marc TXXX present.

Per a establir múltiples marcs del mateix tipus, es pot indicar un índex entre parèntesis, p. ex., per a establir múltiples intèrprets en un comentari de Vorbis, utilitzeu

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

Per a seleccionar certs marcs abans d'una acció de còpia, enganxat o eliminació, es pot emprar el nom del pseudocamp «seleccionada». Normalment, se seleccionaran tots els marcs, per a desseleccionar-los empreu `set '*.selected' 0`, després, per exemple, `set artist.selected 1` per a seleccionar el marc de l'artista.

Es pot utilitzar el nom del pseudomarc «ratingstars» per a establir el valor del marc «rating» com a valor del format específic corresponent al nombre d'estrelles (0 a 5). Es pot usar el nom de marc «rating» per a establir el valor intern.

Establir «ratingstars» en diversos fitxers que tinguin formats diferents d'etiqueta no funcionarà perquè el marc amb el valor mapat del comptador d'estrelles es crea en el primer fitxer i després s'utilitza per a tots els fitxers. Així que en lloc de `kid3-cli -c "set ratingstars 2" *` cal usar `for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done`.

### Revertir

`revert`

Revertir totes les modificacions en els fitxers seleccionats (o tots els fitxers si no hi ha fitxers seleccionats).

### Importar des del fitxer

`import` {`FITXER`} {`NOM_FORMAT`} [`NÚMEROS_D'ETIQUETA`]

Les etiquetes s'importen des del `FITXER` en el format amb el nom `NOM_FORMAT` (p. ex., `"CSV unquoted"`, vegeu Importar).

Si s'indiquen etiquetes (`tags`) per a `FITXER`, les etiquetes seran importades des d'altres etiquetes. En lloc dels paràmetres `NOM_FORMAT`, `FONT` i `EXTRACCIÓ` els quals són obligatoris, vegeu Importar des de les etiquetes. Per a aplicar la importació des de les etiquetes en els fitxers seleccionats, utilitzeu `tagsel` en lloc de `tags`. Aquesta funció també admet la sortida del valor extret mitjançant l'ús d'una `EXTRACCIÓ` amb el valor `%{__return}(.+)`.

### Importar automàticament

`autoimport` [`NOM_PERFIL`] [`NÚMEROS_D'ETIQUETA`]

Importarà per lots utilitzant el `NOM_PERFIL` (vegeu Importar automàticament, si s'utilitza `"All"` serà omès).

### Descarregar el treball artístic de la caràtula de l'àlbum

`albumart` {`URL`} [all]

Establirà la caràtula de l'àlbum descarregant una imatge des de l'`URL`. Les regles definides al diàleg Explora les caràtules... s'utilitzen per a transformar els URL generals (p. ex., des d'Amazon) en un URL de la imatge. Per a establir la caràtula de l'àlbum a partir d'un fitxer d'imatge local, utilitzeu l'ordre set.

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

### Exportar a un fitxer

`export` {`FITXER`} {`NOM_FORMAT`} [`NÚMEROS_D'ETIQUETA`]

Les etiquetes s'exportaran al `FITXER` en el format amb el nom `NOM_FORMAT` (p. ex., `"CSV unquoted"`, vegeu Exportar).

### Crear una llista de reproducció

`playlist`

Crear una llista de reproducció en el format establert a la configuració, vegeu Crear una llista de reproducció.

### Aplicar el format per al nom de fitxer

`filenameformat`

Aplicar el format per al nom de fitxer establert a la configuració, vegeu Aplicar el format per al nom de fitxer.

### Aplicar el format per a l'etiqueta

`tagformat`

Aplicar el format per al nom de l'etiqueta establert a la configuració, vegeu Aplicar el format per a l'etiqueta.

### Aplicar la codificació del text

`textencoding`

Aplica la codificació de text establert en la configuració, vegeu Aplicar la codificació de text.

### Reanomenar una carpeta

`renamedir` [`FORMAT`] [ create | rename | dryrun ] [`NÚMEROS_D'ETIQUETA`]

Canviarà el nom o crearà carpetes a partir dels valors en les etiquetes d'acord amb un `FORMAT` indicat (p. ex., `%{artist} - %{album}`, vegeu Canviar el nom d'una carpeta), si no s'indica un format, s'utilitzarà el format definit al diàleg Reanomena la carpeta. El mode predeterminat és `rename` (canvia el nom). Per a crear carpetes, s'haurà d'indicar `create` explícitament. Les accions de canvi de nom es realitzaran immediatament, per a veure què es faria, utilitzeu l'opció `dryrun`.

### Nombre de peces

`numbertracks` [`NÚMERO_PEÇA`] [`NÚMEROS_D'ETIQUETA`]

Numera les peces seleccionades començant amb `NÚMERO_PEÇA` (`1` si s'omet).

### Filtrar

`filter` [ `NOM_FILTRE` | `FORMAT_FILTRE` ]

Filtrarà els fitxers de manera que només siguin visibles els fitxers que coincideixin amb `FORMAT_FILTRE`. Es podrà utilitzar el nom d'una expressió de filtre predefinit (p. ex., `"Filename Tag Mismatch"`) en lloc d'una expressió de filtre, consulteu Filtre.

    kid3-cli> filter '%{title} contains "tro"'
    Started
      /home/urs/One Hit Wonder - Let's Tag
    + 01 Intro.mp3
    - 02 We Only Got This One.mp3
    + 03 Outro.mp3
    Finished
    kid3-cli> ls
      1-- 01 Intro.mp3
      1-- 03 Outro.mp3
    kid3-cli> filter All
    Started
      /home/urs/One Hit Wonder - Let's Tag
    + 01 Intro.mp3
    + 02 We Only Got This One.mp3
    + 03 Outro.mp3
    Finished
    kid3-cli> ls
      1-- 01 Intro.mp3
      12- 02 We Only Got This One.mp3
      1-- 03 Outro.mp3

### Convertir des d'ID3 versió 2.3 a 2.4

`to24`

### Convertir des d'ID3 versió 2.4 a 2.3

`to23`

### Nom del fitxer des de l'etiqueta

`fromtag` [`FORMAT`] [`NÚMEROS_D'ETIQUETA`]

Estableix els noms dels fitxers seleccionats a partir dels valors trobats en les etiquetes, per exemple, `fromtag '%{track} - %{title}' 1`. Si no s'especifica cap format, s'utilitzarà el format establert a la IGU.

### Etiquetar des del nom de fitxer

`totag` [`FORMAT`] [`NÚMEROS_D'ETIQUETA`]

Estableix els marcs d'etiqueta a partir dels noms de fitxer, per exemple, `totag '%{albumartist} - %{album}/%{track} %{title}' 2`. Si no s'especifica cap format, s'utilitzarà el format establert a la IGU. Si el format per al nom de fitxer no coincideix amb aquest patró, s'intentaran alguns altres formats d'ús habitual.

### Etiquetar a una altra etiqueta

`syncto` {`NÚMERO_ETIQUETA`}

Copia els marcs d'etiqueta des d'una etiqueta a l'altra etiqueta, p. ex., per a establir l'etiqueta ID3 versió 2 a partir de l'etiqueta ID3 versió 1, utilitzeu `syncto 2`.

### Copiar

`copy` [`NÚMERO_ETIQUETA`]

Copia els marcs d'etiqueta des del fitxer seleccionat a la memòria intermèdia de copiar interna. Després es podran establir en un altre fitxer utilitzant l'ordre paste (enganxa).

Per a copiar només un subconjunt de marcs, utilitzeu el pseudocamp «seleccionada» amb l'ordre set. Per exemple, per a copiar només els marcs número del disc i drets d'autor, utilitzeu

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

### Enganxar

`paste` [`NÚMERO_ETIQUETA`]

Estableix els marcs d'etiqueta a partir del contingut de la memòria intermèdia copy en els fitxers seleccionats.

### Eliminar

`remove` [`NÚMERO_ETIQUETA`]

Elimina una etiqueta.

És possible eliminar només un subconjunt de marcs seleccionant-los com es descriu en l'ordre copy.

### Configurar el Kid3

`config` [`OPCIÓ`] [`VALOR`]

Consulta o estableix una opció de configuració.

L'`OPCIÓ` consta d'un nom de grup i un nom de propietat separats per un punt. Quan no es dona cap `OPCIÓ`, es mostraran tots els grups disponibles. Si només es proporciona un nom de grup, es mostraran totes les propietats disponibles del grup. Per a un grup i propietat determinats, es mostrarà el valor configurat actualment. Per a canviar l'opció de configuració, el nou valor es pot passar com a un segon argument.

Si el valor d'una opció de configuració és una llista, tots els elements de la llista s'hauran de proporcionar com a arguments. Això vol dir que per a afegir un element a una llista existent d'elements, tots els elements existents s'hauran de passar seguits de l'element nou. En aquesta situació, és més fàcil utilitzar el mode JSON, on la llista actual es pot copiar amb el nou element afegit.

### Executa el programa o script en QML

`execute` [@qml] {`FITXER`} [`ARGUMENTS`]

Executa un script en QML o un executable.

Sense `@qml` un programa s'executa amb arguments. Quan s'indica `@qml` com a primer argument, els arguments següents seran l'script en QML i els seus arguments. Per exemple, les etiquetes d'una carpeta es poden exportar al fitxer `exporta.csv` amb l'ordre següent.

    kid3-cli -c "execute @qml
    /usr/share/kid3/qml/script/ExportCsv.qml exporta.csv"
    /camí/a/la/carpeta/

Aquí, `exporta.csv` és l'argument per a l'script `ExportCsv.qml`, mentre que `/camí/a/la/carpeta/` és l'argument ``FITXER`` per a kid3-cli.

## Exemples

Establir el títol que conté un apòstrof. Les ordres passades al kid3-cli amb `-c` hauran d'estar entre cometes si no consisteixen només d'una sola paraula. Si aquesta ordre en si té un argument que conté espais, aquest argument també ha d'anar entre cometes. En els intèrprets d'ordres d'UNIX® es poden utilitzar cometes simples o dobles, però a l'indicatiu d'ordres de Windows, és important que les cometes externes es realitzin amb cometes dobles i dintre d'aquestes cometes, s'utilitzaran cometes simples. Si el text dins de les cometes simples conté una cometa simple, s'haurà d'escapar utilitzant un caràcter de barra inversa, com es mostra en el següent exemple:

    kid3-cli -c "set title 'I\'ll be there for you'" /camí/a/carpeta

Estableix la caràtula de l'àlbum a tots els fitxers d'una carpeta utilitzant la funció d'importació per lots:

    kid3-cli -c "autoimport 'Cover Art'" /camí/a/carpeta

Elimina els marcs de comentari i aplica el format d'etiqueta en ambdues etiquetes de tots els fitxers MP3 d'una carpeta:

    kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
    -c "tagformat 1" -c "tagformat 2" /camí/a/carpeta/*.mp3

Importa automàticament l'etiqueta 2, sincronitza amb l'etiqueta 1, estableix els noms de fitxer a partir de l'etiqueta 2 i finalment crea una llista de reproducció:

    kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
      /camí/a/carpeta/*.mp3

Per a tots els fitxers amb una etiqueta ID3 versió 2.4.0, converteix a ID3 versió 2.3.0 i elimina el marc de l'organitzador:

    kid3-cli -c "filter 'ID3 versió2.4.0 Tag'" -c "select all" -c to23 \
      -c "set arranger ''" /camí/a/carpeta

Aquest script de Python utilitza el kid3-cli per a generar marcs d'iTunes Sound Check iTunNORM a partir de la informació del guany en la reproducció.

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

## Format JSON

Per a facilitar l'anàlisi dels resultats del kid3-cli, és possible obtenir la sortida en el format JSON. Quan la sol·licitud està en el format JSON, la resposta també serà en JSON. Un format compacte de la sol·licitud també donarà una representació compacta de la resposta. Si la sol·licitud conté un camp «id», se suposa que és una sol·licitud RPC de JSON i la resposta contindrà un camp «jsonrpc» i l'«id» de la sol·licitud. El format de la sol·licitud utilitzarà les mateixes ordres que la CLI estàndard, el camp «method» contindrà l'ordre i els paràmetres (si n'hi ha cap), i es troben a la llista «params». La resposta contindrà un objecte «result», el qual també pot ser nul si l'ordre kid3-cli corresponent no retorna un resultat. En cas d'error, es tornarà un objecte «error» amb els camps «code» i «message» com s'utilitza en el RPC de JSON.

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

# Capítol 5. Crèdits i llicència

Kid3

Programa escrit per en Urs Fleisch `<ufleisch at users.sourceforge.net>`

Traductor de la documentació: Antoni Bella `<antonibella5@yahoo.com>`

FDL

GPL

# Apèndix A. Instal·lació

## Com obtenir el Kid3

El Kid3 es pot trobar a https://kid3.kde.org.

## Requisits

El Kid3 necessita les Qt™. Es recomana el KDE però no cal, ja que el Kid3 també es pot compilar com una aplicació de les Qt™. El Kid3 es pot compilar per a sistemes on aquestes biblioteques estiguin disponibles, p. ex., per a GNU/Linux®, Windows® i macOS®. Per a etiquetar els fitxers Ogg/Vorbis, es requereixen les libogg, libvorbis i libvorbisfile, per als fitxers FLAC, les libFLAC++ i libFLAC. La id3lib s'utilitza per als fitxers MP3. Aquests quatre formats també són admesos per la TagLib, la qual també pot manejar els fitxers Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF i els mòduls dels seguidors de peces. Per a importar a partir d'empremtes digitals acústiques, s'utilitzen les Chromaprint i libav.

El Kid3 està disponible per a la majoria de les distribucions de Linux®, Windows® i macOS®. Els enllaços es poden trobar a https://kid3.kde.org.

## Compilació i instal·lació

Podreu compilar el Kid3 amb el KDE o sense. Sense, el Kid3 serà una senzilla aplicació Qt™ i no tindrà algunes característiques de configuració i de sessió.

Per a una versió del KDE, aneu a la carpeta superior i escriviu

    % cmake .
    % make
    % make install

Per a compilar per a diferents versions de les Qt™ o del KDE, establiu les opcions de `cmake` corresponents.

Si no estan presents totes les biblioteques, el Kid3 es construirà amb una funcionalitat reduïda. Per tant, haureu de tenir cura de tenir instal·lats tots els paquets de desenvolupament desitjats. D'altra banda, les opcions del `cmake` controlen quines biblioteques es compilaran. De manera predeterminada són `-DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON` . Aquestes opcions es poden inhabilitar emprant `OFF`.

Per a construir el Kid3 com una aplicació Qt™ sense el KDE, utilitzeu l'opció `-DWITH_APPS=Qt` del `cmake`. Per a construir una aplicació KDE i una de les Qt™, establiu `-DWITH_APPS="Qt;KDE"`.

Per a utilitzar una instal·lació específica de les Qt™, establiu `-DQT_QMAKE_EXECUTABLE=/camí/a/qmake`.

La generació dels paquets RPM està admesa pel fitxer `kid3.spec`, per als paquets de la Debian®, executeu `build.sh deb`.

L'aplicació Qt™ també es pot compilar per a Windows® i macOS®. Es pot emprar l'script `build.sh` per a descarregar i compilar totes les biblioteques necessàries i crear un paquet del Kid3.

## Configuració

Amb el KDE, la configuració s'emmagatzema a `.config/kid3rc` i l'estat de l'aplicació a `.local/share/kid3/kid3staterc`. Com una aplicació Qt™, aquest fitxer estarà a `.config/Kid3/Kid3.conf`. Al Windows®, la configuració s'emmagatzemarà en el registre. Al macOS® en un fitxer `.plist` (llista de propietats).

Es pot emprar la variable d'entorn `KID3_CONFIG_FILE` per a establir el camí cap al fitxer de configuració.

# Apèndix B. Interfície de D-Bus

## Exemples de D-Bus

Al Linux®, es pot utilitzar una interfície de D-Bus per a controlar el Kid3 mitjançant scripts. Els scripts es poden escriure en qualsevol llenguatge amb vinculacions de D-Bus (p. ex., en Python) i es poden afegir a les Accions de l'usuari per a ampliar la funcionalitat del Kid3.

Es pot establir l'artista a l'etiqueta 2 del fitxer actual amb el valor «One Hit Wonder» amb el següent codi:

Intèrpret d'ordres

      dbus-send --dest=org.kde.kid3 --print-reply=literal \
      /Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \
      string:'Lluís Llach'

  o més fàcil amb el qdbus de les Qt™ (es pot utilitzar el qdbusviewer per a explorar la interfície en una IGU):

      qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \
      'Lluís Llach'

Python

      import dbus
      kid3 = dbus.SessionBus().get_object(
        'org.kde.kid3', '/Kid3')
      kid3.setFrame(2, 'Artist', 'Lluís Llach')

Perl

      use Net::DBus;
      $kid3 = Net::DBus->session->get_service(
        "org.kde.kid3")->get_object(
        "/Kid3", "org.kde.Kid3");
      $kid3->setFrame(2, "Artist", "Lluís Llach");

## API de D-Bus

L'API de D-Bus s'especifica a `org.kde.Kid3.xml`. La interfície del Kid3 disposa dels següents mètodes:

### Obrir un fitxer o carpeta

`boolean openDirectory(` | camí`)`; |

`string camí`;

`camí`

  camí cap al fitxer o carpeta

Retornarà cert si va bé.

### Descarregar les etiquetes de tots els fitxers que no han estat modificats o seleccionats

`unloadAllTags(` | `)`; |

### Desar tots els fitxers modificats

`boolean save(` | `)`; |

Retornarà cert si va bé.

### Obtenir un missatge d'error detallat proporcionat per alguns mètodes

`string getErrorMessage(` | `)`; |

Retornarà un missatge d'error detallat.

### Revertir els canvis fets als fitxers seleccionats

`revert(` | `)`; |

### Iniciar automàticament una importació per lots

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

`int32 tagMask`;
`string Nom_Perfil`;

`tagMask`

  màscara de l'etiqueta (bit 0 per a l'etiqueta 1, bit 1 per a l'etiqueta 2)

`Nom_Perfil`

  el nom del perfil que s'emprarà per a la importació per lots

### Importar etiquetes des d'un fitxer

`boolean importFromFile(` | tagMask, |
| camí, |
| fmtIdx`)`; |

`int32 tagMask`;
`string camí`;
`int32 fmtIdx`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

`camí`

  camí del fitxer

`fmtIdx`

  índex del format

Retornarà cert si va bé.

### Importar etiquetes des d'altres etiquetes

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

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

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

`font`

  format per a obtenir el text font a partir de les etiquetes

`extracció`

  expressió regular amb els noms de marc i captures per a extreure del text font

### Importar etiquetes des d'altres etiquetes als fitxers seleccionats

`array importFromTagsToSelection(` | tagMask, |
| font, |
| extracció`)`; |

`int32 tagMask`;
`string font`;
`string extracció`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

`font`

  format per a obtenir el text font a partir de les etiquetes

`extracció`

  expressió regular amb els noms de marc i captures per a extreure del text font

`Valors_Retornats`

  valor extret per «%{__return}(.+)»

### Descarregar una caràtula de l'àlbum

`downloadAlbumArt(` | URL, |
| tots_els_fitxers_a_la_carpeta`)`; |

`string URL`;
`boolean tots_els_fitxers_a_la_carpeta`;

`URL`

  URL del fitxer d'imatge o recurs de caràtula

`tots_els_fitxers_a_la_carpeta`

  cert per a afegir la imatge a tots els fitxers que hi ha a la carpeta

### Exportar les etiquetes a un fitxer

`boolean exportToFile(` | tagMask, |
| camí, |
| fmtIdx`)`; |

`int32 tagMask`;
`string camí`;
`int32 fmtIdx`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

`camí`

  camí del fitxer

`fmtIdx`

  índex del format

Retornarà cert si va bé.

### Crear una llista de reproducció

`boolean createPlaylist(` | `)`; |

Retornarà cert si va bé.

### Obtenir els elements d'una llista de reproducció

`array getPlaylistItems(` | camí`)`; |

`string camí`;

`camí`

  camí a la llista de reproducció

Retornarà la llista dels camins absoluts als elements de la llista de reproducció.

### Establir els elements d'una llista de reproducció

`boolean setPlaylistItems(` | camí, |
| elements`)`; |

`string camí`;
`array elements`;

`camí`

  camí a la llista de reproducció

`elements`

  llista dels camins absoluts als elements de la llista de reproducció

Retornarà cert si va bé i fals si no s'han trobat tots els elements, també si s'ha fallat en afegir o desar.

### Surt de l'aplicació

`quit(` | `)`; |

### Seleccionar tots els fitxers

`selectAll(` | `)`; |

### Desseleccionar tots els fitxers

`deselectAll(` | `)`; |

### Establir el primer fitxer com a fitxer actual

`boolean firstFile(` | `)`; |

Retornarà cert si hi ha un primer fitxer.

### Establir el fitxer anterior com a fitxer actual

`boolean previousFile(` | `)`; |

Retornarà cert si hi ha un fitxer anterior.

### Establir el següent fitxer com a fitxer actual

`boolean nextFile(` | `)`; |

Retornarà cert si hi ha un fitxer següent.

### Selecciona el primer fitxer

`boolean selectFirstFile(` | `)`; |

Retornarà cert si hi ha un primer fitxer.

### Seleccionar el fitxer anterior

`boolean selectPreviousFile(` | `)`; |

Retornarà cert si hi ha un fitxer anterior.

### Seleccionar el següent fitxer

`boolean selectNextFile(` | `)`; |

Retornarà cert si hi ha un fitxer següent.

### Seleccionar el fitxer actual

`boolean selectCurrentFile(` | `)`; |

Retornarà cert si hi ha un fitxer actual.

### Expandir o contraure l'element de fitxer actual si es tracta d'una carpeta

`boolean expandDirectory(` | `)`; |

Un element de la llista de fitxers serà una carpeta si «getFileName()» retorna un nom amb «/» com a últim caràcter.

Retornarà cert si l'element de fitxer actual és una carpeta.

### Aplicar el format per al nom del fitxer

`applyFilenameFormat(` | `)`; |

### Aplicar el format per a les etiquetes

`applyTagFormat(` | `)`; |

### Aplicar la codificació del text

`applyTextEncoding(` | `)`; |

### Establir el nom de la carpeta a partir de les etiquetes

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

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

`tagMask`

  màscara de l'etiqueta (bit 0 per a l'etiqueta 1, bit 1 per a l'etiqueta 2)

`format`

  format per al nom de la carpeta

`create`

  cert per a crear i fals per a reanomenar

Retornarà cert si va bé, en cas contrari, el missatge d'error estarà disponible utilitzant «getErrorMessage()».

### Establir els números de peça subsegüents en els fitxers seleccionats

`numberTracks(` | tagMask, |
| NúmPrimeraPeça`)`; |

`int32 tagMask`;
`int32 NúmPrimeraPeça`;

`tagMask`

  màscara de l'etiqueta (bit 0 per a l'etiqueta 1, bit 1 per a l'etiqueta 2)

`NúmPrimeraPeça`

  número a utilitzar per al primer fitxer

### Filtratge de fitxers

`filter(` | expressió`)`; |

`string expressió`;

`expressió`

  expressió de filtre

### Convertir entre les etiquetes ID3 versió 2.3 i 2.4

`convertToId3v24(` | `)`; |

### Convertir entre les etiquetes ID3 versió 2.4 i 2.3

`convertToId3v23(` | `)`; |

Retornarà cert si va bé.

### Obtenir el camí de la carpeta

`string getDirectoryName(` | `)`; |

Retornarà el camí absolut de la carpeta.

### Obtenir el nom del fitxer actual

`string getFileName(` | `)`; |

Retornarà el nom de fitxer absolut veritable, finalitzarà amb «/» si és una carpeta.

### Establir el nom del fitxer seleccionat

`setFileName(` | nom`)`; |

`string nom`;

`nom`

  nom del fitxer

El fitxer serà reanomenat quan es desi la carpeta.

### Establir el format que s'utilitzarà en establir el nom del fitxer a partir de les etiquetes

`setFileNameFormat(` | format`)`; |

`string format`;

`format`

  format per al nom del fitxer

### Establir els noms de fitxer a partir dels fitxers seleccionats des de les etiquetes

`setFileNameFromTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

### Obtenir el valor del marc

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

`int32 tagMask`;
`string nom`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

`nom`

  nom del marc (p. ex., «artista»)

Per a obtenir les dades binàries com una imatge, es podrà afegir el nom d'un fitxer per a escriure després del `nom`, p. ex., «Picture:/camí/al/fitxer». De la mateixa manera, es pot exportar una lletra sincronitzada, p. ex., «SYLT:/camí/al/fitxer».

Retornarà el valor del marc.

### Establir el valor del marc

`boolean setFrame(` | tagMask, |
| nom, |
| valor`)`; |

`int32 tagMask`;
`string nom`;
`string valor`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

`nom`

  nom del marc (p. ex., «artista»)

`valor`

  valor del marc

Per a l'etiqueta 2 (`tagMask` 2), si no hi ha un marc amb `nom`, s'afegirà un marc nou, si el `valor` està buit, el marc se suprimirà. Per a afegir dades binàries com una imatge, es pot afegir un fitxer després del `nom`, p. ex., es pot fer servir «Picture:/camí/a/fitxer». "SYLT:/camí/a/fitxer" per a importar la lletra sincronitzada.

Retornarà cert si va bé.

### Obtenir tots els marcs d'una etiqueta

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

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

Retornarà una llista amb els noms i valors dels marcs de forma alterna.

### Obtenir la informació tècnica sobre el fitxer

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

Les propietats són Format, Velocitat de bits, Velocitat de mostreig, Canals, Durada, Mode del canal, VBR, Etiqueta 1, Etiqueta 2. S'ometran les propietats que no estiguin disponibles.

Retornarà una llista amb els noms i valors de les propietats de forma alterna.

### Establir l'etiqueta a partir del nom de fitxer

`setTagFromFileName(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

### Establir l'etiqueta a partir d'una altra etiqueta

`setTagFromOtherTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

### Copiar una etiqueta

`copyTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

### Enganxar una etiqueta

`pasteTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

### Eliminar una etiqueta

`removeTag(` | tagMask`)`; |

`int32 tagMask`;

`tagMask`

  bit de l'etiqueta (1 per a l'etiqueta 1, 2 per a l'etiqueta 2)

### Tornar a analitzar la configuració

`reparseConfiguration(` | `)`; |

És possible fer canvis automatitzats de la configuració modificant el fitxer de configuració i després tornant a analitzar la configuració.

### Reproduir els fitxers seleccionats

`playAudio(` | `)`; |

# Apèndix C. Interfície QML

## Exemples en QML

Els scripts QML es poden invocar a través del menú contextual de la llista de fitxers i es poden configurar a la pestanya Accions de l'usuari del diàleg de configuració. Els scripts que s'estableixen allà es poden emprar com a exemples per a programar scripts personalitzats. El QML fa servir JavaScript, aquí teniu l'obligatori «Hola món»:

    import Kid3 1.0

    Kid3Script {
      onRun: {
        console.log("Hola món, la carpeta és", app.dirName)
        Qt.quit()
      }
    }

Si aquest script es desa com `/camí/a/Exemple.qml`, l'ordre d'usuari es pot definir com a @qml /camí/a/Exemple.qml amb el nom `Prova de QML` i Sortida marcades. Després es podrà iniciar emprant l'element Prova de QML al menú contextual de la llista de fitxers, i la sortida serà visible a la finestra.

Malauradament, iniciar els scripts en QML emprant qml (p. ex., qml -apptype widget -I /usr/lib/kid3/plugins/imports /camí/a/Exemple.qml) està trencat en les versions recents de les Qt. Però el kid3-cli ofereix una forma alternativa d'executar un script en QML des de la línia d'ordres utilitzant la seva ordre execute.

    kid3-cli -c "execute @qml /camí/a/Exemple.qml"

Per a llistar els títols a les etiquetes 2 de tots els fitxers en la carpeta actual, es podria emprar el següent script:

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

Si la carpeta conté molts fitxers, aquest script podria bloquejar la interfície d'usuari durant algun temps. Per a operacions més llargues, aquest hauria de disposar d'un descans de tant en tant. La següent implementació alternativa té la feina per a un sol fitxer mogut a una funció. Aquesta funció s'invoca amb un temps d'espera d'1 ms al final, atès que s'han de processar més fitxers. Això assegurarà que la IGU segueixi responent mentre s'executa l'script.

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

En emprar app.firstFile() amb app.nextFile(), es processaran tots els fitxers de la carpeta actual. Si només es veuen afectats els fitxers seleccionats, utilitzeu firstFile() i NextFile() en el seu lloc, aquestes són funcions convenients del component `Kid3Script`. El següent exemple és un script que només copia els marcs de número del disc i drets d'autor del fitxer seleccionat.

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

Amb el Kid3 venen més scripts d'exemple i ja estan registrats com a ordres d'usuari.

- ReplayGain to SoundCheck (`ReplayGain2SoundCheck.qml`): crea la informació de comprovació del so d'iTunNORM a partir dels marcs de guany de la reproducció.

- Redimensiona la caràtula (`ResizeAlbumArt.qml`): canvia la mida de les imatges incrustades de caràtula que tinguin més de 500x500 píxels.

- Extreu la caràtula (`ExtractAlbumArt.qml`): extreu totes les imatges incrustades de caràtula evitant duplicats.

- Caràtula incrustada (`EmbedAlbumArt.qml`): incrusta la caràtula que es troba en els fitxers d'imatge als fitxers d'àudio, tot a la mateixa carpeta.

- Lletra incrustada (`EmbedLyrics.qml`): obté la lletra no sincronitzada des del servei web.

- Codifica el text ID3 versió 1 (`ShowTextEncodingV1.qml`): ajuda a trobar la codificació de les etiquetes ID3 versió 1 mostrant les etiquetes del fitxer actual en totes les codificacions de caràcters disponibles.

- ID3 versió 1 a ASCII (`Tag1ToAscii.qml`): translitera a ASCII els caràcters llatins estesos a l'etiqueta ID3 versió 1.

- Posa en majúscules el títol en anglès (`ExportCsv.qml`): dona format en majúscules al text de les etiquetes en anglès.

- Reescriu les etiquetes (`RewriteTags.qml`): reescriu totes les etiquetes en els fitxers seleccionats.

- Exporta CSV (`ExportCsv.qml`): exporta recursivament totes les etiquetes de tots els fitxers a un fitxer CSV.

- Importa CSV (`ImportCsv.qml`): importa recursivament totes les etiquetes de tots els fitxers des d'un fitxer CSV.

- Exporta JSON (`ExportJson.qml`): exporta recursivament totes les etiquetes de tots els fitxers a un fitxer JSON.

- Importa JSON (`ImportJson.qml`): importa recursivament totes les etiquetes de tots els fitxers des d'un fitxer JSON.

- Exporta a una carpeta de llista de reproducció (`ExportPlaylist.qml`): copia tots els fitxers d'una llista de reproducció en una carpeta i en canvia el nom segons la seva posició.

- Consola QML (`QmlConsole.qml`): consola senzilla per a jugar amb l'API de QML del Kid3.

## API de QML

L'API es pot explorar amb facilitat utilitzant la consola QML, la qual està disponible com un script d'exemple amb una interfície d'usuari.

### Kid3Script

El `Kid3Script` és un component QML regular ubicat a dins de la carpeta del connector. També podria emprar un altre connector QML. L'ús del `Kid3Script` facilita l'inici de la funció de script utilitzant el controlador del senyal `onRun`. A més ofereix algunes funcions:

    onRun: controlador del senyal que s'invoca quan s'inicia l'script
    tagv1, tagv2, tagv2v1: constants per als paràmetres d'etiqueta
    script: accés a les funcions per a la creació de scripts
    configs: accés als objectes de la configuració
    getArguments(): llista d'arguments de l'script
    isStandalone(): cert si l'script no es va iniciar des del Kid3
    setTimeout (crida de retorn, retard): inicia la crida de retorn després del retard en ms
    firstFile(): al primer fitxer seleccionat
    NextFile(): al següent fitxer seleccionat

### Funcions de creació de scripts

Com al JavaScript, el QML també té només un conjunt limitat de funcions per a la creació de scripts, l'objecte `script` té alguns mètodes addicionals, per exemple:

    script.properties(obj): cadena amb les propietats de les Qt
    script.writeFile(filePath, dades): escriu les dades al fitxer, cert si va bé
    script.readFile(filePath): llegeix les dades del fitxer
    script.removeFile(filePath): elimina un fitxer, cert si va bé
    script.fileExists(filePath): cert si el fitxer existeix
    script.fileIsWritable(filePath): cert si el fitxer és d'escriptura
    script.getFilePermissions(filePath): obté els bits per al mode de permís del fitxer
    script.setFilePermissions(filePath, modeBits): estableix els bits per al mode de permís del fitxer
    script.classifyFile(filePath): obté la classe de fitxer (carpeta «/», enllaç simbòlic «@», executable «*», fitxer «»)
    script.renameFile(oldname, NEWNAME): canvia el nom del fitxer, cert si va bé
    script.copyFile(font, dest): copia un fitxer, cert si va bé
    script.makeDir(camí): crea una carpeta, cert si va bé
    script.removeDir(camí): elimina una carpeta, cert si va bé
    script.tempPath(): camí de la carpeta temporal
    script.musicPath(): camí de la carpeta de música
    script.listDir(camí, [nameFilters], [classify]): llista les entrades de la carpeta
    script.system(programa, [args], [msecs]): inicia de mode sincrònic una ordre del sistema, [codi de sortida, sortida estàndard, error estàndard] si no és temps d'espera
    script.systemAsync(programa, [args], [callback]): inicia una ordre del sistema en el mode asíncron, la crida de retorn es cridarà amb [codi de sortida, sortida estàndard, error estàndard]
    script.getEnv(varname): obté el valor de la variable d'entorn
    script.setEnv(varname, valor): estableix el valor a partir de la variable d'entorn
    script.getQtVersion(): cadena de versió de les Qt, p. ex., «5.4.1»
    script.getDataMd5(dades): obté una cadena hexadecimal per a la suma MD5 de les dades
    script.getDataSize(data): obté la mida de la matriu de bytes
    script.dataToImage(dades, [format]): crea una imatge a partir dels bytes de les dades
    script.dataFromImage(imatge, [format]): obté els bytes de les dades de la imatge
    script.loadImage(filePath): carrega una imatge des d'un fitxer
    script.saveImage(imatge, filePath, [format]): desa una imatge en un fitxer, cert si va bé
    script.imageProperties(imatge): obté les propietats d'una imatge, un mapa que contindrà  «amplada», «alçada», «profunditat» i «colorCount», buit si la imatge no és vàlida
    script.scaleImage(imatge, amplada, [alt]): escala una imatge, retornarà una imatge escalada

### Context de l'aplicació

Emprant QML, es pot accedir a una gran part de les funcions del Kid3. L'API és similar a la utilitzada per al D-Bus. Per a més detalls, consulteu les respectives notes.

    app.openDirectory(camí): obre la carpeta
    app.unloadAllTags(): descarrega totes les etiquetes
    app.saveDirectory(): desa la carpeta
    app.revertFileModifications(): reverteix
    app.importTags(etiqueta, camí, fmtIdx): importa el fitxer
    app.importFromTags(etiqueta, font, extracció): importa des de les etiquetes
    app.importFromTagsToSelection(etiqueta, font, extracció): importa des de les etiquetes dels fitxers seleccionats
    app.downloadImage(url, allFilesInDir): descarrega la imatge
    app.exportTags(etiqueta, camí, fmtIdx): fitxer d'exportació
    app.writePlaylist(): escriu una llista de reproducció
    app.getPlaylistItems(camí): obté els elements d'una llista de reproducció
    app.setPlaylistItems(camí, elements): estableix els elements d'una llista de reproducció
    app.selectAllFiles(): ho selecciona tot
    app.deselectAllFiles(): desselecciona
    app.firstFile([select], [onlyTaggedFiles]): al primer fitxer
    app.nextFile([select], [onlyTaggedFiles]): al següent fitxer
    app.previousFile([select], [onlyTaggedFiles]): al fitxer anterior
    app.selectCurrentFile([select]): selecciona el fitxer actual
    app.selectFile(camí, [select]): selecciona un fitxer específic
    app.getSelectedFilePaths([onlyTaggedFiles]): obté els camins dels fitxers seleccionats
    app.requestExpandFileList(): ho expandeix tot
    app.applyFilenameFormat(): aplica el format al nom del fitxer
    app.applyTagFormat(): aplicar el format a l'etiqueta
    app.applyTextEncoding(): aplica la codificació del text
    app.numberTracks(núm., total, etiqueta, [options]): números de peça
    app.applyFilter(expr): filtre
    app.convertToId3v23(): converteix ID3 versió 2.4.0 a 2.3.0
    app.convertToId3v24(): converteix ID3 versió 2.3.0 a 2.4.0
    app.getFilenameFromTags(etiqueta): nom de fitxer a partir de les etiquetes
    app.getTagsFromFilename(etiqueta): nom de fitxer a les etiquetes
    app.getAllFrames(etiqueta): obté un objecte amb tots els marcs
    app.getFrame(etiqueta, nom): obté un marc
    app.setFrame(etiqueta, nom, valor): estableix un marc
    app.getPictureData(): obté les dades a partir del marc de la imatge
    app.setPictureData(dades): estableix les dades al marc de la imatge
    app.copyToOtherTag(etiqueta): etiquetes a altres etiquetes
    app.copyTags(etiqueta): copia
    app.pasteTags(etiqueta): enganxa
    app.removeTags(etiqueta): elimina
    app.playAudio(): reprodueix
    app.readConfig(): llegeix la configuració
    app.applyChangedConfiguration(): aplica la configuració
    app.dirName: nom de la carpeta
    app.selectionInfo.fileName: nom del fitxer
    app.selectionInfo.filePath: camí absolut cap al fitxer
    app.selectionInfo.detailInfo: detalls del format
    app.selectionInfo.tag(Frame.Tag_1).tagFormat: format de l'etiqueta 1
    app.selectionInfo.tag(Frame.Tag_2).tagFormat: format de l'etiqueta 2
    app.selectionInfo.formatString(etiqueta, format): substitueix els codis en una cadena de format
    app.selectFileName(subtítol, carpeta, filtre, desa el fitxer): obre el diàleg de fitxers i en selecciona un
    app.selectDirName(títol, carpeta): obre el diàleg de fitxers per a seleccionar una carpeta

Per a operacions asíncrones, les crides de retorn podran connectar-se amb els senyals.

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

### Configuració dels objectes

Es pot accedir a les diferents seccions de configuració a través de mètodes de `configs`. Les seves propietats es poden llistar a la consola QML.

    script.properties(configs.networkConfig())

Es poden establir les propietats:

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