Capítulo 4. kid3-cli

Comandos

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

help [NOME-COMANDO]

Mostra ajuda sobre os parâmetros do NOME-COMANDO ou sobre todos os comandos, caso não seja indicado nenhum nome de comando.

Tempo-limite

timeout [ default | off | TEMPO ]

Substitui o tempo-limite predefinido dos comandos. Os comandos da CLI são interrompidos após ser ultrapassado um dado tempo-limite para os comandos. Este tempo-limite é 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 número enorme de ficheiros, estes tempos-limites podem ser demasiado restritos; como tal, poderá definir o tempo-limite para todos os comandos como sendo TEMPO ms, desligado por completo ou deixar com os valores predefinidos.

Sair da aplicação

exit [force]

Sai da aplicação. Se existirem ficheiros por gravar modificados, o parâmetro force é obrigatório.

Mudar de pasta

cd [PASTA]

Se não 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 localizações 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 conteúdo da pasta actual. Isto corresponde à lista de ficheiros na GUI do Kid3. Cinco caracteres antes dos nomes dos ficheiros mostram o estado do ficheiro.

  • > O ficheiro está seleccionado.

  • * O ficheiro está modificado.

  • 1 O ficheiro tem uma marca 1, caso contrário aparece '-'.

  • 2 O ficheiro tem uma marca 2, caso contrário aparece '-'.

  • 3 O ficheiro tem uma marca 3, caso contrário aparece '-'.

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

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 vá avançando com o select next ou recuando com o select previous. Poderá adicionar ficheiros específicos à selecção actual, indicando para tal os seus nomes. São permitidas sequências especiais; como tal, o select *.mp3 irá 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 [NÚMEROS-MARCAS]

Muitos dos comandos têm um parâmetro opcional NÚMEROS-MARCAS, que define se o comando funciona na marca 1, 2 ou 3. Se este parâmetro for omitido, serão usados os números de marcas predefinidos, os quais poderão ser definidos por este comando. No arranque está configurado como 12, o que significa que a informação é lida da marca 2, se disponível, caso contrário da marca 1; as modificações são efectuadas na marca 2. O parâmetro NÚMEROS-MARCAS poderá ser configurado como 1, 2 ou 3 para funcionar apenas na marca correspondente. Se o parâmetro for omitido, é apresentado o valor actual.

Obter os dados da marca

get [ all | NOME-PACOTE ] [NÚMEROS-MARCAS]

Este comando pode ser usado para ler o valor de um dado pacote de marcas ou para obter informações sobre todos os pacotes de marcas (se o argumento for omitido ou for usado o all). Os pacotes modificados estão 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
  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.

O nome do pseudo-pacote "ratingstars" pode ser usado para obter o valor do pacote "rating", dado que o formato do valor corresponde ao número de estrelas (0 a 5). Ao usar o "rating", é devolvido o valor interno.

Modificar os dados da marca

set {NOME-PACOTE} {VALOR-PACOTE} [NÚMEROS-MARCAS]

Este comando configura o valor de um dado pacote de marca em específico. Se o VALOR-PACOTE estiver vazio, o pacote é apagado.

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.

O nome do pseudo-pacote "ratingstars" pode ser usado para obter o valor do pacote "rating", dado que o formato do valor corresponde ao número de estrelas (0 a 5). O nome do pacote "rating" pode ser usado para definir o valor interno.

Se definir o "ratingstars" em vários ficheiros que tenham diferentes formatos de marcas, isso não irá funcionar, porque o pacote com o valor associado ao número de estrelas é criado para o primeiro ficheiro e depois é 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 modificações nos ficheiros seleccionados (ou todos os ficheiros se não estiver nenhum seleccionado).

Importar de ficheiro

import {FICHEIRO} {NOME-FORMATO} [NÚMEROS-MARCAS]

As marcas são 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 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}(.+).

Importação automática

autoimport [NOME-PERFIL] [NÚMEROS-MARCAS]

Faz uma importação em lote, usando para tal o perfil NOME-PERFIL (veja a Importação Automática, "Tudo" é usado por omissão).

Obter as imagens da capa do álbum

albumart {URL} [all]

Configura as imagens do álbum, transferindo uma imagem a partir do URL. As regras definidas na janela para Escolher as Imagens das Capas são usadas para transformar os URL's gerais (p.ex. da Amazon) num URL de imagem. Para configurar a capa do álbum 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} [NÚMEROS-MARCAS]

As marcas são exportadas para o ficheiro FICHEIRO no formato com o nome NOME-FORMATO (p.ex. "CSV sem aspas", ver como Exportar).

Criar a lista de reprodução

playlist

Cria uma lista de reprodução no formato definido na configuração; veja como Criar uma Lista de Reprodução.

Aplicar o formato de nomes dos ficheiros

filenameformat

Aplica o formato de nomes de ficheiros definido na configuração; veja como Aplicar o Formato de Nomes de Ficheiros.

Aplicar o formato das marcas

tagformat

Aplica o formato de marcas definido na configuração; veja como Aplicar o Formato de Marcas.

Aplicar a codificação do texto

textencoding

Aplica a codificação de texto definida na configuração; veja como Aplicar a Codificação do Texto.

Mudar o nome da pasta

renamedir [FORMATO] [ create | rename | dryrun ] [NÚMEROS-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 não for indicado nenhum formato, é usado o formato definido na janela para Mudar o nome da pasta. O modo predefinido é rename; para criar pastas, deverá ser indicado de forma explícita o create. As acções de mudança de nome serão efectuadas de imediato. Para ver o que irá ser feito, use a opção dryrun.

Numerar as faixas

numbertracks [NÚMERO-FAIXA] [NÚMEROS-MARCAS]

Numera as faixas seleccionadas a começar em NÚMERO-FAIXA (1 por omissão).

Filtro

filter [ NOME-FILTRO | FORMATO-FILTRO ]

Filtra os ficheiros de forma que apenas os ficheiros correspondentes ao FORMATO-FILTRO fiquem visíveis. O nome de uma expressão de filtro predefinida (p.ex. "Falta de Correspondência Entre Nomes de Ficheiros e Marcas") pode ser usado em vez de uma expressão 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] [NÚMEROS-MARCAS]

Configura os nomes dos ficheiros seleccionados a partir dos valores nas marcas; por exemplo fromtag '%{track} - %{title}' 1. Se não for indicado nenhum formato, será usado o formato definido na GUI.

Marca a partir do nome do ficheiro

totag [FORMATO] [NÚMEROS-MARCAS]

É 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 definido na GUI, serão testados alguns outros formatos usados de forma comum.

Marca para outra marca

syncto {NÚMERO-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 [NÚMERO-MARCA]

Copia os pacotes de marcas do ficheiro seleccionado para a área de cópia interna. Eles poderão 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 número do disco e os direitos de cópia, use

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

Colar

paste [NÚMERO-MARCA]

Configura os pacotes de marcas a partir do conteúdo da área do comando copy sobre os ficheiros seleccionados.

Remover

remove [NÚMERO-MARCA]

Remove uma marca.

É possível remover apenas um sub-conjunto dos pacotes se os seleccionar como descrito no comando copy.

Configurar o Kid3

config [OPÇÃO] [VALOR]

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

Uma OPÇÃO consiste no nome de um grupo e de uma propriedade, separados por um ponto. Quando não for indicada nenhuma OPÇÃO, aparecem todos os grupos disponíveis. Para um dado grupo e propriedade, aparece o valor configurado de momento. Para mudar a configuração, o novo valor pode ser passado como segundo argumento.

Se o valor de uma dada opção for uma lista, todos os elementos da lista têm de ser indicados como argumentos. Isto significa que, para adicionar um elemento a uma lista de elementos existente, todos os elementos existentes terão de ser passados seguidos pelo novo elemento. Nessa situação, é mais fácil usar o modo JSON, onde a lista actual poderá ser copiada com o novo elemento adicionado.

Executar um binário ou um programa em QML

execute [@qml] {FICHEIRO} [ARGUMENTOS]

Executa um programa em QML ou um executável.

Sem o @qml, é executado um programa binário com os argumentos. Quando o @qml é passado como primeiro argumento, os seguintes são 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"
/localização/da/pasta/

Aqui o exportacao.csv é o argumento do programa ExportarCsv.qml, onde a /localização/da/pasta/ é o argumento FICHEIRO do kid3-cli.