Capitolo 4. kid3-cli

Comandi

kid3-cli offre un'interfaccia a riga di comando per Kid3. Se si utilizza il percorso di una cartella, la cartella viene aperta. Se si forniscono uno o più percorsi di file, sarà aperta la cartella comune e i file saranno selezionati. I comandi successivi funzioneranno quindi su questi file. I comandi sono specificati utilizzando le opzioni -c. Se vengono passati più comandi, saranno eseguiti nell'ordine indicato. Se i file vengono modificati dai comandi, saranno salvati alla fine. Se non vengono passate opzioni di comando, kid3-cli si avvia in modalità interattiva. I comandi possono essere inseriti e opereranno sulla selezione attuale. Le seguenti sezioni elencano tutti i comandi disponibili.

Aiuto

help [NOME-COMANDO]

Visualizza un guida relativa ai parametri di NOME-COMANDO o su tutti i comandi, se nessun nome comando è specificato.

Tempo massimo

timeout [ default | off | TEMPO ]

Sovrascrivere il tempo massimo del comando predefinito. I comandi CLI si interrompono dopo che è scaduto un tempo massimo specifico del comando. Questo tempo massimo è di 10 secondi per ls e albumart, 60 secondi per autoimport e filter e 3 secondi per tutti gli altri comandi. Se è necessario elaborare un numero enorme di file, questi tempi potrebbero essere troppo restrittivi, pertanto il tempo massimo per tutti i comandi può essere impostato su TIME ms, disattivato del tutto o lasciato ai valori predefiniti.

Chiudere l'applicazione

exit [force]

Chiudere l'applicazione. Se ci sono file modificati e non salvati, è richiesto il parametro force.

Cambiare cartella

cd [CARTELLA]

Se non viene specificato FOLDER, passare alla cartella principale. Se viene fornita una cartella, passare alla cartella. Se vengono forniti uno o più percorsi di file, passare alla loro cartella comune e selezionare i file.

Stampare il nome della cartella attuale

pwd

Stampa il nome della cartella di lavoro attuale.

Elenco delle cartelle

ls

Elenca il contenuto della cartella attuale. Questo corrisponde all'elenco dei file nella GUI di Kid3. Cinque caratteri prima dei nomi dei file mostrano lo stato del file.

  • > Il file è selezionato.

  • * Il file è modificato.

  • 1 Il file ha un tag 1, altrimenti '-' è visualizzato.

  • 2 Il file ha un tag 2, altrimenti '-' è visualizzato.

  • 3 Il file ha un tag 3, altrimenti '-' è visualizzato.

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

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

In questo esempio, tutti i file hanno un tag 1, il secondo file ha anche un tag 2 ed è selezionato. Il terzo file è modificato.

Salvare i file modificati

save

Selezionare i file

select [ all | none | first | previous | next | FILE... ]

Per selezionare tutti i file, digitare select all, per deselezionare tutti i file, digitare select none. Per attraversare i file nella cartella attuale iniziare con select first, quindi andare avanti utilizzando select next o indietro utilizzando select previous. È possibile aggiungere file specifici alla selezione attuale assegnando i nomi ai file. I metacaratteri sono possibili, quindi select *.mp3 selezionerà tutti i file MP3 nella cartella attuale.

kid3-cli> select first
kid3-cli> ls

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

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

> 1-- 01 Intro.mp3

> 12- 02 We Only Got This One.mp3

>*1-- 03 Outro.mp3

Selezionare i tag

tag [NUMERI-TAG]

Molti comandi hanno un parametro TAG-NUMBERS facoltativo, che specifica se il comando opera sui tag 1, 2 o 3. Se questo parametro viene omesso, vengono utilizzati i numeri dei tag predefiniti, che possono essere impostati da questo comando. All'avvio, è impostato su 12, il che significa che le informazioni vengono lette dal tag 2 se disponibili, altrimenti dal tag 1; le modifiche sono apportate al tag 2. TAG-NUMBERS può essere impostato su 1, 2 o 3 per operare solo sul tag corrispondente. Se il parametro viene omesso, viene visualizzata l'impostazione attuale.

Ottenere il frame del tag

get [ all | NOME-FRAME ] [NUMERI-TAG]

Questo comando può essere utilizzato per leggere il valore del frame di un tag specifico o ottenere informazioni su tutti i frame di tag (se l'argomento viene omesso o viene utilizzato all). I frame modificati sono marcati con un '*'.

kid3-cli> get
File: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
  Name: 01 Intro.mp3
Tag 1: ID3v1.1
  Title         Intro
  Artist        One Hit Wonder
  Album         Let's Tag
  Date          2013
  Track Number  1
  Genre         Pop
kid3-cli> get title
Intro

Per salvare il contenuto del frame di un'immagine in un file, utilizzare

get picture:'/percorso/a/folder.jpg'

Per salvare i testi sincronizzati in un file LRC, utilizzare

get SYLT:'/percorso/a/testo.lrc'

È possibile ottenere solo un campo specifico da un frame, ad esempio get POPM.Email per il campo Email di un frame Popularimeter. Se un file ha più frame dello stesso tipo, i diversi frame possono essere indicizzati con parentesi, ad esempio il primo interprete da un commento di Vorbis può essere recuperato utilizzando get performer [0], il secondo utilizzando get performer [1].

Il nome dello pseudo-campo «selected» può essere utilizzato per verificare se è selezionata un frame, ad esempio get artist.selected restituirà 1 se è selezionato il frame dell'artista, altrimenti 0.

Il nome dello pseudo-frame «ratingstars» può essere utilizzato per ottenere il valore del frame «rating» come valore specifico del formato corrispondente al numero di stelle (da 0 a 5). Quando si utilizza «rating», viene restituito il valore interno.

Impostare il frame del tag

set {NOME-FRAME} {VALORE-FRAME} [NUMERI-TAG]

Questo comando imposta il valore del frame di un tag specifico. Se FRAME-VALUE è vuoto, il frame viene eliminato.

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

Per impostare il contenuto di un frame da un file, utilizzare

set picture:'/percorso/a/folder.jpg' 'Descrizione immagine'

Per impostare i testi sincronizzati da un file LRC, utilizzare

set SYLT:'/percorso/a/testo.lrc' 'Descrizione del testo'

Per impostare un campo specifico di un frame, il nome del campo può essere dato dopo un punto, ad es. per impostare il campo Contatore di un frame Popularimeter, utilizzare

set POPM.Counter 5

Un'applicazione per le specifiche del campo è il caso in cui si desidera un frame TXXX personalizzato con descrizione «rating» anziché un frame Popularimeter standard (questo sembra essere utilizzato da alcune estensioni). È possibile creare un frame di classificazione TXXX con kid3-cli, tuttavia è necessario prima creare un frame TXXX con la descrizione «rating» e quindi impostare il valore di questo frame sul valore di rating.

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

Il primo comando eliminerà un frame POPM esistente, perché se esiste un frame del genere, set rating 5 imposterà il frame POPM e non il frame TXXX. Un'altra possibilità sarebbe quella di utilizzare set TXXX.Text 5, ma funzionerebbe solo se non fosse presente nessun altro frame TXXX.

Per impostare più frame dello stesso tipo, è possibile indicare un indice tra parentesi, ad es. per impostare più performer in un commento di Vorbis, utilizzare

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

Per selezionare determinati frame prima di copiare, incollare o rimuovere un'azione, è possibile utilizzare il nome dello pseudo-campo «selected». Normalmente, tutti i frame sono selezionati, per deselezionare tutto, utilizzare set '*.selected' 0, quindi ad esempio set artist.selected 1 per selezionare il frame dell'artista.

Il nome dello pseudo-frame «ratingstars» può essere utilizzato per impostare il valore del frame «rating» sul valore specifico del formato corrispondente al numero di stelle (da 0 a 5). Il nome del frame «rating» può essere utilizzato per impostare il valore interno.

L'impostazione di «ratingstars» su più file con formati di tag diversi non funzionerà perché il frame con il valore mappato dal conteggio delle stelle viene creato per il primo file e poi utilizzato per tutti i file. Quindi invece di kid3-cli -c "set ratingstars 2" * dovresti piuttosto usare for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done.

Ripristinare

revert

Annullare tutte le modifiche nei file selezionati (o tutti i file se non è selezionato alcun file).

Importare da file

import {FILE} {NOME-FORMATO} [NUMERI-TAG]

I tag sono importati dal file FILE nel formato con il nome FORMAT-NAME (ad es. «CSV non quotato» , vedere Importa).

Se tags viene fornito per FILE, i tag sono importati da altri tag. Invece di FORMAT-NAME sono richiesti i parametri SOURCE e EXTRACTION, vedere Importa da tag. Per applicare l'importazione dai tag sui file selezionati, utilizzare tagsel invece di tag. Questa funzione supporta anche il risultato del valore estratto utilizzando un EXTRACTION con il valore %{__return}(.+).

Importazione automatica

autoimport [NOME-PROFILO] [NUMERI-TAG]

Importazione in serie utilizzando il profilo PROFILE-NAME (vedere Importazione automatica, "All" viene utilizzato se omesso).

Scaricare le copertine

albumart {URL} [all]

Impostare la copertina dell'album scaricando un'immagine da URL. Le regole definite nella finestra Sfoglia copertina sono utilizzate per trasformare gli URL generici (ad es. da Amazon) in un URL di un'immagine. Per impostare la copertina dell'album da un file di immagine locale, utilizzare il comando set.

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

Esporta su file

export {FILE} {NOME-FORMATO} [NUMERI -TAG]

I tag sono esportati nel file FILE nel formato con il nome FORMAT-NAME (ad es. «CSV non quotato», vedere Esportazione).

Creare una scaletta

playlist

Creare una scaletta nel formato impostato nella configurazione, vedere Creare una scaletta.

Applicare il formato al nome file

filenameformat

Applicare il formato al nome file impostato nella configurazione, vedere Applicare il formato al nome file.

Applicare il formato al tag

tagformat

Applicare il formato del nome del tag impostato nella configurazione, vedere Applica il formato al tag.

Applicare la codifica del testo

textencoding

Applicare la codifica del testo impostata nella configurazione, vedere Applicare la codifica del testo.

Rinominare una cartella

renamedir [FORMATO] [ create | rename | dryrun ] [NUMERI-TAG]

Rinominare o creare cartelle dai valori nei tag in base a un determinato FORMAT (ad es. %{artist} - %{album}, vedere Rinomina cartella), se non viene fornito alcun formato, viene utilizzato il formato definito nella finestra Rinomina cartella. La modalità predefinita è rename; per creare cartelle, create deve essere esplicitamente indicata. Le azioni di rinomina saranno eseguite immediatamente, per verificare ciò che dovrebbe avvenire, utilizzare l'opzione dryrun.

Numera le tracce

numbertracks [NUMERO-TRACCIA] [NUMERI-TAG]

Numerare le tracce selezionate che iniziano con TRACK-NUMBER (1 se omesso).

Filtro

filter [ NOME-FILTRO | FORMATO FILTRO ]

Filtrare i file in modo che siano visibili solo i file corrispondenti a FILTER-FORMAT. È possibile utilizzare il nome di un'espressione di filtro predefinita (ad es. «Mancata corrispondenza tra nome file e tag») anziché un'espressione di filtro, vedere Filtro.

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

Convertire ID3v2.3 in ID3v2.4

to24

Convertire ID3v2.4 in ID3v2.3

to23

Nome file da tag

fromtag [FORMATO] [NUMERI-TAG]

Impostare i nomi dei file selezionati dai valori nei tag, ad esempio fromtag '%{track} - %{title}' 1. Se non si specifica alcun formato, è utilizzato invece il formato impostato nella GUI.

Tag da nome file

totag [FORMATO] [NUMERI-TAG]

Impostare i frame dei tag dai nomi dei file, ad esempio totag '%{albumartist} - %{album}/%{track}%{title}' 2. Se non si specificato alcun formato, è utilizzato il formato impostato nella GUI. Se il formato del nome file non corrisponde a questo modello, vengono provati altri formati comunemente utilizzati.

Tag in altro tag

syncto {NUMERO-TAG}

Copiare i frame dei tag da un tag all'altro tag, ad es. per impostare il tag ID3v2 dal tag ID3v1, utilizzare syncto 2.

Copia

copy [NUMERO-TAG]

Copiare i frame dei tag dei file selezionati nel buffer interno di copia. Essi possono essere impostati su un altro file utilizzando il comando paste.

Per copiare solo un sottoinsieme dei frame, utilizzare lo pseudo-campo «selected» con il comando set. Ad esempio, per copiare solo il numero del disco e i frame del copyright, utilizzare

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

Incolla

paste [NUMERO-TAG]

Impostare i frame dei tag dal contenuto del buffer copy nei file selezionati.

Rimuovi

remove [NUMERO-TAG]

Rimuovere un tag.

È possibile rimuovere solo un sottoinsieme dei frame selezionandoli come descritto nel comando copy.

Configura Kid3

config [OPZIONE] [VALORE]

Interroga o imposta un'opzione di configurazione.

L'OPZIONE è composta da un nome di gruppo e un nome della proprietà separato da un punto. Quando nessuna OPZIONE viene fornito, vengono visualizzati tutti i gruppi disponibili. Se viene fornito solo un nome di gruppo, vengono visualizzate tutte le proprietà disponibili del gruppo. Per un dato gruppo e proprietà, viene visualizzato il valore attualmente configurato. Per modificare l'impostazione, il nuovo valore può essere passato come secondo argomento.

Se il valore di un'impostazione è un elenco, tutti gli elementi dell'elenco devono essere forniti come argomenti. Ciò significa che per aggiungere un elemento a un elenco esistente di elementi, tutti gli elementi esistenti devono essere passati seguiti dal nuovo elemento. In una situazione del genere, è più facile utilizzare la modalità JSON, dove l'elenco attuale può essere copiato con il nuovo elemento aggiunto.

Esegui programma o script QML

execute [@qml] {FILE} [ARGOMENTI]

Esegui uno script QML o un eseguibile.

Senza @qml un programma è eseguito con argomenti. Quando @qml viene fornito come primo argomento, i seguenti argomenti sono lo script QML e i suoi argomenti. Ad esempio, le etichette di una cartella possono essere esportate nel file export.csv con il comando seguente.

kid3-cli -c "execute @qml
/usr/share/kid3/qml/script/ExportCsv.qml export.csv"
/percorso/cartella/

Qui export.csv è l'argomento per lo script ExportCsv.qml, mentre /percorso/a/cartella/ è l'argomento FILE per kid3-cli.