# Manual do &kid3;

## Sintaxe

    kid3  &doublehyphen;help &doublehyphen;author &doublehyphen;version &doublehyphen;license &doublehyphen;desktopfile ARQUIVO  ARQUIVO

    kid3-qt &doublehyphen;portable Qt-options ARQUIVO

    kid3-cli &doublehyphen;portable &doublehyphen;dbus  -h &doublehyphen;help  -c COMANDO1 -c COMANDO2 ARQUIVO

## Opções

`&doublehyphen;portable`

- Armazena a configuração no arquivo `kid3.ini` dentro da pasta do aplicativo.

`ARQUIVO`

- Se ``ARQUIVO`` for o caminho para uma pasta, ela será aberta. Se um ou mais caminhos de arquivo forem fornecidos, a pasta comum a eles será aberta e os arquivos serão selecionados.

### kid3

`&doublehyphen;help`

- Mostra a ajuda sobre as opções.

`&doublehyphen;author`

- Mostra informações sobre o autor.

`&doublehyphen;version`

- Mostra informações sobre a versão.

`&doublehyphen;license`

- Mostra informações sobre a licença.

`&doublehyphen;desktopfile `ARQUIVO``

- O nome de base dos arquivos do item 'desktop' para este aplicativo.

### kid3-qt

`Opções do Qt`

- Veja

  qt5options

  7.

### kid3-cli

`&doublehyphen;dbus`

- Ativa a interface &DBus;.

`-c`

- Executa um comando. Várias opções `-c` são possíveis e são executadas em sequência. Consulte a seção sobre kid3-cli para obter uma descrição dos comandos disponíveis.

`-h`|`&doublehyphen;help`

- Exibe ajuda sobre opções e comandos.

## Introdução

O &kid3; é um aplicativo para editar as tags ID3v1 e ID3v2 em arquivos MP3 de forma eficiente. Essas tags podem ser editadas pela maioria dos reprodutores de MP3, mas não de uma maneira muito prática e eficiente. Além disso, as tags em arquivos Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF e módulos de tracker (MOD, S3M, IT, XM) também são suportadas.

O &kid3; não captura nem codifica arquivos MP3, mas foi projetado para editar as tags ID3 de todos os arquivos de um álbum de forma eficiente, ou seja, com o mínimo de cliques e toques de teclado possível. Enquanto a maioria dos outros programas pode editar tags ID3v1 ou ID3v2, o &kid3; tem controle total sobre ambas as versões, pode converter tags entre os dois formatos e tem acesso a todas as tags ID3v2. As tags de vários arquivos podem ser definidas com o mesmo valor, por exemplo, o artista, o álbum, o ano e o gênero de todos os arquivos de um álbum normalmente têm os mesmos valores e podem ser definidos juntos. Se as informações das tags estiverem contidas no nome do arquivo, as tags podem ser definidas automaticamente a partir do nome do arquivo. Também é possível definir o nome do arquivo de acordo com as tags encontradas no arquivo em formatos arbitrários.

A tarefa de edição é ainda mais facilitada pela substituição automática de caracteres ou substrings, por exemplo, para remover caracteres inválidos de nomes de arquivos. O controle automático de letras maiúsculas e minúsculas facilita o uso de um esquema de nomenclatura consistente em todas as tags.

As informações de tags para álbuns completos podem ser obtidas em gnudb.org, MusicBrainz, Discogs, Amazon ou outras fontes de listas de faixas. O formato de importação é livremente configurável por expressões regulares.

Por favor, reporte quaisquer problemas ou sugestões de melhorias ao autor.

## Usando o &kid3;

### Funcionalidades do &kid3;

- Editar tags ID3v1.1

- Editar todos os frames ID3v2.3 e ID3v2.4

- Editar tags de múltiplos arquivos

- Converter entre tags ID3v1 e ID3v2

- Editar tags MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV e AIFF

- Gerar tags a partir do nome do arquivo

- Gere tags a partir do conteúdo dos campos de tags

- Gerar nome do arquivo a partir das tags

- Gerar e alterar nomes de pastas a partir de tags

- Gerar arquivo de lista de reprodução

- Conversão automática de maiúsculas e minúsculas e tradução de strings

- Importar a partir de gnudb.org, MusicBrainz, Discogs, Amazon e outras fontes de dados

- Exportar como CSV, &HTML;, lista de reprodução, Kover &XML; e outros formatos. Os arquivos CSV exportados podem ser importados novamente.

### Exemplo de uso

Esta seção descreve uma sessão típica com o &kid3;. Vamos supor que temos uma pasta contendo arquivos MP3 com as faixas do álbum "Let's Tag" da banda "One Hit Wonder". A pasta está nomeada no formato "artista - álbum", em nosso caso `One Hit Wonder - Let's Tag`. A pasta contém as faixas no formato "título da faixa.mp3", o que eu acho útil porque os nomes dos arquivos são curtos (importante ao usar tocadores de MP3 portáteis com telas pequenas) e na ordem correta quando classificados alfabeticamente (importante ao usar tocadores de MP3 físicos que reproduzem as faixas em ordem alfabética ou na ordem em que estão gravadas no &CD;; e essa ordem é alfabética ao usar o `mkisofs`). Além disso, as informações do artista e do álbum já estão no nome da pasta e não precisam ser repetidas no nome do arquivo. Mas voltando ao nosso exemplo, a listagem de pastas se parece com isto:

`01 Intro.mp3`

`02 We Only Got This One.mp3`

`03 Outro.mp3`

Esses arquivos ainda não possuem tags e queremos gerá-las usando o &kid3;. Usamos o item de menu Arquivo Abrir (ou o botão da barra de ferramentas) e selecionamos um dos arquivos nesta pasta. Todos os arquivos serão exibidos na lista de arquivos. Como somos preguiçosos, queremos usar as informações da pasta e os nomes dos arquivos para gerar tags. Portanto, selecionamos todos os arquivos e clicamos no botão Para: Tag 1 na seção Arquivo. Isso definirá os valores de título, artista, álbum e faixa em todos os arquivos. Para definir os valores de ano e gênero de todos os arquivos, mantemos todos os arquivos selecionados e digitamos "2002" para a Data e selecionamos "Pop" na caixa de combinação Gênero. Para definir apenas esses dois valores, suas caixas de seleção são marcadas automaticamente e todas as outras caixas de seleção permanecem desmarcadas. Agora, alteramos a seleção selecionando apenas o primeiro arquivo e vemos que todas as tags contêm os valores corretos. As tags dos outros arquivos também podem ser verificadas selecionando-as uma a uma. Quando estivermos satisfeitos com as tags, usamos o item de menu Arquivo Salvar (ou o botão da barra de ferramentas). Selecionar o item de menu Arquivo Criar lista de reprodução (ou o botão da barra de ferramentas) irá gerar um arquivo `One Hit Wonder - Let's Tag.m3u` na pasta.

## Referência de comandos

### Os elementos da &GUI;

A &GUI; do &kid3; é dividida em seis seções: à esquerda estão as listas de arquivos e pastas, à direita estão as seções Arquivo, Tag 1, Tag 2 e Tag 3.

Para navegar entre as diferentes seções usando o teclado, vários atalhos de teclado são suportados. Nas seções de tags, os atalhos ficam ativos quando não há edição de texto ou quando se está na primeira coluna.

- &Alt;Left: Ir para a seção anterior (Command[ no &macOS;)

- &Alt;Right: Ir para a próxima seção (Command] no &macOS;)

- &Ctrl;Shift V: A partir de outra tag

- &Ctrl;C: Copiar

- &Ctrl;V: Colar

- Shift Delete: Remover

- F2: Editar

- Insert: Adicionar

- Delete: Excluir

#### Lista de arquivos

A lista de arquivos contém os nomes de todos os arquivos na pasta aberta que correspondem ao filtro de nome de arquivo selecionado (normalmente `*.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape`). Um ou vários arquivos podem ser selecionados. Para não selecionar nenhum arquivo, clique na área vazia após as entradas da lista. A seleção determina os arquivos que serão afetados pelas operações disponíveis usando os botões descritos abaixo.

Além de Nome, outras colunas Tamanho, Tipo e Data de modificação também podem ser exibidas com detalhes do arquivo. As colunas podem ser ocultadas desmarcando o nome delas no menu de contexto do cabeçalho da lista. A ordem das colunas pode ser alterada arrastando e soltando. A ordem de classificação pode ser alternada clicando no cabeçalho da coluna.

Os valores das tags padrão também podem ser exibidos e editados em colunas da lista de arquivos.

À esquerda dos nomes, pode ser exibido um ícone: um disco para indicar que o arquivo foi modificado ou informações sobre quais tags estão presentes (V1, V2, V1V2 ou SEM TAG; nenhum ícone é exibido se o arquivo ainda não tiver sido lido).

As pastas são exibidas com um ícone de pasta. Se uma pasta for aberta, seus arquivos são exibidos em uma árvore hierárquica. Ao selecionar arquivos de subpastas, é possível executar operações em arquivos de pastas diferentes, o que é útil se a coleção de músicas estiver organizada com uma pasta para cada artista contendo pastas para os álbuns desse artista.

Clicar com o botão direito do mouse dentro da lista de arquivos abre um menu de contexto com os seguintes comandos:

- Expandir tudo: Expande todas as árvores de pastas (somente a árvore atual se a tecla Shift estiver pressionada)

- Recolher tudo: Recolhe todas as árvores de pastas

- Renomear: Altera o nome de um arquivo

- Mover para a lixeira: Move um arquivo para a lixeira

- Reproduzir: Reproduz um arquivo, veja Reproduzir. Se o arquivo selecionado for uma lista de reprodução, os arquivos da lista de reprodução serão reproduzidos.

- Editar: Editar uma lista de reprodução, veja Editar lista de reprodução.

- As entradas subsequentes são comandos do usuário, que podem ser definidos na aba Ações do usuário de Configurar &kid3;. A reprodução com clique duplo também pode ser ativada lá.

  Quando a opção Selecionar arquivo na reprodução está ativada, a faixa atualmente reproduzida é selecionada automaticamente na lista de arquivos.

#### Editar lista de reprodução

Uma lista de reprodução pode ser criada vazia ou contendo as faixas de uma pasta, veja Criar lista de reprodução. O arquivo da lista de reprodução criado dessa forma pode ser editado clicando duas vezes ou usando Editar no menu de contexto da lista de arquivos. Uma caixa de diálogo com as entradas da lista de reprodução é exibida. É possível abrir várias listas de reprodução simultaneamente.

Novas entradas podem ser adicionadas arrastando e soltando da lista de arquivos, de um gerenciador de arquivos ou de outra lista de reprodução. Se uma entrada for arrastada de outra lista de reprodução, ela será movida ou copiada, dependendo do sistema. Para executar a outra operação, respectivamente, a tecla Shift, &Ctrl; ou &Alt; (para copiar em vez de mover no &macOS;) deve ser pressionada. Reordenar as entradas dentro da lista de reprodução também é possível arrastando e soltando. Como alternativa, as entradas podem ser movidas usando os atalhos de teclado &Ctrl;Shift Seta para cima e &Ctrl;Shift Seta para baixo (no &macOS;, Command deve ser pressionado em vez de &Ctrl;). Uma entrada pode ser removida usando a tecla Delete.

Observe o seguinte: Para arrastar entradas da lista de arquivos, elas devem ser mantidas pressionadas no lado esquerdo (perto dos ícones), o mesmo gesto no lado direito realizará uma seleção múltipla, sendo essa ação ainda facilmente possível.

Quando uma lista de reprodução for modificada, as alterações podem ser salvas usando Salvar ou descartadas usando Cancelar. Ao fechar a janela, uma mensagem de confirmação será exibida se houver alterações não salvas.

As faixas selecionadas em uma lista de reprodução serão selecionadas automaticamente na lista de arquivos, possibilitando assim a edição de suas tags.

Para executar ações em uma lista de reprodução, o arquivo correspondente deve ser selecionado na lista de arquivos. Editar no menu de contexto abrirá a caixa de diálogo descrita nesta seção, e Reproduzir iniciará o reprodutor de mídia com as faixas da lista de reprodução. Ações do usuário podem afetar listas de reprodução, por exemplo, Exportar lista de reprodução para pasta, que copia os arquivos de uma lista de reprodução para uma pasta.

#### Lista de pastas

A lista de pastas contém os nomes das pastas na pasta aberta, bem como a pasta atual (`.`) e a pasta pai (`..`). Isso permite que você altere rapidamente a pasta sem usar o comando Abrir ou arrastar e soltar.

A visibilidade, a ordem e a classificação das colunas podem ser configuradas conforme descrito na seção sobre a lista de arquivos.

#### Arquivo

Mostra informações sobre a codificação (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), taxa de bits, taxa de amostragem, canais e a duração do arquivo.

O campo de edição Nome contém o nome do arquivo (se apenas um único arquivo estiver selecionado). Se este nome for alterado, o arquivo será renomeado quando o comando Salvar for usado.

A caixa de combinação Formato e o campo de edição de linha contêm o formato a ser usado quando o nome do arquivo é gerado a partir da primeira ou da segunda tag. O nome do arquivo pode conter caracteres arbitrários, até mesmo uma parte de pasta separada por uma barra do nome do arquivo, mas essa pasta já deve existir para que a renomeação seja bem-sucedida. Os seguintes códigos especiais são usados ​​para inserir valores de tag no nome do arquivo:

- %s %{title} Título (Música)

- %a %{artist} Artista

- %l %{album} Álbum

- %c %{comment} Comentário

- %y %{year} Ano

- %t %{track} Faixa (por exemplo, 01)

- %t %{track.n} Faixa com largura do campo n (por exemplo, 001 para%{track.3})

- %T %{tracknumber} Faixa (sem zeros à esquerda, por exemplo, 1)

- %g %{genre} Gênero

- %{ignore} Ignorado ao gerar tags a partir do nome do arquivo

Os códigos de formato não se restringem aos exemplos fornecidos acima. Qualquer nome de quadro pode ser usado, por exemplo, nomes de quadros unificados como `%{albumartist}`, `%{discnumber.1}`, `%{bpm}` ou nomes específicos de formato como `%{popm}`.

É possível adicionar strings antes e depois da substituição de um código de formatação, colocando-as entre aspas duplas dentro das chaves do código. Essas strings só serão incluídas na string resultante se o código de formatação gerar um valor não vazio. Por exemplo, se o nome do arquivo deve conter tanto o título quanto o subtítulo, pode-se usar `%{title} [%{subtitle}]` na string de formatação. Mas isso resultaria em uma string terminando com `[]` se não houver um quadro de subtítulo para o arquivo. Para omitir os colchetes se não houver subtítulo, deve-se usar `%{title}%{" ["subtitle"]"}`. Isso omitirá os colchetes, o espaço inicial e o subtítulo, se não houver subtítulo.

A lista de formatos disponíveis pode ser editada na caixa de diálogo que aparece ao clicar no botão Nome do arquivo da tag na aba Arquivo das configurações.

Uma segunda caixa de combinação Formato (com seta para baixo) é usada para gerar as tags a partir do nome do arquivo. Se o formato do nome do arquivo não corresponder a esse padrão, alguns outros formatos comumente usados ​​serão testados.

Alguns formatos de nome de arquivo comumente usados ​​já estão disponíveis na caixa de combinação, mas também é possível digitar um formato especial na edição de linha.

A lista de formatos disponíveis pode ser editada na caixa de diálogo que aparece ao clicar no botão Tag a partir do nome do arquivo na aba Arquivo das configurações.

Internamente, uma expressão regular é construída a partir dos códigos de formato. Se expressões regulares avançadas forem necessárias, o formato para gerar as tags a partir dos nomes de arquivo pode ser fornecido como uma expressão regular completa com capturas que são precedidas pelos códigos de formato, por exemplo, para extrair os números das faixas sem remover os zeros à esquerda, um formato como "`/%{track}(\d+) %{title}(.*)`" poderia ser usado.

De: Tag 1, Tag 2: Define o nome do arquivo usando o formato selecionado e a primeira tag ou a segunda tag, respectivamente.

Para: Tag 1, Tag 2: As tags são definidas a partir do nome do arquivo. Primeiro, o formato especificado em Formato é usado. Se o nome do arquivo existente não corresponder a esse formato, os seguintes formatos serão tentados:

- `Artista - Álbum/Faixa Música`

- `Álbum/Faixa - Artista - Música`

- `/Artista - Álbum - Faixa - Música`

- `Álbum/Artista - Faixa - Música`

- `Álbum/Artista - Música`

- `Artista/Álbum/Faixa Música`

Se um único arquivo for selecionado, os controles da &GUI; serão preenchidos com os valores extraídos do nome do arquivo. Se vários arquivos forem selecionados, as tags dos arquivos serão definidas diretamente de acordo com os nomes dos arquivos.

#### Tag 1

Os widgets de edição de linha para Título, Artista, Álbum, Comentário, Data, Número da faixa e Gênero são usados ​​para editar o valor correspondente na primeira tag dos arquivos selecionados. O valor será alterado quando a seleção do arquivo for alterada ou antes de operações como Salvar e Sair e quando a caixa de seleção correspondente à esquerda do nome do campo estiver marcada. Isso é útil para alterar apenas alguns valores e deixar os outros inalterados.

Se um único arquivo for selecionado, todas as caixas de seleção serão marcadas e os widgets de edição de linha conterão os valores encontrados nas tags desse arquivo. Se uma tag não for encontrada no arquivo, o valor vazio correspondente será exibido, que é uma string vazia para as edições de linha Título, Artista, Álbum e Comentário, 0 para as edições numéricas de Data e Número da faixa e um valor selecionado vazio para a caixa de combinação Gênero. Os valores podem ser alterados e, se a caixa de seleção correspondente estiver marcada, eles serão definidos para o arquivo selecionado após a alteração da seleção. O arquivo é então marcado como modificado por um símbolo de disco na lista de arquivos, mas permanece inalterado até que o comando Salvar seja usado.

Se vários arquivos forem selecionados, somente os valores idênticos em todos os arquivos selecionados serão exibidos. Em todos os outros controles, os valores vazios, conforme descrito acima, serão exibidos. Todas as caixas de seleção estão desmarcadas para evitar alterações indesejadas. Se um valor precisar ser definido para todos os arquivos selecionados, ele poderá ser editado e a caixa de seleção deverá ser marcada. Os valores serão definidos para todos os arquivos selecionados quando a seleção for alterada e poderão ser salvos usando o comando Salvar.

As caixas de seleção também controlam a operação da maioria dos comandos que afetam as tags, como copiar, colar e transferir entre as tags 1 e 2. Para facilitar o uso com vários arquivos onde todas as caixas de seleção estão desmarcadas, esses comandos se comportam da mesma maneira quando todas as caixas de seleção estão marcadas e quando todas as caixas de seleção estão desmarcadas.

Da Tag 2: Os campos da tag 1 são definidos a partir dos valores correspondentes na tag 2. Se um único arquivo for selecionado, os controles da &GUI; são preenchidos com os valores da tag 2. Se vários arquivos forem selecionados, as tags dos arquivos são definidas diretamente.

Copiar: O buffer de cópia é preenchido com os valores da Tag 1.Somente os valores com a caixa de seleção marcada serão usados ​​nos comandos Colar subsequentes.

Colar: Cola os valores do buffer de cópia nos controles da &GUI;.

Remover: Isso definirá todos os controles da &GUI; para seus valores vazios, o que resulta na remoção de todos os valores. O arquivo salvo então não conterá a tag 1.

#### Tag 2

Os controles da &GUI; funcionam da mesma forma que a seção Tag 1, mas o tamanho das strings não é limitado.

Para a tag 2 de Gênero você também pode usar seus próprios nomes. Além dos gêneros listados na caixa de combinação, basta digitar o nome na linha de edição.

A tag 2 pode não conter apenas os mesmos valores que a tag 1; o formato é construído de forma flexível a partir de vários frames que, por sua vez, são compostos de vários campos. A tabela da tag 2 mostra todos os frames disponíveis no arquivo selecionado.

Editar: Isso abrirá uma janela que permite editar todos os campos do quadro selecionado. Se vários arquivos forem selecionados, os campos editados serão aplicados a todos os arquivos selecionados que contêm esse frame.

Adicionar: Uma janela para selecionar o tipo de frame será exibida. Um frame do tipo selecionado poderá ser editado e adicionado ao arquivo. Isso também funciona para adicionar um frame a vários arquivos selecionados.

Excluir: Exclui o frame selecionado nos arquivos selecionados.

Arraste a capa do álbum aqui é exibido se o arquivo não contiver uma capa embutida. Uma imagem pode ser adicionada arrastando e soltando de um navegador ou gerenciador de arquivos e será exibida aqui. Frames de imagem podem ser editados ou adicionados clicando duas vezes neste controle.

#### Tag 3

Alguns arquivos podem ter mais de duas tags, e uma terceira seção de tag fica visível. Os seguintes tipos de arquivo podem ter uma seção Tag 3:

- Os arquivos MP3 podem ter uma tag ID3v1.1, uma tag ID3v2 (2.3.0 ou 2.4.0) e, na terceira seção, uma tag APE. Essas tags APE são usadas para informações de ganho de reprodução. Na seção Tag 3, essas informações são visíveis e a tag APE pode ser removida com o botão Remover.

- O bloco RIFF INFO de arquivos WAV está disponível na seção Tag 3 porque a seção Tag 1 é dedicada às tags ID3v1.1 e lida com suas restrições. A seção Tag 2 ainda é usada para tags ID3v2.4.0, que também são suportadas para arquivos WAV, mas os blocos RIFF INFO parecem ter melhor suporte.

- Os arquivos FLAC normalmente usam um comentário Vorbis para seus metadados. No entanto, existem arquivos FLAC que possuem tags ID3v1 e ID3v2, que podem ser encontradas nas seções Tag 1 e Tag 3. As tags ID3 em arquivos FLAC são suportadas apenas pelo TagLib, portanto, o plugin OggFlacMetadata precisa ser desativado na aba Plugins das configurações.

Os controles da &GUI; funcionam da mesma forma que na seção Tag 2.

#### Lista de frames

O &kid3; pode editar a maioria dos frames para todos os tipos de arquivo suportados. Alguns frames são acessados ​​usando nomes unificados, para que possam ser trocados entre arquivos com formatos diferentes. Frames que não são unificados podem ser acessados ​​como frames específicos do formato.

#### Mapeamento de tipos de frames unificados para vários formatos

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

Observações sobre os mapeamentos para nomes de frames unificados:

- O número de nomes de frames unificados é limitado pelo fato de que um mapeamento sensato deve ser possível para todos os formatos de arquivo suportados. A maioria das tags suporta frames com nomes arbitrários; estes serão usados ​​se nenhum frame específico estiver disponível (por exemplo, os nomes em maiúsculas na coluna MP4). Se tal possibilidade não existir, alguns tipos de frame podem não ser suportados para o formato, por exemplo, Autor e Intérprete para ASF (WMA).

- Os mapeamentos não são escolhidos arbitrariamente, mas sim direcionados ao uso dos frames em outros aplicativos e dispositivos. Assim, o frame ID3v2 "TPE2 - Band/orchestra/accompaniment" não sugere seu uso como Artista do Álbum, mas isso é comumente utilizado. O significado real do ID3v2, por outro lado, é o motivo pelo qual este frame é usado para a orquestra ao importar (por exemplo, do Discogs), embora isso possa parecer um pouco estranho para outros formatos de tag.

- Os mapeamentos nem sempre são bijetivos. Portanto, o ID3v2.3 usa um frame IPLS tanto para o Arranjador quanto para o Intérprete. Ao ler de volta, ambos os frames são exibidos como "Arranjador".

- Os frames Arranger e Performer usam um formato específico para seus conteúdos: "envolvimento 1|participante 1|envolvimento 2|participante 2|...", por exemplo, "Mestre do Coro|Ernst Dunshirn|Voz Soprano|Anna Netrebko". Isso criará frames IPLS (ID3v2.3) ou TIPL/TMCL (ID3v2.4) com uma lista de strings no formato especificado (o "|" é usado como separador entre as strings). Valores nesse formato também são definidos ao importar dados de servidores que oferecem essas informações.

- Para o Matroska, o nível de destino é listado, por exemplo, /50 para Álbum, a menos que seja o padrão de /30 para Trilha. Se você quiser criar uma tag simples do Matroska com conteúdo binário, adicione "- binary" ao adicionar o frame. Observe que essas tags são raramente usadas; a arte da capa é armazenada como um arquivo anexo.

- Para usar explicitamente um nome de frame específico que entre em conflito com um nome de frame unificado, adicione um ponto de exclamação. Por exemplo, adicionar um quadro do tipo "`Media`" a um comentário Vorbis criará um quadro com o nome "`SOURCEMEDIA`" devido ao mapeamento de tipo unificado. Para adicionar um quadro com o nome "`MEDIA`" e não "`SOURCEMEDIA`", use "`!MEDIA`" para forçar o nome explícito.

- Se você precisar de um frame que não esteja nesta lista, você ainda tem a possibilidade de inserir nomes arbitrários usando o botão Adicionar. Nomes de frames usados ​​com frequência podem ser adicionados aos Frames personalizados na configuração de Tags e ficarão disponíveis nos Frames de acesso rápido.

#### Letras sincronizadas e códigos de temporização de eventos

Para informações sincronizadas com os dados de áudio, um editor específico está disponível. Esses quadros são compatíveis com as tags ID3v2.3.0 e ID3v2.4.0. Para adicionar um frame desse tipo, o nome do frame específico deve ser selecionado na lista que aparece ao clicar no botão Adicionar - Letras sincronizadas ou Códigos de tempo de evento, respectivamente. O editor é o mesmo para ambos os tipos; para os códigos de tempo de evento, apenas um conjunto predefinido de eventos está disponível, enquanto para as letras sincronizadas, o texto deve ser inserido. A seguir, a edição de letras sincronizadas é explicada.

Um arquivo com uma tag ID3v2 é selecionado, o editor de letras é acessado usando Adicionar e selecionando Letras sincronizadas. Para um frame de letras sincronizadas existente, ele é selecionado e Editar é clicado. O reprodutor é aberto automaticamente com o arquivo atual para que o arquivo possa ser reproduzido e pausado para sincronizar as letras.

As configurações na parte superior do editor SYLT normalmente não precisam ser alteradas. Se a letra contiver caracteres que não estejam presentes no conjunto de caracteres Latin 1, é recomendável alterar a codificação do texto para UTF16 (ou UTF8 para ID3v2.4.0). Para letras em inglês e máxima compatibilidade, deve-se usar ISO-8859-1.

A seção Letras possui cinco botões na parte superior. Adicionar adicionará um novo evento de tempo na tabela. O tempo é obtido a partir da posição do reprodutor, portanto, adicionar uma entrada enquanto a faixa está sendo reproduzida adicionará uma linha para a posição atual da reprodução. Os eventos na tabela devem estar em ordem cronológica, portanto, a linha será inserida de acordo. Entradas com um tempo inválido são tratadas de forma especial: se a linha selecionada tiver um tempo inválido, seu registro de tempo será substituído pelo tempo atual em vez de adicionar uma nova linha. Se o tempo atual não for inválido, a primeira linha com um tempo inválido será usada, se presente. Esse comportamento deve facilitar a adição de registros de tempo se o texto da letra já estiver na tabela, mas os registros de tempo estiverem faltando (o que ocorre ao importar letras não sincronizadas). Observe que o tempo inválido é representado como 00:00.00, ou seja, o mesmo que o tempo no início absoluto da faixa, que não é inválido. Para tornar um tempo inválido, pressione a tecla Delete ou use Limpar no menu de contexto. Novas linhas inseridas usando Inserir linha no menu de contexto ou criadas ao importar letras não sincronizadas com Da área de transferência ou Importar também contêm registros de tempo inválidos. As linhas na tabela podem ser excluídas clicando no botão Excluir ou usando Excluir linhas no menu de contexto.

Letras sincronizadas podem ser importadas de um arquivo usando Importar. O formato esperado é LRC simples ou aprimorado. Se o arquivo selecionado não contiver um colchete na primeira linha, presume-se que seja um arquivo de texto simples com letras não sincronizadas. As linhas de tal arquivo serão importadas com carimbos de tempo inválidos. As informações de tempo podem ser adicionadas usando o botão Adicionar ou manualmente. Também é possível importar letras copiando e colando usando Da área de transferência. Letras sincronizadas podem ser gravadas em arquivos LRC usando Exportar. Observe que apenas as entradas com carimbos de tempo válidos serão exportadas e que as entradas serão classificadas por tempo. Entradas com tempo inválido também não serão armazenadas no quadro SYLT, portanto, certifique-se de incluir todas as informações de tempo antes de sair da caixa de diálogo.

A especificação ID3 sugere um carimbo de data/hora para cada sílaba. No entanto, a maioria dos reprodutores suporta apenas a granularidade de uma linha ou frase. Para suportar ambos os casos de uso, o &kid3; segue as mesmas convenções do Editor SYLT. O texto inserido na tabela é considerado como iniciando uma nova linha, a menos que comece com um espaço ou um hífen. Exceções a essa regra são possíveis iniciando uma linha com um sublinhado ('_') para forçar a continuação ou um símbolo de cerquilha ('#') para forçar uma nova linha. Esses caracteres de escape não são armazenados dentro do frame SYLT. Dentro do frame SYLT, novas linhas começam com um caractere de alimentação de linha (hexadecimal 0A), enquanto as continuações não. Ao ler quadros SYLT, o &kid3; verifica se a primeira entrada começa com uma quebra de linha. Caso contrário, assume-se que todas as entradas são novas linhas e que não há continuações de sílabas.

Enquanto a faixa é reproduzida, a linha associada à posição de reprodução atual é destacada, para que a correção das informações de sincronização possa ser verificada. Se for necessário adicionar um deslocamento a um ou mais pontos de tempo, isso pode ser feito com o menu de contexto Adicionar deslocamento. Valores negativos podem ser usados ​​para reduzir o tempo. Usando Buscar posição no menu de contexto, é possível definir a posição de reprodução para o tempo da linha selecionada.

Procedimento recomendado para adicionar novas letras sincronizadas

- Obtenha as letras dessincronizadas, por exemplo usando Letras Letras embutidas no menu de contexto da lista de arquivos.

- Copie a letra dessincronizada para a área de transferência. Basta ir até a linha Letra na tabela de quadros e pressionar &Ctrl;C.

- Adicione um frame de letras sincronizadas (Adicionar..., Letras Sincronizadas, OK), clique em Da área de transferência.

- Agora, todas as linhas da letra dessincronizada estão na tabela, todos os registros de tempo são inválidos (0:0:0.00). Você pode excluir entradas vazias antecipadamente.

- Comece a reproduzir a música clicando no botão de reprodução ► na barra de ferramentas de reprodução na parte inferior da janela principal.

- Quando a próxima linha da letra com marcação de tempo inválida aparecer, clique em Adicionar ou pressione &Alt;A, a marcação de tempo será atualizada.

- Continue assim até que todos os registros de tempo estejam definidos. Se você perdeu alguma coisa, pare a reprodução e limpe os registros de tempo usando a tecla Delete ou selecionando-os e usando Limpar no menu de contexto. Para reiniciar a reprodução a partir de um determinado registro de tempo, use Buscar posição no menu de contexto.

#### Capítulos em arquivos MP4

Os audiolivros MP4 geralmente têm a extensão `.m4b` e são bastante grandes porque contêm todos os capítulos em um único arquivo. Para navegar nesses arquivos, eles podem conter marcadores de capítulo, que podem ser editados em um pseudo frame de "Capítulos" usando o mesmo editor usado para letras sincronizadas. Observe, no entanto, que esse recurso está disponível apenas com o plugin Mp4v2Metadata, portanto, certifique-se de que ele esteja ativado e acima do plugin TaglibMetadata na aba de Plugins das configurações, caso precise editar capítulos de MP4.

As informações dos capítulos em audiolivros MP3 são armazenadas em múltiplos frames "Capítulo" (CHAP) que são referenciados por um frame "Sumário" (CTOC), e esses frames possuem subframes embutidos. Para editar essas informações em um único local, um pseudo frame "Capítulos" também pode ser usado para tags ID3v2. Seu conteúdo é usado para criar o capítulo real, o sumário e os frames embutidos: a Descrição é usada como o título do sumário, a coluna Texto contém os títulos dos capítulos e o valor Tempo correspondente será o horário de início do capítulo e o horário de término do capítulo anterior. O horário de término do último capítulo é determinado pelo Tempo da última linha, se o seu Texto estiver vazio.

### Menu Arquivo

&Ctrl;O Arquivo Abrir...

- Abre uma pasta. Todos os arquivos que correspondem ao nome do arquivo selecionado serão exibidos na lista de arquivos e o arquivo escolhido será selecionado.

Arquivo Abrir recente

- Abre uma pasta aberta recentemente.

&Ctrl;D Arquivo Abrir pasta...

- Abre uma pasta. Todos os arquivos que correspondem ao nome do arquivo selecionado no filtro serão exibidos na lista de arquivos.

F5 Arquivo Recarregar

- Recarregar pasta. Os arquivos modificados precisam ser salvos antes. As subpastas expandidas serão recolhidas.

&Ctrl;S Arquivo Salvar

- Salva todos os arquivos alterados na pasta. Os arquivos alterados são marcados com um símbolo de disco na lista de arquivos. Se algum nome de arquivo foi alterado, esses arquivos serão renomeados.

Arquivo Reverter

- Reverte as alterações de um ou mais arquivos. Se nenhum arquivo for selecionado na lista de arquivos, as alterações de todos os arquivos serão revertidas. Caso contrário, apenas as alterações dos arquivos selecionados serão revertidas.

Arquivo Importar...

- A caixa de diálogo Importar pode ser usada para importar dados diretamente de um servidor freedb.org, de um servidor MusicBrainz, do Discogs, da Amazon ou de outras fontes de listas de faixas de álbuns em formato de texto.

  É possível importar de um servidor freedb.org usando uma caixa de diálogo que aparece quando Do servidor: gnudb.org é selecionado. O nome do artista e do álbum a serem pesquisados ​​podem ser inseridos nos dois campos superiores. Os álbuns que correspondem à consulta serão exibidos quando Buscar for clicado e os resultados de www.gnudb.org forem recebidos. A importação dos dados das faixas de um álbum é feita clicando duas vezes no álbum na lista. O servidor freedb.org de onde importar pode ser selecionado, assim como o caminho CGI. Os dados importados são exibidos na tabela de pré-visualização da caixa de diálogo de importação. Quando estiver satisfeito com as faixas exibidas, elas podem ser importadas encerrando a caixa de diálogo de importação com OK.

  Se você já tiver um resultado de pesquisa aberto no navegador da web, poderá inserir o URL no primeiro campo de pesquisa. O resultado aparecerá então na lista de álbuns e poderá ser importado diretamente para o &kid3;.

  Um endereço de e-mail registrado em gnudb.org pode ser inserido no campo Token.

  Uma busca no servidor Discogs pode ser realizada usando Discogs. Assim como na caixa de diálogo do gnudb.org, você pode inserir o artista e o álbum e, em seguida, escolher em uma lista de lançamentos. Um Token pode ser inserido para usar a API RESTful do Discogs em vez de sua interface web, que é frequentemente alterada, o que quebra o analisador de importação. Você precisa se registrar para obter uma conta no Discogs e, em seguida, gerar um token em seu site (Configurações/Desenvolvedores, Gerar novo token). Não se esqueça de Salvar configurações após inserir o token para usá-lo também em solicitações subsequentes. Se Tags padrão estiver marcado, as informações padrão serão importadas, por exemplo, artista, álbum e título.Se Tags Adicionais estiver marcado, mais informações serão importadas, se disponíveis, por exemplo, intérpretes, arranjadores ou editora.Se Capa do Álbum estiver marcado, a capa do álbum será baixada, se disponível.

  É possível realizar uma busca na Amazon usando Amazon. Assim como na caixa de diálogo gnudb.org, você pode inserir o artista e o álbum e, em seguida, escolher em uma lista de lançamentos. Se Tags Adicionais estiver marcado, mais informações serão importadas, se disponíveis, por exemplo, intérpretes, arranjadores ou a editora. Se Capa do álbum estiver marcado, a capa do álbum será baixada, se disponível.

  Você pode pesquisar da mesma forma no banco de dados de lançamentos do MusicBrainz usando Do lançamento do MusicBrainz. O fluxo de trabalho é o mesmo que descrito para Do gnudb.org.

  A importação de um servidor MusicBrainz é possível usando a caixa de diálogo que aparece quando Do MusicBrainz Fingerprint é selecionado. O servidor pode ser selecionado como na caixa de diálogo de importação do freedb. Abaixo está uma tabela exibindo os dados da faixa importada. A coluna da direita mostra o estado da consulta do MusicBrainz, que começa com "Pendente" quando a caixa de diálogo é aberta. Em seguida, a impressão digital é pesquisada e, se não retornar um resultado, outra pesquisa usando as tags no arquivo é tentada. Assim, pode ser útil para uma consulta bem-sucedida do MusicBrainz armazenar informações conhecidas (por exemplo, artista e álbum) nas tags antes da importação. Se um resultado for encontrado, a pesquisa termina no estado "Reconhecido", caso contrário, nada foi encontrado ou vários resultados ambíguos e um deles deve ser selecionado pelo usuário. OK e Aplicar usam os dados importados. Cancelar fecha a caixa de diálogo. O fechamento pode demorar um pouco, pois todo o sistema do MusicBrainz precisa ser desligado.

  Para importar dados textuais, Do arquivo/área de transferência abre uma subdiálogo onde vários formatos de importação predefinidos estão disponíveis. Os dois primeiros, "CSV sem aspas" e "CSV com aspas", podem ser usados ​​para importar dados que foram exportados pela caixa de diálogo Exportar. Os dados CSV podem ser editados com uma planilha e devem ser escritos usando tabulações como delimitadores. A importação deve ser possível usando "CSV com aspas", que é mais flexível do que "CSV sem aspas". No entanto, seus campos não podem conter aspas duplas. Se você apenas exportar do &kid3; e importar posteriormente, "CSV sem aspas" pode ser usado como um formato simples para essa finalidade. Observe que também existem os comandos "Exportar CSV" e "Importar CSV" no menu de contexto da lista de arquivos, que usam scripts para exportar e importar dados CSV de uma maneira mais completa, poderosa e flexível.

  The next format, "freedb &HTML; text", can be used to copy information from an &HTML; page of freedb.org. Search an album in freedb and if the desired information is displayed in the web browser, copy the contents to the clipboard. Then click the From Clipboard button and the imported tracks will be displayed in the preview table at the top of the dialog. If you are satisfied with the imported data, terminate the dialog with OK, which will insert the data into the tags of the current folder. The destination (Tag 1, Tag 2 or Tag 1 and Tag 2) can be selected with a combo box. The files in the current folder should be in the correct track order to get their tags assigned. This is the case if they are numbered.

  O próximo formato de importação pré-configurado, "fonte &HTML; do freedb", pode ser usado, se os dados estiverem disponíveis como um documento &HTML;. A importação é possível usando o botão Do arquivo, que abre um seletor de arquivos, ou copiando seu conteúdo de um editor e importando da área de transferência. Este formato pode ser útil para importação offline, embora o documento HTML também possa ser aberto em um navegador e importado no primeiro formato através da área de transferência.

  Mais formatos pré-configurados, por exemplo, "Título da Faixa Tempo", estão disponíveis. Um formato personalizado vazio pode ser criado com Adicionar para ser definido pelo usuário. Duas linhas abaixo do nome do formato podem ser definidas com uma expressão regular para capturar os campos do texto de importação. A primeira expressão regular será analisada uma vez por documento para coletar dados por álbum, como artista, álbum, ano e gênero. A segunda linha tenta corresponder do início ao fim do documento para obter os dados da faixa, geralmente número e título. As expressões regulares incluem todos os recursos oferecidos pelo &Qt;, que é a maior parte do que o Perl oferece. Construções entre colchetes "(..)" criam buffers de captura para os campos a serem importados e são precedidas por códigos específicos do &kid3; para especificar qual campo capturar. Os códigos são os mesmos usados ​​para o formato do nome do arquivo, exceto pelos códigos listados abaixo.Qualquer nome de quadro é possível:

  - %s %{title} Título (Música)

  - %a %{artist} Artista

  - %l %{album} Álbum

  - %c %{comment} Comentário

  - %y %{year} Ano

  - %t %{track} Faixa

  - %g %{genre} Gênero

  - %d %{duration} Duração

  Por exemplo, uma expressão regular de faixa (segunda linha) para importar de uma lista de reprodução `.m3u` poderia ser "`%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]`". Todos os formatos podem ser alterados editando as expressões regulares e o nome e clicando em Salvar configurações. Eles serão armazenados no arquivo `kid3rc` na pasta de configuração. Este arquivo pode ser editado diretamente para ter mais formatos de importação ou pode ser excluído para reverter para os formatos padrão. Os formatos podem ser excluídos usando Remover.

  Precisão mostra uma estimativa de quão bem as informações importadas correspondem às faixas fornecidas. Ela usa a duração das faixas ou os nomes dos arquivos para calcular o nível de similaridade em porcentagem. Capa do álbum mostra o &URL; da imagem da capa do álbum que será baixada.

  Para verificar se as faixas importadas correspondem ao conjunto atual de arquivos, a duração das faixas importadas pode ser comparada com a duração dos arquivos. Esta opção pode ser ativada com a caixa de seleção Verificar diferença máxima de tempo permitida (seg): e a diferença máxima tolerada de tempo pode ser definida em segundos. Se uma discrepância na duração for detectada, a duração será exibida com um fundo vermelho na tabela de pré-visualização.

  Se os arquivos estiverem ordenados de forma diferente das faixas importadas, as faixas atribuídas a eles precisarão ser alteradas. Essa tarefa pode ser facilitada usando a opção Combinar com com os botões Duração, Faixa e Título, que reordenarão as faixas de acordo com o campo correspondente. Para corrigir as atribuições manualmente, uma faixa pode ser arrastada com o botão esquerdo do mouse e a tecla &Ctrl; pressionada, e então solta no novo local.

  Se houver mais faixas importadas do que arquivos, por exemplo, se a pasta atual contiver apenas o segundo disco de um álbum de dois discos, mas as faixas de ambos os discos estiverem importadas, é possível excluir as faixas do primeiro disco selecionando-as clicando no rótulo da linha da primeira faixa, depois clicando no rótulo da linha da última faixa do primeiro disco enquanto mantém pressionada a tecla Shift e, finalmente, removendo as faixas pressionando a tecla Delete.

  Quando a caixa de diálogo de importação é aberta, ela contém o conteúdo real das tags. O tipo de tag (Tag 1, Tag 2, Tag 1 e Tag 2) pode ser selecionado usando a caixa de combinação Destino. O botão à direita desta caixa de combinação pode ser usado para reverter a tabela para o conteúdo atual das tags. As caixas de seleção na primeira coluna da tabela podem ser usadas para selecionar as faixas que serão importadas. Isso pode ser útil se uma pasta contiver as faixas de ambos os &CD;s de um &CD; duplo e apenas as faixas do segundo &CD; precisarem ser importadas.

  Para identificar as faixas importadas, é possível exibir os nomes dos arquivos ou os caminhos completos para os arquivos usando o menu de contexto do cabeçalho da tabela. Os valores na tabela de importação podem ser editados. O botão "Reverter" à direita da caixa de combinação Destino pode ser usado para restaurar o conteúdo das tags, o que também pode ser útil após alterar o Destino.

  Quase todas as caixas de diálogo possuem um botão Salvar configurações, que pode ser usado para armazenar as configurações específicas da caixa de diálogo e o tamanho da janela de forma permanente.

  A partir das tags leva a uma subdiálogo para definir frames de tags a partir do conteúdo de outros frames de tags. Isso pode ser usado para simplesmente copiar informações entre tags ou extrair uma parte de um frame e inseri-la em outro.

  Assim como na caixa de diálogo para importar de arquivo/área de transferência, existem formatos livremente configuráveis ​​para realizar diferentes operações. Já estão pré-configurados formatos para copiar o valor do Álbum para Artista do Álbum, Compositor ou Maestro, e para extrair o Número da Faixa de campos de Título que contenham um número. Há também um formato para extrair uma Legenda de um campo de Título.

  O exemplo a seguir explica como adicionar um formato personalizado, que define as informações do campo Legenda também no campo Comentário. Crie um novo formato usando o botão Adicionar e defina um novo nome, por exemplo, "Legenda para Comentário". Em seguida, insira "`%{subtitle}`" em Fonte e "`%{comment}(.*)`" para Extração e clique em Salvar configurações.

  A expressão em Fonte pode conter códigos de formato para frames de tags arbitrários; vários códigos podem ser usados ​​para combinar o conteúdo de diferentes quadros. Para cada faixa, um texto é gerado a partir de suas tags usando o formato Fonte, e a expressão regular de Extração é aplicada a esse texto para definir novos valores para as tags. Os códigos de formato são usados ​​antes dos parênteses de captura para especificar o frame de tag onde o texto capturado deve ser armazenado. Funciona da mesma forma que para importar de arquivo/área de transferência.

  Importar de tags... também está disponível diretamente no menu Arquivo. A diferença entre essas duas funções é que o subdiálogo de importação opera em todos os arquivos da pasta atual, enquanto a função do menu opera nos arquivos selecionados (que podem estar em pastas diferentes). A função do menu suporta um código adicional "`%{__return}`" para retornar o valor extraído, o que pode ser útil com as interfaces CLI e QML.

Arquivo Importar de gnudb.org...

- Importa de um servidor freedb.org usando a pesquisa de álbuns do gnudb.org. Este item de menu abre a mesma janela de importação para Importar..., mas abre diretamente o diálogo para o gnudb.org.

Arquivo Importar de Discogs...

- Importa de um servidor Discogs. Este item de menu abre a mesma janela de importação para Importar.., mas abre diretamente o diálogo para importar Do Discogs.

Arquivo Importar da Amazon...

- Importa da Amazon. Este item de menu abre a mesma janela de importação para Importar.., mas abre diretamente o diálogo para importar Da Amazon.

Arquivo Importar do lançamento do MusicBrainz...

- Importa do banco de dados de lançamentos do MusicBrainz. Este item de menu abre a mesma janela de importação para Importar..., mas abre diretamente o diálogo Do lançamento do MusicBrainz.

Arquivo Importar da impressão digital do MusicBrainz...

- Importa do servidor do MusicBrainz. Este item de menu abre a mesma janela de importação para Importar..., mas abre diretamente o diálogo Da impressão digital do MusicBrainz.

Arquivo Importar das tags...

- Semelhante a Das tags, mas a importação é aplicada aos arquivos selecionados.

Arquivo Importação automática...

- A importação automática permite importar informações de vários álbuns de diversos serviços da web. Se pastas forem selecionadas na lista de arquivos, os dados das faixas das pastas selecionadas serão importados. Se nenhuma pasta for selecionada, todas as pastas da lista de arquivos serão importadas.

  O tipo de tag (Tag 1, Tag 2, Tag 1 e Tag 2) pode ser selecionado usando a caixa de combinação Destino.

  Os perfis determinam quais servidores serão contatados para obter informações sobre o álbum. Alguns perfis são predefinidos (Todos, MusicBrainz, Discogs, Capa), perfis personalizados podem ser adicionados usando o botão Adicionar à direita da caixa de combinação Perfil.

  A tabela abaixo mostra os servidores que serão usados ​​ao importar informações de álbuns usando o perfil selecionado. O processo de importação de um álbum é concluído se todas as informações necessárias forem encontradas, portanto, a ordem das linhas na tabela é importante. Ela pode ser alterada usando os botões Mover para cima e Mover para baixo. O botão Editar pode ser usado para alterar uma entrada existente. A seleção Servidor oferece os mesmos servidores que podem ser usados ​​nas funções de importação. Tags padrão, Tags adicionais e Capa do álbum determinam as informações que serão obtidas do servidor. Por fim, Precisão é a precisão mínima que deve ser atingida para aceitar os dados importados. Se a precisão for insuficiente, o próximo servidor da lista será tentado. A mesma caixa de diálogo contendo as propriedades do servidor aparece quando Adicionar é clicado para adicionar uma nova entrada de servidor. As entradas existentes podem ser excluídas usando Remover.

  Para iniciar uma importação em lote automática com o perfil selecionado, clique em Iniciar. Os detalhes sobre a importação em andamento são exibidos na parte superior da caixa de diálogo. O processo pode ser interrompido com o botão Cancelar.

Arquivo Navegar arte da capa...

- A caixa de diálogo Navegar arte da capa ajuda a encontrar capas de álbuns. Artista/Álbum é preenchido com as tags, se possível. Fonte oferece uma variedade de sites com capas de álbuns. O &URL; com artista e álbum como parâmetros pode ser encontrado abaixo do nome. Valores codificados em &URL; para artista e álbum podem ser inseridos usando "`%u{artist}`" e "`%u{album}`". Outros valores das tags também são possíveis, conforme descrito em Configurar &kid3;, Ações do usuário. Mais fontes podem ser inseridas após a entrada "Fonte personalizada" substituindo "Fonte personalizada" pelo nome da fonte, pressionando Enter e, em seguida, inserindo o &URL; e finalmente pressionando Salvar configurações. O comando do navegador resultante é exibido na parte superior da caixa de diálogo e pode ser iniciado clicando em Navegar. O navegador, que pode ser configurado nas configurações, é iniciado com a fonte selecionada. Uma imagem de capa pode então ser arrastada do navegador para a janela e será definida na moldura da imagem dos arquivos selecionados.

  Como nem todos os navegadores suportam arrastar e soltar imagens e as imagens em sites geralmente têm um &URL;, nesses casos, o &kid3; receberá o &URL; e não a imagem. Se o &URL; apontar para uma imagem, ela será baixada. No entanto, se o &URL; se referir a algum outro recurso da web, ele precisa ser traduzido para a imagem correspondente. Esses mapeamentos são definidos na tabela de Extração de &URL;. A coluna da esquerda Correspondência contém uma expressão regular que é comparada com o &URL;. Se houver correspondência, as expressões capturadas entre parênteses são inseridas no padrão da coluna da direita &URL; da Imagem (nas posições marcadas com \1 etc.). A expressão regular substituída contém o &URL; da imagem. Dessa forma, as capas dos álbuns podem ser importadas da Amazon, Google Imagens, etc., usando o recurso de arrastar e soltar. Também é possível definir seus próprios mapeamentos.

Arquivo Exportar...

- A caixa de diálogo Exportar é usada para armazenar dados das tags em um arquivo ou na área de transferência. O editor na parte superior mostra uma pré-visualização dos dados a serem exportados. Se os dados de exportação contiverem caracteres de tabulação, a exportação será exibida em uma tabela. Os dados serão gerados a partir das tags na pasta atual, de acordo com o formato configurado.

  As configurações de formatação são semelhantes às da caixa de diálogo Importar: O campo superior contém o título (por exemplo, "CSV sem aspas"), seguido pelo cabeçalho, que será gerado no início do arquivo. Os dados da faixa vêm a seguir; eles são usados ​​para cada faixa. Por fim, o trailer pode ser usado para gerar um texto final.

  Os campos de formato não contêm expressões regulares como na caixa de diálogo Importar, mas apenas expressões de formato de saída com expressões especiais em porcentagem (%), que serão substituídas pelos valores das tags. Todo o processo funciona como o formato de nome de arquivo, e os mesmos códigos são usados, além de alguns códigos adicionais. Não apenas os códigos listados abaixo, mas todos os nomes de frames de tags podem ser usados.

  - %s %{title} Título (Música)

  - %a %{artist} Artista

  - %l %{album} Álbum

  - %c %{comment} Comentário

  - %y %{year} Ano

  - %t %{track} Faixa (por exemplo, 01)

  - %t %{track.n} Faixa com largura do campo n (por exemplo, 001 para%{track.3})

  - %T %{tracknumber} Faixa (sem zeros à esquerda, por exemplo, 1)

  - %g %{genre} Gênero

  - %f %{file} Nome do arquivo

  - %p %{filepath} Caminho

  - %{modificationdate} Data de modificação

  - %{creationdate} Data de criação

  - %u %{url} &URL;

  - %{dirname} Nome da pasta

  - %d %{duration} Duração em minutos:segundos

  - %D %{seconds} Duração em segundos

  - %n %{tracks} Número de faixas do álbum

  - %e %{extension} Extensão do arquivo

  - %O %{tag1} O formato da tag 1 (ID3v1.1 ou vazia se não existir)

  - %o %{tag2} O formato da tag 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF ou vazio se não existir)

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

  - %v %{vbr} VBR ou vazio (somente para o ID3v2.3 com o id3lib)

  - %r %{samplerate} Taxa de amostragem em Hz

  - %m %{mode} Modo do canal (Estéreo or Estéreo Conjunto)

  - %h %{channels} Número de canais (1 ou 2)

  - %k %{codec} Codec (por exemplo, MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)

  Alguns formatos são predefinidos. "CSV sem aspas" separa os campos por tabulações. Os dados neste formato podem ser importados novamente para o &kid3; usando o formato de importação com o mesmo nome. "CSV com aspas" também envolve os campos com aspas duplas, o que facilita a importação para aplicativos de planilha. No entanto, os campos não devem conter aspas duplas quando este formato for usado. "M3U estendido" e "PLS estendido" geram listas de reprodução com atributos estendidos e nomes de caminho absolutos. "HTML" pode ser usado para gerar uma página &HTML; com hiperlinks para as faixas. "Kover &XML;" cria um arquivo que pode ser importado pelo programa de impressão de capas Kover. "Detalhes técnicos" fornece informações sobre taxa de bits, taxa de amostragem, canais, etc. Por fim, "Formato personalizado" é deixado em branco para a definição de um formato personalizado. Você pode definir mais formatos personalizados adicionando linhas ao arquivo `kid3rc` na pasta de configuração.Os outros formatos podem ser adaptados às suas necessidades.

  A Fonte das tags para gerar os dados de exportação (Tag 1 ou Tag 2) pode ser selecionada com uma caixa de combinação. Clicar em Para arquivo ou Para a área de transferência armazena os dados em um arquivo ou na área de transferência. OK e Cancelar fecham a caixa de diálogo, enquanto OK aceita as configurações atuais da caixa de diálogo.

Arquivo Criar lista de reprodução...

- Cria uma lista de reprodução. O formato e o conteúdo da lista de reprodução podem ser definidos por diversas opções.

  O nome da lista de reprodução pode ser o Mesmo que o nome da pasta ou usar um Formato com valores das tags, por exemplo, "`%{artist} - %{album}`" para incluir o nome do artista e do álbum no nome do arquivo da lista de reprodução. Os códigos de formato são os mesmos que para Exportar. A lista de formatos disponíveis pode ser editada na seção Formato da aba Arquivos nas configurações. Criar uma nova lista de reprodução vazia criará uma lista de reprodução vazia com o nome fornecido. A extensão depende do formato da lista de reprodução.

  A localização da lista de reprodução gerada é determinada pela seleção da caixa de combinação Criar em.

  Pasta atual

- A lista de reprodução é criada na pasta atual e contém apenas arquivos da pasta atual. A pasta atual é a pasta onde o arquivo atual está localizado. Se vários arquivos estiverem selecionados, o arquivo atual provavelmente será o último arquivo selecionado.

Todas as pastas

- Uma lista de reprodução é criada em cada pasta que contém os arquivos listados, e cada lista de reprodução contém os arquivos dessa pasta.

Pasta do nível mais alto

- Apenas uma lista de reprodução é criada na pasta de nível superior (ou seja, a pasta da lista de arquivos) e ela contém os arquivos listados da pasta de nível superior e todas as suas subpastas.

O Formato da lista de reprodução pode ser M3U, PLS ou XSPF.

Se a opção Incluir apenas os arquivos selecionados estiver marcada, somente os arquivos selecionados serão incluídos na lista de reprodução. Se uma pasta for selecionada, todos os seus arquivos serão selecionados. Se esta caixa de seleção não estiver ativada, todos os arquivos de áudio serão incluídos na lista de reprodução.

Ordenar por nome do arquivo seleciona o caso usual em que os arquivos são ordenados por nome. Com Ordenar por campo de tag, é possível ordenar por uma string de formatação com valores de campos de tag. Por exemplo, "`%{track.3}`" pode ser usado para ordenar por número da faixa (o "`.3`" é usado para obter três dígitos com zeros à esquerda, pois strings são usadas para ordenação). Também é possível usar vários campos, por exemplo, "`%{genre}%{year}`" para ordenar usando uma string composta por gênero e ano.

As entradas da lista de reprodução terão caminhos de arquivo relativos ou absolutos, dependendo de se a opção Usar caminho relativo para arquivos na lista de reprodução ou Usar caminho completo para arquivos na lista de reprodução estiver selecionada.

Quando a opção Escrever apenas a lista de arquivos estiver selecionada, a lista de reprodução conterá apenas os caminhos dos arquivos. Para gerar uma lista de reprodução estendida com informações adicionais, uma string de formato pode ser definida usando o controle Escrever informações usando.

&Ctrl;Q Arquivo Sair

- Sai do aplicativo.

### Menu Editar

&Alt;A Editar Selecionar tudo

- Seleciona todos os arquivos.

&Ctrl;Shift A Editar Cancelar seleção

- Cancela a seleção dos arquivos.

Editar Selecionar tudo na pasta

- Seleciona todos os arquivos da pasta atual.

&Alt;Acima Editar Arquivo anterior

- Seleciona o arquivo anterior.

&Alt;Abaixo Editar Próximo arquivo

- Seleciona o próximo arquivo.

&Ctrl;F Editar Localizar...

- Procura sequências de caracteres nos nomes dos arquivos e nas tags. A caixa de diálogo Localizar é um subconjunto da caixa de diálogo Substituir, que é descrita abaixo.

&Ctrl;R Editar Substituir...

- Esta função abre uma caixa de diálogo para localizar e substituir strings nos nomes dos arquivos e nas tags. O conjunto de frames onde a busca é realizada pode ser restringido desativando a caixa de seleção Selecionar tudo e selecionando os frames que devem ser pesquisados. Também estão disponíveis opções de busca para pesquisar de trás para frente, diferenciar maiúsculas de minúsculas e usar expressões regulares.

  Dependendo da quantidade de arquivos, a busca pode demorar um pouco, portanto, ela pode ser interrompida fechando a caixa de diálogo.

### Menu Ferramentas

Ferramentas Aplicar formato de nome de arquivo

- Quando a opção Aplicar formato automaticamente estiver desativada para o formato de nome de arquivo na caixa de diálogo de configuração, este item de menu pode ser usado para aplicar o formato configurado aos nomes dos arquivos selecionados. Isso também pode ser usado para verificar se os nomes dos arquivos estão em conformidade com o formato configurado, aplicando o formato a todos os arquivos salvos e, em seguida, verificando se algum arquivo foi alterado (e, portanto, marcado com um símbolo de disco na lista de arquivos).

Ferramentas Aplicar formato de tag

- Quando a opção Aplicar formato automaticamente estiver desativada para o formato de tag na caixa de diálogo de configuração, este item de menu pode ser usado para aplicar o formato configurado às tags selecionadas. Isso também pode ser usado para verificar se as tags estão em conformidade com o formato configurado, aplicando o formato a todos os arquivos salvos e, em seguida, verificando se algum arquivo foi alterado (e, portanto, marcado com um símbolo de disco na lista de arquivos).

Ferramentas Aplicar codificação de texto

- Define a Codificação de texto selecionada em Configurações Configurar &kid3;... Seção Tags aba Tag 2 para todos os arquivos selecionados. Se UTF8 for selecionado, UTF16 será usado para tags ID3v2.3.0, pois UTF8 não é compatível com este formato.

Ferramentas Renomear pasta...

- Esta caixa de diálogo oferece a possibilidade de renomear automaticamente a pasta atualmente aberta de acordo com as tags nos arquivos. Vários formatos são pré-configurados para incluir informações sobre artista, álbum e ano no nome da pasta. Também é possível definir um formato personalizado e Editar a lista de formatos disponíveis. Os seguintes códigos especiais são usados ​​para inserir valores de tags no nome da pasta:

  - %s %{title} Título (Música)

  - %a %{artist} Artista

  - %l %{album} Álbum

  - %c %{comment} Comentário

  - %y %{year} Ano

  - %t %{track} Faixa (por exemplo, 01)

  - %t %{track.n} Faixa com largura do campo n (por exemplo, 001 para%{track.3})

  - %T %{tracknumber} Faixa (sem zeros à esquerda, por exemplo, 1)

  - %g %{genre} Gênero

  - %{dirname} Nome da pasta (por exemplo, %{year" "}%{dirname} prefixará o ano ao nome da pasta atual)

  - %{max-year} O valor máximo de ano encontrado para esta pasta também pode ser usado com outros códigos além de "year"

  - %{min-year} O valor mínimo do ano encontrado para esta pasta

  - %{unq-year} O valor único do ano encontrado para esta pasta ou vazio se não for único

  Se um separador de pasta "/" for encontrado no formato, várias pastas serão criadas. Se você quiser criar uma nova pasta em vez de renomear a pasta atual, na caixa de combinação Ação, selecione Criar pasta em vez de Renomear pasta. A Fonte das informações da tag pode ser escolhida entre Tag 1 e Tag 2, Tag 1 e Tag 2. Uma pré-visualização da operação de renomeação realizada no primeiro arquivo pode ser vista nas seções De e Para da caixa de diálogo.

  É possível renomear várias pastas selecionando-as.

Ferramentas Numerar faixas...

- Se os números das faixas nas tags não estiverem definidos ou tiverem valores incorretos, esta função pode numerar as faixas automaticamente em ordem crescente. O número inicial pode ser definido na caixa de diálogo. Se apenas parte das faixas precisar ser numerada, elas devem ser selecionadas.

  Quando Número total de faixas estiver selecionado, o número de faixas também será definido nas tags.

  É possível numerar as faixas em várias pastas. As pastas precisam ser expandidas e selecionadas.

  Se a opção Redefinir contador para cada pasta estiver marcada, a numeração das pastas será reiniciada com o número fornecido para cada pasta quando várias pastas forem selecionadas.

  A caixa de diálogo de numeração de faixas também pode ser usada para formatar números de faixas existentes sem alterar os valores quando a caixa de seleção à esquerda de Número inicial estiver desativada. O número total de faixas será adicionado se a caixa de seleção correspondente estiver ativa, que pode ser usada para definir o total para todas as faixas selecionadas. Se apenas a formatação dos números existentes for desejada, essa caixa de seleção também deve ser desativada.

Ferramentas Filtro...

- O filtro pode ser usado para exibir apenas os arquivos que correspondem a determinados critérios. Isso é útil se você quiser organizar uma grande coleção e editar apenas os arquivos que não estão no esquema desejado. A expressão que define quais arquivos exibir usa os mesmos códigos de formato usados ​​na formatação do nome do arquivo, importação e exportação.

  - %s %{title} Título (Música)

  - %a %{artist} Artista

  - %l %{album} Álbum

  - %c %{comment} Comentário

  - %y %{year} Ano

  - %t %{track} Faixa (por exemplo, 01)

  - %t %{track.n} Faixa com largura do campo n (por exemplo, 001 para%{track.3})

  - %T %{tracknumber} Faixa (sem zeros à esquerda, por exemplo, 1)

  - %g %{genre} Gênero

  - %f %{file} Nome do arquivo

  - %p %{filepath} Caminho absoluto para o arquivo

  - %e %{extension} Extensão do arquivo

  - %O %{tag1} O formato da tag 1 (ID3v1.1 ou vazia se não existir)

  - %o %{tag2} O formato da tag 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF ou vazio se não existir)

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

  - %v %{vbr} VBR ou vazio (somente para o ID3v2.3 com o id3lib)

  - %r %{samplerate} Taxa de amostragem em Hz

  - %m %{mode} Modo do canal (Estéreo or Estéreo Conjunto)

  - %h %{channels} Número de canais (1 ou 2)

  - %k %{codec} Codec (por exemplo, MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)

  - %w %{marked} Marcado, é 1 se o arquivo estiver marcado (por exemplo, devido a truncamento ou violação de padrão), vazio caso contrário

  - %1a %1{artist}, ... Use o prefixo 1 para obter os valores da tag 1

  - %2a %2{artist}, ... Use o prefixo 2 para obter os valores da tag 2

  Esses códigos são substituídos pelos valores do arquivo, e as strings resultantes podem ser comparadas com as seguintes operações:

  - s1 equals s2: verdadeiro se s1 e s2 forem iguais.

  - s1 contains s2: verdadeiro se s1 contém s2, ou seja, s2 é uma substring de s1.

  - s matches re: verdadeiro se s corresponder à expressão regular re.

  Expressões verdadeiras são substituídas por 1, falsas por 0. Valores verdadeiros são representados por 1, true, on e yes, valores falsos por 0, false, off e no. As operações booleanas são not, and e or (nesta ordem de precedência) e podem ser agrupadas por parênteses.

  Algumas regras de filtro são predefinidas e podem servir como exemplos para suas próprias expressões.

  Tudo

- Quando a lista de arquivos é filtrada - isso é indicado por "[filtrado]" no título da janela - e todos os arquivos devem ser exibidos novamente, a filtragem pode ser revertida usando este filtro. Ele usa uma expressão vazia, mas um valor verdadeiro teria o mesmo efeito.

Incompatibilidade na tag do nome do arquivo

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

  Testa se o caminho do arquivo está de acordo com o formato do nome do arquivo. Esta regra é adaptada automaticamente se o formato do nome do arquivo for alterado.

Sem Tag 1

- `%{tag1} equals ""`

  Exibe apenas os arquivos que não possuem a tag 1.

Sem Tag 2

- `%{tag2} equals ""`

  Exibe apenas os arquivos que não possuem a tag 2.

Tag ID3v2.3.0

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

  Exibe apenas arquivos que possuem uma tag ID3v2.3.0.

Tag ID3v2.4.0

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

  Exibe apenas arquivos que possuem uma tag ID3v2.4.0.

Tag 1 != Tag 2

- `not (%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre})`

  Exibe arquivos com diferenças entre a tag 1 e a tag 2.

Tag 1 == Tag 2

- `%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre}`

  Exibe arquivos com as mesmas tags 1 e 2.

Incompleto

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

  Exibe arquivos com valores vazios nas tags padrão (título, artista, álbum, data, número da faixa, gênero).

Sem figura

- `%{picture} equals ""`

  Exibe apenas arquivos que não possuem imagem.

Marcado

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

  Exibe apenas arquivos que foram marcados por violarem o padrão ID3, estarem truncados ou por a imagem ser muito grande.

Filtro personalizado

- Para adicionar seu próprio filtro, selecione esta entrada. Por exemplo, se você quiser um filtro para artistas que começam com "The", substitua "Filtro personalizado" pelo nome "The Bands" e pressione Enter. Em seguida, insira a seguinte expressão na linha de edição:

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

  Em seguida, clique em Salvar configurações. Clique em Aplicar para filtrar os arquivos. Todos os arquivos processados ​​são exibidos na visualização de texto, com um "+" para aqueles que correspondem ao filtro e um "-" para os outros.Ao concluir, somente os arquivos com um artista começando com "The" serão exibidos e o título da janela será marcado com "[filtrado]".

Ferramentas Converter ID3v2.3 para ID3v2.4

- Se houver alguma tag ID3v2.3 nos arquivos selecionados, ela será convertida para tags ID3v2.4. Frames que não são suportados pelo TagLib serão descartados. Somente arquivos sem alterações não salvas serão convertidos.

Ferramentas Converter ID3v2.4 para ID3v2.3

- Se houver alguma tag ID3v2.4 nos arquivos selecionados, ela será convertida para tags ID3v2.3. Apenas arquivos sem alterações não salvas serão convertidos.

Ferramentas Reproduzir

- Isso abre uma barra de ferramentas simples para reproduzir arquivos de áudio. Ela contém botões para as operações básicas (Reproduzir/Pausar, Parar reprodução, Faixa anterior, Próxima faixa, Fechar), controles deslizantes para posição e volume, e uma exibição da posição atual. Se vários arquivos estiverem selecionados, as faixas selecionadas serão reproduzidas; caso contrário, todos os arquivos serão reproduzidos.

  O tempo exibido pode ser alternado entre tempo decorrido e tempo restante clicando no visor.

### Menu Configurações

Configurações Exibir barra de ferramentas

- Alterna a exibição da barra de ferramentas.

Configurações Exibir barra de status

- Alterna a exibição da barra de status, que exibe ações mais longas como abrir ou salvar uma pasta.

Configurações Mostrar imagem

- Alterna a exibição da imagem de pré-visualização da capa do álbum.

Configurações Ocultar tags automaticamente

- As tags vazias são ocultadas automaticamente se esta opção estiver ativa. As seções Arquivo, Tag 1 e Tag 2 podem ser recolhidas e expandidas manualmente clicando nos botões correspondentes -/+.

Configurações Configurar teclas de atalho...

- Abre uma caixa de diálogo para atribuir atalhos de teclado para a maioria das funções do programa. Existem até mesmo funções sem menu ou botão correspondente disponíveis, por exemplo, próximo arquivo, arquivo anterior, selecionar tudo.

Configurações Configurar &kid3;...

- Abre a janela de configuração, que consiste em páginas para tags, arquivos, ações do usuário e configurações de rede.

  Opções específicas de tags podem ser encontradas na página Tags, que é separado em quatro abas para Tag 1, Tag 2, Tag 3 e Todas as Tags.

  Se a opção Marcar campos truncados estiver marcada, os campos ID3v1.1 truncados serão marcados em vermelho. Os campos de texto das tags ID3v1.1 podem ter apenas 30 caracteres, e o comentário, apenas 28. O gênero e os números de faixa também são restritos, de modo que os campos podem ser truncados ao serem importados ou transferidos do ID3v2. Os campos truncados e o arquivo serão marcados em vermelho, e a marca será removida após a edição do campo.

  Com a Codificação de texto para ID3v1, é possível definir o conjunto de caracteres usado nas tags ID3v1. Essa codificação é supostamente ISO-8859-1, portanto, recomenda-se manter esse valor padrão. No entanto, existem tags com codificações diferentes, então é possível defini-la aqui e as tags ID3v1 podem ser copiadas para ID3v2, que oferece suporte a Unicode.

  A caixa de seleção Usar formato de número de faixas/total de faixas controla se o campo de número de faixas das tags ID3v2 contém apenas o número da faixa ou também o número total de faixas na pasta.

  Quando a opção Gênero como texto em vez de string numérica estiver marcada, todos os gêneros ID3v2 serão armazenados como uma string de texto, mesmo que exista um código correspondente para gêneros ID3v1. Se esta opção não estiver definida, os gêneros para os quais existe um código ID3v1 serão armazenados como o número do código do gênero (entre parênteses para ID3v2.3). Assim, o gênero Metal é armazenado como "Metal" ou "(9)", dependendo desta opção. Os gêneros que não estão na lista de gêneros ID3v1 são sempre armazenados como uma string de texto. O objetivo desta opção é melhorar a compatibilidade com dispositivos que não interpretam corretamente os códigos de gênero.

  Quando a opção Arquivos WAV com bloco id3 em minúsculas estiver selecionada, o bloco RIFF usado para armazenar tags ID3v2 em arquivos WAV será nomeado "id3" em vez de "ID3". Por padrão, o &kid3; e outros aplicativos que usam TagLib aceitam as variantes em minúsculas e maiúsculas ao ler arquivos WAV, mas usam "ID3" ao gravar tags ID3v2 em arquivos WAV. Como existem outros aplicativos que aceitam apenas "id3" (por exemplo, JRiver Media Center e foobar2000), esta opção pode ser usada para criar tags que podem ser lidas por esses aplicativos.

  Quando a opção Marcar violações do padrão estiver marcada, os campos ID3v2 que violarem o padrão serão marcados em vermelho. Detalhes sobre a violação são exibidos em uma dica:

  - Deve ser único

  - Nova linha é proibido

  - Retorno de carro é proibido

  - O proprietário não pode estar em branco

  - Deve ser numérico

  - Deve ser numérico ou número/total

  - O formato é DDMM

  - O formato é HHMM

  - O formato é AAAA

  - Deve iniciar com um ano e um caractere de espaço

  - A data/hora deve estar no formato ISO 8601

  - Deve ser uma tonalidade musical, com 3 caracteres: A-G, b, #, m, o

  - Deve estar no código de idioma ISO 639-2, 3 caracteres minúsculos

  - Deve ser código ISRC, 12 caracteres

  - Deve ser uma lista de strings separadas por '|'

  - Possui um excesso de espaços em branco

  Os documentos do padrão do ID3 estão disponíveis online:

  - Tag ID3 na versão 2.3.0

  - Tag ID3 na versão 2.4.0 - Estrutura principal

  - Tag ID3 na versão 2.4.0 - Frames nativos

  Codificação de texto define a codificação padrão usada para frames ID3v2 e pode ser definida como ISO-8859-1, UTF16 ou UTF8. UTF8 não é válido para quadros ID3v2.3.0; se estiver definido, UTF16 será usado em seu lugar. Para frames ID3v2.4.0, todas as três codificações são possíveis.

  A versão usada para novas tags determina se as novas tags ID3v2 são criadas como versão 2.3.0 ou 2.4.0.

  Dígitos do número da faixa é o número de dígitos nos campos de número da faixa. Zeros à esquerda são usados ​​para preenchimento. Por exemplo, com um valor de 2, o número da faixa 5 é definido como "05".

  A caixa de combinação Nome do campo de comentário é relevante apenas para arquivos Ogg/Vorbis e FLAC e define o nome do campo usado para comentários. Diferentes aplicativos parecem usar nomes diferentes; "`COMENTÁRIO`", por exemplo, é usado pelo XMMS, enquanto o &amarok; usa "`DESCRIÇÃO`".

  O formato das imagens em arquivos Ogg/Vorbis é determinado por Nome do campo de imagem, que pode ser "`METADATA_BLOCK_PICTURE`" ou "`COVERART`". O primeiro é o padrão oficial e usa o mesmo formato que imagens em tags FLAC. "`COVERART`" é uma forma não oficial anterior de incluir imagens em comentários Vorbis. Pode ser usado para compatibilidade com reprodutores antigos.

  Se a caixa de seleção Marcar se maior que (bytes) estiver ativada, os arquivos que contêm capas de álbuns embutidas que excedem o tamanho especificado em bytes serão marcados em vermelho. Isso pode ser usado para encontrar arquivos que contenham imagens muito grandes que não são aceitas por alguns aplicativos e reprodutores. O valor padrão é 131072 bytes (128 KB).

  Gêneros personalizados podem ser usados ​​para definir gêneros que não estão disponíveis na lista de gêneros padrão, por exemplo, "Gothic Metal". Esses gêneros personalizados aparecerão na caixa de combinação Gênero da Tag 2. Para tags ID3v1.1, somente os gêneros predefinidos podem ser usados.

  A lista de gêneros personalizados também pode ser usada para reduzir o número de gêneros disponíveis na caixa de combinação Gênero para aqueles normalmente usados. Se sua coleção contém principalmente músicas dos gêneros Metal, Gothic Metal, Ancient e Hard Rock, você pode inserir esses gêneros e marcar Mostrar apenas gêneros personalizados. A caixa de combinação Tag 2 Gênero conterá apenas esses quatro gêneros e você não precisará procurá-los na lista completa de gêneros. Neste exemplo, apenas Metal e Hard Rock serão listados na lista de gêneros da Tag 1, porque essas duas entradas de gêneros personalizados são gêneros padrão. Se Mostrar apenas gêneros personalizados não estiver ativo, os gêneros personalizados podem ser encontrados no final da lista de gêneros.

  Em Frames personalizados, podem ser definidos até oito nomes de frames personalizados, que podem então ser usados ​​como os frames unificados, por exemplo, como frames de acesso rápido.

  Frames de acesso rápido define quais tipos de frames são sempre exibidos na seção Tag 2. Esses frames podem ser adicionados sem a necessidade de usar o botão Adicionar primeiro. A ordem desses frames de acesso rápido pode ser alterada arrastando e soltando os itens.

  A caixa de combinação Nome do campo de número da faixa é relevante apenas para RIFF INFO e define o nome do campo usado para números de faixa. Os números de faixa não são especificados no padrão RIFF original; existem aplicativos que usam "`ITRK`", outros usam "`IPRT`".

  Formato da Tag contém opções para o formato das tags. Quando Aplicar formato automaticamente está marcado, a configuração de formato é usada automaticamente ao editar o texto nas linhas de edição. Validação habilita validadores nos controles com valores de faixa/total e data/hora. A Conversão de maiúsculas e minúsculas pode ser definida como Sem alterações, Todas minúsculas, Todas maiúsculas, Primeira letra maiúscula ou Todas as primeiras letras maiúsculas. Para usar a conversão com reconhecimento de localidade entre caracteres minúsculos e maiúsculos, uma localidade pode ser selecionada na caixa de combinação abaixo. A lista de substituição de strings pode ser definida para mapeamentos de strings arbitrários. Para adicionar um novo mapeamento, selecione a célula De de uma linha e insira o texto a ser substituído. Em seguida, vá para a coluna Para e insira o texto de substituição. Quando o texto a ser substituído começa e termina com uma barra ("/"), uma expressão regular é usada. Para expressões regulares que contêm grupos de captura, as ocorrências de \1, \2, ... em Para são substituídas pela string capturada pelo grupo de captura correspondente. Para remover um mapeamento, defina a célula De com um valor vazio (por exemplo, digitando primeiro um espaço e depois a tecla Backspace). Inserir e excluir linhas também é possível usando um menu de contexto que aparece quando o botão direito do mouse é clicado. A substituição só estará ativa se a caixa de seleção Substituição de string estiver marcada.

  A tabela em Classificação contém o mapeamento das classificações por estrelas para os valores efetivos armazenados na tag. Os frames com informações de classificação estão listados na linha Classificação da lista de frames. Para esses frames, a classificação pode ser definida atribuindo um número de estrelas de um total de cinco. Diferentes formatos de tag e diferentes aplicações usam valores diferentes para mapear a classificação por estrelas para o valor armazenado na tag. Para exibir o número correto de estrelas, o &kid3; irá consultar um mapeamento nesta tabela. A chave para consultar o mapeamento é o nome do frame, por exemplo, "RATING" como usado para comentários Vorbis ou "IRTD" para RIFF INFO. Para tags ID3v2, uma chave combinada é usada, consistindo no ID do frame "POPM" do frame Popularimeter e seu campo "Email", separados por um ponto. Portanto, existem diferentes chaves para ID3v2, por exemplo, "POPM.Windows Media Player 9 Series" para o mapeamento usado pelo Windows Media Player e pelo Explorer, e simplesmente "POPM" para frames POPM com um campo "Email" vazio. Como podem existir várias entradas para "POPM", a ordem delas é importante.Quando o &kid3; adiciona um novo frame Popularimeter, ele usará a primeira entrada "POPM"para determinar o valor a ser gravado no campo "Email". Essevalor especificará o mapeamento a ser usado para as classificações por estrelas. A primeiraentrada também é usada se nenhuma chave for encontrada; portanto, ela é a entrada padrão.

  Além da coluna Nome que contém as chaves, a tabela possui colunas 1 a 5 para os valores a serem armazenados quando o número correspondente de estrelas for fornecido. Por outro lado, os valores determinam o número de estrelas que são exibidas para o valor armazenado no frame. Por exemplo, a linha na tabela abaixo contém os valores 1, 64, 128, 196, 255. Os limites para o número de estrelas a serem exibidas estão entre esses valores e são compatíveis com o que o &Windows; Explorer utiliza.

  ### Entrada na tabela de classificação

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

  Na página Arquivos, a caixa de seleção Carregar últimos arquivos abertos pode ser marcada para que o &kid3; abra e selecione o último arquivo selecionado na próxima vez que for iniciado. Preservar carimbo de data/hora do arquivo pode ser marcada para preservar o carimbo de data/hora de modificação do arquivo. Nome do arquivo para capa define o nome que é sugerido quando uma imagem embutida é exportada para um arquivo. Com Codificação de texto (Exportar, Lista de reprodução), a codificação usada ao gravar arquivos pode ser definida. O padrão Sistema pode ser alterado, por exemplo, se as listas de reprodução precisarem ser usadas em um dispositivo diferente.

  Se a opção Marcar alterações estiver ativa, os campos alterados serão marcados com um fundo cinza claro.

  A seção Lista de arquivos determina quais arquivos são exibidos na lista de arquivos. Um Filtro pode ser usado para restringir os itens desta lista a arquivos com extensões compatíveis. Para especificar explicitamente quais pastas exibir na lista de arquivos ou excluir certas pastas, as opções Incluir pastas e Excluir pastas podem ser usadas. Elas podem conter expressões curinga, por exemplo, `*/Música/*` para incluir apenas a pasta `Música`, ou `*/iTunes/*` para excluir a pasta iTunes da lista de arquivos. Se várias dessas expressões precisarem ser usadas, elas podem ser separadas por espaços ou ponto e vírgula.

  Os botões Nome do arquivo a partir da tag e Tag a partir de nome do arquivo na seção Formato abrem diálogos para editar os formatos disponíveis nas caixas de combinação Formato (com setas para cima e para baixo), que podem ser encontradas na seção Arquivo da janela principal.

  O botão Lista de reprodução pode ser usado para editar os formatos de nome de arquivo disponíveis na caixa de diálogo para Criar lista de reprodução.

  Formato do nome do arquivo contém opções para o formato dos nomes de arquivo. As mesmas opções que em Formato da tag estão disponíveis.

  Além disso, o Comprimento máximo permitido para nomes de arquivos pode ser definido. A maioria dos sistemas de arquivos modernos tem um limite de 255 caracteres, mas se você quiser gravar os arquivos em um CD, deve definir o limite para 64. Se Usar para nomes de listas de reprodução e pastas estiver marcado, o formato do nome do arquivo também será usado ao criar listas de reprodução e renomear pastas.

  A página Ações do usuário contém uma tabela com os comandos disponíveis no menu de contexto da lista de arquivos. Para operações críticas, como excluir arquivos, é recomendável marcar Confirmar para exibir uma caixa de diálogo de confirmação antes de executar o comando. Saída pode ser marcada para visualizar a saída gerada pelos comandos do console (saída padrão e erro padrão). Nome é o nome exibido no menu de contexto. Comando é a linha de comando a ser executada. Argumentos podem ser passados ​​usando os seguintes códigos:

  - %F %{files} Caminhos dos arquivos (uma lista se vários arquivos estiverem selecionados)

  - %f %{file} Caminho do arquivo para um único arquivo

  - %uF %{urls} &URL;s (uma lista se vários arquivos forem selecionados)

  - %uf %{url} &URL; para um único arquivo

  - %d %{directory} Pasta

  - %s %{title} Título (Música)

  - %a %{artist} Artista

  - %l %{album} Álbum

  - %c %{comment} Comentário

  - %y %{year} Ano

  - %t %{track} Faixa (por exemplo, 01)

  - %t %{track.n} Faixa com largura do campo n (por exemplo, 001 para%{track.3})

  - %T %{tracknumber} Faixa (sem zeros à esquerda, por exemplo, 1)

  - %g %{genre} Gênero

  - %b %{browser} Comando para iniciar o navegador da web

  - %q %{qmlpath} Pasta base dos arquivos QML fornecidos

  O código especial `@separator` pode ser definido como um comando para inserir um separador no menu de contexto de ações do usuário. Os itens de menu podem ser colocados em um submenu envolvendo-os com os comandos `@beginmenu` e `@endmenu`. O nome do submenu é determinado pela coluna Nome do comando `@beginmenu`.

  Para executar scripts QML, `@qml` é usado como nome de comando. O caminho para o script QML é passado como parâmetro. Os scripts fornecidos podem ser encontrados na pasta `%{qmlpath}/script/` (no &Linux;, normalmente `/usr/share/kid3/qml/script/`, no Windows, `qml/script/` dentro da pasta de instalação e no &macOS;, na pasta do aplicativo `kid3.app/Contents/Resources/qml/script/`). Scripts personalizados podem ser armazenados em qualquer pasta. Se o código QML usar componentes de GUI, `@qmlview` deverá ser usado em vez de `@qml`. Parâmetros adicionais são passados ​​para o script QML, onde estarão disponíveis através da função `getArguments()`. Uma visão geral de algumas funções e propriedades que estão disponíveis em QML pode ser encontrada no apêndice Interface QML.

  O comando que será inserido com %{browser} pode ser definido na linha de edição Navegador Web acima. Comandos que começam com %{browser} podem ser usados ​​para buscar informações sobre os arquivos de áudio da web, por exemplo

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

  consultará a letra da música atual em LyricWiki. O "u" em %u{artist} e %u{title} é usado para codificar em URL as informações do artista %{artist} e da música %{title}. É fácil definir suas próprias consultas da mesma forma, por exemplo, que uma pesquisa de imagens com o Google:

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

  Para adicionar a capa do álbum à tag 2, você pode pesquisar imagens no Google ou na Amazon usando os comandos descritos acima. A imagem pode ser adicionada à tag arrastando e soltando. Você também pode adicionar uma imagem com Adicionar, selecionar o Frame de imagem e importar um arquivo de imagem ou colar da área de transferência. Os frames de imagem são compatíveis com tags ID3v2, MP4, FLAC, Ogg e ASF.

  Para adicionar e excluir entradas na tabela, pode-se usar um menu de contexto.

  A página Rede contém apenas um campo para inserir o endereço do proxy e, opcionalmente, a porta, separados por dois pontos. O proxy será usado ao importar de um servidor da Internet quando a caixa de seleção estiver marcada.

  Na página Plugins, os plugins disponíveis podem ser ativados ou desativados. Os plugins estão separados em duas seções. A lista Plugins de metadados e prioridade contém plugins que suportam formatos de arquivo de áudio. A ordem dos plugins é importante, pois eles são testados de cima para baixo. Alguns formatos são suportados por vários plugins, portanto, os arquivos serão abertos com o primeiro plugin que os suportar. O TaglibMetadata suporta a maioria dos formatos; se estiver no topo da lista, abrirá a maioria dos arquivos. Se você quiser usar um plugin diferente para um formato de arquivo, certifique-se de que ele esteja listado antes do plugin TaglibMetadata. Detalhes sobre o plugin de metadados e por que você pode querer usá-lo em vez do TagLib estão listados abaixo.

  - Id3libMetadata: Usa id3lib para tags ID3v1.1 e ID3v2.3 em arquivos MP3, MP2 e AAC. Suporta alguns tipos de frames a mais que o TagLib.

  - OggFlacMetadata: Usa libogg, libvorbis, libvorbisfile para arquivos Ogg e, adicionalmente, libFLAC++ e libFLAC para arquivos FLAC. Estas são as bibliotecas oficiais para esses formatos.

  - TaglibMetadata: Usa TagLib que suporta muitos formatos de arquivo de áudio. Pode ser usado para todos os arquivos de áudio suportados pelo &kid3;.

  - Mp4v2Metadata: mp4v2 foi originalmente usado pelo &kid3; para dar suporte a arquivos M4A. Pode ser usado em caso de problemas com o suporte a M4A do TagLib.

  A seção Plugins disponíveis lista os plugins restantes. A ordem deles não é importante, mas eles podem ser ativados ou desativados usando as caixas de seleção.

  - AmazonImport: Usado para a função Importar da Amazon....

  - DiscogsImport: Usado para a função Importar do Discogs....

  - FreedbImport: Usado para a função Importar de gnudb.org....

  - MusicBrainzImport: Usado para a função Importar do lançamento do MusicBrainz....

  - AcoustidImport: Usado para a função Importar da impressão digital do MusicBrainz..., que depende das bibliotecas Chromaprint e libav.

  Os plugins desativados não serão carregados. Isso pode ser usado para otimizar o uso de recursos e o tempo de inicialização. As configurações desta página só terão efeito após a reinicialização do &kid3;.

### Menu Ajuda

Ajuda Manual do &kid3;

- Abre este manual.

Ajuda Sobre o &kid3;

- Exibe uma breve informação sobre o &kid3;.

## kid3-cli

### Comandos

O `kid3-cli` oferece uma interface de linha de comando para o &kid3;. Se um caminho de pasta for usado, a pasta será aberta. Se um ou mais caminhos de arquivo forem fornecidos, a pasta comum será aberta e os arquivos serão selecionados. Os comandos subsequentes funcionarão nesses arquivos. Os comandos são especificados usando as opções `-c`. Se vários comandos forem passados, eles serão executados na ordem fornecida. Se os arquivos forem modificados pelos comandos, eles serão salvos ao final. Se nenhuma opção de comando for passada, `kid3-cli` inicia no modo interativo. Os comandos podem ser inseridos e operarão na seleção atual. As seções a seguir listam todos os comandos disponíveis.

#### Ajuda

    help NOME-COMANDO

Exibe a ajuda sobre os parâmetros do `NOME-COMANDO` ou sobre todos os comandos se nenhum nome de comando for fornecido.

#### Tempo limite

    timeout  default off TEMPO

Substitui o tempo limite padrão do comando. Os comandos da CLI são interrompidos após o tempo limite específico do comando expirar. Esse tempo limite é de 10 segundos para `ls` e `albumart`, 60 segundos para `autoimport` e `filter` e 3 segundos para todos os outros comandos. Se um grande número de arquivos precisar ser processado, esses tempos limite podem ser muito restritivos; portanto, o tempo limite para todos os comandos pode ser definido como `TEMPO` ms, desativado completamente ou mantido nos valores padrão.

#### Sair do aplicativo

    exit force

Sai do aplicativo. Se houver arquivos modificados não salvos, o parâmetro `force` é obrigatório.

#### Mudar a pasta

    cd PASTA

Se nenhuma `PASTA` for fornecida, muda para a pasta inicial. Se uma pasta for fornecida, acessa a pasta. Se um ou mais caminhos de arquivo forem fornecidos, muda para a pasta comum a eles e seleciona os arquivos.

#### Imprimir o nome do arquivo da pasta atual

    pwd

Imprimir o nome do arquivo da pasta de trabalho atual.

#### Listar a pasta

    ls

Lista o conteúdo da pasta atual. Isso corresponde à lista de arquivos na &GUI; do &kid3;. Cinco caracteres antes dos nomes dos arquivos mostram o estado do arquivo.

- `>` Arquivo está selecionado.

- `*` Arquivo foi modificado.

- `1` Arquivo possui uma tag 1, caso contrário '`-`' é exibido.

- `2` Arquivo possui uma tag 2, caso contrário '`-`' é exibido.

- `3` Arquivo possui uma tag 3, caso contrário '`-`' é exibido.

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

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

Neste exemplo, todos os arquivos têm a tag 1, o segundo arquivo também tem a tag 2 e está selecionado. O terceiro arquivo foi modificado.

#### Salvar os arquivos modificados

    save

#### Selecione arquivo

    select  all none first previous next ARQUIVO

Para selecionar todos os arquivos, digite `select all`, para desmarcar todos os arquivos, digite `select none`. Para percorrer os arquivos na pasta atual, comece com `select first`, depois avance usando `select next` ou volte usando `select previous`. Arquivos específicos podem ser adicionados à seleção atual informando seus nomes. É possível usar caracteres curinga, então `select *.mp3` selecionará todos os arquivos MP3 na pasta atual.

    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

#### Selecionar tag

    tag NÚMEROS-TAG

Muitos comandos possuem um parâmetro opcional `NÚMEROS-TAG` que especifica se o comando opera na tag 1, 2 ou 3. Se este parâmetro for omitido, os números de tag padrão serão usados, os quais podem ser definidos por este comando. Na inicialização, ele é definido como `12`, o que significa que as informações são lidas da tag 2, se disponível, caso contrário, da tag 1; as modificações são feitas na tag 2. O parâmetro ``NÚMEROS-TAG`` pode ser definido como `1`, `2` ou `3` para operar somente na tag correspondente. Se o parâmetro for omitido, a configuração atual será exibida.

#### Obter frame da tag

    get  all NOME-FRAME  NÚMEROS-TAG

Este comando pode ser usado para ler o valor de um frame de tag específico ou obter informações sobre todos os frames de tag (se o argumento for omitido ou se a opção `all` for usada). Os frames modificados são marcados com um '`*`'.

    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        One Hit Wonder
      Album         Let's Tag
      Date          2013
      Track Number  1
      Genre         Pop
    kid3-cli> get title
    Intro

Para salvar o conteúdo de um frame de imagem em um arquivo, use

    get picture:'/caminho/para/pasta.jpg'

Para salvar letras sincronizadas em um arquivo LRC, use

    get SYLT:'/caminho/para/letra.lrc'

É possível obter apenas um campo específico de um frame, por exemplo, `get POPM.Email` para o campo Email de um frame do Popularimeter. Se um arquivo tiver vários frames do mesmo tipo, os diferentes frames podem ser indexados com colchetes, por exemplo, o primeiro artista de um comentário Vorbis pode ser recuperado usando `get performer[0]`, o segundo usando `get performer[1]`.

O pseudo-campo "selected" pode ser usado para verificar se um frame está selecionado, por exemplo, `get artist.selected` retornará `1` se o frame do artista estiver selecionado, caso contrário, `0`.

O nome do pseudoframe "ratingstars" pode ser usado para obter o valor do frame "rating" como o valor específico do formato correspondente ao número de estrelas (de 0 a 5). Ao usar "rating", o valor interno é retornado.

#### Definir frame de tag

    set NOME-FRAME VALOR-FRAME NÚMEROS-TAG

Este comando define o valor de um frame de tag específico. Se `VALOR-FRAME` estiver vazio, o quadro será excluído.

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

Para definir o conteúdo de um frame de imagem a partir de um arquivo, use

    set picture:'/caminho/para/pasta.jpg' 'Descrição da imagem'

Para definir letras sincronizadas a partir de um arquivo LRC, use

    set SYLT:'/caminho/para/letra.lrc' 'Descrição da letra'

Para definir um campo específico de um quadro, o nome do campo pode ser fornecido após um ponto, por exemplo, para definir o campo Contador de um frame Popularimeter, use

    set POPM.Counter 5

Uma aplicação para especificações de campo é o caso em que você deseja um quadro TXXX personalizado com a descrição "classificação" em vez de um frame Popularimeter padrão (que parece ser usado por alguns plugins). Você pode criar um quadro de classificação TXXX com `kid3-cli`, no entanto, primeiro você precisa criar um frame TXXX com a descrição "classificação" e, em seguida, definir o valor deste quadro para o valor da classificação.

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

O primeiro comando excluirá um frame POPM existente, porque se tal quadro existir, `set rating 5` definiria o frame POPM e não o quadro TXXX. Outra possibilidade seria usar `set TXXX.Text 5`, mas isso só funcionaria se não houver outro frame TXXX presente.

Para definir vários frames do mesmo tipo, um índice pode ser fornecido entre colchetes, por exemplo, para definir vários intérpretes em um comentário Vorbis, use

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

Para selecionar determinados frames antes de copiar, colar ou remover, pode-se usar o pseudo-nome de campo "selected". Normalmente, todos os frames são selecionados. Para desmarcar todos, use `set '*.selected' 0` e, por exemplo, `set artist.selected 1` para selecionar o frame do artista.

O nome do pseudo-frame "ratingstars" pode ser usado para definir o valor do frame "rating" para o valor específico do formato correspondente ao número de estrelas (de 0 a 5). O nome do frame "rating" pode ser usado para definir o valor interno.

Definir "ratingstars" em vários arquivos com formatos de tag diferentes não funcionará porque o frame com o valor mapeado da contagem de estrelas é criado para o primeiro arquivo e usado para todos os arquivos. Portanto, em vez de usar `kid3-cli -c "set ratingstars 2" *`, você deve usar `for f in *; do kid3-cli -c "set ratingstars 2" "$f";done`.

#### Reverter

    revert

Reverter todas as modificações nos arquivos selecionados (ou em todos os arquivos, se nenhum arquivo estiver selecionado).

#### Importar do arquivo

    import ARQUIVO NOME-FORMATO NÚMEROS-TAG

As tags são importadas do arquivo `ARQUIVO` no formato com o nome `NOME-FORMATO` (por exemplo, `"CSV sem aspas"`, consulte Importar).

Se `tags` for fornecido para `ARQUIVO`, as tags serão importadas de outras tags. Em vez de `NOME-FORMATO`, os parâmetros `FONTE` e `EXTRAÇÃO` são necessários. Consulte Importar de tags. Para aplicar a importação de tags aos arquivos selecionados, use `tagsel` em vez de `tags`. Esta função também suporta a saída do valor extraído usando um `EXTRAÇÃO` com o valor `%{__return}(.+)`.

#### Importação automática

    autoimport NOME-PERFIL NÚMEROS-TAG

Importação em lote usando o perfil `NOME-PERFIL` (consulte Importação automática, `"All"` será usado se omitido).

#### Baixar a capa do álbum

    albumart URL all

Define a capa do álbum baixando uma imagem de `URL`. As regras definidas na caixa de diálogo Navegar arte da capa são usadas para transformar &URL;s gerais (por exemplo, da Amazon) em &URL;s de imagem. Para definir a capa do álbum a partir de um arquivo de imagem local, use o comando set.

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

#### Exportar para arquivo

    export ARQUIVO NOME-FORMATO NÚMEROS-TAG

As tags são exportadas para o arquivo `ARQUIVO` no formato com o nome `NOME-FORMATO` (por exemplo, `"CSV sem aspas"`, consulte Exportar).

#### Criar lista de reprodução

    playlist

Cria uma lista de reprodução no formato definido na configuração, veja Criar lista de reprodução.

#### Aplicar o formato do nome de arquivo

    filenameformat

Aplica o formato de nome de arquivo definido na configuração, consulte Aplicar o formato de nome de arquivo.

#### Aplicar o formato da tag

    tagformat

Aplica o formato de tag definido na configuração, consulte Aplicar o formato de tag.

#### Aplicar a codificação de texto

    textencoding

Aplica a codificação de texto definida na configuração, consulte Aplicar a codificação de texto.

#### Renomear pasta

    renamedir FORMATO  create rename dryrun  NÚMEROS-TAG

Renomeia ou cria pastas a partir dos valores nas tags de acordo com um formato fornecido. `FORMATO` (por exemplo, `%{artist} - %{album}`, consulte Renomear pasta). Se nenhum formato for fornecido, o formato definido na caixa de diálogo Renomear pasta será usado. O modo padrão é `rename`; para criar pastas, `create` deve ser especificado explicitamente. As ações de renomeação serão executadas imediatamente. Para apenas ver o que seria feito, use a opção `dryrun`.

#### Numerar as faixas

    numbertracks NÚMERO-FAIXA NÚMEROS-TAG

Numera as faixas selecionadas começando com `NÚMERO-FAIXA` (`1` se omitido).

#### Filtro

    filter  NOME-FILTRO FORMATO-FILTRO

Filtra os arquivos para que apenas os arquivos que correspondam ao `FORMATO-FILTRO` sejam visíveis. O nome de uma expressão de filtro predefinida (por exemplo, `"Incompatibilidade de tag de nome de arquivo"`) pode ser usado em vez de uma expressão de filtro, consulte Filtro.

    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

#### Converter de ID3v2.3 para ID3v2.4

    to24

#### Converter de ID3v2.4 para ID3v2.3

    to23

#### Nome do arquivo baseado na tag

    fromtag FORMATO NÚMEROS-TAG

Defina os nomes dos arquivos selecionados a partir dos valores nas tags, por exemplo: `fromtag '%{track} - %{title}' 1`. Se nenhum formato for especificado, o formato definido na &GUI; será usado.

#### Tag baseada no nome do arquivo

    totag FORMATO NÚMEROS-TAG

Define os frames de tags a partir dos nomes dos arquivos, por exemplo, `totag '%{albumartist} - %{album}/%{track} %{title}' 2`. Se nenhum formato for especificado, o formato definido na &GUI; será usado. Se o formato do nome do arquivo não corresponder a esse padrão, alguns outros formatos comumente usados ​​serão tentados.

#### Tag para outra tag

    syncto NÚMERO-TAG

Copia os frames da tag de uma tag para a outra tag, por exemplo, para definir a tag ID3v2 a partir da tag ID3v1, use `syncto 2`.

#### Copiar

    copy NÚMERO-TAG

Copie os frames de tags do arquivo selecionado para o buffer de cópia interno. Eles podem então ser aplicados em outro arquivo usando o comando `paste`.

Para copiar apenas um subconjunto dos frames, use o pseudocampo "selected" com o comando `set`. Por exemplo, para copiar apenas os frames do número do disco e do copyright, use

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

#### Colar

    paste NÚMERO-TAG

Define frames de tags a partir do conteúdo do buffer de `copy` nos arquivos selecionados.

#### Remover

    remove NÚMERO-TAG

Remove uma tag.

É possível remover apenas um subconjunto dos quadros selecionando-os conforme descrito no comando `copy`.

#### Configurar o Kid3

    config OPÇÃO VALOR

Consulta ou define uma opção de configuração.

A `OPÇÃO` consiste em um nome de grupo e um nome de propriedade separados por um ponto. Quando nenhuma `OPÇÃO` é fornecida, todos os grupos disponíveis são exibidos. Se apenas um nome de grupo for fornecido, todas as propriedades disponíveis do grupo serão exibidas. Para um determinado grupo e propriedade, o valor configurado atualmente é exibido. Para alterar a configuração, o novo valor pode ser passado como um segundo argumento.

Se o valor de uma configuração for uma lista, todos os elementos da lista devem ser fornecidos como argumentos. Isso significa que, para adicionar um elemento a uma lista existente de elementos, todos os elementos existentes devem ser passados ​​seguidos pelo novo elemento. Em tal situação, é mais fácil usar o modo JSON, onde a lista atual pode ser copiada com o novo elemento adicionado.

#### Executar programa ou script QML

    execute @qml ARQUIVO ARGS

Executa um script QML ou um arquivo executável.

Sem a opção `@qml`, um programa é executado com argumentos. Quando `@qml` é fornecido como o primeiro argumento, os argumentos seguintes são o script QML e seus argumentos. Por exemplo, as tags de uma pasta podem ser exportadas para o arquivo `export.csv` com o seguinte comando.

    kid3-cli -c "execute @qml
    /usr/share/kid3/qml/script/ExportCsv.qml export.csv"
    /caminho/para/pasta/

Aqui, `export.csv` é o argumento para o script `ExportCsv.qml`, enquanto `/caminho/para/pasta/` é o argumento ``ARQUIVO`` para o `kid3-cli`.

### Exemplos

Definir o título contendo um apóstrofo. Os comandos passados ​​para `kid3-cli` com `-c` devem estar entre aspas se não consistirem em uma única palavra. Se um comando desse tipo tiver um argumento contendo espaços, esse argumento também deverá estar entre aspas. Em shells &UNIX;, podem ser usadas aspas simples ou duplas, mas no Prompt de Comando do Windows, é importante que as aspas externas sejam feitas com aspas duplas e que as aspas internas sejam usadas com aspas simples. Se o texto dentro das aspas simples contiver uma aspa simples, ela deverá ser escapada usando uma barra invertida, como mostrado no exemplo a seguir:

    kid3-cli -c "set title 'I\'ll be there for you'" /caminho/para/pasta

Definir a capa do álbum em todos os arquivos de uma pasta usando a função de importação em lote:

    kid3-cli -c "autoimport 'Cover Art'" /caminho/para/pasta

Remover os frames de comentários e aplicar o formato de tag em ambas as tags de todos os arquivos MP3 de uma pasta:

    kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
    -c "formatotag 1" -c "formatotag 2" /caminho/para/pasta/*.mp3

Importar automaticamente a tag 2, sincronizar com a tag 1, definir os nomes dos arquivos a partir da tag 2 e, finalmente, criar uma lista de reprodução:

    kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
      /caminho/para/pasta/*.mp3

Para todos os arquivos com uma tag ID3v2.4.0, converter para ID3v2.3.0 e remover o frame arranger:

    kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
      -c "set arranger ''" /caminho/para/pasta

Este script Python usa o `kid3-cli` para gerar o som do iTunes. Verifique os frames iTunNORM a partir das informações de ganho de reprodução.

    #!/usr/bin/env python3
    # Gera verificação de som do iTunes a partir do ReplayGain.
    importa 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('Valor %s de %s não é um real' % (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])

### Formato &JSON;

Para facilitar a análise dos resultados do `kid3-cli`, é possível obter a saída no formato &JSON;. Quando a solicitação está no formato &JSON;, a resposta também será &JSON;. Um formato compacto da solicitação também fornecerá uma representação compacta da resposta. Se a solicitação contiver um campo "id", presume-se que seja uma solicitação &JSON;-RPC e a resposta conterá um campo "jsonrpc" e o "id" da solicitação. O formato da solicitação usa os mesmos comandos da CLI padrão; o campo "method" contém o comando e os parâmetros (se houver) são fornecidos na lista "params". A resposta contém um objeto "result", que também pode ser nulo se o `kid3-cli` correspondente não retornar um resultado. Em caso de erro, um objeto "erro" é retornado com os campos "code" e "message", conforme usado em &JSON;-RPC.

    kid3-cli> {"method":"set","params":["artist","An Artist"]}
    {"result":null}
    kid3-cli> {"method":"get","params":["artist",2]}
    {"result":"An Artist"}
    kid3-cli> {"method": "get", "params": ["artist"]}
    {
        "result": "An Artist"
    }

    kid3-cli> {"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]}
    {"id":"123","jsonrpc":"2.0","result":"An Artist"}

## Créditos e licença

&kid3;

Programa escrito por Urs Fleisch ufleisch@users.sourceforge.net

Tradução de Marcus Gama marcus.gama@kde.org

&underFDL; &underGPL;

## Instalação

### Como obter o &kid3;

O &kid3; pode ser encontrado em https://kid3.kde.org.

### Requisitos

O &kid3; precisa do &Qt;. O &kde; é recomendado, mas não necessário, pois o &kid3; também pode ser compilado como um aplicativo &Qt;. O &kid3; pode ser compilado para sistemas onde essas bibliotecas estão disponíveis, por exemplo, para o GNU/&Linux;, &Windows; e &macOS;. Para marcar arquivos Ogg/Vorbis, são necessárias as bibliotecas libogg, libvorbis e libvorbisfile; para arquivos FLAC, são necessárias as bibliotecas libFLAC++ e libFLAC. id3lib é usado para arquivos MP3. Esses quatro formatos também são suportados por TagLib, que também pode lidar com arquivos Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF e módulos de tracker. Para importar de impressões digitais acústicas, Chromaprint e libav são usados.

O &kid3; está disponível para a maioria das distribuições &Linux;, &Windows; e &macOS;. Os links podem ser encontrados em https://kid3.kde.org.

### Compilação e instalação

Você pode compilar o &kid3; com ou sem o &kde;. Sem o &kde;, o &kid3; é um aplicativo &Qt; simples e carece de alguns recursos de configuração e sessão.

Para uma versão &kde;, acesse a pasta raiz e digite

    % cmake .
    % make
    % make install

Para compilar para diferentes versões do &Qt; ou &kde;, defina as opções correspondentes do `cmake`.

Se nem todas as bibliotecas estiverem presentes, o &kid3; será compilado com funcionalidade reduzida. Portanto, você deve garantir que todos os pacotes de desenvolvimento desejados estejam instalados. Por outro lado, as opções do `cmake` controlam quais bibliotecas serão compiladas. O padrão é: `-DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON`. Essas opções podem ser desativadas usando `OFF`.

Para compilar o &kid3; como um aplicativo &Qt; sem o &kde;, use a opção `cmake` `-DWITH_APPS=Qt`.Para compilar um aplicativo &kde; e um aplicativo &Qt;, defina `-DWITH_APPS="Qt;KDE"`.

Para usar uma instalação específica do &Qt;, defina `-DQT_QMAKE_EXECUTABLE=/caminho/para/qmake`.

A geração de pacotes RPM é suportada pelo arquivo `kid3.spec`, para pacotes &Debian; execute `build.sh deb`.

O aplicativo &Qt; também pode ser compilado para &Windows; e &macOS;. O script `build.sh` pode ser usado para baixar e compilar todas as bibliotecas necessárias e criar um pacote &kid3;.

### Configuração

Com o &kde;, as configurações são armazenadas em `.config/kid3rc`, o estado do aplicativo em `.local/share/kid3/kid3staterc`. Como um aplicativo &Qt;, este arquivo está em `.config/Kid3/Kid3.conf`. No &Windows;, a configuração é armazenada no registro. No &macOS;, em um arquivo plist.

A variável de ambiente `KID3_CONFIG_FILE` pode ser usada para definir o caminho do arquivo de configuração.

## Interface &DBus;

### Exemplos &DBus;

No &Linux;, uma interface &DBus; pode ser usada para controlar o &kid3; por meio de scripts. Os scripts podem ser escritos em qualquer linguagem com vinculações &DBus; (por exemplo, em Python) e podem ser adicionados às Ações do Usuário para estender a funcionalidade do &kid3;.

O artista na tag 2 do arquivo atual pode ser definido com o valor "One Hit Wonder" com o seguinte código:

Shell

-     dbus-send --dest=org.kde.kid3 --print-reply=literal \
      /Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \
      string:'One Hit Wonder'

  ou mais fácil com o `qdbus` do &Qt; (o `qdbusviewer` pode ser usado para explorar a interface em uma &GUI;):

      qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \
      'One Hit Wonder'

Python

-     import dbus
      kid3 = dbus.SessionBus().get_object(
        'org.kde.kid3', '/Kid3')
      kid3.setFrame(2, 'Artist', 'One Hit Wonder')

Perl

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

### API &DBus;

A API &DBus; está especificada em `org.kde.Kid3.xml`. A interface do &kid3; possui os seguintes métodos:

#### Abrir arquivo ou pasta

    boolean openDirectory string caminho

`caminho`

- caminho para arquivo ou pasta

Retorna verdadeiro se OK.

#### Descarregar as tags de todos os arquivos que não foram modificados ou selecionados

      unloadAllTags

#### Salvar todos os arquivos modificados

      boolean save

Retorna verdadeiro se OK.

#### Obtém uma mensagem de erro detalhada fornecida por alguns métodos

      string getErrorMessage

Retorna mensagem de erro detalhada.

#### Reverter alterações nos arquivos selecionados

      revert

#### Iniciar uma importação em lote automática

    boolean batchImport int32 máscaraTag string nomePerfil

`máscaraTag`

- máscara da tag (bit 0 para tag 1, bit 1 para tag 2)

`nomePerfil`

- nome do perfil de importação em lote a ser usado

#### Importar tags a partir de um arquivo

    boolean importFromFile int32 máscaraTag string caminho int32 fmtIdx

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

`caminho`

- caminho para arquivo

`fmtIdx`

- índice do formato

Retorna verdadeiro se OK.

#### Importar tags de outras tags

    importFromTags int32 máscaraTag string fonte string extração

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

`fonte`

- formato para obter o texto fonte a partir de tags

`extração`

- expressão regular com nomes de frames e capturas para extrair do texto de origem

#### Importar tags de outras tags em arquivos selecionados

    array importFromTagsToSelection int32 máscaraTag string fonte string extração

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

`fonte`

- formato para obter o texto fonte a partir de tags

`extração`

- expressão regular com nomes de frames e capturas para extrair do texto de origem

`returnValues`

- valor extraída para "%{__return}(.+)"

#### Baixar arte de capa do álbum

    downloadAlbumArt string url boolean allFilesInDir

`url`

- &URL; de arquivo de imagem ou recurso de arte de álbum

`allFilesInDir`

- verdadeiro para adicionar a imagem a todos os arquivos na pasta

#### Exportar tags para um arquivo

    boolean exportToFile int32 máscaraTag string caminho int32 fmtIdx

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

`caminho`

- caminho para arquivo

`fmtIdx`

- índice do formato

Retorna verdadeiro se OK.

#### Criar uma lista de reprodução

      boolean createPlaylist

Retorna verdadeiro se OK.

#### Obter itens de uma lista de reprodução

    array getPlaylistItems string caminho

`caminho`

- caminho para o arquivo da lista de reprodução

Retorna uma lista com os caminhos absolutos para os itens da lista de reprodução.

#### Definir itens de uma lista de reprodução

    boolean setPlaylistItems string caminho array itens

`caminho`

- caminho para o arquivo da lista de reprodução

`itens`

- lista de caminhos absolutos para itens da lista de reprodução

Retorna verdadeiro se OK, falso se nem todos os itens foram encontrados e adicionados ou se a gravação falhou.

#### Sair do aplicativo

      quit

#### Seleciona todos os arquivos

      selectAll

#### Desmarcar todos os arquivos

      deselectAll

#### Definir o primeiro arquivo como o arquivo atual

      boolean firstFile

Retorna verdadeiro se houver um primeiro arquivo.

#### Definir o arquivo anterior como o arquivo atual

      boolean previousFile

Retorna verdadeiro se houver um arquivo anterior.

#### Definir o próximo arquivo como o arquivo atual

      boolean nextFile

Retorna verdadeiro se houver um próximo arquivo.

#### Selecionar o primeiro arquivo

      boolean selectFirstFile

Retorna verdadeiro se houver um primeiro arquivo.

#### Seleciona o arquivo anterior

      boolean selectPreviousFile

Retorna verdadeiro se houver um arquivo anterior.

#### Seleciona o próximo arquivo

      boolean selectNextFile

Retorna verdadeiro se houver um próximo arquivo.

#### Selecionar o arquivo atual

      boolean selectCurrentFile

Retorna verdadeiro se houver um arquivo atual.

#### Expandir ou recolher o item de arquivo atual se for uma pasta

      boolean expandDirectory

Um item da lista de arquivos é uma pasta se getFileName() retornar um nome com '/' como último caractere.

Retorna verdadeiro se o item de arquivo atual for uma pasta.

#### Aplicar o formato de nome de arquivo

      applyFilenameFormat

#### Aplicar o formato da tag

      applyTagFormat

#### Aplicar a codificação de texto

      applyTextEncoding

#### Definir o nome da pasta a partir das tags

    boolean setDirNameFromTag int32 tagMask string formato boolean criar

`máscaraTag`

- máscara da tag (bit 0 para tag 1, bit 1 para tag 2)

`formato`

- formato de nome da pasta

`criar`

- verdadeiro para criar, falso para renomear

Retorna verdadeiro se OK, caso contrário, a mensagem de erro está disponível usando getErrorMessage().

#### Definir os números de faixa subsequentes nos arquivos selecionados

    numberTracks int32 máscaraTag int32 nrPrimeiraFaixa

`máscaraTag`

- máscara da tag (bit 0 para tag 1, bit 1 para tag 2)

`nrPrimeiraFaixa`

- número a ser usado para o primeiro arquivo

#### Filtrar os arquivos

    filter string expressão

`expressão`

- expressão de filtragem

#### Converter tags ID3v2.3 para ID3v2.4

      convertToId3v24

#### Converter tags ID3v2.4 para ID3v2.3

      convertToId3v23

Retorna verdadeiro se OK.

#### Obter caminho de pasta

      string getDirectoryName

Retorna o caminho absoluto da pasta.

#### Obter nome do arquivo atual

      string getFileName

Retorna o nome absoluto do arquivo, terminando com "/" se for uma pasta.

#### Definir o nome do arquivo selecionado

    setFileName string nome

`nome`

- nome do arquivo

O arquivo será renomeado quando a pasta for salva.

#### Definir o formato a ser usado ao definir o nome do arquivo a partir das tags

    setFileNameFormat string formato

`formato`

- formato do nome do arquivo

#### Definir os nomes dos arquivos selecionados a partir das tags

    setFileNameFromTag int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

#### Obter o valor do frame

    string getFrame int32 máscaraTag string nome

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

`nome`

- nome de frame (por exemplo, "artist")

Para obter dados binários como uma imagem, o nome do arquivo a ser gravado pode ser adicionado após o `nome`, por exemplo, "Picture:/caminho/para/arquivo". Da mesma forma, letras sincronizadas podem ser exportadas, por exemplo, "SYLT:/caminho/para/arquivo".

Retorna valor do frame.

#### Definir valor do frame

    boolean setFrame int32 máscaraTag string nome string valor

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

`nome`

- nome de frame (por exemplo, "artist")

`valor`

- valor do frame

Para a tag 2 (`tagMask` 2), se não existir nenhum frame com `nome`, um novo frame será adicionado; se `valor` estiver vazio, o frame será excluído. Para adicionar dados binários como uma imagem, um arquivo pode ser adicionado após o `nome`, por exemplo "Picture:/caminho/para/arquivo". "SYLT:/caminho/para/arquivo" pode ser usado para importar letras sincronizadas.

Retorna verdadeiro se OK.

#### Obter todos os frames de uma tag

    array of string getTag int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

Retorna uma lista com nomes e valores de frames alternados

#### Obter informações técnicas sobre o arquivo

      array of string getInformation

As propriedades são: Formato, Taxa de bits, Taxa de amostragem, Canais, Duração, Modo do canal, VBR, Tag 1, Tag 2. Propriedades não disponíveis são omitidas.

Retornar uma lista com nomes e valores de propriedades alternados

#### Definir tag a partir do nome do arquivo

    setTagFromFileName int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

#### Definir tag a partir de outra tag

    setTagFromOtherTag int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

#### Copiar tag

    copyTag int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

#### Colar tag

    pasteTag int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

#### Remover tag

    removeTag int32 máscaraTag

`máscaraTag`

- bit da tag (1 para tag 1, 2 para tag 2)

#### Reanalisar a configuração

      reparseConfiguration

É possível realizar alterações de configuração automatizadas modificando o arquivo de configuração e, em seguida, analisando-o novamente.

#### Reproduzir os arquivos selecionados

      playAudio

## Interface QML

### Exemplos QML

Os scripts QML podem ser invocados através do menu de contexto da lista de arquivos e podem ser configurados na aba Ações do usuário da caixa de diálogo de configurações. Os scripts configurados ali podem ser usados ​​como exemplos para programar scripts personalizados. O QML usa JavaScript; aqui está o obrigatório "Olá, Mundo!":

    import Kid3 1.0

    Kid3Script {
      onRun: {
        console.log("Olá mundo, a pasta é", app.dirName)
        Qt.quit()
      }
    }

Se este script for salvo como `/caminho/para/Exemplo.qml`, o comando do usuário pode ser definido como `@qml /caminho/para/Exemplo.qml` com o nome `Teste QML` e Saída marcado. Ele pode então ser iniciado usando o item Teste QML no menu de contexto da lista de arquivos, e a saída será visível na janela.

Infelizmente, iniciar scripts QML usando o `qml` (por exemplo, `qml -apptype widget -I /usr/lib/kid3/plugins/imports /caminho/para/Examplo.qml`) está com problemas em versões recentes do Qt. Mas o `kid3-cli` oferece uma maneira alternativa de executar um script QML a partir da linha de comando usando seu comando `execute`.

    kid3-cli -c "execute @qml /caminho/para/Example.qml"

Para listar os títulos nas tags 2 de todos os arquivos na pasta atual, o seguinte script pode ser usado:

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

Se a pasta contiver muitos arquivos, esse script poderá bloquear a interface do usuário por algum tempo. Para operações mais longas, ele deve, portanto, ter uma pausa de tempos em tempos. A implementação alternativa abaixo transfere o trabalho para um único arquivo para uma função. Essa função se invoca com um tempo limite de 1 ms ao final, visto que mais arquivos precisam ser processados. Isso garantirá que a &GUI; permaneça responsiva enquanto o script estiver em execução.

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

Ao usar `app.firstFile()` com `app.nextFile()`, todos os arquivos da pasta atual serão processados. Se apenas os arquivos selecionados forem afetados, use `firstFile()` e `nextFile()` em vez disso, pois essas são funções de conveniência do componente `Kid3Script`. O exemplo a seguir é um script que copia apenas o número do disco e os frames de direitos autorais do arquivo selecionado.

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

Mais scripts de exemplo vêm com &kid3; e já estão registrados como comandos de usuário.

- ReplayGain para SoundCheck (`ReplayGain2SoundCheck.qml`): Cria informações do iTunNORM SoundCheck de frames de ganho de reprodução.

- Redimensionar capa (`ResizeAlbumArt.qml`): Redimensiona as imagens de capa embutidas que sejam maiores que 500x500 pixels.

- Extrair capa (`ExtractAlbumArt.qml`): Extrai todas as imagens de capa embutidas, evitando duplicatas.

- Capa embutida (`EmbedAlbumArt.qml`): Embute a arte da capa encontrada em arquivos de imagem em arquivos de áudio na mesma pasta.

- Letras embutidas (`EmbedLyrics.qml`): Obtém letras dessincronizadas de um serviço web.

- Codificação de texto ID3v1 (`ShowTextEncodingV1.qml`): Ajuda a encontrar a codificação das tags ID3v1, mostrando as tags do arquivo atual em todas as codificações de caracteres disponíveis.

- ID3v1 para ASCII (`Tag1ToAscii.qml`): Translitera caracteres latinos estendidos na tag ID3v1 para ASCII.

- English Title Case (`TitleCase.qml`): Formata o texto nas tags para o formato de título em inglês.

- Reescrever Tags (`RewriteTags.qml`): Reescreve todas as tags nos arquivos selecionados.

- Exportar CSV (`ExportCsv.qml`): Exporta recursivamente todas as tags de todos os arquivos para um arquivo CSV.

- Importar CSV (`ImportCsv.qml`): Importa recursivamente todas as tags de todos os arquivos de um arquivo CSV.

- Exportar JSON (`ExportJson.qml`): Exporta recursivamente todas as tags de todos os arquivos para um arquivo JSON.

- Importar JSON (`ImportJson.qml`): Importa recursivamente todas as tags de todos os arquivos de um arquivo JSON.

- Exportar pasta de lista de reprodução (`ExportPlaylist.qml`): Copia todos os arquivos de uma lista de reprodução para uma pasta e renomeie-os de acordo com sua posição.

- Console QML (`QmlConsole.qml`): Console simples para interagir com a API QML do &kid3;.

### API do QML

A API pode ser facilmente explorada usando o Console QML, que está disponível como um script de exemplo com uma interface de usuário.

#### Kid3Script

`Kid3Script` é um componente QML comum localizado dentro da pasta do plugin. Você também pode usar outro componente QML. O uso de `Kid3Script` facilita a execução da função de script usando o manipulador de sinal `onRun`. Além disso, oferece algumas funções:

    onRun: Manipulador de sinal que é invocado quando o script é iniciado
    tagv1, tagv2, tagv2v1: Constantes para parâmetros de tag
    script: Acesso a funções de script
    configs: Acesso a objetos de configuração
    getArguments(): Lista de argumentos do script
    isStandalone(): verdadeiro se o script não foi iniciado dentro do Kid3
    setTimeout(callback, delay): Inicia o retorno de chamada após o atraso em milissegundos
    firstFile(): Para o primeiro arquivo selecionado
    nextFile(): Para o próximo arquivo selecionado

#### Funções para scripts

Como o &javascript;, e consequentemente o QML, também possui apenas um conjunto limitado de funções para scripts, o objeto `script` possui alguns métodos adicionais. Por exemplo:

    script.properties(obj): String com propriedades do Qt
    script.writeFile(filePath, data): Escreve dados no arquivo, retorna verdadeiro se OK
    script.readFile(filePath): Lê dados do arquivo
    script.removeFile(filePath): Exclui o arquivo, retorna verdadeiro se OK
    script.fileExists(filePath): Retorna verdadeiro se o arquivo existir
    script.fileIsWritable(filePath): Retorna verdadeiro se o arquivo for gravável
    script.getFilePermissions(filePath): Obtém as permissões de modo do arquivo
    script.setFilePermissions(filePath, modeBits): Define as permissões do arquivo no modo de bits
    script.classifyFile(filePath): Obtém a classe do arquivo (pasta "/", link simbólico "@", executável "*",
      arquivo " ")
    script.renameFile(oldName, newName): Renomeia o arquivo, retorna verdadeiro se OK
    script.copyFile(source, dest): Copia o arquivo, retorna verdadeiro se OK
    script.makeDir(path): Cria pasta, retorna verdadeiro se OK
    script.removeDir(path): Remove pasta, retorna verdadeiro se OK
    script.tempPath(): Caminho para pasta temporária
    script.musicPath(): Caminho para pasta de música
    script.listDir(path, [nameFilters], [classify]): Lista entradas da pasta
    script.system(program, [args], [msecs]): Inicia um comando do sistema de forma síncrona,
    [código de saída, saída padrão, erro padrão] se não houver tempo limite
    script.systemAsync(program, [args], [callback]): Inicia um comando do sistema de forma assíncrona, o retorno de chamada será chamado com [código de saída, saída padrão, erro padrão]
    script.getEnv(varName): Obtém o valor da variável de ambiente
    script.setEnv(varName, value): Define o valor da variável de ambiente
    script.getQtVersion(): String da versão do Qt, por exemplo "5.4.1"
    script.getDataMd5(data): Obtém a string hexadecimal do hash MD5 dos dados
    script.getDataSize(data): Obtém o tamanho do array de bytes
    script.dataToImage(data, [format]): Cria uma imagem a partir dos bytes de dados
    script.dataFromImage(img, [format]): Obtém os bytes de dados da imagem
    script.loadImage(filePath): Carrega uma imagem de um arquivo
    script.saveImage(img, filePath, [format]): Salva uma imagem em um arquivo, retorna verdadeiro se OK
    script.imageProperties(img): Obtém as propriedades de uma imagem, um mapa contendo
      "largura", "altura", "profundidade" e "contagem de cores", vazio se a imagem for inválida
    script.scaleImage(img, width, [height]): Redimensiona uma imagem, retorna a imagem redimensionada

#### Contexto do aplicativo

Usando QML, grande parte das funções &kid3; são acessíveis. A API é similar à usada para &DBus;. Para detalhes, consulte as respectivas notas.

    app.openDirectory(path): Abrir pasta
    app.unloadAllTags(): Descarregar todas as tags
    app.saveDirectory(): Salvar pasta
    app.revertFileModifications(): Reverter
    app.importTags(tag, path, fmtIdx): Importar arquivo
    app.importFromTags(tag, source, extraction): Importar das tags
    app.importFromTagsToSelection(tag, source, extraction): Importar das tags dos arquivos selecionados
    app.downloadImage(url, allFilesInDir): Baixar imagem
    app.exportTags(tag, path, fmtIdx): Exportar arquivo
    app.writePlaylist(): Escrever lista de reprodução
    app.getPlaylistItems(path): Obter itens de uma lista de reprodução
    app.setPlaylistItems(path, items): Definir itens de uma lista de reprodução
    app.selectAllFiles(): Selecionar todos
    app.deselectAllFiles(): Desmarcar
    app.firstFile([select], [onlyTaggedFiles]): Para o primeiro arquivo
    app.nextFile([select], [onlyTaggedFiles]): Para o próximo arquivo
    app.previousFile([select], [onlyTaggedFiles]): Para o arquivo anterior
    app.selectCurrentFile([select]): Selecionar o arquivo atual
    app.selectFile(path, [select]): Selecionar um arquivo específico
    app.getSelectedFilePaths([onlyTaggedFiles]): Obter os caminhos dos arquivos selecionados
    app.requestExpandFileList(): Expandir todos
    app.applyFilenameFormat(): Aplicar formatação de nome de arquivo
    app.applyTagFormat(): Aplicar formatação de tag
    app.applyTextEncoding(): Aplicar codificação de texto
    app.numberTracks(nr, total, tag, [options]): Número faixas
    app.applyFilter(expr): Filtrar
    app.convertToId3v23(): Converter ID3v2.4.0 para ID3v2.3.0
    app.convertToId3v24(): Converter ID3v2.3.0 para ID3v2.4.0
    app.getFilenameFromTags(tag): Nome do arquivo a partir das tags
    app.getTagsFromFilename(tag): Nome do arquivo para tags
    app.getAllFrames(tag): Obter objeto com todos os frames
    app.getFrame(tag, name): Obter frame
    app.setFrame(tag, name, value): Definir frame
    app.getPictureData(): Obter dados do frame da imagem
    app.setPictureData(data): Definir dados no frame da imagem
    app.copyToOtherTag(tag): Tags para outras tags
    app.copyTags(tag): Copiar
    app.pasteTags(tag): Colar
    app.removeTags(tag): Remover
    app.playAudio(): Reproduzir
    app.readConfig(): Ler configuração
    app.applyChangedConfiguration(): Aplicar configuração
    app.dirName: Nome da pasta
    app.selectionInfo.fileName: Nome do arquivo
    app.selectionInfo.filePath: Caminho absoluto do arquivo
    app.selectionInfo.detailInfo: Detalhes do formato
    app.selectionInfo.tag(Frame.Tag_1).tagFormat: Formato da tag 1
    app.selectionInfo.tag(Frame.Tag_2).tagFormat: Formato da tag 2
    app.selectionInfo.formatString(tag, format): Substituir códigos na string de formato
    app.selectFileName(caption, dir, filter, saveFile): Abrir caixa de diálogo de arquivo para
    selecionar um arquivo
    app.selectDirName(caption, dir): Abre a caixa de diálogo para selecionar uma pasta

Para operações assíncronas, os callbacks podem ser conectados a sinais.

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

#### Objetos de configuração

As diferentes seções de configuração são acessíveis por meio de métodos de `configs`. Suas propriedades podem ser listadas no console QML.

    script.properties(configs.networkConfig())

As propriedades podem ser definidas:

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

&documentation.index;