KID3(1) O Manual do Kid3 KID3(1) NOME kid3, kid3-qt, kid3-cli - Kid3 ID3 Tagger SINTAXE kid3 [ | --help | --author | --version | --license | --desktopfile FICHEIRO ] [FICHEIRO...] kid3-qt [--portable] [opcoes do Qt] [FICHEIRO...] kid3-cli [--portable] [--dbus] [ | -h | --help ] [-c COMANDO1] [-c COMANDO2...] [FICHEIRO...] OPCOES --portable Guarda a configuracao no ficheiro kid3.ini dentro da pasta da aplicacao. FICHEIRO Se o FICHEIRO for a localizacao de uma pasta, a mesma sera aberta. Se forem indicados um ou mais ficheiros, a sua pasta comum e aberta, ficando os ficheiros seleccionados. kid3 --help Mostra a ajuda acerca das opcoes. --author Mostra informacoes sobre o autor. --version Mostra a informacao da versao. --license Mostra informacoes acerca da licenca. --desktopfile FICHEIRO O nome de base do ficheiro do item '.desktop' para esta aplicacao. kid3-qt Opcoes do Qt Veja o qt5options(7). kid3-cli --dbus Activa a interface de D-Bus. -c Executa um comando. E possivel passar varias opcoes -c, sendo as mesmas executadas em sequencia. Veja a seccao acerca do kid3-cli para obter uma descricao dos comandos disponiveis. -h|--help Mostra ajuda sobre as opcoes e comandos. INTRODUCAO O Kid3 e uma aplicacao para editar as marcas ID3v1 e ID3v2 nos ficheiros MP3 de forma eficiente. Estas marcas poderao ser editadas pela maioria dos leitores de MP3, mas nao de forma confortavel e eficiente. Para alem disso, tambem sao suportadas as marcas nos ficheiros Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF e nos modulos do Tracker (MOD, S3M, IT, XM). O Kid3 nao captura nem codifica os ficheiros MP3, mas esta vocacionado para editar as marcas de ID3 de todos os ficheiros de um album de forma eficiente, i.e. com o minimo de 'clicks' de rato e combinacoes de teclas possivel. Embora a maioria dos outros programas consigam editar as marcas de ID3v1 ou ID3v2, o Kid3 tem controlo completo sobre ambas as versoes, consegue converter as marcas entre os dois formatos e tem acesso a todas as marcas de ID3v2. As marcas dos varios ficheiros poderao ser configuradas com o mesmo valor, p.ex. o artista, o album, o ano e o genero de todos os ficheiros de um album tipicamente tem os mesmos valores e poderao ser definidas em conjunto. Se a informacao das marcas estiver contida no nome do ficheiro, as marcas poderao ser configuradas automaticamente a partir do nome do ficheiro. Tambem e possivel configurar o nome do ficheiro de acordo com as marcas encontras no ficheiro em formatos arbitrarios. A tarefa de edicao ainda passa pela substituicao automatica de caracteres ou sub-textos, por exemplo para remover caracteres proibidos dos nomes dos ficheiros. O controlo automatico das maiusculas ou minusculas facilita a utilizacao de uma nomenclatura consistente em todas as marcas. Podera obter a informacao das marcas para albuns inteiros a partir do gnudb.org[1], MusicBrainz[2], Discogs[3], Amazon[4] ou de outras fontes de listas de faixas. O formato de configuracao e facilmente configuravel a custa de expressoes regulares. Por favor comunique todos os problemas ou pedidos de funcionalidades ao autor. UTILIZACAO DO KID3 Funcionalidades do Kid3 o Editar as marcas de ID3v1.1 o Editar todos os pacotes de ID3v2.3 e ID3v2.4 o Editar as marcas de varios ficheiros o Converter as marcas entre ID3v1 e ID3v2 o Editar as marcas de MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV e AIFF o Gerar as marcas a partir do nome do ficheiro o Gerar marcas a partir dos conteudos dos campos de marcas o Gerar o nome do ficheiro a partir das marcas o Gerar e mudar os nomes das pastas a partir das marcas o Gerar um ficheiro de lista de reproducao o Conversao automatica de capitalizacao e traducoes de textos o Importacao das fontes de dados gnudb.org[1], MusicBrainz[2], Discogs[3], Amazon[4], entre outras. o Exportar como CSV, HTML, lista de reproducao, Kover XML e outros formatos. Os ficheiros CSV podem ser importados de novo. Exemplo de Utilizacao Esta seccao descreve uma tipica sessao com o Kid3. Vamos assumir que temos uma pasta que contem ficheiros MP3 com as faixas do album "Vamos Marcar" da banda "Famoso Desconhecido". A pasta tem o nome no formato "artista - album", sendo no nosso caso Famoso Desconhecido - Vamos Marcar. A pasta contem as faixas no formato "faixa titulo.mp3", o que podera ser util porque os nomes dos ficheiros sao curtos (e importante quando estiver a usar leitores de MP3 portateis com ecras pequenos) e fica pela ordem correcta quando for ordenado por ordem alfabetica (importante ao usar leitores de MP3 por 'hardware', que tocam os MP3 por ordem alfabetica ou pela ordem com que sao gravados no CD, ficando essa ordem alfabetica ao usar o mkisofs). Para alem disso, a informacao do artista e do album ja esta no nome da pasta e nao tem de ser repetida no nome do ficheiro. Contudo, voltando ao nosso exemplo, a listagem da pasta devera ser algo semelhante a isto: 01 Intro.mp3 02 So Temos Este.mp3 03 Final.mp3 Estes ficheiros ainda nao tem marcas e desejamos gera-las com o Kid3. Use a opcao Abrir (menu Ficheiro ou barra de ferramentas) e seleccione um dos ficheiros nesta pasta. Todos os ficheiros serao apresentados na lista de ficheiros. Para facilitar, pretende-se usar esta informacao no nome das pastas e dos ficheiros para gerar marcas. Como tal, serao seleccionados todos os ficheiros, podendo carregar depois no botao Para: Marca 1 na seccao Ficheiro. Isto ira definir os valores do titulo, do artista, do album e da faixa para todos os ficheiros. Para configurar os valores do ano e do genero de todos os ficheiros, sao mantidos todos os ficheiros seleccionados, podendo depois escrever "2002" na Data e seleccionando "Pop" na lista Genero. Para configurar apenas estes dois valores, as suas opcoes de marcacao ficam automaticamente assinaladas e todas as outras opcoes de marcacao sao deixadas inalteradas. Agora, sera alterada a seleccao, seleccionando apenas o primeiro ficheiro e vendo que todas as marcas contem os valores correctos. Podera verificar as marcas dos outros ficheiros da mesma forma se as seleccionar uma a uma. Quando estiver satisfeito com as marcas, podera usar a opcao Gravar (menu Ficheiro ou barra de ferramentas). Se seleccionar a opcao Criar uma Lista de Reproducao do menu Ficheiro para gerar um ficheiro Famoso Desconhecido - Vamos Marcar.m3u na pasta. REFERENCIA DE COMANDOS Os Elementos da GUI A interface GUI do Kid3 esta separada em seis seccoes: A esquerda encontra-se a lista de ficheiros e pastas, enquanto o lado direito contem as seccoes Ficheiro, Marca 1, Marca 2 e Marca 3. Para navegar pelas diferentes seccoes com o teclado, sao suportadas diversas combinacoes de teclas. Nas seccoes das marcas, os atalhos ficam activos quando nao estiver a editar texto ou quando estiver na primeira coluna. o Alt+Esquerda: Vai para a seccao anterior (Command+[ no macOS(R)) o Alt+Direita: Vai para a seccao seguinte (Command+] no macOS(R)) o Ctrl+Shift+V: De outra marca o Ctrl+C: Copiar o Ctrl+V: Colar o Shift+Delete: Remover o F2: Editar o Insert: Adicionar o Delete: Apagar Lista de Ficheiros A lista de ficheiros contem os nomes de todos os ficheiros na pasta aberta que correspondam ao filtro de nomes de ficheiros seleccionados (tipicamente o *.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape). Podera ser seleccionado um ou varios ficheiros. Para nao seleccionar nenhum ficheiro, carregue na area vazia a seguir aos itens da lista. A seleccao determina os ficheiros que sao afectados pelas operacoes que ficam disponiveis atraves dos botoes descritos em baixo. Para alem do Nome, tambem podera mostrar as outras colunas Tamanho, Tipo, Data de Modificacao com os detalhes dos ficheiros. Podera esconder as colunas, desmarcando o nome das mesmas no menu de contexto que existe no cabecalho da lista. A ordem das colunas pode ser alterada por arrastamento. O sentido de ordenacao podera ser comutado se carregar no cabecalho da coluna. Os valores das marcas-padrao tambem podem ser apresentados e editados nas colunas da lista de ficheiros. A esquerda dos nomes, podera aparecer um icone: um disco para indicar que o ficheiro modificado ou informacoes sobre as marcas que estao presentes (V1, V2, V1V2 ou SEM MARCAS - nao e apresentado nenhum icone se o ficheiro ainda nao tiver sido lido). As pastas sao apresentadas com um icone de pasta. Se abrir uma pasta, os seus ficheiros sao apresentados numa arvore hierarquica. Ao seleccionar os ficheiros das sub-pastas, podera efectuar operacoes sobre os ficheiros das diferentes pastas, o que e util se a coleccao de musica estiver organizadas com uma pasta para cada artista, contendo pastas para os albuns desse artista. Se carregar com o botao direito do rato dentro da lista de ficheiros, ira abrir um menu de contexto com os seguintes comandos: o Expandir tudo: Expande todas as arvores de pastas (so a arvore actual se estiver a carregar na tecla Shift) o Fechar tudo: Fecha todas as arvores de pastas o Mudar o Nome: Muda o nome de um ficheiro o Enviar para o Lixo: Move um ficheiro para o lixo o Reproduzir: Reproduz um ficheiro; veja a seccao Reproduzir. Se o ficheiro seleccionado for uma lista de reproducao, entao serao reproduzidos os ficheiros na lista de reproducao. o Editar: Edita uma lista de reproducao; veja a seccao Editar a Lista de Reproducao. o Os itens seguintes sao comandos do utilizador, os quais podem ser definidos na pagina de Accoes do Utilizador do Configurar o Kid3. A reproducao atraves de duplo-click pode tambem ser activada ai. Editar a Lista de Reproducao Podera criar uma lista de reproducao vazia ou a conter as faixas de uma determinada pasta; veja como Criar uma Lista de Reproducao. O ficheiro da lista de reproducao criado dessa forma podera ser editado com um duplo-click ou usando a opcao Editar do menu de contexto da lista de ficheiros. Sera apresentada uma janela com os elementos da lista de reproducao. E possivel abrir varias listas de reproducao em simultaneo. Podera adicionar novos itens por arrastamento a partir da lista de ficheiros, de um gestor de ficheiros ou de outra lista de reproducao. Se for arrastado um item de outra lista de reproducao, o mesmo sera movido ou copiado de acordo com o sistema. Para invocar a outra operacao, respectivamente, tera de manter carregada a tecla Shift, Ctrl ou Alt (para copiar em vez de mover no macOS(R)). A reordenacao de itens dentro da lista tambem e possivel por arrastamento. Em alternativa, os itens podem ser movidos com os atalhos de teclado Ctrl+Shift+Cima e Ctrl+Shift+Baixo (no macOS(R) tera de carregar no Command em vez do Ctrl). Podera remover um item se usar a tecla Delete. Repare por favor no seguinte: Para arrastar itens da lista de ficheiros, os mesmos terao de ser mantidos do lado esquerdo (perto dos icones), sendo que o mesmo gesto do lado direito ira efectuar uma seleccao multipla, para que esta accao seja possivel e simples. Quando tiver modificado uma lista de reproducao, as alteracoes poderao ser guardadas com o botao Gravar ou eliminadas com o Cancelar. Quando a janela for fechada, sera apresentada uma mensagem de confirmacao caso existam modificacoes por gravar. As faixas seleccionadas numa lista de reproducao ficarao automaticamente seleccionadas na lista de ficheiros, podendo deste modo editar as suas marcas. Para executar accoes sobre uma lista de reproducao, o seu ficheiro devera estar seleccionado na lista de ficheiros. O Editar do menu de contexto ira conduzir a janela descrita nesta seccao, enquanto o Reproduzir ira iniciar o leitor multimedia com as faixas da lista de reproducao. As accoes do utilizador poderao actuar sobre as listas de reproducao, como por exemplo o Exportar a Pasta da Lista de Reproducao, qur ira copiar os ficheiros de uma lista de reproducao para uma pasta. Lista de Pastas A lista de pastas contem os nomes das pastas na pasta aberta de momento, assim como a propria (.) e a sua pasta-mae (..). Permite a mudanca facil de pasta sem ter de usar o comando Abrir... ou o arrastamento. A visibilidade, ordem e sentido de ordenacao poderao ser configurados da forma descrita na seccao sobre a lista de ficheiros. Ficheiro Mostra informacoes sobre a codificacao (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), taxa de dados, taxa de amostragem, os canais e o tamanho do ficheiro. O campo de texto Nome contem o nome do ficheiro (se so estiver um unico ficheiro seleccionado). Se este nome for alterado, o ficheiro ira mudar de nome quando for usado o comando Gravar. A lista Formato e o campo de texto contem o formato a ser usado quando o nome do ficheiro for gerado a partir da primeira ou segunda marca. O nome do ficheiro podera conter caracteres arbitrarios, podendo incluir uma componente de sub-pastas separadas por uma barra face ao nome do ficheiro, se bem que essa pasta ja deva existir para a mudanca de nome ser bem sucedida. Sao usados os seguintes codigos especiais para inserir os valores das marcas no nome do ficheiro: o %s %{title} Titulo (Musica) o %a %{artist} Artista o %l %{album} Album o %c %{comment} Comentario o %y %{year} Ano o %t %{track} Faixa (p.ex. 01) o %t %{track.n} Faixa com o tamanho do campo 'n' (p.ex. 001 para %{track.3}) o %T %{tracknumber} Faixa (sem os zeros iniciais, p.ex. 1) o %g %{genre} Genero o %{ignore} Ignorado quando gerar marcas a partir do nome do ficheiro Os codigos de formato nao estao restritos aos exemplos apresentados acima. Pode usar qualquer nome de pacote, como os nomes de pacotes unificados, por exemplo %{albumartist}, %{discnumber.1}, %{bpm} ou nomes especificos do formato, como %{popm}. E possivel anteceder e adicionar textos ao substituto de um codigo de formato, adicionando-os entre aspas dentro das chavetas do codigo de formato. Estes textos so serao colocados no texto resultante se o codigo do formato tiver um valor nao-vazio. Por exemplo, se o nome do ficheiro deve conter tanto o titulo como o sub-titulo, uma pessoa podera usar o %{title} [%{subtitle}] no texto do formato. Contudo, isto poderia resultar num texto que termina em [] se nao existir nenhum pacote de sub-titulo para um dado ficheiro. Para omitir os parentesis rectos caso nao esteja presente nenhum sub-titulo, o %{title}%{" ["subtitle"]"} devera ser usado como alternativa. Isto ira omitir os parentesis rectos, o espaco inicial e o sub-titulo se este ultimo nao existir. A lista de formatos disponiveis podera ser editada na janela que aparece quando carregar no botao Nome do ficheiro a partir da marca da pagina Ficheiro da configuracao. E usada uma segunda lista Formato (com uma seta para baixo) para gerar as marcas a partir do nome do ficheiro. Se o formato do nome do ficheiro nao corresponder a este padrao, serao testados alguns outros formatos usados de forma comum. Alguns dos campos normalmente usados ja estao na lista, mas tambem e possivel escrever algum formato especial no campo de edicao. A lista de formatos disponiveis podera ser editada na janela que aparece quando carregar no botao Marca a partir do nome do ficheiro da pagina Ficheiro da configuracao. Internamente, uma expressao regular e composta a partir dos codigos do formato. Se forem necessarias expressoes regulares avancadas, o formato para gerar as marcas a partir dos nomes dos ficheiros pode ser indicado como uma expressao regular completa com capturas, as quais sao antecedidas dos codigos de formato; p.ex., par extrair os numeros das faixas sem remover os zeros inicias, podera usar um formato como por exemplo "/%{track}(\d+) %{title}(.*)". De: Marca 1, Marca 2: Define o nome do ficheiro com o formato seleccionado e a primeira ou segundo marcas, respectivamente. Para: Marca 1, Marca 2: As marcas sao definidas a partir do nome do ficheiro. Em primeiro lugar, sera usado o formato definido em Formato. Se o nome do ficheiro existente nao corresponder a este formato, serao testados os seguintes formatos: o Artista - Album/Numero Musica o Album/Numero - Artista - Musica o /Artista - Album - Numero - Musica o Album/Artista - Numero - Musica o Album/Artista - Musica o Artista/Album/Numero Musica Se for seleccionado apenas um ficheiro, os controlos da GUI sao preenchidos com os valores do nome do ficheiro. Se forem seleccionados varios ficheiros, as marcas dos ficheiros sao configuradas directamente. Marca 1 Os campos de texto do Titulo, Artista, Album, Comentario, Data, Numero de Faixa e Genero sao usados para editar o valor correspondente na primeira marca dos ficheiros seleccionados. O valor sera alterado quando a seleccao de ficheiros mudar ou antes de algumas operacoes como a Gravar ou Sair e quando a opcao de marcacao correspondente a esquerda do nome do campo estiver assinalada. Isto e util para mudar apenas alguns valores e deixar os outros valores inalterados. Se estiver seleccionado um unico ficheiro, todas as opcoes de marcacao estao assinaladas e os campos de texto contem os valores encontrados nas marcas deste ficheiro. Se nao existir uma dada marca no ficheiro, o valor vazio correspondente e apresentado, o qual e um texto vazio para o Titulo, Artista, Album e Comentario, ou 0 para os campos numericos da Data e Numero da Faixa e um valor seleccionado em branco para a lista Genero. Os valores podem ser alterados e, caso a opcao de marcacao correspondente esteja assinalada, serao configurados para o ficheiro seleccionado apos modificar a seleccao. O ficheiro fica entao marcado como modificado com um simbolo de disco na lista de ficheiros, mas permanecera inalterado ate que use o comando Gravar. Se estiverem seleccionados varios ficheiros, so os valores que sao identicos em todos os ficheiros seleccionados e que sao apresentados. Em todos os outros controlos, os valores vazio descritos acima sao apresentados. Todas as opcoes de marcacao estao desmarcadas para evitar modificacoes indesejadas. Se tiver de definir um valor para todos os ficheiros seleccionados, podera ser editado e a opcao de marcacao tera de estar assinalada. Os valores serao configurados para todos os ficheiros seleccionados quando a seleccao e modificada e podera ser gravado com o comando Gravar. As opcoes de marcacao tambem controlam a operacao da maioria dos comandos que afectam as marcas, como a copia, colagem e transferencia entre as marcas 1 e 2. Para facilitar o uso com varios ficheiros, onde todas as opcoes de marcacao estao desligadas, estes comandos comportam-se da mesma forma quando todas as opcoes estao assinaladas ou quando estao todas nao-assinaladas. Da Marca 2: Os campos da marca 1 sao definidos a partir dos valores da marca 2. Se for seleccionado apenas um ficheiro, os controlos da GUI sao preenchidos com os valores da marca 2. Se forem seleccionados varios ficheiros, as marcas dos ficheiros sao configuradas directamente. Copiar: A area de copia fica preenchida com os valores da Marca 1. So os valores assinalados serao usados nos campos Colar subsequentes. Colar: Cola os valores da area de copia para os controlos da GUI. Remover: Isto ira configurar todos os controlos da GUI com os seus valores vazios, o que faz com que se removam todos os valores. O ficheiro gravado nao ira ter a marca 1. Marca 2 Os controlos da GUI funcionam da mesma forma que foi descrita para a seccao da Marca 1, so que o tamanho dos textos nao fica limitado. Para a marca 2 Genero, tambem podera usar os seus proprios nomes para alem dos generos apresentados na lista, bastando para tal escrever o nome no campo de texto. A marca 2 nao so pode conter os mesmos valores que a marca 1, como o formato e composto de forma flexivel a partir de varios pacotes que, por sua vez, sao compostos por varios campos. A tabela da marca 2 mostra todos os pacotes que estao disponiveis no ficheiro seleccionado. Editar: Isto ira abrir uma janela que permite a uma pessoa editar todos os campos do pacote seleccionado. Se estiverem seleccionados varios ficheiros, os campos editados serao aplicados a todos os ficheiros seleccionados que tiverem esse pacote. Adicionar: Um pedido para seleccionar o tipo de pacote que ira aparecer, para que possa editar um pacote do tipo seleccionado e adicionado ao ficheiro. Isto funciona tambem para adicionar um pacote de dados aos varios ficheiros seleccionados. Apagar: Remove o pacote seleccionado nos ficheiros seleccionados. A opcao Arraste as imagens do album para aqui aparece se o ficheiro nao tiver incorporada a imagem da capa. Podera adicionar uma imagem por arrastamento a partir de um navegador ou gestor de ficheiros e sera aqui apresentada. Os pacotes das imagens poderao ser editados ou adicionados se fizer duplo-click sobre este controlo. Marca 3 Alguns ficheiros poderao ter mais que duas marcas, ficando assim uma terceira seccao de marca visivel. Os seguintes tipos de ficheiros poderao ter uma dessas seccoes Marca 3: o Os ficheiros MP3 poderao ter uma marca ID3v1.1, uma marca ID3v2 (2.3.0 ou 2.4.0) e na terceira seccao uma marca APE. Essas marcas APE sao usadas para a informacao do ganho de reproducao. Na seccao Marca 3, esta informacao fica visivel e a marca APE podera ser removida com o botao Remover. o O bloco INFO do RIFF dos ficheiros WAV esta disponivel na seccao Marca 3 dado que a seccao Marca 1 esta dedicada a marcas ID3v1.1 e trata das suas restricoes. A seccao Marca 2 ainda e usada para as marcas ID3v2.4.0, que tambem sao suportadas nos ficheiros WAR, mas os blocos INFO do RIFF parecem ser melhor suportados. o Os ficheiros FLAC normalmente usam um comentario Vorbis para os seus meta-dados. Contudo, existem ficheiros FLAC que tem marcas ID3v1 e ID3v2, que poderao ser encontradas nas seccoes Marca 1 e Marca 3. As marcas ID3 nos ficheiros FLAC so sao suportadas na TagLib; como tal, o 'plugin' OggFlacMetadata tem de estar desactivado na pagina Plugins da configuracao. Os controlos da GUI funcionam da mesma forma que foi descrita para a seccao da Marca 2. Letras Sincronizadas e Codigos de Tempos Sincronizados Para ter a informacao sincronizada com os dados de audio, esta disponivel um editor especifico. Estes pacotes tem suporte para as marcas ID3v2.3.0 e ID3v2.4.0. Para adicionar uma dessas marcas, o nome do pacote especifico tem de ser seleccionado na lista que aparece quando carrega no botao Adicionar - Letras Sincronizadas ou Codigos de Temporizacao de Eventos, respectivamente. O editor e o mesmo para ambos os tipos; para os codigos de temporizacao de eventos, so esta disponivel um conjunto predefinido de eventos enquanto que, nas letras sincronizadas, tera de introduzir texto. No texto seguinte e explicada a edicao de letras sincronizadas. Um ficheiro que tenha uma marca ID3v2 fica seleccionado, pelo que podera entrar no editor de letras musicais se usar o botao Adicionar e seleccionar as Letras Sincronizadas. Para uma area de Letras Sincronizadas existente, ao seleccionar o mesmo podera carregar no botao Editar. O leitor e automaticamente aberto com o ficheiro actual, para que possa reproduzir e pausar o ficheiro para sincronizar as letras musicais. A configuracao no topo do editor do SYLT normalmente nao tem de ser alterada. Se as letras tiverem caracteres que nao estejam presentes no conjunto de caracteres Latin 1, a mudanca da codificacao de texto para UTF16 (ou UTF8 o caso do ID3v2.4.0) sera aconselhada. Para as letras em Ingles e para o maximo de compatibilidade, devera ser usado o ISO-8859-1. A seccao das Letras Musicais tem cinco botoes no topo. O Adicionar ira adicionar um novo evento de tempo na tabela. O tempo e retirado a partir da posicao do leitor, adicionando assim um item enquanto reproduz a faixa ira adicionar uma linha para a posicao reproduzida de momento. Os eventos na tabela tem de estar ordenados de forma cronologica, como tal a linha sera inserida na posicao adequada. Os itens com tempos invalidos sao tratados de forma especial: Se a linha seleccionada de momento tiver um tempo invalido, a sua data/hora sera substituida pelo tempo actual em vez de adicionar uma nova linha. Se o tempo actal nao for invalido, a primeira linha com um tempo invalido sera usada caso exista. Este comportamento devera facilitar a adicao de tempos se o texto das letras ja estiver na tabela, mas estiverem a faltar os tempos (o que e o caso ao importar letras nao sincronizadas). Lembre-se que o tempo invalido e representado como 00:00.00, i.e. o mesmo que o tempo no inicio absoluto da faixa, que nao e invalido. Para invalidar um tempo, carregue na tecla Delete ou use a opcao Limpar do menu de contexto. As novas linhas introduzidas com a opcao Inserir uma linha do menu de contexto ou criadas quando importar as letras nao sincronizadas com as opcoes Da Area de Transferencia ou Importar tambem contem tempos invalidos. As linhas na tabela poderao ser removidas se carregar no botao Apagar ou se usar a opcao Apagar as linhas do menu de contexto. As letras sincronizadas poderao ser importadas a partir de um ficheiro com o botao Importar. O formato esperado e o LRC simples ou o avancado. Se o ficheiro seleccionado nao tiver um parentesis recto na primeira linha, e suposto ser um ficheiro de texto simples com letras nao sincronizadas. As linhas desse ficheiro sao entao importadas com horas invalidas. A informacao da data/hora podera ser adicionada atraves do botao Adicionar ou introduzidas manualmente. Tambem e possivel importar as letras se copiar-colar com a opcao Da Area de Transferencia. Podera gravar as letras sincronizadas nos ficheiros LRC com a opcao Exportar. Lembre-se que so os itens com tempos validos serao exportados e que os itens serao ordenados por esses tempos. Os itens com tempos invalidos nao serao guardados no editor de pacotes SYLT, por isso certifique-se que adiciona toda a informacao de tempos antes de sair da janela. A especificacao do ID3[5] sugere uma data/hora para cada silaba. Contudo, a maioria dos leitores so suportam a granularidade de uma linha ou frase. Para suportar ambos os casos de uso, o Kid3 segue as mesmas convencoes que o Editor do SYLT[6]. O texto que e introduzido na tabela assume-se que inicia uma nova linha, a mesmo que comece por um espaco ou hifen. Sao possiveis excepcoes a esta regra se iniciar uma linha com um sublinhado ('_') para forcar a continuacao ou um cardinal ('#') para forcar uma linha nova. Estes caracteres de escape nao sao guardados dentro do pacote SYLT. Dentro do mesmo pacote, as novas linhas comecam com um caracter de mudanca de linha (hex 0A), enquanto as continuacoes nao. Ao ler os pacotes SYLT, o Kid3 verifica se o primeiro elemento comeca com uma mudanca de linha. Se este nao for o caso, assume-se que todos os elementos sao linhas novas e que nao sao usadas continuacoes de silabas. Quando a faixa e reproduzida, a linha associada com a posicao actual de reproducao fica realcada, para que a correccao da informacao de sincronizacao possa ser validada. Se tiver de adicionar um deslocamento a uma ou mais datas/horas, pode-lo-'a fazer com o menu de contexto Adicionar um deslocamento. Podera usar valores negativos para reduzir o tempo. Se usar o Ir para a posicao no menu de contexto, e possivel definir a posicao de reproducao com a hora da linha seleccionada. O procedimento recomendado e adicionar novas letras musicais sincronizadas o Obtenha as letras musicais nao sincronizadas, p.ex. usando a opcao Letras -> Incorporar as Letras no menu de contexto da lista de ficheiros. o Copie as letras nao sincronizadas para a area de transferencia, bastando para tal ir a linha Letras na tabela de pacotes e carregando em Ctrl+C. o Adicione um pacote de letras sincronizadas (Adicionar..., Letras Sincronizadas, OK), carregando depois em Da Area de Transferencia. o Agora todas as linhas das letras musicais nao sincronizadas estao na tabela, tendo todas as horas invalidas (0:0:0.00). Podera apagar os elementos vazios antes de mais nada. o Comece a tocar a musica, carregando para tal no botao de reproducao na barra de reproducao no fundo da janela principal. o Quando chegar a linha seguinte de letras musicais com datas invalidas, carregue em Adicionar ou carregue em Alt+A, actualizando assim a data/hora. o Continue desta forma ate que todas as datas/horas estejam configuradas. Se lhe faltar algo, pare a reproducao e limpe as datas/horas com a tecla Delete ou seleccionando-as e usando a opcao Limpar do menu de contexto. Para retomar a reproducao a partir de um determinado momento, use a opcao Mudar para a posicao do menu de contexto. Capitulos nos Ficheiros MP4 Os livros de audio em MP4 normalmente tem uma extensao .m4b e sao relativamente grandes, porque contem todos os capitulos num unico ficheiro. Para navegar nesses ficheiros, eles poderao ter marcacoes dos capitulos, que podem ser editadas no Kid3, numa area de pseudo-"Capitulos", usando o mesmo editor das letras musicais sincronizadas. Lembre-se, contudo, que esta funcionalidade so esta disponivel com o 'plugin' Mp4v2Metadata, por isso certifique-se que o mesmo esta activado e acima do 'plugin' TaglibMetadata da pagina de Plugins da configuracao, caso tenha de editar capitulos em MP4. O Menu Ficheiro Ficheiro -> Abrir... ( Ctrl+O ) Abre uma pasta. Todos os ficheiros que corresponderem ao filtro de nomes indicado serao apresentados na lista de ficheiros, ficando seleccionado o ficheiro pretendido. Ficheiro -> Abrir um Recente Abre uma pasta aberta recentemente. Ficheiro -> Abrir uma Pasta... ( Ctrl+D ) Abre uma pasta. Todos os ficheiros que corresponderem ao filtro de nomes indicado serao apresentados na lista de ficheiros. Ficheiro -> Recarregar ( F5 ) Actualiza o conteudo da pasta. Os ficheiros modificados tem de ser gravados antes. As sub-pastas expandidas serao fechadas. Ficheiro -> Gravar ( Ctrl+S ) Grava todos os ficheiros alterados na pasta. Os ficheiros alterados sao marcados com um simbolo de disco na lista de ficheiros. Se algum dos nomes dos ficheiros tiver sido modificado, estes ficheiros irao mudar de nome. Ficheiro -> Reverter Reverte as alteracoes de um ou mais ficheiros. Se nao estiverem ficheiros seleccionados na lista, as modificacoes de todos os ficheiros serao revertidas, caso contrario so serao revertidas as modificacoes dos ficheiros seleccionados. Ficheiro -> Importar... A janela de Importacao pode ser usada para importar os dados directamente de um servidor do freedb.org server, de um servidor do MusicBrainz, do Discogs, da Amazon ou de outras fontes de listas de faixas de albuns num formato de texto. A importacao de um servidor do freedb.org e possivel se usar a janela que aparece quando selecciona a opcao Do Servidor: gnudb.org. O nome do artista ou do album a procurar pode ser introduzido nos dois campos do topo, sendo apresentados os albuns que correspondam a pesquisa quando carregar em Procurar e depois de receber os resultados do www.gnudb.org[7]. A importacao dos dados da faixa de album e feita ao fazer duplo-click sobre o album na lista. O servidor de freedb.org a importar podera ser seleccionado, assim como a localizacao do CGI. Os dados importados sao apresentados na tabela de antevisao da janela de importacao. Quando estiver satisfeito com as faixas apresentadas, as mesmas podem ser importadas se terminar a janela de importacao com o OK. Se ja tiver um resultado da pesquisa aberto no navegador Web, podera introduzir o URL no primeiro campo de edicao. O resultado ira entao aparecer na lista de albuns e podera ser importado directamente no Kid3. Podera efectuar uma pesquisa no servidor do Discogs com a opcao Discogs. Como na janela do gnudb.org, podera introduzir o artista e o album, escolhendo depois dentro de uma lista de lancamentos.Podera introduzir um Codigo para usar a API RESTful do Discogs em vez de usar a interface Web deles, a qual muda com frequencia, comprometendo assim o processamento da importacao. Tera de criar uma conta no Discogs[8] e depois gerar um codigo na pagina Web deles ("Settings/Developers, Generate new token" (Configuracao/Programadores, Gerar um novo codigo)). Nao se esqueca de Gravar a Configuracao depois de introduzir o codigo para o usar tambem nos pedidos subsequentes. Se as Marcas-Padrao estiverem assinaladas, e importada a informacao-padrao, p.ex. artista, album e titulo. Se estiverem assinaladas as Marcas Adicionais, podera importar mais informacoes se estiverem disponiveis, p.ex. artistas, maestros ou o publicador. Se as Imagens das Capas estiver assinalada, sera transferida a imagem da capa, se estiver disponivel. Podera efectuar uma pesquisa na Amazon com a opcao Amazon. Tal como na janela do gnudb.org, podera introduzir o artista e o album, escolhendo depois a partir de uma lista de lancamentos. Se as Marcas Adicionais estiverem marcadas, podera importar mais informacao desde que esteja disponivel, p.ex. cantores, maestros ou publicadores. Se as Imagens da Capa estiver assinalada, sera transferida a imagem da capa caso esteja disponivel. Podera pesquisar da mesma forma na base de dados de lancamentos do MusicBrainz, usando a opcao Da Versao do MusicBrainz. O procedimento e o mesmo que esta descrito em Do gnudb.org. A importacao de um servidor do MusicBrainz e possivel se usar a janela que aparece quando seleccionar a opcao Da Impressao Digital do MusicBrainz. Podera seleccionar o Servidor como na janela de importacao do freedb. Em baixo encontra-se uma tabela que apresenta os dados das faixas importadas. A coluna da direita mostra o estado da pesquisa no MusicBrainz, a qual comeca como "Pendente" quando a janela e aberta. Depois e pesquisada a impressao digital e, se nao devolver resultados, sera testada outra pesquisa com as marcas no ficheiro. Como tal, pode ser util para uma pesquisa com sucesso no MusicBrainz guardar a informacao conhecida (p.ex. artista e album) nas marcas antes da importacao. Se for encontrado um resultado, a pesquisa termina no estado "Reconhecida"; caso contrario, se nao tiver sido encontrado nada ou se forem devolvidos resultados ambiguos, tera de ser seleccionado um deles pelo utilizador. O OK e o Aplicar usam os dados importados, enquanto o Cancelar fecha a janela. O fecho podera demorar algum tempo, dado que todo o processo do MusicBrainz tera de ser encerrado. Para a importacao de dados textuais, a opcao Do Ficheiro/Area de Transferencia abre uma sub-janela, onde estao disponiveis varios formatos de importacao pre-configurados. Os dois primeiros, "CSV sem aspas" e "CSV com aspas", podem ser usados para importar dados que tenham sido exportados na janela de Exportacao. Os dados em CSV podem ser editados numa folha de calculo e devem ser gravados com tabulacoes como separadores. A importacao devera ser possivel com o "CSV com aspas", que e mais flexivel que a versao "CSV sem aspas". Contudo, os seus campos nao podem ter aspas no conteudo. Se so exportar do Kid3 e importar mais tarde, o "CSV sem aspas" pode ser usado como um formato simples para esse fim. Lembre-se que tambem existem as opcoes "Exportar o CSV" e "Importar o CSV" no menu de contexto da lista de ficheiros, que usam programas para exportar e importar os dados em CSV de uma forma mais completa, poderosa e flexivel. O proximo formato, "texto HTML do freedb", pode ser usado para copiar informacoes de uma pagina HTML do freedb.org[9]. Pesquise um album no freedb e, se a informacao desejada aparecer no navegador Web, copie o conteudo para a area de transferencia. Depois carregue no botao Da Area de Transferencia para que as faixas importadas aparecam na tabela de antevisao no topo da janela. Se estiver satisfeito com os dados importados, termine a janela com o botao OK, que ira inserir os dados nas marcas da pasta actual. O destino (Marca 1, Marca 2 ou Marca 1 e Marca 2) pode ser seleccionado numa lista. Os ficheiros na pasta actual deverao estar na ordem de faixas correctamente para ter as suas marcas atribuidas. Este e o caso caso elas estejam numeradas. O proximo formato de importacao pre-configurado, o "codigo HTML do freedb", podera ser usado se os dados estiverem disponiveis como um documento em HTML. A importacao e possivel com o botao Do Ficheiro, que abre um selector de ficheiros, ou copiando o seu conteudo a partir de um editor e depois importando-o a partir da area de transferencia. Este formato pode ser util para a importacao 'offline', ainda que o documento HTML possa tambem ser aberto num navegador e depois ser importado no primeiro formato atraves da area de transferencia. Estao disponiveis mais formatos pre-configurados, p.ex. "Tempo do Titulo da Faixa". Podera criar um formato personalizado vazio com o botao Adicionar para ser definido pelo utilizador. As duas linhas abaixo do nome do formato podem ser configuradas com uma expressao regular para capturar os campos a partir do texto a importar. A primeira expressao regular sera processada uma vez por cada documento para reunir os dados de cada album, como o artista, o album, o ano e o genero. A segunda linha e testada para corresponder a partir do inicio do documento ate ao fim para obter os dados da faixa, normalmente o numero e o titulo. As expressoes regulares incluem todas as funcionalidades oferecidas pelo Qt(TM), que correspondem a maior parte do que o Perl oferece. As construcoes com parentesis "(..)" criam areas de captura para os campos a importar e sao antecedidas de codigos especificos do Kid3 para indicar qual o campo a capturar. Os codigos sao os mesmos que sao usados no formato dos nomes dos ficheiros, para alem dos codigos apresentados abaixo; e possivel qualquer nome de pacote: o %s %{title} Titulo (Musica) o %a %{artist} Artista o %l %{album} Album o %c %{comment} Comentario o %y %{year} Ano o %t %{track} Faixa o %g %{genre} Genero o %d %{duration} Duracao Por exemplo, a expressao regular de uma faixa (segunda linha) para importar a partir de uma lista de reproducao .m3u poderia ser "%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]". Todos os formatos podem ser alterados se editar as expressoes regulares e o nome, carregando depois em Gravar a Configuracao. Elas ficarao guardadas no ficheiro kid3rc na pasta de configuracao. Este ficheiro podera ser editado directamente para ter mais formatos de importacao ou podera ser apagado para voltar aos formatos predefinidos. Os formatos podem ser apagados com Remover. A Precisao mostra uma estimativa de quao boa e a informacao importada ao corresponder as faixas indicadas. Ele usa as duracoes das faixas ou os nomes dos ficheiros para calcular o nivel de semelhanca em percentagem. A Imagem da Capa mostra o URL da imagem da capa do album que sera transferida. Para verificar se as faixas importadas correspondem ao conjunto actual de ficheiros, a duracao das faixas importadas podera ser comparada com a duracao dos ficheiros. Esta funcionalidade podera ser activada com a opcao Verificar a diferenca maxima de tempo permitida (s): para definir esse valor maximo de tolerancia em segundos. Se ocorrer uma discrepancia de valores, a duracao aparece com um fundo vermelho na tabela de antevisao. Se os ficheiros estiverem ordenados de forma diferente das faixas importadas, as suas faixas atribuidas terao de ser alteradas. Esta tarefa podera ser simplificada se usar os botoes para Corresponder a Duracao, Faixa e Titulo, os quais irao reordenar as faixas de acordo com o campo correspondente. Para corrigir manualmente as atribuicoes, podera arrastar uma faixa com o botao esquerdo do rato e a tecla Ctrl carregada, sendo depois largada na nova posicao. Quando a janela de importacao estiver aberta, ela possui o conteudo actual das marcas. O tipo de marca (Marca 1, Marca 2, Marca 1 e Marca 2) podera ser seleccionado com a lista Destino. O botao a direita desta lista podera ser usado para reverter a tabela ao conteudo actual das marcas. As opcoes de marcacao na primeira coluna da tabela poderao ser usadas para seleccionar as faixas que serao importadas. Isto pode ser util se uma pasta possuir as faixas de ambos os CD's de um CD duplo e so necessitar de importar as faixas do segundo CD. Para identificar as faixas que sao importadas, e possivel mostrar os nomes dos ficheiros ou as localizacoes completas dos mesmos, usando o menu de contexto do cabecalho da tabela. Os valores na tabela de importacao poderao ser editados. O botao de reverao a direita da lista Destino podera ser usado para repor o conteudo das marcas, o que tambem podera ser util depois de alterar o Destino. Quase todas as janelas possuem um botao Gravar a Configuracao, que pode ser usado para guardar as definicoes especificas da janela, bem como o seu tamanho, de forma persistente. A opcao Das Marcas conduz a uma sub-janela para configurar os pacotes das marcas a partir do conteudo de outros pacotes de marcas. Isto pode ser usado para simplificar a copia de informacao entre marcas ou para extrair uma parte de um pacote e inseri-la noutro. Tal como na janela para importar a partir de um ficheiro/area de transferencia, existem formatos configuraveis a vontade para efectuar diferentes operacoes. Ja existem alguns formatos pre-configurados para copiar o valor do Album para o Artista, Compositor ou Condutor do Album, assim como para extrair o numero da faixa dos campos de Titulo que incluam um numero. Existe tambem um formato para extrair um Sub-Titulo a partir de um campo de Titulo. O seguinte exemplo explica como adicionar um formato personalizado, o qual define a informacao a partir do campo de Sub-Titulo tambem no campo de Comentario. Crie um novo formato com a opcao Adicionar e indique um novo nome, p.ex. "Sub-titulo para Comentario". Depois indique "%{subtitle}" na Origem e "%{comment}(.*)" na Extraccao, carregando finalmente em Gravar a Configuracao. A expressao na Origem podera conter os codigos de formato para os pacotes de marcas arbitrarios, podendo usar varios codigos para combinar o conteudo dos diferentes pacotes. Para cada faixa, e gerado um texto a partir das suas marcas com o formato da Origem e a expressao regular da Extraccao e aplicada a este texto para definir valores novos para as marcas. Os codigos dos formato sao usados antes dos parentesis de captura para indicar o pacote de marcas onde sera guardado o texto capturado. Funciona da mesma forma que na importacao de ficheiros/area de transferencia. A opcao Importar a Partir das Marcas... tambem esta directamente disponivel a partir do menu Ficheiro. A diferenca entre estas duas funcoes e que a sub-janela de importacao funciona sobre todos os ficheiros da pasta actual, enquanto a funcao do menu se aplica sobre os ficheiros seleccionados (que poderao estar em diferentes pastas). A funcao do menu suporta um codigo adicional "%{__return}" para devolver o valor extraido, o que podera ser util com as interfaces CLI e QML. Ficheiro -> Importar do gnudb.org... Importa a partir de um servidor do freedb.org, usando a pesquisa de albuns do gnudb.org. Este item de menu abre a mesma janela de importacao que o Importar..., mas abre directamente a janela do gnudb.org. Ficheiro -> Importar do Discogs... Importa a partir do servidor do Discogs. Este item de menu abre a mesma janela de importacao que o Importar..., mas abre directamente a janela do Discogs. Ficheiro -> Importar da Amazon... Importa a partir da Amazon. Este item de menu abre a mesma janela de importacao que o Importar..., mas abre directamente a janela da Amazon. Ficheiro -> Importar da Versao do MusicBrainz... Importa a partir do servico de lancamentos do MusicBrainz. Este item de menu abre a mesma janela de importacao que o Importar..., mas abre directamente a janela da MusicBrainz. Ficheiro -> Importar da Impressao Digital do MusicBrainz... Importa a partir de um servidor do MusicBrainz. Este item de menu abre a mesma janela de importacao que o Importar..., mas abre directamente a janela de Impressoes Digitais do MusicBrainz. Ficheiro -> Importar das Marcas... Como o Das Marcas, mas a importacao e aplicada aos ficheiros seleccionados. Ficheiro -> Importacao Automatica... A Importacao Automatica permite a uma pessoa importar informacoes para varios albuns a partir de varios servicos na Web. Se forem seleccionadas pastas na lista de ficheiros, serao importados os dados das faixas para as pastas seleccionadas. Se nao for seleccionada nenhuma pasta, todas as pastas na lista de ficheiros serao importadas. O tipo de marca (Marca 1, Marca 2, Marca 1 e Marca 2) podem ser seleccionados com a lista Destino. Os perfis determinam quais os servidores que serao contactados para obter a informacao do album. Alguns dos perfis sao predefinidos (Tudo, MusicBrainz, Discogs, Imagens de Capas), sendo que podera adicionar perfis personalizados com o botao Adicionar a direita da lista do Perfil. A tabela abaixo mostra os servidores que serao usados quando importar os dados dos albuns com o perfil seleccionado. O processo de importacao de um album termina se toda a informacao necessaria for encontrada, pelo que a ordem das linhas na tabela e importante. Podera ser alterada com os botoes Subir e Descer. O Editar pode ser usado para modificar um item existente. A seleccao do Servidor oferece os mesmos servidores que podem ser usados nas funcoes de importacao. As Marcas-Padrao, as Marcas Adicionais e as Imagens das Capas determinam a informacao que sera obtida a partir do servidor. Finalmente, a Precisao e a granularidade minima que devera ser obtida para aceitar os dados importados. Se a precisao for insuficiente, sera usado o proximo servidor na lista. A mesma janela que contem as propriedades do servidor aparece quando carregar em Adicionar para adicionar um novo item de servidor. Os itens existentes poderao ser removidos com o botao Remover. Para invocar uma importacao automatica em lote com o perfil seleccionado, carregue em Iniciar. Os detalhes sobre a importacao em curso sao apresentados no topo da janela. O processo podera ser interrompido com o botao Interromper. Ficheiro -> Escolher as Imagens de Capas... A janela para Escolher as Imagens das Capas ajuda a descobrir as imagens das capas dos albuns. O Artista/Album e preenchido a partir das marcas, se tal for possivel. A Origem oferece uma variedade de paginas Web com imagens das capas dos albuns. O URL com o artista e o album como parametros podera ser consultado por baixo do nome. Podera inserir valores codificados como URL's para o artista se usar o "%u{artist}" e "%u{album}"; tambem sao possiveis os outros valores a partir das marcas, tal como descrito em Configurar o Kid3, Accoes do Utilizador. Podera introduzir mais fontes a seguir ao elemento "Origem Personalizada", substituindo a "Origem Personalizada" pelo nome da fonte e carregar em Enter, introduzindo depois o URL e carregando finalmente em Gravar a Configuracao. O comando do navegador resultante aparece no topo da janela e pode ser iniciado se carregar em Escolher. O navegador, que pode ser definido na configuracao, e iniciado com a origem seleccionada. Podera entao arrastar uma imagem de capa a partir do navegador para a janela do Kid3, para que a mesma fique configurada no pacote de imagem dos ficheiros seleccionados. Dado que nem todos os navegadores suportam o arrastamento de imagens e as imagens das paginas Web normalmente tem um URL, nesses casos o Kid3 ira receber o URL e nao a imagem. Se o URL apontar para uma imagem, a mesma sera transferida. Contudo, se o URL fizer referencia a outro recurso qualquer da Web, tera de ser traduzido para a imagem correspondente. Essas associacoes estao definidas na tabela de extraccao do URL. A coluna da esquerda Corresponder contem uma expressao regular que e comparada com o URL. Se corresponder, as expressoes capturadas entre parentesis sao introduzidas no padrao da coluna URL da Imagem a direita (nas posicoes marcadas com o \1 etc.). A expressao regular substituida contem o URL da imagem. Com este mecanismo, as imagens das capas poderao ser importadas a partir da Amazon, Google Images, etc. por arrastamento. Tambem e possivel definir as suas proprias associacoes. Ficheiro -> Exportar... A Janela de Exportacao e usada para guardar os dados das marcas num ficheiro ou na area de transferencia. O editor no topo mostra uma antevisao dos dados a exportar. Se os dados da exportacao tiverem tabulacoes, a exportacao sera apresentada numa tabela. Os dados serao gerados a partir das marcas na pasta actual, de acordo com o formato configurado. A configuracao do formato e semelhante a da janela de Importacao: O campo no topo contem o titulo (p.ex. "CSV sem aspas"), seguido do cabecalho que sera gerado no inicio do ficheiro. Os dados da faixa vem a seguir; e usado para cada faixa. Finalmente, o rodape pode ser usado para gerar algum texto final. Os campos de formato nao contem expressoes regulares como na janela de Importacao, mas apenas as expressoes do formato de saida com expressoes-% especiais, as quais serao substituidas pelos valores das marcas. O processo inteiro funciona como no formato dos nomes dos ficheiros, sendo usados os mesmos codigos para alem de alguns codigos adicionais. Nao so os codigos apresentados abaixo mas todos os nomes de pacotes de marcas poderao ser usados. o %s %{title} Titulo (Musica) o %a %{artist} Artista o %l %{album} Album o %c %{comment} Comentario o %y %{year} Ano o %t %{track} Faixa (p.ex. 01) o %t %{track.n} Faixa com o tamanho do campo 'n' (p.ex. 001 para %{track.3}) o %T %{tracknumber} Faixa (sem os zeros iniciais, p.ex. 1) o %g %{genre} Genero o %f %{file} Nome do ficheiro o %p %{filepath} Localizacao o %{modificationdate} Data de modificacao o %{creationdate} Data de criacao o %u %{url} URL o %{dirname} Nome da pasta o %d %{duration} Duracao em minutos:segundos o %D %{seconds} Duracao em segundos o %n %{tracks} Numero de faixas do album o %e %{extension} Extensao do ficheiro o %O %{tag1} O formato da marca 1 (ID3v1.1 ou vazio se inexistente) o %o %{tag2} O formato da marca 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF ou vazio se inexistente) o %b %{bitrate} Taxa de dados em kbit/s o %v %{vbr} VBR ou vazio (apenas para o ID3v2.3 com a id3lib) o %r %{samplerate} Taxa de amostragem em Hz o %m %{mode} Modo do canal (Estereo ou Estereo Conjunto) o %h %{channels} Numero de canais (1 ou 2) o %k %{codec} Codificador (p.ex. MPEG 1 Nivel 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV) Existem alguns formatos predefinidos. O "CSV sem aspas" separa os campos com tabulacoes. Os dados neste formato poderao ser importados de novo para o Kid3, usando o formato de importacao com o mesmo nome. O "CSV com aspas" delimita adicionalmente os campos com aspas, o que facilita a importacao para as folhas de calculo. Contudo, os campos nao poderao ter eles proprios aspas quando usar este formato. O "M3U Estendido" e o "PLS Estendido" geram listas de reproducao com atributos estendidos e com nomes de locais absolutos. O "HTML" pode ser usado para gerar uma pagina HTML com hiperligacoes para as faixas. O "Kover XML" cria um ficheiro que podera ser importado pelo programa de impressao de capas Kover. Os "Detalhes Tecnicos" oferecem informacoes sobre a taxa de dados, taxa de amostragem, canais, etc. Finalmente, o "Formato Personalizado" e deixado em branco para a definicao de um formato personalizado. Podera definir mais formatos seus se adicionar linhas no ficheiro , kid3rc na pasta de configuracao. Os outros formatos poderao ser adaptados de acordo com as suas necessidades. A Origem das marcas para gerar os dados de exportacao (Marca 1 ou Marca 2) podera ser seleccionada com uma lista. Se carregar em Para um Ficheiro ou Para a Area de Transferencia, ira guardar os dados nesses destinos. Os botoes OK e Cancelar fecham a janela, sendo que o OK aceita as definicoes da janela actual. Ficheiro -> Criar uma Lista de Reproducao... Cria uma lista de reproducao. O formato e conteudo da lista de reproducao poderao ser definidos com varias opcoes. O nome da lista de reproducao podera ser o Mesmo que o nome da pasta ou usar um Formato com valores das marcas, p.ex. "%{artist} - %{album}" para ter o nome do artista e do album no nome do ficheiro da lista de reproducao. Os codigos do formato sao os mesmos que em Exportar. A opcao Criar uma nova lista de reproducao vazia ira criar uma lista de reproducao vazia com o nome indicado. A extensao depende do formato da lista de reproducao. A localizacao da lista de reproducao gerada e determinada pela seleccao da lista Criar em. Pasta actual A lista de reproducao e criada na pasta actual e so contem os ficheiros da pasta actual. A pasta actual e a pasta onde se encontra o ficheiro actual. Se estiverem seleccionados varios ficheiros, o ficheiro actual sera provavelmente o ultimo ficheiro seleccionado. Todas as pastas Uma lista de reproducao e criada em todas as pastas que contem os ficheiros listados, sendo que cada lista contem os ficheiros dessa pasta. Pasta de topo So e criada uma lista de reproducao na pasta de topo (i.e., a pasta da lista de ficheiros) e contem os ficheiros listados na pasta de topo e em todas as suas sub-pastas. O Formato da lista de reproducao podera ser o M3U, PLS ou XSPF. Se a opcao Incluir apenas os ficheiros seleccionados estiver assinalada, so serao incluidos os ficheiros seleccionados na lista de reproducao. Se uma dada pasta for seleccionada, serao seleccionados todos os seus ficheiros. Se esta opcao de marcacao nao estiver assinalada, todos os ficheiros de audio serao incluidos na lista de reproducao. O Ordenar pelo nome do ficheiro selecciona o caso normal, onde os ficheiros sao ordenados pelo nome do ficheiro. Com a opcao Ordenar pelo campo da marca, e possivel ordenar por um dado texto de formato com os valores dos campos das marcas. Por exemplo, o "%{track.3}" pode ser usado para ordenar pelo numero da faixa (o ".3" e usado para obter tres algarismos com zeros iniciais, dado que sao usados textos nas ordenacao). Tambem e possivel usar varios campos, p.ex. "%{genre}%{year}" para ordenar por um texto composto pelo genero e ano. Os elementos da lista de reproducao terao locais relativos ou absolutos, dependendo se as opcoes Usar uma localizacao relativa para os ficheiros na lista de reproducao ou a Usar a localizacao completa para os ficheiros na lista de reproducao estiver definida. Quando estiver assinalada a opcao Escrever apenas a lista de ficheiros, a lista de reproducao so ira conter as localizacoes dos ficheiros. Para gerar uma lista estendida com informacoes adicionais, podera definir um texto de formato com o controlo Gravar a informacao com. Ficheiro -> Sair ( Ctrl+Q ) Sai da aplicacao. O Menu Editar Editar -> Seleccionar Tudo ( Alt+A ) Selecciona todos os ficheiros. Editar -> Deseleccionar ( Ctrl+Shift+A ) Deselecciona todos os ficheiros. Editar -> Seleccionar Tudo na Pasta Selecciona todos os ficheiros na pasta actual. Editar -> Ficheiro Anterior ( Alt+Cima ) Selecciona o ficheiro anterior. Editar -> Ficheiro Seguinte ( Alt+Baixo ) Selecciona o ficheiro seguinte. Editar -> Procurar... ( Ctrl+F ) Procura por determinados textos nos nomes dos ficheiros e nas marcas. A janela Procurar e um sub-conjunto da janela Substituir, a qual esta descrita em baixo. Editar -> Substituir... ( Ctrl+R ) Esta funcao abre uma janela para procurar e substituir os textos nos nomes dos ficheiros e nas marcas. O conjunto de pacotes onde e efectuada a pesquisa podera ser restrito se desactivar a opcao Seleccionar tudo e seleccionar os pacotes que devem ser pesquisados. Tambem existem opcoes de pesquisa para poder procurar para tras, para distinguir a capitalizacao e para usar as expressoes regulares. Dependendo do numero de ficheiros, a pesquisa podera demorar algum tempo, como tal podera ser interrompida se fechar a janela. O Menu Ferramentas Ferramentas -> Aplicar o Formato do Nome do Ficheiro Quando a opcao Aplicar automaticamente o formato estiver desligada para o formato de nomes dos ficheiros na janela de configuracao, este item do menu pode ser usado para aplicar o formato configurado aos nomes dos ficheiros seleccionados. Isto tambem pode ser usado para verificar se os nomes dos ficheiros estao em conformidade com o formato configurado, aplicando o formato a todos os ficheiros gravados e depois verificando se alguns dos ficheiros foram modificados (e, deste modo, marcados com um simbolo de disco na lista de ficheiros). Ferramentas -> Aplicar o Formato das Marcas Quando a opcao Aplicar automaticamente o formato estiver desligada para o formato das marcas na janela de configuracao, este item do menu pode ser usado para aplicar o formato configurado as marcas dos ficheiros seleccionados. Isto tambem pode ser usado para verificar se as marcas estao em conformidade com o formato configurado, aplicando o formato a todos os ficheiros gravados e depois verificando se alguns dos ficheiros foram modificados (e, deste modo, marcados com um simbolo de disco na lista de ficheiros). Ferramentas -> Aplicar a Codificacao do Texto Define a Codificacao de texto seleccionada em Configuracao -> Configurar o Kid3... -> seccao de Marcas -> pagina da Marca 2 para todos os ficheiros seleccionados. Se estiver seleccionado o UTF8, sera usado o UTF16 para as marcas ID3v2.3.0, dado que o UTF8 nao e suportado para este formato. Ferramentas -> Mudar o Nome da Pasta... Esta janela oferece a possibilidade de mudar automaticamente de nome a pasta aberta de momento, de acordo com as marcas nos ficheiros. Estao pre-configurados diversos formatos para incluir informacoes sobre o artista, o album e o ano no nome da pasta. Tambem e possivel definir um formato personalizado e Editar a lista de formatos disponiveis. Sao usados os seguintes codigos especiais para inserir os valores das marcas no nome da pasta: o %s %{title} Titulo (Musica) o %a %{artist} Artista o %l %{album} Album o %c %{comment} Comentario o %y %{year} Ano o %t %{track} Faixa (p.ex. 01) o %t %{track.n} Faixa com o tamanho do campo 'n' (p.ex. 001 para %{track.3}) o %T %{tracknumber} Faixa (sem os zeros iniciais, p.ex. 1) o %g %{genre} Genero o %{dirname} Nome da pasta (p.ex. %{year" "}%{dirname} ira anteceder o ano ao nome da pasta actual) o %{max-year} O valor maximo do ano encontrado para esta pasta; tambem podera ser usado com outros codigos que nao o "year" o %{min-year} O valor minimo do ano encontrado para esta pasta o %{unq-year} O valor unico do ano encontrado para esta ou vazio se nao for unico Se for encontrado um separador de pastas "/" no formato, sao criadas varias pastas. Se quiser criar uma nova pasta em vez de mudar o nome da pasta actual, seleccione Criar uma Pasta em vez de Mudar o Nome da Pasta. A Origem da informacao da marca podera ser escolhida entre Da Marca 1 e Marca 2, Da Marca 1 e Da Marca 2. Podera ter uma antevisao da operacao de mudanca de nome efectuada no primeiro ficheiro nas seccoes De e Para da janela. Podera mudar o nome de varias pastas se as seleccionar. Ferramentas -> Numerar as Faixas... Se os numeros de faixa nas marcas nao estiverem definidos ou tiverem valores errados, esta funcao podera numerar as faixas de forma automatica, por ordem ascendente. O numero inicial podera ser definido na janela. Se so tiver de numerar parte das faixas, as mesmas devem estar seleccionadas. Quando o Numero total de faixas estiver assinalado, tambem sera definido o numero de faixas nas marcas. E possivel numerar as faixas por varias pastas. As pastas tem de estar expandidas e seleccionadas. Se a opcao Repor o contador para cada pasta estiver assinalada, a numeracao de faixas e reiniciada com o numero indicado para cada pasta, sempre que estiverem seleccionadas varias pastas. A janela de numeracao das faixas tambem pode ser usada para formatar os numeros de faixas existentes sem modificar os valores quando a opcao de marcacao a esquerda do Numero de inicio estiver desactivada. O numero total de faixas sera adicionado se a opcao de marcacao correspondente estiver activa, o que podera ser usado para definir o total de todas as faixas seleccionadas. Se so for desejada a formatacao dos numeros existentes, esta opcao de marcacao tambem tem de ser desactivada. Ferramentas -> Filtrar... O filtro podera ser usado para mostrar apenas os ficheiros que correspondem a determinados criterios. Isto e util se quiser organizar uma coleccao grande e so editar os ficheiros que nao estejam no esquema desejado. A expressao que define quais os valores a apresentar usa os mesmos codigos de formato que sao usados no formato dos nomes de ficheiros, na importacao e na exportacao. o %s %{title} Titulo (Musica) o %a %{artist} Artista o %l %{album} Album o %c %{comment} Comentario o %y %{year} Ano o %t %{track} Faixa (p.ex. 01) o %t %{track.n} Faixa com o tamanho do campo 'n' (p.ex. 001 para %{track.3}) o %T %{tracknumber} Faixa (sem os zeros iniciais, p.ex. 1) o %g %{genre} Genero o %f %{file} Nome do ficheiro o %p %{filepath} Localizacao absoluta do ficheiro o %e %{extension} Extensao do ficheiro o %O %{tag1} O formato da marca 1 (ID3v1.1 ou vazio se inexistente) o %o %{tag2} O formato da marca 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF ou vazio se inexistente) o %b %{bitrate} Taxa de dados em kbit/s o %v %{vbr} VBR ou vazio (apenas para o ID3v2.3 com a id3lib) o %r %{samplerate} Taxa de amostragem em Hz o %m %{mode} Modo do canal (Estereo ou Estereo Conjunto) o %h %{channels} Numero de canais (1 ou 2) o %k %{codec} Codificador (p.ex. MPEG 1 Nivel 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV) o %w %{marked} Marcado; e igual a 1 se o ficheiro estiver marcado (p.ex. por estar truncado ou a violar a norma), sendo vazio em caso contrario o %1a %1{artist}, ... Use o prefixo 1 para obter os valores da marca 1 o %2a %2{artist}, ... Use o prefixo 2 para obter os valores da marca 2 Estes codigos sao substituidos pelos valores do ficheiro, sendo que os textos resultantes podem ser comparados com as seguintes operacoes: o t1 equals t2: verdadeiro se o t1 e o t2 forem iguais. o t1 contains t2: verdadeiro se o t1 conter o t2, i.e. o t2 for um sub-texto de t1. o t matches er: verdadeiro se o t corresponder a expressao regular er. As expressoes verdadeiras sao substituidas por 1 e as falsas por 0. Os valores verdadeiros sao representados como 1, true, on e yes, enquanto os valores falsos sao por 0, false, off e no. As operacoes booleanas sao o 'not', 'and' e 'or' (por esta ordem de precedencia) e podem ser agrupadas com parentesis. Algumas regras de filtragem sao predefinidas e podem servir de exemplos para as suas proprias expressoes: Tudo Quando a lista de ficheiros estiver filtrada - isso aparece como "[filtrado]" no titulo da janela - e caso deseje mostrar todos os ficheiros de novo, a filtragem pode ser revertida com este filtro. Ela usa uma expressao vazia, mas um valor verdadeiro tera o mesmo efeito. Inconsistencia da Marca do Nome do Ficheiro not (%{filepath} contains "%{artist} - %{album}/%{track} %{title}") Testa de a localizacao do ficheiro esta em conformidade com o formato de nomes de ficheiros. Esta regra e adaptada automaticamente se o formato do nome do ficheiro mudar. Sem Marca 1 %{tag1} equals "" Mostra apenas os ficheiros que nao tiverem uma marca 1. Sem Marca 2 %{tag2} equals "" Mostra apenas os ficheiros que nao tiverem uma marca 2. Marca de ID3v2.3.0 %{tag2} equals "ID3v2.3.0" Mostra apenas os ficheiros que tiverem uma marca de ID3v2.3.0. Marca de ID3v2.4.0 %{tag2} equals "ID3v2.4.0" Mostra apenas os ficheiros que tiverem uma marca de ID3v2.4.0. Marca 1 != Marca 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}) Mostra os ficheiros com diferencas entre a marca 1 e a marca 2. Marca 1 == Marca 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} Mostra os ficheiros com a marca 1 e a marca 2 identicas. Incompleto %{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals "" Mostra os ficheiros com valores vazios nas marcas-padrao (title, artist, album, date, track number, genre). Sem Imagem %{picture} equals "" Mostra apenas os ficheiros que nao tiverem uma imagem. Marcado not (%{marked} equals "") Mostra apenas os ficheiros que estiverem marcados por violarem a norma ID3, estejam truncados ou a imagem for demasiado grande. Filtro Personalizado Para adicionar o seu proprio filtro, seleccione este item. Por exemplo, se quiser um filtro por artistas que comecem por "The", substitua o "Filtro Personalizado" pelo nome "Bandas 'The'" e carregue em Enter. Depois indique a seguinte expressao no campo de texto: %{artist} matches "The.*" Depois carregue em Gravar a Configuracao. Carregue em Aplicar para filtrar os ficheiros. Todos os ficheiros processados sao apresentados no campo de texto, com um "+" para as correspondencias ao filtro e um "-" para os outros. Quando terminar so os ficheiros com um artista que comece por "The" sao apresentados, assim como o titulo da janela fica marcada como "[filtrado]". Ferramentas -> Converter o ID3v2.3 para ID3v2.4 Se existirem algumas marcas de ID3v2.3 nos ficheiros seleccionados, as mesmas serao convertidas para marcas de ID3v2.4. Os pacotes que nao forem suportados pela TagLib serao descartados. So os ficheiros sem modificacoes por gravar e que serao convertidos. Ferramentas -> Converter o ID3v2.4 para ID3v2.3 Se existirem algumas marcas de ID3v2.4 nos ficheiros seleccionados, as mesmas serao convertidas para marcas de ID3v2.3. Os pacotes que nao forem suportados pela TagLib serao descartados. So os ficheiros sem modificacoes por gravar e que serao convertidos. Ferramentas -> Reproduzir Isto abre uma barra de ferramentas simples para tocar ficheiros de audio. Contem botoes para as operacoes basicas (Reproduzir/Pausa, Parar a reproducao, Faixa Anterior, Faixa Seguinte, Fechar), barras de posicao e de volume e um mostrador da posicao actual. Se tiver seleccionado varios ficheiros, as faixas seleccionadas serao reproduzidas, caso contrario serao reproduzidos todos os ficheiros. O Menu Configuracao Configuracao -> Mostrar a Barra de Ferramentas Activa/desactiva a apresentacao da barra de ferramentas. Configuracao -> Mostrar a Barra de Estado Comuta a apresentacao da barra de estado, que mostra as accoes mais longas como a abertura ou gravacao de uma dada pasta. Configuracao -> Mostrar a Imagem Comuta a apresentacao da imagem de antevisao das capas do album. Configuracao -> Auto-Esconder as Marcas As marcas vazias ficam automaticamente escondidas se esta opcao estiver activa. As seccoes Ficheiro, Marca 1 e Marca 2 poderao ser fechadas e expandidas manualmente se carregar nos botoes -/+ respectivos. Configuracao -> Configurar as Teclas de Atalho... Abre uma janela para atribuir atalhos de teclado a maior parte das funcoes do programa. Existem ate funcoes sem menu ou botao disponivel, p.ex. ficheiro seguinte, ficheiro anterior, seleccionar tudo. Configuracao -> Configurar o Kid3... Abre a janela de configuracao, que consiste nas paginas das marcas, ficheiros, accoes do utilizador e configuracao da rede. As opcoes especificas das marcas poderao ser encontradas na pagina Marcas, que por sua vez esta dividida em quatro paginas para a Marca 1, Marca 2, Marca 3 e Todas as Marcas. Se a opcao Marcar os campos truncados estiver assinalada, os campos de ID3v1.1 truncados ficarao marcados a vermelho. Os campos de texto das marcas ID3v1.1 so poderao ter 30 caracteres, assim como o comentario so podera ter 28 caracteres. Do mesmo modo, o genero e os numeros de faixas sao restritos, pelo que os campos poderao ficar truncados quando forem importados ou transferidos a partir do ID3v2. Os campos truncados e o nome do ficheiro ficarao marcados a vermelho, sendo que a marca sera removida apos editar o campo. Com a Codificacao do texto para o ID3v1, e possivel definir o conjunto de caracteres usado nas marcas ID3v1. Esta codificacao e supostamente a ISO-8859-1, pelo que se recomenda manter este valor predefinido. Contudo, existem marcas com codificacoes diferentes, pelo que a mesma pode ser definida aqui e as marcas ID3v1 possam entao ser copiadas para o ID3v2, que suporta o Unicode. A opcao de marcacao Usar o formato faixa/numero total de faixas controla se o campo do numero da faixa das marcas ID3v2 contem apenas o numero da faixa ou tambem o numero total de faixas na pasta. Quando estiver assinalada a opcao Genero como texto em vez de texto numerico, todos os generos do ID3v2 serao guardados como uma sequencia de texto, mesmo que exista um codigo correspondente para os generos de ID3v1. Se esta opcao nao estiver activa, os generos para os quais exista um codigo de ID3v1 sao guardados como o numero de codigo do genero (entre parentesis para o ID3v2.3). Como tal, o genero Metal esta guardado como "Metal" ou "(9)", dependendo desta opcao. Os generos que nao constem na lista de generos ID3v1 sao sempre guardados como uma sequencia de texto. O objectivo desta opcao e melhorar a compatibilidade com os dispositivos que nao interpretam correctamente os codigos de generos. Quando a opcao Ficheiros WAV com bloco de ID3 em minusculas estiver assinalada, o bloco de RIFF usado para guardar as marcas ID3v2 nos ficheiros WAV tera o nome "id3 " em vez de "ID3 ". Por omissao, o Kid3 e outras aplicacoes que usam a TagLib aceitam tanto a versao em maiusculas como em minusculas ao ler os ficheiros WAV, mas irao usar a versao "ID3 " quando gravar as marcas ID3v2 nos ficheiros WAV. Dado que existem outras aplicacoes que so aceitam a versao "id3 " (p.ex. JRiver Media Center e foobar2000), esta opcao podera ser usada para criar marcas que possam ser lidas por essas aplicacoes. Quando a opcao Marcar as violacoes da norma estiver assinalada, os campos de ID3v2 que violem os padroes serao marcados a vermelho. Os detalhes sobre a violacao aparecerao numa dica: o Deve ser unico o Nao e permitida uma mudanca de linha o Nao e permitido o retorno de linha o O dono nao pode estar em branco o Deve ser numerico o Deve ser numerico ou numero/total o O formato e DDMM o O formato e HHMM o O formato e AAAA o Deve comecar por um ano e um espaco o Deve ser uma data/hora no formato ISO 8601 o Deve ser uma nota musical, 3 caracteres, A-G, b, #, m, o o Deve ser um codigo de lingua ISO 639-2, 3 caracteres minusculos o Deve ser um codigo ISRC de 12 caracteres o Deve ser uma lista de textos separados por '|' o Tem espacos em excesso Os documentos da norma ID3 estao disponiveis 'online': o Marca ID3 na versao 2.3.0[10] o Marca ID3 na versao 2.4.0 - Estrutura Principal[11] o Marca ID3 na versao 2.4.0 - Pacotes Nativos[5] A Codificacao do texto define a codificacao predefinida usada para os pacotes ID3v2 e podera ser configurada como ISO-8859-1, UTF16 ou UTF8. O UTF8 nao e valido para os pacotes ID3v2.3.0; se estiver configurado, sera usado em alternativa o UTF16. Para os pacotes de ID3v2.4.0, todas as tres codificacoes sao permitidas. A Versao usada para as marcas novas determina se as marcas ID3v2 novas sao criadas na versao 2.3.0 ou 2.4.0. Os Algarismos do numero de faixa e o numero de algarismos nos campos do Numero de Faixa. Os zeros iniciais sao usados para preencher. Por exemplo, com um valor igual a 2, o numero de faixa 5 fica igual a "05". A lista Nome do campo de comentario so e relevante para os ficheiros Ogg/Vorbis e FLAC e define o nome do campo que e usado para os comentarios. As diferentes aplicacoes parecem usar nomes diferentes, sendo por exemplo usado no XMMS o "COMMENT", enquanto o Amarok usa o "DESCRIPTION". O formato das imagens nos ficheiros Ogg/Vorbis e determinado pelo campo Nome do campo de imagem, o qual podera ser igual a "METADATA_BLOCK_PICTURE" ou "COVERART". O primeiro faz parte da norma oficial e usa o mesmo formato que as imagens nas marcas FLAC. O COVERART e uma forma mais antiga e nao oficial de incluir imagens nos comentarios do Vorbis. Pode ser usado por compatibilidade com os leitores antigos. Se a opcao Marcar se maior que (bytes) estiver activada, os ficheiros que contem imagens de capa incorporadas que ultrapassem o tamanho indicado em 'bytes' ficarao marcados a vermelho. Isto pode ser usado para descobrir os ficheiros que tem imagens demasiado grandes e que, por isso, possam nao ser aceites por algumas aplicacoes e leitores. O valor por omissao e de 131072 bytes (128 KB). Os Generos Personalizados poderao ser usados para definir generos que nao estejam disponiveis na lista de generos-padrao, p.ex. "Gothic Metal". Esses generos personalizados irao aparecer na lista Genero da Marca 2. Para as marcas ID3v1.1, so poderao ser usados os generos predefinidos. A lista de generos personalizados tambem podera ser usada para reduzir o numero de generos disponiveis na lista Genero aos que sao tipicamente usados. Se a sua coleccao consistir principalmente em musicas dos generos Metal, Gothic Metal, Ancient e Hard Rock, podera inserir esses generos e marcar a opcao Mostrar apenas os generos personalizados. A lista Genero da Marca 2 so ira conter esses quatro generos e nao tera de pesquisar pela lista completa de generos deles. Neste exemplo, so ira aparecer Metal e Hard Rock na lista de generos da marca 1, dado que esses itens de generos personalizados ainda sao generos-padrao. Se a opcao Mostrar apenas os generos personalizados nao estiver activa, os generos personalizados poderao ser encontrados no fim da lista de generos. Nos Pacotes Personalizados, podera definir ate oito nomes de pacotes personalizados, os quais poderao entao ser usados como pacotes unificados - por exemplo, como pacotes de acesso rapido. Os Pacotes de Acesso Rapido definem quais os tipos de pacotes que ficam sempre visiveis na seccao da Marca 2. Esses pacotes poderao entao ser adicionados sem usar primeiro o botao Adicionar. A ordem desses pacotes de acesso rapido podera ser alterada se arrastar os itens respectivos. A lista Nome do campo de numero de faixa so relevante para o RIFF INFO e define o nome do campo usado para os numeros de faixas. Os numeros de faixa nao fazem parte da norma RIFF original, sendo que existem aplicacoes que usam o "ITRK" e outras o "IPRT". O Formato das Marcas contem opcoes para o formato das marcas. Quando a opcao Aplicar automaticamente o formato estiver assinalada, a configuracao do formato e usada automaticamente ao editar o texto nos campos de edicao. A Validacao activa algumas validacoes nos controlos com os valores da faixa/total e data/hora. A Conversao de capitalizacao pode ser configurada como Sem alteracoes, Tudo em minusculas, Tudo em maiusculas, Primeira letra maiuscula ou Todas as primeiras letras maiusculas. Para usar uma conversao com suporte regional entre maiusculas e minusculas, podera seleccionar uma regiao na lista abaixo. A lista de substituicoes de textos podera ser configuradas com associacoes de texto arbitrarias. Para adicionar uma nova associacao, seleccione a celula De de uma linha e introduza o texto a substituir, indo depois a coluna Para e indicando o texto de substituicao. Quando o texto a substituir comecar por uma barra ("/"), e usada uma expressao regular. Para as expressoes regulares que tiverem grupos de captura, as ocorrencias de \1, \2, ... no campo Para sao substituidas pelo texto capturado no grupo de captura correspondente. Para remover uma associacao, configure a celula de como um valor vazio (p.ex. escrevendo um espaco e depois apagando-o). A insercao e remocao de linhas tambem e possivel com o menu de contexto que aparece quando carregar no botao direito do rato. A substituicao so fica activa se a opcao de marcacao Substituicao de texto estiver assinalada. A tabela na Classificacao contem a associacao das classificacoes com estrelas aos valores efectivos que sao guardados na marca. Os pacotes com informacao de classificacao aparecem na linha Classificacao da lista de pacotes. Para esses pacotes, a classificacao podera ser definida se indicar um numero de estrelas ate cinco. Os diferentes formatos de marcas e diferentes aplicacoes usam diferentes valores para associar a classificacao por estrelas ao valor guardado na marca. Para mostrar o numero correcto de estrelas, o Kid3 ira procurar por um mapa nesta tabela. A chave para procurar nesse mapa e o nome do pacote, como por exemplo "RATING" se for usado nos comentarios do Vorbis ou "IRTD" para o INFO do RIFF. Para as marcas de ID3v2, e usada uma chave composta que consiste no ID do pacote "POPM" da Medicacao de Popularidade e no seu campo "E-mail", separados por um ponto. Como tal, existem diferentes chaves para o ID3v2, p.ex. "POPM.Windows Media Player 9 Series" para a associacao usadas pelo Windows Media Player e pelo Explorer, ou simplesmente "POPM" para os pacotes POPM com um campo de "E-mail" vazio. Dado que poderao existir varios itens para o "POPM", a sua ordem e importante. Quando o Kid3 adiciona um novo pacote de Medicao de Popularidade, ira usar o primeiro item "POPM" para determinar o valor a ser gravado no campo "E-mail". Este valor ira entao definir a associacao a usar para as classificacoes por estrelas. E usado o primeiro item tambem se nao for encontradas nenhuma chave, sendo assim o item predefinido. Para alem da coluna Nome que contem as chaves, a tabela tem colunas da 1 ate a 5 para os valores a guardar quando e atribuido o numero correspondente de estrelas. De igual forma, os valores determinam o numero de estrelas que sao apresentadas para o valor guardado no pacote. Por exemplo, a linha na tabela abaixo contem os valores 1, 64, 128, 196, 255. Os limites para apresentar os numeros de estrelas situam-se entre estes valores e sao compativeis com que o Windows(R) Explorer usa. Tabela 1. Elemento na Tabela de Classificacao +----------+------+-------+--------+---------+---------+ |Nome | 1 | 2 | 3 | 4 | 5 | +----------+------+-------+--------+---------+---------+ |POPM | 1 | 64 | 128 | 196 | 255 | +----------+------+-------+--------+---------+---------+ |Intervalo | 1-31 | 32-95 | 96-159 | 160-223 | 224-255 | +----------+------+-------+--------+---------+---------+ Na pagina Ficheiros, a opcao Carregar os ultimos ficheiros abertos podera ser assinalada para que o Kid3 abra e seleccione o ultimo ficheiro seleccionado quando for iniciado da proxima vez. A opcao Preservar a data do ficheiro pode ser assinalada para preservar a data de modificacao do ficheiro. O Nome do ficheiro da capa define o nome que e sugerido quando uma imagem incorporada for exportada para um ficheiro. Com a opcao Codificacao de texto (Exportar, Lista de Reproducao), podera definir a codificacao usada para gravar os ficheiros. O valor predefinido Sistema podera ser alterado por exemplo se as listas de reproducao tiverem de ser usadas num dispositivo diferente. Se a opcao Marcar as modificacoes estiver activa, os campos alterados estao marcados com um fundo da legenda em cinzento claro. A seccao Lista de Ficheiros define quais os ficheiros que aparecem na lista de ficheiros. Podera usar um Filtro para restringir os itens nesta lista para os ficheiros com as extensoes suportadas. Para indicar de forma explicita quais as pastas a apresentar na lista de ficheiros ou para excluir certas pastas, podera usar as opcoes Incluir as pastas e Excluir as pastas. Poderao contem caracteres especiais, como por exemplo */Musica/* para incluir apenas a pasta Musica ou */iTunes/* para excluir a pasta do iTunes da lista de ficheiros. Se tiver de usar varias expressoes deste tipo, as mesmas poderao ser separadas por espacos ou pontos-e-virgulas. Os botoes Nome do ficheiro a partir da marca e Marca a partir do nome do ficheiro na seccao Formato abrem janelas para editar os formatos que ficam disponiveis na lista Formato (com setas para cima e para baixo), as quais poderao ser encontradas na seccao Ficheiro da janela principal. O botao da Lista de Reproducao pode ser usado para editar os formatos de nomes dos ficheiros disponiveis na janela para Criar uma Lista de Reproducao. O Formato dos Nomes de Ficheiros contem opcoes para o formato dos nomes dos ficheiros. Estao disponiveis as mesmas opcoes que no Formato das Marcas. Adicionalmente, podera definir o Tamanho maximo para os nomes dos ficheiros. A maioria dos sistemas de ficheiros modernos tem um limite de 255 caracteres, mas se quiser gravar os ficheiros em CD's, devera configurar o limite como 64. Se assinalar a opcao Usar para os nomes das listas de reproducao e pastas, o formato do nome do ficheiro tambem e usado na criacao das listas de reproducao e ao mudar os nomes das pastas. A pagina de Accoes do Utilizador contem uma tabela com os comandos que estao disponiveis no menu de contexto da lista de ficheiros. Para as operacoes criticas, como a remocao de ficheiros, aconselha-se que marque o Confirmar para apresentar uma janela de confirmacao antes de executar o comando. O Resultado pode ficar marcado para ver o resultado escrito pelos comandos da consola (no 'standard output' e 'standard error'). O Nome e o nome apresentado no menu de contexto. O Comando e a linha de comandos a executar. Os argumentos podem ser passados com os seguintes codigos: o %F %{files} Localizacoes dos ficheiros (uma lista se estiverem varios ficheiros seleccionados) o %f %{file} Localizacao de um unico ficheiro individual o %uF %{urls} URLs (uma lista se estiverem varios ficheiros seleccionados) o %uf %{url} URL de um unico ficheiro individual o %d %{directory} Pasta o %s %{title} Titulo (Musica) o %a %{artist} Artista o %l %{album} Album o %c %{comment} Comentario o %y %{year} Ano o %t %{track} Faixa (p.ex. 01) o %t %{track.n} Faixa com o tamanho do campo 'n' (p.ex. 001 para %{track.3}) o %T %{tracknumber} Faixa (sem os zeros iniciais, p.ex. 1) o %g %{genre} Genero o %b %{browser} Comando para iniciar o navegador Web o %q %{qmlpath} Pasta de base dos ficheiros QML fornecidos O codigo especial @separator pode ser configurado como um comando para inserir um separador no menu de contexto das accoes do utilizador. Podera colocar os itens de menu num submenu se os rodear com comandos @beginmenu e @endmenu. O nome do submenu e determinado pela coluna Nome do comando @beginmenu. Para executar os programas em QML, o @qml e usado como um nome de comando. A localizacao do programa em QML e passada como um parametro. Os programas existentes poderao ser encontrados na pasta %{qmlpath}/script/ (no Linux(R) e tipicamente a /usr/share/kid3/qml/script/, no Windows a qml/script/ dentro da pasta de instalacao e no macOS(R) na pasta da aplicacao kid3.app/Contents/Resources/qml/script/). Podera guardar os programas personalizados em qualquer pasta. Se o codigo QML usar componentes GUI, o @qmlview devera ser usado em vez do @qml. Os parametros adicionais sao passados ao programa em QML, onde ficarao disponiveis atraves da funcao getArguments(). Podera ter uma visao geral de algumas funcoes e propriedades que estao disponiveis no apendice da Interface de QML. O comando que sera introduzido com o %{browser} pode ser definido no campo de texto Navegador Web acima. Os comandos que comecem por %{browser} podem ser usados para obter informacoes acerca dos ficheiros de audio na Web; por exemplo %{browser} http://lyricwiki.org/%u{artist}:%u{title} ira pesquisar pelas letras da musica actual no LyricWiki[12]. O "u" em %u{artist} e %u{title} e usado para codificar como URL os dados do artista %{artist} e da musica %{title}. E facil definir as suas proprias pesquisas da mesma forma, p.ex. uma pesquisa por imagens no Google[13]: %{browser} http://images.google.com/images?q=%u{artist}%20%u{album} Para adicionar as imagens das capas dos albuns a marca 2, podera procurar por imagens no Google ou na Amazon com os comandos descritos acima. A imagem podera ser adicionada a marca por arrastamento. Tambem podera adicionar uma imagem com o botao Adicionar, seleccionando depois o pacote da Imagem e importar um ficheiro de imagem ou cola-lo a partir da area de transferencia. Os pacotes de imagens sao suportados nas marcas de ID3v2, MP4, FLAC, Ogg e ASF. Para adicionar e remover itens da tabela, podera usar um menu de contexto. A pagina Rede contem apenas um campo para inserir o endereco do 'proxy' e, opcionalmente, o porto separados por dois-pontos. O 'proxy' sera usado ao importar os dados a partir de um servidor na Internet quando a opcao estiver assinalada. Na pagina de Plugins, podera activar ou desactivar os 'plugins' disponiveis. Os mesmos estao separados em duas seccoes. A lista 'Plugins' de Meta-Dados & Prioridade contem os 'plugins' que suportam os formatos de ficheiros de audio. A ordem dos 'plugins' e importante porque sao avaliados de cima para baixo. Alguns dos formatos sao suportados por varios 'plugins', pelo que os ficheiros serao abertos com o primeiro 'plugin' com suporte para os mesmos. O TaglibMetadata tem suporte para a maioria dos formatos, sendo que ira abrir a maior parte dos ficheiros, caso esteja no topo da lista. Se quiser usar um 'plugin' diferente para um formato de ficheiros, certifique-se que aparece antes do 'plugin' TaglibMetadata. Os detalhes sobre os 'plugins' de meta-dados, bem como o motivo pelo qual os podera querer usar em vez da TagLib, estao enumerados em baixo. o Id3libMetadata: Usa o id3lib[14] para as marcas ID3v1.1 e ID3v2.3 nos ficheiros MP3, MP2, AAC. Suporta mais alguns tipos de pacotes que a TagLib. o OggFlacMetadata: Usa a libogg[15], a libvorbis, libvorbisfile[16] para os ficheiros Ogg e adicionalmente a libFLAC++ e a libFLAC[17] para os ficheiros FLAC. Estas sao as bibliotecas oficiais para estes formatos. o TaglibMetadata: Usa a TagLib[18] que suporta um conjunto de formatos de ficheiros de audio. Pode ser usado para todos os ficheiros de audio suportados pelo Kid3. o Mp4v2Metadata: o mp4v2[19] foi usado originalmente pelo Kid3 para suportar os ficheiros M4A. Pode ser usado em caso de problemas com o suporte de M4A na TagLib. A seccao de 'Plugins' Disponiveis apresenta os restantes 'plugins'. A sua ordem nao e relevante, mas poderao ser activados ou desactivados com as opcoes de marcacao. o AmazonImport: Usado na funcao Importar da Amazon.... o DiscogsImport: Usado na funcao Importar da Discogs.... o FreedbImport: Usado na funcao Importar da gnudb.org.... o MusicBrainzImport: Usado na funcao Importar da Versao do MusicBrainz.... o AcoustidImport: Usado para a funcao Importar da Impressao Digital do MusicBrainz.... que depende das bibliotecas Chromaprint[20] e libav[21]. Os 'plugins' que estiverem desactivados nao serao carregados. Isto podera ser usado para optimizar a utilizacao dos recursos e o tempo de arranque. A configuracao nesta pagina so fara efeito apos reiniciar o Kid3. O Menu Ajuda Ajuda -> Manual do Kid3 Abre este manual. Ajuda -> Acerca do Kid3 Mostra uma breve informacao sobre o Kid3. KID3-CLI Comandos O kid3-cli oferece uma interface de linha de comandos para o Kid3. Se for usada a localizacao de uma pasta, a mesma sera aberta. Se forem indicadas as localizacoes de um ou mais ficheiros, sera aberta a pasta comum com os ficheiros seleccionados. Os comandos subsequentes irao entao funcionar sobre esses ficheiros. Os comandos sao indicados atraves das opcoes -c. Se forem passados varios comandos, os mesmos serao executados pela ordem indicada. Se os ficheiros forem modificados pelos comandos, eles serao gravados no fim. Se nao forem passadas opcoes de comandos, o kid3-cli inicia no modo interactivo. Os comandos poderao entao ser introduzidos e irao funcionar sobre a seleccao actual. As seguintes seccoes apresentam todos os comandos disponiveis. Ajuda help [NOME-COMANDO] Mostra ajuda sobre os parametros do NOME-COMANDO ou sobre todos os comandos, caso nao seja indicado nenhum nome de comando. Tempo-limite timeout [ | default | off | TEMPO ] Substitui o tempo-limite predefinido dos comandos. Os comandos da CLI sao interrompidos apos ser ultrapassado um dado tempo-limite para os comandos. Este tempo-limite e de 10 segundos para o ls e o albumart, de 60 segundos para o autoimport e filter e de 3 segundos para todos os outros comandos. Se tiver de processar um numero enorme de ficheiros, estes tempos-limites podem ser demasiado restritos; como tal, podera definir o tempo-limite para todos os comandos como sendo TEMPO ms, desligado por completo ou deixar com os valores predefinidos. Sair da aplicacao exit [force] Sai da aplicacao. Se existirem ficheiros por gravar modificados, o parametro force e obrigatorio. Mudar de pasta cd [PASTA] Se nao for indicada nenhuma PASTA, muda para a pasta pessoal. Se for indicada uma pasta, muda para dentro dessa pasta. Se forem indicadas uma ou mais localizacoes de ficheiros, muda para a pasta comum entre elas e selecciona os ficheiros. Imprime o nome da pasta actual pwd Imprime o nome da pasta de trabalho actual. Lista de pastas ls Apresenta o conteudo da pasta actual. Isto corresponde a lista de ficheiros na GUI do Kid3. Cinco caracteres antes dos nomes dos ficheiros mostram o estado do ficheiro. o > O ficheiro esta seleccionado. o * O ficheiro esta modificado. o 1 O ficheiro tem uma marca 1, caso contrario aparece '-'. o 2 O ficheiro tem uma marca 2, caso contrario aparece '-'. o 3 O ficheiro tem uma marca 3, caso contrario aparece '-'. kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 So Temos Este.mp3 *1-- 03 Final.mp3 Neste exemplo, todos os ficheiros tem uma marca 1, enquanto o segundo ficheiro tambem tem uma marca 2 e a mesma esta seleccionada. O terceiro ficheiro esta modificado. Gravar os ficheiros alterados save Seleccionar o ficheiro select [ | all | none | first | previous | next | FICHEIRO... ] Para seleccionar todos os ficheiros, introduza select all; para deseleccionar todos os ficheiros, indique select none. Para percorrer os ficheiros na pasta actual, comece com o select first e va avancando com o select next ou recuando com o select previous. Podera adicionar ficheiros especificos a seleccao actual, indicando para tal os seus nomes. Sao permitidas sequencias especiais; como tal, o select *.mp3 ira seleccionar todos os ficheiros MP3 na pasta actual. kid3-cli> select first kid3-cli> ls > 1-- 01 Intro.mp3 12- 02 So Temos Este.mp3 *1-- 03 Final.mp3 kid3-cli> select next kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 So Temos Este.mp3 *1-- 03 Final.mp3 kid3-cli> select *.mp3 kid3-cli> ls > 1-- 01 Intro.mp3 > 12- 02 So Temos Este.mp3 >*1-- 03 Final.mp3 Seleccionar a marca tag [NUMEROS-MARCAS] Muitos dos comandos tem um parametro opcional NUMEROS-MARCAS, que define se o comando funciona na marca 1, 2 ou 3. Se este parametro for omitido, serao usados os numeros de marcas predefinidos, os quais poderao ser definidos por este comando. No arranque esta configurado como 12, o que significa que a informacao e lida da marca 2, se disponivel, caso contrario da marca 1; as modificacoes sao efectuadas na marca 2. O parametro NUMEROS-MARCAS podera ser configurado como 1, 2 ou 3 para funcionar apenas na marca correspondente. Se o parametro for omitido, e apresentado o valor actual. Obter os dados da marca get [ | all | NOME-PACOTE ] [NUMEROS-MARCAS] Este comando pode ser usado para ler o valor de um dado pacote de marcas ou para obter informacoes sobre todos os pacotes de marcas (se o argumento for omitido ou for usado o all). Os pacotes modificados estao marcados com um '*'. kid3-cli> get Ficheiro: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo Name: 01 Intro.mp3 Marca 1: ID3v1.1 Titulo Intro Artista Famoso Desconhecido Album Vamos Marcar Date 2013 Track Number 1 Genre Pop kid3-cli> get title Intro Para gravar o conteudo de uma marca de imagem para um ficheiro, use get picture:'/local/da/pasta.jpg' Para gravar as letras sincronizadas para um ficheiro LRC, use get SYLT:'/local/das/letras.lrc' E possivel obter apenas um campo especifico de um pacote, como por exemplo get POPM.Email para o campo de E-Mail de um pacote de Medicao de Popularidade. Se um ficheiro tiver varios pacotes do mesmo tipo, podera indexar os diferentes pacotes com parentesis rectos; por exemplo, o primeiro artista de um comentario de Vorbis podera ser obtido com a expressao get performer[0] e o segundo com get performer[1]. O pseudo-nome de campo "selected" pode ser usado para verificar se um dado pacote esta seleccionado, por exemplo get artist.selected ira devolver 1 se o pacote do artista estiver seleccionado, caso contrario devolve 0. O nome do pseudo-pacote "ratingstars" pode ser usado para obter o valor do pacote "rating", dado que o formato do valor corresponde ao numero de estrelas (0 a 5). Ao usar o "rating", e devolvido o valor interno. Modificar os dados da marca set {NOME-PACOTE} {VALOR-PACOTE} [NUMEROS-MARCAS] Este comando configura o valor de um dado pacote de marca em especifico. Se o VALOR-PACOTE estiver vazio, o pacote e apagado. kid3-cli> set remixer 'Fam. Desconhecido' Para configurar o conteudo de um pacote de imagem a partir de um ficheiro, use set picture:'/local/da/pasta.jpg' 'Descricao da Imagem' Para configurar as letras sincronizadas a partir de um ficheiro LRC, use set SYLT:'/local/das/letras.lrc' 'Descricao das Letras' Para configurar um dado campo especifico de um pacote, o nome do campo pode ser definido a seguir a um ponto, p.ex. para configurar o campo Contador de um pacote Medicao de Popularidade, use set POPM.Counter 5 Uma aplicacao para as definicoes dos campos e o caso em que deseja usar um pacote TXXX personalizado com a descricao da "classificacao" em vez de um pacote de Medicao de Popularidade (isso parece ser o caso usado por alguns 'plugins'). Podera criar um desses pacotes de classificacao TXXX com o kid3-cli; contudo, tera primeiro de criar um pacote TXXX com a descricao "rating" e depois configurar o valor deste pacote com o valor da classificacao. kid3-cli> set rating "" kid3-cli> set TXXX.Description rating kid3-cli> set rating 5 O primeiro comando ira apagar um pacote POPM existente, porque se existir um desses pacotes o set rating 5 iria configurar o pacote POPM e nao o pacote TXXX. Outra possibilidade seria usar o set TXXX.Text 5, mas so iria funcionar se nao estivesse presente nenhum outro pacote TXXX. Para configurar varios pacotes do mesmo tipo, podera indicar um indice entre parentesis, p.ex. para definir varios artistas num comentario de Vorbis, use kid3-cli> set performer[0] 'Liza don Getti (soprano)' kid3-cli> set performer[1] 'Joe Barr (piano)' Para seleccionar certos pacotes antes de uma operacao para copiar, colar ou remover, o nome do pseudo-campo "selected" pode ser usado. Normalmente, todos os pacotes estao seleccionados; para deseleccionar tudo, use o comando set '*.selected' 0 e depois por exemplo set artist.selected 1 para seleccionar o pacote do artista. O nome do pseudo-pacote "ratingstars" pode ser usado para obter o valor do pacote "rating", dado que o formato do valor corresponde ao numero de estrelas (0 a 5). O nome do pacote "rating" pode ser usado para definir o valor interno. Se definir o "ratingstars" em varios ficheiros que tenham diferentes formatos de marcas, isso nao ira funcionar, porque o pacote com o valor associado ao numero de estrelas e criado para o primeiro ficheiro e depois e usado em todos os ficheiros. Por isso, em vez de usar kid3-cli -c "set ratingstars 2" *, deveria usar for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done. Reverter revert Reverte todas as modificacoes nos ficheiros seleccionados (ou todos os ficheiros se nao estiver nenhum seleccionado). Importar de ficheiro import {FICHEIRO} {NOME-FORMATO} [NUMEROS-MARCAS] As marcas sao importadas a partir do ficheiro FICHEIRO no formato com o nome NOME-FORMATO (p.ex. "CSV sem aspas", veja como Importar). Se for usado o tags para o FICHEIRO, as marcas sao importadas a partir das outras marcas. Em vez dos parametros NOME-FORMATO, sao obrigatorios a ORIGEM e a EXTRACCAO; veja mais em Importar a Partir das Marcas. Para aplicar a importacao a partir das marcas nos ficheiros seleccionados, use o tagsel em vez do tags. Esta funcao tambem suporta o resultado do valor extraido, usando uma EXTRACCAO com o valor %{__return}(.+). Importacao automatica autoimport [NOME-PERFIL] [NUMEROS-MARCAS] Faz uma importacao em lote, usando para tal o perfil NOME-PERFIL (veja a Importacao Automatica, "Tudo" e usado por omissao). Obter as imagens da capa do album albumart {URL} [all] Configura as imagens do album, transferindo uma imagem a partir do URL. As regras definidas na janela para Escolher as Imagens das Capas sao usadas para transformar os URL's gerais (p.ex. da Amazon) num URL de imagem. Para configurar a capa do album para um ficheiro de imagem local, use o comando set. kid3-cli> albumart http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC Exportar para um ficheiro export {FICHEIRO} {NOME-FORMATO} [NUMEROS-MARCAS] As marcas sao exportadas para o ficheiro FICHEIRO no formato com o nome NOME-FORMATO (p.ex. "CSV sem aspas", ver como Exportar). Criar a lista de reproducao playlist Cria uma lista de reproducao no formato definido na configuracao; veja como Criar uma Lista de Reproducao. Aplicar o formato de nomes dos ficheiros filenameformat Aplica o formato de nomes de ficheiros definido na configuracao; veja como Aplicar o Formato de Nomes de Ficheiros. Aplicar o formato das marcas tagformat Aplica o formato de marcas definido na configuracao; veja como Aplicar o Formato de Marcas. Aplicar a codificacao do texto textencoding Aplica a codificacao de texto definida na configuracao; veja como Aplicar a Codificacao do Texto. Mudar o nome da pasta renamedir [FORMATO] [ | create | rename | dryrun ] [NUMEROS-MARCAS] Muda o nome ou cria pastas a partir dos valores nas marcas, de acordo com um dado FORMATO (p.ex. %{artist} - %{album}; veja mais em Mudar o Nome da Pasta); se nao for indicado nenhum formato, e usado o formato definido na janela para Mudar o nome da pasta. O modo predefinido e rename; para criar pastas, devera ser indicado de forma explicita o create. As accoes de mudanca de nome serao efectuadas de imediato. Para ver o que ira ser feito, use a opcao dryrun. Numerar as faixas numbertracks [NUMERO-FAIXA] [NUMEROS-MARCAS] Numera as faixas seleccionadas a comecar em NUMERO-FAIXA (1 por omissao). Filtro filter [ | NOME-FILTRO | FORMATO-FILTRO ] Filtra os ficheiros de forma que apenas os ficheiros correspondentes ao FORMATO-FILTRO fiquem visiveis. O nome de uma expressao de filtro predefinida (p.ex. "Falta de Correspondencia Entre Nomes de Ficheiros e Marcas") pode ser usado em vez de uma expressao de filtro; veja o Filtro. kid3-cli> filter '%{title} contains "tro"' Iniciado /home/utilizador/Famoso Desconhecido - Vamos Marcar + 01 Intro.mp3 - 02 So Temos Este.mp3 + 03 Final.mp3 Terminado kid3-cli> ls 1-- 01 Intro.mp3 1-- 03 Final.mp3 kid3-cli> filter All Iniciado /home/utilizador/Famoso Desconhecido - Vamos Marcar + 01 Intro.mp3 + 02 So Temos Este.mp3 + 03 Final.mp3 Terminado kid3-cli> ls 1-- 01 Intro.mp3 12- 02 So Temos Este.mp3 1-- 03 Final.mp3 Converter o ID3v2.3 para ID3v2.4 to24 Converter o ID3v2.4 para ID3v2.3 to23 Nome do ficheiro a partir da marca fromtag [FORMATO] [NUMEROS-MARCAS] Configura os nomes dos ficheiros seleccionados a partir dos valores nas marcas; por exemplo fromtag '%{track} - %{title}' 1. Se nao for indicado nenhum formato, sera usado o formato definido na GUI. Marca a partir do nome do ficheiro totag [FORMATO] [NUMEROS-MARCAS] E usada uma segunda lista Formato (com uma seta para baixo) para gerar as marcas a partir do nome do ficheiro. Se o formato do nome do ficheiro nao corresponder a este padrao definido na GUI, serao testados alguns outros formatos usados de forma comum. Marca para outra marca syncto {NUMERO-MARCA} Copia os pacotes de marcas de uma marca para a outra; p.ex. para configurar a marca ID3v2 a partir da marca ID3v1, use o syncto 2. Copiar copy [NUMERO-MARCA] Copia os pacotes de marcas do ficheiro seleccionado para a area de copia interna. Eles poderao ser configurados noutro ficheiro, usando o comando paste. Para copiar apenas um sub-conjunto dos pacotes, use o pseudo-campo "selected" com o comando set. Por exemplo, para copiar apenas o numero do disco e os direitos de copia, use set '*.selected' 0 set discnumber.selected 1 set copyright.selected 1 copy Colar paste [NUMERO-MARCA] Configura os pacotes de marcas a partir do conteudo da area do comando copy sobre os ficheiros seleccionados. Remover remove [NUMERO-MARCA] Remove uma marca. E possivel remover apenas um sub-conjunto dos pacotes se os seleccionar como descrito no comando copy. Configurar o Kid3 config [OPCAO] [VALOR] Consulta ou modifica uma opcao de configuracao. Uma OPCAO consiste no nome de um grupo e de uma propriedade, separados por um ponto. Quando nao for indicada nenhuma OPCAO, aparecem todos os grupos disponiveis. Para um dado grupo e propriedade, aparece o valor configurado de momento. Para mudar a configuracao, o novo valor pode ser passado como segundo argumento. Se o valor de uma dada opcao for uma lista, todos os elementos da lista tem de ser indicados como argumentos. Isto significa que, para adicionar um elemento a uma lista de elementos existente, todos os elementos existentes terao de ser passados seguidos pelo novo elemento. Nessa situacao, e mais facil usar o modo JSON, onde a lista actual podera ser copiada com o novo elemento adicionado. Executar um binario ou um programa em QML execute [@qml] {FICHEIRO} [ARGUMENTOS] Executa um programa em QML ou um executavel. Sem o @qml, e executado um programa binario com os argumentos. Quando o @qml e passado como primeiro argumento, os seguintes sao o programa em QML e os seus argumentos. Por exemplo, as marcas de uma pasta podem ser exportadas para o ficheiro exportacao.csv com o seguinte comando. kid3-cli -c "execute @qml /usr/share/kid3/qml/script/ExportCsv.qml exportacao.csv" /localizacao/da/pasta/ Aqui o exportacao.csv e o argumento do programa ExportarCsv.qml, onde a /localizacao/da/pasta/ e o argumento FICHEIRO do kid3-cli. Exemplos Configura o titulo contendo um apostrofo. Os comandos passados ao kid3-cli com o -c tem de estar entre aspas se nao consistirem apenas numa unica palavra. Se um destes comandos tiver ele proprio um argumento com espacos, esse argumento tambem tera de estar entre aspas. Nas consolas de UNIX(R), podera usar plicas ou aspas, mas na Linha de Comandos do Windows, e importante que as aspas exteriores sejam feitas com aspas e as interiores com plicas. Se o texto dentro das plicas tiverem uma plica, a mesma tera de ser escapada com uma barra invertida, como e demonstrado no seguinte exemplo: kid3-cli -c "set title 'I\'ll be there for you'" /local/da/pasta Configure a capa do album de todos os ficheiros de uma pasta com a funcao de importacao em lote: kid3-cli -c "autoimport 'Cover Art'" /local/da/pasta Remover os pacotes de comentarios e aplicar o formato da marca em ambas as marcas de todos os ficheiros MP3 de uma pasta: kid3-cli -c "set comment '' 1" -c "set comment '' 2" \ -c "tagformat 1" -c "tagformat 2" /local/da/pasta/*.mp3 Importar automaticamente a marca 2, sincronizar com a marca 1, configura os nomes dos ficheiros a partir da marca 2 e finalmente criar uma lista de reproducao: kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \ /local/da/pasta/*.mp3 Para todos os ficheiros com uma marca ID3v2.4.0, converte para ID3v2.3.0 e remove o pacote do maestro: kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \ -c "set arranger ''" /local/da/pasta Este programa em Python usa o kid3-cli para gerar pacotes do iTunes Sound Check iTunNORM a partir dos dados de ganho da reproducao. #!/usr/bin/env python3 # Gerar o iTunes Sound Check a partir do Ganho de Reproducao. import os, sys, subprocess def rg2sc(dirpath): for raiz, pastas, ficheiros in os.walk(pasta): for nome in ficheiros: if nome.endswith(('.mp3', '.m4a', '.aiff', '.aif')): fn = os.path.join(raiz, nome) 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('O valor %s de %s nao e um numero fraccionario' % (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 o processamento dos resultados do kid3-cli, e possivel obter o resultado no formato JSON. Quando o pedido vier no formato JSON, a resposta sera tambem em JSON. Um formato compacto do pedido ira tambem dar uma representacao compacta da resposta. Se o pedido tiver um campo "id", assume-se que e um pedido de JSON-RPC e a resposta ira devolver um campo "jsonrpc" e o "id" do pedido. O formato do pedido usa os mesmos comandos que a CLI normal, sendo que o campo "method" contem o comando e os parametros (se existirem) sao fornecidos na lista "params". A resposta contem um objecto "result", que tambem podera ser nulo se o comando kid3-cli correspondente nao devolver um resultado. Em caso de erro, e devolvido um objecto "error" com os campos "code" e "message" usados da mesma forma que o JSON-RPC. kid3-cli> {"method":"set","params":["artist","Um Artista"]} {"result":null} kid3-cli> {"method":"get","params":["artist",2]} {"result":"Um Artista"} kid3-cli> {"method": "get", "params": ["artist"]} { "result": "Um Artista" } kid3-cli> {"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]} {"id":"123","jsonrpc":"2.0","result":"Um Artista"} CREDITOS E LICENCA Kid3 Programa criado por Urs Fleisch Traducao de Jose Nuno Pires .PP FDL[22] .PP GPL[23] INSTALACAO Como obter o Kid3 Podera encontrar o Kid3 em https://kid3.kde.org. Requisitos O Kid3 precisa do Qt(TM)[24]. O KDE[25] e recomendado, mas nao e necessario, dado que o Kid3 tambem pode ser compilado como uma aplicacao do Qt(TM). O Kid3 pode ser compilado nos sistemas onde essas bibliotecas estao disponiveis, p.ex. para o GNU/Linux(R), Windows(R) e macOS(R). Para marcar os ficheiros Ogg/Vorbis, sao necessarias as bibliotecas libogg[15], libvorbis e libvorbisfile[16], para os ficheiros FLAC, sao necessarias a libFLAC++ e a libFLAC[17]. A id3lib[14] e usada para os ficheiros MP3. Estes quatro formatos tambem sao suportados pela TagLib[18], que tambem consegue lidar com ficheiros Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF e modulos do Tracker. Para importar a partir de impressoes-digitais acusticas, sao usados o Chromaprint[20] e a libav[21]. O Kid3 esta disponivel na maioria das distribuicoes de Linux(R), Windows(R) e macOS(R). Podera encontrar referencias para o mesmo em https://kid3.kde.org. Compilacao e Instalacao Podera compilar o Kid3 com ou sem o KDE. Sem o KDE, o Kid3 e uma aplicacao simples em Qt(TM) e podera perder algumas funcionalidades de configuracao e de sessoes. Para uma versao para o KDE, va a pasta de topo e escreva % cmake . % make % make install Para compilar para diferentes versoes do Qt(TM) ou do KDE, defina as seguintes opcoes correspondentes ao cmake. Se nem todas as bibliotecas estiverem presentes, o Kid3 sera compilado com funcionalidades reduzidas. Por isso, devera ter o cuidado de ter todos os pacotes de desenvolvimento desejados instalados. Por outro lado, as opcoes do cmake controlam quais as bibliotecas que sao compiladas. Por omissao, o valor e -DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON . Estas opcoes podem ser desactivas se usar o OFF. Para compilar o Kid3 como uma aplicacao do Qt(TM) sem o KDE, use a opcao do cmake -DWITH_APPS=Qt. Para compilar tanto a versao para KDE como para Qt(TM), configure como -DWITH_APPS="Qt;KDE". Para usar um a instalacao especifica do Qt(TM), configure -DQT_QMAKE_EXECUTABLE=/local/do/qmake. A geracao de pacotes RPM e suportada pelo ficheiro kid3.spec; para os pacotes da Debian(R), o programa build.sh deb esta disponivel. A aplicacao do Qt(TM) tambem pode ser compilada para o Windows(R) e o macOS(R). O programa build.sh pode ser usado para obter e compilar todas as bibliotecas necessarias e criar um pacote do Kid3. Configuracao Com o KDE, a configuracao e gravada em .config/kid3rc e o estado da aplicacao em .local/share/kid3/kid3staterc. Como uma aplicacao do Qt(TM), este ficheiro encontra-se em .config/Kid3/Kid3.conf. No Windows(R), a configuracao e guardada no Registry e no macOS(R) e guardada num ficheiro 'plist'. A variavel de ambiente KID3_CONFIG_FILE pode ser usada para definir a localizacao do ficheiro de configuracao. A INTERFACE DE D-BUS Exemplos de D-Bus No Linux(R), podera usar uma interface do D-Bus para controlar o Kid3 atraves de programas. Os programas poderao ser criados em qualquer linguagem que tenha interfaces para o D-Bus (p.ex. em Python) e podem ser adicionadas as Accoes do Utilizador para estender a funcionalidade do Kid3. O artista na marca 2 do ficheiro actual podera ser configurado com o valor "Famoso Desconhecido" com o seguinte codigo: Linha de comandos dbus-send --dest=org.kde.kid3 --print-reply=literal \ /Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \ string:'Famoso Desconhecido' ou ainda mais facilmente com o qdbus do Qt(TM) (o qdbusviewer pode ser usado para explorar a interface numa GUI): qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \ 'Famoso Desconhecido' Python import dbus kid3 = dbus.SessionBus().get_object( 'org.kde.kid3', '/Kid3') kid3.setFrame(2, 'Artist', 'Famoso Desconhecido') Perl use Net::DBus; $kid3 = Net::DBus->session->get_service( "org.kde.kid3")->get_object( "/Kid3", "org.kde.Kid3"); $kid3->setFrame(2, "Artist", "Famoso Desconhecido"); API de D-Bus A API de D-Bus esta definida em org.kde.Kid3.xml. A interface do Kid3 tem os seguintes metodos: Abrir um ficheiro ou pasta boolean openDirectory(string localizacao); .PP localizacao localizacao de um ficheiro ou pasta .RE Devolve verdadeiro se OK. Descarrega as marcas de todos os ficheiros que nao estejam modificados ou seleccionados unloadAllTags(void); Grava todos os ficheiros modificados boolean save(void); Devolve verdadeiro se OK. Obtem uma mensagem de erro detalhada oferecida por alguns dos metodos string getErrorMessage(void); Devolve uma mensagem de erro detalhada. Reverte as modificacoes nos ficheiros seleccionados revert(void); Inicia uma importacao automatica em lote boolean batchImport(int32 mascaraMarcas, string nomePerfil); .PP mascaraMarcas mascara de marcas (bit 0 para a marca 1, bit 1 para a marca 2) .RE .PP nomePerfil nome do perfil de importacao em lote a usar .RE Importar as marcas de um ficheiro boolean importFromFile(int32 mascaraMarcas, string localizacao, int32 indFmt); .PP mascaraMarcas bit da marca (1 para a marca 1, 2 para a marca 2) .RE .PP localizacao localizacao do ficheiro .RE .PP indFmt indice do formato .RE Devolve verdadeiro se OK. Importar as marcas de outras marcas importFromTags(int32 mascaraMarcas, string origem, string extraccao); .PP mascaraMarcas bit da marca (1 para a marca 1, 2 para a marca 2) .RE .PP origem o formato para obter o texto da origem a partir das marcas .RE .PP extraccao expressao regular com os nomes dos pacotes e as capturas para extrair os dados a partir do texto de origem .RE Imptrar as marcas de outras marcas nos ficheiros seleccionados array importFromTagsToSelection(int32 mascaraMarcas, string origem, string extraccao); bit da marca (1 para a marca 1, 2 para a marca 2) .RE .PP origem o formato para obter o texto da origem a partir das marcas .RE .PP extraccao expressao regular com os nomes dos pacotes e as capturas para extrair os dados a partir do texto de origem .RE .PP returnValues valor extraido para o "%{__return}(.+)" .RE Obter as imagens da capa do album downloadAlbumArt(string url, boolean todosFicheirosNaPasta); URL do ficheiro da imagem ou recurso artistico do album .RE .PP todosFicheirosNaPasta verdadeiro para adicionar a imagem a todos os ficheiros na pasta .RE Exportar as marcas para um ficheiro boolean exportToFile(int32 mascaraMarcas, string localizacao, int32 indFmt); .RE .PP localizacao Devolve verdadeiro se OK. Criar uma lista de reproducao boolean createPlaylist(void); Devolve verdadeiro se OK. Obter os itens de uma lista de reproducao array getPlaylistItems(string localizacao); Devolve uma lista com as localizacoes absolutas dos itens da lista de reproducao. Define os itens de uma lista de reproducao boolean setPlaylistItems(string localizacao, array itens); Devolve verdadeiro se OK, ou falso se nem todos os itens foram encontrados ou se a adicao ou gravacao ou gravacao foi mal-sucedida. Sair da aplicacao quit(void); Seleccionar todos os ficheiros selectAll(void); Deseleccionar todos os ficheiros deselectAll(void); Configura o primeiro ficheiro como o ficheiro actual boolean firstFile(void); Devolve verdadeiro se existe um primeiro ficheiro. Configura o ficheiro anterior como sendo o actual boolean previousFile(void); Devolve verdadeiro se existe um ficheiro anterior. Configura o ficheiro seguinte como sendo o actual boolean nextFile(void); Devolve verdadeiro se existe um ficheiro seguinte. Selecciona o primeiro ficheiro boolean selectFirstFile(void); Devolve verdadeiro se existe um primeiro ficheiro. Seleccionar o ficheiro anterior boolean selectPreviousFile(void); Devolve verdadeiro se existe um ficheiro anterior. Seleccionar o ficheiro seguinte boolean selectNextFile(void); Devolve verdadeiro se existe um ficheiro seguinte. Seleccionar o ficheiro actual boolean selectCurrentFile(void); Devolve verdadeiro se existe um ficheiro actual. Expande ou fecha o item do ficheiro actual se for uma pasta boolean expandDirectory(void); Um item de lista de ficheiros e uma pasta se o getFileName() devolver um um nome com '/' como ultimo caracter. Devolve verdadeiro se o item do ficheiro actual for uma pasta. Aplicar o formato de nomes dos ficheiros applyFilenameFormat(void); Aplicar o formato das marcas applyTagFormat(void); Aplicar a codificacao do texto applyTextEncoding(void); Definir o nome da pasta a partir das marcas boolean setDirNameFromTag(int32 mascaraMarcas, string formato, boolean criar); Devolve verdadeiro se OK, caso contrario a mensagem de erro estara disponivel se usar o getErrorMessage(). Define os numeros das faixas subsequentes nos ficheiros seleccionados numberTracks(int32 mascaraMarcas, int32 nrPrimeiraFaixa); Filtrar os ficheiros filter(string expressao); Converter as marcas de ID3v2.3 para ID3v2.4 convertToId3v24(void); Converter as marcas de ID3v2.4 para ID3v2.3 convertToId3v23(void); Devolve verdadeiro se OK. Obter a localizacao da pasta string getDirectoryName(void); Devolve a localizacao absoluta da pasta. Obtem o nome do ficheiro actual string getFileName(void); Devolve a localizacao absoluta do nome do ficheiro; termina com "/" se for uma pasta. Define o nome do ficheiro seleccionado setFileName(string nome); O ficheiro ira mudar de nome quando a pasta for gravada. Define o formato a usar quando definir o nome do ficheiro a partir das marcas setFileNameFormat(string formato); Configura os nomes dos ficheiros para os ficheiros seleccionados a partir das marcas setFileNameFromTag(int32 mascaraMarcas); Obter o valor do pacote string getFrame(int32 mascaraMarcas, string nome); Para obter dados binarios, como uma imagem, o nome do ficheiro a gravar pode ser adicionado a seguir ao name, p.ex. "Picture:/local/do/ficheiro". Da mesma forma, tambem poderao ser exportadas, p.ex. "SYLT:/local/do/ficheiro". Devolve o valor do pacote. Configurar o valor do pacote boolean setFrame(int32 mascaraMarcas, string nome, string valor); Para a marca 2 (tagMask 2), se nao existir nenhum pacote chamado nome, sera adicionado um novo pacote; se o valor estiver vazio, o pacote e removido. Para adicionar dados binarios, como uma imagem, podera adicionar um ficheiro a seguir ao nome, p.ex. "Picture:/local/do/ficheiro". "SYLT:/local/do/ficheiro" pode ser usado para importar as letras sincronizadas. Devolve verdadeiro se OK. Obter todos os pacotes de uma marca lista de textos getTag(int32 tagMask); Devolve uma lista com os nomes e valores dos pacotes de forma alternada. Obter informacoes tecnicas sobre o ficheiro lista de textos getInformation(void); As propriedades sao o Formato, Taxa de Dados, Taxa de Amostragem, Canais, Duracao, Modo do Canal, VBR, Marca 1, Marca 2. Propriedades; os que nao estiverem disponiveis sao omitidos. Devolve uma lista alternada entre os nomes e os valores das propriedades. Configurar uma marca a partir do nome do ficheiro setTagFromFileName(int32 mascaraMarcas); Configurar uma marca a partir de outra marca setTagFromOtherTag(int32 mascaraMarcas); Copiar a marca copyTag(int32 mascaraMarcas); Colar a marca pasteTag(int32 mascaraMarcas); Remover a marca removeTag(int32 mascaraMarcas); Volta a processar a configuracao reparseConfiguration(void); As mudancas automatizadas da configuracao serao possiveis se modificar o ficheiro de configuracao e depois voltar a processar a configuracao. Reproduz os ficheiros seleccionados playAudio(void); INTERFACE EM QML Exemplos em QML Os programas em QML podem ser invocados atraves do menu de contexto da lista de ficheiros e podem ser configurados na pagina Accoes do Utilizador da janela de configuracao. Os programas que sao aqui configurados podem ser usados como exemplos para programas personalizados. O QML usa o JavaScript, sendo que aqui esta o obrigatorio "Ola Mundo": import Kid3 1.0 Kid3Script { onRun: { console.log("Ola mundo, a pasta e", app.dirName) Qt.quit() } } Se este programa for gravado em /local/do/Exemplo.qml, o comando do utilizador podera ser definido como @qml /local/do/Exemplo.qml com o nome Teste de QML e o Resultado assinalado. Podera entao ser iniciado com o item Teste de QML no menu de contexto da lista de ficheiros, ficando o resultado visivel na janela. Infelizmente, o arranque de programas em QML com o qml (p.ex. qml -apptype widget -I /usr/lib/kid3/plugins/imports /localizacao/do/Exemplo.qml) esta com problemas nas versoes recentes do Qt. Mas o kid3-cli oferece uma forma alternativa de executar um programa em QML a partir da linha de comandos, usando o seu comando execute. kid3-cli -c "execute @qml /localizacao/do/Exemplo.qml" Para enumerar os titulos nas marcas 2 de todos os ficheiros na pasta actual, poderia ser usado o seguinte programa: 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 tiver varios ficheiros, um destes programas podera bloquear a interface do utilizador durante algum tempo. Para as operacoes mais demoradas, devera entao pausar de tempos a tempos. A implementacao alternativa em baixo tem o trabalho feito para um unico ficheiro transferido para uma funcao. Essa funcao invoca-se a si propria com um tempo-limite de 1 ms no fim, desde que existam mais ficheiros para serem processados. Isto ira garantir que a GUI continua a reagir enquanto o programa esta em execucao. import Kid3 1.0 Kid3Script { onRun: { function trabalhar() { if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) { console.log(app.getFrame(tagv2, "title")) } if (!app.nextFile()) { Qt.quit() } else { setTimeout(trabalhar, 1) } } app.firstFile() trabalhar() } } Ao usar o app.firstFile() com o app.nextFile(), serao processados todos os ficheiros na pasta actual. Se so e suposto processar os ficheiros seleccionados, use o firstFile() e o nextFile() em alternativa; estas sao funcoes de conveniencia do componente Kid3Script. O seguinte exemplo e um programa que copia apenas os pacotes do numero do disco e dos direitos de copia do ficheiro seleccionado. import Kid3 1.1 Kid3Script { onRun: { function trabalhar() { 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(trabalhar, 1) } } firstFile() trabalhar() } } Mais programas vem disponiveis com o Kid3 e estao ja registados como comandos do utilizador. o ReplayGain to SoundCheck (ReplayGain2SoundCheck.qml): Criar a informacao de SoundCheck do iTunNORM a partir dos pacotes de ganho de reproducao. o Dimensionar as Imagens do Album (ResizeAlbumArt.qml): Dimensiona as imagens das capas dos albuns incorporadas que forem maiores que 500x500 pixels. o Extrair as Imagens do Album (ExtractAlbumArt.qml): Extrai todas as imagens incorporadas das capas, evitando os duplicados. o Incorporar as Imagens do Album (EmbedAlbumArt.qml): Incorpora as imagens de capas encontradas nos ficheiros de imagens dentro dos ficheiros de audio na mesma pasta. o Incorporar as Letras Musicais (EmbedLyrics.qml): Obtem as letras musicais nao sincronizadas a partir de um servico na Web. o Codificacao de Texto do ID3v1 (ShowTextEncodingV1.qml): Ajuda a descobrir a codificacao das marcas ID3v1, apresentando as marcas do ficheiro actual em todas as codificacoes de caracteres disponiveis. o ID3v1 para ASCII (Tag1ToAscii.qml): Traduz os caracteres acentuados estendidos na marca ID3v1 para ASCII. o Capitalizacao de Titulos em Ingles (TitleCase.qml): Formato o texto nas marcas como titulos em Ingles. o Reescrever as Marcas (RewriteTags.qml): Volta a gravar todas as marcas nos ficheiros seleccionados. o Exportar para CSV (ExportCsv.qml): Exporta de forma recursiva todas as marcas de todos os ficheiros para um ficheiro CSV. o Importar um CSV (ImportCsv.qml): Importa de forma recursiva todas as marcas de todos os ficheiros a partir de um ficheiro CSV. o Exportar para JSON (ExportJson.qml): Exporta de forma recursiva todas as marcas de todos os ficheiros para um ficheiro JSON. o Importar um JSON (ImportJson.qml): Exporta de forma recursiva todas as marcas de todos os ficheiros a partir de um ficheiro JSON. o Exportar a Pasta da Lista de Reproducao (ExportPlaylist.qml): Copiar todos os ficheiros de uma lista de reproducao para uma pasta e muda o nome delas de acordo com a sua posicao. o Consola de QML (QmlConsole.qml): Uma consola simples para lidar com a API em QML do Kid3. API em QML A API pode ser explorada de forma simples com a Consola de QML, que esta disponivel como um programa de exemplo com uma interface de utilizador. Kid3Script O Kid3Script e um componente normal de QML que se localiza dentro da pasta de 'plugins'. Podera usar outro componente de QML tambem. Ao usar o Kid3Script, fica mais facil iniciar a funcao do programa com a rotina onRun. Para alem disso, oferece algumas funcoes: onRun: Tratamento de evento que e invocado quando o programa e iniciado tagv1, tagv2, tagv2v1: Constantes para os parametros de marcas script: Acesso as funcoes de programacao configs: Acesso as funcoes de configuracao getArguments(): Lista de argumentos do programa isStandalone(): verdadeiro se o programa nao foi iniciado dentro do Kid3 setTimeout(rotina, atraso): Inicia a rotina ao fim de 'atraso' ms firstFile(): Para o primeiro ficheiro seleccionado nextFile(): Para o ficheiro seguinte seleccionado Funcoes de Programacao Como o JavaScript e, por inerencia, tambem o QML so tem um conjunto limitado de funcoes de programacao, o objecto script tem alguns metodos adicionais, por exemplo: script.properties(obj): Texto com as propriedades do Qt script.writeFile(localFicheiro, dados): Grava os dados no ficheiro, verdadeiro se OK script.readFile(localFicheiro): Le dados do ficheiro script.removeFile(localFicheiro): Apaga o ficheiro, verdadeiro se OK script.fileExists(localFicheiro): verdadeiro se o ficheiro existe script.fileIsWritable(localFicheiro): verdadeiro se o ficheiro pode ser gravado script.getFilePermissions(localFicheiro): Obtem os bits do modo de permissao do ficheiro script.setFilePermissions(localFicheiro, bitsModo): Altera os bits do modo de permissao do ficheiro script.classifyFile(localFicheiro): Obtem a classe do ficheiro (pasta "/", ligacao simb. "@", exe "*", ficheiro " ") script.renameFile(nomeAntigo, nomeNovo): Muda o nome do ficheiro, verdadeiro se OK script.copyFile(origem, destino): Copia o ficheiro, verdadeiro se OK script.makeDir(local): Cria a pasta, verdadeiro se OK script.removeDir(local): Remove a pasta, verdadeiro se OK script.tempLocal(): Localizacao da pasta temporaria script.musicPath(): Localizacao da pasta de musicas script.listDir(local, [filtrosNomes], [classificar]): Enumera os itens da pasta script.system(programa, [args], [ms]): Inicia de forma sincrona um comando do sistema, [codigo de saida, standard output, standard error] caso nao expire o tempo-limite script.systemAsync(programa, [args], [rotina]): Invoca de forma assincrona um comando do sistema, sendo a 'rotina' invocada com o [codigo de saida, standard output, standard error] script.getEnv(nomeVar): Devolve o valor da variavel de ambiente script.setEnv(nomeVar, valor): Altera o valor da variavel de ambiente script.getQtVersion(): Texto da versao do Qt, p.ex. "5.4.1" script.getDataMd5(dados): Devolve o texto hexadecimal do codigo MD5 dos dados script.getDataSize(dados): Devolve o tamanho da lista de 'bytes' script.dataToImage(dados, [formato]): Cria uma imagem a partir dos 'bytes' de dados script.dataFromImage(imagem, [formato]): Obtem os 'bytes' de dados a partir da imagem script.loadImage(localFicheiro): Carrega uma imagem de um ficheiro script.saveImage(img, localFicheiro, [formato]): Grava uma imagem para um ficheiro; verdadeiro se OK script.imageProperties(img): Obtem as propriedades de uma imagem, sendo um mapa que contem os valores "width", "height", "depth" e "colorCount", vazio se a imagem for invalida script.scaleImage(img, largura, [altura]): Ajusta a escala de uma imagem, devolvendo a imagem ajustada Contexto da Aplicacao Ao usar o QML, uma grande parte das funcoes do Kid3 estao disponiveis. A API e semelhante a usada no D-Bus. Para mais detalhes, consulte as notas respectivas. app.openDirectory(local): Abrir a pasta app.unloadAllTags(): Fechar todas as marcas app.saveDirectory(): Grava a pasta app.revertFileModifications(): Reverter app.importTags(marca, local, incFmt): Importa o ficheiro app.importFromTags(marca, origem, extraccao): Importa a partir das marcas app.importFromTagsToSelection(marca, origem, extraccao): Importa a partir das marcas dos ficheiros seleccionados app.downloadImage(url, todosFicheirosNaPasta): Obtem a imagem app.exportTags(marca, local, indFmt): Exporta o ficheiro app.writePlaylist(): Grava a lista de reproducao app.getPlaylistItems(local): Obtem os itens de uma lista de reproducao app.setPlaylistItems(local, itens): Define os itens de uma lista de reproducao app.selectAllFiles(): Selecciona tudo app.deselectAllFiles(): Deselecciona tudo app.firstFile([seleccionar], [soFicheirosMarcados]): Para o primeiro ficheiro app.nextFile([seleccionar], [soFicheirosMarcados]): Para o ficheiro seguinte app.previousFile([seleccionar], [soFicheirosMarcados]): Para o ficheiro anterior app.selectCurrentFile([seleccionar]): Selecciona o ficheiro actual app.selectFile(local, [seleccionar]): Selecciona um ficheiro especifico app.getSelectedFilePaths([soFicheirosMarcados]): Obtem as localizacoes dos ficheiros seleccionados app.requestExpandFileList(): Expandir tudo app.applyFilenameFormat(): Aplica o formato dos nomes de ficheiros app.applyTagFormat(): Aplica o formato das marcas app.applyTextEncoding(): Aplica a codificacao de texto app.numberTracks(num, total, marca, [opcoes]): Numera as faixas app.applyFilter(expr): Filtra app.convertToId3v23(): Converte de ID3v2.4.0 para ID3v2.3.0 app.convertToId3v24(): Converte de ID3v2.3.0 para ID3v2.4.0 app.getFilenameFromTags(marca): Nome do ficheiro a partir das marcas app.getTagsFromFilename(marca): Nome do ficheiro para marcas app.getAllFrames(marca): Obtem o objecto com todos os pacotes app.getFrame(marca, nome): Obtem o pacote app.setFrame(marca, nome, valor): Configura o pacote app.getPictureData(): Obtem os dados do pacote de imagem app.setPictureData(dados): Modifica os dados do pacote de imagem app.copyToOtherTag(marca): Copia uma marca para outra app.copyTags(marca): Copiar app.pasteTags(marca): Colar app.removeTags(marca): Remover app.playAudio(): Reproduzir app.readConfig(): Le a configuracao app.applyChangedConfiguration(): Aplica a configuracao app.dirName: Nome da pasta app.selectionInfo.fileName: Nome do ficheiro app.selectionInfo.filePath: Localizacao absoluta do ficheiro app.selectionInfo.detailInfo: Detalhes do formato app.selectionInfo.tag(Frame.Tag_1).tagFormat: Formato da marca 1 app.selectionInfo.tag(Frame.Tag_2).tagFormat: Formato da marca 2 app.selectionInfo.formatString(marca, formato): Substitui os codigos no texto do formato app.selectFileName(titulo, pasta, filtro, gravarFicheiro): Abre uma janela para seleccionar um ficheiro app.selectDirName(titulo, pasta): Abre a janela de ficheiros para seleccionar uma pasta Para as operacoes assincronas, podera associar rotinas aos eventos dos 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) } Objectos de Configuracao As diferentes seccoes de configuracao estao acessiveis atraves de metodos do configs. As suas propriedades poderao ser listadas na consola de QML. script.properties(configs.networkConfig()) As propriedades poderao ser alteradas: 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() AUTORES Urs Fleisch Desenvolvimento da aplicacao Jose Pires Traducao COPYRIGHT Copyright (C) 2022 Urs Fleisch FDL NOTAS 1. gnudb.org http://gnudb.org 2. MusicBrainz http://musicbrainz.org 3. Discogs http://discogs.com 4. Amazon http://www.amazon.com 5. especificacao do ID3 http://id3.org/id3v2.4.0-frames 6. Editor do SYLT http://www.compuphase.com/software_sylteditor.htm 7. www.gnudb.org http://www.gnudb.org 8. Discogs https://www.discogs.com/ 9. freedb.org http://freedb.org 10. Marca ID3 na versao 2.3.0 http://id3.org/id3v2.3.0 11. Marca ID3 na versao 2.4.0 - Estrutura Principal http://id3.org/id3v2.4.0-structure 12. LyricWiki http://www.lyricwiki.org 13. Google http://www.google.com 14. id3lib http://id3lib.sourceforge.net 15. libogg http://xiph.org/ogg/ 16. libvorbis, libvorbisfile http://xiph.org/vorbis/ 17. libFLAC++ e a libFLAC http://flac.sourceforge.net 18. TagLib http://taglib.github.io/ 19. mp4v2 https://mp4v2.org 20. Chromaprint http://acoustid.org/chromaprint 21. libav http://libav.org/ 22. FDL http://www.gnu.org/licenses/licenses.html#FDL 23. GPL http://www.gnu.org/licenses/licenses.html#GPL 24. Qt(TM) https://www.qt.io 25. KDE http://www.kde.org 3.9.2 2022-08-06 KID3(1)