Підручник з kid3 - kde · Пiдручник з kid3 Розробка...

67
Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською: Юрiй Чорноiван

Upload: others

Post on 29-Aug-2020

45 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Розробка програмного забезпечення: Urs FleischПереклад українською: Юрiй Чорноiван

Page 2: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

2

Page 3: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Змiст

1 Вступ 11

2 Користування Kid3 12

2.1 Можливостi Kid3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Приклад використання . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Довiдка щодо команд 14

3.1 Елементи графiчного iнтерфейсу . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.1 Список файлiв . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.2 Редагування списку вiдтворення . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.3 Список тек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1.4 Файл . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1.5 Мiтка 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.6 Мiтка 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.7 Мiтка 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.8 Список кадрiв . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.9 Синхронiзацiя тексту пiсень iз часовими кодами подiй . . . . . . . . . . 21

3.2 Меню «Файл» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3 Меню «Змiни» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4 Меню «Iнструменти» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Меню «Параметри» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.6 Меню «Довiдка» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 kid3-cli 414.1 Команди . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1.1 Довiдка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1.2 Час очiкування . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1.3 Вийти з програми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1.4 Змiнити теку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

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

4.1.6 Список тек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.1.7 Збереження змiнених файлiв . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1.8 Вибiр файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1.9 Вибрати мiтку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Page 4: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

4.1.10 Отримання кадру мiток . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.1.11 Встановити обгортку мiтки . . . . . . . . . . . . . . . . . . . . . . . . . . 444.1.12 Скасувати . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.13 Iмпортувати з файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.14 Автоматичне iмпортування . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.15 Отримати зображення обкладинки альбому . . . . . . . . . . . . . . . . . 454.1.16 Експортувати до файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.17 Створити список вiдтворення . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.18 Застосувати формат назв файлiв . . . . . . . . . . . . . . . . . . . . . . . 464.1.19 Застосувати формат мiтки . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.1.20 Застосувати кодування тексту . . . . . . . . . . . . . . . . . . . . . . . . 464.1.21 Перейменувати теку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.1.22 Кiлькiсть дорiжок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.1.23 Фiльтр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.1.24 Перетворити ID3v2.3 на ID3v2.4 . . . . . . . . . . . . . . . . . . . . . . . 474.1.25 Перетворити ID3v2.4 на ID3v2.3 . . . . . . . . . . . . . . . . . . . . . . . 474.1.26 Назва файла з мiтки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1.27 Мiтка з назви файла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1.28 Мiтку на iншу мiтку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1.29 Копiювати . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1.30 Вставити . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.1.31 Вилучити . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2 Приклади . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3 Формат JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5 Авторськi права та лiцензування 50

А Встановлення 51А.1 Як отримати Kid3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51А.2 Технiчнi вимоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51А.3 Збирання i встановлення . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51А.4 Налаштування . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Б Iнтерфейс D-Bus 53Б.1 Приклади D-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Б.2 Програмний iнтерфейс D-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Б.2.1 Вiдкриття файла або теки . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Б.2.2 Вивантаження мiток усiх файлiв, якi не змiнено i не позначено . . . . . 54Б.2.3 Збереження усiх змiнених файлiв . . . . . . . . . . . . . . . . . . . . . . . 54Б.2.4 Отримання докладного повiдомлення щодо помилки, яке надається iн-

шими методами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Б.2.5 Скасовування змiн у позначених файлах . . . . . . . . . . . . . . . . . . 54Б.2.6 Запуск автоматичного пакетного iмпортування . . . . . . . . . . . . . . . 54Б.2.7 Iмпортуванням мiток з файла . . . . . . . . . . . . . . . . . . . . . . . . . 55

4

Page 5: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.8 Iмпортування мiток з iнших мiток . . . . . . . . . . . . . . . . . . . . . . 55Б.2.9 Iмпортування мiток з iнших мiток позначених файлiв . . . . . . . . . . . 55Б.2.10 Отримання зображення обкладинки альбому . . . . . . . . . . . . . . . . 55Б.2.11 Експортування мiток до файла . . . . . . . . . . . . . . . . . . . . . . . . 56Б.2.12 Створення списку вiдтворення . . . . . . . . . . . . . . . . . . . . . . . . 56Б.2.13 Отримання записiв у списку вiдтворення . . . . . . . . . . . . . . . . . . 56Б.2.14 Встановлення записiв списку вiдтворення . . . . . . . . . . . . . . . . . . 56Б.2.15 Вийти з програми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Б.2.16 Позначення усiх файлiв . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Б.2.17 Зняття позначення з усiх файлiв . . . . . . . . . . . . . . . . . . . . . . . 57Б.2.18 Встановлення першого файла як поточного файла . . . . . . . . . . . . . 57Б.2.19 Встановлення попереднього файла як поточного файла . . . . . . . . . . 57Б.2.20 Встановлення наступного файла як поточного файла . . . . . . . . . . . 57Б.2.21 Позначення першого файла . . . . . . . . . . . . . . . . . . . . . . . . . . 57Б.2.22 Позначення попереднього файла . . . . . . . . . . . . . . . . . . . . . . . 57Б.2.23 Позначення наступного файла . . . . . . . . . . . . . . . . . . . . . . . . 57Б.2.24 Позначення поточного файла . . . . . . . . . . . . . . . . . . . . . . . . . 57Б.2.25 Розгортання або згортання поточного пункту у файловiй iєрархiї, якщо

це тека . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Б.2.26 Застосування формату назви файла . . . . . . . . . . . . . . . . . . . . . 58Б.2.27 Застосування формату мiтки . . . . . . . . . . . . . . . . . . . . . . . . . 58Б.2.28 Застосувати кодування тексту . . . . . . . . . . . . . . . . . . . . . . . . 58Б.2.29 Встановлення назви теки на основi мiток . . . . . . . . . . . . . . . . . . 58Б.2.30 Встановлення послiдовної нумерацiї дорiжок для позначених файлiв . . 58Б.2.31 Фiльтрування файлiв . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Б.2.32 Перетворення мiток ID3v2.3 на ID3v2.4 . . . . . . . . . . . . . . . . . . . 58Б.2.33 Перетворення мiток ID3v2.4 на ID3v2.3 . . . . . . . . . . . . . . . . . . . 59Б.2.34 Отримання шляху до теки . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Б.2.35 Отримання назви поточного файла . . . . . . . . . . . . . . . . . . . . . . 59Б.2.36 Встановлення назви позначеного файла . . . . . . . . . . . . . . . . . . . 59Б.2.37 Встановлення формату, який буде використано при встановленнi назв

файлiв на основi мiток . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Б.2.38 Встановлення назв позначених файлiв на основi мiток . . . . . . . . . . 59Б.2.39 Отримання значення кадру . . . . . . . . . . . . . . . . . . . . . . . . . . 59Б.2.40 Встановлення значення кадру . . . . . . . . . . . . . . . . . . . . . . . . . 60Б.2.41 Отримання усiх кадрiв мiтки . . . . . . . . . . . . . . . . . . . . . . . . . 60Б.2.42 Отримання технiчних даних щодо файла . . . . . . . . . . . . . . . . . . 60Б.2.43 Встановлення мiтки на основi назви файла . . . . . . . . . . . . . . . . . 60Б.2.44 Встановлення мiтки на основi iншої мiтки . . . . . . . . . . . . . . . . . . 60Б.2.45 Копiювання мiтки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Б.2.46 Вставлення мiтки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Б.2.47 Вилучення мiтки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Б.2.48 Повторно обробити налаштування . . . . . . . . . . . . . . . . . . . . . . 61Б.2.49 Вiдтворення позначених файлiв . . . . . . . . . . . . . . . . . . . . . . . . 61

5

Page 6: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

В Iнтерфейс QML 62

В.1 Приклади QML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

В.2 Програмний iнтерфейс QML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

В.2.1 Kid3Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

В.2.2 Функцiї скриптiв . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

В.2.3 Контекст програми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

В.2.4 Об’єкти налаштовування . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6

Page 7: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Перелiк таблиць

3.1 Прив’язка унiфiкованих типiв кадрiв до рiзноманiтних форматiв . . . . . . . . 21

3.2 Запис у таблицi оцiнок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

7

Page 8: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Анотацiя

Kid3 — програма для ефективного редагування мiток ID3v1 i ID3v2 у файлах MP3.Крiм того, передбачено можливiсть редагування мiток у файла Ogg/Vorbis, Opus, DSF,FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFFi модулях tracker (MOD, S3M, IT, XM). За допомогою програми дуже просто можнавстановити однаковi мiтки для декiлькох файлiв (наприклад, встановити запис альбому,виконавця, рiк i жанр для усiх файлiв одного альбому) i створити мiтки на основi назвфайлiв, i навпаки.

Page 9: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Короткий опис

kid3 [--help | --author | --version | --license | --desktopfile ФАЙЛ] [ФАЙЛ ...]

kid3-qt [--portable] [Параметри Qt] [ФАЙЛ ...]

kid3-cli [--portable] [--dbus] [-h | --help] [-c КОМАНДА1] [-c КОМАНДА2...] [ФАЙЛ ...]

9

Page 10: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Параметри

--portableЗберегти файл налаштувань до kid3.ini у тецi програми.

ФАЙЛЯкщо ФАЙЛ є шляхом до теки, буде вiдкрито теку. Якщо вказано один або декiлькашляхiв до файлiв, буде вiдкрито спiльну теку цих файлiв, а файли буде позначено.

kid3

--helpПоказати довiдку щодо параметрiв.

--authorВивести данi щодо авторства програми.

--versionВивести данi щодо версiї програми.

--licenseВивести данi щодо умов лiцензування на програму.

--desktopfile ФАЙЛБазова назва файла для стiльничного запису цiєї програми.

kid3-qt

Параметри QtДив. qt5options(7).

kid3-cli

--dbusАктивувати iнтерфейс D-Bus.

-cВиконати команду. Можна використовувати декiлька параметрiв -c у однiй командiоболонки. Вказанi за їхньою допомогою команди буде виконано послiдовно. Див. роздiлщодо kid3-cli, у якому наведено опис доступних команд.

-h|--helpВивести довiдковi вiдомостi щодо параметрiв i команд.

10

Page 11: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Роздiл 1

Вступ

Kid3 — програма для ефективного редагування мiток ID3v1 i ID3v2 у файлах MP3. Цi мiткиможна редагування у бiльшостi з програм для вiдтворення MP3, але у не дуже ефективнийспосiб. Крiм того, передбачено можливiсть редагування мiток у файла Ogg/Vorbis, Opus,DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF iмодулях tracker (MOD, S3M, IT, XM).

Kid3 не створює i не кодує файли у форматi MP3. Програму призначено для ефективного ре-дагування мiток ID3 усiх файлiв в альбомi. Для цього достатньо декiлькох клацань кнопкоюмишi або натискань комбiнацiй клавiш. Там, де бiльшiсть iнших програм можуть редагуватиабо мiтки ID3v1, або мiтки ID3v2, Kid3 надає вам повний доступ до редагування обох версiй,перетворення мiток у цих двох форматах та доступ до усiх мiток ID3v2. Можна встановлюва-ти однакове значення для мiток у декiлькох файлах одночасно, наприклад, вказати однаковезначення для записiв виконавця, альбому, року та жанру для усiх файлiв у альбомi. Якщоданi для мiток мiстяться у назвах файлiв, можна автоматично встановити мiтки на основiназви файла. Передбачено можливiсть визначення назви файла за будь-якими мiтками, якiу ньому зберiгаються.

Крiм того, у завданнi з редагування передбачено пiдтримку автоматичної замiни символiвабо пiдрядкiв, наприклад, вилучення некоректних символiв iз назв файлiв. Автоматичневизначення регiстру символiв спрощує використання однорiдної схеми iменування для усiхмiток.Данi мiток для цiлих альбомiв можна отримувати з gnudb.org, TrackType.org, MusicBrainz,Discogs, Amazon або iнших джерел спискiв композицiй. Формат iмпортування можна довiль-ним чином налаштовувати за допомогою формальних виразiв.

Будь ласка, повiдомляйте про будь-якi проблеми та запити щодо реалiзацiї функцiональнихможливостей авторовi програми.

11

Page 12: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Роздiл 2

Користування Kid3

2.1 Можливостi Kid3

• Редагування мiток ID3v1.1

• Редагування усiх кадрiв ID3v2.3 i ID3v2.4

• Редагування мiток для декiлькох файлiв одночасно

• Перетворення мiж мiтками ID3v1 i ID3v2

• Редагування мiток MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2,Speex, TrueAudio, WavPack, WMA, WAV i AIFF

• Створення мiток на основi назв файлiв

• Створення мiток на основi вмiсту полiв мiток

• Створення назв файлiв на основi мiток

• Створення i змiна назв тек на основi мiток

• Створення файлiв спискiв вiдтворення

• Автоматичне перетворення регiстрiв та перенесення рядкiв

• Iмпортування даних з gnudb.org, TrackType.org, MusicBrainz, Discogs, Amazon та iншихджерел даних

• Експортування даних у форматах CSV, HTML, списку вiдтворення, Kover XML тощо. Данiекспортованих файлiв CSV може бути iмпортовано до програми.

2.2 Приклад використання

У цьому роздiлi описано типовий сеанс роботи у Kid3. Припустiмо, що у нас є тека, у якiймiстяться файли MP3 з композицiями з альбому «Let’s Tag» групи «One Hit Wonder». Текуiз файлами названо у форматi «виконавець - альбом», у нашому випадку, One Hit Wonder- Let’s Tag. У тецi мiстяться файли композицiй у форматi «назва композицiї.mp3». Такеiменування слiд визнати доцiльним, оскiльки назви файлiв лишаються короткими (важливодля мобiльних програвачiв MP3 iз невеличкими дисплеями) i розташовуються у належномупорядку, якщо упорядковувати список за абеткою (важливо, якщо використовується апара-тний програвач MP3, який вiдтворює дорiжки за абеткою або у порядку, у якому їх записанона компакт-диск, i цей порядок є порядком за абеткою при використаннi mkisofs). Окрiмцього, данi щодо виконавця i альбому вже мiстяться у назвi теки — немає сенсу їх повторю-вати у назвi файла. Повернiмося до нашого прикладу — список файлiв у тецi виглядає десьтак:

12

Page 13: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

01 Intro.mp3

02 We Only Got This One.mp3

03 Outro.mp3

Цi файли ще не мiстять мiток, i ми хочемо створити мiтки за допомогою Kid3. Скористай-мося пунктом Вiдкрити (меню Файл або кнопка на панелi iнструментiв) i виберемо один iзфайлiв у цiй тецi. Усi файли буде показано на панелi списку файлiв. Оскiльки ми не хочемоперенапружуватися, скористаймося даними з назви теки та назв файлiв для створення мi-ток. Ми позначимо усi файли, потiм натиснемо кнопку До: Мiтка 1 у роздiлi Файл. Такимчином, ми встановимо значення заголовка, виконавця, альбому та композицiї для усiх фай-лiв. Щоб становити значення року та жанру для усiх файлiв, ми, не знiмаючи позначенняз файлiв, введемо «2002» до поля Дата i виберемо «Pop» у спадному списку Жанр. Щобвстановити лише цi два значення, програма автоматично позначить лише цi два пункти —усi iншi пункти лишатимуться непозначеними. Далi, змiнимо позначення, лишивши позначе-ним лише перший файл. Як можна бачити, усi iншi мiтки мiстять належнi значення. Мiткиiнших файлiв також можна перевiрити позначенням їх один за одним. Коли усi мiтки будевизначено належним чином, скористаймося пунктом Зберегти (меню Файл або кнопка напанелi iнструментiв). Вибiр пункту Створити список вiдтворення у менюФайл призведедо створення файла One Hit Wonder - Let’s Tag.m3u у тецi альбому.

13

Page 14: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Роздiл 3

Довiдка щодо команд

3.1 Елементи графiчного iнтерфейсу

Графiчний iнтерфейс Kid3 подiлено на шiсть роздiлiв: лiворуч розташовано панелi файлiв iтек, праворуч — панелi Файл, Мiтка 1, Мiтка 2 i Мiтка 3 .Для навiгацiї мiж рiзними роздiлами за допомогою клавiатури передбачено декiлька кла-вiатурних скорочень. У роздiлах мiток клавiатурними скороченнями можна скористатися,якщо не виконується редагування тексту, або якщо курсор перебуває у першому стовпчикутаблицi.

• Alt-←: перейти до попереднього роздiлу (Command-[ у macOS®)

• Alt-→: перейти до наступного роздiлу (Command-] у macOS®)

• Ctrl-Shift-V: з iншої мiтки• Ctrl-C: копiювати• Ctrl-V: вставити• Shift-Delete: вилучити

• F2: редагувати

• Insert: додати

• Delete: вилучити

3.1.1 Список файлiв

Список файлiв складається iз назв усiх тих файлiв у вiдкритiй тецi, якi вiдповiдають вибра-ному фiльтру назв файлiв (typically *.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a*.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape). Можна познача-ти один або декiлька файлiв. Щоб зняти позначення з усiх файлiв, клацнiть у довiльномупорожньому мiсцi пiд пунктами у списку. Позначення визначає файли, над якими виконува-тимуться дiї унаслiдок натискання кнопок, опис яких наведено нижче.Окрiм стовпчика Назва, параметри файла буде показано у стовпчиках Розмiр, Тип, Датазмiни. Стовпчики можна приховувати зняттям позначки з вiдповiдного пункту у контекс-тному меню смужки заголовкiв списку. Порядок стовпчикiв можна змiнювати перетягуван-ням iз скиданням. Упорядкування пунктiв у списку за вмiстом стовпчика можна змiнюватиклацанням на заголовку стовпчика.Лiворуч вiд назви може бути показано пiктограму: диск на позначення файлiв, до якихбуло внесено змiни, або данi щодо того, якi мiтки встановлено (V1, V2, V1V2 або NO TAG;пiктограму не буде показано, якщо читання даних з файла ще не виконувалося).

14

Page 15: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Пункти тек буде показано iз пiктограмою теки. Якщо теку вiдкрито, її файли буде показано уформатi iєрархiчного списку. Пiсля позначення файлiв у пiдтеках можна виконувати дiї надфайлами, якi зберiгаються у рiзних теках. Це корисно, якщо музичну збiрку органiзованотак, що тека кожного виконавця мiстить пiдтеки iз альбомами цього виконавця.

Клацанням правою кнопкою мишi у списку файлiв можна вiдкрити контекстне меню iз та-кими пунктами:

• Розгорнути всi: розгортає усi iєрархiї тек (лише поточну iєрархiю, якщо натиснуто кла-вiшу Shift)

• Згорнути всi: згортає усi iєрархiї тек

• Перейменувати: змiнити назву файла

• Пересунути до смiтника: пересунути файл до смiтника

• Вiдтворити: вiдтворити файл, див. вiдтворення. Якщо позначеним файлом є файл спискувiдтворення, буде вiдтворено файли зi списку вiдтворення.

• Змiнити: редагувати список вiдтворення, див. редагування списку вiдтворення.

• Наступнi пункти є командами користувача, якi можна визначити за допомогою вкладкиДiї користувача дiалогового вiкна налаштовування Kid3. Там також можна увiмкнутивiдтворення у вiдповiдь на подвiйне клацання.

3.1.2 Редагування списку вiдтворення

Список вiдтворення можна створити порожнiм або таким, що мiстить композицiї у певнiйтецi, див. створення списку вiдтворення. Файл списку вiдтворення, створений у такий спо-сiб, можна редагувати пiсля подвiйного клацання лiвою кнопкою мишi або використанняпункту Змiнити контекстного меню списку файлiв. Кожна з цих двох дiй призведе до вiд-криття списку записiв у списку вiдтворення. У програмi передбачено можливiсть вiдкриттядекiлькох спискiв вiдтворення одночасно.

Новi записи можна додавати перетягуванням зi скиданням зi списку файлiв, програми длякерування файлами або iншого списку вiдтворення. Якщо запис перетягнуто iз iншого спи-ску вiдтворення, його буде пересунуто або скопiйовано, залежно вiд системи. Щоб викли-кати iншу дiю, натиснiть клавiшу Shift, Ctrl або Alt, вiдповiдно (для копiювання замiстьпересування у macOS®). Переупорядковування пунктiв у списку можна також здiйснюватиперетягуванням зi скиданням. Крiм того, пункти у списку можна пересувати за допомогоюклавiатурних скорочень Ctrl-Shift-↑ i Ctrl-Shift-↓ (у macOS® слiд натискати Commandзамiсть Ctrl). Вилучити запис можна натисканням клавiшi Del.

Будь ласка, зауважте таке: для перетягування пунктiв зi списку їх слiд захоплювати залiву частину (поряд iз пiктограмами); захоплення за праву частину призведе до виконанняпроцедури позначення декiлькох пунктiв. Отже, вам буде доволi просто виконати обидвi цiдiї.Пiсля внесення змiн до списку вiдтворення їх можна або зберегти за допомогою натисканнякнопки Зберегти, або вiдкинути натисканням кнопки Скасувати. Якщо ви спробуєте за-крити вiкно програми, буде показано попередження iз пропозицiєю зберегти усi незбереженiзмiни.Дорiжки, якi позначено у списку вiдтворення, буде автоматично позначено у списку файлiв.Це уможливить редагування їхнiх мiток.

Щоб виконати дiю над списком вiдтворення, слiд позначити його файл у списку файлiв.Пункт Змiнити контекстного меню вiдкриває дiалогове вiкно, яке описано у цьому роздiлi,а пункт Вiдтворити запускає програвач мультимедiйних даних iз композицiями зi спискувiдтворення. Над списками вiдтворення можна виконувати дiї, якi визначено користувачем.Наприклад, можна виконати дiю Експортувати список вiдтворення до теки, яка копiюєфайли зi списку вiдтворення до теки.

15

Page 16: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

3.1.3 Список тек

У списку тек мiстяться назви пiдтек у вiдкритiй тецi, а також пункти поточної теки (.)та батькiвської теки (..). За допомогою цього списку ви можете швидко змiнити теку, невикористовуючи пункт меню Вiдкрити... або перетягування зi скиданням.

Видимiсть стовпчикiв, порядок стовпчикiв та упорядкування записiв у стовпчику можнаналаштувати у спосiб, опис якого наведено у роздiлi щодо списку файлiв.

3.1.4 Файл

Показує данi щодо кодування (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC,Speex, TrueAudio, WavPack, WMA, WAV, AIFF), бiтової швидкостi, частоти дискретизацiї,кiлькостi каналiв та тривалостi вiдтворення файла.

У полi для редагування Назва мiститиметься назва файла (якщо позначено лише одинфайл). Якщо змiнити цю назву, файл буде перейменовано, щойно ви скористаєтеся командоюзбереження змiн.

У спадному списку та рядку для редагування тексту Формат мiститься запис формату,який буде використано при створеннi назви файла iз першої або другої мiтки. Назва файламоже мiстити довiльнi символи, навiть назву теки, яку слiд вiдокремити вiд назви файласимволом похилої риски, але щоб перейменування можна було виконати, вiдповiдна текавже має iснувати. Для вставляння значень мiток до назви файла можна скористатися такимиспецiальними кодами:

• %s %{title} Заголовок (твору)

• %a %{artist} Виконавець

• %l %{album} Альбом

• %c %{comment} Коментар

• %y %{year} Рiк

• %t %{track} Дорiжка (наприклад 01)

• %t %{track.n} Дорiжка i шириною поля n (наприклад 001 для %{track.3})

• %T %{tracknumber} Дорiжка (без початкових нулiв, наприклад 1)

• %g %{genre} Жанр

• %{ignore} Iгнорується при створеннi мiток на основi назви файла

Коди форматiв не обмежено наведеними вище прикладами. Ви можете скористатися будь-якими назвами кадрiв, наприклад унiфiкованими назвами кадрiв, зокрема %{albumartist},%{discnumber.1}, %{bpm}, або специфiчними для формату назвами, зокрема %{popm}.

Можна дописувати рядки на початку або у кiнцi рядка замiнника для коду формату. Дляцього слiд додати вiдповiднi рядки у подвiйних лапках всерединi фiгурних дужок коду фор-мату. Такi рядки буде додано до рядка-результату, лише якщо код формату дає непорожнєзначення. Наприклад, якщо назва файла має мiстити одразу заголовок i пiдзаголовок, мо-жна скористатися у рядку формату записом %{title} [%{subtitle}]. Але використаннятакого формату призведе до завершення рядка назви комбiнацiєю [], якщо у файлi не збе-рiгається мiтки пiдзаголовка. Щоб уникнути додавання таких порожнiх квадратних дужок,якщо пiдзаголовок порожнiй, слiд скористатися рядком формату %{title}%{˝ [˝subtitle˝]˝}. Таким чином, у записi результату не буде початкового пробiлу i дужок, якщо записупiдзаголовка не iснує.

Список доступних форматiв можна редагувати за допомогою дiалогового вiкна, яке програ-ма вiдкриває у вiдповiдь на натискання кнопки Назва файла з мiтки на вкладцi Файлдiалогового вiкна параметрiв програми.

16

Page 17: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Другим спадним списком Формат (зi стрiлочкою вниз) можна скористатися для створеннямiток на основi назви файла. Якщо формат назви файла не вiдповiдає визначеному тутвзiрцю, програма спробує скористатися декiлькома широковикористовуваними форматами.

У спадному списку ви знайдете декiлька типових форматiв назв файлiв. Втiм, передбаченоможливiсть введення до рядка для редагування тексту вашого власного варiанта формату-вання.Список доступних форматiв можна редагувати за допомогою дiалогового вiкна, яке програ-ма вiдкриває у вiдповiдь на натискання кнопки Мiтка з назви файла на вкладцi Файлдiалогового вiкна параметрiв програми.

На внутрiшньому рiвнi, формальний вираз будується з кодiв форматiв. Якщо вам потрiбнiдодатковi можливостi iз форматування формальних виразiв, формат для створення мiтокна основi назв файлiв можна вказати як повноцiнний формальний вираз iз захопленням пiд-рядкiв, перед якими вказують коди форматiв. Наприклад, щоб видобути номери композицiйбез вилучення початкових нулiв, можна скористатися таким форматом: /%{track}(\d+) %{title}(.*).З: Мiтка 1, Мiтка 2: визначити назву файла за допомогою вибраного формату i першоїмiтки або другої мiтки, вiдповiдно.

До: Мiтка 1, Мiтка 2: мiтки встановлюються з назви файла. Спочатку використовуєтьсяформат, вказаний у полi Формат. Якщо наявна назва файла не вiдповiдає вказаному фор-мату, програма спробує скористатися такими форматами:

• Виконавець - Альбом/Дорiжка Композицiя

• Альбом/Дорiжка - Виконавець - Композицiя

• /Виконавець - Альбом - Дорiжка - Композицiя

• Альбом/Виконавець - Дорiжка - Композицiя

• Альбом/Виконавець - Композицiя

• Виконавець/Альбом/Дорiжка Композицiя

Якщо позначено лише один файл, пункти графiчного iнтерфейсу буде заповнено значеннями,якi видобуто з назви файла. Якщо позначено декiлька файлiв, мiтки файлiв буде безпосере-дньо встановлено за назвами файлiв.

3.1.5 Мiтка 1

Рядки для редагування тексту для пунктiв Заголовок, Виконавець, Альбом,Коментар,Дата, Номер дорiжки i Жанр використовуються для редагування вiдповiдних значень упершiй мiтцi позначених файлiв. Значення буде змiнено, якщо змiниться позначення файлiвабо перед виконанням дiй Зберегти i Вийти, якщо позначено вiдповiдне поле лiворуч вiдполя назви файла. Це корисно, якщо ви хочете змiнити лише деякi значення, а iншi лишитинезмiнними.Якщо позначено один файл, програма позначить усi пункти, а у вiджетах рядкiв для ре-дагування тексту мiститимуться значення, якi буде виявлено у мiтках вiдповiдного файла.Якщо мiтки у файлi не знайдено, буде показано вiдповiдне порожнє значення, тобто поро-жнiй рядок для полiв Заголовок, Виконавець, Альбом та Коментар, 0 для числовихполiв Дата i Номер дорiжки i порожнє вибране значення для спадного списку Жанр.Значення можна змiнювати, i якщо позначено вiдповiдний пункт, їх буде встановлено длявибраного файла пiсля змiни позначення. Вiдповiдний файл буде позначено як змiнений пi-ктограмою диска на панелi списку файлiв, але сам файл лишатиметься незмiнним, аж докине буде вiддано команду Зберегти.

Якщо позначено декiлька файлiв, буде показано лише значення, якi є iдентичними для усiхфайлiв. В усiх iнших полях буде показано порожнi значення, як це описано вище. Усi полядля позначення пунктiв буде спорожнено, щоб уникнути небажаних змiн. Якщо значенняслiд встановити для усiх файлiв, ви можете виконати його редагування, i програма автома-тично позначить вiдповiдний пункт. Значення буде встановлено для усiх позначених файлiв,якщо позначення змiнено. Зберегти внесенi змiни можна за допомогою пункту Зберегти.

17

Page 18: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

За допомогою позначок також можна керувати дiєю бiльшостi команд, зокрема копiювання,вставлення та перенесення даних мiж мiтками 1 i 2. Щоб спростити роботу iз декiлькома фай-лами одночасно, коли усi поля для позначок є порожнiми, цi команди працюють однаково,якщо усi поля позначено i якщо усi поля не позначено.З мiтки 2: поля мiтки 1 встановлюються на основi вiдповiдних значень у мiтцi 2. Якщопозначено один файл, пункти графiчного iнтерфейсу буде заповнено значеннями з мiтки 2.Якщо позначено декiлька файлiв, мiтки файлiв буде встановлено безпосередньо.Копiювати: заповнити буфер копiювання значеннями з мiтки 1. Лише значення iз позначе-них пунктiв буде використано у наступних командах вставлення.Вставити: вставити значення iз буфера копiювання до поля графiчного iнтерфейсу.Вилучити: у результатi натискання цiєї кнопки усi поля у графiчному iнтерфейсi будеспорожнено. Якщо зберегти пiсля цього редагований файл, у ньому не мiститиметься мiтки1.

3.1.6 Мiтка 2

За допомогою графiчного iнтерфейсу можна керувати цим параметром у спосiб, який опи-сано у роздiлi щодо параметра Мiтка 1, але розмiри рядкiв не обмежено.Для мiтки 2 у полi Жанр ви можете використовувати власнi значення, окрiм жанрiв зiспадного списку. Просто введiть потрiбну вам назву жанру у поле для редагування тексту.Мiтка 2 не може мiстити лише тi самi значення, що i у мiтцi 1. Формат будується у гнучкийспосiб з декiлькох кадрiв, якi самi складуються iз декiлькох полiв. Таблиця мiтки 2 показуєусi кадри, якi є доступними у позначеному файлi.Змiнити: вiдкриває вiкно, за допомогою якого можна редагувати усi поля позначеного ка-дру. Якщо позначено декiлька файлiв, редагованi поля застосовуються до усiх позначенихфайлiв, якi мiстять такий кадр.Додати: буде показано засiб створення запиту вибору типу кадру. За його допомогою можебути змiнено i додано до файла кадр позначеного типу. Це працює також для додаваннякадру до декiлькох позначених файлiв.Вилучити: вилучає позначений кадр iз позначених файлiв.Напис Сюди можна перетягти зображення обкладинки буде показано, якщо у файлiне мiститься вбудованого зображення обкладинки. Зображення можна додати перетягува-нням зi скиданням з браузера або програми для керування файлами. Пiсля перетягуваннязображення буде показано у вiдповiднiй позицiї. Передбачено можливiсть редагування абододавання кадрiв подвiйним клацанням на вiдповiдному полi.

3.1.7 Мiтка 3

У деяких файлах може бути бiльше за двi мiтки. Для таких файлiв програма показує третiйроздiл мiтки. Роздiл Мiтка 3 може бути у таких файлах:

• файли MP3 можуть мiстити мiтку ID3v1.1, мiтку ID3v2 (2.3.0 або 2.4.0), а у третьомуроздiлi — мiтку APE. Такi мiтки APE використовують для зберiгання даних щодо пiдси-лення гучностi. Цi данi можна побачити у роздiлi Мiтка 3. Мiтку APE можна вилучитиза допомогою кнопки Вилучити.

• Фрагменти INFO RIFF у файлах WAV зберiгаються у роздiлi Мiтка 3, оскiльки роздiлМiтка 1 призначено для мiток ID3v1.1 iз вiдповiдними обмеженнями. Роздiл Мiтка 2використовується для мiток ID3v2.4.0, пiдтримку яких також передбачено у файлах WAV,але пiдтримку фрагментiв INFO RIFF, здається, реалiзовано краще.

• у файлах FLAC, зазвичай, для зберiгання метаданих використовують коментар Vorbis.Втiм, iснують файли FLAC, у яких мiстяться мiтки ID3v1 i ID3v2, якi програма показуєу роздiлах Мiтка 1 i Мiтка 3. Пiдтримку мiток ID3 у файлах FLAC реалiзовано лишезасобами TagLib, тому, щоб їх побачити, додаток OggFlacMetadata має бути вимкнено навкладцi Додатки дiалогового вiкна налаштувань програми.

Керування з графiчного iнтерфейсу працює у той самий спосiб, що i у роздiлi Мiтка 2.

18

Page 19: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

3.1.8 Список кадрiв

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

УнiверсальнийID3v2.3 ID3v2.4 MP4 ASF Vorbis RIFFЗаголовок TIT2 TIT2 ©nam Title TITLE INAMВиконавець TPE1 TPE1 ©ART Author ARTIST IART

Альбом TALB TALB ©albWM/AlbumTitle

ALBUM IPRD

Коментар COMM COMM ©cmtDescription

COMMENT ICMT

Дата TYER TDRC ©day WM/Year DATE ICRDНомердорiжки TRCK TRCK trkn

WM/TrackNumber

TRACKNUMBER

IPRT абоITRK

Жанр TCON TCON ©gen WM/Genre GENRE IGNRВиконавецьальбому TPE2 TPE2 aART

WM/AlbumArtist

ALBUMARTIST

АранжувальникIPLS TIPL ARRANGERWM/Producer

ARRANGER IENG

Автор TOLY TOLY AUTHOR AUTHOR

Музичнийрозмiр TBPM TBPM tmpo

WM/BeatsPerMinute

BPM IBPM

Номер укаталозi

TXXX:CATALOGNUMBER

TXXX:CATALOGNUMBER

CATALOGNUMBER

Компiляцiя TCMP TCMP cpilCOMPILATION

Композитор TCOM TCOM ©wrtWM/Composer

COMPOSER IMUS

Диригент TPE3 TPE3CONDUCTOR

WM/Conductor

CONDUCTOR

Авторськiправа TCOP TCOP cprt

Copyright

COPYRIGHT

ICOP

Опис TIT3 TIT3 descWM/SubTitleDescription

DESCRIPTION

Номердиска TPOS TPOS disk

WM/PartOfSet

DISCNUMBER

Програмадля коду-вання

TENC TENC ©encWM/EncodedBy

ENCODED-BY

ITCH

Параметрикодуван-ня

TSSE TSSE ©tooWM/EncodingSettings

ENCODERSETTINGS

ISFT

Час коду-вання TDEN

WM/EncodingTime

ENCODINGTIME

IDIT

Групування GRP1 GRP1 ©grp GROUPINGПокатковатональ-нiсть

TKEY TKEYWM/InitialKey

INITIALKEY

19

Page 20: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

ISRC TSRC TSRC ISRC WM/ISRC ISRC ISRC

Мова TLAN TLAN LANGUAGEWM/Language

LANGUAGE ILNG

Автортексту TEXT TEXT LYRICIST

WM/Writer

LYRICIST IWRI

Текстпiснi USLT USLT ©lyr

WM/Lyrics

LYRICS

Носiй TMED TMEDSOURCEMEDIA

SOURCEMEDIA

IMED

Настрiй TMOO WM/Mood MOOD

Початковийальбом TOAL TOAL

ORIGINALALBUM

WM/OriginalAlbumTitle

ORIGINALALBUM

Початковийвикона-вець

TOPE TOPEORIGINALARTIST

WM/OriginalArtist

ORIGINALARTIST

Початковийзаголовок TORY TDOR

ORIGINALDATE

WM/OriginalReleaseYear

ORIGINALDATE

Виконавець IPLS TMCLPERFORMER

PERFORMER

ISTR

Зображення APIC APIC covrWM/Picture

METADATA_BLOCK_PICTURE

Видавець TPUB TPUBPUBLISHER

WM/Publisher

PUBLISHER

IPUB

Оцiнка POPM POPM rateWM/SharedUserRating

RATING IRTD

Країнавипуску

TXXX:RELEASECOUNTRY

TXXX:RELEASECOUNTRY

RELEASECOUNTRY

ICNT

Датавипуску TDRL

RELEASEDATE

RELEASEDATE

Ремiкшер TPE4 TPE4 REMIXERWM/ModifiedBy

REMIXER IEDT

Упорядкуванняальбому TSOA TSOA soal

WM/AlbumSortOrder

ALBUMSORT

Упорядковуваннявиконав-цяальбому

TSO2 TSO2 soaaALBUMARTISTSORT

Упорядковуваннявиконав-ця

TSOP TSOP soarWM/ArtistSortOrder

ARTISTSORT

Упорядковуваннякомпози-тора

TSOC TSOC socoCOMPOSERSORT

Упорядковуванняназви TSOT TSOT sonm

WM/TitleSortOrder

TITLESORT

20

Page 21: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Пiдзаголовок TSST SUBTITLEWM/SubTitle

SUBTITLE PRT1

Сайт WOAR WOAR WEBSITEWM/AuthorURL

WEBSITE IBSU

Робота TIT1 TIT1 ©wrk

WM/ContentGroupDescription

WORK

Файлзвуковихданих уWWW

WOAF WOAFWM/AudioFileURL

WWWAUDIOFILE

Джерелозвуковихданих уWWW

WOAS WOASWM/AudioSourceURL

WWWAUDIOSOURCE

Табл. 3.1: Прив’язка унiфiкованих типiв кадрiв до рiзноманi-тних форматiв

Зауваження щодо прив’язки до унiфiкованих назв кадрiв:

• Кiлькiсть унiфiкованих назв кадрiв обмежено можливiстю встановлення надiйної вiдпо-вiдностi мiж усiма пiдтримуваними форматами файлiв. У бiльшостi мiток передбаченопiдтримку кадрiв iз довiльними назвами; цi буде використано, якщо виявиться недосту-пним специфiчний кадр (наприклад, назви великими лiтерами у стовпчику MP4). Якщотакої можливостi немає, кадри деяких типiв є непiдтримуваними для формату, наприклад,кадр «Автор i виконавець» для ASF (WMA).

• Прив’язки не вибираються довiльним чином — їх пов’язано iз використанням кадрiв уiнших програмах або на рiзних пристроях. Тому кадр ID3v2 «TPE2 - Група/оркестр/а-компанемент» не передбачає використання його вмiсту у полi виконавця альбому, але такевикористання є доволi поширеним. З iншого боку, справжнє призначення ID3v2 є причи-ною того, що цей кадр використовується для поля оркестру при iмпортування (наприклад,з Discogs), хоча таке використання i може здатися дещо дивним для iнших форматiв мiток.

• Прив’язки не завжди є взаємооберненими. Наприклад, у ID3v2.3 використовується кадрIPLS одночасно для аранжувальника та виконавця. Якщо виконати зворотне перетворен-ня, обидва кадри опиняться у полi «Аранжувальник».

• У кадрах аранжувальника i виконавця використовують специфiчний формат для вмi-сту: «внесок 1|митець 1|внесок 2|митець 2|...». Приклад: «Диригент хору|Ернст Дан-ширн|Вокал, сопрано|Анна Нетребко». Кадри IPLS (ID3v2.3) або TIPL/TMCL (ID3v2.4)створюватимуться зi списком рядкiв у вказаному форматi (роздiльником рядкiв буде сим-вол «|»). Значення у цьому форматi також встановлюються при iмпортування даних iзсерверiв, якi надають такi вiдомостi.

• Щоб явним чином використати назву кадру, яка конфлiктує iз унiфiкованою назвою кадру,додайте перед назвою знак оклику. Наприклад, додавання кадру типу «Media» до комен-таря Vorbis призведе до створення кадру iз назвою «SOURCEMEDIA» через прив’язку доунiфiкованих типiв. Щоб додати кадр iз назвою «MEDIA», а не «SOURCEMEDIA», слiдскористатися назвою «!MEDIA», яка призведе до примусового встановлення назви явнимчином.

3.1.9 Синхронiзацiя тексту пiсень iз часовими кодами подiй

Для редагування вiдомостей, якi синхронiзовано зi звуковими даними, передбачено спецi-альний редактор. Пiдтримку цих кадрiв передбачено як у мiтках ID3v2.3.0, так i у мiтках

21

Page 22: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

ID3v2.4.0. Щоб додати вiдповiдний кадр, слiд вибрати назву кадру зi списку, який з’являєтьсяпiсля натискання кнопки Додати, — Синхронiзований текст пiснi або Часовi коди по-дiй, вiдповiдно. Редактор є однаковим для обох випадкiв. Для часових кодiв подiй передба-чено лише попередньо визначений набiр подiй, а для синхронiзованого тексту пiснi вам до-ведеться ввести сам текст. Нижче розглянуто випадок редагування синхронiзованого текступiснi.Нехай позначено мiтку ID3v2, редактор тексту пiснi запущено натисканням кнопки Додатиi вибором пункту Синхронiзований текст пiснi. Для наявного кадру синхронiзованоготексту пiснi його слiд позначити i натиснути кнопку Змiнити. У вiдповiдь буде автоматичновiдкрито програвач iз поточним файлом, щоб ви могли почути вiдтворену пiсню i призупи-нити вiдтворення для синхронiзацiї тексту пiснi.Параметри у верхнiй частинi вiкна редактора SYLT, зазвичай, не потребують внесення змiн.Якщо слова пiснi мiстять символи, яких немає у наборi символiв «Латиниця 1», варто змiни-ти кодування тексту на UTF16 (або UTF8 для ID3v2.4.0). Якщо текст пiснi написано англiй-ською i слiд зберегти максимальну сумiснiсть, слiд використовувати кодування ISO-8859-1.У верхнiй частинi роздiлу Текст пiснi передбачено п’ять кнопок. За допомогою кнопки До-дати можна додати до таблицi нову часову позначку. Значення часу буде взято iз позицiїу програвачi. Таким чином, додавання запису пiд час вiдтворення композицiї призводитимедо додавання рядка у поточнiй позицiй вiдтворення. Подiї у таблицi має бути хронологi-чно впорядковано, тому рядок буде вставлено вiдповiдним чином. Записи iз некоректнимичасовими позначками оброблятимуться особливим чином: якщо для поточного позначеногорядка визначено некоректний час, його часову позначку буде замiнено на поточний час бездодавання нового рядка. Якщо поточний час є коректним, буде використано перший рядокiз некоректною позначкою часу, якщо такий iснує. Така поведiнка програми має полегшитидодавання часових позначок, якщо текст пiснi вже внесено до таблицi, але не вказано часовiпозначки (тобто маємо випадок iмпортованого несинхронiзованого тексту пiснi). Зауважте,що некоректнi часовi позначки буде показано як 00:00.00, тобто як час абсолютного початкудорiжки, який, очевидно, не є некоректним. Щоб зробити час некоректним, натиснiть клавi-шу Del або скористайтеся пунктом Спорожнити з контекстного меню. Новi рядки можнадодавати за допомогою пункту Вставити рядок з контекстного меню або створювати приiмпортування несинхронiзованого тексту пiснi за допомогою натискання кнопок З буфе-ра обмiну даними або Iмпортувати. Для несинхронiзованого тексту, який iмпортовано утакий спосiб, буде вказано некоректнi часовi позначки. Рядки у таблицi можна вилучати на-тисканням кнопки Вилучити або використанням пункту Вилучити рядки з контекстногоменю.Синхронiзований текст пiснi можна iмпортувати з файла за допомогою натискання кнопкиIмпортувати. Очiкуваним форматом є простий або удосконалений формат LRC. Якщо увибраному файлi перший рядок не починається iз квадратної дужки, програма вважатимефайл простим текстовим файлом iз несинхронiзованим текстом пiснi. Рядки з такого файлабуде iмпортовано iз некоректними часовими позначками. Данi щодо часових позначок мо-жна додати за допомогою кнопки Додати пiд час вiдтворення файла або ввести вручну.Крiм того, передбачено можливiсть iмпортування тексту пiснi копiюванням зi вставленнямза допомогою натискання кнопки З буфера обмiну даними. Синхронiзований текст пiснiможна записати до файла LRC за допомогою натискання кнопки Експортувати. Зауваж-те, що експортовано буде лише записи iз коректними часовими позначками, i записи будеупорядковано за часом. Записи iз некоректними часовими позначками не зберiгатимуться укадрах SYLT, тому переконайтеся, що усi данi щодо часових позначок вказано до того, якзакриєте дiалогове вiкно.У специфiкацiї ID3 передбачено часовi позначки для кожного складу слова. Втiм, у бiльшо-стi програвачiв передбачено пiдтримку подiлу тексту пiснi лише на рiвнi рядка або речення.З метою реалiзацiї пiдтримки обох випадкiв у Kid3 використано тi самi припущення, що iу редакторi SYLT. Текст, який введено у таблицi вважається початком нового рядка, якщовiн не починається iз пробiлу або дефiса. Реалiзувати виключення з цього правила можнарозпочавши рядок з символу пiдкреслювання («_») для примусового продовження рядкаабо символу ґратки («#») для примусового розриву рядка. Цi символи екранування не збе-рiгаються у кадрi SYLT. У кадрi SYLT новi рядки починаються iз символу заповнення рядка(шiстнадцяткового 0A), а продовження рядкiв — нi. При читаннi кадрiв SYLT Kid3 перевi-ряє, чи починається перший запис iз символу заповнення рядка. Якщо це не так, програмаприпускає, що усi запис є окремими рядками, а продовження за складами слiв не використо-вуються.Доки вiдтворюється композицiя, пiдсвiчується рядок, який пов’язано iз поточною позицiєювiдтворення, тому можна перевiрити правильнiсть синхронiзацiї. Якщо до одної або декiль-кох часових позначок потрiбно додати вiдступ, зробити це можна вибором пункту Додати

22

Page 23: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

вiдступ з контекстного меню. Для зменшення значення часових позначок можна скориста-тися вiд’ємними значеннями. За допомогою пункту Перейти до позицiї з контекстногоменю можна встановити позицiюю вiдтворення за часовою позначкою позначеного рядка.

Рекомендована процедура додавання нового синхронiзованого тексту пiснi

• Отримайте несинхронiзований текст пiснi, наприклад, за допомогою пункту Текст пiснi→Embed Lyrics з контекстно меню списку файлiв.

• Скопiюйте несинхронiзованi слова пiснi до буфера обмiну даними: просто перейдiть дорядка Текст пiснi у таблицi кадрiв i натиснiть комбiнацiю клавiш Ctrl-C.

• Додайте кадр синхронiзованого тексту пiснi (Додати..., Синхронiзований текст пiснi,Гаразд), натиснiть кнопку З буфера обмiну даними.

• Усi рядки iз несинхронiзованим текстом буде показано у таблицi, усi часовi позначки бу-дуть некоректними (0:0:0.00). Можете попередньо вилучити усi порожнi записи.

• Розпочнiть вiдтворення композицiї натисканням кнопки вiдтворення I на панелi iнстру-ментiв вiдтворення у нижнiй частинi головного вiкна програми.

• Коли настане час показати рядок тексту iз некоректною часовою позначкою, натиснiть кно-пку Додати або комбiнацiю клавiш Alt-A, i часову позначку буде оновлено правильнимзначенням.

• Продовжуйте процедуру, аж доки не буде встановлено усi часовi позначки. Якщо ви щосьпропустили, зупинiть вiдтворення i спорожнiть часовi позначки натисканням клавiшi Delабо позначенням помилкових рядкiв iз наступним вибором пункту Спорожнити з кон-текстного меню. Щоб перезапустити вiдтворення iз заданої часової позицiї, скористайтесяпунктом Перейти до позицiї з контекстного меню.

3.2 Меню «Файл»

Файл→Вiдкрити... (Ctrl+O)Вiдкрити теку. На панелi файлiв буде показано усi файли, якi вiдповiдають вибраномуфiльтру назв файлiв, вибраний файл буде позначено.

Файл→Вiдкрити недавнiВiдкрити нещодавно вiдкриту теку.

Файл→Вiдкрити теку... (Ctrl-D)Вiдкрити теку. На панелi файлiв буде показано усi файли, якi вiдповiдають вибраномуфiльтру назв файлiв.

Файл→Перезавантажити (F5)Перезавантажити теку. Перед перезавантаженням слiд зберегти змiненi файли. Розгор-нутi пiдтеки буде згорнуто.

Файл→ Зберегти (Ctrl+S)Зберегти усi змiненi файли у тецi. Пункти змiнених файлiв буде позначено пiктогра-мою диска у списку файлiв. Якщо буде змiнено назви якихось iз файлiв, програмаперейменує їх.

Файл→ПовернутиСкасувати змiни в одному або декiлькох файлах. Якщо у списку файлiв не позначеножодних файлiв, буде скасовано змiни в усiх файлах. Якщо ж файли позначено, будескасовано змiни лише у позначених файлах.

23

Page 24: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Файл→ Iмпортувати...Дiалоговим вiкном iмпортування можна скористатися для iмпортування даних безпо-середньо з сервера freedb.org, сервера MusicBrainz, Discogs, Amazon або iнших джерелспискiв композицiй в альбомах, якi надають данi у текстовому форматi.Iмпортування даних з сервера freedb.org реалiзовано за допомогою дiалогового вi-кна, яке програма вiдкриває, якщо вибрано Сервер джерела: gnudb.org абоTrackType.org. Данi щодо виконавця i назви альбому для пошуку можна ввести удва верхнiх поля. Альбоми, якi вiдповiдають запиту буде показано пiсля натисканнякнопки Знайти i отримання результатiв з www.gnudb.org. Iмпортування даних дорi-жок для альбому виконується подвiйним клацанням на пунктi альбому у списку. Виможете вибрати сервер freedb.org для iмпортування даних та шлях CGI. Iмпортованiданi буде показано у форматi таблицi попереднього перегляду дiалогового вiкна iм-портування. Якщо вас задовольняють показанi результати, ви можете iмпортувати їх iзакрити дiалогове вiкно за допомогою натискання кнопки Гаразд.Пошук на серверi Discogs можна виконати натисканням кнопки Discogs. Як i у вiкнiпошуку у gnudb.org, ви можете ввести iм’я виконавця та назву альбому, а потiм ви-брати потрiбний пункт зi списку альбомiв. Якщо позначено пункт Стандартнi мiтки,буде iмпортовано стандартнi вiдомостi, наприклад, данi щодо виконавця, альбому таназв композицiй. Якщо позначено пункт Додатковi мiтки, буде iмпортовано дода-тковi вiдомостi, якщо такi виявляться доступними, зокрема данi щодо акомпанемен-ту, аранжування та видавця. Якщо позначено пункт Зображення обкладинки, будеотримано зображення обкладинки, якщо таке виявиться доступним.Пошук на Amazon можна виконати натисканням кнопки Amazon/ Як i у вiкнi пошу-ку у gnudborg, ви можете ввести iм’я виконавця та назву альбому, а потiм вибратипотрiбний пункт зi списку альбомiв. Якщо позначено пункт Додатковi мiтки, будеiмпортовано додатковi вiдомостi, якщо такi виявляться доступними, зокрема данi щодоакомпанементу, аранжування та видавця. Якщо позначено пункт Зображення обкла-динки, буде отримано зображення обкладинки, якщо таке виявиться доступним.Ви можете виконати пошук у той самий спосiб у базi даних випускiв MusicBrainz задопомогою пункту З Випуск MusicBrainz. Процедура отримання даних подiбна доописаної для пункту З gnudb.org.Iмпортувати данi з сервера MusicBrainz можна за допомогою дiалогового вiкна, якевiдкривається натисканням кнопки З Вiдбиток MusicBrainz. Сервер можна вибратиу спосiб, подiбний до вибору сервера у вiкнi iмпортування даних з freedb. Нижче у вiкнiрозташовано таблицю для показу iмпортованих даних дорiжок. У правому стовпчикубуде показано стан запиту до MusicBrainz. Одразу пiсля запуску цим станом буде очi-кування. Якщо пошук за вiдбитком не дасть результатiв, програма виконає повторнуспробу iз використанням мiток у файлi. Таким чином, для успiшного пошуку у Musi-cBrainz варто зберегти наявнi данi (наприклад, данi щодо виконавця та альбому) домiток до iмпортування. Якщо буде знайдено вiдповiдний запис, пошук завершиться зiстаном «розпiзнано». Якщо знайти вiдповiдний запис не вдасться, буде показано повi-домлення про невдалий пошук або декiлька результатiв пошуку, один з яких можнабуде вибрати. Натисканням кнопок Гаразд та Застосувати можна iмпортувати данi.Натисканням кнопки Скасувати можна закрити дiалогове вiкно без iмпортування да-них. Для закриття вiкна знадобиться деякий час, оскiльки програма має зупинити усiпроцеси MusicBrainz.Для iмпортування текстових даних. Вiдкриває допомiжне дiалогове вiкно З файла-/буфера обмiну даними, з якого можна отримати доступ до декiлькох попередньо на-лаштованих форматiв iмпортування. Першими двома, «CSV unquoted» i «CSV quoted»,можна скористатися для iмпортування даних, якi було експортовано за допомогою дiа-логового вiкна експортування. Данi CSV можна редагувати у програмi для роботи iзелектронними таблицями. Данi має бути збережено iз використанням символiв табу-ляцiї як роздiльникiв. Пiсля обробки данi можна iмпортувати або з використаннямформату «CSV quoted», який є дещо гнучкiшим за формат «CSV unquoted». Втiм, данiу такому форматi не можуть мiстити символiв подвiйних лапок. Якщо ви лише експор-туєте данi з Kid3 для подальшого iмпортування, можете скористатися форматом «CSVunquoted», як простiшим. Зауважте, що у контекстному меню списку файлiв також єпункти «Експортувати CSV» i «Iмпортувати CSV». У цих пунктах для експортуваннята iмпортування даних CSV використано скрипти, якi надають повноти, потужностi тагнучкостi обробцi.Наступним форматом, «freedb HTML text», можна скористатися для копiювання вiдо-мостей зi сторiнки HTML freedb.org. Виконайте пошук альбому у freedb, i якщо бажанi

24

Page 25: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

данi буде показано у вiкнi браузера, скопiюйте данi до буфера обмiну даними. Далi,натиснiть кнопку З буфера обмiну даними, i iмпортованi данi буде показано у та-блицi попереднього перегляду у верхнiй частинi дiалогового вiкна. Якщо вас вдоволь-няють iмпортованi данi, закрийте дiалогове вiкно натисканням кнопки Гаразд. Данiбуде вставлено до мiток у поточнiй тецi. Призначення для iмпортування (Мiтка 1,Мiтка 2 або Мiтка 1 i Мiтка 2) можна вибрати за допомогою спадного списку. Дляналежного призначення мiток файли у поточнiй тецi мають перебувати у вiдповiдномупорядку. Досягти цього порядку можна нумеруванням файлiв.Наступним попередньо налаштованим форматом iмпортування, «freedb HTML source»,можна скористатися, якщо данi доступнi як документ HTML. Iмпортування можливеза допомогою натискання кнопки З файла. У вiдповiдь на натискання цiєї кнопкипрограма вiдкриє вiкно для вибору файлiв. Крiм того, можна скопiювати вмiст файлаз редактора, а потiм iмпортувати данi з буфера обмiну даними. Цей формат можебути корисним для iмпортування поза iнтернетом, хоча документ HTML також можнавiдкрити у браузерi, а потiм iмпортувати данi у першому форматi за допомогою буфераобмiну даних.Доступнi також iншi попередньо налаштованi формати, наприклад «Track Title Time».Можна створити порожнiй нетиповий формат за допомогою кнопки Додати i пiзнi-ше його налаштувати. Два рядки пiд назвою формату є формальними виразами длязахоплення полiв з iмпортованого тексту. Перший формальний вираз буде обробленоодин раз на документ для збирання даних окремого альбому, зокрема даних щодо вико-навця, альбому, року i жанру. За допомогою другого рядка програма намагатиметьсявстановити вiдповiднiсть вiд початку документа до кiнця отриманих даних дорiжки,зазвичай, номеру дорiжки i заголовка. У формальному виразi можна використовува-ти усi можливостi, якi передбачено у Qt™, тобто бiльшiсть можливостей формальнихвиразiв Perl. Використання дужок, «(..)», створює буфери захоплення для полiв дляiмпортування. Перед ними можна вказувати специфiчнi для Kid3 коди для захопленняполiв. Коди є тими самими, якi використовуються у форматi назв файлiв. Окрiм кодiвiз наведеного нижче списку, можна використовувати будь-яку назву кадру.

• %s %{title} Заголовок (твору)• %a %{artist} Виконавець• %l %{album} Альбом• %c %{comment} Коментар• %y %{year} Рiк• %t %{track} Дорiжка• %g %{genre} Жанр• %d %{duration} Тривалiсть

Наприклад, формальний вираз для дорiжки (другий рядок) для iмпортування зi спи-ску вiдтворення .m3u може бути таким: «%{track}(\d+)\s+%{title}(\S[ˆ\r\n]*)\.mp3[\r\n]». Усi формати можна змiнити редагуванням формальних виразiв i назви знаступним натисканням кнопки Зберегти параметри. Їх буде збережено у файлi kid3rc у тецi налаштувань. Цей файл можна безпосередньо редагувати для створеннядодаткових форматiв iмпортування. Файл можна вилучити для повернення до типовихформатiв. Формати можна вилучати натисканням кнопки Вилучити.Точнiсть показує оцiнку того, наскiльки добре iмпортованi данi вiдповiдають зада-ним композицiям. Для встановлення рiвня вiдповiдностi у вiдсотках використовуєтьсятривалiсть вiдтворення або назви файлiв. Обкладинка альбому показує адресу зо-браження обкладинки альбому, яку буде отримано.Щоб перевiрити, чи iмпортованi данi дорiжок вiдповiдають набору файлiв, iмпортованiданi щодо тривалостi дорiжок можна порiвняти iз тривалiстю вiдтворення файлiв. Такуперевiрку можна увiмкнути позначенням пункту Перевiрити максимальну дозво-лену рiзницю у часi i визначенням максимальної похибки у секундах. Якщо будевиявлено невiдповiднiсть тривалостей вiдтворення, данi щодо тривалостi вiдтвореннябуде позначено червоним тлом у таблицi попереднього перегляду.Якщо файли упорядковано iнакше, нiж у iмпортованих даних дорiжок, пов’язанi дорiж-ки слiд змiнити. Полегшити це завдання можна за допомогою кнопок роздiлу Вiдпо-вiднiсть — Тривалiсть,Дорiжка i Заголовок. Цi кнопки перевпорядкують дорiжки

25

Page 26: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

за вмiстом вiдповiдних полiв. Щоб виправити прив’язки вручну, ви можете перетягну-ти пункт дорiжки за допомогою лiвої кнопки мишi iз утриманням натиснутою клавiшiCtrl iз наступним скиданням пункту на нове мiсце.Пiсля вiдкриття дiалогового вiкна iмпортування у ньому мiстяться данi мiток. Тип мi-тки (Мiтка 1, Мiтка 2, Мiтка 1 i Мiтка 2) можна вибрати за допомогою спадного спискуПризначення. За допомогою кнопки праворуч вiд цього спадного списку можна вiдно-вити поточний стан вмiсту мiток. За допомогою позначок у першому стовпчику таблицiможна позначити дорiжки, для яких буде iмпортовано данi. Це корисно, якщо у тецi мi-стяться дорiжки iз обох компакт-дискiв подвiйного компакт-диска, а iмпортувати слiдданi лише другого компакт-диска.Щоб iдентифiкувати дорiжки, данi яких буде iмпортовано, можна увiмкнути показназв файлiв i повних шляхiв до файлiв за допомогою контекстного меню заголовкатаблицi. Значення у таблицi iмпортування можна редагувати. Кнопкою скасування,розташованою праворуч вiд спадного списку Призначення, можна скористатися длявiдновлення вмiсту мiток. Нею також можна скористатися пiсля змiни вмiсту пунктуПризначення.Майже у всiх дiалогових вiкнах є кнопка Зберегти параметри, якою можна ско-ристатися для збереження специфiчних для дiалогового вiкна параметрiв та розмiрувiкна.Натискання кнопки З мiток вiдкриває допомiжне дiалогове вiкно для встановленнякадрiв мiток на основi вмiсту iнших кадрiв мiток. Цим вiкном можна скористатисядля простого копiювання даних мiж мiтками або видобування частин iз одного кадруi вставляння її до iншого.Як i у дiалоговому вiкнi iмпортування з файла або буфера обмiну даних, передбаче-но довiльно налаштовуванi формати для виконання рiзних дiй. До вже налаштованихформатi належать формати копiювання значення назви альбому до полiв виконавцяальбому, композитора або диригента, та формат для видобування номера дорiжки iзполя заголовка, яке мiстить номер. Також передбачено формат для видобування зна-чення пiдзаголовка iз поля заголовка.У наведеному нижче прикладi пояснено, як додати нетиповий формат, який вставляти-ме данi з поля пiдзаголовка до поля коментаря. Створiть новий формат за допомогоюнатискання кнопки Додати i встановлення нової назви, наприклад «Пiдзаголовок укоментар». Далi, введiть «%{subtitle}» у поле Джерело i «%{comment}(.*)» у полеВидобування i натиснiть кнопку Зберегти параметри.Вираз у полi Джерело може мiстити коди форматiв для довiльних кадрiв мiток. Мо-жна використати декiлька кодiв для поєднання вмiсту з рiзних кадрiв. Для кожноїдорiжки текст буде створено на основi її мiток на основi формату Джерело, формаль-ний вираз з поля Видобування буде застосовано до цього тексту для встановленнянових значень мiток. Коди форматiв, якi вказано до дужок для захоплення тексту, ви-значають кадр мiтки, до якого має бути збережено захоплений текст. Усе працює таксамо, як i для iмпортування з файла або буфера обмiну даними.Пунктом Iмпортувати з мiток... також можна безпосередньо скористатися у менюФайл. Вiдмiннiстю мiж цими двома iнструментами є те, що допомiжне дiалогове вiкнодiалогового вiкна iмпортування працює iз усiма файлами у поточнiй тецi, а пункт ме-ню, лише зi позначеними файлами (якi можуть зберiгатися у рiзних теках). Для пунктуменю передбачено пiдтримку додаткового коду «%{__return}» для повернення видобу-того значення. Це може бути корисним для iнтерфейсiв командного рядка та QML.

Файл→ Iмпортувати з gnudb.org...Iмпортувати з сервера freedb.org з використанням пошуку альбомiв у gnudb.org. Цейпункт меню вiдкриває те саме дiалогове вiкно Iмпортувати..., але скориговане запараметрами вiкна З gnudb.org.

Файл→ Iмпортувати з TrackType.org...Iмпортувати з сервера TrackType.org. Цей пункт меню вiдкриває те саме дiалогове вiкноIмпортувати..., але скориговане за параметрами вiкна З TrackType.org.

Файл→ Iмпортувати з Discogs...Iмпортувати з сервера Discogs. Цей пункт меню вiдкриває те саме дiалогове вiкно Iм-портувати..., але скориговане за параметрами вiкна З Discogs.

26

Page 27: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Файл→ Iмпортувати з Amazon...Iмпортувати з Amazon. Цей пункт меню вiдкриває те саме дiалогове вiкно Iмпортува-ти..., але скориговане за параметрами вiкна З Amazon.

Файл→ Iмпортувати з Випуск MusicBrainz...Iмпортувати з бази даних випускiв MusicBrainz. Цей пункт меню вiдкриває те саме дiа-логове вiкно Iмпортувати..., але скориговане за параметрами вiкна З Випуск Musi-cBrainz.

Файл→ Iмпортувати з Вiдбиток MusicBrainz...Iмпортувати з сервера MusicBrainz. Цей пункт меню вiдкриває те саме дiалогове вiкноIмпортувати..., але скориговане за параметрами вiкна З Вiдбиток MusicBrainz.

Файл→ Iмпортувати з мiток...Подiбний до iмпортування з мiток, але iмпортування стосується позначених файлiв.

Файл→Автоматичне iмпортування...Автоматичне iмпортування надає змогу iмпортувати вiдомостi для декiлькох альбомiвiз рiзних iнтернет-служб. Якщо у списку файлiв позначено теки, буде iмпортовано данiкомпозицiй для позначених тек. Якщо жодної теки не позначено, буде iмпортовано данiдля усiх тек у списку файлiв.Тип мiтки (Мiтка 1, Мiтка 2, Мiтка 1 i Мiтка 2) можна вибрати за допомогою спадногосписку Призначення.Профiлi визначають, з якими iз серверiв слiд зв’язуватися для отримання даних щодоальбомiв. Деякi з профiлiв попередньо визначено (Усi, MusicBrainz, Discogs, Обкла-динки). Нетиповi профiлi можна додати за допомогою натискання кнопки Додати,розташованої праворуч вiд спадного списку Профiль.У наведенiй нижче таблицi буде показано сервери, якi програма використає при iмпор-тування даних альбому за допомогою вибраного профiлю. Процес iмпортування данихдля альбому буде завершено, коли буде знайдено усi потрiбнi данi, тому порядок ряд-кiв у таблицi є важливим. Змiнити порядок можна натисканням кнопок Пересунутивище i Пересунути нижче. Натисканням кнопки Змiнити можна перейти до вне-сення змiн до наявного запису. За допомогою кнопки Сервер можна вiдкрити списоксерверiв, данi з яких можна iмпортувати. За допомогою полiв Стандартнi мiтки, До-датковi мiтки, Зображення обкладинки можна визначити данi, якi буде отриманоз сервера. Нарештi, за допомогою поля Точнiсть можна встановити точнiсть, якої слiддосягти при iмпортуваннi даних. Якщо рiвень точностi є недостатнiм, програма спробуєскористатися наступним сервером у списку. Якщо натиснути кнопку Додати для до-давання запису сервера, буде вiдкрито те саме дiалогове вiкно iз параметрами сервера.Наявнi записи можна вилучати натисканням кнопки Вилучити.Щоб запустити автоматичне пакетне iмпортування iз використанням вибраного профi-лю, натиснiть кнопку Почати. Подробицi щодо процесу iмпортування буде показано уверхнiй частинi дiалогового вiкна. Процес можна перервати натисканням кнопки Пе-рервати.

Файл→Навiгацiя обкладинками...Дiалогове вiкно Навiгацiя обкладинками допомагає шукати зображення обкладинокальбомiв. Якщо наявнi вiдповiднi данi, поля Виконавець/Альбом буде заповнено ав-томатично. За допомогою списку Джерело можна вибрати один iз сайтiв для пошукузображень обкладинок. Адресу iз параметрами виконавця i альбому буде показано пiдназвою сайта. Закодованi значення адрес для виконавця i альбому можна вставляти задопомогою рядкiв %u{artist} i %u{album}. Також можна використовувати iншi значе-ння з мiток, як це описано у роздiлi щодо налаштовування Kid3, Дiї користувача.Додатковi джерела обкладинок можна додавати замiнивши запис «Нетипове джерело»назвою нового джерела iз наступним натисканням клавiшi Enter. Далi, слiд вказатиадресу джерела i натиснути кнопку Зберегти параметри. Команду-результат будепоказано у верхнiй частинi дiалогового вiкна. Вiдповiдну адресу можна вiдкрити у бра-узерi натисканням кнопки Перейти. У вiдповiдь буде запущено програму для перегля-ду iнтернету, яку визначено у параметрах, на вiдповiднiй сторiнцi. Далi, зображенняобкладинки можна перетягнути з вiкна браузера до вiкна Kid3. Зображення обкладинкибуде записано до вiдповiдного кадру мiток позначених файлiв.

27

Page 28: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Оскiльки пiдтримку перетягування зi скиданням передбачено не у всiх браузерах, а узображень на сайтах часто є адреса, Kid3 може отримувати адресу URL, а не зображе-ння. Якщо адреса вказує на зображення, програма просто отримає зображення. Втiм,якщо адреса посилається на якийсь стороннiй вебресурс, її має бути якось перетворенона вiдповiдне зображення. Способи перетворення адреси на зображення визначено утаблицi Видобування адреси. У лiвому стовпчику, Вiдповiднiсть, мiститься фор-мальний вираз, який використовується для адреси. Якщо програмi вдасться встанови-ти вiдповiднiсть виразу адресi, захопленi дужками частини адреси буде встановлено дошаблона у правому стовпчику, Адреса зображення (на мiсце, яке вказано замiнника-ми \1 тощо). Отриманий формальний вираз має визначати адресу зображення. У цейспосiб можна iмпортувати зображення обкладинок iз Amazon, Зображень Google тощоза допомогою перетягування зi скиданням. Також можна визначати власнi прив’язкизображень.

Файл→Експортувати...Дiалогове вiкно експортування використовують для збереження даних з мiток до файлаабо буфера обмiну даними. У верхнiй частинi вiкна редактора буде показано попереднiйперегляд даних, якi буде експортовано. Якщо у експортованих даних мiстяться символитабуляцiї, данi буде показано у форматi таблицi. Експортування вiдбуватиметься насоновi мiток у поточнiй тецi, вiдповiдно до налаштованого формату.Параметри форматування є подiбними до параметрiв у дiалоговому вiкнi iмпортування:у найвищому полi мiститься назва (наприклад «CSV unquoted»), далi йде заголовок,який буде записано на початку файла. Далi мають бути данi дорiжки (використовує-ться для кожної композицiї). Нарештi, завершенням можна скористатися для додаванняякогось завершального текстового фрагмента.У полях форматування не повинно мiститися формальних виразiв, як у дiалоговомувiкнi iмпортування. Там мають бути лише вирази форматування результату iз спе-цiальними замiнниками iз символом «%». Цi замiнники буде замiнено значеннями звiдповiдних мiток. Усе це працює так само, як для форматування назви файла — ви-користовуються тi самi коди разом iз додатковими. Можна використовувати не лишекоду iз наведеного нижче списку, але i iншi коди iз назвами кадрiв мiток.

• %s %{title} Заголовок (твору)• %a %{artist} Виконавець• %l %{album} Альбом• %c %{comment} Коментар• %y %{year} Рiк• %t %{track} Дорiжка (наприклад 01)• %t %{track.n} Дорiжка i шириною поля n (наприклад 001 для %{track.3})• %T %{tracknumber} Дорiжка (без початкових нулiв, наприклад 1)• %g %{genre} Жанр• %f %{file} Назва файла• %p %{filepath} Шлях• %{modificationdate} Дата внесення змiн• %{creationdate} Поточна дата• %u %{url} Адреса• %{dirname} Назва теки• %d %{duration} Тривалiсть у хвилинах та секундах• %D %{seconds} Тривалiсть у секундах• %n %{tracks} Кiлькiсть дорiжок у альбомi• %e %{extension} Суфiкс назви файла• %O %{tag1} Формат мiтки 1 (ID3v1.1 або порожнє значення, якщо мiтки не iснує)• %o %{tag2} Формат мiтки 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE,MP4, ASF або порожнє значення, якщо мiтки не iснує)

28

Page 29: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

• %b %{bitrate} Бiтова швидкiсть у кбiт/с• %v %{vbr} VBR або порожнє значення (лише для ID3v2.3 з id3lib)• %r %{samplerate} Частота дискретизацiї у Гц• %m %{mode} Режим каналiв (стерео або з’єднане стерео)• %h %{channels} Кiлькiсть каналiв (1 або 2)• %k %{codec} Кодек (наприклад MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE,ASF, AIFF, WAV)

Декiлька форматiв попередньо визначено. «CSV unquoted» подiляє поля табуляцiями.Данi у цьому форматi можна згодом знову iмпортувати до Kid3, скориставшись форма-том iмпортування iз тiєю самою назвою. Якщо скористатися форматом «CSV quoted»,програма додасть подвiйнi лапки навколо усiх значень полiв. Додавання лапок має по-легшити iмпортування до програм для роботи iз електронними таблицями. Втiм, якщови користуєтеся цим форматом, у вмiстi полiв не повинно бути подвiйних лапок. Задопомогою пунктiв «Extended M3U» та «Extended PLS» можна створити списки вiд-творення iз розширеними атрибутами та абсолютними шляхами до файлiв. Варiантом«HTML» можна скористатися для створення сторiнки HTML iз гiперпосиланнями накомпозицiї. За допомогою пункту «Kover XML» можна створити файл, який можнабуде iмпортувати до програми для друку обкладинок компакт-дискiв Kover. Викори-стання формату «Technical Details» надасть змогу вивести данi щодо бiтової швидкостi,частоти дискретизацiї, каналiв тощо звукових даних. Нарештi, пункт «Custom Format»навмисно залишено порожнiм для визначення нетипового формату. Ви можете самi до-давати формати шляхом дописування рядкiв до файла kid3rc у тецi налаштувань. Iншiформати можна адаптувати до ваших потреб.Джерело мiток для створення експортованих даних (Мiтка 1 або Мiтка 2) можнавибрати за допомогою спадного списку. Натисканням кнопок До файла i До буфераобмiну можна зберегти данi до файла i до буфера обмiну даними, вiдповiдно. На-тисканням кнопок Гаразд i Скасувати можна закрити дiалогове вiкно. Натисканнякнопки Гаразд призводить до зберiгання поточних параметрiв дiалогового вiкна длянаступного використання.

Файл→Створити список вiдтворення...Створити список вiдтворення. Формат i вмiст списку вiдтворення можна встановити задопомогою рiзних параметрiв.Назва списку вiдтворення може бути Така сама, як назва теки або для її створенняможна використати Формат зi значеннями iз мiток, наприклад, «%{artist} - %{album}» — формат назви файла списку вiдтворення, яка складається iз iменi виконавцяi назви альбому. Коди полiв збiгаються iз кодами для експортування. За допомогоюкнопки Створити порожнiй список вiдтворення можна створити порожнiй списоквiдтворення iз заданою назвою. Суфiкс назви залежатиме вiд формату списку вiдтво-рення.Мiсце зберiгання створеного списку вiдтворення визначається за допомогою спадногосписку Створити у.

Поточна текаСписок вiдтворення буде створено у поточнiй тецi. Вiн мiститиме лише файли з по-точної теки. Поточною вважається тека, у якiй розташовано поточний файл. Якщопозначено декiлька файлiв, поточним є, ймовiрно, останнiй позначений файл.

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

Тека найвищого рiвняПрограма створює лише один список вiдтворення у тецi найвищого рiвня (тобтотецi списку файлiв). Цей список вiдтворення мiститиме позначенi файли у тецiнайвищого рiвня i усiх її пiдтеках.

Значенням Формат списку вiдтворення може бути M3U, PLS або XSPF.Якщо позначено пункт Включити лише позначенi файли, до списку вiдтвореннябуде включено лише позначенi файли. Якщо позначено теку, буде включено усi файлиз теки. Якщо цей пункт не буде позначено, до списку вiдтворення буде включено усiфайли.

29

Page 30: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Упорядкувати за назвами файлiв визначає звичайний випадок, у якому файлиупорядковуються за назвою. За допомогою вибору варiанта Упорядкувати за по-лем мiтки можна упорядкувати пункти за рядком форматування зi значеннями зполiв мiтки. Наприклад, «%{track.3}» можна скористатися для упорядковування заномером дорiжки («.3» використано для отримання трьох цифр iз початковими нуля-ми, оскiльки вiдповiднi рядки використовуються для упорядковування). Також можнавикористовувати декiлька полiв одночасно. Наприклад, за допомогою рядка формату-вання «%{genre}%{year}» можна упорядкувати пункти за рядком, який складається iзжанру та року випуску.Записи файлiв у списку вiдтворення будуть вiдносними або абсолютними адресамифайлiв, залежно вiд того, який з пунктiв, Вiдносний шлях до файлiв у спискувiдтворення чи Повний шлях до файлiв у списку вiдтворення, було позначено.Якщо позначено пункт Записати лише список файлiв, список вiдтворення мiстити-ме лише шляхи до файлiв. Щоб створити розширений список вiдтворення iз додатко-вими даними виберiть варiант Записати данi у форматi.

Файл→Вийти (Ctrl-Q)Вихiд з програми.

3.3 Меню «Змiни»

Змiни→Позначити все (Alt-A)Позначити усi файли.

Змiни→Скасувати вибiр (Ctrl+Shift+A)Зняти позначення з усiх файлiв.

Змiни→Позначити все у тецiПозначити усi файли у поточнiй тецi.

Змiни→Попереднiй файл (Alt-↑)Позначити попереднiй файл.

Змiни→Наступний файл (Alt-↓)Позначити наступний файл.

Змiни→Пошук... (Ctrl+F)Знайти рядки у назвах файлiв i мiтках. Дiалогове вiкно Знайти є частиною дiалоговоговiкна Замiнити, яке описано нижче.

Змiни→ Замiнити... (Ctrl+R)За допомогою цього пункту можна вiдкрити дiалогове вiкно для пошуку i замiни рядкiву назвах файлiв та мiтках. Щоб визначити перелiк кадрiв, у яких виконуватиметься по-шук, знiмiть позначку з пункту Позначити все i виберiть кадри, у яких слiд виконатипошук. Також можете скористатися параметрами пошуку для пошуку у зворотному на-прямку, визначення чутливостi пошуку до регiстру лiтер та використання формальнихвиразiв.Залежно вiд кiлькостi файлiв, пошук може бути доволi тривалою процедурою. Черезце, передбачено можливiсть його переривання за допомогою закриття цього дiалоговоговiкна.

30

Page 31: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

3.4 Меню «Iнструменти»

Iнструменти→ Застосувати формат назв файлiвЯкщо знято позначку з пункту Автоматично застосувати формат для форматуван-ня назви файла у дiалоговому вiкнi налаштувань програми, цим пунктом меню можнаскористатися для застосування налаштованого формату до назв позначених файлiв.Ним також можна скористатися для перевiрки того, чи вiдповiдають назви файлiв на-лаштованому формату: просто застосуйте формат до усiх збережених файлiв, а потiмперевiрте, чи не було внесено змiни до якогось iз них (тобто, перевiрте, чи не булопозначено якийсь iз пунктiв файлiв пiктограмою диска на панелi списку файлiв).

Iнструменти→ Застосувати формат мiткиЯкщо знято позначку з пункту Автоматично застосувати формат для формату-вання мiтки у дiалоговому вiкнi налаштувань програми, цим пунктом меню можнаскористатися для застосування налаштованого формату до мiток позначених файлiв.Ним також можна скористатися для перевiрки того, чи вiдповiдають мiтки файлiв на-лаштованому формату: просто застосуйте формат до усiх збережених файлiв, а потiмперевiрте, чи не було внесено змiни до якогось iз них (тобто, перевiрте, чи не булопозначено якийсь iз пунктiв файлiв пiктограмою диска на панелi списку файлiв).

Iнструменти→ Застосувати кодування текстуВстановити Кодування тексту, яке вказано на сторiнцi Параметри→ Налаштувати Kid3...→ Роздiл «Мiтки»→ Вкладка «Мiтка 2» до усiхпозначених файлiв. Якщо вибрано варiант кодування UTF8, для мiток ID3v2.3.0 будевикористано UTF16, оскiльки у цiй версiї формату не передбачено пiдтримки UTF8.

Iнструменти→Перейменувати теку...За допомогою цього дiалогового вiкна можна автоматично перейменувати поточну вiд-криту теку за мiтками у файлах. Попередньо визначено декiлька форматiв, за допо-могою яких можна включити до назви теки данi щодо виконавця, альбому та рокувипуску. Також передбачено можливiсть визначення нетипового формату та кнопкуЗмiнити для редагування наявних форматiв. Для вставлення значень мiток до назвитеки передбачено такi спецiальнi коди:

• %s %{title} Заголовок (твору)• %a %{artist} Виконавець• %l %{album} Альбом• %c %{comment} Коментар• %y %{year} Рiк• %t %{track} Дорiжка (наприклад 01)• %t %{track.n} Дорiжка i шириною поля n (наприклад 001 для %{track.3})• %T %{tracknumber} Дорiжка (без початкових нулiв, наприклад 1)• %g %{genre} Жанр• %{dirname} Назва теки (наприклад %{year˝ ˝}%{dirname} додасть запис року передпоточною назвою теки)

• %{max-year} Максимальне знайдене значення року для цiєї теки, також можна ви-користовувати iз кодами, вiдмiнними вiд «year»

• %{min-year} Мiнiмальне знайдене значення року для цiєї теки• %{unq-year} Унiкальне знайдене значення року для цiєї теки або порожнє значення,якщо унiкального не знайдено

Якщо у записi формату буде виявлено роздiльник тек, «/», буде створено декiлька вкла-дених тек. Якщо ви хочете створити теку, а не перейменовувати поточну теку, у спискуДiя позначте пункт Створити теку, замiстьПерейменувати теку. Джерелом данихмiтки можна вибрати Мiтка 1 i Мiтка 2, Мiтка 1 або Мiтка 2. Попереднiй переглядвиконання дiї з перейменування можна бачити у роздiлах З та До дiалогового вiкна.За допомогою цього пункту можна одночасно перейменувати декiлька тек.

31

Page 32: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Iнструменти→Пронумерувати дорiжки...Якщо номери дорiжок у мiтках не встановлено, або встановлено помилковi значення, задопомогою цього пункту можна пронумерувати дорiжки автоматично за зростанням.Початковий номер можна вказати у дiалоговому вiкнi. Якщо слiд пронумерувати лишечастину дорiжок, слiд позначити вiдповiднi пункти у списку файлiв.Якщо позначено пункт Загальна кiлькiсть дорiжок, у мiтках також буде встанов-лено кiлькiсть дорiжок.Можлива нумерацiя дорiжок у декiлькох теках одночасно. Теки має бути розгорнуто iпозначено.Якщо позначено пункт Скидати лiчильник для кожної з тек, нумерацiя дорiжокперезапускатиметься iз вказаного числа для кожної теки, якщо позначено декiлька тек.Дiалоговим вiкном нумерування дорiжок можна також скористатися для форматуван-ня наявних номерiв дорiжок без змiни значень, якщо зняти позначку лiворуч вiд пунктупочатковий номер. Загальну кiлькiсть дорiжок буде додано, якщо позначено вiдпо-вiдний пункт, яким можна скористатися для додавання даних щодо загальної кiлькостiдорiжок до усiх позначених файлiв. Якщо вам потрiбне лише форматування наявнихномерiв, слiд також зняти позначку з цього пункту.

Iнструменти→Фiльтрувати...Фiльтруванням можна скористатися для того, щоб наказати програмi показувати ли-ше тi файли, якi вiдповiдають певним критерiям. Фiльтрування є корисним, якщо вихочете упорядкувати велику збiрку i виконати редагування лише тих файлiв, якi невiдповiдають бажанiй схемi. У виразi, який визначає, якi файли слiд показувати, слiдвикористовувати тi самi коди форматування, якi використовуються пiд час формату-вання назв файлiв при iмпортуваннi та експортуваннi даних.

• %s %{title} Заголовок (твору)• %a %{artist} Виконавець• %l %{album} Альбом• %c %{comment} Коментар• %y %{year} Рiк• %t %{track} Дорiжка (наприклад 01)• %t %{track.n} Дорiжка i шириною поля n (наприклад 001 для %{track.3})• %T %{tracknumber} Дорiжка (без початкових нулiв, наприклад 1)• %g %{genre} Жанр• %f %{file} Назва файла• p %{filepath} Абсолютний шлях до файла• %e %{extension} Суфiкс назви файла• %O %{tag1} Формат мiтки 1 (ID3v1.1 або порожнє значення, якщо мiтки не iснує)• %o %{tag2} Формат мiтки 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE,MP4, ASF або порожнє значення, якщо мiтки не iснує)

• %b %{bitrate} Бiтова швидкiсть у кбiт/с• %v %{vbr} VBR або порожнє значення (лише для ID3v2.3 з id3lib)• %r %{samplerate} Частота дискретизацiї у Гц• %m %{mode} Режим каналiв (стерео або з’єднане стерео)• %h %{channels} Кiлькiсть каналiв (1 або 2)• %k %{codec} Кодек (наприклад MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE,ASF, AIFF, WAV)

• %w %{marked} Позначення, дорiвнює 1, якщо файл мiстить позначку (наприклад,через обрiзання або порушення стандартiв), є порожнiм, якщо позначок немає

• %1a %{artist}, ... Використовувати префiкс 1 для отримання значень мiтки 1• %2a %2{artist}, ... Використовувати префiкс 2 для отримання значень мiтки 2

32

Page 33: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Цi коди буде замiнено значеннями iз файла, а рядки-результати може бути порiвняноза допомогою таких операцiй:

• s1 equals s2: виконується, якщо s1 дорiвнює s2.• s1 contains s2: виконується, якщо s1 мiстить s2, тобто s2 є пiдрядком s1.• s matches re: виконується, якщо s вiдповiдає формальному виразу re.

Вирази, обчислення яких дає значення true, буде замiнено на 1, тi, обчислення якихдає false, — на 0. Значення iстинностi (true) може бути представлене як 1, true, on абоyes, значення хибностi (false) — як 0, false, off або no. Булевими дiями є not, and, or (уцьому порядку прiоритетностi). Цi дiї можна групувати за допомогою дужок.Ось декiлька попередньо визначених правил фiльтрування, якi можуть слугувати при-кладами для ваших власних виразiв:

ВсiТе, що список файлiв пiдлягає фiльтруванню, позначається записом «[вiдфiль-тровано]» у заголовку вiкна. За допомогою цього пункту можна зняти фiльтру-вання, i усi файли буде знову показано. У вiдповiдному фiльтрi використовуєтьсяпорожнiй вираз, але значення «true» для фiльтра теж призведе до того самогорезультату.

Невiдповiднiсть мiток назвам файлiвnot (%{filepath} contains ˝%{artist} - %{album}/%{track} %{title}˝)Перевiряє, чи вiдповiдає шлях до файла формату назви файла. Це правило авто-матично синхронiзується зi змiнами у форматi назв файлiв.

Немає мiтки 1%{tag1} equals ˝˝Показує лише тi файли, у яких немає мiтки 1.

Немає мiтки 2%{tag2} equals ˝˝Показує лише тi файли, у яких немає мiтки 2.

Мiтка ID3v2.3.0%{tag2} equals ˝ID3v2.3.0˝Показує лише тi файли, у яких є мiтка ID3v2.3.0.

Мiтка ID3v2.4.0%{tag2} equals ˝ID3v2.4.0˝Показує лише тi файли, у яких є мiтка ID3v2.4.0.

Мiтка 1 != Мiтка 2not (%1{title} equals %2{title} and %1{album} equals %2{album} and%1{artist} equals %2{artist} and %1{comment} equals %2{comment} and%1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre}equals %2{genre})Показує файли, у яких значення мiтки 1 не збiгається зi значенням мiтки 2.

Мiтка 1 == Мiтка 2%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year}equals %2{year} and %1{track} equals %2{track} and %1{genre} equals%2{genre}Показує файли, у яких значення мiтки 1 i значення мiтки 2 збiгаються.

Незавершенi%{title} equals ˝˝ or %{artist} equals ˝˝ or %{album} equals ˝˝ or %{year} equals ˝˝ or %{tracknumber} equals ˝˝ or %{genre} equals ˝˝Показує файли, у яких значення стандартних мiток (заголовок, виконавець, аль-бом, дата, номер композицiї, жанр) є порожнiми.

Зображення не вказано%{picture} equals ˝˝Показує лише тi файли, у яких немає зображення.

33

Page 34: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Позначеноnot (%{marked} equals ˝˝)Показує лише файли, якi було позначено, оскiльки у них порушено стандарт ID3,їх обрiзано або зображення обкладинки альбому у них є надто великим.

Нетиповий фiльтрВиберiть цей пункт для додавання власного фiльтра. Наприклад, якщо ви хочетестворити фiльтр, який пропускав би лише виконавцiв, назва яких починаєтьсяiз «The», замiнiть «Нетиповий фiльтр» назвою «The-групи» i натиснiть клавiшуEnter. Далi, вставте такий вираз до поля для редагування тексту:%{artist} вiдповiдає «The.*»Далi, натиснiть кнопку Зберегти параметри. Натиснiть кнопку Застосуватидля фiльтрування списку файлiв. Усi обробленi файли буде показано у текстово-му форматi iз додаванням до запису символу «+», якщо файл проходить фiль-трування, i символу «-», якщо не проходить. Пiсля завершення фiльтрування будепоказано лише тi файли, запис виконавця у яких починається iз рядка «The», узаголовку вiкна ви побачите запис «[вiдфiльтровано]».

Iнструменти→Перетворити ID3v2.4 на ID3v2.3Якщо у позначених файлах зберiгаються мiтки ID3v2.4, їх буде перетворено до форматуID3v2.3. Кадри, пiдтримки яких не передбачено у TagLib, буде вiдкинуто. Перетвореннябуде виконано лише для файлiв без незбережених змiн.

Iнструменти→Перетворити ID3v2.4 на ID3v2.3Якщо у позначених файлах зберiгаються мiтки ID3v2.4, їх буде перетворено до форматуID3v2.3. Перетворення буде виконано лише для файлiв без незбережених змiн.

Iнструменти→ВiдтворитиВiдкрити просту панель iнструментiв для вiдтворення звукових файлiв. На панелi будепоказано кнопки для простих дiй (Старт/Пауза, Зупинити вiдтворення, Попе-редня композицiя, Наступна композицiя, Закрити), повзунки для позицiюваннята гучностi та засiб показу поточної позицiї. Якщо позначено декiлька файлiв, будевiдтворено позначенi композицiї. Якщо нiчого не позначено, програма вiдтворить усiфайли.

3.5 Меню «Параметри»

Параметри→Показати пеналВмикає або вимикає показ панелi iнструментiв.

Параметри→Показати смужку стануВмикає або вимикає показ смужки стану, де програма показує вiдомостi щодо поступувиконання довготривалих дiй, зокрема вiдкриття або збереження теки iз файлами.

Параметри→Показати зображенняВмикає або вимикає попереднiй показ зображення обкладинки альбому.

Параметри→Автоматично ховати мiткиЯкщо цей пункт позначено, програма автоматично ховатиме порожнi мiтки. РоздiлиФайл, Мiтка 1 i Мiтка 2 можна згортати i розгортати вручну за допомогою натиска-ння вiдповiдних кнопок -/+.

Параметри→Налаштувати скорочення...Вiдкрити дiалогове вiкно для визначення клавiатурних скорочень для бiльшостi iз фун-кцiональних можливостей програми. Клавiатурнi скорочення можна призначити навiтьдля дiй, якi не мають вiдповiдних пунктiв меню або кнопок, наприклад для дiй з пере-ходу до наступного файла, попереднього файла або позначення усiх файлiв.

34

Page 35: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Параметри→Налаштувати Kid3...Вiдкрити дiалогове вiкно налаштовування, у якому передбачено сторiнки налаштову-вання обробки мiток, файлiв, дiй користувача та параметрiв мережi.Специфiчнi для мiток параметри зiбрано на сторiнцi Мiтки, яку подiлено на чотиривкладки: Мiтка 1, Мiтка 2, Мiтка 3 i Усi мiтки.Якщо позначено пункт Позначати обрiзанi поля, обрiзанi у ID3v1.1 поля буде позна-чено червоним кольором. Текстовi поля у ID3v1.1 можуть мiстити не бiльше 30 символiв,а поле коментаря — не бiльше 28 символiв. Крiм того, передбачено обмеження на поляжанру та номерiв дорiжок. Тому цi поля може бути обрiзано при iмпортуваннi або пе-ретвореннi iз ID3v2. Обрiзанi поля i пункт файла буде позначено червоним кольором.Позначення буде знято пiсля редагування вiдповiдного поля.За допомогою поля Кодування тексту для мiток ID3v1 можна встановити набiрсимволiв, який буде використано для вмiсту мiток ID3v1. Стандартним кодуваннямє ISO-8859-1, тому рекомендуємо не змiнювати це значення. Втiм, iнодi кодування єiншим, отже, його можна встановити за допомогою цього пункту, щоб потiм мiткиID3v1 можна було скопiювати до ID3v2, де передбачено пiдтримку Unicode.За допомогою пункту Використати формат дорiжка/загальна кiлькiсть дорi-жок можна керувати тим, буде мiстити поле номера дорiжки у мiтках ID3v2 простийномер дорiжки чи номер дорiжки iз загальною кiлькiстю дорiжок у тецi.Якщо позначено пункт Жанр у текстовому форматi, а не у форматi числовогорядка, усi записи жанрiв у мiтках ID3v2 буде збережено у текстовому форматi, навiтьякщо iснує вiдповiдний код для жанрiв ID3v1. Якщо цей пункт не позначено, записижанрiв, для яких iснують коди ID3v1, буде збережено у форматi числа — коду жанру(у дужках для ID3v2.3). Отже, жанр «метал» буде збережено як «Metal» або «(9)»,залежно вiд того, чи позначено цей пункт. Записи жанрiв, яких немає у списку жанрiвID3v1, завжди зберiгатимуться у форматi текстового рядка. Цей пункт налаштуваньпризначено для забезпечення сумiсностi iз пристроями, якi не здатнi належним чиномобробляти коди жанрiв.Якщо позначено пункт Файли WAV iз фрагментом id3 нижнiм регiстром, фра-гмент RIFF, який використовується для зберiгання мiток ID3v2 у файлах WAV, матименазву «id3 », а не «ID3 ». Типово, у Kid3 та iнших програмах, у яких використано TagLib,можна використовувати обидва варiанти — iз малими i великими лiтерами при читан-нi даних файлiв WAV, але для запису мiток ID3v2 до файлiв WAV «ID3 ». Оскiлькиiснують програми, у яких передбачено обробку лише варiанта «id3 » (наприклад JRiverMedia Center i foobar2000), ви можете скористатися цим пунктом для створення мiток,якi можна буде прочитати у вiдповiдних програмах.Якщо буде позначено пунктПозначати порушення стандарту, програма позначати-ме поля, у яких виявлено порушення стандарту ID3v2, червоним кольором. Подробицiщодо порушення буде показано у форматi пiдказки:

• Не повинна повторюватися• Не можна використовувати символ нового рядка• Не можна використовувати символ повернення каретки• Поле власника має бути непорожнiм• Має бути числовим• Має бути числовим або «число/загалом»• Форматом є ДДММ• Форматом є ГГХХ• Формат є РРРР• Має починатися iз року та символу пробiлу• Має бути записом дати i часу у форматi ISO 8601• Має бути музичним ключем — 3 символи, A-G, b, #, m, o• Має мiстити код мови за ISO 639-2, 3 малi лiтери• Має бути кодом ISRC iз 12 символiв• Має бути списком рядкiв, вiдокремлених «|»• Мiстить зайвий пробiл

35

Page 36: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Документи щодо стандартiв ID3 у мережi:

• Версiя мiток ID3 2.3.0• Версiя мiток ID3 2.4.0 — основна структура• Версiя мiток ID3 2.4.0 — власнi кадри

За допомогою пункту Кодування тексту можна визначити типове кодування, якебуде використано для кадрiв ID3v2. Можна встановити значення ISO-8859-1, UTF16або UTF8. Значення UTF8 не можна використовувати для кадрiв ID3v2.3.0. Якщо вивстановите це значення для таких кадрiв, програма використає замiсть нього UTF16.Для кадрiв ID3v2.4.0 можна використовувати усi три кодування.За допомогою пункту Версiя, яку буде використано для нових мiток можнавизначити версiю для новостворених мiток ID3v2 — 2.3.0 або 2.4.0.Кiлькiсть цифр номера дорiжки — кiлькiсть цифр у полях номерiв дорiжок. Длядоповнення номера дорiжок до бажаної кiлькостi цифр буде використано нулi. Напри-клад, якщо встановлено значення кiлькостi цифр 2, для дорiжки iз номером 5 будевстановлено значення «05».Спадний список Назва поля коментаря стосується лише файлiв Ogg/Vorbis i FLAC.За його допомогою можна встановити назву поля, яке використовуватиметься для ко-ментарiв. У рiзних програмах, здається, використовують рiзнi назви. Наприклад, уxmms використано назву «COMMENT», а в Amarok — «DESCRIPTION».Формат зображень у файлах Ogg/Vorbis визначається за допомогою поля Назва полязображень, значеннями якого можуть бути METADATA_BLOCK_PICTURE або COVERART.Перша з назв є офiцiйним стандартом — використовується той самий формат, що iдля зображень у мiтках FLAC. COVERART є раннiм неофiцiйним способом включеннязображень до коментарiв у файлах Vorbis. Цим форматом можна скористатися длязабезпечення сумiсностi iз застарiлими програвачами.Якщо позначено пункт Позначати, якщо бiльше за (у байтах), програма позна-чатиме червоним кольором пункти файлiв, у яких розмiр вбудованого зображення об-кладинки у байтах перевищує вказане значення. Цим пунктом можна скористатися дляпошуку файлiв, у яких мiстяться надто великi зображення, показ яких не передбаченоу деяких програмах i програвачах. Типовим значенням граничного розмiру є 131072байтiв (128 кБ).Полем Нетиповi жанри можна скористатися для визначення жанрiв, яких немає устандартному списку жанрiв, наприклад, жанру «Gothic Metal». Такi нетиповi жанрибуде показано у спадному списку Жанр на панелi Мiтка 2. Для мiток ID3v1.1 можнавикористовувати лише записи жанрiв зi стандартного списку.Списком нетипових жанрiв можна також скористатися для звуження списку жанрiв,якi будуть доступними зi спадного списку Жанр до типового набору. Якщо у вашiйзбiрцi здебiльшого мiститься музика жанрiв метал, готичний метал, старовинна музиката хард-рок, ви можете ввести саме цi жанри i позначити пункт Показувати лишенетиповi жанри. Пiсля цього у спадному списку Жанр на панелi Мiтка 2 буде пока-зано лише цi чотири жанри, i вам не доведеться шукати їх у повному списку жанрiв. Унашому прикладi у списку мiтки 1 буде показано лише жанри «Metal» i «Hard Rock»,оскiльки лише цi два нетипових жанри є у списку стандартних жанрiв. Якщо пунктПоказувати лише нетиповi жанри не буде позначено, пункти нетипових жанрiвбуде розмiщено наприкiнцi списку жанрiв.За допомогою списку Кадри швидкого доступу можна визначити типи кадрiв, якiзавжди буде показано у роздiлi Мiтка 2. Данi для таких кадрiв можна буде додаватибез попереднього натискання кнопки Додати. Порядок цих кадрiв швидкого доступуможна змiнити перетягуванням зi скиданням пунктiв у списку.Значення у спадному списку Назва поля номера дорiжки стосується лише данихINFO RIFF. За його допомогою можна встановити назву поля, яке використовуватиме-ться для номерiв дорiжок. Назва поля номерiв дорiжок не визначається у початковомустандартi RIFF. У деяких програмах використовується «ITRK», у iнших — «IPRT».На панелi Формат мiток мiстяться пункти, якi пов’язано iз форматуванням мiток.Якщо позначено пункт Автоматично застосовувати формат, налаштування фор-матування буде використано автоматично пiд час редагування у полях для редагува-ння тексту. Пункт Перевiрка вмикає або вимикає засоби перевiрки значень номерадорiжки за загальною кiлькiстю дорiжок та значень дати i часу. За допомогою списку

36

Page 37: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Перетворення регiстрiв можна застосувати до текстових даних такi режими пере-творення: Без змiн, Усi малi, Усi великi, Верхнiй регiстр для першої лiтери таУсi першi лiтери верхнiм регiстром. Локаль для перетворення лiтер мiж верхнiмi нижнiм регiстрами можна вибрати нижче за допомогою спадного списку. У спискузамiнникiв можна вибрати довiльне перетворення рядкiв. Щоб додати нове перетво-рення, позначте комiрку у стовпчику З, впишiть до неї текст, який слiд замiнити, апотiм перейдiть до вiдповiдної комiрки у стовпчику На i впишiть рядок, на який слiдзамiнити ранiше вказаний текст. Якщо текст, який слiд замiнити починається i завер-шується символом похилої риски («/»), програма вважатиме, що вказано формальнийвираз. Якщо у формальному виразi використано групи захоплення у круглих дужках,вiдповiднi їм замiнники \1, \2, ... у комiрцi стовпчика На буде замiнено на рядок, якийбуло захоплено у вiдповiднiй за номером групi. Щоб вилучити перетворення, встановiтьдля вмiсту вiдповiдної комiрки у стовпчику З порожнє значення (наприклад, натиснiтьклавiшу пробiлу, а потiм натиснiть клавiшу Backspace). Крiм того, вставляти i ви-лучати рядки можна за допомогою контекстного меню, яке буде вiдкрито, якщо винаведете вказiвник мишi на таблицю i клацнете правою кнопкою мишi. Перетвореннявиконуватимуться, лише якщо позначено пункт Замiна рядкiв.У таблицi Оцiнка мiстяться данi прив’язки оцiнки у зiрочках до значень, якi зберiга-тимуться у мiтцi. Список кадрiв iз даними щодо оцiнок можна знайти у рядку «Оцiн-ка» списку кадрiв. Для цих кадрiв можна вказати оцiнку вiд однiєї до п’яти зiрочок.У рiзних форматах мiток та рiзних програмах використовуються рiзнi значення дляприв’язки цiєї оцiнки у зiрочках до значення, яке зберiгається у мiтцi. Щоб показа-не Kid3 значення було правильним, використовується ця таблиця. Для застосуванняприв’язки програма шукає кадр iз назвою iз першого стовпчика, наприклад «RATI-NG» у коментарях Vorbis або «IRTD» в INFO RIFF. Для мiток ID3v2 використовує-ться комбiноване значення, яке складається iз iдентифiкатора кадру «POPM» з кадруPopularimeter та його поля «Email», вiдокремленого крапкою. Тому iснують рiзнi значе-ння назв для ID3v2, наприклад «POPM.Windows Media Player 9 Series» для прив’язкидо значень у Windows Media Player та Explorer, i простi «POPM» для кадрiв POPM iзпорожнiм полем «Email». Оскiльки може iснувати декiлька значень «POPM», важли-вим є їхнi порядок. Коли Kid3 додає новий кадр Popularimeter, програма використовуєперший запис «POPM» для визначення значення, яке слiд записати до поля «Email».Це значення визначає прив’язку, яку буде використано для оцiнок у зiрочках. Першийзапис також використовується, якщо не буде знайдено нiякого значення. Тому першийзапис у таблицi є типовим записом.Окрiм стовпчика Назва, у якому мiстяться назви значень, у таблицi передбачено стов-пчики вiд 1 до 5 для значень параметрiв, якi буде записано до мiтки, якщо дорiжцiбуде призначено вiдповiдну оцiнку у зiрочках. З iншого блоку, значення визначаютькiлькiсть зiрочок, якi буде показано для значення, яке зберiгається у кадрi. Нехай, на-приклад, у рядку таблицi мiстяться значення 1, 64, 128, 196, 255. Пороговi значеннядля кiлькостi зiрочок, якi буде показано для оцiнок, якi лежать мiж цими значеннями,сумiснi iз тими, якi використовують у Windows® Explorer.

Назва 1 2 3 4 5POPM 1 64 128 196 255Дiапазон 1-31 32-95 96-159 160-223 224-255

Табл. 3.2: Запис у таблицi оцiнок

На сторiнцi Файли можна позначити пункт Завантажувати останнi вiдкритi фай-ли, щоб наказати Kid3 пiд час наступного запуску вiдкривати i позначати останнiйвибраний файл. Пункт Не змiнювати часовi позначки файлiв можна позначити,щоб програма зберiгала часову позначку пiд час внесення змiн до файла. За допомогоюпункту Назва файла для обкладинки можна вказати назву файла, який буде вико-ристано як типове зображення для вбудовування при експортуваннi даних до файла.За допомогою пункту Кодування тексту (експортування, список вiдтворення)можна визначити кодування, яке програма використовуватиме при записi даних дофайлiв. Типове кодування (System) можна, наприклад, змiнити, якщо ви маєте намiрвикористовувати списки вiдтворення на iншому пристрої.

37

Page 38: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Якщо позначено пунктПозначати змiни, змiненi поля буде позначено сiрим тлом длямiтки.Роздiл Список файлiв визначає те, якi файли буде показано на панелi списку файлiв.Пунктом Фiльтр можна скористатися для обмеження спектра записiв у списку дофайлiв iз пiдтримуваними суфiксами назв. Щоб явним чином вказати, якi теки слiдпоказати у списку файлiв, або виключити певнi теки, можна скористатися пунктамиВключити теки та Виключити теки. У вiдповiдних полях можна вказати виразишаблонiв, наприклад */Музика/*, щоб включити лише вмiст теки Музика, або */iTunes/*, щоб виключити теку iTunes зi списку файлiв. Якщо потрiбно вказати декiлькавиразiв для фiльтрування, вирази слiд вiдокремити пробiлом або крапкою з комою.За допомогою кнопок Назва файла з мiтки i Мiтка з назви файла у роздiлi Фор-мат можна вiдкрити дiалоговi вiкна для редагування форматiв, якi будуть доступнимиу спадних списках Формат (при натисканнi кнопок зi стрiлками вгору i вниз), якiможна знайти у роздiлi Файл головного вiкна програми.У роздiлi Формат назв файлiв мiстяться пункти для форматування назв файлiв. Цетi самi пункти, якi доступнi у роздiлi Формат мiток.На сторiнцi Дiї користувача розташовано таблицю iз командами, доступ до якихможна отримати з контекстного меню панелi списку файлiв. Для вiдповiдальних дiй,зокрема вилучення файлiв, рекомендуємо позначати пункт у стовпчику Пiдтвердже-ння, щоб програма показувала дiалогове вiкно пiдтвердження дiї до її виконання. Мо-жете позначити пункт у стовпчику Виведення, щоб переглянути виведенi командоюдо консолi данi (стандартне виведення i виведення помилок). У стовпчику Назва будепоказано пункт команди, який буде показано у контекстному меню. У стовпчику Ко-манда буде наведено рядок команди, яку буде виконано. Аргументи можна передаватиза допомогою таких кодiв:

• %F %{files} Шляхи до файлiв (список, якщо позначено декiлька файлiв)• %f %{file} Шлях до окремого файла• %uF %{urls} Адреси (список, якщо позначено декiлька файлiв)• %uf %{url} Адреса окремого файла• %d %{directory} Тека• %s %{title} Заголовок (твору)• %a %{artist} Виконавець• %l %{album} Альбом• %c %{comment} Коментар• %y %{year} Рiк• %t %{track} Дорiжка (наприклад 01)• %t %{track.n} Дорiжка i шириною поля n (наприклад 001 для %{track.3})• %T %{tracknumber} Дорiжка (без початкових нулiв, наприклад 1)• %g %{genre} Жанр• %b %{browser} Команда для запуску браузера• %q %{qmlpath} Базова тека супутнiх файлiв QML

Можна встановити як команду спецiальний код — @separator — для вставляння роз-дiльника у контекстне меню дiй користувача. Щоб додати пункти меню як пiдменю,додайте навколо них команди @beginmenu i @endmenu. Назва пiдменю визначати-меться стовпчиком Name команди @beginmenu.Для виконання скриптiв QML як назву команди слiд використовувати @qml. Шлях доскрипту QML передається як параметр. Скрипти з пакунка з програмою зберiгаютьсяу тецi %{qmlpath}/script/ (у Linux® це типово /usr/share/kid3/qml/script/ , уWindows — qml/script/ у тецi встановлення, а у macOS® у тецi програми — kid3.app/Contents/Resources/qml/script/ ). Нетиповi скрипти можуть зберiгатися у будь-якiй тецi. Якщо у кодi QML використовуються компоненти графiчного iнтерфейсу,замiсть @qml слiд використовувати @qmlview. Скрипту QML передаються додатковiпараметри, доступ до яких надає функцiя getArguments(). Огляд деяких функцiй iвластивостей, якi доступнi у QML можна знайти у додатку щодо iнтерфейсу QML.

38

Page 39: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Команду, яку буде вставлено замiсть %{browser}, можна визначити у полiПереглядачiнтернету, яке розташовано вище. Командами, якi починаються з %{browser} можнаскористатися для отримання з iнтернету даних щодо звукових файлiв. Приклад:

%{ browser} http :// lyricwiki.org/%u{artist }:%u{title}

Ця команда надiшле запити щодо тексту поточної пiснi до LyricWiki. Лiтера «u» у%u{artist} та %u{title} означає, що це закодованi у форматi URL данi щодо виконавця%{artist} та назви композицiї %{title}. Ви можете без проблем створити власнi запитиу подiбний спосiб. Наприклад, створити запит для пошуку зображень у Google:

%{ browser} http :// images.google.com/images?q=%u{artist }%20%u{album}

Щоб додати зображення обкладинки альбому до мiтки 2, ви можете просто пошукатизображення у Google або Amazon за допомогою наведених вище команд. Зображенняможна буде додати до мiтки перетягуванням зi скиданням. Ви також можете додатизображення за допомогою натискання кнопкиДодати, потiм вибрати кадр «Зображен-ня» i iмпортувати файл зображення або вставити зображення з буфера обмiну даними.Кадри зображень передбачено у мiтках ID3v2, MP4, FLAC, Ogg та ASF.Щоб додати записи до таблицi або вилучити їх з неї, можна скористатися контекстнимменю.На сторiнцi Мережа передбачено лише одне поле для вставляння адреси проксi сер-вера та додаткового визначення порту, вiдокремленого вiд адреси двокрапкою. Проксi-сервер буде використано при iмпортування даних з iнтернет сервера, якщо позначеновiдповiдний пункт.За допомогою сторiнки Додатки можна вмикати або вимикати доступнi додатки. До-датки подiлено на два роздiли. У списку Додатки метаданих i прiоритетнiсть мi-стяться пункти додаткiв для пiдтримки форматiв звукових файлiв. Порядок додаткiв усписку є важливим, оскiльки програма використовує їх за списком з першої позицiї доостанньої. Пiдтримку деяких форматiв реалiзовано за допомогою декiлькох додаткiв,тому програма вiдкриватиме файли за допомогою першого додатка зi списку, у якомупередбачено пiдтримку вiдповiдних файлiв. Пiдтримку бiльшостi форматiв передбаченоу додатку TaglibMetadata. Якщо пункт цього додатка перебуває на вершинi списку,його буде використано для вiдкриття бiльшостi файлiв. Якщо ви хочете скористатисяiншим додатком для певного формату файлiв, вам слiд розмiстити його пункт передпунктом додатка TaglibMetadata у списку. Подробицi щодо додаткiв метаданих тавiдомостi щодо того, чому варто використовувати той чи iнший додаток замiсть TagLibнаведено нижче.

• Id3libMetadata: використовує id3lib для мiток ID3v1.1 i ID3v2.3 у файлах MP3,MP2, AAC. Має дещо ширший спектр пiдтримуваних типiв файлiв за TagLib.

• OggFlacMetadata: використовує libogg, libvorbis, libvorbisfile для файлiв Ogg i, до-датково, libFLAC++ i libFLAC для файлiв FLAC. Цi бiблiотеки є офiцiйними бiблiо-теками пiдтримки вiдповiдних форматiв.

• TaglibMetadata: використовує бiблiотеку TagLib, у якiй реалiзовано пiдтримку ба-гатьох форматiв файлiв звукових даних. Може бути використана для усiх файлiвзвукових даних, пiдтримку яких передбачено у Kid3.

• Mp4v2Metadata: mp4v2 було використано у початкових версiях Kid3 для забезпе-чення роботи iз файлами M4A. Можна скористатися, якщо виникають проблеми iзпiдтримкою M4A у TagLib.

У роздiлi Доступнi додатки буде наведено список решти додаткiв. Порядок додаткiву цьому списку не є важливим. Додатки можна вмикати i вимикати за допомогоювiдповiдних полiв для позначок.

• AmazonImport: використовується для пункту Iмпортувати з Amazon....• DiscogsImport: використовується для пункту Iмпортувати з Discogs....• FreedbImport: використовується для пунктiв Iмпортувати з gnudb.org... та Iм-портувати з TrackType.org....

• MusicBrainzImport: використовується для пункту Iмпортувати з Випуск Musi-cBrainz....

39

Page 40: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

• AcoustidImport: використовується для пункту Iмпортувати з Вiдбиток Musi-cBrainz..., працездатнiсть якого залежить вiд бiблiотек Chromaprint та libav.

Додатки, якi вимкнено, не завантажуватимуться. Цим можна скористатися для опти-мiзацiї вживання ресурсiв та часу запуску. Змiненi на цiй сторiнцi параметри набудутьчинностi лише пiсля перезапуску Kid3.

3.6 Меню «Довiдка»

Довiдка→Пiдручник з Kid3Вiдкриває цей пiдручник.

Довiдка→Про Kid3Вивести коротку iнформацiю щодо Kid3.

40

Page 41: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Роздiл 4

kid3-cli

4.1 Команди

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

4.1.1 Довiдка

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

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

4.1.2 Час очiкування

timeout [default | off | ЧАС ]

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

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

exit [force]

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

41

Page 42: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

4.1.4 Змiнити теку

cd [ТЕКА ]

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

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

pwd

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

4.1.6 Список тек

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

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

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

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

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

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

kid3 -cli > ls1-- 01 Intro.mp3

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

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

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

save

4.1.8 Вибiр файла

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

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

42

Page 43: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

kid3 -cli > select firstkid3 -cli > ls

> 1-- 01 Intro.mp312- 02 We Only Got This One.mp3

*1-- 03 Outro.mp3kid3 -cli > select nextkid3 -cli > ls

1-- 01 Intro.mp3

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

kid3 -cli > select *.mp3kid3 -cli > ls

> 1-- 01 Intro.mp3

> 12- 02 We Only Got This One.mp3

>*1-- 03 Outro.mp3

4.1.9 Вибрати мiтку

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

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

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

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

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

kid3 -cli > getФайл: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo

Назва: 01 Intro.mp3Мiтка 1: ID3v1 .1

Заголовок IntroВиконавець One Hit WonderАльбом Let ’s TagДата 2013Номер дорiжки 1Жанр Pop

kid3 -cli > get titleIntro

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

43

Page 44: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

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

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

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

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

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

set НАЗВА-КАДРУ ЗНАЧЕННЯ-КАДРУ [НОМЕРИ-МIТОК ]Ця команда встановлює значення вказано кадру мiтки. Якщо значення ЗНАЧЕННЯ-КАДРУ єпорожнiм, кадр буде вилучено.

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

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

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

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

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

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

set POPM.Counter 5

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

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

Перша команда вилучає наявний кадр POPM, оскiльки якщо такий кадр iснує, set rating5 запише значення до кадру POPM, а не до кадру TXXX. Iншим варiантом встановленнязначення є команда set TXXX.Text 5, але вона працюватиме, лише якщо немає нiяких iншихкадрiв TXXX.Для встановлення декiлькох кадрiв однакового типу можна вказати iндекс у дужках. Цимможна скористатися, наприклад, для встановлення декiлькох акомпанiаторiв у коментарiVorbis. Приклад:

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

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

44

Page 45: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

4.1.12 Скасувати

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

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

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

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

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

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

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

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

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

albumart АДРЕСА [all]

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

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

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

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

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

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

playlist

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

45

Page 46: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

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

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

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

tagformat

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

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

textencoding

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

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

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

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

4.1.22 Кiлькiсть дорiжок

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

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

4.1.23 Фiльтр

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

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

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.mp31-- 03 Outro.mp3

kid3 -cli > filter All

46

Page 47: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Початок/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.mp312- 02 We Only Got This One.mp31-- 03 Outro.mp3

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

to24

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

to23

4.1.26 Назва файла з мiтки

fromtag [ФОРМАТ ] [НОМЕРИ-МIТОК ]Встановлення назв позначених файлiв на основi значень у мiтках. Приклад: fromtag ’%{track} - %{title}’ 1. Якщо формат не вказано, буде використано формат, який встановленоу графiчному iнтерфейсi.

4.1.27 Мiтка з назви файла

totag [ФОРМАТ ] [НОМЕРИ-МIТОК ]Встановити вмiст кадрiв мiток на основi назв файлiв. Приклад: totag ’%{albumartist} -%{album}/%{track} %{title}’ 2. Якщо формат не вказано, буде використано формат, якийвизначено у графiчному iнтерфейсi програми. Якщо формат назви файла не вiдповiдає вка-заному взiрцю, програма спробує використати iншi поширенi формати.

4.1.28 Мiтку на iншу мiтку

syncto НОМЕР-МIТКИ

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

4.1.29 Копiювати

copy [НОМЕР-МIТКИ ]Копiювати вмiст кадрiв мiтки позначеного файла до внутрiшнього буфера копiювання даних.Далi, вмiст можна записати до iншого файла за допомогою команди paste.Щоб скопiювати лише вмiст певної пiдмножини кадрiв, скористайтеся псевдополем «selected»за допомогою команди set. Наприклад, щоб скопiювати лише вмiст кадрiв номера диска таавторських прав, скористайтеся такими командами:

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

47

Page 48: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

4.1.30 Вставити

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

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

4.1.31 Вилучити

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

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

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

4.2 Приклади

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

kid3 -cli -c "set title ’I\’ll be there for you ’" /шлях/до/теки

Встановлення зображення обкладинки альбому для усiх файлiв у тецi за допомогою фун-кцiональної можливостi пакетного iмпортування:

kid3 -cli -c "autoimport ’Cover Art ’" /шлях/до/теки

Вилучити кадри коментарiв та застосувати форматування мiтки у обох мiтка усiх файлiвMP3 у тецi:

kid3 -cli -c "set comment ’’ 1" -c "set comment ’’ 2" \-c "tagformat 1" -c "tagformat 2" /шлях/до/теки/*. mp3

Автоматично iмпортувати мiтку 2, синхронiзувати iз мiткою 1, встановити назви файлiв наосновi мiтки 2 i, нарештi, створити список вiдтворення:

kid3 -cli -c autoimport -c "syncto 1" -c fromtag -c playlist \/шлях/до/теки/*.mp3

Для усiх файлiв iз мiткою ID3v2.4.0 виконати перетворення на мiтку ID3v2.3.0 i вилучитикадр аранжувальника:

kid3 -cli -c "filter ’ID3v2 .4.0 Tag ’" -c "select all" -c to23 \-c "set arranger ’’" /шлях/до/теки

У цьому скриптi мовою Python використано kid3-cli для створення кадрiв iTunNORM пере-вiрки звуку iTunes на основi даних щодо пiдсилення гучностi.

#!/ usr/bin/env python3# Generate iTunes Sound Check from ReplayGain.import os, sys , subprocess

def rg2sc(dirpath):

48

Page 49: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

for root , dirs , files in os.walk(dirpath):for name in files:

if name.endswith ((’.mp3 ’, ’.m4a ’, ’.aiff ’, ’.aif ’)):fn = os.path.join(root , name)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(’Value %s of %s in not a float ’ % (rg, fn))continue

sc = (’ ’ + (’%08X’ % int ((10 ** (-rg / 10)) * 1000) )) * 10subprocess.call([

’kid3 -cli ’, ’-c’, ’set iTunNORM "%s"’ % sc , fn])

if __name__ == ’__main__ ’:rg2sc(sys.argv [1])

4.3 Формат JSON

Для полегшення обробки результатiв роботи kid3-cli, передбачено можливiсть отриманнявиведених даних у форматi JSON. Якщо запит буде виконано у форматi JSON, вiдповiдь бу-де виведено також у форматi JSON. Компактний формат запиту також даватиме компактнепредставлення вiдповiдi. Якщо у запитi мiститиметься поле «id», вiн вважатиметься запитомJSON-RPC, i у вiдповiдi мiститиметься поле «jsonrpc» i значення «id» запиту. У форматi за-питу використовуються тi самi команди, що i у стандартному iнтерфейсi командного рядка,поле «method» має мiстити команду, а параметри (якщо такi є) задаються списком «params».Вiдповiдь мiститиме об’єкт «result», який також може бути порожнiм, якщо вiдповiдна ко-манда kid3-cli не повернула жодного результату. Якщо станеться помилка, буде повернутооб’єкт «error» iз полями «code» та «message», — типово для запитiв JSON-RPC.

kid3 -cli > {" method ":" set","params ":[" artist","An Artist "]}{" result ":null}kid3 -cli > {" method ":" get","params ":[" artist ",2]}{" result ":"An Artist "}kid3 -cli > {" method ": "get", "params ": [" artist "]}{

"result ": "An Artist"}

kid3 -cli > {" jsonrpc ":"2.0" ,"id":"123" ," method ":"get","params ":[" artist ←↩"]}

{"id":"123" ," jsonrpc ":"2.0" ," result ":"An Artist "}

49

Page 50: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Роздiл 5

Авторськi права та лiцензування

Kid3Автором програми є Urs Fleisch [email protected]

Переклад українською: Юрiй Чорноiван [email protected]

Цей документ поширюється за умов дотримання GNU Free Documentation License.

Ця програма поширюється за умов дотримання GNU General Public License.

50

Page 51: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Додаток А

Встановлення

А.1 Як отримати Kid3

Код i пакунки Kid3 зберiгаються на https://kid3.kde.org.

А.2 Технiчнi вимоги

Для роботи Kid3 потрiбнi бiблiотеки Qt. Використання KDE є рекомендованим, але нео-бов’язковим, оскiльки Kid3 можна зiбрати як програму, яка залежить лише вiд Qt™. Kid3можна зiбрати для систем, де доступнi вiдповiднi бiблiотеки, наприклад для GNU/Linux®,Windows® та macOS®. Для роботи з мiтками у файлах Ogg/Vorbis потрiбнi libogg, libvorbisi libvorbisfile. Для роботи з файлами FLAC — libFLAC++ i libFLAC. Для роботи з файламиMP3 програма використовує id3lib. Пiдтримку цих чотирьох форматiв передбачено також убiблiотецi TagLib. Ця бiблiотека може працювати iз файлами Opus, MPC, APE, MP2, Speex,TrueAudio, WavPack, WMA, WAV, AIFF та модулями tracker. Для iмпортування акустичнихвiдбиткiв у програмi використовуються Chromaprint i libav.

Пакунки Kid3 можна встановити зi сховищ бiльшостi дистрибутивiв Linux®. Передбачено па-кунки для Windows® i macOS®. Вiдповiднi посилання можна знайти на https://kid3.kde.org.

А.3 Збирання i встановлення

Ви можете зiбрати Kid3 з бiблiотеками KDE або без них. Без бiблiотек KDE Kid3 є простоюпрограмою Qt™, у якiй не передбачено деяких можливостей iз налаштовування програми тасеансiв роботи з нею.

Щоб зiбрати версiю iз бiблiотеками KDE, перейдiть до базового теки коду i вiддайте такiкоманди

% cmake .% make% make install

Щоб зiбрати нестандартну версiю iз використанням бiблiотек Qt™ або KDE, встановiть вiд-повiднi параметри cmake.

Якщо у системi встановлено не усi бiблiотеки, Kid3 буде зiбрано iз обмеженими фун-кцiональними можливостями. Тому перед збиранням слiд подбати про встановлення усiхпотрiбних пакункiв для розробки. З iншого боку, керувати перелiком бiблiотек, якi бу-де використано, можна за допомогою параметрiв cmake. Типовим набором параметрiв

51

Page 52: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

є -DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON . Вимкнути збирання компо-нентiв можна за допомогою визначення для параметрiв значення OFF.

Щоб зiбрати Kid3 як програму Qt™, без бiблiотек KDE, скористайтеся параметром cmake-DWITH_APPS=Qt. Щоб зiбрати одразу програми для KDE i Qt™, вкажiть такий параметр:-DWITH_APPS=˝Qt;KDE˝.

Щоб скористатися певним встановленим набором бiблiотек Qt™, вкажiть -DQT_QMAKE_EXECUTABLE=/шлях/до/qmake.

Створити пакунки RPM можна за допомогою файла kid3.spec. Для створення пакункiвDebian можна скористатися скриптом build-deb.sh.

Програму iз використанням бiблiотек Qt™ можна також зiбрати для Windows® i macOS®.Для отримання iз збирання усiх потрiбних бiблiотек i створення пакунка Kid3 можна скори-статися скриптом buildlibs.sh.

А.4 Налаштування

У версiї для KDE параметри роботи програми зберiгаються у файлi .config/kid3rc. Про-грама iз використанням лише Qt™ зберiгає параметри у файлi .config/Kid3/Kid3.conf. УWindows® налаштування зберiгаються у реєстрi. У macOS® — у файлi plist.

Для встановлення шляху до файла налаштувань можна скористатися змiнною середовищаKID3_CONFIG_FILE.

52

Page 53: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Додаток Б

Iнтерфейс D-Bus

Б.1 Приклади D-Bus

У Linux® для керування Kid3 зi скриптiв можна скористатися iнтерфейсом D-Bus. Скриптиможе бути написано будь-якою мовою програмування iз прив’язкою до D-Bus (наприклад,мовою Python) i додано доДiй користувача для розширення функцiональних можливостейKid3.Вказати для запису виконавця мiтки 2 поточного файла значення «One Hit Wonder» можназа допомогою такого коду:

Оболонка

dbus -send --dest=org.kde.kid3 --print -reply=literal \/Kid3 org.kde.Kid3.setFrame int32 :2 string:’Artist ’ \string:’One Hit Wonder ’

або, простiше, за допомогою програми iз набору iнструментiв Qt™ qdbus (для вивче-ння графiчного iнтерфейсу програми можна скористатися програмою qdbusviewer):

qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \’One Hit Wonder ’

Python

import dbuskid3 = dbus.SessionBus ().get_object(

’org.kde.kid3 ’, ’/Kid3 ’)kid3.setFrame(2, ’Artist ’, ’One Hit Wonder ’)

Perl

use Net::DBus;$kid3 = Net::DBus ->session ->get_service(

"org.kde.kid3")->get_object("/Kid3", "org.kde.Kid3");

$kid3 ->setFrame(2, "Artist", "One Hit Wonder ");

53

Page 54: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2 Програмний iнтерфейс D-Bus

Програмний iнтерфейс D-Bus визначено у файлi org.kde.Kid3.xml. У програмному iнтер-фейсi Kid3 передбачено такi методи:

Б.2.1 Вiдкриття файла або теки

boolean openDirectory(string шлях);

шляхшлях до файла або теки

Повертає true, якщо виконано вдало.

Б.2.2 Вивантаження мiток усiх файлiв, якi не змiнено i не позначено

unloadAllTags(void);

Б.2.3 Збереження усiх змiнених файлiв

boolean save(void);

Повертає true, якщо виконано вдало.

Б.2.4 Отримання докладного повiдомлення щодо помилки, яке на-дається iншими методами

string getErrorMessage(void);

Повертає докладне повiдомлення про помилку.

Б.2.5 Скасовування змiн у позначених файлах

revert(void);

Б.2.6 Запуск автоматичного пакетного iмпортування

boolean batchImport(int32 маскаМiтки, string назваПрофiлю);

маскаМiткимаска мiтки (бiт 0 для мiтки 1, бiт 1 для мiтки 2)

назваПрофiлю

назва профiлю пакетного iмпортування, яким слiд скористатися

54

Page 55: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.7 Iмпортуванням мiток з файла

boolean importFromFile(int32 маскаМiтки, string шлях, int32 iндексФормату);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

шляхшлях до файла

iндексФормату

iндекс формату

Повертає true, якщо виконано вдало.

Б.2.8 Iмпортування мiток з iнших мiток

importFromTags(int32 маскаМiтки, string джерело, string видобування);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

джерело

формат для отримання тексту-джерела для мiтоквидобування

формальний вираз iз назвами кадрiв або вирiзаних пiдрядкiв для видобування iз тексту-джерела

Б.2.9 Iмпортування мiток з iнших мiток позначених файлiв

array importFromTagsToSelection(int32 маскаМiтки, string джерело, string видобування);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

джерело

формат для отримання тексту-джерела для мiтоквидобування

формальний вираз iз назвами кадрiв або вирiзаних пiдрядкiв для видобування iз тексту-джерела

повернутiЗначення

видобуте значення для «%{__return}(.+)»

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

downloadAlbumArt(string адреса, boolean усiФайлиУТецi);

адреса

адреса файла зображення або ресурсу зображення обкладинки альбому

усiФайлиУТецi

true, якщо зображення слiд додати до усiх файлiв у тецi

55

Page 56: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.11 Експортування мiток до файла

boolean exportToFile(int32 маскаМiтки, string шлях, int32 iндексФормату);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

шляхшлях до файла

iндексФормату

iндекс формату

Повертає true, якщо виконано вдало.

Б.2.12 Створення списку вiдтворення

boolean createPlaylist(void);

Повертає true, якщо виконано вдало.

Б.2.13 Отримання записiв у списку вiдтворення

array getPlaylistItems(string шлях);

шляхшлях до файла списку вiдтворення

Повертає список абсолютних шляхiв до файлiв-пунктiв списку вiдтворення.

Б.2.14 Встановлення записiв списку вiдтворення

boolean setPlaylistItems(string шлях, array пункти);

шляхшлях до файла списку вiдтворення

пункти

список абсолютних шляхiв до файлiв-пунктiв списку вiдтворення

Повертає true, якщо дiю виконано вдало, i false, якщо знайдено не усi пункти i додаванняабо збереження не було вдало виконано.

Б.2.15 Вийти з програми

quit(void);

Б.2.16 Позначення усiх файлiв

selectAll(void);

56

Page 57: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.17 Зняття позначення з усiх файлiв

deselectAll(void);

Б.2.18 Встановлення першого файла як поточного файла

boolean firstFile(void);

Повертає true, якщо iснує перший файл.

Б.2.19 Встановлення попереднього файла як поточного файла

boolean previousFile(void);

Повертає true, якщо iснує попереднiй файл.

Б.2.20 Встановлення наступного файла як поточного файла

boolean nextFile(void);

Повертає true, якщо iснує наступний файл.

Б.2.21 Позначення першого файла

boolean selectFirstFile(void);

Повертає true, якщо iснує перший файл.

Б.2.22 Позначення попереднього файла

boolean selectPreviousFile(void);

Повертає true, якщо iснує попереднiй файл.

Б.2.23 Позначення наступного файла

boolean selectNextFile(void);

Повертає true, якщо iснує наступний файл.

Б.2.24 Позначення поточного файла

boolean selectCurrentFile(void);

Повертає true, якщо iснує поточний файл.

Б.2.25 Розгортання або згортання поточного пункту у файловiй iє-рархiї, якщо це тека

boolean expandDirectory(void);

Пункт списку файлiв є текою, якщо getFileName() повертає назву iз останнiм символом «/».

Повертає true, якщо поточний пункт у iєрархiї файлiв є текою.

57

Page 58: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.26 Застосування формату назви файла

applyFilenameFormat(void);

Б.2.27 Застосування формату мiтки

applyTagFormat(void);

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

applyTextEncoding(void);

Б.2.29 Встановлення назви теки на основi мiток

boolean setDirNameFromTag(int32 маскаМiтки, string формат, boolean створення);

маскаМiткимаска мiтки (бiт 0 для мiтки 1, бiт 1 для мiтки 2)

формат

формат назви текистворення

true для створення, false для перейменування

Повертає true, якщо дiю виконано вдало. Якщо дiю не вдалося виконати, повертає повiдом-лення про помилку, доступ до якого можна отримати за допомогою getErrorMessage().

Б.2.30 Встановлення послiдовної нумерацiї дорiжок для позначенихфайлiв

numberTracks(int32 маскаМiтки, int32 номерПершоїДорiжки);

маскаМiткимаска мiтки (бiт 0 для мiтки 1, бiт 1 для мiтки 2)

номерПершоїДорiжки

номер, який слiд використати для першого файла

Б.2.31 Фiльтрування файлiв

filter(string вираз);

вираз

вираз для фiльтрування

Б.2.32 Перетворення мiток ID3v2.3 на ID3v2.4

convertToId3v24(void);

58

Page 59: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.33 Перетворення мiток ID3v2.4 на ID3v2.3

convertToId3v23(void);Повертає true, якщо виконано вдало.

Б.2.34 Отримання шляху до теки

string getDirectoryName(void);Повертає абсолютний шлях до теки.

Б.2.35 Отримання назви поточного файла

string getFileName(void);

Повертає абсолютну назву поточного файла, яка завершуватиметься на «/», якщо це тека.

Б.2.36 Встановлення назви позначеного файла

setFileName(string назва);

названазва файла

Файл буде перейменовано при збереженнi теки.

Б.2.37 Встановлення формату, який буде використано при встанов-леннi назв файлiв на основi мiток

setFileNameFormat(string формат);

формат

формат назви файла

Б.2.38 Встановлення назв позначених файлiв на основi мiток

setFileNameFromTag(int32 маскаМiтки);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

Б.2.39 Отримання значення кадру

string getFrame(int32 маскаМiтки, string назва);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

названазва кадру (наприклад ˝artist˝)

Щоб отримати двiйковi данi, наприклад зображення, можна додати назву файла, куди будезаписано данi, пiсля name . Приклад: «Picture:/шлях/до/файла». У той самий спосiб можнаекспортувати синхронiзований текст пiснi. Приклад: «SYLT:/шлях/до/файла».Повертає значення кадру.

59

Page 60: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.40 Встановлення значення кадру

boolean setFrame(int32 маскаМiтки, string назва, string значення);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

названазва кадру (наприклад ˝artist˝)

значеннязначення кадру

Для мiтки 2 (tagMask 2), якщо не iснує кадру name , буде додано новий кадр. Якщозначення value є порожнiм, кадр буде вилучено. Щоб додати двiйковi данi, зокре-ма зображення, можна додати назву вiдповiдного файла пiсля name . Приклад: «Pi-cture:/шлях/до/файла». Для iмпортування синхронiзованого тексту пiснi можна скориста-тися виразом «SYLT:/шлях/до/файла».

Повертає true, якщо виконано вдало.

Б.2.41 Отримання усiх кадрiв мiтки

array of string getTag(int32 маскаМiтки);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

Повертає список iз послiдовно розташованими назвами кадрiв та значеннями.

Б.2.42 Отримання технiчних даних щодо файла

масив рядкiв getInformation(void);

Властивостями є Format, Bitrate, Samplerate, Channels, Duration, Channel Mode, VBR, Tag 1,Tag 2. Властивостi, якi є недоступними буде пропущено.

Повертає список iз послiдовно розташованими назвами властивостей та значеннями.

Б.2.43 Встановлення мiтки на основi назви файла

setTagFromFileName(int32 маскаМiтки);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

Б.2.44 Встановлення мiтки на основi iншої мiтки

setTagFromOtherTag(int32 маскаМiтки);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

60

Page 61: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Б.2.45 Копiювання мiтки

copyTag(int32 маскаМiтки);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

Б.2.46 Вставлення мiтки

pasteTag(int32 маскаМiтки);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

Б.2.47 Вилучення мiтки

removeTag(int32 tagMask);

маскаМiткибiт мiтки (1 для мiтки 1, 2 для мiтки 2)

Б.2.48 Повторно обробити налаштування

reparseConfiguration(void);

Автоматизацiю обробки змiн у налаштуваннях можна реалiзувати внесенням змiн до файланалаштувань iз наступною повторною обробкою налаштувань.

Б.2.49 Вiдтворення позначених файлiв

playAudio(void);

61

Page 62: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

Додаток В

Iнтерфейс QML

В.1 Приклади QML

Скрипти QML можна викликати за допомогою контекстного меню панелi списку файлiв. Пе-релiк використаних скриптiв можна визначити за допомогою сторiнки Дiї користувача дiа-логового вiкна параметрiв програми. Скриптами, якi вже є частиною пакунка iз програмою,можна скористатися як прикладами для створення власних скриптiв. QML використовуєсинтаксис JavaScript. Ось типовий приклад простого скрипту:

import Kid3 1.0

Kid3Script {onRun: {

console.log("Hello world , folder is", app.dirName)Qt.quit()

}}

Якщо цей скрипт зберiгається за адресою /шлях/до/Example.qml, команду користувача мо-жна визначити так: @qml /шлях/до/Example.qml i назвати Перевiрка QML. Також вартопозначити пункт у стовпчику Виведення. Запустити скрипт можна за допомогою пунктуПеревiрка QML у контекстному меню списку файлiв. Виведенi скриптом данi буде пока-зано у вiкнi програми.

Крiм того, скрипт можна запустити окремо вiд Kid3 за допомогою iнструментiв QML.

qml -apptype widget -I /usr/lib/kid3/plugins/imports /шлях/до/Example. ←↩qml

або

qmlscene -I /usr/lib/kid3/plugins/imports /шлях/до/Example.qml

УWindows® i macOS® шляхи iмпортування бiблiотек слiд адаптувати до розташування текиimports у тецi, куди встановлено програму. Для скриптiв, якi запускаються поза Kid3, якробочу теку буде використано поточну теку, тому вам слiд попередньо перейти до вiдповiдноїтеки.Щоб отримати список заголовкiв у мiтках 2 усiх файлiв у поточнiй тецi, можете скористатисятаким скриптом:

import Kid3 1.0

Kid3Script {

62

Page 63: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

onRun: {app.firstFile ()do {

if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {console.log(app.getFrame(tagv2 , "title"))

}} while (app.nextFile ())

}}

Якщо у тецi мiститься багато файлiв, робота скрипту може на певний час заблокувати мо-жливiсть користуватися iнтерфейсом системи. Тому для виконання тривалих дiй слiд час вiдчасу переривати роботу скрипту. У альтернативнiй реалiзацiї, яку наведено нижче, оброб-ку окремого файла винесено до функцiї. Ця функцiя викликає себе iз часом очiкування у1 мiлiсекунду наприкiнцi, якщо виконується обробка декiлькох файлiв. Таким чином будезабезпечено можливiсть роботи iз графiчним iнтерфейсом пiд час виконання скриптом по-ставленого завдання.

import Kid3 1.0

Kid3Script {onRun: {

function doWork () {if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {

console.log(app.getFrame(tagv2 , "title"))}if (!app.nextFile ()) {

Qt.quit()} else {

setTimeout(doWork , 1)}

}

app.firstFile ()doWork ()

}}

Якщо використано app.firstFile() iз app.nextFile(), буде оброблено усi файли у поточнiйтецi. Якщо слiд обробити лише позначенi файли, скористайтеся замiсть цих функцiй firstFi-le() i nextFile(). Цi зручнi функцiї визначено у компонентi Kid3Script. У наведеному нижчеприкладi скрипт копiює з позначеного файла лише кадри номера диска та авторських прав.

import Kid3 1.1

Kid3Script {onRun: {

function doWork () {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(doWork , 1)}

}

63

Page 64: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

firstFile ()doWork ()

}}

Iншi зразки скриптiв постачаються разом iз Kid3 i вже є зареєстрованими командами кори-стувача.

• ReplayGain to SoundCheck (ReplayGain2SoundCheck.qml): створює данi для iTunNORMSoundCheck на основi кадрiв мiтки iз даними щодо пiдсилення гучностi.

• Resize Album Art (ResizeAlbumArt.qml): змiнює розмiри вбудованих зображень обкла-динок альбомiв, якщо цi розмiри перевищують розмiр у 500x500 пiкселiв.

• Extract Album Art (ExtractAlbumArt.qml): видобуває усi вбудованi зображення обкла-динок альбомiв без дублювання.

• Embed Album Art (EmbedAlbumArt.qml): вбудовує зображення обкладинки альбому зфайлiв зображень до файлiв звукових даних у тiй самiй тецi.

• Embed Lyrics (EmbedLyrics.qml): отримує несинхронiзованi слова пiсень зi сторiнокслужб iнтернету.

• Text Encoding ID3v1 (ShowTextEncodingV1.qml): допомагає визначати кодування мiтокID3v1, показуючи вмiст мiток у поточному файлi в усiх доступних кодуваннях.

• ID3v1 to ASCII (Tag1ToAscii.qml): перетворити усi додатковi символи латиницi у мiтцiID3v1 на символи ASCII.

• English Title Case (TitleCase.qml): форматує текст у мiтках за правилами використаннярегiстру символiв англiйської мови.

• Export CSV (ExportCsv.qml): рекурсивно експортує усi мiтки в усiх файлах до файлаCSV.

• Export Playlist Folder (ExportPlaylist.qml): копiює усi файли зi списку вiдтворення дотеки i перейменовує їх вiдповiдно до їхньої позицiї у списку.

• Консоль QML (QmlConsole.qml): проста консоль для вправляння iз програмним iнтер-фейсом QML Kid3.

В.2 Програмний iнтерфейс QML

Iз програмним iнтерфейсом доволi просто ознайомитися за допомогою консолi QML, якувключено як приклад скрипту iз iнтерфейсом користувача.

В.2.1 Kid3Script

Kid3Script — звичайний компонент QML, який зберiгається у тецi додаткiв. Ви можете ско-ристатися будь-яким iншим компонентом QML. Використання Kid3Script спрощує запускфункцiї скрипту за допомогою обробника сигналiв onRun. Крiм того, у ньому передбаченодекiлька функцiй:

onRun: обробник сигналiв, який викликається пiд час запуску скриптуtagv1 , tagv2 , tagv2v1: сталi для параметрiв мiтокscript: доступ до функцiй скриптiвconfigs: доступ до об’єктiв налаштуваньgetArguments (): список аргументiв скриптуisStandalone (): true , якщо скрипт не було запущено з Kid3

64

Page 65: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

setTimeout(callback , delay): запускає зворотний виклик пiсля затримки, я ←↩ку слiд вказувати у мiлiсекундах

firstFile (): до першого позначеного файлаnextFile (): до наступного позначеного файла

В.2.2 Функцiї скриптiв

У JavaScript, а отже i у QML, для скриптiв можна використовувати доволi обмежену мно-жину функцiй. У об’єкта script є деякi додатковi методи, зокрема такi:

script.properties(obj): рядок iз властивостями Qtscript.writeFile(filePath , data): записати данi до файла; true , якщо зап ←↩

ис вдалийscript.readFile(filePath): прочитати данi з файлаscript.removeFile(filePath): вилучити файл; true , якщо вилучення вдалеscript.fileExists(filePath): true , якщо файл iснуєscript.fileIsWritable(filePath): true , якщо файл придатний до записуscript.getFilePermissions(filePath): отримати бiтову карту режиму доступ ←↩

у до файлаscript.setFilePermissions(filePath , modeBits): встановити бiтову карту р ←↩

ежиму доступу до файлаscript.classifyFile(filePath): отримати клас файла (тека – «/», символiч ←↩

не посилання – «@» ,виконуваний файл – «*», просто файл – « »)

script.renameFile(oldName , newName): перейменувати файл; true , якщо пере ←↩йменування вдале

script.copyFile(source , dest): скопiювати файл; true , якщо копiювання вд ←↩але

script.makeDir(path): створити теку; true , якщо створення вдалеscript.removeDir(path): вилучити теку; true , якщо вилучення вдалеscript.tempPath (): шлях до теки тимчасових данихscript.musicPath (): шлях до теки iз музикоюscript.listDir(path , [nameFilters], [classify ]): список записiв у тецiscript.system(program , [аргументи], [мiлiсекунди]): синхронно запустити ←↩

загальносистемну команду,[код виходу, стандартне виведення, стандартна помилка], якщо не переви ←↩

щено час очiкуванняscript.systemAsync(program , [аргументи], [зворотний виклик]): асинхронно ←↩

запустити загальносистемну команду;зворотний виклик буде виконано iз даними [код виходу, стандартне виведен ←↩

ня, стандартнапомилка]script.getEnv(varName): отримати значення змiнної середовищаscript.setEnv(varName , value): встановити значення змiнної середовищаscript.getQtVersion (): рядок версiї Qt, наприклад «5.4.1»script.getDataMd5(data): отримати шiстнадцятковий рядок хешу MD5 для дан ←↩

ихscript.getDataSize(data): отримати розмiр байтового масивуscript.dataToImage(data , [формат]): створити зображення з байтiв данихscript.dataFromImage(img , [формат]): отримати байти даних iз зображенняscript.loadImage(filePath): завантажити зображення з файлаscript.saveImage(img , filePath , [формат]): зберегти зображення до файла; ←↩

true , якщо збереження вдалеscript.imageProperties(img): отримати властивостi зображення; карта, яка ←↩

мiститьзначення «width» , «height» , «depth» та «colorCount»; порожнє значення, ←↩

якщо зображення некоректне

65

Page 66: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

script.scaleImage(зображення, ширина, [висота]): масштабувати зображення ←↩; повертає масштабоване зображення

В.2.3 Контекст програми

За допомогою QML можна отримати доступ до значної кiлькостi функцiональних можливо-стей Kid3. Програмний iнтерфейс є подiбним до використаного для D-Bus. Щоб дiзнатисябiльше, звернiться до вiдповiдних нотаток.

app.openDirectory(path): вiдкрити текуapp.unloadAllTags (): вивантажити усi мiткиapp.saveDirectory (): зберегти текуapp.revertFileModifications (): скасуватиapp.importTags(tag , path , fmtIdx): iмпортувати файлapp.importFromTags(tag , source , extraction): iмпортувати данi з мiтокapp.importFromTagsToSelection(tag , source , extraction): iмпортувати данi ←↩

з мiток позначених файлiвapp.downloadImage(url , allFilesInDir): отримати зображенняapp.exportTags(tag , path , fmtIdx): експортувати файлapp.writePlaylist (): записати список вiдтворенняapp.getPlaylistItems(path): отримати пункти списку вiдтворенняapp.setPlaylistItems(path , items): встановити пункти списку вiдтворенняapp.selectAllFiles (): позначити усеapp.deselectAllFiles (): зняти позначення з усьогоapp.firstFile ([ select], [onlyTaggedFiles ]): до першого файлаapp.nextFile ([ select], [onlyTaggedFiles ]): до наступного файлаapp.previousFile ([ select], [onlyTaggedFiles ]): до попереднього файлаapp.selectCurrentFile ([ select ]): позначити поточний файлapp.selectFile(path , [select ]): позначити певний файлapp.getSelectedFilePaths ([ onlyTaggedFiles ]): отримати шляхи до позначени ←↩

х файлiвapp.requestExpandFileList (): розгорнути усеapp.applyFilenameFormat (): застосувати формат назв файлiвapp.applyTagFormat (): застосувати формат мiтокapp.applyTextEncoding (): застосувати кодування текстуapp.numberTracks(nr , total , tag , [параметри]): нумерувати дорiжкиapp.applyFilter(expr): фiльтруватиapp.convertToId3v23 (): перетворити ID3v2 .4.0 на ID3v2 .3.0app.convertToId3v24 (): перетворити ID3v2 .3.0 на ID3v2 .4.0app.getFilenameFromTags(tag): назва файла з мiтокapp.getTagsFromFilename(tag): мiтки з назви файлаapp.getAllFrames(tag): отримати об’єкт iз усiма кадрамиapp.getFrame(tag , name): отримати кадрapp.setFrame(tag , name , value): встановити кадрapp.getPictureData (): отримати данi з кадру зображенняapp.setPictureData(data): встановити данi у кадрi зображенняapp.copyToOtherTag(tag): мiтки за iншими мiткамиapp.copyTags(tag): копiюватиapp.pasteTags(tag): вставитиapp.removeTags(tag): вилучитиapp.playAudio (): вiдтворитиapp.readConfig (): прочитати налаштуванняapp.applyChangedConfiguration (): застосувати налаштуванняapp.dirName: назва текиapp.selectionInfo.fileName: назва файлаapp.selectionInfo.filePath: абсолютний шлях до файлаapp.selectionInfo.detailInfo: данi щодо формату

66

Page 67: Підручник з Kid3 - KDE · Пiдручник з Kid3 Розробка програмного забезпечення: Urs Fleisch Переклад українською:

Пiдручник з Kid3

app.selectionInfo.tag(Frame.Tag_1).tagFormat: формат мiтки 1app.selectionInfo.tag(Frame.Tag_2).tagFormat: формат мiтки 2app.selectionInfo.formatString(tag , format): замiнити коди у рядку форма ←↩

туванняapp.selectFileName(caption , dir , filter , saveFile): вiдкрити дiалогове в ←↩

iкно вибору файлаapp.selectDirName(caption , dir): вiдкрити дiалогове вiкно вибору теки

Для асинхронних дiй зворотнi виклики можна з’єднувати iз сигналами.

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)

}

В.2.4 Об’єкти налаштовування

Доступ до рiзних роздiлiв налаштовування можна отримати за допомогою методiв configs.Список їхнiх властивостей можна переглянути за допомогою консолi QML.

script.properties(configs.networkConfig ())

Можна встановити такi властивостi:

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 ()

67