Kapitel 4. kid3-cli

Kommandon

kid3-cli erbjuder ett kommandoradsgränssnitt för Kid3. Om en katalogsökväg används, öppnas den katalogen. Om en eller flera filsökvägar anges, öppnas den gemensamma katalogen och filerna markeras. Efterföljande kommandon arbetar därefter med dessa filer. Kommandon anges med väljaren -c. Om flera kommandon anges, utförs de i angiven ordning. Om filer ändras av kommandon, sparas de på slutet. Om inga kommandoväljare anges, startar kid3-cli i interaktivt läge. Kommandon kan matas in och utförs med den aktuella markeringen. Följande avsnitt listar alla tillgängliga kommandon.

Hjälp

help [KOMMANDONAMN]

Visar hjälp om parametrarna för KOMMANDONAMN eller om alla kommandon om inget kommandonamn anges.

Tidsgräns

timeout [ default | off | TID ]

Skriv över den normala kommandotidsgränsen. Kommandoradens kommandon avbryts efter en kommandospecifik tidsgräns har överskridits. Tidsgränsen är 10 sekunder för ls och albumart, 60 sekunder för autoimport och filter, och 3 sekunder för alla andra kommandon. Om ett mycket stort antal filer måste behandlas, kan tidsgränserna vara för restriktiva, och sålunda kan tidsgränsen för alla kommandon ställas in till TID ms, stängas av helt och hållet eller lämnas som normala värden.

Avsluta programmet

exit [force]

Avsluta programmet. Om det finns ändrade osparade filer, krävs parametern force.

Byt katalog

cd [KATALOGER]

Om FOLDER inte anges, byt till hemkatalogen. Om en katalog anges, byt till den katalogen. Om en eller flera filsökvägar anges, byt till deras gemensamma katalog och markera filerna.

Skriv ut den aktuella katalogens filnamn

pwd

Skriver ut den aktuella arbetskatalogens filnamn.

Kataloglista

ls

Lista innehållet i den aktuella katalogen. Det motsvarar fillistan i Kid3s grafiska användargränssnitt. Fem tecken innan filnamnen visar filernas tillstånd.

  • > Filen är markerad.

  • * Filen är ändrad.

  • 1 Filen har en tagg 1, annars visas '-'.

  • 2 Filen har en tagg 2, annars visas '-'.

  • 3 Filen har en tagg 3, annars visas '-'.

kid3-cli> ls
  1-- 01 Början.mp3

> 12- 02 Vi har bara den här.mp3
 *1-- 03 Slutet.mp3

I det här exemplet har alla filer en tagg 1, den andra filen har också en tagg 2 och den är markerad. Den tredje filen är ändrad.

Spara de ändrade filerna

save

Markera fil

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

Skriv in select all för att markera alla filer,skriv in select none för att avmarkera alla filer. För att gå igenom filerna i aktuell katalog, börja med select first, gå sedan framåt med select next eller bakåt med select previous. Specifika filer kan läggas till i aktuell markering genom att ange deras filnamn. Jokertecken är möjliga, så select *.mp3 markerar alla MP3-filer i den aktuella katalogen.

kid3-cli> select first
kid3-cli> ls

> 1-- 01 Början.mp3
  12- 02 Vi har bara den här.mp3
 *1-- 03 Slutet.mp3
kid3-cli> select next
kid3-cli> ls
  1-- 01 Början.mp3

> 12- 02 Vi har bara den här.mp3
 *1-- 03 Slutet.mp3
kid3-cli> select *.mp3
kid3-cli> ls

> 1-- 01 Början.mp3

> 12- 02 Vi har bara den här.mp3

>*1-- 03 Slutet.mp3

Välj tagg

tag [TAGGNUMMER]

Många kommandon har en valfri parameter TAGGNUMMER, som anger om kommandot gäller tagg 1, 2 eller 3. Om parametern utelämnas, används förvalda taggnummer, som kan ställas in med kommandot. Vid start är det inställt till 12, vilket betyder att information läses från tagg 2 om tillgänglig, annars från tagg 1, och ändringar görs av tagg 2. TAGGNUMMER kan ställas in till 1, 2 eller 3 för att bara gälla motsvarande tagg. Om parametern utelämnas visas den nuvarande inställningen.

Hämta taggram

get [ all | RAMNAMN ] [TAGGNUMMER]

Kommandot kan användas för att läsa värdet på en specifik taggram eller få information om alla taggramar (om argumentet utelämnas eller all används). Ändrade ramar är markerade med '*'.

kid3-cli> get
File: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
  Name: 01 Början.mp3
Tag 1: ID3v1.1
  Title         Intro
  Artist        Dagslända
  Album         Låt oss tagga
  Date          2013
  Track Number  1
  Genre         Pop
kid3-cli> get title
Intro

För att spara innehållet i en bildram till en fil, använd

get picture:'/sökväg/till/katalog.jpg'

För att spara synkroniserad sångtext till en LRC-fil, använd

get SYLT:'/sökväg/till/sångtext.lrc'

Det är möjilgt att bara hämta ett specifikt fält från en ram, exempelvis get POPM.Email för Email fältet i en Popularimeter ram. Om en fil har flera ramar av samma sort, kan de olika ramarna indexeras med hakparenteser, exempelvis kan den första utföraren från en Vorbis-kommentar hämtas genom att använda get performer[0], den andra genom att använda get performer[1].

Pseudofältnamnet "selected" kan användas för att kontrollera om en ram är markerad, exempelvis returnerar get artist.selected 1 om artistramen är markerad, annars 0.

Pseudorramnamnet "ratingstars" kan användas för att hämta värdet av rutan "rating" eftersom det formatspecifika värdet motsvarar antal stjärnor (0 till 5). När "rating" används, returneras det interna värdet.

Ange taggram

set {RAMNAMN} {RAMVÄRDE} [TAGGNUMMER]

Kommandot tilldelar en specifik taggrams värde. Om FRAMEVALUE är tomt, tas ramen bort.

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

För att ställa in innehållet i en bildram från en fil, använd

set picture:'/sökväg/till/katalog.jpg' 'Bildbeskrivning'

För att tilldela synkroniserad sångtext från en LRC-fil, använd

set SYLT:'/sökväg/till/sångtext.lrc' 'Sångtextbeskrivning'

För att tilldela ett specifikt fält i en ram, kan fältnamnet anges efter en punkt. För att tilldela fältet Counter i ramen Popularimeter använd t.ex.

set POPM.Counter 5

Ett program för fältspecifikationer är fallet då du vill ha en egen TXXX-ram med beskrivning av "rating" istället för den vanliga Popularimeter ramen (som verkar användas av vissa insticksprogram). Du kan skapa en sådan TXXX-betygsram med kid3-cli. Dock måste du först skapa en TXXX-ram med beskrivningen "rating" och därefter tilldela ramens värde till betygsvärdet.

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

Det första kommandot tar bort en befintlig POPM-ram, eftersom om en sådan ram finns, skulle set rating 5 använda POPM-ramen och inte TXXX-ramen. En annan möjlighet skulle vara att använda set TXXX.Text 5, men det skulle bara fungera om det inte fanns någon annan TXXX-ram.

För att tilldela flera ramar av samma sort, kan ett index anges inom hakparenteser. För att tilldela flera utövare i en Vorbis-kommentar använd t.ex.

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

För att markera vissa ramar innan kopierings-, inklistrings- eller borttagningsåtgärder, kan pseudofältnamnet "selected" användas. Normalt är alla ramar markerade. För att avmarkera alla, använd set '*.selected' 0, och därefter exempelvis set artist.selected 1 för att markera artistramen.

Pseudorramnamnet "ratingstars" kan användas för ange värdet av rutan "rating" till det formatspecifika värdet som motsvarar antal stjärnor (0 till 5). Ramnamnet "rating" kan användas för att ange det interna värdet.

Att ange "ratingstars" för flera filer som har olika taggformat fungerar inte, eftersom ramen med värdet som avbildas från stjärnantalet skapas för den första filen och sedan används för alla filer. Så att istället använda kid3-cli -c "set ratingstars 2" * ska du istället använda for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done.

Återställ

revert

Återställ alla ändringar i de markerade filerna (eller alla filer om inga filer är markerade).

Importera från fil

import {FIL} {FORMATNAMN} [TAGGNUMMER]

Taggar importeras från filen FIL på formatet vid namn FORMATNAMN (tex. "CSV unquoted". Se Import).

Om tags anges för FIL, importeras taggar från andra taggar. Istället för FORMATNAMN krävs KÄLLA och EXTRAHERING, se Import från taggar. För att utföra import från taggar med de markerade filerna, använda tagsel istället för tags. Funktionen stöder också utmatning av det extraherade värdet genom att använda EXTRAHERING med värdet %{__return}(.+).

Automatisk import

autoimport [PROFILNAMN] [TAGGNUMMER]

Import i bakgrunden genom att använda profilen PROFILNAMN (se Automatisk import, "All" används om utelämnat).

Ladda ner albumomslag

albumart {WEBBADRESS} [all]

Tilldela albumomslaget genom att ladda ner en bild från WEBBADRESS. Reglerna definierade i dialogrutan Bläddra bland omslag används för att översätta allmänna webbadresser (t.ex. från Amazon) till en bildwebbadress. För att tilldela albumomslaget från en lokal bildfil, använd kommandot set.

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

Exportera till fil

export {FIL} {FORMATNAMN} [TAGGNUMMER]

Taggar exporteras till filen FIL på formatet vid namn FORMATNAMN (t.ex. "CSV unquoted". Se Export.

Skapa spellista

playlist

Skapa en spellista med formatet valt i inställningarna, se Skapa spellista.

Verkställ filnamnsformat

filenameformat

Verkställ filnamnsformatet valt i inställningarna, se Verkställ filnamnsformat.

Verkställ taggformat

tagformat

Verkställ taggnamnsformatet valt i inställningarna, se Verkställ taggformat.

Verkställ textkodning

textencoding

Verkställ textkodningen vald i inställningarna, se Verkställ textkodning.

Byt namn på katalog

renamedir [FORMAT] [ create | rename | dryrun ] [TAGGNUMMER]

Byt namn på eller skapa kataloger från värdena i taggarna enligt ett givet FORMAT (t.ex. %{artist} - %{album}, se Byt namn på katalog). Om inget format anges, används formatet definierat i Byt namn på katalog. Standardläget är rename. För att skapa kataloger måste create explicit användas. Namnbytesåtgärderna utförs omedelbart, för att bara se vad som skulle göras, använd väljaren dryrun.

Numrera spår

numbertracks [SPÅRNUMMER] [TAGGNUMMER]

Numrera de markerade spåren med början på SPÅRNUMMER (1 om utelämnat).

Filtrera

filter [ FILTERNAMN | FILTERFORMAT ]

Filtrera filerna så att bara filerna som matchar FILTERFORMAT är synliga. Namnet på ett fördefinierat filteruttryck (t.ex. "Filnamn tagg missanpassning") kan användas istället för att filteruttryck, se Filter.

kid3-cli> filter '%{title} contains "tro"'
Started
  /home/urs/Dagslända - Låt oss tagga
+ 01 Början.mp3
- 02 Vi har bara den här.mp3
+ 03 Slutet.mp3
Finished
kid3-cli> ls
  1-- 01 Början.mp3
  1-- 03 Slutet.mp3
kid3-cli> filter All
Started
  /home/urs/Dagslända - Låt oss tagga
+ 01 Början.mp3
+ 02 Vi har bara den här.mp3
+ 03 Slutet.mp3
Finished
kid3-cli> ls
  1-- 01 Början.mp3
  12- 02 Vi har bara den här.mp3
  1-- 03 Slutet.mp3

Konvertera ID3v2.3 till ID3v2.4

to24

Konvertera ID3v2.4 till ID3v2.3

to23

Filnamn från tagg

fromtag [FORMAT] [TAGGNUMMER]

Ställ in filnamn för markerade filer från värden i taggarna, exempelvis fromtag '%{track} - %{title}' 1. Om inget format anges, används formatet som ställts in i det grafiska användargränssnittet.

Tagg från filnamn

totag [FORMAT] [TAGGNUMMER]

Tilldela taggramar från filnamnen, exempelvis totag '%{albumartist} - %{album}/%{track} %{title}' 2. Om inget format anges, används formatet inställt i det grafiska användargränssnittet. Om filnamnets format inte matchar mönstret, provas några andra ofta använda format.

Tagg till annan tagg

syncto {TAGGNUMMER}

Kopiera taggramarna från en tagg till den andra taggen, använd t.ex. syncto 2 för att tilldela ID3v2-taggen från ID3v1-taggen.

Kopiera

copy [TAGGNUMMER]

Kopiera de markerade filernas taggramar till den interna kopieringsbufferten. De kan därefter tilldelas till en annan fil genom att använda kommandot paste.

För att bara kopiera en delmängd av ramarna, använd pseudofältet "selected" med kommandot set. För att exempelvis bara kopiera skivnummer- och copyrightramar, använd

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

Klistra in

paste [TAGGNUMMER]

Tilldela taggramar från innehållet i copy-bufferten för de markerade filerna.

Ta bort

remove [TAGGNUMMER]

Ta bort en tagg.

Det är möjligt att bara ta bort en delmängd av ramarna genom att markera dem som beskrivs för kommandot copy.

Anpassa Kid3

config [ALTERNATIV] [VÄRDE]

Fråga efter eller ställ in ett inställningsalternativ.

ALTERNATIV består av ett gruppnamn och ett egenskapsnamn åtskilda av en punkt. När inget ALTERNATIV anges, visas alla tillgängliga grupper. Om bara ett gruppnamn anges, visas alla gruppens tillgängliga egenskaper. För en given grupp och egenskap, visas det för närvarande inställda värdet. För att ändra inställningen kan det nya värdet anges som andra argument.

Om en inställnings värde är en lista, måste alla listelement anges som argument. Det betyder att för att lägga till ett element i en befintlig lista, måste alla befintliga element anges, följda av det nya elementet. I ett sådant fall är det enklare att använda JSON, där den nuvarande listan kan kopieras, med det nya elementet tillagt.

Kör program eller QML-skript

execute [@qml] {FIL} [ARGUMENT]

Kör ett QML-skript eller körbar fil.

Utan @qml körs ett program med väljare. När @qml anges som första argument, är följande argument QML-skriptet och dess argument. Exempelvis kan taggarna i en katalog exporteras till filen export.csv med följande kommando.

kid3-cli -c "execute @qml
/usr/share/kid3/qml/script/ExportCsv.qml export.csv"
/sökväg/till/katalog/

Här är export.csv argumentet för skriptet ExportCsv.qml, medan /sökväg/till/katalog/ är argumentet FIL för kid3-cli.