Розділ 4. kid3-cli

Команди

kid3-cli є інтерфейсом командного рядка до Kid3. Якщо як аргумент команди буде використано шлях до теки, програма відкриє цю теку. Якщо буде вказано декілька шляхів, буде відкрито найдовшу спільну теку із цих шляхів, а вказані у шляхах файли буде позначено. Наступні команди оброблятимуть позначені файли. Команди можна вказувати у командному рядку за допомогою параметра -c. Якщо вказано декілька команд, їх буде виконано у вказаному порядку. Якщо команди вносять зміни до файлів, ці зміни буде збережено під час завершення роботи програми. Якщо програмі не буде передано параметрів-команд, kid3-cli буде запущено в інтерактивному режимі. Ви зможете вводити команди і працювати із поточними позначеними файлами. У наступних розділах наведено список усіх доступних команд.

Довідка

help [НАЗВА-КОМАНДИ]

Вивести довідкові відомості щодо параметрів команди НАЗВА-КОМАНДИ або усіх команд, якщо назву команди не вказано.

Час очікування

timeout [ default | off | ЧАС ]

Перезаписати типове значення часу очікування на виконання команди. Виконання команд командного інтерфейсу буде перервано, якщо буде перевищено вказаний час очікування. Типовим часом очікування є 10 секунд для команд ls і albumart, 60 секунд для команд autoimport і filter і 3 секунди для усіх інших команд. Якщо вам потрібно обробити багато файлів, ці часи очікування є надто жорсткими, тому ви можете встановити час очікування для усіх команд рівним ЧАС мілісекунд, вимкнути час очікування взагалі або лишити типові значення для часів очікування.

Вийти з програми

exit [force]

Завершити роботу програми. Якщо деякі зі змінених файлів не збережено, для завершення роботи потрібен параметр force.

Змінити теку

cd [ТЕКА]

Якщо значення ТЕКА не буде вказано, перехід буде здійснено до домашньої теки користувача. Якщо теку вказано, перехід відбудеться до вказаної теки. Якщо вказано один або декілька шляхів до файлів, перехід буде здійснено до теки, у якій зберігаються усі ці файли, а пункти файлів буде позначено.

Вивести назву поточної теки

pwd

Вивести назву поточного робочої теки.

Список тек

ls

Показати вміст поточної теки. Відповідає списку файлів у основному графічному інтерфейсі Kid3. П'ять символів перед назвою файла показують його поточний стан.

  • > Файл позначено.

  • * Файл змінено.

  • 1 Файл містить мітку 1; якщо це не так, буде показано «-».

  • 2 Файл містить мітку 2; якщо це не так, буде показано «-».

  • 3 Файл містить мітку 3; якщо це не так, буде показано «-».

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

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

У нашому прикладі усі файли містять мітку 1, другий файл також містить мітку 2 і його позначено. До третього файла внесено зміни.

Збереження змінених файлів

save

Вибір файла

select [ all | none | first | previous | next | ФАЙЛ... ]

Щоб позначити усі файли, введіть команду select all. Щоб зняти позначення з усіх файлів, скористайтеся командою select none. Щоб пройтися усіма файлами у поточній теці, спочатку віддайте команду select first, а потім пересувайтеся списком за допомогою команд select next (перехід до наступного) та select previous (перехід до попереднього). Додати окремі файли до поточного позначення можна вказавши їхні назви безпосередньо. Можна використовувати символи замінники, наприклад, select *.mp3 призведе до позначення усіх файлів MP3 у поточній теці.

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

Вибрати мітку

tag [НОМЕРИ-МІТОК ]

У багатьох командах передбачено необов'язковий параметр НОМЕРИ-МІТОК, який вказує, над якою міткою виконується команда — 1, 2 чи 3. Якщо цей параметр не вказано, буде використано типові номери міток, які можна вказати за допомогою цієї команди. Одразу після запуску буде встановлено значення 12, тобто дані буде прочитано із мітки 2, якщо таку буде виявлено, і з мітки 1, якщо мітки 2 виявлено не буде; зміни вноситимуться до мітки 2. Ви можете встановити для змінної НОМЕРИ-МІТОК значення 1, 2 або 3, щоб працювати лише із відповідною міткою. Якщо параметр вказано не буде, у відповідь на команду буде показано поточне значення параметра номерів міток.

Отримання кадру міток

get [ all | НАЗВА-КАДРУ ] [НОМЕРИ-МІТОК]

За допомогою цієї команди можна прочитати значення у певному кадрі мітки або отримати відомості щодо усіх кадрів мітки (якщо не вказано аргумент або вказано all). Змінені кадри буде позначено символом «*».

kid3-cli> get
Файл: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
  Назва: 01 Intro.mp3
Мітка 1: ID3v1.1
  Заголовок     Intro
  Виконавець    One Hit Wonder
  Альбом        Let's Tag
  Дата          2013
  Номер доріжки 1
  Жанр          Pop
kid3-cli> get title
Intro

Щоб зберегти вміст кадру зображення до файла, скористайтеся командою

get picture:'/шлях/до/теки.jpg'

Щоб зберегти синхронізований текст пісні до файла LRC, скористайтеся командою

get SYLT:'/шлях/до/тексту_пісні.lrc'

Можна отримати дані лише щодо одного вказаного поля кадру, наприклад get POPM.Email для поля Email у кадрі Popularimeter. Якщо у файлі зберігається декілька кадрів одного типу, різні кадри можна індексувати квадратними дужками. Наприклад, дані першого з виконавців у коментарі Vorbis можна отримати за допомогою команди get performer[0], а дані другого — за допомогою команди get performer[1].

Псевдополем із назвою «selected» можна скористатися для перевірки, чи позначено кадр. Наприклад, get artist.selected поверне 1, якщо кадр виконавця позначено, і 0, якщо ні.

Для отримання значення поля «rating» може бути використано псевдополе «ratingstars», яке містить специфічне для формату значення, що відповідає кількості зірочок (від 0 до 5). При використанні «rating» буде повернуто внутрішнє значення.

Встановити обгортку мітки

set {НАЗВА-КАДРУ} {ЗНАЧЕННЯ-КАДРУ} [НОМЕРИ-МІТОК]

Ця команда встановлює значення вказано кадру мітки. Якщо значення ЗНАЧЕННЯ-КАДРУ є порожнім, кадр буде вилучено.

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

Щоб встановити вміст кадру зображення з файла, скористайтеся командою

set picture:'/шлях/до/теки.jpg' 'Опис зображення'

Щоб використати синхронізований текст пісні з файла LRC, скористайтеся командою

set SYLT:'/шлях/до/тексту_пісні.lrc' 'Опис тексту пісні'

Щоб встановити певне поле у кадрі, слід вказати назву поля після крапки. Наприклад, щоб встановити значення поля лічильника у кадрі Popularimeter, скористайтеся командою

set POPM.Counter 5

Можливим застосуванням до специфікації полів є випадок, коли вам потрібно створити нетиповий кадр TXXX зі описом «rating», замість стандартного кадру Popularimeter (такі оцінки використовуються у деяких додатках). Ви можете створити такий кадр оцінки TXXX за допомогою kid3-cli. Втім, спершу вам слід створити кадр TXXX із описом «rating», а потім вже встановити значення оцінки для цього кадру.

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

Перша команда вилучає наявний кадр POPM, оскільки якщо такий кадр існує, set rating 5 запише значення до кадру POPM, а не до кадру TXXX. Іншим варіантом встановлення значення є команда set TXXX.Text 5, але вона працюватиме, лише якщо немає ніяких інших кадрів TXXX.

Для встановлення декількох кадрів однакового типу можна вказати індекс у дужках. Цим можна скористатися, наприклад, для встановлення декількох акомпаніаторів у коментарі Vorbis. Приклад:

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

Для позначення певних кадрів до дій з копіювання, вставляння або вилучення, можна скористатися псевдоназвою поля «selected». Зазвичай, буде позначено усі кадри. Щоб зняти позначення з усіх кадрів, скористайтеся командою set '*.selected' 0. Після цього, наприклад, можна віддати команду set artist.selected 1, щоб позначити лише кадр виконавця.

Для встановлення значення поля «rating» може бути використано псевдополе «ratingstars», яке містить специфічне для формату значення, що відповідає кількості зірочок (від 0 до 5). Для встановлення внутрішнього значення може бути використано поле із назвою «rating».

Встановлення «ratingstars» одразу для декількох файлів призведе до непрацездатності різних форматів міток, оскільки пов'язане із полем значення буде створено для першого файла, а потім використано для усіх інших файлів. Тому, замість kid3-cli -c "set ratingstars 2" *, вам слід скористатися командою for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done.

Скасувати

revert

Скасувати усі зміни у позначених файлах (або усіх файла, якщо нічого не позначено).

Імпортувати з файла

import {ФАЙЛ} {НАЗВА-ФОРМАТУ} [НОМЕРИ-МІТОК]

Мітки буде імпортовано з файла ФАЙЛ у форматі з назвою НАЗВА-ФОРМАТУ (наприклад, "CSV unquoted", див. імпортування).

Якщо команду tags віддано із параметром ФАЙЛ, мітки буде імпортовано з інших міток. Якщо не вказано параметр НАЗВА-ФОРМАТУ, має бути вказано параметри ДЖЕРЕЛО і ВИДОБУВАННЯ, див. імпортування з міток. Щоб застосувати імпортування з міток до позначених файлів, скористайтеся командою tagsel замість tags. У цій функції також передбачено підтримку виведення видобутого значення за допомогою значення параметра ВИДОБУВАННЯ %{__return}(.+).

Автоматичне імпортування

autoimport [НАЗВА-ПРОФІЛЮ] [НОМЕРИ-МІТОК]

Пакетне імпортування на основі профілю НАЗВА-ПРОФІЛЮ (див. Автоматичне імпортування; якщо профіль не вказано, буде використано "All").

Отримати зображення обкладинки альбому

albumart {АДРЕСА} [all]

Встановити зображення обкладинки альбому шляхом отримання зображення з адреси АДРЕСА. Для перетворення звичайних адрес (наприклад, з Amazom) на адреси зображень буде використано правила, які визначено у діалоговому вікні Навігація обкладинками. Щоб встановити зображення обкладинки з локального файла зображення, скористайтеся командою set.

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

Експортувати до файла

export {ФАЙЛ} {НАЗВА-ФОРМАТУ} [НОМЕРИ-МІТОК]

Мітки буде експортовано до файла ФАЙЛ у форматі з назвою НАЗВА-ФОРМАТУ (наприклад, "CSV unquoted", див експортування).

Створити список відтворення

playlist

Створення списку відтворення у форматі, який вказано у налаштуваннях, див. створення списку відтворення.

Застосувати формат назв файлів

filenameformat

Застосувати формат назви файла, який встановлено у налаштуваннях, див. застосування формату назв файлів.

Застосувати формат мітки

tagformat

Застосувати формат міток, який встановлено у налаштуваннях, див. застосування формату міток.

Застосувати кодування тексту

textencoding

Застосувати кодування тексту, яке встановлено у налаштуваннях, див. застосування кодування тексту.

Перейменувати теку

renamedir [ФОРМАТ] [ create | rename | dryrun ] [НОМЕРИ-МІТОК]

Перейменувати або створити теки на основі значень міток відповідно до вказаного формату ФОРМАТ (наприклад, %{artist} - %{album}, див. перейменування теки). Якщо формат не вказано, буде використано формат, визначений за допомогою діалогового вікна Перейменування теки. Типовим режимом є rename; для створення тек слід явним чином вказати параметр create. Дії з перейменовування буде виконано негайно. Щоб попередньо переглянути список дій, які буде виконано, скористайтеся параметром dryrun.

Кількість доріжок

numbertracks [НОМЕР-ДОРІЖКИ] [НОМЕРИ-МІТОК]

Нумерувати позначені доріжки, починаючи з номера НОМЕР-ДОРІЖКИ (1, якщо не вказано).

Фільтр

filter [ НАЗВА-ФІЛЬТРА | ФОРМАТ-ФІЛЬТРУВАННЯ ]

Фільтрувати файли так, що видимими будуть лише файли, які відповідають формату ФОРМАТ-ФІЛЬТРУВАННЯ. Можна скористатися попередньо визначеним виразом фільтрування (наприклад, «Невідповідність мітки і назви файла») замість виразу для фільтрування, див. фільтрування.

kid3-cli> filter '%{title} contains "tro"'
Початок
  /home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
- 02 We Only Got This One.mp3
+ 03 Outro.mp3
Завершено
kid3-cli> ls
  1-- 01 Intro.mp3
  1-- 03 Outro.mp3
kid3-cli> filter All
Початок
  /home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
+ 02 We Only Got This One.mp3
+ 03 Outro.mp3
Завершено
kid3-cli> ls
  1-- 01 Intro.mp3
  12- 02 We Only Got This One.mp3
  1-- 03 Outro.mp3

Перетворити ID3v2.3 на ID3v2.4

to24

Перетворити ID3v2.4 на ID3v2.3

to23

Назва файла з мітки

fromtag [ФОРМАТ] [НОМЕРИ-МІТОК]

Встановлення назв позначених файлів на основі значень у мітках. Приклад: fromtag '%{track} - %{title}' 1. Якщо формат не вказано, буде використано формат, який встановлено у графічному інтерфейсі.

Мітка з назви файла

totag [ФОРМАТ] [НОМЕРИ-МІТОК]

Встановити вміст кадрів міток на основі назв файлів. Приклад: totag '%{albumartist} - %{album}/%{track} %{title}' 2. Якщо формат не вказано, буде використано формат, який визначено у графічному інтерфейсі програми. Якщо формат назви файла не відповідає вказаному взірцю, програма спробує використати інші поширені формати.

Мітку на іншу мітку

syncto {НОМЕР-МІТКИ}

Копіювати вміст кадрів міток з одної мітки до іншої мітки. Наприклад, щоб заповнити мітку ID3v2 даними з мітки ID3v1, скористайтеся командою syncto 2.

Копіювати

copy [НОМЕР-МІТКИ]

Копіювати вміст кадрів мітки позначеного файла до внутрішнього буфера копіювання даних. Далі, вміст можна записати до іншого файла за допомогою команди paste.

Щоб скопіювати лише вміст певної підмножини кадрів, скористайтеся псевдополем «selected» за допомогою команди set. Наприклад, щоб скопіювати лише вміст кадрів номера диска та авторських прав, скористайтеся такими командами:

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

Вставити

paste [НОМЕР-МІТКИ]

Встановити вміст кадрів мітки на основі вмісту буфера copy для позначених файлів.

Вилучити

remove [НОМЕР-МІТКИ]

Вилучити мітку.

Передбачено можливість вилучення вмісту лише підмножини кадрів. Вибрати потрібні кадри можна у спосіб, який описано у документації до команди copy.

Налаштовування Kid3

config [ПАРАМЕТР] [ЗНАЧЕННЯ]

Виконати опитування значення параметра налаштувань або встановлення цього значення.

ПАРАМЕТР складається з назви групи і назви властивості, відокремлених крапкою. Якщо ПАРАМЕТР не вказано, буде показано усі доступні групи. Якщо вказано лише назву групи, буде показано усі доступні у групі властивості. Для заданої групи і властивості буде показано поточне налаштоване значення. Щоб змінити значення параметра, можна просто передати нове значення як другий аргумент.

Якщо значенням параметра є список, як аргументи слід передати усі елементи списку. Це означає, що для додавання елемента до наявного списку, слід передати усі наявні елементи, наприкінці яких слід вказати новий елемент. У таких випадках простіше скористатися режимом JSON, у якому поточний список можна скопіювати із дописуванням нового елемента.

Виконати програму або скрипт QML

execute [@qml] {ФАЙЛ} [АРГУМЕНТИ]

Виконати скрипт QML або виконуваний файл.

Без @qml програму буде виконано з аргументами. Якщо першим аргументом вказано @qml, наступними аргументами є скрипт QML та його аргументи. Наприклад, мітки теки може бути експортовано до файла export.csv за допомогою вказаної нижче команди.

kid3-cli -c "execute @qml
/usr/share/kid3/qml/script/ExportCsv.qml export.csv"
/шлях/до/теки/

Тут export.csv є аргументом до скрипту ExportCsv.qml, а /шлях/до/теки/ є аргументом ФАЙЛ до kid3-cli.