--portable
FICHEIRO
--help
--author
--version
--license
--desktopfile FICHEIRO
Opções do Qt
--dbus
-c
-h|--help
O Kid3 é uma aplicação para editar as marcas ID3v1 e ID3v2 nos ficheiros MP3 de forma eficiente. Estas marcas poderão ser editadas pela maioria dos leitores de MP3, mas não de forma confortável e eficiente. Para além disso, também são suportadas as marcas nos ficheiros Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF e nos módulos do Tracker (MOD, S3M, IT, XM).
O Kid3 não captura nem codifica os ficheiros MP3, mas está vocacionado para editar as marcas de ID3 de todos os ficheiros de um álbum de forma eficiente, i.e. com o mínimo de 'clicks' de rato e combinações de teclas possível. Embora a maioria dos outros programas consigam editar as marcas de ID3v1 ou ID3v2, o Kid3 tem controlo completo sobre ambas as versões, consegue converter as marcas entre os dois formatos e tem acesso a todas as marcas de ID3v2. As marcas dos vários ficheiros poderão ser configuradas com o mesmo valor, p.ex. o artista, o álbum, o ano e o género de todos os ficheiros de um álbum tipicamente têm os mesmos valores e poderão ser definidas em conjunto. Se a informação das marcas estiver contida no nome do ficheiro, as marcas poderão ser configuradas automaticamente a partir do nome do ficheiro. Também é possível configurar o nome do ficheiro de acordo com as marcas encontras no ficheiro em formatos arbitrários.
A tarefa de edição ainda passa pela substituição automática de caracteres ou sub-textos, por exemplo para remover caracteres proibidos dos nomes dos ficheiros. O controlo automático das maiúsculas ou minúsculas facilita a utilização de uma nomenclatura consistente em todas as marcas.
Poderá obter a informação das marcas para álbuns inteiros a partir do m[blue]gnudb.orgm[][1], m[blue]TrackType.orgm[][2], m[blue]MusicBrainzm[][3], m[blue]Discogsm[][4], m[blue]Amazonm[][5] ou de outras fontes de listas de faixas. O formato de configuração é facilmente configurável à custa de expressões regulares.
Por favor comunique todos os problemas ou pedidos de funcionalidades ao autor.
Esta secção descreve uma típica sessão com o Kid3. Vamos assumir que temos uma pasta que contém ficheiros MP3 com as faixas do álbum "Vamos Marcar" da banda "Famoso Desconhecido". A pasta tem o nome no formato "artista - álbum", sendo no nosso caso Famoso Desconhecido - Vamos Marcar. A pasta contém as faixas no formato "faixa título.mp3", o que poderá ser útil porque os nomes dos ficheiros são curtos (é importante quando estiver a usar leitores de MP3 portáteis com ecrãs pequenos) e fica pela ordem correcta quando for ordenado por ordem alfabética (importante ao usar leitores de MP3 por 'hardware', que tocam os MP3 por ordem alfabética ou pela ordem com que são gravados no CD, ficando essa ordem alfabética ao usar o mkisofs). Para além disso, a informação do artista e do álbum já está no nome da pasta e não tem de ser repetida no nome do ficheiro. Contudo, voltando ao nosso exemplo, a listagem da pasta deverá ser algo semelhante a isto:
01 Intro.mp3
02 So Temos Este.mp3
03 Final.mp3
Estes ficheiros ainda não têm marcas e desejamos gerá-las com o Kid3. Use a opção Abrir (menu Ficheiro ou barra de ferramentas) e seleccione um dos ficheiros nesta pasta. Todos os ficheiros serão apresentados na lista de ficheiros. Para facilitar, pretende-se usar esta informação no nome das pastas e dos ficheiros para gerar marcas. Como tal, serão seleccionados todos os ficheiros, podendo carregar depois no botão Para: Marca 1 na secção Ficheiro. Isto irá definir os valores do título, do artista, do álbum e da faixa para todos os ficheiros. Para configurar os valores do ano e do género de todos os ficheiros, são mantidos todos os ficheiros seleccionados, podendo depois escrever "2002" na Data e seleccionando "Pop" na lista Género. Para configurar apenas estes dois valores, as suas opções de marcação ficam automaticamente assinaladas e todas as outras opções de marcação são deixadas inalteradas. Agora, será alterada a selecção, seleccionando apenas o primeiro ficheiro e vendo que todas as marcas contêm os valores correctos. Poderá verificar as marcas dos outros ficheiros da mesma forma se as seleccionar uma a uma. Quando estiver satisfeito com as marcas, poderá usar a opção Gravar (menu Ficheiro ou barra de ferramentas). Se seleccionar a opção Criar uma Lista de Reprodução do menu Ficheiro para gerar um ficheiro Famoso Desconhecido - Vamos Marcar.m3u na pasta.
A interface GUI do Kid3 está separada em seis secções: À esquerda encontra-se a lista de ficheiros e pastas, enquanto o lado direito contém as secções Ficheiro, Marca 1, Marca 2 e Marca 3.
Para navegar pelas diferentes secções com o teclado, são suportadas diversas combinações de teclas. Nas secções das marcas, os atalhos ficam activos quando não estiver a editar texto ou quando estiver na primeira coluna.
A lista de ficheiros contém 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). Poderá ser seleccionado um ou vários ficheiros. Para não seleccionar nenhum ficheiro, carregue na área vazia a seguir aos itens da lista. A selecção determina os ficheiros que são afectados pelas operações que ficam disponíveis através dos botões descritos em baixo.
Para além do
Nome, também poderá mostrar as outras colunas
Tamanho,
Tipo,
Data de Modificação
com os detalhes dos ficheiros. Poderá esconder as colunas, desmarcando o nome das mesmas no menu de contexto que existe no cabeçalho da lista. A ordem das colunas pode ser alterada por arrastamento. O sentido de ordenação poderá ser comutado se carregar no cabeçalho da coluna.
À esquerda dos nomes, poderá aparecer um ícone: um disco para indicar que o ficheiro modificado ou informações sobre as marcas que estão presentes (V1, V2, V1V2 ou SEM MARCAS - não é apresentado nenhum ícone se o ficheiro ainda não tiver sido lido).
As pastas são apresentadas com um ícone de pasta. Se abrir uma pasta, os seus ficheiros são apresentados numa árvore hierárquica. Ao seleccionar os ficheiros das sub-pastas, poderá efectuar operações sobre os ficheiros das diferentes pastas, o que é útil se a colecção de música estiver organizadas com uma pasta para cada artista, contendo pastas para os álbuns desse artista.
Se carregar com o
botão direito
do rato dentro da lista de ficheiros, irá abrir um menu de contexto com os seguintes comandos:
Poderá criar uma lista de reprodução vazia ou a conter as faixas de uma determinada pasta; veja como
Criar uma Lista de Reprodução. O ficheiro da lista de reprodução criado dessa forma poderá ser editado com um duplo-click ou usando a opção
Editar
do menu de contexto da lista de ficheiros. Será apresentada uma janela com os elementos da lista de reprodução. É possível abrir várias listas de reprodução em simultâneo.
Poderá adicionar novos itens por arrastamento a partir da lista de ficheiros, de um gestor de ficheiros ou de outra lista de reprodução. Se for arrastado um item de outra lista de reprodução, o mesmo será movido ou copiado de acordo com o sistema. Para invocar a outra operação, respectivamente, terá de manter carregada a tecla
Shift,
Ctrl
ou
Alt
(para copiar em vez de mover no
macOS®). A reordenação de itens dentro da lista também é possível por arrastamento. Em alternativa, os itens podem ser movidos com os atalhos de teclado
Ctrl+Shift+Cima
e
Ctrl+Shift+Baixo
(no
macOS®
terá de carregar no
Command
em vez do
Ctrl). Poderá remover um item se usar a tecla
Delete.
Repare por favor no seguinte: Para arrastar itens da lista de ficheiros, os mesmos terão de ser mantidos do lado esquerdo (perto dos ícones), sendo que o mesmo gesto do lado direito irá efectuar uma selecção múltipla, para que esta acção seja possível e simples.
Quando tiver modificado uma lista de reprodução, as alterações poderão ser guardadas com o botão
Gravar
ou eliminadas com o
Cancelar. Quando a janela for fechada, será apresentada uma mensagem de confirmação caso existam modificações por gravar.
As faixas seleccionadas numa lista de reprodução ficarão automaticamente seleccionadas na lista de ficheiros, podendo deste modo editar as suas marcas.
Para executar acções sobre uma lista de reprodução, o seu ficheiro deverá estar seleccionado na lista de ficheiros. O
Editar
do menu de contexto irá conduzir à janela descrita nesta secção, enquanto o
Reproduzir
irá iniciar o leitor multimédia com as faixas da lista de reprodução. As acções do utilizador poderão actuar sobre as listas de reprodução, como por
exemplo
o
Exportar a Pasta da Lista de Reprodução, qur irá copiar os ficheiros de uma lista de reprodução para uma pasta.
A lista de pastas contém os nomes das pastas na pasta aberta de momento, assim como a própria (.) e a sua pasta-mãe (..). Permite a mudança fácil de pasta sem ter de usar o comando
Abrir...
ou o arrastamento.
A visibilidade, ordem e sentido de ordenação poderão ser configurados da forma descrita na secção sobre a
lista de ficheiros.
Mostra informações sobre a codificação (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), taxa de dados, taxa de amostragem, os canais e o tamanho do ficheiro.
O campo de texto
Nome
contém o nome do ficheiro (se só estiver um único ficheiro seleccionado). Se este nome for alterado, o ficheiro irá mudar de nome quando for usado o comando Gravar.
A lista
Formato
e o campo de texto contém o formato a ser usado quando o nome do ficheiro for gerado a partir da primeira ou segunda marca. O nome do ficheiro poderá conter caracteres arbitrários, podendo incluir uma componente de sub-pastas separadas por uma barra face ao nome do ficheiro, se bem que essa pasta já deva existir para a mudança de nome ser bem sucedida. São usados os seguintes códigos especiais para inserir os valores das marcas no nome do ficheiro:
Os códigos de formato não estão 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 específicos do formato, como
%{popm}.
É possível anteceder e adicionar textos ao substituto de um código de formato, adicionando-os entre aspas dentro das chavetas do código de formato. Estes textos só serão colocados no texto resultante se o código do formato tiver um valor não-vazio. Por exemplo, se o nome do ficheiro deve conter tanto o título como o sub-título, uma pessoa poderá usar o
%{title} [%{subtitle}]
no texto do formato. Contudo, isto poderia resultar num texto que termina em
[]
se não existir nenhum pacote de sub-título para um dado ficheiro. Para omitir os parêntesis rectos caso não esteja presente nenhum sub-título, o
%{title}%{" ["subtitle"]"}
deverá ser usado como alternativa. Isto irá omitir os parêntesis rectos, o espaço inicial e o sub-título se este último não existir.
A lista de formatos disponíveis poderá ser editada na janela que aparece quando carregar no botão
Nome do ficheiro a partir da marca
da página
Ficheiro
da
configuração.
É 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 não corresponder a este padrão, serão testados alguns outros formatos usados de forma comum.
Alguns dos campos normalmente usados já estão na lista, mas também é possível escrever algum formato especial no campo de edição.
A lista de formatos disponíveis poderá ser editada na janela que aparece quando carregar no botão
Marca a partir do nome do ficheiro
da página
Ficheiro
da
configuração.
Internamente, uma expressão regular é composta a partir dos códigos do formato. Se forem necessárias expressões regulares avançadas, o formato para gerar as marcas a partir dos nomes dos ficheiros pode ser indicado como uma expressão regular completa com capturas, as quais são antecedidas dos códigos de formato;
p.ex., par extrair os números das faixas sem remover os zeros inicias, poderá 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 são definidas a partir do nome do ficheiro. Em primeiro lugar, será usado o formato definido em
Formato. Se o nome do ficheiro existente não corresponder a este formato, serão testados os seguintes formatos:
Se for seleccionado apenas um ficheiro, os controlos da
GUI
são preenchidos com os valores do nome do ficheiro. Se forem seleccionados vários ficheiros, as marcas dos ficheiros são configuradas directamente.
Os campos de texto do
Título,
Artista,
Álbum,
Comentário,
Data,
Número de Faixa
e
Género
são usados para editar o valor correspondente na primeira marca dos ficheiros seleccionados. O valor será alterado quando a selecção de ficheiros mudar ou antes de algumas operações como a
Gravar
ou
Sair
e quando a opção de marcação correspondente à esquerda do nome do campo estiver assinalada. Isto é útil para mudar apenas alguns valores e deixar os outros valores inalterados.
Se estiver seleccionado um único ficheiro, todas as opções de marcação estão assinaladas e os campos de texto contêm os valores encontrados nas marcas deste ficheiro. Se não existir uma dada marca no ficheiro, o valor vazio correspondente é apresentado, o qual é um texto vazio para o
Título,
Artista,
Álbum
e
Comentário, ou 0 para os campos numéricos da
Data
e
Número da Faixa
e um valor seleccionado em branco para a lista
Género. Os valores podem ser alterados e, caso a opção de marcação correspondente esteja assinalada, serão configurados para o ficheiro seleccionado após modificar a selecção. O ficheiro fica então marcado como modificado com um símbolo de disco na lista de ficheiros, mas permanecerá inalterado até que use o comando
Gravar.
Se estiverem seleccionados vários ficheiros, só os valores que são idênticos em todos os ficheiros seleccionados é que são apresentados. Em todos os outros controlos, os valores vazio descritos acima são apresentados. Todas as opções de marcação estão desmarcadas para evitar modificações indesejadas. Se tiver de definir um valor para todos os ficheiros seleccionados, poderá ser editado e a opção de marcação terá de estar assinalada. Os valores serão configurados para todos os ficheiros seleccionados quando a selecção é modificada e poderá ser gravado com o comando
Gravar.
As opções de marcação também controlam a operação da maioria dos comandos que afectam as marcas, como a cópia, colagem e transferência entre as marcas 1 e 2. Para facilitar o uso com vários ficheiros, onde todas as opções de marcação estão desligadas, estes comandos comportam-se da mesma forma quando todas as opções estão assinaladas ou quando estão todas não-assinaladas.
Da Marca 2: Os campos da marca 1 são definidos a partir dos valores da marca 2. Se for seleccionado apenas um ficheiro, os controlos da
GUI
são preenchidos com os valores da marca 2. Se forem seleccionados vários ficheiros, as marcas dos ficheiros são configuradas directamente.
Copiar: A área de cópia fica preenchida com os valores da Marca 1. Só os valores assinalados serão usados nos campos Colar subsequentes.
Colar: Cola os valores da área de cópia para os controlos da
GUI.
Remover: Isto irá configurar todos os controlos da
GUI
com os seus valores vazios, o que faz com que se removam todos os valores. O ficheiro gravado não irá ter a marca 1.
Os controlos da
GUI
funcionam da mesma forma que foi descrita para a secção da
Marca 1, só que o tamanho dos textos não fica limitado.
Para a marca 2
Género, também poderá usar os seus próprios nomes para além dos géneros apresentados na lista, bastando para tal escrever o nome no campo de texto.
A marca 2 não só pode conter os mesmos valores que a marca 1, como o formato é composto de forma flexível a partir de vários pacotes que, por sua vez, são compostos por vários campos. A tabela da marca 2 mostra todos os pacotes que estão disponíveis no ficheiro seleccionado.
Editar: Isto irá abrir uma janela que permite a uma pessoa editar todos os campos do pacote seleccionado. Se estiverem seleccionados vários ficheiros, os campos editados serão aplicados a todos os ficheiros seleccionados que tiverem esse pacote.
Adicionar: Um pedido para seleccionar o tipo de pacote que irá aparecer, para que possa editar um pacote do tipo seleccionado e adicionado ao ficheiro. Isto funciona também para adicionar um pacote de dados aos vários ficheiros seleccionados.
Apagar: Remove o pacote seleccionado nos ficheiros seleccionados.
A opção
Arraste as imagens do álbum para aqui
aparece se o ficheiro não tiver incorporada a imagem da capa. Poderá adicionar uma imagem por arrastamento a partir de um navegador ou gestor de ficheiros e será aqui apresentada. Os pacotes das imagens poderão ser editados ou adicionados se fizer duplo-click sobre este controlo.
Alguns ficheiros poderão ter mais que duas marcas, ficando assim uma terceira secção de marca visível. Os seguintes tipos de ficheiros poderão ter uma dessas secções
Marca 3:
Os controlos da
GUI
funcionam da mesma forma que foi descrita para a secção da
Marca 2.
Para ter a informação sincronizada com os dados de áudio, está disponível um editor específico. Estes pacotes têm suporte para as marcas ID3v2.3.0 e ID3v2.4.0. Para adicionar uma dessas marcas, o nome do pacote específico tem de ser seleccionado na lista que aparece quando carrega no botão
Adicionar
-
Letras Sincronizadas
ou
Códigos de Temporização de Eventos, respectivamente. O editor é o mesmo para ambos os tipos; para os códigos de temporização de eventos, só está disponível um conjunto predefinido de eventos enquanto que, nas letras sincronizadas, terá de introduzir texto. No texto seguinte é explicada a edição de letras sincronizadas.
Um ficheiro que tenha uma marca ID3v2 fica seleccionado, pelo que poderá entrar no editor de letras musicais se usar o botão
Adicionar
e seleccionar as
Letras Sincronizadas. Para uma área de Letras Sincronizadas existente, ao seleccionar o mesmo poderá carregar no botão
Editar. O leitor é automaticamente aberto com o ficheiro actual, para que possa reproduzir e pausar o ficheiro para sincronizar as letras musicais.
A configuração no topo do editor do SYLT normalmente não tem de ser alterada. Se as letras tiverem caracteres que não estejam presentes no conjunto de caracteres Latin 1, a mudança da codificação de texto para UTF16 (ou UTF8 o caso do ID3v2.4.0) será aconselhada. Para as letras em Inglês e para o máximo de compatibilidade, deverá ser usado o ISO-8859-1.
A secção das
Letras Musicais
tem cinco botões no topo. O
Adicionar
irá adicionar um novo evento de tempo na tabela. O tempo é retirado a partir da posição do leitor, adicionando assim um item enquanto reproduz a faixa irá adicionar uma linha para a posição reproduzida de momento. Os eventos na tabela têm de estar ordenados de forma cronológica, como tal a linha será inserida na posição adequada. Os itens com tempos inválidos são tratados de forma especial: Se a linha seleccionada de momento tiver um tempo inválido, a sua data/hora será substituída pelo tempo actual em vez de adicionar uma nova linha. Se o tempo actal não for inválido, a primeira linha com um tempo inválido será usada caso exista. Este comportamento deverá facilitar a adição de tempos se o texto das letras já estiver na tabela, mas estiverem a faltar os tempos (o que é o caso ao importar letras não sincronizadas). Lembre-se que o tempo inválido é representado como 00:00.00,
i.e.
o mesmo que o tempo no início absoluto da faixa, que não é inválido. Para invalidar um tempo, carregue na tecla
Delete
ou use a opção
Limpar
do menu de contexto. As novas linhas introduzidas com a opção
Inserir uma linha
do menu de contexto ou criadas quando importar as letras não sincronizadas com as opções
Da Área de Transferência
ou
Importar
também contêm tempos inválidos. As linhas na tabela poderão ser removidas se carregar no botão
Apagar
ou se usar a opção
Apagar as linhas
do menu de contexto.
As letras sincronizadas poderão ser importadas a partir de um ficheiro com o botão
Importar. O formato esperado é o LRC simples ou o avançado. Se o ficheiro seleccionado não tiver um parêntesis recto na primeira linha, é suposto ser um ficheiro de texto simples com letras não sincronizadas. As linhas desse ficheiro são então importadas com horas inválidas. A informação da data/hora poderá ser adicionada através do botão
Adicionar
ou introduzidas manualmente. Também é possível importar as letras se copiar-colar com a opção
Da Área de Transferência. Poderá gravar as letras sincronizadas nos ficheiros LRC com a opção
Exportar. Lembre-se que só os itens com tempos válidos serão exportados e que os itens serão ordenados por esses tempos. Os itens com tempos inválidos não serão guardados no editor de pacotes SYLT, por isso certifique-se que adiciona toda a informação de tempos antes de sair da janela.
A
m[blue]especificação do ID3m[]
Quando a faixa é reproduzida, a linha associada com a posição actual de reprodução fica realçada, para que a correcção da informação de sincronização possa ser validada. Se tiver de adicionar um deslocamento a uma ou mais datas/horas, podê-lo-´a fazer com o menu de contexto
Adicionar um deslocamento. Poderá usar valores negativos para reduzir o tempo. Se usar o
Ir para a posição
no menu de contexto, é possível definir a posição de reprodução com a hora da linha seleccionada.
O procedimento recomendado é adicionar novas letras musicais sincronizadas
Lista de Ficheiros
[6]
sugere uma data/hora para cada sílaba. Contudo, a maioria dos leitores só suportam a granularidade de uma linha ou frase. Para suportar ambos os casos de uso, o
Kid3
segue as mesmas convenções que o
m[blue]Editor do SYLTm[][7]. O texto que é introduzido na tabela assume-se que inicia uma nova linha, a mesmo que comece por um espaço ou hífen. São possíveis excepções a esta regra se iniciar uma linha com um sublinhado ('_') para forçar a continuação ou um cardinal ('#') para forçar uma linha nova. Estes caracteres de escape não são guardados dentro do pacote SYLT. Dentro do mesmo pacote, as novas linhas começam com um carácter de mudança de linha (hex 0A), enquanto as continuações não. Ao ler os pacotes SYLT, o
Kid3
verifica se o primeiro elemento começa com uma mudança de linha. Se este não for o caso, assume-se que todos os elementos são linhas novas e que não são usadas continuações de sílabas.
Ficheiro → Abrir... (Ctrl+O)
Ficheiro → Abrir um Recente
Ficheiro → Abrir uma Pasta... (Ctrl+D)
Ficheiro → Recarregar (F5)
Ficheiro → Gravar (Ctrl+S)
Ficheiro → Reverter
Ficheiro → Importar...
A importação de um servidor do freedb.org é possível se usar a janela que aparece quando selecciona a opção Do Servidor: gnudb.org ou TrackType.org. O nome do artista ou do álbum a procurar pode ser introduzido nos dois campos do topo, sendo apresentados os álbuns que correspondam à pesquisa quando carregar em Procurar e depois de receber os resultados do m[blue]www.gnudb.orgm[][8]. A importação dos dados da faixa de álbum é feita ao fazer duplo-click sobre o álbum na lista. O servidor de freedb.org a importar poderá ser seleccionado, assim como a localização do CGI. Os dados importados são apresentados na tabela de antevisão da janela de importação. Quando estiver satisfeito com as faixas apresentadas, as mesmas podem ser importadas se terminar a janela de importação com o OK.
Poderá efectuar uma pesquisa no servidor do Discogs com a opção Discogs. Como na janela do gnudb.org, poderá introduzir o artista e o álbum, escolhendo depois dentro de uma lista de lançamentos. Se as Marcas-Padrão estiverem assinaladas, é importada a informação-padrão, p.ex. artista, álbum e título. Se estiverem assinaladas as Marcas Adicionais, poderá importar mais informações se estiverem disponíveis, p.ex. artistas, maestros ou o publicador. Se as Imagens das Capas estiver assinalada, será transferida a imagem da capa, se estiver disponível.
Poderá efectuar uma pesquisa na Amazon com a opção Amazon. Tal como na janela do gnudb.org, poderá introduzir o artista e o álbum, escolhendo depois a partir de uma lista de lançamentos. Se as Marcas Adicionais estiverem marcadas, poderá importar mais informação desde que esteja disponível, p.ex. cantores, maestros ou publicadores. Se as Imagens da Capa estiver assinalada, será transferida a imagem da capa caso esteja disponível.
Poderá pesquisar da mesma forma na base de dados de lançamentos do MusicBrainz, usando a opção Da Versão do MusicBrainz. O procedimento é o mesmo que está descrito em Do gnudb.org.
A importação de um servidor do MusicBrainz é possível se usar a janela que aparece quando seleccionar a opção Da Impressão Digital do MusicBrainz. Poderá seleccionar o Servidor como na janela de importação 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 começa como "Pendente" quando a janela é aberta. Depois é pesquisada a impressão digital e, se não devolver resultados, será testada outra pesquisa com as marcas no ficheiro. Como tal, pode ser útil para uma pesquisa com sucesso no MusicBrainz guardar a informação conhecida (p.ex. artista e álbum) nas marcas antes da importação. Se for encontrado um resultado, a pesquisa termina no estado "Reconhecida"; caso contrário, se não tiver sido encontrado nada ou se forem devolvidos resultados ambíguos, terá de ser seleccionado um deles pelo utilizador. O OK e o Aplicar usam os dados importados, enquanto o Cancelar fecha a janela. O fecho poderá demorar algum tempo, dado que todo o processo do MusicBrainz terá de ser encerrado.
Para a importação de dados textuais, a opção Do Ficheiro/Área de Transferência abre uma sub-janela, onde estão disponíveis vários formatos de importação pré-configurados. Os dois primeiros, "CSV sem aspas" e "CSV com aspas", podem ser usados para importar dados que tenham sido exportados na janela de Exportação. Os dados em CSV podem ser editados numa folha de cálculo e devem ser gravados com tabulações como separadores. A importação deverá ser possível com o "CSV com aspas", que é mais flexível que a versão "CSV sem aspas". Contudo, os seus campos não podem ter aspas no conteúdo. Se só exportar do Kid3 e importar mais tarde, o "CSV sem aspas" pode ser usado como um formato simples para esse fim. Lembre-se que também existem as opções "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 flexível.
O próximo formato, "texto HTML do freedb", pode ser usado para copiar informações de uma página HTML do m[blue]freedb.orgm[][9]. Pesquise um álbum no freedb e, se a informação desejada aparecer no navegador Web, copie o conteúdo para a área de transferência. Depois carregue no botão Da Área de Transferência para que as faixas importadas apareçam na tabela de antevisão no topo da janela. Se estiver satisfeito com os dados importados, termine a janela com o botão OK, que irá 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 deverão estar na ordem de faixas correctamente para ter as suas marcas atribuídas. Este é o caso caso elas estejam numeradas.
O próximo formato de importação pré-configurado, o "código HTML do freedb", poderá ser usado se os dados estiverem disponíveis como um documento em HTML. A importação é possível com o botão Do Ficheiro, que abre um selector de ficheiros, ou copiando o seu conteúdo a partir de um editor e depois importando-o a partir da área de transferência. Este formato pode ser útil para a importação 'offline', ainda que o documento HTML possa também ser aberto num navegador e depois ser importado no primeiro formato através da área de transferência.
Estão disponíveis mais formatos pré-configurados, p.ex. "Tempo do Título da Faixa". Poderá criar um formato personalizado vazio com o botão Adicionar para ser definido pelo utilizador. As duas linhas abaixo do nome do formato podem ser configuradas com uma expressão regular para capturar os campos a partir do texto a importar. A primeira expressão regular será processada uma vez por cada documento para reunir os dados de cada álbum, como o artista, o álbum, o ano e o género. A segunda linha é testada para corresponder a partir do início do documento até ao fim para obter os dados da faixa, normalmente o número e o título. As expressões regulares incluem todas as funcionalidades oferecidas pelo Qt(TM), que correspondem à maior parte do que o Perl oferece. As construções com parêntesis "(..)" criam áreas de captura para os campos a importar e são antecedidas de códigos específicos do Kid3 para indicar qual o campo a capturar. Os códigos são os mesmos que são usados no formato dos nomes dos ficheiros, para além dos códigos apresentados abaixo; é possível qualquer nome de pacote:
Por exemplo, a expressão regular de uma faixa (segunda linha) para importar a partir de uma lista de reprodução .m3u poderia ser "%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]". Todos os formatos podem ser alterados se editar as expressões regulares e o nome, carregando depois em Gravar a Configuração. Elas ficarão guardadas no ficheiro kid3rc na pasta de configuração. Este ficheiro poderá ser editado directamente para ter mais formatos de importação ou poderá ser apagado para voltar aos formatos predefinidos. Os formatos podem ser apagados com Remover.
A Precisão mostra uma estimativa de quão boa é a informação importada ao corresponder às faixas indicadas. Ele usa as durações das faixas ou os nomes dos ficheiros para calcular o nível de semelhança em percentagem. A Imagem da Capa mostra o URL da imagem da capa do álbum que será transferida.
Para verificar se as faixas importadas correspondem ao conjunto actual de ficheiros, a duração das faixas importadas poderá ser comparada com a duração dos ficheiros. Esta funcionalidade poderá ser activada com a opção Verificar a diferença máxima de tempo permitida (s): para definir esse valor máximo de tolerância em segundos. Se ocorrer uma discrepância de valores, a duração aparece com um fundo vermelho na tabela de antevisão.
Se os ficheiros estiverem ordenados de forma diferente das faixas importadas, as suas faixas atribuídas terão de ser alteradas. Esta tarefa poderá ser simplificada se usar os botões para Corresponder a Duração, Faixa e Título, os quais irão reordenar as faixas de acordo com o campo correspondente. Para corrigir manualmente as atribuições, poderá arrastar uma faixa com o botão esquerdo do rato e a tecla Ctrl carregada, sendo depois largada na nova posição.
Quando a janela de importação estiver aberta, ela possui o conteúdo actual das marcas. O tipo de marca (Marca 1, Marca 2, Marca 1 e Marca 2) poderá ser seleccionado com a lista Destino. O botão à direita desta lista poderá ser usado para reverter a tabela ao conteúdo actual das marcas. As opções de marcação na primeira coluna da tabela poderão ser usadas para seleccionar as faixas que serão importadas. Isto pode ser útil se uma pasta possuir as faixas de ambos os CD's de um CD duplo e só necessitar de importar as faixas do segundo CD.
Para identificar as faixas que são importadas, é possível mostrar os nomes dos ficheiros ou as localizações completas dos mesmos, usando o menu de contexto do cabeçalho da tabela. Os valores na tabela de importação poderão ser editados. O botão de reverão à direita da lista Destino poderá ser usado para repor o conteúdo das marcas, o que também poderá ser útil depois de alterar o Destino.
Quase todas as janelas possuem um botão Gravar a Configuração, que pode ser usado para guardar as definições específicas da janela, bem como o seu tamanho, de forma persistente.
A opção Das Marcas conduz a uma sub-janela para configurar os pacotes das marcas a partir do conteúdo de outros pacotes de marcas. Isto pode ser usado para simplificar a cópia de informação 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/área de transferência, existem formatos configuráveis à vontade para efectuar diferentes operações. Já existem alguns formatos pré-configurados para copiar o valor do Álbum para o Artista, Compositor ou Condutor do Álbum, assim como para extrair o número da faixa dos campos de Título que incluam um número. Existe também um formato para extrair um Sub-Título a partir de um campo de Título.
O seguinte exemplo explica como adicionar um formato personalizado, o qual define a informação a partir do campo de Sub-Título também no campo de Comentário. Crie um novo formato com a opção Adicionar e indique um novo nome, p.ex. "Sub-título para Comentário". Depois indique "%{subtitle}" na Origem e "%{comment}(.*)" na Extracção, carregando finalmente em Gravar a Configuração.
A expressão na Origem poderá conter os códigos de formato para os pacotes de marcas arbitrários, podendo usar vários códigos para combinar o conteúdo dos diferentes pacotes. Para cada faixa, é gerado um texto a partir das suas marcas com o formato da Origem e a expressão regular da Extracção é aplicada a este texto para definir valores novos para as marcas. Os códigos dos formato são usados antes dos parêntesis de captura para indicar o pacote de marcas onde será guardado o texto capturado. Funciona da mesma forma que na importação de ficheiros/área de transferência.
A opção Importar a Partir das Marcas... também está directamente disponível a partir do menu Ficheiro. A diferença entre estas duas funções é que a sub-janela de importação funciona sobre todos os ficheiros da pasta actual, enquanto a função do menu se aplica sobre os ficheiros seleccionados (que poderão estar em diferentes pastas). A função do menu suporta um código adicional "%{__return}" para devolver o valor extraído, o que poderá ser útil com as interfaces CLI e QML.
Ficheiro → Importar do gnudb.org...
Ficheiro → Importar do TrackType.org...
Ficheiro → Importar do Discogs...
Ficheiro → Importar da Amazon...
Ficheiro → Importar da Versão do MusicBrainz...
Ficheiro → Importar da Impressão Digital do MusicBrainz...
Ficheiro → Importar das Marcas...
Ficheiro → Importação Automática...
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 serão contactados para obter a informação do álbum. Alguns dos perfis são predefinidos (Tudo, MusicBrainz, Discogs, Imagens de Capas), sendo que poderá adicionar perfis personalizados com o botão Adicionar à direita da lista do Perfil.
A tabela abaixo mostra os servidores que serão usados quando importar os dados dos álbuns com o perfil seleccionado. O processo de importação de um álbum termina se toda a informação necessária for encontrada, pelo que a ordem das linhas na tabela é importante. Poderá ser alterada com os botões Subir e Descer. O Editar pode ser usado para modificar um item existente. A selecção do Servidor oferece os mesmos servidores que podem ser usados nas funções de importação. As Marcas-Padrão, as Marcas Adicionais e as Imagens das Capas determinam a informação que será obtida a partir do servidor. Finalmente, a Precisão é a granularidade mínima que deverá ser obtida para aceitar os dados importados. Se a precisão for insuficiente, será usado o próximo servidor na lista. A mesma janela que contém as propriedades do servidor aparece quando carregar em Adicionar para adicionar um novo item de servidor. Os itens existentes poderão ser removidos com o botão Remover.
Para invocar uma importação automática em lote com o perfil seleccionado, carregue em Iniciar. Os detalhes sobre a importação em curso são apresentados no topo da janela. O processo poderá ser interrompido com o botão Interromper.
Ficheiro → Escolher as Imagens de Capas...
Dado que nem todos os navegadores suportam o arrastamento de imagens e as imagens das páginas Web normalmente têm um URL, nesses casos o Kid3 irá receber o URL e não a imagem. Se o URL apontar para uma imagem, a mesma será transferida. Contudo, se o URL fizer referência a outro recurso qualquer da Web, terá de ser traduzido para a imagem correspondente. Essas associações estão definidas na tabela de extracção do URL. A coluna da esquerda Corresponder contém uma expressão regular que é comparada com o URL. Se corresponder, as expressões capturadas entre parêntesis são introduzidas no padrão da coluna URL da Imagem à direita (nas posições marcadas com o \1 etc.). A expressão regular substituída contém o URL da imagem. Com este mecanismo, as imagens das capas poderão ser importadas a partir da Amazon, Google Images, etc. por arrastamento. Também é possível definir as suas próprias associações.
Ficheiro → Exportar...
A configuração do formato é semelhante à da janela de Importação: O campo no topo contém o título (p.ex. "CSV sem aspas"), seguido do cabeçalho que será gerado no início do ficheiro. Os dados da faixa vêm a seguir; é usado para cada faixa. Finalmente, o rodapé pode ser usado para gerar algum texto final.
Os campos de formato não contêm expressões regulares como na janela de Importação, mas apenas as expressões do formato de saída com expressões-% especiais, as quais serão substituídas pelos valores das marcas. O processo inteiro funciona como no formato dos nomes dos ficheiros, sendo usados os mesmos códigos para além de alguns códigos adicionais. Não só os códigos apresentados abaixo mas todos os nomes de pacotes de marcas poderão ser usados.
Existem alguns formatos predefinidos. O "CSV sem aspas" separa os campos com tabulações. Os dados neste formato poderão ser importados de novo para o Kid3, usando o formato de importação com o mesmo nome. O "CSV com aspas" delimita adicionalmente os campos com aspas, o que facilita a importação para as folhas de cálculo. Contudo, os campos não poderão ter eles próprios aspas quando usar este formato. O "M3U Estendido" e o "PLS Estendido" geram listas de reprodução com atributos estendidos e com nomes de locais absolutos. O "HTML" pode ser usado para gerar uma página HTML com hiperligações para as faixas. O "Kover XML" cria um ficheiro que poderá ser importado pelo programa de impressão de capas Kover. Os "Detalhes Técnicos" oferecem informações sobre a taxa de dados, taxa de amostragem, canais, etc. Finalmente, o "Formato Personalizado" é deixado em branco para a definição de um formato personalizado. Poderá definir mais formatos seus se adicionar linhas no ficheiro , kid3rc na pasta de configuração. Os outros formatos poderão ser adaptados de acordo com as suas necessidades.
A Origem das marcas para gerar os dados de exportação (Marca 1 ou Marca 2) poderá ser seleccionada com uma lista. Se carregar em Para um Ficheiro ou Para a Área de Transferência, irá guardar os dados nesses destinos. Os botões OK e Cancelar fecham a janela, sendo que o OK aceita as definições da janela actual.
Ficheiro → Criar uma Lista de Reprodução...
O nome da lista de reprodução poderá 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 álbum no nome do ficheiro da lista de reprodução. Os códigos do formato são os mesmos que em Exportar. A opção Criar uma nova lista de reprodução vazia irá criar uma lista de reprodução vazia com o nome indicado. A extensão depende do formato da lista de reprodução.
A localização da lista de reprodução gerada é determinada pela selecção da lista Criar em.
Pasta actual
Todas as pastas
Pasta de topo
O Formato da lista de reprodução poderá ser o M3U, PLS ou XSPF.
Se a opção Incluir apenas os ficheiros seleccionados estiver assinalada, só serão incluídos os ficheiros seleccionados na lista de reprodução. Se uma dada pasta for seleccionada, serão seleccionados todos os seus ficheiros. Se esta opção de marcação não estiver assinalada, todos os ficheiros de áudio serão incluídos na lista de reprodução.
O Ordenar pelo nome do ficheiro selecciona o caso normal, onde os ficheiros são ordenados pelo nome do ficheiro. Com a opção Ordenar pelo campo da marca, é possível 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 número da faixa (o ".3" é usado para obter três algarismos com zeros iniciais, dado que são usados textos nas ordenação). Também é possível usar vários campos, p.ex. "%{genre}%{year}" para ordenar por um texto composto pelo género e ano.
Os elementos da lista de reprodução terão locais relativos ou absolutos, dependendo se as opções Usar uma localização relativa para os ficheiros na lista de reprodução ou a Usar a localização completa para os ficheiros na lista de reprodução estiver definida.
Quando estiver assinalada a opção Escrever apenas a lista de ficheiros, a lista de reprodução só irá conter as localizações dos ficheiros. Para gerar uma lista estendida com informações adicionais, poderá definir um texto de formato com o controlo Gravar a informação com.
Ficheiro → Sair (Ctrl+Q)
Editar → Seleccionar Tudo (Alt+A)
Editar → Deseleccionar (Ctrl+Shift+A)
Editar → Seleccionar Tudo na Pasta
Editar → Ficheiro Anterior (Alt+Cima)
Editar → Ficheiro Seguinte (Alt+Baixo)
Editar → Procurar... (Ctrl+F)
Editar → Substituir... (Ctrl+R)
Dependendo do número de ficheiros, a pesquisa poderá demorar algum tempo, como tal poderá ser interrompida se fechar a janela.
Ferramentas → Aplicar o Formato do Nome do Ficheiro
Ferramentas → Aplicar o Formato das Marcas
Ferramentas → Aplicar a Codificação do Texto
Ferramentas → Mudar o Nome da Pasta...
Se for encontrado um separador de pastas "/" no formato, são criadas várias 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 informação da marca poderá ser escolhida entre Da Marca 1 e Marca 2, Da Marca 1 e Da Marca 2. Poderá ter uma antevisão da operação de mudança de nome efectuada no primeiro ficheiro nas secções De e Para da janela.
Poderá mudar o nome de várias pastas se as seleccionar.
Ferramentas → Numerar as Faixas...
Quando o Número total de faixas estiver assinalado, também será definido o número de faixas nas marcas.
É possível numerar as faixas por várias pastas. As pastas têm de estar expandidas e seleccionadas.
Se a opção Repor o contador para cada pasta estiver assinalada, a numeração de faixas é reiniciada com o número indicado para cada pasta, sempre que estiverem seleccionadas várias pastas.
A janela de numeração das faixas também pode ser usada para formatar os números de faixas existentes sem modificar os valores quando a opção de marcação à esquerda do Número de início estiver desactivada. O número total de faixas será adicionado se a opção de marcação correspondente estiver activa, o que poderá ser usado para definir o total de todas as faixas seleccionadas. Se só for desejada a formatação dos números existentes, esta opção de marcação também tem de ser desactivada.
Ferramentas → Filtrar...
Estes códigos são substituídos pelos valores do ficheiro, sendo que os textos resultantes podem ser comparados com as seguintes operações:
As expressões verdadeiras são substituídas por 1 e as falsas por 0. Os valores verdadeiros são representados como 1, true, on e yes, enquanto os valores falsos são por 0, false, off e no. As operações booleanas são o 'not', 'and' e 'or' (por esta ordem de precedência) e podem ser agrupadas com parêntesis.
Algumas regras de filtragem são predefinidas e podem servir de exemplos para as suas próprias expressões:
Tudo
Inconsistência da Marca do Nome do Ficheiro
Testa de a localização do ficheiro está em conformidade com o formato de nomes de ficheiros. Esta regra é adaptada automaticamente se o formato do nome do ficheiro mudar.
Sem Marca 1
Mostra apenas os ficheiros que não tiverem uma marca 1.
Sem Marca 2
Mostra apenas os ficheiros que não tiverem uma marca 2.
Marca de ID3v2.3.0
Mostra apenas os ficheiros que tiverem uma marca de ID3v2.3.0.
Marca de ID3v2.4.0
Mostra apenas os ficheiros que tiverem uma marca de ID3v2.4.0.
Marca 1 != Marca 2
Mostra os ficheiros com diferenças entre a marca 1 e a marca 2.
Marca 1 == Marca 2
Mostra os ficheiros com a marca 1 e a marca 2 idênticas.
Incompleto
Mostra os ficheiros com valores vazios nas marcas-padrão (title, artist, album, date, track number, genre).
Sem Imagem
Mostra apenas os ficheiros que não tiverem uma imagem.
Marcado
Mostra apenas os ficheiros que estiverem marcados por violarem a norma ID3, estejam truncados ou a imagem for demasiado grande.
Filtro Personalizado
%{artist} matches "The.*"
Depois carregue em Gravar a Configuração. Carregue em Aplicar para filtrar os ficheiros. Todos os ficheiros processados são apresentados no campo de texto, com um "+" para as correspondências ao filtro e um "-" para os outros. Quando terminar só os ficheiros com um artista que comece por "The" são apresentados, assim como o título da janela fica marcada como "[filtrado]".
Ferramentas → Converter o ID3v2.3 para ID3v2.4
Ferramentas → Converter o ID3v2.4 para ID3v2.3
Ferramentas → Reproduzir
Configuração → Mostrar a Barra de Ferramentas
Configuração → Mostrar a Barra de Estado
Configuração → Mostrar a Imagem
Configuração → Auto-Esconder as Marcas
Configuração → Configurar as Teclas de Atalho...
Configuração → Configurar o Kid3...
As opções específicas das marcas poderão ser encontradas na página Marcas, que por sua vez está dividida em quatro páginas para a Marca 1, Marca 2, Marca 3 e Todas as Marcas.
Se a opção Marcar os campos truncados estiver assinalada, os campos de ID3v1.1 truncados ficarão marcados a vermelho. Os campos de texto das marcas ID3v1.1 só poderão ter 30 caracteres, assim como o comentário só poderá ter 28 caracteres. Do mesmo modo, o género e os números de faixas são restritos, pelo que os campos poderão ficar truncados quando forem importados ou transferidos a partir do ID3v2. Os campos truncados e o nome do ficheiro ficarão marcados a vermelho, sendo que a marca será removida após editar o campo.
Com a Codificação do texto para o ID3v1, é possível definir o conjunto de caracteres usado nas marcas ID3v1. Esta codificação é supostamente a ISO-8859-1, pelo que se recomenda manter este valor predefinido. Contudo, existem marcas com codificações diferentes, pelo que a mesma pode ser definida aqui e as marcas ID3v1 possam então ser copiadas para o ID3v2, que suporta o Unicode.
A opção de marcação Usar o formato faixa/número total de faixas controla se o campo do número da faixa das marcas ID3v2 contém apenas o número da faixa ou também o número total de faixas na pasta.
Quando estiver assinalada a opção Género como texto em vez de texto numérico, todos os géneros do ID3v2 serão guardados como uma sequência de texto, mesmo que exista um código correspondente para os géneros de ID3v1. Se esta opção não estiver activa, os géneros para os quais exista um código de ID3v1 são guardados como o número de código do género (entre parêntesis para o ID3v2.3). Como tal, o género Metal está guardado como "Metal" ou "(9)", dependendo desta opção. Os géneros que não constem na lista de géneros ID3v1 são sempre guardados como uma sequência de texto. O objectivo desta opção é melhorar a compatibilidade com os dispositivos que não interpretam correctamente os códigos de géneros.
Quando a opção Ficheiros WAV com bloco de ID3 em minúsculas estiver assinalada, o bloco de RIFF usado para guardar as marcas ID3v2 nos ficheiros WAV terá o nome "id3 " em vez de "ID3 ". Por omissão, o Kid3 e outras aplicações que usam a TagLib aceitam tanto a versão em maiúsculas como em minúsculas ao ler os ficheiros WAV, mas irão usar a versão "ID3 " quando gravar as marcas ID3v2 nos ficheiros WAV. Dado que existem outras aplicações que só aceitam a versão "id3 " (p.ex. JRiver Media Center e foobar2000), esta opção poderá ser usada para criar marcas que possam ser lidas por essas aplicações.
Quando a opção Marcar as violações da norma estiver assinalada, os campos de ID3v2 que violem os padrões serão marcados a vermelho. Os detalhes sobre a violação aparecerão numa dica:
Os documentos da norma ID3 estão disponíveis 'online':
A Codificação do texto define a codificação predefinida usada para os pacotes ID3v2 e poderá ser configurada como ISO-8859-1, UTF16 ou UTF8. O UTF8 não é válido para os pacotes ID3v2.3.0; se estiver configurado, será usado em alternativa o UTF16. Para os pacotes de ID3v2.4.0, todas as três codificações são permitidas.
A Versão usada para as marcas novas determina se as marcas ID3v2 novas são criadas na versão 2.3.0 ou 2.4.0.
Os Algarismos do número de faixa é o número de algarismos nos campos do Número de Faixa. Os zeros iniciais são usados para preencher. Por exemplo, com um valor igual a 2, o número de faixa 5 fica igual a "05".
A lista Nome do campo de comentário só é relevante para os ficheiros Ogg/Vorbis e FLAC e define o nome do campo que é usado para os comentários. As diferentes aplicações 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 é determinado pelo campo Nome do campo de imagem, o qual poderá 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 é uma forma mais antiga e não oficial de incluir imagens nos comentários do Vorbis. Pode ser usado por compatibilidade com os leitores antigos.
Se a opção Marcar se maior que (bytes) estiver activada, os ficheiros que contêm imagens de capa incorporadas que ultrapassem o tamanho indicado em 'bytes' ficarão marcados a vermelho. Isto pode ser usado para descobrir os ficheiros que têm imagens demasiado grandes e que, por isso, possam não ser aceites por algumas aplicações e leitores. O valor por omissão é de 131072 bytes (128 KB).
Os Géneros Personalizados poderão ser usados para definir géneros que não estejam disponíveis na lista de géneros-padrão, p.ex. "Gothic Metal". Esses géneros personalizados irão aparecer na lista Género da Marca 2. Para as marcas ID3v1.1, só poderão ser usados os géneros predefinidos.
A lista de géneros personalizados também poderá ser usada para reduzir o número de géneros disponíveis na lista Género aos que são tipicamente usados. Se a sua colecção consistir principalmente em músicas dos géneros Metal, Gothic Metal, Ancient e Hard Rock, poderá inserir esses géneros e marcar a opção Mostrar apenas os géneros personalizados. A lista Género da Marca 2 só irá conter esses quatro géneros e não terá de pesquisar pela lista completa de géneros deles. Neste exemplo, só irá aparecer Metal e Hard Rock na lista de géneros da marca 1, dado que esses itens de géneros personalizados ainda são géneros-padrão. Se a opção Mostrar apenas os géneros personalizados não estiver activa, os géneros personalizados poderão ser encontrados no fim da lista de géneros.
Os Pacotes de Acesso Rápido definem quais os tipos de pacotes que ficam sempre visíveis na secção da Marca 2. Esses pacotes poderão então ser adicionados sem usar primeiro o botão Adicionar. A ordem desses pacotes de acesso rápido poderá ser alterada se arrastar os itens respectivos.
A lista Nome do campo de número de faixa só relevante para o RIFF INFO e define o nome do campo usado para os números de faixas. Os números de faixa não fazem parte da norma RIFF original, sendo que existem aplicações que usam o "ITRK" e outras o "IPRT".
O Formato das Marcas contém opções para o formato das marcas. Quando a opção Aplicar automaticamente o formato estiver assinalada, a configuração do formato é usada automaticamente ao editar o texto nos campos de edição. A Validação activa algumas validações nos controlos com os valores da faixa/total e data/hora. A Conversão de capitalização pode ser configurada como Sem alterações, Tudo em minúsculas, Tudo em maiúsculas, Primeira letra maiúscula ou Todas as primeiras letras maiúsculas. Para usar uma conversão com suporte regional entre maiúsculas e minúsculas, poderá seleccionar uma região na lista abaixo. A lista de substituições de textos poderá ser configuradas com associações de texto arbitrárias. Para adicionar uma nova associação, seleccione a célula De de uma linha e introduza o texto a substituir, indo depois à coluna Para e indicando o texto de substituição. Quando o texto a substituir começar por uma barra ("/"), é usada uma expressão regular. Para as expressões regulares que tiverem grupos de captura, as ocorrências de \1, \2, ... no campo Para são substituídas pelo texto capturado no grupo de captura correspondente. Para remover uma associação, configure a célula de como um valor vazio (p.ex. escrevendo um espaço e depois apagando-o). A inserção e remoção de linhas também é possível com o menu de contexto que aparece quando carregar no botão direito do rato. A substituição só fica activa se a opção de marcação Substituição de texto estiver assinalada.
A tabela na Classificação contém a associação das classificações com estrelas aos valores efectivos que são guardados na marca. Os pacotes com informação de classificação aparecem na linha Classificação da lista de pacotes. Para esses pacotes, a classificação poderá ser definida se indicar um número de estrelas até cinco. Os diferentes formatos de marcas e diferentes aplicações usam diferentes valores para associar a classificação por estrelas ao valor guardado na marca. Para mostrar o número correcto de estrelas, o Kid3 irá procurar por um mapa nesta tabela. A chave para procurar nesse mapa é o nome do pacote, como por exemplo "RATING" se for usado nos comentários do Vorbis ou "IRTD" para o INFO do RIFF. Para as marcas de ID3v2, é usada uma chave composta que consiste no ID do pacote "POPM" da Medicação 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 associação usadas pelo Windows Media Player e pelo Explorer, ou simplesmente "POPM" para os pacotes POPM com um campo de "E-mail" vazio. Dado que poderão existir vários itens para o "POPM", a sua ordem é importante. Quando o Kid3 adiciona um novo pacote de Medição de Popularidade, irá usar o primeiro item "POPM" para determinar o valor a ser gravado no campo "E-mail". Este valor irá então definir a associação a usar para as classificações por estrelas. É usado o primeiro item também se não for encontradas nenhuma chave, sendo assim o item predefinido.
Para além da coluna Nome que contém as chaves, a tabela tem colunas da 1 até à 5 para os valores a guardar quando é atribuído o número correspondente de estrelas. De igual forma, os valores determinam o número de estrelas que são apresentadas para o valor guardado no pacote. Por exemplo, a linha na tabela abaixo contém os valores 1, 64, 128, 196, 255. Os limites para apresentar os números de estrelas situam-se entre estes valores e são compatíveis com que o Windows® Explorer usa.
Tabela 1. Elemento na Tabela de Classificação
Nome | 1 | 2 | 3 | 4 |
5
|
POPM | 1 | 64 | 128 | 196 |
255
|
Intervalo | 1-31 | 32-95 | 96-159 | 160-223 |
224-255
|
Na página Ficheiros, a opção Carregar os últimos ficheiros abertos poderá ser assinalada para que o Kid3 abra e seleccione o último ficheiro seleccionado quando for iniciado da próxima vez. A opção Preservar a data do ficheiro pode ser assinalada para preservar a data de modificação do ficheiro. O Nome do ficheiro da capa define o nome que é sugerido quando uma imagem incorporada for exportada para um ficheiro. Com a opção Codificação de texto (Exportar, Lista de Reprodução), poderá definir a codificação usada para gravar os ficheiros. O valor predefinido Sistema poderá ser alterado por exemplo se as listas de reprodução tiverem de ser usadas num dispositivo diferente.
Se a opção Marcar as modificações estiver activa, os campos alterados estão marcados com um fundo da legenda em cinzento claro.
A secção Lista de Ficheiros define quais os ficheiros que aparecem na lista de ficheiros. Poderá usar um Filtro para restringir os itens nesta lista para os ficheiros com as extensões suportadas. Para indicar de forma explícita quais as pastas a apresentar na lista de ficheiros ou para excluir certas pastas, poderá usar as opções Incluir as pastas e Excluir as pastas. Poderão contém caracteres especiais, como por exemplo */Música/* para incluir apenas a pasta Música ou */iTunes/* para excluir a pasta do iTunes da lista de ficheiros. Se tiver de usar várias expressões deste tipo, as mesmas poderão ser separadas por espaços ou pontos-e-vírgulas.
Os botões Nome do ficheiro a partir da marca e Marca a partir do nome do ficheiro na secção Formato abrem janelas para editar os formatos que ficam disponíveis na lista Formato (com setas para cima e para baixo), as quais poderão ser encontradas na secção Ficheiro da janela principal.
O Formato dos Nomes de Ficheiros contém opções para o formato dos nomes dos ficheiros. Estão disponíveis as mesmas opções que no Formato das Marcas.
A página de Acções do Utilizador contém uma tabela com os comandos que estão disponíveis no menu de contexto da lista de ficheiros. Para as operações críticas, como a remoção de ficheiros, aconselha-se que marque o Confirmar para apresentar uma janela de confirmação 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 é o nome apresentado no menu de contexto. O Comando é a linha de comandos a executar. Os argumentos podem ser passados com os seguintes códigos:
O código especial @separator pode ser configurado como um comando para inserir um separador no menu de contexto das acções do utilizador. Poderá colocar os itens de menu num submenu se os rodear com comandos @beginmenu e @endmenu. O nome do submenu é determinado pela coluna Nome do comando @beginmenu.
Para executar os programas em QML, o @qml é usado como um nome de comando. A localização do programa em QML é passada como um parâmetro. Os programas existentes poderão ser encontrados na pasta %{qmlpath}/script/ (no Linux® é tipicamente a /usr/share/kid3/qml/script/, no Windows a qml/script/ dentro da pasta de instalação e no macOS® na pasta da aplicação kid3.app/Contents/Resources/qml/script/). Poderá guardar os programas personalizados em qualquer pasta. Se o código QML usar componentes GUI, o @qmlview deverá ser usado em vez do @qml. Os parâmetros adicionais são passados ao programa em QML, onde ficarão disponíveis através da função getArguments(). Poderá ter uma visão geral de algumas funções e propriedades que estão disponíveis no apêndice da Interface de QML.
O comando que será 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 informações acerca dos ficheiros de áudio na Web; por exemplo
%{browser} http://lyricwiki.org/%u{artist}:%u{title}
irá pesquisar pelas letras da música actual no m[blue]LyricWikim[][12]. O "u" em %u{artist} e %u{title} é usado para codificar como URL os dados do artista %{artist} e da música %{title}. É fácil definir as suas próprias pesquisas da mesma forma, p.ex. uma pesquisa por imagens no m[blue]Googlem[][13]:
Para adicionar as imagens das capas dos álbuns à marca 2, poderá procurar por imagens no Google ou na Amazon com os comandos descritos acima. A imagem poderá ser adicionada à marca por arrastamento. Também poderá adicionar uma imagem com o botão Adicionar, seleccionando depois o pacote da Imagem e importar um ficheiro de imagem ou colá-lo a partir da área de transferência. Os pacotes de imagens são suportados nas marcas de ID3v2, MP4, FLAC, Ogg e ASF.
Para adicionar e remover itens da tabela, poderá usar um menu de contexto.
A página Rede contém apenas um campo para inserir o endereço do 'proxy' e, opcionalmente, o porto separados por dois-pontos. O 'proxy' será usado ao importar os dados a partir de um servidor na Internet quando a opção estiver assinalada.
Na página de Plugins, poderá activar ou desactivar os 'plugins' disponíveis. Os mesmos estão separados em duas secções. A lista 'Plugins' de Meta-Dados & Prioridade contém os 'plugins' que suportam os formatos de ficheiros de áudio. A ordem dos 'plugins' é importante porque são avaliados de cima para baixo. Alguns dos formatos são suportados por vários 'plugins', pelo que os ficheiros serão abertos com o primeiro 'plugin' com suporte para os mesmos. O TaglibMetadata tem suporte para a maioria dos formatos, sendo que irá 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 poderá querer usar em vez da TagLib, estão enumerados em baixo.
A secção de 'Plugins' Disponíveis apresenta os restantes 'plugins'. A sua ordem não é relevante, mas poderão ser activados ou desactivados com as opções de marcação.
Os 'plugins' que estiverem desactivados não serão carregados. Isto poderá ser usado para optimizar a utilização dos recursos e o tempo de arranque. A configuração nesta página só fará efeito após reiniciar o Kid3.
Ajuda → Manual do Kid3
Ajuda → Acerca do Kid3
O kid3-cli oferece uma interface de linha de comandos para o Kid3. Se for usada a localização de uma pasta, a mesma será aberta. Se forem indicadas as localizações de um ou mais ficheiros, será aberta a pasta comum com os ficheiros seleccionados. Os comandos subsequentes irão então funcionar sobre esses ficheiros. Os comandos são indicados através das opções -c. Se forem passados vários comandos, os mesmos serão executados pela ordem indicada. Se os ficheiros forem modificados pelos comandos, eles serão gravados no fim. Se não forem passadas opções de comandos, o kid3-cli inicia no modo interactivo. Os comandos poderão então ser introduzidos e irão funcionar sobre a selecção actual. As seguintes secções apresentam todos os comandos disponíveis.
Ajuda
kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 So Temos Este.mp3 *1-- 03 Final.mp3
Neste exemplo, todos os ficheiros têm uma marca 1, enquanto o segundo ficheiro também tem uma marca 2 e a mesma está seleccionada. O terceiro ficheiro está modificado.
Gravar os ficheiros alterados
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
kid3-cli> get Ficheiro: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo Name: 01 Intro.mp3 Marca 1: ID3v1.1 Título Intro Artista Famoso Desconhecido Álbum Vamos Marcar Date 2013 Track Number 1 Genre Pop kid3-cli> get title Intro
Para gravar o conteúdo 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'
É possível obter apenas um campo específico de um pacote, como por exemplo get POPM.Email para o campo de E-Mail de um pacote de Medição de Popularidade. Se um ficheiro tiver vários pacotes do mesmo tipo, poderá indexar os diferentes pacotes com parêntesis rectos; por exemplo, o primeiro artista de um comentário de Vorbis poderá ser obtido com a expressão 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 está seleccionado, por exemplo get artist.selected irá devolver 1 se o pacote do artista estiver seleccionado, caso contrário devolve 0.
Modificar os dados da marca
kid3-cli> set remixer 'Fam. Desconhecido'
Para configurar o conteúdo de um pacote de imagem a partir de um ficheiro, use
set picture:'/local/da/pasta.jpg' 'Descrição da Imagem'
Para configurar as letras sincronizadas a partir de um ficheiro LRC, use
set SYLT:'/local/das/letras.lrc' 'Descrição das Letras'
Para configurar um dado campo específico 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 Medição de Popularidade, use
set POPM.Counter 5
Uma aplicação para as definições dos campos é o caso em que deseja usar um pacote TXXX personalizado com a descrição da "classificação" em vez de um pacote de Medição de Popularidade (isso parece ser o caso usado por alguns 'plugins'). Poderá criar um desses pacotes de classificação TXXX com o kid3-cli; contudo, terá primeiro de criar um pacote TXXX com a descrição "rating" e depois configurar o valor deste pacote com o valor da classificação.
kid3-cli> set rating "" kid3-cli> set TXXX.Description rating kid3-cli> set rating 5
O primeiro comando irá apagar um pacote POPM existente, porque se existir um desses pacotes o set rating 5 iria configurar o pacote POPM e não o pacote TXXX. Outra possibilidade seria usar o set TXXX.Text 5, mas só iria funcionar se não estivesse presente nenhum outro pacote TXXX.
Para configurar vários pacotes do mesmo tipo, poderá indicar um índice entre parêntesis, p.ex. para definir vários artistas num comentário 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 operação para copiar, colar ou remover, o nome do pseudo-campo "selected" pode ser usado. Normalmente, todos os pacotes estão seleccionados; para deseleccionar tudo, use o comando set '*.selected' 0 e depois por exemplo set artist.selected 1 para seleccionar o pacote do artista.
Se for usado o
tags
para o
FICHEIRO, as marcas são importadas a partir das outras marcas. Em vez dos parâmetros
NOME-FORMATO, são obrigatórios a
ORIGEM
e a
EXTRACÇÃO; veja mais em
Importar a Partir das Marcas. Para aplicar a importação a partir das marcas nos ficheiros seleccionados, use o
tagsel
em vez do
tags. Esta função também suporta o resultado do valor extraído, usando uma
EXTRACÇÃO
com o valor
%{__return}(.+).
Reverter
kid3-cli> albumart http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC
Exportar para um ficheiro
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
É usada uma segunda lista
Para copiar apenas um sub-conjunto dos pacotes, use o pseudo-campo "selected" com o comando
set. Por exemplo, para copiar apenas o número do disco e os direitos de cópia, use
Converter o ID3v2.3 para ID3v2.4
set '*.selected' 0 set discnumber.selected 1 set copyright.selected 1 copy
É possível remover apenas um sub-conjunto dos pacotes se os seleccionar como descrito no
comando copy.
Colar
Configura o título contendo um apóstrofo. Os comandos passados ao kid3-cli com o -c têm de estar entre aspas se não consistirem apenas numa única palavra. Se um destes comandos tiver ele próprio um argumento com espaços, esse argumento também terá de estar entre aspas. Nas consolas de UNIX®, poderá usar plicas ou aspas, mas na Linha de Comandos do Windows, é 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 terá de ser escapada com uma barra invertida, como é demonstrado no seguinte exemplo:
kid3-cli -c "set title 'I\'ll be there for you'" /local/da/pasta
Configure a capa do álbum de todos os ficheiros de uma pasta com a função de importação em lote:
kid3-cli -c "autoimport 'Cover Art'" /local/da/pasta
Remover os pacotes de comentários 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 reprodução:
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 reprodução.
#!/usr/bin/env python3 # Gerar o iTunes Sound Check a partir do Ganho de Reprodução. 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 não é um número fraccionário' % (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])
Para facilitar o processamento dos resultados do kid3-cli, é possível obter o resultado no formato JSON. Quando o pedido vier no formato JSON, a resposta será também em JSON. Um formato compacto do pedido irá também dar uma representação compacta da resposta. Se o pedido tiver um campo "id", assume-se que é um pedido de JSON-RPC e a resposta irá 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" contém o comando e os parâmetros (se existirem) são fornecidos na lista "params". A resposta contém um objecto "result", que também poderá ser nulo se o comando kid3-cli correspondente não devolver um resultado. Em caso de erro, é 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"}
Kid3
Programa criado por Urs Fleisch <ufleisch at users.sourceforge.net>
Tradução de José Nuno Pires <zepires@gmail.com>
m[blue]FDLm[][22]
Poderá encontrar o Kid3 em m[blue]https://kid3.kde.orgm[].
O Kid3 precisa do m[blue]Qt(TM)m[][24]. O m[blue]KDEm[][25] é recomendado, mas não é necessário, dado que o Kid3 também pode ser compilado como uma aplicação do Qt(TM). O Kid3 pode ser compilado nos sistemas onde essas bibliotecas estão disponíveis, p.ex. para o GNU/Linux®, Windows® e macOS®. Para marcar os ficheiros Ogg/Vorbis, são necessárias as bibliotecas m[blue]liboggm[][15], m[blue]libvorbis e libvorbisfilem[][16], para os ficheiros FLAC, são necessárias a m[blue]libFLAC++ e a libFLACm[][17]. A m[blue]id3libm[][14] é usada para os ficheiros MP3. Estes quatro formatos também são suportados pela m[blue]TagLibm[][18], que também consegue lidar com ficheiros Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF e módulos do Tracker. Para importar a partir de impressões-digitais acústicas, são usados o m[blue]Chromaprintm[][20] e a m[blue]libavm[][21].
O Kid3 está disponível na maioria das distribuições de Linux®, Windows® e macOS®. Poderá encontrar referências para o mesmo em m[blue]https://kid3.kde.orgm[].
Poderá compilar o Kid3 com ou sem o KDE. Sem o KDE, o Kid3 é uma aplicação simples em Qt(TM) e poderá perder algumas funcionalidades de configuração e de sessões.
Para uma versão para o KDE, vá à pasta de topo e escreva
% cmake . % make % make install
Para compilar para diferentes versões do Qt(TM) ou do KDE, defina as seguintes opções correspondentes ao cmake.
Se nem todas as bibliotecas estiverem presentes, o Kid3 será compilado com funcionalidades reduzidas. Por isso, deverá ter o cuidado de ter todos os pacotes de desenvolvimento desejados instalados. Por outro lado, as opções do cmake controlam quais as bibliotecas que são compiladas. Por omissão, o valor é -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 opções podem ser desactivas se usar o OFF.
Para compilar o Kid3 como uma aplicação do Qt(TM) sem o KDE, use a opção do cmake -DWITH_APPS=Qt. Para compilar tanto a versão para KDE como para Qt(TM), configure como -DWITH_APPS="Qt;KDE".
Para usar um a instalação específica do Qt(TM), configure -DQT_QMAKE_EXECUTABLE=/local/do/qmake.
A geração de pacotes RPM é suportada pelo ficheiro kid3.spec; para os pacotes da Debian®, o programa build-deb.sh está disponível.
A aplicação do Qt(TM) também pode ser compilada para o Windows® e o macOS®. O programa buildlibs.sh pode ser usado para obter e compilar todas as bibliotecas necessárias e criar um pacote do Kid3.
Com o KDE, a configuração é gravada em .config/kid3rc. Como uma aplicação do Qt(TM), este ficheiro encontra-se em .config/Kid3/Kid3.conf. No Windows®, a configuração é guardada no Registry e no macOS® é guardada num ficheiro 'plist'.
A variável de ambiente KID3_CONFIG_FILE pode ser usada para definir a localização do ficheiro de configuração.
No Linux®, poderá usar uma interface do D-Bus para controlar o Kid3 através de programas. Os programas poderão ser criados em qualquer linguagem que tenha interfaces para o D-Bus (p.ex. em Python) e podem ser adicionadas às Acções do Utilizador para estender a funcionalidade do Kid3.
O artista na marca 2 do ficheiro actual poderá ser configurado com o valor "Famoso Desconhecido" com o seguinte código:
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");
A API de D-Bus está definida em org.kde.Kid3.xml. A interface do Kid3 tem os seguintes métodos:
localização
Devolve verdadeiro se OK.
mascaraMarcas
nomePerfil
mascaraMarcas
localização
indFmt
Devolve verdadeiro se OK.
mascaraMarcas
origem
extracção
mascaraMarcas
origem
extracção
returnValues
url
todosFicheirosNaPasta
mascaraMarcas
localização
indFmt
Devolve verdadeiro se OK.
localização
Devolve uma lista com as localizações absolutas dos itens da lista de reprodução.
localização
itens
Devolve verdadeiro se OK, ou falso se nem todos os itens foram encontrados ou se a adição ou gravação ou gravação foi mal-sucedida.
Devolve verdadeiro se o item do ficheiro actual for uma pasta.
mascaraMarcas
formato
criar
Devolve verdadeiro se OK, caso contrário a mensagem de erro estará disponível se usar o getErrorMessage().
mascaraMarcas
nrPrimeiraFaixa
expressão
nome
O ficheiro irá mudar de nome quando a pasta for gravada.
formato
mascaraMarcas
mascaraMarcas
nome
Para obter dados binários, 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, também poderão ser exportadas,
p.ex.
"SYLT:/local/do/ficheiro".
Devolve o valor do pacote.
mascaraMarcas
nome
valor
Para a marca 2 (tagMask
2), se não existir nenhum pacote chamado
nome, será adicionado um novo pacote; se o
valor
estiver vazio, o pacote é removido. Para adicionar dados binários, como uma imagem, poderá 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.
mascaraMarcas
Devolve uma lista com os nomes e valores dos pacotes de forma alternada.
Devolve uma lista alternada entre os nomes e os valores das propriedades.
mascaraMarcas
mascaraMarcas
mascaraMarcas
mascaraMarcas
mascaraMarcas
Abrir um ficheiro ou pasta
Obter as imagens da capa do álbum
Exportar as marcas para um ficheiro
Criar uma lista de reprodução
Obter os itens de uma lista de reprodução
Define os itens de uma lista de reprodução
Sair da aplicação
Configura o ficheiro anterior como sendo o actual
Configura o ficheiro seguinte como sendo o actual
Selecciona o primeiro ficheiro
Seleccionar o ficheiro anterior
Seleccionar o ficheiro seguinte
Seleccionar o ficheiro actual
Expande ou fecha o item do ficheiro actual se for uma pasta
Aplicar o formato de nomes dos ficheiros
Define os números das faixas subsequentes nos ficheiros seleccionados
Filtrar os ficheiros
Converter as marcas de ID3v2.3 para ID3v2.4
Obter a localização da pasta
Obtém o nome do ficheiro actual
Define o nome do ficheiro seleccionado
Define o formato a usar quando definir o nome do ficheiro a partir das marcas
Configura os nomes dos ficheiros para os ficheiros seleccionados a partir das marcas
Obter o valor do pacote
Configurar o valor do pacote
Obter todos os pacotes de uma marca
Obter informações técnicas sobre o ficheiro
Configurar uma marca a partir do nome do ficheiro
Configurar uma marca a partir de outra marca
Copiar a marca
Colar a marca
Remover a marca
Volta a processar a configuração
Reproduz os ficheiros seleccionados
import Kid3 1.0 Kid3Script { onRun: { console.log("Olá mundo, a pasta é", app.dirName) Qt.quit() } }
Se este programa for gravado em /local/do/Exemplo.qml, o comando do utilizador poderá ser definido como @qml /local/do/Exemplo.qml com o nome Teste de QML e o Resultado assinalado. Poderá então ser iniciado com o item Teste de QML no menu de contexto da lista de ficheiros, ficando o resultado visível na janela.
Em alternativa, o programa também pode ser iniciado de forma independente do Kid3, usando as ferramentas de QML.
qml -apptype widget -I /usr/lib/kid3/plugins/imports /local/do/Exemplo.qml
or
qmlscene -I /usr/lib/kid3/plugins/imports /local/do/Exemplo.qml
No Windows® e no macOS®, a localização da importação deverá ser adaptada à pasta imports dentro da pasta de instalação. Os programas iniciados fora do Kid3 irão usar a pasta actual, pelo que a mesma deverá ser alterada de antemão.
Para enumerar os títulos 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 vários ficheiros, um destes programas poderá bloquear a interface do utilizador durante algum tempo. Para as operações mais demoradas, deverá então pausar de tempos a tempos. A implementação alternativa em baixo tem o trabalho feito para um único ficheiro transferido para uma função. Essa função invoca-se a si própria com um tempo-limite de 1 ms no fim, desde que existam mais ficheiros para serem processados. Isto irá garantir que a GUI continua a reagir enquanto o programa está em execução.
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(), serão processados todos os ficheiros na pasta actual. Se só é suposto processar os ficheiros seleccionados, use o firstFile() e o nextFile() em alternativa; estas são funções de conveniência do componente Kid3Script. O seguinte exemplo é um programa que copia apenas os pacotes do número do disco e dos direitos de cópia 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 vêm disponíveis com o Kid3 e estão já registados como comandos do utilizador.
A API pode ser explorada de forma simples com a Consola de QML, que está disponível como um programa de exemplo com uma interface de utilizador.
O
Kid3Script
é um componente normal de QML que se localiza dentro da pasta de 'plugins'. Poderá usar outro componente de QML também. Ao usar o
Kid3Script, fica mais fácil iniciar a função do programa com a rotina
onRun. Para além disso, oferece algumas funções:
Kid3Script
onRun: Tratamento de evento que é invocado quando o programa é iniciado tagv1, tagv2, tagv2v1: Constantes para os parâmetros de marcas script: Acesso às funções de programação configs: Acesso às funções de configuração getArguments(): Lista de argumentos do programa isStandalone(): verdadeiro se o programa não 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
Como o
JavaScript
e, por inerência, também o QML só têm um conjunto limitado de funções de programação, o objecto
script
tem alguns métodos adicionais, por exemplo:
Funções de Programação
script.properties(obj): Texto com as propriedades do Qt script.writeFile(localFicheiro, dados): Grava os dados no ficheiro, verdadeiro se OK script.readFile(localFicheiro): Lê 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): Obtém os bits do modo de permissão do ficheiro script.setFilePermissions(localFicheiro, bitsModo): Altera os bits do modo de permissão do ficheiro script.classifyFile(localFicheiro): Obtém a classe do ficheiro (pasta "/", ligação 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(): Localização da pasta temporária script.musicPath(): Localização da pasta de músicas script.listDir(local, [filtrosNomes], [classificar]): Enumera os itens da pasta script.system(programa, [args], [ms]): Inicia de forma síncrona um comando do sistema, [código de saída, standard output, standard error] caso não expire o tempo-limite script.systemAsync(programa, [args], [rotina]): Invoca de forma assíncrona um comando do sistema, sendo a 'rotina' invocada com o [código de saída, standard output, standard error] script.getEnv(nomeVar): Devolve o valor da variável de ambiente script.setEnv(nomeVar, valor): Altera o valor da variável de ambiente script.getQtVersion(): Texto da versão do Qt, p.ex. "5.4.1" script.getDataMd5(dados): Devolve o texto hexadecimal do código 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]): Obtém 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): Obtém as propriedades de uma imagem, sendo um mapa que contém os valores "width", "height", "depth" e "colorCount", vazio se a imagem for inválida script.scaleImage(img, largura, [altura]): Ajusta a escala de uma imagem, devolvendo a imagem ajustada
Ao usar o QML, uma grande parte das funções do
Kid3
estão disponíveis. A API é semelhante à usada no
D-Bus. Para mais detalhes, consulte as notas respectivas.
Contexto da Aplicação
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, extracção): Importa a partir das marcas app.importFromTagsToSelection(marca, origem, extracção): Importa a partir das marcas dos ficheiros seleccionados app.downloadImage(url, todosFicheirosNaPasta): Obtém a imagem app.exportTags(marca, local, indFmt): Exporta o ficheiro app.writePlaylist(): Grava a lista de reprodução app.getPlaylistItems(local): Obtém os itens de uma lista de reprodução app.setPlaylistItems(local, itens): Define os itens de uma lista de reprodução 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 específico app.getSelectedFilePaths([soFicheirosMarcados]): Obtém as localizações 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 codificação de texto app.numberTracks(num, total, marca, [opções]): 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): Obtém o objecto com todos os pacotes app.getFrame(marca, nome): Obtém o pacote app.setFrame(marca, nome, valor): Configura o pacote app.getPictureData(): Obtém 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(): Lê a configuração app.applyChangedConfiguration(): Aplica a configuração app.dirName: Nome da pasta app.selectionInfo.fileName: Nome do ficheiro app.selectionInfo.filePath: Localização 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 códigos 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 operações assíncronas, poderá 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) }
As diferentes secções de configuração estão acessíveis através de métodos do
configs. As suas propriedades poderão ser listadas na consola de QML.
Objectos de Configuração
script.properties(configs.networkConfig())
As propriedades poderão 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()
Urs Fleisch <ufleisch at users.sourceforge.net>
José Pires <zepires@gmail.com>
m[blue]FDLm[]