'\" t .\" Title: kid3 .\" Author: Urs Fleisch .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 18 марта 2021 .\" Manual: Руководство пользователя Kid3 .\" Source: 3.8.6 .\" Language: Russian .\" .TH "kid3" "1" "18 марта 2021" "3.8.6" "Руководство пользователя Kid3" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "НАЗВАНИЕ" kid3, kid3-qt, kid3-cli \- Kid3 ID3 Tagger .SH "ОБЗОР" .HP \w'\fBkid3\fR\ 'u \fBkid3\fR [\fB\-\-help\fR | \fB\-\-author\fR | \fB\-\-version\fR | \fB\-\-license\fR | \fB\-\-desktopfile\ \fR\fBФАЙЛ\fR] [\fIФАЙЛ\fR...] .HP \w'\fBkid3\-qt\fR\ 'u \fBkid3\-qt\fR [\fB\-\-portable\fR] [\fBПараметры\ Qt\fR] [\fIФАЙЛ\fR...] .HP \w'\fBkid3\-cli\fR\ 'u \fBkid3\-cli\fR [\fB\-\-portable\fR] [\fB\-\-dbus\fR] [\fB\-h\fR | \fB\-\-help\fR] [\fB\-c\ КОМАНДА1\fR] [\fB\-c\ КОМАНДА2\fR...] [\fIФАЙЛ\fR...] .SH "ПАРАМЕТРЫ" .PP \fB\-\-portable\fR .RS 4 Сохранить параметры в файл kid3\&.ini в каталоге приложения\&. .RE .PP \fIФАЙЛ\fR .RS 4 Если \fIФАЙЛ\fR \(em это путь к каталогу, то он будет открыт\&. Если указан один или несколько путей к файлам, откроется общий каталог, а файлы будут выделены\&. .RE .SS "kid3" .PP \fB\-\-help\fR .RS 4 Показать справку о параметрах\&. .RE .PP \fB\-\-author\fR .RS 4 Показать сведения об авторах приложения\&. .RE .PP \fB\-\-version\fR .RS 4 Показать сведения о версии приложения\&. .RE .PP \fB\-\-license\fR .RS 4 Показать сведения о лицензии приложения\&. .RE .PP \fB\-\-desktopfile \fR\fBФАЙЛ\fR .RS 4 Имя файла \&.desktop (без пути) для этого приложения\&. .RE .SS "kid3\-qt" .PP \fBПараметры Qt\fR .RS 4 Смотрите \fBqt5options\fR(7)\&. .RE .SS "kid3\-cli" .PP \fB\-\-dbus\fR .RS 4 Активировать интерфейс D\-Bus\&. .RE .PP \fB\-c\fR .RS 4 Выполнить команду\&. Предусмотрена возможность использования нескольких параметров \fB\-c\fR для одной команды, и они будут выполняться последовательно\&. Описание доступных команд приводится в разделе \(Fokid3\-cli\(Fc\&. .RE .PP \fB\-h\fR|\fB\-\-help\fR .RS 4 Показать справку о параметрах и командах\&. .RE .SH "ВВЕДЕНИЕ" .PP Kid3 \(em это приложение для эффективного редактирования тегов ID3v1 и ID3v2 в MP3\-файлах\&. Большинство MP3\-проигрывателей позволяют редактировать эти теги, но не настолько комфортным и простым способом\&. Более того, приложение поддерживает теги в файлах Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF и модулях трекеров (MOD, S3M, IT, XM)\&. .PP Kid3 не создаёт и не кодирует файлы в формате MP3, это приложение предназначено для редактирования тегов ID3 во всех файлах в альбоме с помощью нескольких щелчков кнопкой мыши или нажатий комбинаций клавиш\&. Большинство других программ позволяют редактировать теги только одного типа (либо ID3v1, либо ID3v2), в то время как Kid3 предоставляет возможность свободного редактирования и преобразования тегов обоих типов, а также позволяет получить доступ ко всем тегам ID3v2\&. Возможно установить одинаковые значения для тегов сразу в нескольких файлах, например, указать одинаковые значения для записей исполнителя, альбома, года и жанра для всех файлов в альбоме\&. Если информация для тегов содержится в имени файла, теги могут быть автоматически установлены на основе имени файла\&. Также возможно установить имя файла в соответствии с любыми тегами, найденными в этом файле\&. .PP Функции редактирования также включают автоматическую замену символов или подстрок, например, изъятие некорректных символов из названий файлов\&. Автоматическое определение регистра символов упрощает использование однородной схемы именования для всех тегов\&. .PP Данные тегов полных альбомов доступны на \m[blue]\fBgnudb\&.org\fR\m[]\&\s-2\u[1]\d\s+2, \m[blue]\fBMusicBrainz\fR\m[]\&\s-2\u[2]\d\s+2, \m[blue]\fBDiscogs\fR\m[]\&\s-2\u[3]\d\s+2, \m[blue]\fBAmazon\fR\m[]\&\s-2\u[4]\d\s+2, а также на других ресурсах\&. Формат импорта возможно настраивать произвольным образом с помощью регулярных выражений\&. .PP Чтобы сообщить о найденной ошибке или предложить новую функцию, обратитесь к автору программы\&. .SH "РАБОТА С Kid3" .SS "Возможности Kid3" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Редактирование тегов ID3v1\&.1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Редактирование всех фреймов ID3v2\&.3 и ID3v2\&.4 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Одновременное редактирование тегов нескольких файлов .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Преобразование тегов ID3v1 и ID3v2 между собой .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Редактирование тегов MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV и AIFF .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Создание тегов на основе имени файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Создание тегов по содержимому полей тегов .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Создание названий файлов по тегам .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Создание и изменение имён каталогов по тегам .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Создание файлов списков воспроизведения .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Автоматическое преобразование регистра и переноса строк .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Импорт данных из \m[blue]\fBgnudb\&.org\fR\m[]\&\s-2\u[1]\d\s+2, \m[blue]\fBMusicBrainz\fR\m[]\&\s-2\u[2]\d\s+2, \m[blue]\fBDiscogs\fR\m[]\&\s-2\u[3]\d\s+2, \m[blue]\fBAmazon\fR\m[]\&\s-2\u[4]\d\s+2 и других источников .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Экспорт данных в форматах CSV, HTML, списков воспроизведения, Kover XML и других\&. Экспортированные файлы в формате CSV возможно заново импортировать .RE .SS "Пример использования" .PP Этот раздел описывает обычный сеанс работы в Kid3\&. Предположим, что есть каталог, в котором содержатся файлы в формате MP3 с дорожками из альбома \(FoLet\*(Aqs Tag\(Fc группы \(FoOne Hit Wonder\(Fc\&. Каталог с файлами назван в формате \(FoИсполнитель \- Альбом\(Fc, в этом примере \(em \(FoOne Hit Wonder \- Let\*(Aqs Tag\(Fc\&. В каталоге содержатся файлы дорожек в формате \(Foназвание дорожки\&.mp3\(Fc, что довольно удобно, так как названия файлов остаются короткими (это важно для мобильных MP3\-проигрывателей с небольшими дисплеями) и располагаются в надлежащем порядке при упорядочении списка по алфавиту (это важно при использовании аппаратного MP3\-проигрывателя, который воспроизводит дорожки в алфавитном порядке или в том порядке, в котором они записаны на компакт\-диске; этот порядок будет алфавитным в случае выполнения команды \fBmkisofs\fR)\&. Кроме этого, информация об исполнителе и альбоме уже содержится в названии каталога, и её не обязательно дублировать в названии файла\&. В этом примере список файлов в каталоге будет выглядеть так: .PP 01 Intro\&.mp3 .PP 02 We Only Got This One\&.mp3 .PP 03 Outro\&.mp3 .PP Этим файлам ещё не присвоены теги, их нужно создать с помощью Kid3\&. Для этого следует воспользоваться пунктом меню Файл → Открыть (или кнопкой на панели инструментов) и выделить один из файлов в этом каталоге\&. Все файлы будут отображаться в списке файлов\&. Чтобы не усложнять себе задачу, для создания тегов воспользуемся данными из названия каталога и имён файлов\&. Для этого следует выделить все файлы, а затем нажать кнопку В: Тег 1 в разделе Файл\&. Будут установлены значения заголовка, исполнителя, альбома и дорожки для всех файлов\&. Чтобы установить значение года и жанра для всех файлов, следует, не снимая выделения, ввести \(Fo2002\(Fc в поле Дата и выбрать, например, \(FoPop\(Fc в раскрывающемся списке Жанр\&. Чтобы установить только эти два значения, приложение автоматически установит флажки только на эти два пункта\&. Далее возможно изменить выделение, выделив только первый файл: как можно убедиться, всем тегам присвоены корректные значения\&. Чтобы проверить теги остальных файлов, их следует выделить один за другим\&. Если теги установлены корректно, воспользуйтесь пунктом меню Файл → Сохранить (или кнопкой на панели инструментов)\&. Пункт меню Файл → Создать список воспроизведения (или кнопка на панели инструментов) позволяет создать файл под названием \(FoOne Hit Wonder \- Let\*(Aqs Tag\&.m3u\(Fc в том же каталоге\&. .SH "СПИСОК КОМАНД" .SS "Элементы графического интерфейса" .PP Графический интерфейс Kid3 состоит из шести разделов: слева расположены списки файлов и каталогов, а справа находятся разделы Файл, Тег 1, Тег 2 и Тег 3\&. .PP Определённые комбинации клавиш позволяют перемещаться между разделами с помощью клавиатуры\&. В разделах тегов комбинации клавиш возможно использовать, если не выполняется редактирование текста или если курсор находится в первом столбце таблицы\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Alt+Влево: перейти к предыдущему разделу (Command+[ в macOS\(rg) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Alt+Вправо: перейти к следующему разделу (Command+] в macOS\(rg) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Ctrl+Shift+V: из другого тега .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Ctrl+C: копировать .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Ctrl+V: вставить .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Shift+Delete: удалить .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} F2: изменить .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Insert: добавить .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Delete: удалить .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСписок файлов\fR .RS 4 .PP Список файлов содержит имена всех файлов в открытом каталоге, которые соответствуют выбранному фильтру имён (обычно это *\&.mp3 *\&.ogg *\&.opus *\&.dsf *\&.flac *\&.mpc *\&.aac *\&.m4a *\&.m4b *\&.m4p *\&.mp4 *\&.mp2 *\&.spx *\&.tta *\&.wv *\&.wma *\&.wav *\&.aiff *\&.ape)\&. Возможно выбрать один или несколько файлов\&. Чтобы снять выделение, щёлкните левой кнопкой мыши в пустом месте под пунктами списка\&. Выделение определяет файлы, над которыми будут выполняться действия после нажатия кнопок, описание которых приводится далее\&. .PP Параметры файла отображаются не только в столбце Имя, но и в столбцах Размер, Тип, Дата изменения\&. Чтобы скрыть эти столбцы, снимите флажок в соответствующем пункте контекстного меню строки заголовков списка\&. Чтобы изменить порядок столбцов, воспользуйтесь функцией перетаскивания\&. Порядок сортировки файлов переключается щелчком левой кнопкой мыши по заголовку столбца\&. .PP Слева от названий может отображаться значок дискеты, указывающий на наличие изменений в файле, либо значок, отображающий информацию о том, какие теги используются (V1, V2, V1V2 или NO TAG; значок не будет отображаться, если чтение данных из файла ещё не было произведено)\&. .PP Каталоги отображаются со значком в виде папки\&. При открытии каталога его содержимое отображается в виде иерархического дерева\&. При выборе файлов из вложенных каталогов возможно выполнять действия над файлами, которые хранятся в разных каталогах\&. Это удобно, когда музыкальная коллекция организована так, что каталог каждого исполнителя содержит вложенные каталоги с его альбомами\&. .PP При щелчке правой кнопкой мыши внутри списка файлов появится контекстное меню, содержащее следующие команды: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Развернуть все: разворачивает всё дерево каталога (при нажатой клавише Shift развернёт дерево текущего каталога) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Свернуть все: сворачивает всё дерево каталога .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Переименовать: меняет имя файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Переместить в корзину: перемещает файл в корзину .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Воспроизвести: воспроизводит файл; подробнее об этом пункте контекстного меню рассказано в описании функции \(FoВоспроизведение\(Fc\&. Если выбранный файл \(em это список воспроизведения, будут воспроизводиться все файлы списка воспроизведения\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Редактировать: позволяет отредактировать список воспроизведения, подробные сведения об этом пункте контекстного меню приводятся в разделе \(FoРедактирование списка воспроизведения\(Fc\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Остальные пункты являются пользовательскими командами, которые возможно указать на вкладке Команды пользователя диалогового окна настройки Kid3\&. В этом же разделе находится функция воспроизведения по двойному щелчку\&. .RE .sp .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBРедактирование списка воспроизведения\fR .RS 4 .PP Возможно создать как пустой список воспроизведения, так и уже содержащий дорожки из определённого каталога, подробные сведения об этом доступны в описании функции \(FoСоздать список воспроизведения\(Fc\&. Чтобы изменить список воспроизведения, созданный таким образом, дважды щёлкните по нему левой кнопкой мыши, либо воспользуйтесь пунктом контекстного меню списка файлов Правка\&. Отобразится диалог с содержимым списка воспроизведения\&. Возможно открывать сразу несколько разных списков воспроизведения\&. .PP Чтобы добавить новые записи, перетащите нужные файлы из списка файлов, диспетчера файлов или из другого списка воспроизведения\&. Если перетащить запись из другого списка воспроизведения, в зависимости от системы, она будет либо перемещена, либо скопирована\&. Чтобы вызвать другие действия, нажмите клавишу Shift, Ctrl или Alt (в macOS\(rg \(em для копирования вместо перемещения)\&. Чтобы упорядочить записи в списке воспроизведения, также воспользуйтесь функцией перетаскивания\&. Кроме того, для перемещения записей в списке предусмотрены комбинации клавиш Ctrl+Shift+Вверх и Ctrl+Shift+Вниз (в macOS\(rg вместо клавиши Ctrl следует использовать Command)\&. Чтобы удалить запись, нажмите клавишу Delete\&. .PP Обратите внимание на следующее: чтобы перетащить записи из списка файлов, их следует захватывать с левой стороны (рядом со значком), так как захват с правой стороны выполняет функцию выделения нескольких файлов\&. Поэтому, чтобы перетащить сразу несколько файлов, потребуется выполнить оба этих действия\&. .PP После внесения изменений в список воспроизведения нажмите кнопку Сохранить для сохранения изменений или кнопку Отмена для их отмены\&. При закрытии окна приложения будет предложено сохранить несохранённые изменения, если таковые имеются\&. .PP Выделенные в списке воспроизведения дорожки также автоматически выделяются в списке файлов, что позволяет сразу же приступить к редактированию присвоенных им тегов\&. .PP Чтобы выполнить те или иные действия над списком воспроизведения, следует выделить его файл в списке файлов\&. Пункт контекстного меню Изменить открывает диалог, описанный в этом разделе, а пункт Воспроизвести запустит проигрыватель с дорожками из списка воспроизведения\&. Над списками воспроизведения возможно выполнять пользовательские действия, например, Экспорт списка воспроизведения для копирования файлов из списка воспроизведения в каталог\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСписок каталогов\fR .RS 4 .PP В списке каталогов содержатся названия подкаталогов открытого каталога, а также пункты текущего (\&.) и родительского (\&.\&.) каталога\&. Этот список позволяет быстро сменить каталог без использования кнопки Открыть или функции перетаскивания\&. .PP Сведения о настройке видимости столбцов, порядка столбцов и сортировки записей в столбцах доступны в разделе о списке файлов\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBФайл\fR .RS 4 .PP Отображает информацию о кодировке (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), скорости передачи, частоте дискретизации, каналах и длине файла\&. .PP Поле для редактирования Имя содержит название файла (только если выделен один файл)\&. При изменении имени файла для сохранения следует использовать команду сохранения изменений\&. .PP Раскрывающийся список Формат и поле для редактирования содержат информацию о формате, который будет использоваться при создании имени файла из первого или второго тега\&. Имя файла может содержать произвольные символы, даже часть каталога, отделённую от имени файла косой чертой (но переименование будет успешно выполнено только в том случае, если эта папка уже существует)\&. Следующие специальные коды используются для вставки значений тегов в имя файла: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s %{title} Заголовок (композиции) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %a %{artist} Исполнитель .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %l %{album} Альбом .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %c %{comment} Комментарий .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %y %{year} Год .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track} Номер дорожки (например, 01) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track\&.n} Номер дорожки с шириной поля n (например, 001 для %{track\&.3}) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %T %{tracknumber} Номер дорожки (без нулей в начале, например, 1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %g %{genre} Жанр .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{ignore} Игнорируется при создании тегов из имени файла .RE .PP Коды формата не ограничены приведёнными выше примерами\&. Возможно использовать любые названия фреймов, например, унифицированные названия фреймов наподобие \fB%{albumartist}\fR, \fB%{discnumber\&.1}\fR, \fB%{bpm}\fR или специфичные для форматов названия наподобие \fB%{popm}\fR\&. .PP Чтобы добавить строки к началу или концу строки для замены кода формата, следует добавить соответствующие строки в двойных кавычках внутри фигурных скобок кода формата\&. Такие строки добавляются в строку\-результат, только если код формата имеет непустое значение\&. Например, если имя файла содержит как заголовок, так и подзаголовок, используйте в строке формата запись \fB%{title} [%{subtitle}]\fR\&. Но использование такой записи приведёт к завершению строки символами [], если в файле отсутствует фрейм подзаголовка\&. Чтобы избежать добавления таких пустых квадратных скобок, следует использовать запись вида \fB%{title}%{" ["subtitle"]"}\fR\&. В этом случае скобки, начальный пробел и подзаголовок будут опущены, если подзаголовка не существует\&. .PP Настройка списка доступных форматов осуществляется в диалоге, вызываемом кнопкой Имя файла из тега на вкладке Файлы окна настройки параметров\&. .PP Второй раскрывающийся список Формат (со стрелкой вниз) используется для создания тегов из имени файла\&. Если формат имени файла не соответствует этому шаблону, будет предпринята попытка использовать другие распространённые форматы\&. .PP В раскрывающемся списке перечислено несколько стандартных форматов названий файлов, но также возможно ввести свой собственный формат в строку редактирования\&. .PP Настройка списка доступных форматов осуществляется в диалоге, вызываемом кнопкой Тег из имени файла на вкладке Файлы окна настройки параметров\&. .PP На внутреннем уровне регулярное выражение состоит из кодов формата\&. Если требуются расширенные регулярные выражения, формат для создания тегов из имён файлов может быть задан как полное регулярное выражение с частями, которым предшествуют коды формата\&. Например, для извлечения номеров дорожек без удаления нулей в начале следует использовать формат наподобие \(Fo\fB/%{track}(\ed+) %{title}(\&.*)\fR\(Fc\&. .PP Из: Тег 1, Тег 2: установка имени файла с использованием выбранного формата и, соответственно, первого или второго тега\&. .PP В: Тег 1, Тег 2: создание тегов из имени файла\&. Сначала используется формат, указанный в поле Формат\&. Если существующее имя файла не соответствует этому формату, предпринимается попытка использовать следующие форматы: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Исполнитель \- Альбом/Дорожка Композиция .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Альбом/Дорожка \- Исполнитель \- Композиция .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} /Исполнитель \- Альбом \- Дорожка \- Композиция .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Альбом/Исполнитель \- Дорожка \- Композиция .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Альбом/Исполнитель \- Композиция .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Исполнитель/Альбом/Дорожка Композиция .RE .PP Если выбран один файл, пункты графического интерфейса будут заполнены значениями, полученными из названия этого файла\&. Если выбрано несколько файлов, теги файлов устанавливаются непосредственно в соответствии с именами файлов\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBТег 1\fR .RS 4 .PP Строки редактирования Заголовок, Исполнитель, Альбом, Комментарий, Дата, Номер дорожки и Жанр используются для изменения соответствующего значения первого тега выделенных файлов\&. Значение будет изменено при изменении выделения файлов, перед такими действиями, как Сохранить и Выход, а также при установке соответствующего флажка слева от имени поля\&. Это позволяет изменить только некоторые значения, оставив остальные значения без изменений\&. .PP Если выбран один файл, будут установлены все флажки, а строки будут заполнены данными, полученными из тегов этого файла\&. Если теги отсутствуют, будет отображаться соответствующее пустое значение: пустая строка в текстовых полях Заголовок, Исполнитель, Альбом и Комментарий, 0 в числовых полях Дата и Номер дорожки и пустое значение в раскрывающемся списке Жанр\&. Эти значения возможно изменить, и, если установлен соответствующий флажок, они будут установлены для выбранного файла после изменения выделения\&. В таком случае файл в списке файлов будет отмечен значком дискеты, но изменения не будут применены, пока не будет выполнена команда Сохранить\&. .PP Если выбрано несколько файлов, будут отображены только значения, идентичные во всех файлах\&. Во всех остальных полях будут показаны пустые значения, как было описано выше\&. Все флажки будут сняты во избежание нежелательных изменений\&. Если требуется установить значение для всех выделенных файлов, отредактируйте его, и приложение автоматически установит соответствующий флажок\&. Значения для выбранных файлов будут установлены при изменении выделения, и эти изменения будет возможно сохранить с помощью команды Сохранить\&. .PP Флажки позволяют управлять большинством команд, включая копирование, вставку и перенос данных между тегами 1 и 2\&. Чтобы упростить одновременную работу с несколькими файлами, когда все флажки сняты, эти команды работают одинаково независимо от того, установлены или сняты все флажки\&. .PP Из тега 2: значения полей тега 1 устанавливаются из соответствующих значений тега 2\&. Если выбран один файл, пункты графического интерфейса будут заполнены значениями из тега 2\&. Если выбрано несколько файлов, устанавливаются непосредственно теги этих файлов\&. .PP Копировать: скопировать в буфер обмена значения тега 1\&. В следующих командах вставки будут использоваться только значения из пунктов с установленным флажком\&. .PP Вставить: вставить данные из буфера обмена в пункты графического интерфейса\&. .PP Убрать: очистить все значения пунктов графического интерфейса\&. Если после этого действия сохранить редактируемый файл, в нём будет отсутствовать тег 1\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBТег 2\fR .RS 4 .PP Графический интерфейс позволяет управлять этим параметром таким же способом, который описан в разделе Тег 1, но при этом размеры строк не ограничены\&. .PP При заполнении поля тега 2 Жанр также возможно использовать собственные названия помимо жанров, указанных в раскрывающемся списке; достаточно просто ввести название жанра в строку редактирования\&. .PP Тег 2 не может содержать только те же значения, что и тег 1\&. Формат гибко строится из нескольких фреймов, которые сами состоят из нескольких полей\&. Таблица тега 2 показывает все фреймы, которые доступны в выбранном файле\&. .PP Изменить: открывает окно, позволяющее редактировать все поля выделенного фрейма\&. Если выбрано несколько файлов, изменения значений полей будут применяться ко всем выбранным файлам, которые содержат этот фрейм\&. .PP Добавить: открывает окно для указания типа фрейма, который можно будет изменить и добавить в файл\&. Эта функция также работает при выборе нескольких файлов\&. .PP Удалить: удаляет выбранный фрейм в выбранных файлах\&. .PP Надпись Перетащите сюда обложку альбома отобразится в том случае, если в файле отсутствует встроенная обложка альбома\&. Чтобы добавить изображение, перетащите его мышью из браузера или диспетчера файлов; после этого оно отобразится вместо надписи\&. Чтобы изменить или добавить фрейм, дважды щёлкните левой кнопкой мыши по соответствующему полю\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBТег 3\fR .RS 4 .PP Некоторые файлы могут содержать более двух тегов\&. В этом случае будет отображаться раздел третьего тега\&. Раздел Тег 3 могут иметь следующие типы файлов: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Файлы в формате MP3 могут иметь тег ID3v1\&.1, ID3v2 (2\&.3\&.0 или 2\&.4\&.0) и в третьем разделе тег APE\&. Такие теги предназначены для хранения информации о выравнивании громкости\&. Эта информация отображается в разделе Тег 3, а тег APE возможно удалить с помощью кнопки Убрать\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Фрагменты RIFF INFO в файлах WAV хранятся в разделе Тег 3, потому что раздел Тег 1 предназначен для тегов ID3v1\&.1 с соответствующими ограничениями\&. Раздел Тег 2 используется для тегов ID3v2\&.4\&.0, поддержка которых также предусмотрена в файлах WAV, но поддержка фрагментов RIFF INFO, по всей видимости, реализована лучше\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Файлы в формате FLAC обычно используют комментарии Vorbis для своих метаданных\&. Однако существуют файлы в формате FLAC, которые содержат теги ID3v1 и ID3v2, находящиеся в разделах Тег 1 и Тег 3\&. Теги ID3 в файлах формата FLAC поддерживаются только библиотекой TagLib, поэтому модуль OggFlacMetadata должен быть отключён (вкладка Модули в окне настройки параметров Kid3)\&. .RE .PP Пункты графического интерфейса работают так же, как и в разделе Тег 2\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСинхронизация текста песни с временными кодами событий\fR .RS 4 .PP Для изменения информации, синхронизирующейся с аудиоданными, предусмотрен специальный редактор\&. Эти фреймы поддерживаются в тегах ID3v2\&.3\&.0 и ID3v2\&.4\&.0\&. Чтобы добавить такой фрейм, выберите его название из списка, который появляется после нажатия кнопки Добавить \(em Синхронизированный текст или Коды привязки ко времени событий, соответственно\&. Для обоих типов используется один и тот же редактор, однако для кодов привязки ко времени событий предусмотрен только предварительно определённый набор событий, а для синхронизированного текста песни придётся ввести сам текст\&. Далее рассматривается пример редактирования синхронизированного текста песни\&. .PP Допустим, выбран файл с тегом ID3v2 и с помощью кнопки Добавить запущен редактор текста с опцией Синхронизированный текст\&. Если синхронизированный текст уже существует, выберите его и нажмите кнопку Изменить\&. После этого текущий файл будет автоматически открыт в проигрывателе, что позволит воспроизводить его и синхронизировать текст\&. .PP Параметры в верхней части окна редактора SYLT, как правило, не требуют внесения изменений\&. Если текст песни содержит символы, которых нет в наборе символов \(FoЛатиница 1\(Fc, рекомендуется изменить кодировку текста на UTF16 (или UTF8 для ID3v2\&.4\&.0)\&. Если текст песни написан на английском языке и требуется сохранить максимальную совместимость, рекомендуется использовать кодировку ISO\-8859\-1\&. .PP Раздел Текст содержит шесть кнопок в верхней части окна\&. Кнопка Добавить позволяет добавить в таблицу новое временное событие\&. Значение времени берётся из позиции в проигрывателе, поэтому добавление записи во время воспроизведения дорожки добавит строку для текущей позиции воспроизведения\&. События в таблице должны располагаться в хронологическом порядке, поэтому строки будут добавляться соответствующим образом\&. Записи с некорректными метками времени обрабатываются особым образом: если текущая выделенная строка содержит некорректное время, будет выполнена замена этой метки на текущее время, а не добавление новой строки\&. Если текущее время является корректным, будет использоваться первая строка с некорректным временем, если таковая имеется\&. Такой принцип работы должен упростить добавление меток времени, если в таблице уже есть текст песни, но отсутствуют метки (так происходит при импорте несинхронизированного текста)\&. Обратите внимание, что некорректное время обозначается как 00:00\&.00, то есть так же, как и время самого начала дорожки, которое не является некорректным\&. Чтобы сделать время некорректным, нажмите клавишу Delete или воспользуйтесь пунктом вызываемого правой кнопкой мыши контекстного меню Очистить\&. Новые строки, созданные путём вставки с помощью пункта контекстного меню Вставить строку или при импорте несинхронизированного текста с помощью кнопок Из буфера обмена или Импорт\&.\&.\&., также содержат некорректные метки времени\&. Чтобы удалить строки из таблицы, воспользуйтесь кнопкой Удалить или пунктом контекстного меню Удалить строки\&. .PP Чтобы импортировать синхронизированный текст из файла, воспользуйтесь кнопкой Импорт\&.\&.\&.\&. Ожидаемым форматом файла является простой или усовершенствованный формат LRC\&. Если первая строка в выбранном файле начинается не с квадратной скобки, приложение распознает файл как простой текстовый файл с несинхронизированным текстом\&. Строки из такого файла будут импортированы с некорректными метками времени\&. Данные времени возможно добавить с помощью кнопки Добавить или ввести вручную\&. Также возможно импортировать текст путём копирования со вставкой с помощью кнопки Из буфера обмена\&. Чтобы записать синхронизированный текст в файл формата LRC, воспользуйтесь кнопкой Экспорт\&.\&.\&.\&. Обратите внимание, что экспортируются лишь записи с корректными метками времени, при этом сами записи будут упорядочены по времени\&. Записи с некорректными метками времени не сохраняются во фрейме SYLT, поэтому перед закрытием диалогового окна убедитесь, что указаны все данные времени\&. .PP \m[blue]\fBСпецификация ID3\fR\m[]\&\s-2\u[5]\d\s+2 предлагает использование метки времени для каждого слога\&. Однако большинство проигрывателей поддерживают только разделение текста на уровне строки или предложения\&. Чтобы обеспечить поддержку обоих способов использования, Kid3 следует тем же принципам, что и \m[blue]\fBредактор SYLT\fR\m[]\&\s-2\u[6]\d\s+2\&. Введённый в таблицу текст считается началом новой строки, если он не начинается с пробела или дефиса\&. Из этого правила есть исключения: возможно начать строку с символа подчёркивания (\(Fo_\(Fc) для принудительного продолжения строки или с символа решётки (\(Fo#\(Fc) для принудительного разрыва строки\&. Эти спецсимволы не сохраняются во фрейме SYLT\&. Внутри фрейма SYLT новые строки начинаются с символа перевода строки (шестнадцатеричного 0A), а продолжение строк \(em нет\&. При чтении фреймов SYLT Kid3 проверяет, начинается ли первая запись с символа перевода строки\&. Если это не так, приложение предполагает, что все записи являются отдельными строками, а продолжение по слогам не используется\&. .PP При воспроизведении дорожки будет подсвечиваться строка, соответствующая воспроизводимой позиции, что позволяет проверить правильность синхронизации информации\&. Если требуется добавить смещение на одну или несколько меток времени, воспользуйтесь пунктом вызываемого правой кнопкой мыши контекстного меню Добавить смещение\&.\&.\&.\&. Отрицательные значения позволяют уменьшить значения меток времени\&. Пункт контекстного меню Прокрутка до положения позволяет установить позицию воспроизведения в значение времени выбранной строки\&. .PP \fIРекомендуемый порядок действий для синхронизации текста песни\fR .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Получите несинхронизированный текст, например, с помощью функции Lyrics → Embed Lyrics в контекстном меню списка файлов\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Скопируйте несинхронизированный текст в буфер обмена, перейдите к строке Текст в таблице фреймов и нажмите комбинацию клавиш Ctrl+C\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Добавьте фрейм синхронизированного текста (Добавить\&.\&.\&., Синхронизированный текст, OK), затем нажмите кнопку Из буфера обмена\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} После этого в таблицу будут добавлены все строки несинхронизированного текста, при этом все метки времени будут некорректными (0:0:0\&.00)\&. Перед продолжением возможно удалить пустые записи\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Запустите воспроизведение песни с помощью кнопки ► на панели воспроизведения в нижней части главного окна\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Когда появится следующая строка текста с некорректной меткой времени, нажмите кнопку Добавить или комбинацию клавиш Alt+A, и метка будет обновлена\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Повторяйте это действие, пока не будут установлены все метки времени\&. Если что\-то оказалось пропущено, остановите воспроизведение и очистите метки с помощью клавиши Delete или путём выделения меток и выбора пункта Очистить в контекстном меню\&. Чтобы возобновить воспроизведение с определённой метки, воспользуйтесь функцией контекстного меню Прокрутка до положения\&. .RE .sp .RE .SS "Меню \(FoФайл\(Fc" .PP .PP Файл → Открыть\&.\&.\&. (Ctrl+O) .RS 4 Открывает каталог\&. В списке файлов будут отображаться все файлы, соответствующие выбранному фильтру имён файлов, а выбранный файл будет выделен\&. .RE .PP Файл → Последние файлы .RS 4 Открывает последний открытый каталог\&. .RE .PP Файл → Открыть каталог\&.\&.\&. (Ctrl+D) .RS 4 Открывает каталог\&. В списке файлов будут отображаться все файлы, соответствующие выбранному фильтру имён файлов\&. .RE .PP Файл → Обновить (F5) .RS 4 Обновляет каталог\&. Перед обновлением следует сохранить изменённые файлы\&. Развёрнутые вложенные папки будут свёрнуты\&. .RE .PP Файл → Сохранить (Ctrl+S) .RS 4 Сохраняет все изменённые файлы в каталоге\&. Изменённые файлы отмечены значком дискеты в списке файлов\&. Если были изменены названия файлов, файлы будут соответствующим образом переименованы\&. .RE .PP Файл → Отменить изменения .RS 4 Отменяет изменения одного или нескольких файлов\&. Если в списке файлов не было выделено ни одного файла, будут отменены изменения всех файлов\&. Если же в списке имеются выделенные файлы, будут отменены изменения только этих файлов\&. .RE .PP File → Импорт\&.\&.\&. .RS 4 Диалог импорта позволяет импортировать данные непосредственно с сервера freedb\&.org, сервера MusicBrainz, Discogs, Amazon или из других источников списков воспроизведения в альбомах, которые предоставляют данные в текстовом формате\&. .sp Чтобы импортировать данные с сервера freedb\&.org, в диалоге импорта выберите в меню С сервера\&.\&.\&. вариант gnudb\&.org\&. В появившемся диалоговом окне введите в два верхних поля данные для поиска исполнителя и названия альбома; альбомы, соответствующие запросу, будут отображены после нажатия кнопки Найти и получения результатов с сайта \m[blue]\fBwww\&.gnudb\&.org\fR\m[]\&\s-2\u[7]\d\s+2\&. Импорт данных дорожек для альбома выполняется двойным щелчком левой кнопкой мыши по альбому в списке\&. Для импорта данных возможно выбрать как сервер freedb\&.org, так и путь CGI\&. Импортированные данные будут отображаться в таблице предварительного просмотра диалога импорта\&. Если отображаемые результаты удовлетворяют требованиям, запустите процесс импорта, закрыв диалоговое окно с помощью кнопки OK\&. .sp Чтобы выполнить поиск на сервере Discogs, выберите в раскрывающемся списке вариант Discogs\&. Как и в диалоге поиска gnudb\&.org, следует указать исполнителя и название альбома, а затем выбрать нужный вариант из списка альбомов\&. Возможно ввести Токен, чтобы использовать программный интерфейс RESTful Discogs API вместо веб\-интерфейса, который часто меняется, тем самым нарушая работу анализатора импорта\&. Потребуется создать учётную запись на сайте \m[blue]\fBDiscogs\fR\m[]\&\s-2\u[8]\d\s+2, затем там же сгенерировать токен (Настройки/Разработчикам, Сгенерировать токен)\&. Не забудьте нажать кнопку Сохранить параметры после ввода токена, чтобы использовать его и в последующих запросах\&. Если установлен флажок Стандартные теги, будет импортирована стандартная информация, например, об исполнителе, альбоме и названиях дорожек\&. Если установлен флажок Дополнительные теги, будет также импортирована доступная дополнительная информация, например, об аккомпанементе, аранжировщиках или издателе\&. Если установлен флажок Обложка, также будет загружено изображение обложки альбома (если оно доступно)\&. .sp Чтобы выполнить поиск на Amazon, выберите в раскрывающемся списке вариант Amazon\&. Как и в диалоге поиска gnudb\&.org, следует указать исполнителя и название альбома, а затем выбрать нужный вариант из списка альбомов\&. Если установлен флажок Дополнительные теги, будет импортирована доступная дополнительная информация, например, об аккомпанементе, аранжировщиках или издателе\&. Если установлен флажок Обложка, также будет загружено изображение обложки альбома (если оно доступно)\&. .sp Таким же образом производится поиск в базе данных альбомов MusicBrainz (выберите в раскрывающемся списке вариант MusicBrainz (релиз))\&. Рабочий процесс аналогичен процессу, описанному для функции импорта с сервера gnudb\&.org\&. .sp Чтобы импортировать данные с сервера MusicBrainz, воспользуйтесь диалогом, который появляется при выборе в меню варианта MusicBrainz (отпечаток)\&. Выбор сервера аналогичен выбору в диалоге импорта из freedb\&. Ниже располагается таблица, отображающая импортированные данные дорожек\&. Правый столбец содержит состояние запроса MusicBrainz (при первом открытии диалога \(em \(FoВ ожидании\(Fc)\&. Производится поиск отпечатка, и, если результата не будет, приложение попробует провести другой поиск с использованием тегов файла\&. Таким образом, для успешного поиска в MusicBrainz желательно сохранить имеющиеся данные (например, данные об исполнителе и альбоме) в метках перед импортом\&. Если соответствующая запросу запись была найдено, поиск завершится с состоянием \(FoРаспознано\(Fc\&. Если же найти такую запись не удастся, будет показано уведомление об отсутствии результатов или несколько неточных соответствий, из которых пользователю потребуется выбрать нужный вариант\&. Кнопки OK и Применить позволяют использовать импортированные данные, а кнопка Отмена закрывает диалог\&. Закрытие может занять некоторое время, так как потребуется отключить весь механизм MusicBrainz\&. .sp Для импорта текстовых данных предназначен вложенный диалог, который вызывается нажатием кнопки Из файла или буфера обмена\&.\&.\&.\&. В этом диалоге доступны несколько предустановленных форматов импорта\&. Первые два, \(FoCSV unquoted\(Fc и \(FoCSV quoted\(Fc, используются для импорта данных, которые ранее были экспортированы с помощью диалога экспорта\&. Эти данные возможно редактировать с помощью электронной таблицы\&. Они должны быть сохранены с использованием символов табуляции в качестве разделителей\&. После такой обработки данные возможно импортировать с использованием формата \(FoCSV quoted\(Fc\&. Этот формат позволяет выполнять более тонкую настройку, чем \(FoCSV unquoted\(Fc, однако его поля не должны содержать двойных кавычек\&. Если производится только экспорт из Kid3 для дальнейшего импорта, рекомендуется использовать формат \(FoCSV unquoted\(Fc\&. Обратите внимание, что в контекстном меню списка файлов также есть пункты \(FoЭкспорт CSV\(Fc и \(FoИмпорт CSV\(Fc, предусматривающие использование сценариев для более полной, эффективной и гибкой обработки данных CSV при экспорте и импорте\&. .sp Ещё один формат, \(Fofreedb HTML text\(Fc, используется для копирования информации с HTML\-страницы \m[blue]\fBfreedb\&.org\fR\m[]\&\s-2\u[9]\d\s+2\&. Найдите альбом во freedb и, если нужная информация отобразится в браузере, скопируйте содержимое в буфер обмена\&. Затем нажмите кнопку Из буфера обмена, и в таблице предварительного просмотра в верхней части диалога будут отображены импортированные дорожки\&. Если импортированные данные соответствуют ожидаемому результату, закройте диалог с помощью кнопки OK, что позволит вставить данные в теги в текущем каталоге\&. Место назначения (Тег 1, Тег 2 или Тег 1 и тег 2) указывается с помощью раскрывающегося списка\&. Для корректного присваивания тегов файлы должны быть расположены в правильном порядке\&. Обеспечить такой порядок возможно путём нумерации файлов\&. .sp Следующий предустановленный формат импорта \(em это \(Fofreedb HTML source\(Fc\&. Этот формат возможно использовать, когда данные хранятся в формате HTML\&. Импорт производится с помощью кнопки Из файла, которая открывает окно выбора файла, или путём копирования содержимого файла из редактора с последующим импортом из буфера обмена\&. Этот формат может быть полезен для автономного импорта, хотя документ HTML также возможно открыть в браузере, а затем импортировать в первом формате с помощью буфера обмена\&. .sp Доступны и другие предустановленные форматы, например, \(FoTrack Title Time\(Fc\&. Чтобы создать собственный формат и позже настроить его, воспользуйтесь кнопкой Добавить\&. В двух строках под названием формата возможно указать регулярные выражения для захвата полей из импортируемого текста\&. Первое регулярное выражение будет проанализировано один раз для каждого документа для получения таких данных о каждом альбоме, как имя исполнителя, название альбома, год выхода и жанр\&. Вторая строка анализируется с начала документа и до конца, чтобы получить данные дорожки (её номер и заголовок)\&. Регулярные выражения включают в себя все функции, предоставляемые Qt(TM), то есть большинство возможностей регулярных выражений Perl\&. Использование скобок \(Fo(\&.\&.)\(Fc позволяет создать буферы захвата для полей для импорта\&. Перед ними возможно указывать специальные коды Kid3 для захвата конкретных полей\&. Эти коды аналогичны кодам для формата имён файлов, и помимо кодов, перечисленных далее, возможно использовать любое название фрейма: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s %{title} Заголовок (композиции) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %a %{artist} Исполнитель .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %l %{album} Альбом .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %c %{comment} Комментарий .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %y %{year} Год .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track} Дорожка .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %g %{genre} Жанр .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %d %{duration} Длительность .RE .sp Например, регулярное выражение дорожки (вторая строка) для импорта из списка воспроизведения \&.m3u может выглядеть как \(Fo%{track}(\ed+)\es+%{title}(\eS[^\er\en]*)\e\&.mp3[\er\en]\(Fc\&. Все форматы возможно изменить путём редактирования регулярных выражений и названия и последующего нажатия кнопки Сохранить параметры\&. Они будут храниться в файле kid3rc в каталоге конфигурации\&. Этот файл возможно отредактировать напрямую для получения большего количества форматов импорта или удалить для возврата к форматам по умолчанию\&. Чтобы удалить форматы, воспользуйтесь кнопкой Убрать\&. .sp Параметр Точность отображает оценку того, насколько хорошо импортированные данные соответствуют заданным дорожкам\&. Степень соответствия в процентах основана на длительности дорожек или названиях файлов\&. Параметр Обложки показывает URL\-адреса изображений обложек альбомов, которые будут загружены\&. .sp Чтобы проверить, соответствуют ли импортированные данные дорожек текущему набору файлов, следует сравнить длительность импортированных дорожек с длительностью этих файлов\&. Для этого служит флажок Проверять максимальную допустимую разницу во времени (в секундах):, который позволяет указать максимально допустимую погрешность в секундах\&. Если приложение обнаружит несоответствие длительности, данные о длительности будут обозначены красным фоном в таблице предварительного просмотра\&. .sp Если файлы расположены не в же порядке, что и импортированные дорожки, потребуется изменить назначенные этим файлам дорожки\&. Эту задачу упрощает опция Сопоставлять с: с кнопками Длительность, Дорожка и Название\&. Эти кнопки позволяют переупорядочить дорожки в соответствии с нужным полем\&. Чтобы отредактировать порядок дорожек вручную, перетащите дорожку на новое место с помощью левой кнопки мыши в сочетании с клавишей Ctrl\&. .sp Открытый диалог импорта содержит данные тегов\&. Тип тега (\(FoТег 1\(Fc, \(FoТег 2\(Fc, \(FoТег 1 и тег 2\(Fc) выбирается в раскрывающемся списке Место назначения\&. Кнопка справа от раскрывающегося списка позволяет отменить изменения, чтобы вновь показать в таблице текущее содержимое тегов\&. Флажки в первом столбце таблицы позволяют выбрать дорожки, для которых будут импортированы данные\&. Это может быть полезно, например, если папка содержит дорожки с обоих компакт\-дисков двойного компакт\-диска, а импортировать следует только данные второго компакт\-диска\&. .sp Чтобы идентифицировать дорожки, данные которых будут импортированы, возможно включить показ названий файлов или полного пути к файлам с помощью контекстного меню заголовка таблицы\&. Значения в таблице импорта доступны для редактирования\&. Кнопка отмены изменений, расположенная справа от раскрывающегося списка Место назначения, служит для восстановления содержимого тегов\&. Ей также возможно воспользоваться после изменения содержания пункта Место назначения\&. .sp Почти во всех диалогах присутствует кнопка Сохранить параметры, позволяющая сохранить параметры конкретного диалога и размеры окна\&. .sp Кнопка Из тегов\&.\&.\&. открывает вложенный диалог для заполнения данных фреймов тегов на основе других фреймов тегов\&. Эта функция позволяет просто скопировать информацию из одного тега в другой или извлечь часть фрейма и вставить её в другой фрейм\&. .sp Как и в диалоге импорта из файла или буфера обмена, здесь представлены легко настраиваемые форматы для выполнения различных действий\&. Предусмотрены предустановленные форматы для копирования значения названия альбома в поля исполнителя, композитора или дирижёра, а также для извлечения номера дорожки из полей заголовка, содержащих число\&. Также предусмотрен формат для получения значения подзаголовка из поля заголовка\&. .sp Следующий пример описывает алгоритм добавления пользовательского формата, который будет вставлять информацию из поля \(FoПодзаголовок\(Fc в поле \(FoКомментарий\(Fc\&. Создайте новый формат с помощью кнопки Добавить и укажите новое название, например, \(FoПодзаголовок в комментарий\(Fc\&. Затем введите \(Fo\fB%{subtitle}\fR\(Fc в поле Источник и \(Fo\fB%{comment}(\&.*)\fR\(Fc в Извлечение, а затем нажмите кнопку Сохранить параметры\&. .sp Выражение в поле Источник может содержать коды формата для произвольных фреймов тегов\&. Использование нескольких кодов позволяет комбинировать содержимое разных фреймов\&. Для каждой дорожки текст генерируется из её тегов с использованием формата Источник, а затем к этому тексту применяется регулярное выражение из поля Извлечение для установки новых значений тегов\&. Коды формата используются перед захватывающими круглыми скобками, чтобы указать фрейм тега, в котором будет сохранён захваченный текст\&. Всё это работает таким же образом, как и в функции импорта из файла или буфера обмена\&. .sp Функцией Импорт из тегов\&.\&.\&. также возможно воспользоваться непосредственно в меню Файл\&. Разница между этими двумя инструментами заключается в том, что вложенный диалог функции импорта работает со всеми файлами в текущем каталоге, тогда как функция в меню работает с выбранными файлами (которые могут находиться в разных каталогах)\&. Функция в меню поддерживает дополнительный код \(Fo%{__return}\(Fc для возврата полученного значения, что может быть полезно при работе с интерфейсами командной строки и QML\&. .RE .PP Файл → Импорт из gnudb\&.org\&.\&.\&. .RS 4 Импорт с сервера freedb\&.org с помощью поиска по альбомам в gnudb\&.org\&. Этот пункт меню открывает то же окно импорта, что и пункт меню Импорт\&.\&.\&., но при этом сразу появляется диалог gnudb\&.org\&. .RE .PP Файл → Импорт из Discogs\&.\&.\&. .RS 4 Импорт с сервера Discogs\&. Этот пункт меню открывает то же окно импорта, что и пункт меню Импорт\&.\&.\&., но при этом сразу появляется диалог Discogs\&. .RE .PP Файл → Импорт из Amazon\&.\&.\&. .RS 4 Импорт из Amazon\&. Этот пункт меню открывает то же окно импорта, что и пункт меню Импорт\&.\&.\&., но при этом сразу появляется диалог Amazon\&. .RE .PP Файл → Импорт из MusicBrainz (релиз)\&.\&.\&. .RS 4 Импорт из базы данных альбомов MusicBrainz\&. Этот пункт меню открывает то же окно импорта, что и пункт меню Импорт\&.\&.\&., но при этом сразу появляется диалог MusicBrainz (релиз)\&. .RE .PP Файл → Импорт из MusicBrainz (отпечаток)\&.\&.\&. .RS 4 Импорт с сервера MusicBrainz\&. Этот пункт меню открывает то же окно импорта, что и пункт меню Импорт\&.\&.\&., но при этом сразу появляется диалог MusicBrainz (отпечаток)\&. .RE .PP Файл → Импорт из тегов\&.\&.\&. .RS 4 Аналогично кнопке \(FoИз тегов\&.\&.\&.\(Fc, но импорт применяется к выделенным файлам\&. .RE .PP Файл → Автоматический импорт\&.\&.\&. .RS 4 Автоматический импорт позволяет импортировать данные для нескольких альбомов с различных веб\-сервисов\&. Если в списке файлов выбраны каталоги, будут импортированы данные дорожек для выделенных каталогов\&. Если не выделен ни один каталог, будут импортированы данные для всех каталогов в списке файлов\&. .sp Тип тега (\(FoТег 1\(Fc, \(FoТег 2\(Fc, \(FoТег 1 и тег 2\(Fc) выбирается в раскрывающемся списке Место назначения\&. .sp Профили указывают, к каким серверам следует обратиться, чтобы получить информацию об альбоме\&. Некоторые профили предустановлены (\(FoAll\(Fc, \(FoMusicBrainz\(Fc, \(FoDiscogs\(Fc, \(FoCover Art\(Fc); чтобы добавить дополнительные профили, воспользуйтесь кнопкой Добавить, расположенной справа от раскрывающегося списка Профиль\&. .sp В таблице ниже приведён список серверов, которые будут использоваться при импорте информации об альбоме с помощью выбранного профиля\&. Процесс импорта данных альбома завершается после получения всей необходимой информации, поэтому порядок строк в таблице имеет значение\&. Изменить порядок позволяют кнопки Переместить вверх и Переместить вниз\&. Кнопка Изменить\&.\&.\&. позволяет внести изменения в существующую запись\&. В столбце Сервер представлены те же серверы, что и в функциях импорта\&. Флажки Стандартные теги, Дополнительные теги, Обложки определяют информацию, которая будет получена с сервера\&. В столбце Точность указывается точность, которой требуется достичь при импорте данных\&. Если заданный уровень точности не будет достигнут, приложение попытается получить данные со следующего сервера\&. Аналогичный диалог со свойствами сервера появляется при нажатии кнопки Добавить\&.\&.\&. для добавления новой записи сервера\&. Кнопка Убрать позволяет удалить существующие записи\&. .sp Чтобы запустить автоматический пакетный импорт с выбранным профилем, нажмите кнопку Начать\&. Подробные сведения о запущенном импорте отображаются в верхней части диалогового окна\&. Чтобы прервать процесс, нажмите кнопку Прервать\&. .RE .PP Файл → Найти обложки\&.\&.\&. .RS 4 Диалог \(FoНайти обложки\(Fc позволяет найти и загрузить обложки альбомов\&. Поля Исполнитель и альбом заполняются автоматически, если в тегах доступны соответствующие данные\&. В разделе Источник доступно большое количество веб\-сайтов с обложками\&. Под названием источника расположена URL\-ссылка, в которой в качестве параметров указаны исполнитель и альбом\&. Чтобы вставить значения артиста и альбома в кодировке URL, воспользуйтесь командами \(Fo\fB%u{artist}\fR\(Fc и \(Fo\fB%u{album}\fR\(Fc\&. Команды для вставки других значений из тегов доступны в разделе \(FoНастройка Kid3\(Fc (описание вкладки Команды пользователя)\&. Чтобы добавить дополнительные источники обложек, замените запись \(FoCustom Source\(Fc названием нового источника и нажмите клавишу Enter; после этого следует указать URL\-адрес и нажать кнопку Сохранить параметры\&. Результат будет отображён в верхней части диалога, а чтобы открыть соответствующий адрес в браузере по умолчанию, указанном в параметрах, воспользуйтесь кнопкой Браузер\&. Изображение обложки возможно перетащить из окна браузера в окно Kid3, после чего оно будет сохранено во фрейме изображения выбранных файлов\&. .sp Так как не все браузеры поддерживают функцию перетаскивания изображений, а многие изображения на веб\-сайтах представлены в виде URL\-адресов, в таких случаях Kid3 получит не изображение, а его URL\-адрес\&. Если URL\-адрес указывает на изображение, оно будет загружено, но, если URL\-адрес указывает на какой\-либо интернет\-источник, его придётся преобразовать в соответствующее изображение\&. Такие привязки указаны в таблице Извлечение URL\-адреса\&. Левый столбец Соответствие содержит регулярные выражения, которые сравниваются с URL\-адресами\&. Если программе удаётся установить соответствие, захваченные выражения в скобках вставляются в шаблон в правый столбец URL\-адрес изображения (в позиции, указанные заменителями \e1 и так далее)\&. Заменённое регулярное выражение содержит URL\-адрес изображения\&. Такой способ позволяет импортировать обложки из Amazon, Google Images и так далее\&. Также возможно указать собственные соответствия\&. .RE .PP Файл → Экспорт\&.\&.\&. .RS 4 Диалог экспорта используется для сохранения данных из тегов в файле или в буфере обмена\&. В верхней части окна редактора доступен предварительный просмотр данных для экспорта\&. Если данные экспорта содержат символы табуляции, данные будут показаны в виде таблицы\&. Данные генерируются из тегов в текущем каталоге в соответствии с настроенным форматом\&. .sp Параметры форматирования аналогичны параметрам диалога \(FoИмпорт\(Fc: верхнее поле содержит название формата (например, \(FoCSV unquoted\(Fc), следом идёт заголовок, который будет создан в начале файла\&. Далее следуют данные дорожки (используются для каждой дорожки)\&. Последнее поле позволяет создать какой\-либо завершающий текстовый фрагмент\&. .sp В полях форматирования не должно содержаться регулярных выражений, как в диалоговом окне \(FoИмпорт\(Fc; там должны быть только выражения форматирования результата со специальными заменителями с символом \(Fo%\(Fc, которые будут заменены значениями из соответствующих тегов\&. Всё это работает так же, как форматирование названия файла, то есть используются те же коды вместе с дополнительными\&. Могут использоваться не только коды, перечисленные далее, но и коды с названиями фреймов тегов\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s %{title} Заголовок (композиции) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %a %{artist} Исполнитель .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %l %{album} Альбом .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %c %{comment} Комментарий .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %y %{year} Год .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track} Номер дорожки (например, 01) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track\&.n} Номер дорожки с шириной поля n (например, 001 для %{track\&.3}) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %T %{tracknumber} Номер дорожки (без нулей в начале, например, 1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %g %{genre} Жанр .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %f %{file} Имя файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %p %{filepath} Путь .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{modificationdate} Дата изменения .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{creationdate} Дата создания .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %u %{url} URL\-адрес .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{dirname} Имя каталога .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %d %{duration} Длительность в минутах:секундах .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %D %{seconds} Длительность в секундах .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %n %{tracks} Количество дорожек в альбоме .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %e %{extension} Расширение файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %O %{tag1} Формат тега 1 (ID3v1\&.1 или пустое значение, если не существует) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %o %{tag2} Формат тега 2 (ID3v2\&.3\&.0, ID3v2\&.4\&.0, ID3v2\&.2\&.0, ID3v2\&.2\&.1, Vorbis, APE, MP4, ASF, или пустое значение, если не существует) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %b %{bitrate} Скорость передачи в кбит/с .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %v %{vbr} Переменная скорость или пустое значение (только для ID3v2\&.3 с id3lib) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %r %{samplerate} Частота дискретизации в Гц .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %m %{mode} Режим каналов (cтерео или объединённое стерео) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %h %{channels} Количество каналов (1 или 2) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %k %{codec} Кодек (например, MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV) .RE .sp Предустановлено несколько форматов\&. В формате \(FoCSV unquoted\(Fc поля разделяются символами табуляции\&. Данные в этом формате возможно снова импортировать в Kid3 с использованием одноимённого формата импорта\&. В формате \(FoCSV quoted\(Fc поля дополнительно заключаются в двойные кавычки, что упрощает импорт в приложения для работы с таблицами\&. Однако, если используется этот формат, эти поля не должны содержать двойные кавычки\&. Форматы \(FoExtended M3U\(Fc и \(FoExtended PLS\(Fc позволяют создавать списки воспроизведения с расширенными атрибутами и абсолютными путями к файлам\&. Формат \(FoHTML\(Fc позволяет создавать HTML\-страницы с гиперссылками на дорожки\&. Формат \(FoKover XML\(Fc создаёт файл, который возможно импортировать в программу для печати обложек компакт\-дисков Kover\&. Формат \(FoTechnical Details\(Fc позволяет предоставить информацию о скорости передачи, частоте дискретизации, каналах и так далее\&. Наконец, пункт \(FoCustom Format\(Fc намеренно оставлен пустым для определения пользовательского формата\&. Дополнительные пользовательские форматы задаются путём добавления строк в файл kid3rc в каталоге конфигурации\&. Остальные форматы возможно изменить в соответствии с потребностями пользователя\&. .sp Источник тегов для создания экспортируемых данных (Тег 1 или Tег 2) выбирается в раскрывающемся списке\&. Кнопки В файл\&.\&.\&. или В буфер обмена позволяют поместить данные в файл или буфер обмена\&. Кнопки OK и Отмена закрывают диалог, при этом кнопка OK позволяет сохранить текущие параметры диалога\&. .RE .PP Файл → Создать список воспроизведения\&.\&.\&. .RS 4 Создаёт список воспроизведения\&. Формат и содержимое списка воспроизведения возможно настроить с помощью различных параметров\&. .sp Чтобы указать название списка воспроизведения, выберите вариант Совпадает с именем каталога или Формат со значениями из тегов, например, \(Fo\fB%{artist} \- %{album}\fR\(Fc (в этом случае название списка воспроизведения будет складываться из имени исполнителя и названия альбома)\&. Коды формата аналогичны кодам для экспорта\&. Кнопка\-переключатель Создать список воспроизведения позволяет создать пустой список воспроизведения с заданным названием\&. Расширение зависит от указанного формата списка воспроизведения\&. .sp Расположение создаваемого списка воспроизведения указывается в раскрывающемся списке Создать в\&. .PP Текущем каталоге .RS 4 Список воспроизведения создаётся в текущем каталоге и содержит только файлы текущего каталога\&. Текущий каталог \(em это каталог, в котором расположен текущий файл\&. Если выделено несколько файлов, текущим файлом, вероятно, будет являться последний выделенный файл\&. .RE .PP Каждом каталоге .RS 4 Список воспроизведения создаётся в каждом каталоге, который содержит указанные файлы, и каждый список воспроизведения содержит файлы из соответствующего каталога\&. .RE .PP Каталоге верхнего уровня .RS 4 Создаётся только один список воспроизведения в каталоге верхнего уровня (то есть в каталоге со списком файлов)\&. Этот список содержит файлы из каталога верхнего уровня и файлы из всех вложенных каталогов\&. .RE .sp Формат списка воспроизведения может быть следующим: M3U, PLS или XSPF\&. .sp Если установлен флажок Включать только выбранные файлы, в список воспроизведения будут включены только выделенные файлы\&. Если выделен каталог, будут выделены все файлы, содержащиеся в нём\&. Если этот флажок не установлен, в список воспроизведения будут включены все аудиофайлы\&. .sp Параметр Упорядочить по имени файла представляет собой обычный метод сортировки, когда файлы упорядочиваются по имени в алфавитном порядке\&. Параметр Упорядочить по полю тега позволяет отсортировать файлы по строке формата со значениями из полей тега\&. Например, \(Fo\fB%{track\&.3}\fR\(Fc позволит упорядочить файлы по номеру дорожки (\(Fo\fB\&.3\fR\(Fc используется для получения трёх цифр с нулями в начале, потому что строки используются для сортировки)\&. Также возможно указать несколько полей, например, \(Fo\fB%{genre}%{year}\fR\(Fc для сортировки на основе строки с жанром и годом\&. .sp Записи в списке воспроизведения могут содержать относительные или абсолютные пути к файлам в зависимости от того, какой параметр установлен: Использовать относительный путь для файлов в списке воспроизведения или Использовать абсолютный путь для файлов в списке воспроизведения\&. .sp Когда выбрана опция Записать только список файлов, список воспроизведения будет содержать только пути к файлам\&. Чтобы создать расширенный список воспроизведения с дополнительной информацией, укажите строку формата с помощью параметра Записать информацию, используя\&. .RE .PP Файл → Выход (Ctrl+Q) .RS 4 Закрывает приложение\&. .RE .SS "Меню \(FoПравка\(Fc" .PP .PP Правка → Выделить все (Alt+A) .RS 4 Выделяет все файлы\&. .RE .PP Правка → Снять выделение (Ctrl+Shift+A) .RS 4 Снимает выделение со всех файлов\&. .RE .PP Правка → Выбрать все файлы в каталоге .RS 4 Выделяет все файлы в текущем каталоге\&. .RE .PP Правка → Предыдущий файл (Alt+Вверх) .RS 4 Выделяет предыдущий файл\&. .RE .PP Правка → Следующий файл (Alt+Вниз) .RS 4 Выделяет следующий файл\&. .RE .PP Правка → Найти\&.\&.\&. (Ctrl+F) .RS 4 Производит поиск строк в именах файлов и тегах\&. Диалог Найти \(em это часть диалога Заменить, описание которого приводится далее\&. .RE .PP Правка → Заменить\&.\&.\&. (Ctrl+R) .RS 4 Этот пункт меню открывает диалог для поиска и замены строк в именах файлов и тегах\&. Чтобы ограничить набор фреймов для проведения поиска, снимите флажок Выбрать все и выделите фреймы, в которых нужно провести поиск\&. Также доступны параметры для поиска в обратном направлении, с учётом регистра и использованием регулярных выражений\&. .sp В зависимости от количества файлов поиск может занять некоторое время; чтобы прервать поиск, закройте диалог\&. .RE .SS "Меню \(FoСервис\(Fc" .PP .PP Сервис → Применить формат имени файла .RS 4 Когда в диалоге настройки отключён параметр Автоматически применять формат для формата имени файла, этот пункт меню позволяет применить указанный формат к именам выбранных файлов\&. Эта функция также позволяет проверить соответствие имён файлов настроенному формату путём применения формата ко всем сохранённым файлам и последующей проверки того, были ли какие\-либо файлы изменены (и, следовательно, отмечены значком дискеты в списке файлов)\&. .RE .PP Сервис → Применить формат тега .RS 4 Когда в диалоге настройки отключён параметр Автоматически применять формат для формата тега, этот пункт меню позволяет применить указанный формат к тегам выбранных файлов\&. Эта функция также позволяет проверить соответствие тегов настроенному формату путём применения формата ко всем сохранённым файлам и последующей проверки того, были ли какие\-либо файлы изменены (и, следовательно, отмечены значком дискеты в списке файлов)\&. .RE .PP Сервис → Применить кодировку текста .RS 4 При использовании этой функции устанавливается Кодировка текста, указанная на вкладке Настройка → Настроить Kid3\&.\&.\&. → Теги → Тег 2 для всех выбранных файлов\&. Если выбрана кодировка UTF8, для тегов ID3v2\&.3\&.0 будет использоваться UTF16, потому что этот формат не поддерживает UTF8\&. .RE .PP Сервис → Переименовать каталог\&.\&.\&. .RS 4 Этот диалог позволяет автоматически переименовать текущий открытый каталог в соответствии с тегами в файлах\&. Предварительно настроено несколько форматов для включения в название каталога информации об исполнителе, альбоме и годе выпуска\&. Также возможно указать собственный формат и воспользоваться кнопкой Изменить\&.\&.\&. для редактирования имеющихся форматов\&. Следующие специальные коды используются для вставки значений тегов в имя каталога: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s %{title} Заголовок (композиции) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %a %{artist} Исполнитель .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %l %{album} Альбом .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %c %{comment} Комментарий .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %y %{year} Год .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track} Номер дорожки (например, 01) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track\&.n} Номер дорожки с шириной поля n (например, 001 для %{track\&.3}) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %T %{tracknumber} Номер дорожки (без нулей в начале, например, 1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %g %{genre} Жанр .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{dirname} Имя каталога (например, %{year" "}%{dirname} добавит в начале имени текущего каталога год) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{max\-year} Максимальное значение года, найденное для этого каталога, также может использоваться с другими кодами, отличными от \(Foyear\(Fc .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{min\-year} Минимальное значение года, найденное для этого каталога .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %{unq\-year} Уникальное значение года, найденное для этого каталога, или пустое значение, если уникальное не найдено .RE .sp Если в формате присутствует разделитель каталогов \(Fo/\(Fc, будет создано несколько каталогов\&. Если требуется не переименовать текущий каталог, а создать новый, воспользуйтесь раскрывающимся списком Действие и выберите вариант Создать каталог вместо Переименовать каталог\&. Источник данных тега возможно установить в одно из следующих значений: Тег 1 и тег 2, Тег 1 или Тег 2\&. Предварительный просмотр действия по переименованию первого файла доступен в разделах диалога Из и В\&. .sp Чтобы переименовать сразу несколько каталогов, выделите их\&. .RE .PP Сервис → Пронумеровать дорожки\&.\&.\&. .RS 4 Если номера дорожек в тегах не указаны или установлены неправильно, эта функция позволит автоматически пронумеровать дорожки по возрастанию\&. В диалоге возможно указать начальный номер\&. Если требуется пронумеровать только часть дорожек, сначала их следует выделить\&. .sp Также в тегах будет указано количество дорожек, если установлен флажок Всего дорожек\&. .sp Возможно пронумеровать дорожки в нескольких каталогах\&. Нужные каталоги следует развернуть и выделить\&. .sp Если установлен флажок Начинать заново в каждой папке, в каждом выделенном каталоге нумерация дорожек будет начата заново с указанного номера\&. .sp Диалог нумерации дорожек также позволяет отформатировать уже присвоенные номера без изменения их значений, если снят флажок Начальный номер\&. Общее количество дорожек будет добавлено, если установлен соответствующий флажок, который предназначен для установки общего количества для всех выбранных дорожек\&. Если требуется выполнить только форматирование существующих номеров, этот флажок также необходимо снять\&. .RE .PP Сервис → Фильтр\&.\&.\&. .RS 4 Фильтр предоставляет возможность отображения только тех файлов, которые соответствуют определённым требованиям\&. Эта функция полезна при работе с большой коллекцией, она позволяет отредактировать только определённые файлы\&. В выражении, определяющем, какие файлы будут показаны, используются те же коды формата, что и для формата имени файла, импорта и экспорта\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s %{title} Заголовок (композиции) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %a %{artist} Исполнитель .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %l %{album} Альбом .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %c %{comment} Комментарий .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %y %{year} Год .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track} Номер дорожки (например, 01) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track\&.n} Номер дорожки с шириной поля n (например, 001 для %{track\&.3}) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %T %{tracknumber} Номер дорожки (без нулей в начале, например, 1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %g %{genre} Жанр .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %f %{file} Имя файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %p %{filepath} Абсолютный путь к файлу .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %e %{extension} Расширение файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %O %{tag1} Формат тега 1 (ID3v1\&.1 или пустое значение, если не существует) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %o %{tag2} Формат тега 2 (ID3v2\&.3\&.0, ID3v2\&.4\&.0, ID3v2\&.2\&.0, ID3v2\&.2\&.1, Vorbis, APE, MP4, ASF, или пустое значение, если не существует) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %b %{bitrate} Скорость передачи в кбит/с .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %v %{vbr} Переменная скорость или пустое значение (только для ID3v2\&.3 с id3lib) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %r %{samplerate} Частота дискретизации в Гц .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %m %{mode} Режим каналов (cтерео или объединённое стерео) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %h %{channels} Количество каналов (1 или 2) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %k %{codec} Кодек (например, MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %w %{marked} Отмечено, равно 1, если файл содержит отметку (например, из\-за усечения или нарушения стандарта), является пустым, если отметок нет .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %1a %1{artist}, \&.\&.\&. Использовать префикс 1, чтобы получить значения тега 1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %2a %2{artist}, \&.\&.\&. Использовать префикс 2, чтобы получить значения тега 2 .RE .sp Эти коды заменяются значениями для файла, и полученные строки можно будет сравнивать со следующими операциями: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} s1 equals s2: выполняется, если s1 равно s2\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} s1 contains s2: выполняется, если s1 содержит s2, то есть s2 \(em это подстрока s1\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} s matches re: выполняется, если s соответствует регулярному выражению re\&. .RE .sp Выражения, вычисление которых даёт значение true, будут заменены на 1, а те, которые дают false, \(em на 0\&. Значение ИСТИНА (true) может быть представлено как 1, true, on и yes, значение ЛОЖЬ \(em 0, false, off и no\&. Логические операции not, and, or (в таком порядке приоритета) возможно группировать с помощью скобок\&. .sp Некоторые правила фильтрации уже предустановлены и могут служить примерами для пользовательских выражений: .PP All .RS 4 Если к списку файлов был применён фильтр, в заголовке окна будет отображена надпись \(Fo[фильтровано]\(Fc\&. Этот пункт позволяет снять фильтрацию, и все файлы снова будут отображаться\&. В соответствующем фильтре используется пустое выражение, но значение \(Fotrue\(Fc для фильтра тоже приведёт к тому же результату\&. .RE .PP Filename Tag Mismatch .RS 4 \fBnot (%{filepath} contains "%{artist} \- %{album}/%{track} %{title}") \fR .sp Проверяет, соответствует ли путь к файлу формату названия этого файла\&. Это правило автоматически синхронизируется с изменениями в формате названий файлов\&. .RE .PP No Tag 1 .RS 4 \fB%{tag1} equals "" \fR .sp Отображает только те файлы, которые не содержат тег 1\&. .RE .PP No Tag 2 .RS 4 \fB%{tag2} equals "" \fR .sp Отображает только те файлы, которые не содержат тег 2\&. .RE .PP ID3v2\&.3\&.0 Tag .RS 4 \fB%{tag2} equals "ID3v2\&.3\&.0" \fR .sp Отображает только те файлы, которые содержат тег ID3v2\&.3\&.0\&. .RE .PP ID3v2\&.4\&.0 Tag .RS 4 \fB%{tag2} equals "ID3v2\&.4\&.0" \fR .sp Отображает только те файлы, которые содержат тег ID3v2\&.4\&.0\&. .RE .PP Tag 1 != Tag 2 .RS 4 \fBnot (%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}) \fR .sp Отображает файлы с различиями между тегом 1 и тегом 2\&. .RE .PP Tag 1 == Tag 2 .RS 4 \fB%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} \fR .sp Отображает файлы с одинаковыми тегом 1 и тегом 2\&. .RE .PP Incomplete .RS 4 \fB%{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals "" \fR .sp Отображает файлы с пустыми значениями в стандартных тегах (заголовок, исполнитель, альбом, дата, номер дорожки, жанр)\&. .RE .PP No Picture .RS 4 \fB%{picture} equals "" \fR .sp Отображает только те файлы, которые не содержат обложку\&. .RE .PP Marked .RS 4 \fBnot (%{marked} equals "") \fR .sp Отображает только те файлы, которые отмечены, потому что они не соответствуют стандарту ID3, усечены или содержат слишком большое изображение обложки альбома\&. .RE .PP Custom Filter .RS 4 Выберите этот пункт, чтобы добавить собственный фильтр\&. Например, если требуется создать фильтр для исполнителей, названия которых начинаются со слова \(FoThe\(Fc, замените текст \(FoCustom Filter\(Fc на название \(FoThe\-группы\(Fc и нажмите клавишу Enter\&. Вставьте следующее выражение в строку редактирования: .sp \fB%{artist} matches "The\&.*" \fR .sp Затем нажмите кнопку Сохранить параметры\&. Чтобы применить фильтр к файлам, нажмите кнопку Применить\&. Все обработанные файлы отображаются в текстовом виде со знаком \(Fo+\(Fc для тех файлов, которые соответствуют фильтру, и \(Fo\-\(Fc для остальных\&. По окончании отображаются только файлы с исполнителем, название которого начинается с \(FoThe\(Fc, а в заголовке окна появляется надпись \(Fo[фильтровано]\(Fc\&. .RE .RE .PP Сервис → Преобразовать ID3v2\&.3 в ID3v2\&.4 .RS 4 Если в выделенных файлах содержатся теги ID3v2\&.3, они будут преобразованы в теги ID3v2\&.4\&. Фреймы, которые не поддерживаются библиотекой TagLib, не будут учитываться\&. Преобразовываются только файлы без несохранённых изменений\&. .RE .PP Сервис → Преобразовать ID3v2\&.4 в ID3v2\&.3 .RS 4 Если в выделенных файлах содержатся теги ID3v2\&.4, они будут преобразованы в теги ID3v2\&.3\&. Преобразовываются только файлы без несохранённых изменений\&. .RE .PP Сервис → Воспроизведение .RS 4 Открывает простую панель инструментов для воспроизведения аудиофайлов\&. Панель содержит кнопки для стандартных действий (Воспроизвести или приостановить, Остановить воспроизведение, Предыдущая дорожка, Следующая дорожка, Закрыть), ползунки для регулирования позиции и громкости, а также индикатор текущей позиции\&. Если выбрано несколько файлов, будут воспроизводиться выбранные дорожки\&. Если же ничего не выбрано, будут воспроизводиться все файлы\&. .RE .SS "Меню \(FoНастройка\(Fc" .PP .PP Настройка → Показать панель инструментов .RS 4 Переключает отображение панели инструментов\&. .RE .PP Настройка → Показать строку состояния .RS 4 Переключает отображение строки состояния, в которой показаны более длительные действия, такие как открытие или сохранение каталога\&. .RE .PP Настройка → Показывать изображение .RS 4 Переключает отображение обложки\&. .RE .PP Настройка → Автоматически скрывать теги .RS 4 Если флажок установлен, пустые теги будут скрыты автоматически\&. Кнопки \-/+ позволяют вручную свернуть или развернуть разделы Файл, Тег 1 и Тег 2\&. .RE .PP Настройка → Комбинации клавиш\&.\&.\&. .RS 4 Открывает диалог настройки комбинаций клавиш для большинства функциональных возможностей программы\&. Доступны даже функции без соответствующего пункта меню или кнопки, например, переход к следующему файлу, предыдущему файлу, выбор всех файлов\&. .RE .PP Настройка → Настроить Kid3\&.\&.\&. .RS 4 Открывает диалог настройки параметров приложения, который содержит разделы для настройки тегов, файлов, команд пользователя и параметров сети\&. .sp Параметры тегов доступны в разделе Теги, который разделён на четыре вкладки: Тег 1, Тег 2, Тег 3 и Все теги\&. .sp Если установлен флажок Отмечать усечённые поля, усечённые поля ID3v1\&.1 будут отмечены красным цветом\&. Текстовые поля тегов ID3v1\&.1 могут иметь не более 30 символов, а комментарии \(em не более 28\&. Также ограничено количество символов в полях жанра и нумерации дорожек, поэтому поля могут быть усечены при импорте или преобразовании из ID3v2\&. Усечённые поля и сам файл будут отмечены красным цветом\&. После редактирования поля такое выделение цветом будет снято\&. .sp Параметр Кодировка текста для тегов ID3v1 позволяет установить набор символов, используемый в тегах ID3v1\&. Стандартной кодировкой является ISO\-8859\-1, поэтому рекомендуется не менять это значение\&. Однако существуют теги с другой кодировкой; такую кодировку возможно указать с помощью этого параметра, чтобы затем скопировать теги ID3v1 в ID3v2, где предусмотрена поддержка Unicode\&. .sp Флажок Использовать формат \(Foномер дорожки / всего дорожек\(Fc определяет, будет ли поле номера дорожки тегов ID3v2 содержать просто номер дорожки или также и общее количество дорожек в каталоге\&. .sp Если установлен флажок Жанр как текст (вместо числовой строки), все жанры в тегах ID3v2 будут сохранены в виде текстовой строки, даже если существует соответствующий код для жанров в тегах ID3v1\&. Если этот флажок снят, жанры, для которых существует код в тегах ID3v1, будут сохранены в формате числа \(em кода жанра (в скобках для тега ID3v2\&.3)\&. Таким образом, жанр Metal будет сохранён как \(FoMetal\(Fc или \(Fo(9)\(Fc в зависимости от значения этого параметра\&. Жанры, которых нет в списке жанров в тегах ID3v1, всегда сохраняются в виде текстовой строки\&. Цель этой опции \(em улучшить совместимость с устройствами, которые неправильно интерпретируют коды жанров\&. .sp Если установлен флажок Файлы WAV с блоком id3 в нижнем регистре, блок RIFF, используемый для хранения тегов ID3v2 в файлах WAV, будет называться \(Foid3\(Fc вместо \(FoID3\(Fc\&. По умолчанию Kid3 и другие приложения, использующие TagLib, принимают как строчные, так и прописные варианты при чтении файлов WAV, но при записи тегов ID3v2 в файлы WAV они используют вариант \(FoID3\(Fc\&. Поскольку существуют другие приложения, которые принимают только вариант \(Foid3\(Fc (например, JRiver Media Center и foobar2000), эта опция позволяет создавать теги, которые могут быть прочитаны такими приложениями\&. .sp Если установлен флажок Отмечать нарушения стандарта, поля тегов ID3v2, нарушающие стандарт, будут отмечены красным\&. Подробная информация о нарушении отображается во всплывающей подсказке: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно быть уникальным .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Перевод строки запрещён .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Возврат каретки запрещён .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Необходимо ввести сведения о владельце .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно быть в числовом формате .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно быть в числовом формате или формате \(Foномер / общее количество\(Fc .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Формат \(em ДДММ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Формат \(em ЧЧММ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Формат \(em ГГГГ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно начинаться с года и пробела .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Формат даты и времени должен соответствовать стандарту ISO 8601 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно быть музыкальным ключом, 3 символа, A\-G, b, #, m, o, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Код языка должен соответствовать стандарту ISO 639\-2, 3 символа в нижнем регистре .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно быть кодом ISRC, 12 символов .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Должно быть списком строк, разделённых \(Fo|\(Fc .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Имеется лишний пробел .RE .sp Документы по стандартам ID3, доступные в сети: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \m[blue]\fBтег ID3 версии 2\&.3\&.0\fR\m[]\&\s-2\u[10]\d\s+2 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \m[blue]\fBТег ID3 версии 2\&.4\&.0 \(em основная структура\fR\m[]\&\s-2\u[11]\d\s+2 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \m[blue]\fBТег ID3 версии 2\&.4\&.0 \(em нативные фреймы\fR\m[]\&\s-2\u[5]\d\s+2 .RE .sp Кодировка текста определяет кодировку по умолчанию для фреймов ID3v2: ISO\-8859\-1, UTF16 или UTF8\&. UTF8 не поддерживается фреймами ID3v2\&.3\&.0; если указана эта кодировка, вместо неё будет использоваться кодировка UTF16\&. Для фреймов ID3v2\&.4\&.0 возможно использовать все три типа кодировки\&. .sp Версия, используемая для новых тегов позволяет указать, в какой версии должны создаваться новые теги ID3v2: 2\&.3\&.0 или 2\&.4\&.0\&. .sp Количество цифр в номере дорожки \(em это количество цифр в полях \(FoНомер дорожки\(Fc\&. Для заполнения используются нули в начале\&. Например, при значении 2 номер дорожки 5 устанавливается как \(Fo05\(Fc\&. .sp Раскрывающийся список Имя поля комментария предназначен только для файлов Ogg/Vorbis и FLAC и задаёт имя поля, используемого для комментариев\&. Разные приложения используют разные названия, например, \(FoCOMMENT\(Fc используется приложением XMMS, а Amarok использует название \(FoDESCRIPTION\(Fc\&. .sp Формат изображений в файлах Ogg/Vorbis указывается в раскрывающемся списке Имя поля изображения, значениями которого могут быть \(FoMETADATA_BLOCK_PICTURE\(Fc или \(FoCOVERART\(Fc\&. Первое значение \(em это официальный стандарт, использующий тот же формат, что и изображения в тегах FLAC\&. \(FoCOVERART\(Fc \(em это более ранний неофициальный способ включения изображений в комментарии Vorbis\&. Он позволяет обеспечивать совместимость с устаревшими проигрывателями\&. .sp Если установлен флажок Отмечать, если размер больше, чем (в байтах), файлы, содержащие встроенную обложку, размер которых превышает указанное значение в байтах, будут отмечены красным\&. Эта функция позволяет найти файлы, содержащие слишком большие изображения, которые могут не поддерживаться некоторыми приложениями или проигрывателями\&. Значение по умолчанию \(em 131072 байта (128 КБ)\&. .sp Раздел Пользовательские жанры позволяет указывать жанры, отсутствующие в стандартном списке жанров, например, \(FoGothic Metal\(Fc\&. Такие пользовательские жанры появятся в раскрывающемся списке Жанр в разделе Тег 2\&. В тегах ID3v1\&.1 возможно указывать только предустановленные жанры\&. .sp Список пользовательских жанров также возможно использовать для сокращения количества вариантов в раскрывающемся списке Жанр до тех, которые используются чаще всего\&. Например, если коллекция в основном содержит музыку в жанрах \(FoMetal\(Fc, \(FoGothic Metal\(Fc, \(FoAncient\(Fc и \(FoHard Rock\(Fc, внесите жанры в этот список и установите флажок Показывать только пользовательские жанры\&. Тогда раскрывающийся список Жанр в разделе Тег 2 будет содержать только эти четыре жанра, и искать их в полном списке не понадобится\&. В таком примере в списке жанров тега 1 будут отображаться только \(FoMetal\(Fc и \(FoHard Rock\(Fc, потому что эти два пользовательских жанра являются стандартными жанрами\&. Если флажок Показывать только пользовательские жанры не установлен, пользовательские жанры будут расположены в конце списка жанров\&. .sp Раздел Фреймы быстрого доступа позволяет указать, какие типы фреймов следует всегда отображать в разделе Тег 2\&. Такие фреймы затем можно будет добавить без предварительного использования кнопки Добавить\&. Чтобы изменить порядок фреймов быстрого доступа, воспользуйтесь функцией перетаскивания .sp Значение в раскрывающемся списке Имя поля номера дорожки используется только для данных RIFF INFO\&. С его помощью возможно указать название поля, используемого для номеров дорожек\&. Название поля номера дорожки не определено в исходном стандарте RIFF\&. В некоторых программах используется \(FoITRK\(Fc, в других \(em \(FoIPRT\(Fc\&. .sp Раздел Формат тега содержит параметры для форматирования тегов\&. Если установлен флажок Автоматически применять формат, заданные параметры форматирования будут автоматически применяться при правке текста в строках редактирования\&. Флажок Проверка включает или отключает средства проверки значений номера дорожки по общему количеству дорожек и значений даты и времени\&. Раскрывающийся список Преобразование регистра позволяет выбрать один из вариантов изменения регистра: Нет изменений, Все строчные, Все прописные, Первая буква \(em прописная или Все первые буквы \(em прописные\&. Чтобы использовать локаль для преобразования букв между верхним и нижним регистром, воспользуйтесь расположенным ниже раскрывающимся списком\&. Список заменителей позволяет настроить произвольное преобразование строк\&. Чтобы добавить новое сопоставление, выделите ячейку в столбце Из, вставьте в неё текст, который следует заменить, затем перейдите к соответствующей ячейке в столбце В и вставьте в неё замещающий текст\&. Если текст, который следует заменить, начинается и заканчивается символом косой черты \(Fo/\(Fc, предполагается, что использовано регулярное выражение\&. Для регулярных выражений, содержащих группы захвата в круглых скобках, соответствующие им заменители \e1, \e2, \&.\&.\&. в ячейке столбца В заменяются строкой, захваченной соответствующей группой захвата\&. Чтобы удалить соответствие, укажите в поле Из пустое значение (например, нажав клавишу пробела, а затем клавишу Backspace)\&. Добавить или удалить строки также возможно с помощью контекстного меню, которое вызывается щелчком правой кнопки мыши\&. Замена выполняется только в том случае, если установлен флажок Замена строк\&. .sp Таблица в разделе Рейтинг содержит сопоставления рейтинга (в звёздах) с текущими значениями, хранящимися в теге\&. Фреймы с данными рейтинга содержатся в строке \(FoРейтинг\(Fc списка фреймов\&. Для этих фреймов рейтинг устанавливается путём присвоения определённого количества звёзд из пяти звёзд\&. В разных форматах тегов и разных приложениях используются разные значения для привязки этой оценки в звёздах к значению, хранящемуся в теге\&. Чтобы отображать количество присвоенных звёзд корректно, программа Kid3 обращается к этой таблице\&. Ключом для поиска соответствующей информации является название фрейма, например, в комментариях Vorbis это будет \(FoRATING\(Fc, а в RIFF INFO \(em \(FoIRTD\(Fc\&. Для тегов ID3v2 используется комбинированный ключ, содержащий идентификатор \(FoPOPM\(Fc фрейма Popularimeter и поле \(FoEmail\(Fc, отделённое точкой\&. Таким образом, для тегов ID3v2 существуют разные ключи, например, \(FoPOPM\&.Windows Media Player 9 Series\(Fc для привязки, используемой приложениями Windows Media Player и Explorer, и просто \(FoPOPM\(Fc для фреймов POPM с пустым полем \(FoEmail\(Fc\&. Так как для \(FoPOPM\(Fc может существовать несколько записей, их порядок важен\&. Когда Kid3 добавляет новый фрейм Popularimeter, для определения значения, которое будет записано в поле \(FoEmail\(Fc, используется первая запись \(FoPOPM\(Fc\&. Это значение затем укажет привязку, которая будет использоваться для оценки в звёздах\&. Первая запись также используется как запись по умолчанию в случаях, когда ключ не был найден\&. .sp Помимо столбца Имя, содержащего ключи, в таблице представлены столбцы от 1 до 5 для значений параметров, которые будут записаны в тег, если дорожке будет назначена соответствующая оценка в звёздах\&. И наоборот, эти значения определяют количество звёзд, которые будут отображаться для значения, хранящегося во фрейме\&. Например, строка таблицы ниже содержит значения 1, 64, 128, 196, 255\&. Пороговые значения количества звёзд, которые будут показаны для оценок, лежащих между этими значениями, совместимы с используемыми в Windows\(rg Explorer\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Таблица 1. Запись в таблице оценок .TS allbox tab(:); lB lB lB lB lB lB. T{ Имя T}:T{ 1 T}:T{ 2 T}:T{ 3 T}:T{ 4 T}:T{ 5 T} .T& l l l l l l l l l l l l. T{ POPM T}:T{ 1 T}:T{ 64 T}:T{ 128 T}:T{ 196 T}:T{ 255 T} T{ Диапазон T}:T{ 1\-31 T}:T{ 32\-95 T}:T{ 96\-159 T}:T{ 160\-223 T}:T{ 224\-255 T} .TE .sp 1 Флажок Загружать при запуске файлы, открытые при последнем выходе, расположенный на вкладке Файлы, позволяет Kid3 при следующем запуске открывать файл, который был открыт при последнем выходе\&. Флажок Сохранять метки времени изменения файлов позволяет сохранять метку времени изменения файла\&. Поле ввода Имя файла обложки предназначено для указания имени, которое будет предложено при экспорте встроенного изображения в файл\&. Раскрывающийся список Кодировка текста (экспорт, список воспроизведения) позволяет указать кодировку, используемую при записи файлов\&. Стандартный вариант System возможно изменить, например, если списки воспроизведения будут использоваться на другом устройстве\&. .sp Если установлен флажок Отмечать изменения, изменённые поля будут отмечены светло\-серым фоном\&. .sp Раздел Список файлов позволяет указать, какие файлы следует отображать в списке файлов\&. С помощью раскрывающегося списка Фильтр возможно задать отображение в списке только тех файлов, которые имеют поддерживаемые расширения\&. Чтобы явным образом указать, какие каталоги следует отображать или исключить в списке файлов, воспользуйтесь полями ввода Включить папки и Исключить папки\&. Эти поля могут содержать выражения с подстановочными знаками, например, */Музыка/* для включения только каталога Музыка или */iTunes/* для исключения каталога iTunes из списка файлов\&. Если необходимо использовать несколько таких выражений, их следует разделить пробелами или точками с запятой\&. .sp Кнопки Имя файла из тега\&.\&.\&. и Тег из имени файла\&.\&.\&. в разделе Формат открывают диалоги для редактирования форматов, доступных в раскрывающихся списках Формат (со стрелками вверх и вниз), которые расположены в разделе \(FoФайл\(Fc главного окна\&. .sp Формат имени файла содержит параметры формата имён файлов\&. Доступны те же параметры, что и в разделе Формат тега\&. .sp Вкладка Команды пользователя содержит таблицу со списком команд, доступных в контекстном меню списка файлов\&. Для важных действий наподобие удаления файлов рекомендуется установить флажок Подтвердить, чтобы перед выполнением команды появлялось всплывающее окно для подтверждения действия\&. Флажок Вывод позволяет отображать для просмотра вывод консольных команд (стандартный вывод и стандартные ошибки)\&. В столбце Имя указано имя для отображения в контекстном меню\&. Столбец Команда содержит команду для выполнения\&. Для передачи аргументов доступны следующие коды: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %F %{files} Пути файлов (в виде списка, если было выбрано несколько файлов) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %f %{file} Путь к отдельному файлу .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %uF %{urls} URL\-адреса (в виде списка, если было выбрано несколько файлов) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %uf %{url} URL\-адрес отдельного файла .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %d %{directory} Каталог .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s %{title} Заголовок (композиции) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %a %{artist} Исполнитель .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %l %{album} Альбом .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %c %{comment} Комментарий .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %y %{year} Год .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track} Номер дорожки (например, 01) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %t %{track\&.n} Номер дорожки с шириной поля n (например, 001 для %{track\&.3}) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %T %{tracknumber} Номер дорожки (без нулей в начале, например, 1) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %g %{genre} Жанр .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %b %{browser} Команда для запуска веб\-браузера .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %q %{qmlpath} Базовый каталог предоставленных файлов QML .RE .sp Cпециальный код, \fB@separator\fR, возможно использовать в качестве команды, добавляющей разделитель в контекстное меню команд пользователя\&. Чтобы добавить пункты меню как вложенное меню, перед ними следует указать команду \fB@beginmenu\fR, а после них \(em команду \fB@endmenu\fR\&. Название меню будет определяться столбцом Имя команды \fB@beginmenu\fR\&. .sp Чтобы выполнить сценарии QML, используйте \fB@qml\fR в качестве названия команды\&. Путь к сценарию QML передаётся в качестве параметра\&. Соответствующие сценарии расположены в каталоге %{qmlpath}/script/ (в Linux\(rg это обычно путь /usr/share/kid3/qml/script/, в Windows \(em qml/script/ внутри папки установки, в macOS\(rg \(em в каталоге приложения kid3\&.app/Contents/Resources/qml/script/)\&. Пользовательские сценарии возможно хранить в любом каталоге\&. Если в коде QML задействованы компоненты графического интерфейса, вместо \fB@qml\fR следует использовать \fB@qmlview\fR\&. Дополнительные параметры передаются в сценарий QML, где они будут доступны с помощью функции \fBgetArguments()\fR\&. Обзор некоторых функций и свойств, доступных в QML, доступен в приложении Интерфейс QML\&. .sp Команда, которая будет вставлена вместо %{browser}, указывается в строке Веб\-браузер\&. Команды, которые начинаются с символов %{browser}, используются для получения информации об аудиофайлах из Интернета\&. Например, команда .sp .if n \{\ .RS 4 .\} .nf \fB%{browser} http://lyricwiki\&.org/%u{artist}:%u{title}\fR .fi .if n \{\ .RE .\} .sp проведёт поиск текста текущей песни на сайте \m[blue]\fBLyricWiki\fR\m[]\&\s-2\u[12]\d\s+2\&. Символ \(Fou\(Fc в %u{artist} и %u{title} означает, что это закодированная в формате URL информация об исполнителе %{artist} и песне %{title}\&. Таким же образом возможно указывать собственные запросы; например, поиск изображений в \m[blue]\fBGoogle\fR\m[]\&\s-2\u[13]\d\s+2 будет выглядеть следующим образом: .sp .if n \{\ .RS 4 .\} .nf \fB%{browser} http://images\&.google\&.com/images?q=%u{artist}%20%u{album}\fR .fi .if n \{\ .RE .\} .sp Чтобы добавить обложку альбома в тег 2, возможно выполнить поиск изображений с помощью Google или Amazon, используя приведённые выше команды\&. Для добавления изображения в тег воспользуйтесь функцией перетаскивания или кнопкой Добавить; после нажатия этой кнопки следует выбрать фрейм изображения и импортировать файл изображения или вставить его из буфера обмена\&. Фреймы изображений поддерживаются для тегов ID3v2, MP4, FLAC, Ogg и ASF\&. .sp Чтобы добавить или удалить записи в таблице, воспользуйтесь контекстном меню\&. .sp На вкладке Сеть доступно только поле для вставки адреса прокси\-сервера и (необязательно) порта, разделённых двоеточием\&. Прокси\-сервер будет использоваться при импорте с интернет\-сервера, если установлен соответствующий флажок\&. .sp Вкладка Модули позволяет подключить или отключить модули\&. Вкладка содержит два раздела\&. Первый, список Модули для работы с метаданными и приоритет, содержит модули, поддерживающие форматы аудиофайлов\&. В этом разделе важен порядок модулей, потому что приложение использует их по списку с первой позиции до последней\&. Некоторые форматы поддерживаются несколькими модулями, поэтому файлы будут открыты первым модулем из списка, поддерживающим их\&. Модуль TaglibMetadata поддерживает большинство форматов; если этот модуль будет расположен в верхней части списка, с его помощью будет возможно открыть большое количество файлов\&. Если требуется использовать другой модуль, расположите его над модулем TaglibMetadata\&. Подробные сведения о модулях для работы с метаданными и информация о том, почему рекомендуется использовать тот или иной модуль вместо TagLib, приведены далее\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Id3libMetadata: использует библиотеку \m[blue]\fBid3lib\fR\m[]\&\s-2\u[14]\d\s+2 для тегов ID3v1\&.1 и ID3v2\&.3 в файлах MP3, MP2, AAC\&. Поддерживает чуть больше типов фреймов, чем TagLib\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} OggFlacMetadata: использует \m[blue]\fBlibogg\fR\m[]\&\s-2\u[15]\d\s+2, \m[blue]\fBlibvorbis, libvorbisfile\fR\m[]\&\s-2\u[16]\d\s+2 для файлов Ogg и дополнительно \m[blue]\fBlibFLAC++ и libFLAC\fR\m[]\&\s-2\u[17]\d\s+2 для файлов FLAC\&. Это официальные библиотеки для этих форматов\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} TaglibMetadata: использует библиотеку \m[blue]\fBTagLib\fR\m[]\&\s-2\u[18]\d\s+2, которая поддерживает большое количество форматов аудио\&. Может быть использован для всех файлов, поддерживаемых Kid3\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Mp4v2Metadata: библиотека \m[blue]\fBmp4v2\fR\m[]\&\s-2\u[19]\d\s+2 изначально использовалась в Kid3 для поддержки файлов M4A\&. Может быть использован, если возникают проблемы с поддержкойформата M4A модулем TagLib\&. .RE .sp Раздел Доступные модули отображает список остальных модулей\&. Их порядок в списке не важен\&. Эти модули подключаются и отключаются с помощью флажков\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} AmazonImport: используется для функции Импорт из Amazon\&.\&.\&.\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} DiscogsImport: используется для функции Импорт из Discogs\&.\&.\&.\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} FreedbImport: используется для функции Импорт из gnudb\&.org\&.\&.\&.\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} MusicBrainzImport: используется для функции Импорт из MusicBrainz (релиз)\&.\&.\&.\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} AcoustidImport: используется для функции Импорт из MusicBrainz (отпечаток)\&.\&.\&., работа которой зависит от библиотек \m[blue]\fBChromaprint\fR\m[]\&\s-2\u[20]\d\s+2 и \m[blue]\fBlibav\fR\m[]\&\s-2\u[21]\d\s+2\&. .RE .sp Отключённые модули не будут загружены\&. Это позволяет оптимизировать потребление ресурсов и время запуска\&. Изменённые параметры этой вкладки вступят в силу только после перезапуска Kid3\&. .RE .SS "Меню \(FoСправка\(Fc" .PP .PP Справка → Руководство пользователя Kid3 .RS 4 Открывает данное руководство пользователя\&. .RE .PP Справка → О программе Kid3 .RS 4 Отображает краткую информацию о Kid3\&. .RE .SH "kid3\-cli" .SS "Команды" .PP \fBkid3\-cli\fR предоставляет интерфейс командной строки к Kid3\&. Если в качестве аргумента будет указан путь к каталогу, будет открыт соответствующий каталог\&. Если будет указан один или несколько путей к файлам, будет открыт общий каталог, а файлы будут выделены\&. Последующие команды будут применены к этим файлам\&. Команды возможно указывать с помощью параметра \fB\-c\fR\&. Если передано несколько команд, они будут выполнены в указанном порядке\&. Если команды вносят изменения в файлы, эти изменения будут сохранены при выходе из приложения\&. Если команды не будут переданы, интерфейс \fBkid3\-cli\fR будет запущен в интерактивном режиме\&. Можно будет вводить команды и работать с текущими выделенными файлами\&. В следующих разделах приведён список доступных команд\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСправка\fR .RS 4 .HP \w'\fBhelp\fR\ 'u \fBhelp\fR [\fIНАЗВАНИЕ\-КОМАНДЫ\fR] .PP Отображает справку о параметрах \fIНАЗВАНИЕ\-КОМАНДЫ\fR или обо всех командах, если конкретная команда не указана\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВремя ожидания\fR .RS 4 .HP \w'\fBtimeout\fR\ 'u \fBtimeout\fR [default | off | \fIВРЕМЯ\fR] .PP Позволяет перезаписать стандартное значение времени ожидания выполнения команды\&. Выполнение команд командного интерфейса будет прервано, если будет превышено указанное время ожидания\&. Стандартное время ожидания для команд \fBls\fR и \fBalbumart\fR \(em 10 секунд, для команд \fBautoimport\fR и \fBfilter\fR \(em 60 секунд, а для остальных команд \(em 3 секунды\&. Если требуется обработать большое количество файлов, эти временные рамки могут оказаться слишком жёсткими, поэтому предусмотрена возможность установить время ожидания для всех команд в значение \fIВРЕМЯ\fR (в миллисекундах), отключить время ожидания вообще или оставить стандартные значения\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыйти из приложения\fR .RS 4 .HP \w'\fBexit\fR\ 'u \fBexit\fR [force] .PP Выйти из приложения\&. Если в приложении изменённые несохранённые файлы, требуется параметр \fIforce\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСменить каталог\fR .RS 4 .HP \w'\fBcd\fR\ 'u \fBcd\fR [\fIКАТАЛОГ\fR] .PP Если не указано значение \fIКАТАЛОГ\fR, будет осуществлён переход в домашний каталог\&. Если значение указано, будет выполнен переход в указанный каталог\&. Если указан один или несколько путей к файлам, будет осуществлён переход в общий каталог, в котором хранятся эти файлы, а файлы будут выделены\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПоказать полное имя текущего каталога\fR .RS 4 .HP \w'\fBpwd\fR\ 'u \fBpwd\fR .PP Показать полное имя текущего рабочего каталога\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСписок каталогов\fR .RS 4 .HP \w'\fBls\fR\ 'u \fBls\fR .PP Список содержимого текущего каталога\&. Соответствует списку файлов в пользовательском интерфейсе Kid3\&. Пять символов перед именами файлов показывают состояние файла\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} > Файл выбран\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} * Файл изменён\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 1 Файлу присвоен тег 1, в противном случае отобразится \(Fo\-\(Fc\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 2 Файлу присвоен тег 2, в противном случае отобразится \(Fo\-\(Fc\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 3 Файлу присвоен тег 3, в противном случае отобразится \(Fo\-\(Fc\&. .RE .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBls\fR 1\-\- 01 Intro\&.mp3 > 12\- 02 We Only Got This One\&.mp3 *1\-\- 03 Outro\&.mp3 .fi .if n \{\ .RE .\} .PP В этом примере все файлы имеют тег 1, второй файл также имеет тег 2, и он выделен\&. Третий файл изменён\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСохранить изменённые файлы\fR .RS 4 .HP \w'\fBsave\fR\ 'u \fBsave\fR .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыбрать файл\fR .RS 4 .HP \w'\fBselect\fR\ 'u \fBselect\fR [all | none | first | previous | next | \fIФАЙЛ\fR...] .PP Чтобы выделить все файлы, введите команду \fBselect all\fR; чтобы снять выделение со всех файлов, введите команду \fBselect none\fR\&. Чтобы последовательно перебрать файлы в текущем каталоге, воспользуйтесь командой \fBselect first\fR, затем передвигайтесь вперёд по списку с помощью команды \fBselect next\fR, либо назад с помощью команды \fBselect previous\fR\&. Чтобы добавить к текущему выделению отдельные файлы, укажите их названия напрямую\&. Поддерживается использование подстановочных знаков, например, возможно указать \fBselect *\&.mp3\fR для выделения всех MP3\-файлов в текущем каталоге\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBselect first\fR kid3\-cli> \fBls\fR > 1\-\- 01 Intro\&.mp3 12\- 02 We Only Got This One\&.mp3 *1\-\- 03 Outro\&.mp3 kid3\-cli> \fBselect next\fR kid3\-cli> \fBls\fR 1\-\- 01 Intro\&.mp3 > 12\- 02 We Only Got This One\&.mp3 *1\-\- 03 Outro\&.mp3 kid3\-cli> \fBselect *\&.mp3\fR kid3\-cli> \fBls\fR > 1\-\- 01 Intro\&.mp3 > 12\- 02 We Only Got This One\&.mp3 >*1\-\- 03 Outro\&.mp3 .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыбрать тег\fR .RS 4 .HP \w'\fBtag\fR\ 'u \fBtag\fR [\fIНОМЕРА\-ТЕГОВ\fR] .PP Некоторые команды имеют необязательный параметр \fIНОМЕРА\-ТЕГОВ\fR, который позволяет указать, над каким тегом следует выполнять команду (1, 2 или 3)\&. Если этот параметр не указан, будут использованы номера тегов по умолчанию, которые указываются с помощью этой команды\&. Сразу после запуска будет установлено значение 12, то есть данные будут прочитаны из тега 2, если он будет обнаружен, либо из тега 1, если тег 2 обнаружен не будет; изменения будут вноситься в тег 2\&. Для параметра \fB\fIНОМЕРА\-ТЕГОВ\fR\fR возможно указать значение \fB1\fR, \fB2\fR или \fB3\fR для работы только с соответствующим тегом\&. Если параметр не указан, будет отображаться текущее значение параметра номеров тегов\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучить фрейм тега\fR .RS 4 .HP \w'\fBget\fR\ 'u \fBget\fR [all | \fIНАЗВАНИЕ\-ФРЕЙМА\fR] [\fIНОМЕРА\-ТЕГОВ\fR] .PP Эта команда используется для чтения значения определённого фрейма тега или получения информации обо всех фреймах тега (если не указан аргумент или используется параметр \fBall\fR)\&. Изменённые фреймы отмечены символом \(Fo*\(Fc\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBget\fR Файл: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo Название: 01 Intro\&.mp3 Тег 1: ID3v1\&.1 Заголовок Intro Исполнитель One Hit Wonder Альбом Let\*(Aqs Tag Дата 2013 Номер дорожки 1 Жанр Pop kid3\-cli> \fBget title\fR Intro .fi .if n \{\ .RE .\} .PP Чтобы сохранить содержимое фрейма изображения в файл, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf \fBget picture:\*(Aq/путь/к/каталогу\&.jpg\*(Aq\fR .fi .if n \{\ .RE .\} .PP Чтобы сохранить синхронизированный текст песни в файл LRC, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf \fBget SYLT:\*(Aq/путь/к/тексту\&.lrc\*(Aq\fR .fi .if n \{\ .RE .\} .PP Возможно получить данные только из определённого поля фрейма, например, \fBget POPM\&.Email\fR для поля Email во фрейме Popularimeter\&. Если в файле хранится несколько фреймов одного типа, следует указать соответствующий индекс в квадратных скобках: например, название первого из исполнителей в комментарии Vorbis возможно получить с помощью команды \fBget performer[0]\fR, а второго \(em с помощью команды\fBget performer[1]\fR\&. .PP Псевдополе под названием \(Foselected\(Fc позволяет проверить, выделен ли фрейм: например, команда \fBget artist\&.selected\fR вернёт значение 1, если фрейм исполнителя выделен, либо 0, если фрейм не выделен\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУказать фрейм тега\fR .RS 4 .HP \w'\fBset\fR\ 'u \fBset\fR {\fIНАЗВАНИЕ\-ФРЕЙМА\fR} {\fIЗНАЧЕНИЕ\-ФРЕЙМА\fR} [\fIНОМЕРА\-ТЕГОВ\fR] .PP Эта команда позволяет указать значение определённого фрейма тега\&. Если параметр \fIЗНАЧЕНИЕ\-ФРЕЙМА\fR не указан, фрейм будет удалён\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBset remixer \*(AqO\&.H\&. Wonder\*(Aq\fR .fi .if n \{\ .RE .\} .PP Чтобы установить содержимое фрейма изображения из файла, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf \fBset picture:\*(Aq/путь/к/каталогу\&.jpg\*(Aq \*(AqОписание изображения\*(Aq\fR .fi .if n \{\ .RE .\} .PP Чтобы установить синхронизированный текст песни из файла LRC, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf \fBset SYLT:\*(Aq/путь/к/тексту\&.lrc\*(Aq \*(AqОписание текста\*(Aq\fR .fi .if n \{\ .RE .\} .PP Чтобы указать определённое поле внутри фрейма, следует указать название поля после точки\&. Например, чтобы установить значение поля счётчика фрейма Popularimeter, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf \fBset POPM\&.Counter 5\fR .fi .if n \{\ .RE .\} .PP Спецификация полей применяется в том случае, когда нужно создать пользовательский фрейм TXXX с описанием \(Forating\(Fc вместо стандартного фрейма Popularimeter (такой метод оценки используется некоторыми модулями)\&. Фрейм оценки TXXX возможно создать с помощью \fBkid3\-cli\fR, однако сначала следует создать фрейм TXXX с описанием \(Forating\(Fc, а затем указать значение оценки для этого фрейма\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBset rating ""\fR kid3\-cli> \fBset TXXX\&.Description rating\fR kid3\-cli> \fBset rating 5\fR .fi .if n \{\ .RE .\} .sp Первая команда удалит существующий фрейм POPM, потому что, если такой фрейм существует, параметр \fBset rating 5\fR установит значение фрейма POPM, а не TXXX\&. Другой способ установки значения \(em это использование команды \fBset TXXX\&.Text 5\fR, но она сработает корректно только в том случае, если нет других фреймов TXXX\&. .PP Чтобы установить несколько фреймов одинакового типа, укажите индекс в скобках; например, чтобы указать несколько исполнителей в комментарии Vorbis, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBset performer[0] \*(AqLiza don Getti (soprano)\*(Aq\fR kid3\-cli> \fBset performer[1] \*(AqJoe Barr (piano)\*(Aq\fR .fi .if n \{\ .RE .\} .PP Чтобы выделить определённые фреймы перед действиями копирования, вставки или удаления, воспользуйтесь псевдополем \(Foselected\(Fc\&. Обычно выделены все фреймы\&. Чтобы снять выделение со всех фреймов, воспользуйтесь командой \fBset \*(Aq*\&.selected\*(Aq 0\fR, а затем, например, для выделения фрейма исполнителя, командой \fBset artist\&.selected 1\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBОтменить изменения\fR .RS 4 .HP \w'\fBrevert\fR\ 'u \fBrevert\fR .PP Отменить все изменения в выбранных файлах (или во всех файлах, если файлы не выбраны)\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBИмпортировать из файла\fR .RS 4 .HP \w'\fBimport\fR\ 'u \fBimport\fR {\fIФАЙЛ\fR} {\fIНАЗВАНИЕ\-ФОРМАТА\fR} [\fIНОМЕРА\-ТЕГОВ\fR] .PP Теги будут импортированы из файла \fIФАЙЛ\fR в формате под названием \fIНАЗВАНИЕ\-ФОРМАТА\fR (например, \fB\(FoCSV unquoted\(Fc\fR, подробные сведения доступны в описании функции \(FoИмпорт\(Fc)\&. .PP Если указать \fBtags\fR для параметра \fIФАЙЛ\fR, теги будут импортированы из других тегов\&. Вместо параметра \fIНАЗВАНИЕ\-ФОРМАТА\fR следует указать параметры \fIИСТОЧНИК\fR и \fIИЗВЛЕЧЕНИЕ\fR, подробные сведения доступны в описании функции \(FoИмпорт из тегов\&.\&.\&.\(Fc\&. Чтобы применить импорт из тегов к выделенным файлам, используйте \fBtagsel\fR вместо \fBtags\fR\&. Эта функция также поддерживает вывод полученного значения: укажите параметр \fIИЗВЛЕЧЕНИЕ\fR со значением \fB%{__return}(\&.+)\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBАвтоматический импорт\fR .RS 4 .HP \w'\fBautoimport\fR\ 'u \fBautoimport\fR [\fIИМЯ\-ПРОФИЛЯ\fR] [\fIНОМЕРА\-ТЕГОВ\fR] .PP Пакетный импорт на основе профиля \fIНАЗВАНИЕ\-ПРОФИЛЯ\fR (смотрите описание функции \(FoАвтоматический импорт\(Fc; если профиль не указан, используется \fB\(FoAll\(Fc\fR)\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBЗагрузить обложку\fR .RS 4 .HP \w'\fBalbumart\fR\ 'u \fBalbumart\fR {\fIURL\-АДРЕС\fR} [all] .PP Установить обложку альбома путём загрузки изображения с адреса \fIURL\-адрес\fR\&. Правила, определённые в диалоге \(FoНайти обложки\(Fc, используются для преобразования обычных URL\-адресов (например, Amazon) в адрес изображения\&. Чтобы установить обложку альбома из локального файла изображения, воспользуйтесь командой set\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBalbumart http://www\&.amazon\&.com/Versus\-World\-Amon\-Amarth/dp/B000078DOC\fR .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBЭкспортировать в файл\fR .RS 4 .HP \w'\fBexport\fR\ 'u \fBexport\fR {\fIФАЙЛ\fR} {\fIНАЗВАНИЕ\-ФОРМАТА\fR} [\fIНОМЕРА\-ТЕГОВ\fR] .PP Экспорт тегов в файл \fIФАЙЛ\fR в формате под названием \fIНАЗВАНИЕ\-ФОРМАТА\fR (например, \fB\(FoCSV unquoted\(Fc\fR, смотрите описание функции \(FoЭкспорт\(Fc)\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСоздать список воспроизведения\fR .RS 4 .HP \w'\fBplaylist\fR\ 'u \fBplaylist\fR .PP Создать список воспроизведения в формате, указанном в параметрах, подробные сведения доступны в описании функции \(FoСоздать список воспроизведения\(Fc\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПрименить формат имени файла\fR .RS 4 .HP \w'\fBfilenameformat\fR\ 'u \fBfilenameformat\fR .PP Применить формат имени файла, указанный в параметрах, подробные сведения доступны в описании функции \(FoПрименить формат имени файла\(Fc\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПрименить формат тега\fR .RS 4 .HP \w'\fBtagformat\fR\ 'u \fBtagformat\fR .PP Применить формат тега, указанный в параметрах, подробные сведения доступны в описании функции \(FoПрименить формат тега\(Fc\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПрименить кодировку текста\fR .RS 4 .HP \w'\fBtextencoding\fR\ 'u \fBtextencoding\fR .PP Применить кодировку текста, указанную в параметрах, подробные сведения доступны в описании функции \(FoПрименить кодировку текста\(Fc\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПереименовать каталог\fR .RS 4 .HP \w'\fBrenamedir\fR\ 'u \fBrenamedir\fR [\fIФОРМАТ\fR] [create | rename | dryrun] [\fIНОМЕРА\-ТЕГОВ\fR] .PP Переименовать или создать каталоги на основе значений в тегах в соответствии с заданным значением параметра \fIФОРМАТ\fR (например, \fB%{artist} \- %{album}\fR, подробные сведения доступны в описании функции \(FoПереименовать каталог\(Fc)\&. Если формат не задан, будет использован формат, указанный в диалоге Переименовать каталог\&. Режим по умолчанию \(em \fBrename\fR; для создания каталогов \(em \fBcreate\fR (следует указать явным образом)\&. Действия по переименованию будут произведены немедленно; чтобы просто посмотреть, что должно быть сделано, воспользуйтесь опцией \fBdryrun\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПронумеровать дорожки\fR .RS 4 .HP \w'\fBnumbertracks\fR\ 'u \fBnumbertracks\fR [\fIНОМЕР\-ДОРОЖКИ\fR] [\fIНОМЕРА\-ТЕГОВ\fR] .PP Пронумеровать выделенные дорожки, начиная с номера \fIНОМЕР\-ДОРОЖКИ\fR (если параметр не указан, нумерация начнётся с цифры 1)\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBФильтр\fR .RS 4 .HP \w'\fBfilter\fR\ 'u \fBfilter\fR [\fIИМЯ\-ФИЛЬТРА\fR | \fIФОРМАТ\-ФИЛЬТРА\fR] .PP Отфильтровать файлы таким образом, чтобы отобразились только файлы, соответствующие фильтру \fIФОРМАТ\-ФИЛЬТРА\fR\&. Вместо выражения фильтра возможно использовать название предустановленного фильтра (например, \fB\(FoНесоответствие тега названию файла\(Fc\fR), подробные сведения доступны в описании функции \(FoФильтр\(Fc\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fBfilter \*(Aq%{title} contains "tro"\*(Aq\fR Запуск /home/urs/One Hit Wonder \- Let\*(Aqs Tag + 01 Intro\&.mp3 \- 02 We Only Got This One\&.mp3 + 03 Outro\&.mp3 Завершено kid3\-cli> \fBls\fR 1\-\- 01 Intro\&.mp3 1\-\- 03 Outro\&.mp3 kid3\-cli> \fBfilter All\fR Запуск /home/urs/One Hit Wonder \- Let\*(Aqs Tag + 01 Intro\&.mp3 + 02 We Only Got This One\&.mp3 + 03 Outro\&.mp3 Завершено kid3\-cli> \fBls\fR 1\-\- 01 Intro\&.mp3 12\- 02 We Only Got This One\&.mp3 1\-\- 03 Outro\&.mp3 .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПреобразовать ID3v2.3 в ID3v2.4\fR .RS 4 .HP \w'\fBto24\fR\ 'u \fBto24\fR .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПреобразовать ID3v2.4 в ID3v2.3\fR .RS 4 .HP \w'\fBto23\fR\ 'u \fBto23\fR .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBИмя файла из тега\fR .RS 4 .HP \w'\fBfromtag\fR\ 'u \fBfromtag\fR [\fIФОРМАТ\fR] [\fIНОМЕРА\-ТЕГОВ\fR] .PP Указать имена выбранных файлов на основе тегов, например, \fBfromtag \*(Aq%{track} \- %{title}\*(Aq 1\fR\&. Если формат не указан, будет использоваться формат, установленный в графическом интерфейсе\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBТег из имени файла\fR .RS 4 .HP \w'\fBtotag\fR\ 'u \fBtotag\fR [\fIФОРМАТ\fR] [\fIНОМЕРА\-ТЕГОВ\fR] .PP Установить содержание фреймов тегов на основе названий файлов, например, \fBtotag \*(Aq%{albumartist} \- %{album}/%{track} %{title}\*(Aq 2\fR\&. Если формат не указан, будет использован формат, установленный в графическом интерфейсе\&. Если формат названия файла не соответствует указанному шаблону, будет предпринята попытка использовать другие распространённые форматы\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBТег в другой тег\fR .RS 4 .HP \w'\fBsyncto\fR\ 'u \fBsyncto\fR {\fIНОМЕР\-ТЕГА\fR} .PP Копировать фреймы тега из одного тега в другой; например, чтобы заполнить тег ID3v2 данными из тега ID3v1, воспользуйтесь командой \fBsyncto 2\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBКопировать\fR .RS 4 .HP \w'\fBcopy\fR\ 'u \fBcopy\fR [\fIНОМЕР\-ТЕГА\fR] .PP Скопировать фреймы тега выбранного файла во внутренний буфер обмена\&. Команда \fBpaste\fR позволяет установить эти фреймы в другой файл\&. .PP Чтобы скопировать только подмножество фреймов, воспользуйтесь псевдополем \(Foselected\(Fc с командой \fBset\fR\&. Например, чтобы скопировать только фреймы номера диска и авторских прав, воспользуйтесь командой .sp .if n \{\ .RS 4 .\} .nf \fBset \*(Aq*\&.selected\*(Aq 0\fR \fBset discnumber\&.selected 1\fR \fBset copyright\&.selected 1\fR \fBcopy\fR .fi .if n \{\ .RE .\} .sp .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВставить\fR .RS 4 .HP \w'\fBpaste\fR\ 'u \fBpaste\fR [\fIНОМЕР\-ТЕГА\fR] .PP Заполнить данные фреймов тегов выделенных файлов на основе содержимого буфера \fBcopy\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУбрать\fR .RS 4 .HP \w'\fBremove\fR\ 'u \fBremove\fR [\fIНОМЕР\-ТЕГА\fR] .PP Удалить тег\&. .PP Возможно удалить только подмножество фреймов путём их выделения, как указано в описании команды \fBcopy\fR\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBНастроить Kid3\fR .RS 4 .HP \w'\fBconfig\fR\ 'u \fBconfig\fR [\fIПАРАМЕТР\fR] [\fIЗНАЧЕНИЕ\fR] .PP Запрос или установка параметров конфигурации\&. .PP \fIПАРАМЕТР\fR состоит из имени группы и имени свойства, разделённых точкой\&. Если \fIПАРАМЕТР\fR не задан, будут отображаться все доступные группы\&. Если задано только имя группы, будут отображаться все доступные свойства группы\&. Если задана группа и свойство, будет отображаться текущее настроенное значение\&. Для изменения параметра возможно передать новое значение в качестве второго аргумента\&. .PP Если значение параметра представлено в виде списка, все элементы списка должны быть указаны как аргументы\&. Это значит, что для добавления элемента к существующему списку элементов необходимо передать все существующие элементы, указав после них новый элемент\&. В таком случае лучше использовать режим JSON; это позволит скопировать текущий список и добавить новый элемент\&. .RE .SS "Примеры" .PP Установить заголовок, содержащий апостроф\&. Команды с параметром \fI\-c\fR, которые передаются \fBkid3\-cli\fR, должны быть заключены в кавычки, если они состоят из нескольких слов\&. Если такая команда сама по себе содержит аргумент с пробелами, его тоже следует заключить в кавычки\&. В командных оболочках UNIX\(rg возможно использовать одинарные или двойные кавычки, но в командной строке Windows важно использовать в качестве наружных двойные кавычки, а внутренних \(em одинарные\&. Если в тексте внутри одинарных кавычек содержатся ещё одни одинарные кавычки, их следует экранировать с помощью символа обратной косой черты, как это показано в следующем примере: .sp .if n \{\ .RS 4 .\} .nf \fBkid3\-cli \-c "set title \*(AqI\e\*(Aqll be there for you\*(Aq" /путь/к/каталогу\fR .fi .if n \{\ .RE .\} .PP Установить обложку альбома во всех файлах каталога с помощью функции пакетного импорта: .sp .if n \{\ .RS 4 .\} .nf \fBkid3\-cli \-c "autoimport \*(AqCover Art\*(Aq" /путь/к/каталогу\fR .fi .if n \{\ .RE .\} .PP Удалить фреймы комментариев и применить формат тега в обоих тегах всех MP3\-файлов каталога: .sp .if n \{\ .RS 4 .\} .nf \fBkid3\-cli \-c "set comment \*(Aq\*(Aq 1" \-c "set comment \*(Aq\*(Aq 2" \e \-c "tagformat 1" \-c "tagformat 2" /путь/к/каталогу/*\&.mp3\fR .fi .if n \{\ .RE .\} .PP Автоматически импортировать тег 2, синхронизировать с тегом 1, установить имена файлов из тега 2 и создать список воспроизведения: .sp .if n \{\ .RS 4 .\} .nf \fBkid3\-cli \-c autoimport \-c "syncto 1" \-c fromtag \-c playlist \e /путь/к/каталогу/*\&.mp3\fR .fi .if n \{\ .RE .\} .PP Выполнить для всех файлов с тегом ID3v2\&.4\&.0 преобразование в тег ID3v2\&.3\&.0 и удалить фрейм аранжировщика: .sp .if n \{\ .RS 4 .\} .nf \fBkid3\-cli \-c "filter \*(AqID3v2\&.4\&.0 Tag\*(Aq" \-c "select all" \-c to23 \e \-c "set arranger \*(Aq\*(Aq" /путь/к/каталогу\fR .fi .if n \{\ .RE .\} .PP В этом сценарии Python \fBkid3\-cli\fR используется для создания фреймов iTunNORM проверки звука iTunes на основе данных о выравнивании громкости\&. .sp .if n \{\ .RS 4 .\} .nf #!/usr/bin/env python3 # Generate iTunes Sound Check from ReplayGain\&. import os, sys, subprocess def rg2sc(dirpath): for root, dirs, files in os\&.walk(dirpath): for name in files: if name\&.endswith((\*(Aq\&.mp3\*(Aq, \*(Aq\&.m4a\*(Aq, \*(Aq\&.aiff\*(Aq, \*(Aq\&.aif\*(Aq)): fn = os\&.path\&.join(root, name) rg = subprocess\&.check_output([ \*(Aqkid3\-cli\*(Aq, \*(Aq\-c\*(Aq, \*(Aqget "replaygain_track_gain"\*(Aq, fn])\&.strip() if rg\&.endswith(b\*(Aq dB\*(Aq): rg = rg[:\-3] try: rg = float(rg) except ValueError: print(\*(AqValue %s of %s in not a float\*(Aq % (rg, fn)) continue sc = (\*(Aq \*(Aq + (\*(Aq%08X\*(Aq % int((10 ** (\-rg / 10)) * 1000) )) * 10 subprocess\&.call([ \*(Aqkid3\-cli\*(Aq, \*(Aq\-c\*(Aq, \*(Aqset iTunNORM "%s"\*(Aq % sc, fn]) if __name__ == \*(Aq__main__\*(Aq: rg2sc(sys\&.argv[1]) .fi .if n \{\ .RE .\} .SS "Формат JSON" .PP Чтобы упростить обработку результатов работы \fBkid3\-cli\fR, рекомендуется получать вывод в формате JSON\&. При запросе в формате JSON ответ также будет сформирован в JSON, при этом компактный формат запроса предоставит компактный ответ\&. Если в запросе содержится поле \(Foid\(Fc, он будет считаться запросом JSON\-RPC, и в ответе будет содержаться поле \(Fojsonrpc\(Fc и значение \(Foid\(Fc запроса\&. В формате запроса используются те же команды, что и в стандартном интерфейсе командной строки, поле \(Fomethod\(Fc должно содержать команду, а параметры (если есть) будут заданы списком \(Foparams\(Fc\&. Ответ содержит объект \(Foresult\(Fc, который может быть пустым, если соответствующая команда \fBkid3\-cli\fR не вернула никакого результата\&. Если произойдёт ошибка, будет возвращён объект \(Foerror\(Fc с полями \(Focode\(Fc и \(Fomessage\(Fc, что стандартно для запросов JSON\-RPC\&. .sp .if n \{\ .RS 4 .\} .nf kid3\-cli> \fB{"method":"set","params":["artist","An Artist"]}\fR {"result":null} kid3\-cli> \fB{"method":"get","params":["artist",2]}\fR {"result":"An Artist"} kid3\-cli> \fB{"method": "get", "params": ["artist"]}\fR { "result": "An Artist" } kid3\-cli> \fB{"jsonrpc":"2\&.0","id":"123","method":"get","params":["artist"]}\fR {"id":"123","jsonrpc":"2\&.0","result":"An Artist"} .fi .if n \{\ .RE .\} .sp .SH "АВТОРСКИЕ ПРАВА И ЛИЦЕНЗИЯ" .PP Kid3 .PP Автор программы: Urs Fleisch .PP Перевод на русский язык: Мария Шикунова .PP Редактирование перевода: Олеся Герасименко .PP \m[blue]\fBFDL\fR\m[]\&\s-2\u[22]\d\s+2 .PP \m[blue]\fBGPL\fR\m[]\&\s-2\u[23]\d\s+2 .SH "УСТАНОВКА" .SS "Как получить Kid3" .PP Приложение Kid3 доступно для загрузки на сайте \m[blue]\fBhttps://kid3\&.kde\&.org\fR\m[]\&. .SS "Требования" .PP Для работы Kid3 требуется наличие библиотек \m[blue]\fBQt(TM)\fR\m[]\&\s-2\u[24]\d\s+2\&. Рекомендуется использовать \m[blue]\fBKDE\fR\m[]\&\s-2\u[25]\d\s+2, но это не обязательно, так как Kid3 возможно собрать как программу, которая зависит только от Qt(TM)\&. Kid3 возможно собрать для систем, где доступны эти библиотеки, например, для GNU/Linux\(rg, Windows\(rg и macOS\(rg\&. Чтобы присваивать теги файлам Ogg/Vorbis, требуются библиотеки \m[blue]\fBlibogg\fR\m[]\&\s-2\u[15]\d\s+2, \m[blue]\fBlibvorbis и libvorbisfile\fR\m[]\&\s-2\u[16]\d\s+2, для работы с файлами FLAC \(em \m[blue]\fBlibFLAC++ и libFLAC\fR\m[]\&\s-2\u[17]\d\s+2\&. Библиотека \m[blue]\fBid3lib\fR\m[]\&\s-2\u[14]\d\s+2 используется для работы с файлами MP3\&. Эти четыре формата также поддерживаются библиотекой \m[blue]\fBTagLib\fR\m[]\&\s-2\u[18]\d\s+2, которая может обрабатывать файлы Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF и модули трекеров\&. Для импорта акустических отпечатков используются \m[blue]\fBChromaprint\fR\m[]\&\s-2\u[20]\d\s+2 и \m[blue]\fBlibav\fR\m[]\&\s-2\u[21]\d\s+2\&. .PP Программа Kid3 доступна для большинства дистрибутивов Linux\(rg, Windows\(rg и macOS\(rg\&. Ссылки для загрузки находятся на сайте \m[blue]\fBhttps://kid3\&.kde\&.org\fR\m[]\&. .SS "Сборка и установка" .PP Приложение Kid3 может быть собрано с библиотеками KDE или без них\&. Без библиотек KDE Kid3 является простым приложением Qt(TM), в котором отсутствуют некоторые возможности по настройке приложения и сеансов работы с ним\&. .PP Чтобы собрать версию с библиотеками KDE, перейдите в каталог верхнего уровня и введите .sp .if n \{\ .RS 4 .\} .nf % \fBcmake \&.\fR % \fBmake\fR % \fBmake install\fR .fi .if n \{\ .RE .\} .PP Чтобы собрать нестандартную версию с использованием библиотек Qt(TM) или KDE, укажите соответствующие параметры \fBcmake\fR\&. .PP Если доступны не все библиотеки, программа Kid3 будет собрана с ограниченными функциональными возможностями, поэтому рекомендуется установить все необходимые пакеты перед сборкой\&. С другой стороны, с помощью параметров \fBcmake\fR возможно управлять перечнем библиотек, которые будут использованы при сборке\&. По умолчанию это: \fB\-DWITH_TAGLIB:BOOL=ON \-DWITH_MP4V2:BOOL=OFF \-DWITH_ID3LIB:BOOL=ON \-DWITH_CHROMAPRINT:BOOL=ON \-DWITH_VORBIS:BOOL=ON \-DWITH_FLAC:BOOL=ON\fR\&. Чтобы отключить эти опции, установите параметры в значение \fBOFF\fR\&. .PP Чтобы собрать Kid3 как приложение Qt(TM) без библиотек KDE, воспользуйтесь командой \fBcmake\fR с параметром \fB\-DWITH_APPS=Qt\fR\&. Чтобы собрать Kid3 как приложение KDE и Qt(TM), укажите параметр \fB\-DWITH_APPS="Qt;KDE"\fR\&. .PP Чтобы воспользоваться определённым набором установленных библиотек Qt(TM), укажите \fB\-DQT_QMAKE_EXECUTABLE=/путь/к/qmake\fR\&. .PP Создание пакетов RPM поддерживается файлом kid3\&.spec, для пакетов Debian\(rg доступен сценарий build\-deb\&.sh\&. .PP Приложение Qt(TM) также возможно скомпилировать для Windows\(rg или macOS\(rg\&. Для загрузки и сборки всех необходимых библиотек и последующего создания пакета Kid3 предназначен сценарий buildlibs\&.sh\&. .SS "Настройка" .PP В версии для KDE параметры программы будут храниться в файле \&.config/kid3rc\&. Если программа собрана как приложение Qt(TM), параметры будут храниться в файле \&.config/Kid3/Kid3\&.conf\&. В операционной системе Windows\(rg конфигурация будет храниться в реестре, а в системе macOS\(rg \(em в файле plist\&. .PP Переменная среды \fIKID3_CONFIG_FILE\fR позволяет указать путь к файлу конфигурации\&. .SH "ИНТЕРФЕЙС D\-Bus" .SS "Примеры D\-Bus" .PP В системах Linux\(rg управление Kid3 посредством сценариев доступно с помощью интерфейса D\-Bus\&. Привязки к D\-Bus позволяет создать сценарии на любом языке программирования (например, на Python)\&. Эти сценарии затем возможно добавить в раздел Команды пользователя для расширения функциональных возможностей Kid3\&. .PP Чтобы установить значение \(FoOne Hit Wonder\(Fc в поле исполнителя в теге 2, воспользуйтесь следующим кодом: .PP Оболочка .RS 4 .sp .if n \{\ .RS 4 .\} .nf dbus\-send \-\-dest=org\&.kde\&.kid3 \-\-print\-reply=literal \e /Kid3 org\&.kde\&.Kid3\&.setFrame int32:2 string:\*(AqArtist\*(Aq \e string:\*(AqOne Hit Wonder\*(Aq .fi .if n \{\ .RE .\} .sp или, что проще, примените команду Qt(TM) \fBqdbus\fR (для изучения графического интерфейса приложения предназначена команда \fBqdbusviewer\fR): .sp .if n \{\ .RS 4 .\} .nf qdbus org\&.kde\&.kid3 /Kid3 setFrame 2 Artist \e \*(AqOne Hit Wonder\*(Aq .fi .if n \{\ .RE .\} .RE .PP Python .RS 4 .sp .if n \{\ .RS 4 .\} .nf import dbus kid3 = dbus\&.SessionBus()\&.get_object( \*(Aqorg\&.kde\&.kid3\*(Aq, \*(Aq/Kid3\*(Aq) kid3\&.setFrame(2, \*(AqArtist\*(Aq, \*(AqOne Hit Wonder\*(Aq) .fi .if n \{\ .RE .\} .RE .PP Perl .RS 4 .sp .if n \{\ .RS 4 .\} .nf 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"); .fi .if n \{\ .RE .\} .RE .SS "Программный интерфейс D\-Bus" .PP Программный интерфейс D\-Bus определён в файле org\&.kde\&.Kid3\&.xml\&. В интерфейсе Kid3 предусмотрены следующие методы: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBОткрытие файлов или каталогов\fR .RS 4 .HP \w'boolean\ openDirectory('u .BI "boolean openDirectory(string\ " "path" ");" .PP \fIpath\fR .RS 4 путь к файлу или каталогу .RE .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыгрузка тегов всех файлов, которые не были изменены или выбраны\fR .RS 4 .HP \w'unloadAllTags('u .BI "unloadAllTags(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСохранение всех изменённых файлов\fR .RS 4 .HP \w'boolean\ save('u .BI "boolean save(void);" .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение подробного сообщения об ошибке, предоставляемого некоторыми методами\fR .RS 4 .HP \w'string\ getErrorMessage('u .BI "string getErrorMessage(void);" .PP Возвращает подробное сообщение об ошибке\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBОтмена изменений в выбранных файлах\fR .RS 4 .HP \w'revert('u .BI "revert(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBЗапуск автоматического пакетного импорта\fR .RS 4 .HP \w'boolean\ batchImport('u .BI "boolean batchImport(int32\ " "tagMask" ", string\ " "profileName" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIprofileName\fR .RS 4 название профиля пакетного импорта для использования .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBИмпорт тегов из файла\fR .RS 4 .HP \w'boolean\ importFromFile('u .BI "boolean importFromFile(int32\ " "tagMask" ", string\ " "path" ", int32\ " "fmtIdx" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIpath\fR .RS 4 путь к файлу .RE .PP \fIfmtIdx\fR .RS 4 индекс формата .RE .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBИмпорт тегов из других тегов\fR .RS 4 .HP \w'importFromTags('u .BI "importFromTags(int32\ " "tagMask" ", string\ " "source" ", string\ " "extraction" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIsource\fR .RS 4 формат для получения исходного текста из тегов .RE .PP \fIextraction\fR .RS 4 регулярное выражение с названиями фреймов и группами скобок для извлечения совпадений из исходного текста .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBИмпорт тегов из других тегов выбранных файлов\fR .RS 4 .HP \w'array\ importFromTagsToSelection('u .BI "array importFromTagsToSelection(int32\ " "tagMask" ", string\ " "source" ", string\ " "extraction" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIsource\fR .RS 4 формат для получения исходного текста из тегов .RE .PP \fIextraction\fR .RS 4 регулярное выражение с названиями фреймов и группами скобок для извлечения совпадений из исходного текста .RE .PP \fIreturnValues\fR .RS 4 извлечённое значение для \(Fo%{__return}(\&.+)\(Fc .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBЗагрузка обложки альбома\fR .RS 4 .HP \w'downloadAlbumArt('u .BI "downloadAlbumArt(string\ " "url" ", boolean\ " "allFilesInDir" ");" .PP \fIurl\fR .RS 4 URL\-адрес файла изображения или источника изображения .RE .PP \fIallFilesInDir\fR .RS 4 true, если изображение следует добавить во все файлы в каталоге .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBЭкспорт тегов в файл\fR .RS 4 .HP \w'boolean\ exportToFile('u .BI "boolean exportToFile(int32\ " "tagMask" ", string\ " "path" ", int32\ " "fmtIdx" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIpath\fR .RS 4 путь к файлу .RE .PP \fIfmtIdx\fR .RS 4 индекс формата .RE .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBСоздание нового списка воспроизведения\fR .RS 4 .HP \w'boolean\ createPlaylist('u .BI "boolean createPlaylist(void);" .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение элементов списка воспроизведения\fR .RS 4 .HP \w'array\ getPlaylistItems('u .BI "array getPlaylistItems(string\ " "path" ");" .PP \fIpath\fR .RS 4 путь к файлу списка воспроизведения .RE .PP Возвращает список абсолютных путей к элементам списка воспроизведения\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка элементов списка воспроизведения\fR .RS 4 .HP \w'boolean\ setPlaylistItems('u .BI "boolean setPlaylistItems(string\ " "path" ", array\ " "items" ");" .PP \fIpath\fR .RS 4 путь к файлу списка воспроизведения .RE .PP \fIitems\fR .RS 4 список абсолютных путей к элементам списка воспроизведения .RE .PP Возвращает true, если выполнено успешно, и false, если не все элементы были найдены и добавлены или сохранение завершилось ошибкой\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыход из приложения\fR .RS 4 .HP \w'quit('u .BI "quit(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыделение всех файлов\fR .RS 4 .HP \w'selectAll('u .BI "selectAll(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBОтмена выделения всех файлов\fR .RS 4 .HP \w'deselectAll('u .BI "deselectAll(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка первого файла в качестве текущего файла\fR .RS 4 .HP \w'boolean\ firstFile('u .BI "boolean firstFile(void);" .PP Возвращает true, если первый файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка предыдущего файла в качестве текущего файла\fR .RS 4 .HP \w'boolean\ previousFile('u .BI "boolean previousFile(void);" .PP Возвращает true, если предыдущий файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка следующего файла в качестве текущего файла\fR .RS 4 .HP \w'boolean\ nextFile('u .BI "boolean nextFile(void);" .PP Возвращает true, если следующий файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыделение первого файла\fR .RS 4 .HP \w'boolean\ selectFirstFile('u .BI "boolean selectFirstFile(void);" .PP Возвращает true, если первый файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыделение предыдущего файла\fR .RS 4 .HP \w'boolean\ selectPreviousFile('u .BI "boolean selectPreviousFile(void);" .PP Возвращает true, если предыдущий файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыделение следующего файла\fR .RS 4 .HP \w'boolean\ selectNextFile('u .BI "boolean selectNextFile(void);" .PP Возвращает true, если следующий файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВыделение текущего файла\fR .RS 4 .HP \w'boolean\ selectCurrentFile('u .BI "boolean selectCurrentFile(void);" .PP Возвращает true, если текущий файл существует\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBРазворачивание или сворачивание текущего элемента, если это каталог\fR .RS 4 .HP \w'boolean\ expandDirectory('u .BI "boolean expandDirectory(void);" .PP Пункт списка файлов является каталогом, если getFileName() возвращает название, последний символ которого \(em косая черта, \(Fo/\(Fc\&. .PP Возвращает true, если текущий элемент \(em каталог\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПрименение формата имени файла\fR .RS 4 .HP \w'applyFilenameFormat('u .BI "applyFilenameFormat(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПрименение формата тега\fR .RS 4 .HP \w'applyTagFormat('u .BI "applyTagFormat(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПрименить кодировку текста\fR .RS 4 .HP \w'applyTextEncoding('u .BI "applyTextEncoding(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка имени каталога из тегов\fR .RS 4 .HP \w'boolean\ setDirNameFromTag('u .BI "boolean setDirNameFromTag(int32\ " "tagMask" ", string\ " "format" ", boolean\ " "create" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIformat\fR .RS 4 формат имени каталога .RE .PP \fIcreate\fR .RS 4 true для создания, false для переименования .RE .PP Возвращает true, если выполнено успешно, в противном случае воспользуйтесь командой getErrorMessage() для получения сообщения об ошибке .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка последовательной нумерации дорожек для выделенных файлов\fR .RS 4 .HP \w'numberTracks('u .BI "numberTracks(int32\ " "tagMask" ", int32\ " "firstTrackNr" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIfirstTrackNr\fR .RS 4 номер, который будет использоваться для первого файла .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBФильтр файлов\fR .RS 4 .HP \w'filter('u .BI "filter(string\ " "expression" ");" .PP \fIexpression\fR .RS 4 фильтрующее выражение .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПреобразование тегов ID3v2.3 в ID3v2.4\fR .RS 4 .HP \w'convertToId3v24('u .BI "convertToId3v24(void);" .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПреобразование тегов ID3v2.4 в ID3v2.3\fR .RS 4 .HP \w'convertToId3v23('u .BI "convertToId3v23(void);" .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение пути к каталогу\fR .RS 4 .HP \w'string\ getDirectoryName('u .BI "string getDirectoryName(void);" .PP Возвращает абсолютный путь к каталогу\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение имени текущего файла\fR .RS 4 .HP \w'string\ getFileName('u .BI "string getFileName(void);" .PP Возвращает абсолютное имя текущего файла\&. Если это каталог, оно будет завершаться символом \(Fo/\(Fc\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка имени выделенного файла\fR .RS 4 .HP \w'setFileName('u .BI "setFileName(string\ " "name" ");" .PP \fIname\fR .RS 4 название файла .RE .PP Файл будет переименован при сохранении каталога\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка формата, который будет использован при установке названий файлов на основе тегов\fR .RS 4 .HP \w'setFileNameFormat('u .BI "setFileNameFormat(string\ " "format" ");" .PP \fIformat\fR .RS 4 формат названия файла .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка названий выделенных файлов на основе тегов\fR .RS 4 .HP \w'setFileNameFromTag('u .BI "setFileNameFromTag(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение значения фрейма\fR .RS 4 .HP \w'string\ getFrame('u .BI "string getFrame(int32\ " "tagMask" ", string\ " "name" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIname\fR .RS 4 название фрейма (например, \(Foartist\(Fc) .RE .PP Чтобы сохранить двоичные данные (например, изображение) в файле, добавьте имя файла к имени фрейма, например: \(FoPicture:/путь/к/файлу\(Fc\&. Таким же образом возможно экспортировать синхронизированный текст песни, например: \(FoSYLT:/путь/к/файлу\(Fc\&. .PP Возвращает значение фрейма\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка значения фрейма\fR .RS 4 .HP \w'boolean\ setFrame('u .BI "boolean setFrame(int32\ " "tagMask" ", string\ " "name" ", string\ " "value" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP \fIname\fR .RS 4 название фрейма (например, \(Foartist\(Fc) .RE .PP \fIvalue\fR .RS 4 значение фрейма .RE .PP Для тега 2 (\fItagMask\fR 2): если фрейма с указанным именем не существует, будет добавлен новый фрейм; если значение параметра \(Fovalue\(Fc пустое, фрейм будет удалён\&. Чтобы добавить двоичные данные (например, изображение), добавьте имя файла к имени фрейма, например: \(FoPicture:/путь/к/файлу\(Fc\&. Таким же образом возможно импортировать синхронизированный текст песни, например: \(FoSYLT:/путь/к/файлу\(Fc\&. .PP Возвращает true, если выполнено успешно\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение всех фреймов тега\fR .RS 4 .HP \w'array\ of\ string\ getTag('u .BI "array of string getTag(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .PP Возвращает список с чередующимися названиями и значениями фреймов\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПолучение технической информации о файле\fR .RS 4 .HP \w'array\ of\ string\ getInformation('u .BI "array of string getInformation(void);" .PP Свойствами являются Format, Bitrate, Samplerate, Channels, Duration, Channel Mode, VBR, Tag 1, Tag 2\&. Свойства, которые недоступны, будут пропущены\&. .PP Возвращает список с чередующимися названиями и значениями свойств\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка тега на основе имени файла\fR .RS 4 .HP \w'setTagFromFileName('u .BI "setTagFromFileName(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУстановка тега на основе другого тега\fR .RS 4 .HP \w'setTagFromOtherTag('u .BI "setTagFromOtherTag(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBКопирование тега\fR .RS 4 .HP \w'copyTag('u .BI "copyTag(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВставка тега\fR .RS 4 .HP \w'pasteTag('u .BI "pasteTag(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBУдаление тега\fR .RS 4 .HP \w'removeTag('u .BI "removeTag(int32\ " "tagMask" ");" .PP \fItagMask\fR .RS 4 маска тега (бит 0 для тега 1, бит 1 для тега 2) .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПовторная обработка параметров конфигурации\fR .RS 4 .HP \w'reparseConfiguration('u .BI "reparseConfiguration(void);" .PP Автоматизированная обработка изменений в параметрах конфигурации доступна посредством внесения изменений в файл конфигурации с их последующей повторной обработкой\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВоспроизведение выбранных файлов\fR .RS 4 .HP \w'playAudio('u .BI "playAudio(void);" .RE .SH "ИНТЕРФЕЙС QML" .SS "Примеры QML" .PP Чтобы вызвать окно сценариев QML, воспользуйтесь контекстным меню списка файлов; чтобы указать список сценариев, воспользуйтесь вкладкой Команды пользователя диалога настройки\&. Установленные там сценарии возможно использовать в качестве примеров для создания собственных сценариев\&. QML использует синтаксис JavaScript\&. Вот пример простого сценария: .sp .if n \{\ .RS 4 .\} .nf import Kid3 1\&.0 Kid3Script { onRun: { console\&.log("Hello world, folder is", app\&.dirName) Qt\&.quit() } } .fi .if n \{\ .RE .\} .PP Если этот сценарий хранится по адресу /путь/к/Example\&.qml, команду пользователя возможно определить как \fB@qml /путь/к/Example\&.qml\fR и назвать \fBПроверка QML\fR\&. Также следует установить флажок в столбце Вывод\&. Чтобы выполнить сценарий, выберите в контекстном меню списка файлов пункт Проверка QML\&. Вывод будет показан в окне программы\&. .PP Помимо этого, сценарий также возможно запустить независимо от Kid3 с помощью инструментов QML\&. .sp .if n \{\ .RS 4 .\} .nf qml \-apptype widget \-I /usr/lib/kid3/plugins/imports /путь/к/Example\&.qml .fi .if n \{\ .RE .\} .sp или .sp .if n \{\ .RS 4 .\} .nf qmlscene \-I /usr/lib/kid3/plugins/imports /путь/к/Example\&.qml .fi .if n \{\ .RE .\} .sp В операционных системах Windows\(rg и macOS\(rg путь для импорта должен быть изменён таким образом, чтобы он относился к папке imports, расположенной в каталоге с установленной программой\&. Сценарии, запущенные вне Kid3, будут использовать текущий каталог, поэтому путь следует изменить заранее\&. .PP Чтобы получить список заголовков тегов 2 из всех файлов в текущем каталоге, воспользуйтесь следующим сценарием: .sp .if n \{\ .RS 4 .\} .nf import Kid3 1\&.0 Kid3Script { onRun: { app\&.firstFile() do { if (app\&.selectionInfo\&.tag(Frame\&.Tag_2)\&.tagFormat) { console\&.log(app\&.getFrame(tagv2, "title")) } } while (app\&.nextFile()) } } .fi .if n \{\ .RE .\} .PP Если каталог содержит большое количество файлов, такой сценарий может на некоторое время заблокировать возможность использования интерфейса, поэтому для выполнения длительных действий следует периодически прерывать работу сценария\&. В альтернативном варианте, который приводится далее, обработка отдельного файла вынесена в функцию\&. В конце эта функция вызывает себя со временем ожидания в 1 миллисекунду, если имеются другие файлы, которые следует обработать\&. Такая реализация позволяет продолжать работать с графическим интерфейсом во время работы сценария\&. .sp .if n \{\ .RS 4 .\} .nf 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() } } .fi .if n \{\ .RE .\} .PP При использовании команды \fBapp\&.firstFile()\fR вместе с командой \fBapp\&.nextFile()\fR будут обработаны все файлы в текущем каталоге\&. Если требуется обработка только выделенных файлов, воспользуйтесь командами \fBfirstFile()\fR и \fBnextFile()\fR, вспомогательными функциями компонента Kid3Script\&. В следующем примере представлен сценарий, который копирует только фреймы номера диска и авторских прав выделенного файла\&. .sp .if n \{\ .RS 4 .\} .nf 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) } } firstFile() doWork() } } .fi .if n \{\ .RE .\} .PP Другие примеры сценариев поставляются вместе с Kid3 в качестве команд пользователя\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ReplayGain to SoundCheck (ReplayGain2SoundCheck\&.qml): создаёт данные для iTunNORM SoundCheck на основе фреймов данных о выравнивании громкости\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Resize Album Art (ResizeAlbumArt\&.qml): изменяет размеры встроенных изображений обложек альбомов, если эти размеры превышают 500x500 пикселов\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Extract Album Art (ExtractAlbumArt\&.qml): извлекает все встроенные изображения обложек без создания дубликатов\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Embed Album Art (EmbedAlbumArt\&.qml): встраивает изображение обложки альбома из файлов изображений в аудиофайлы в том же каталоге\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Embed Lyrics (EmbedLyrics\&.qml): получает несинхронизированный текст песни из веб\-сервиса\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Text Encoding ID3v1 (ShowTextEncodingV1\&.qml): помогает определить кодировку тегов ID3v1, отображая содержание тегов в текущем файле во всех доступных кодировках\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ID3v1 to ASCII (Tag1ToAscii\&.qml): преобразовывает все дополнительные символы латиницы в тегах ID3v1 в символы ASCII\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} English Title Case (TitleCase\&.qml): форматирует текст в тегах по правилам использования регистра символов английского языка\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Rewrite Tags (RewriteTags\&.qml): перезаписывает все теги в выделенных файлах\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Export CSV (ExportCsv\&.qml): рекурсивно экспортирует все теги во всех файлах в файл CSV\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Export Playlist Folder (ExportPlaylist\&.qml): копирует все файлы из списка воспроизведения в каталог и переименовывает их в соответствии с их положением в списке\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} QML Console (QmlConsole\&.qml): вызывает простую консоль для работы с программным интерфейсом QML Kid3\&. .RE .sp .SS "Программный интерфейс QML" .PP С программным интерфейсом возможно ознакомиться во время использования консоли QML, которая доступна в качестве примера сценария с пользовательским интерфейсом\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBKid3Script\fR .RS 4 .PP Kid3Script \(em это обычный компонент QML, расположенный в каталоге модуля\&. Возможно использовать и любой другой компонент QML\&. Использование Kid3Script упрощает запуск функции сценария с помощью обработчика сигналов \fBonRun\fR\&. Кроме того, он предлагает несколько функций: .sp .if n \{\ .RS 4 .\} .nf onRun: обработчик сигналов, который вызывается при запуске сценария tagv1, tagv2, tagv2v1: постоянные для параметров тегов script: доступ к функциям сценариев configs: доступ к объектам конфигурации getArguments(): список аргументов сценария isStandalone(): true, если сценарий был запущен не в Kid3 setTimeout(callback, delay): запуск обратного вызова после задержки, указанной в миллисекундах firstFile(): к первому выделенному файлу nextFile(): к следующему выделенному файлу .fi .if n \{\ .RE .\} .sp .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПоддержка сценариев\fR .RS 4 .PP В JavaScript и QML предусмотрен довольно ограниченный набор функций\&. Объект \fBscript\fR имеет несколько дополнительных методов, в частности: .sp .if n \{\ .RS 4 .\} .nf script\&.properties(obj): строка со свойствами Qt script\&.writeFile(filePath, data): записать данные в файл, true, если успешно script\&.readFile(filePath): прочитать данные из файла script\&.removeFile(filePath): удалить файл, true, если успешно script\&.fileExists(filePath): true, если файл существует script\&.fileIsWritable(filePath): true, если файл доступен для записи script\&.getFilePermissions(filePath): получить биты режима доступа к файлу script\&.setFilePermissions(filePath, modeBits): указать биты режима доступа к файлу script\&.classifyFile(filePath): получить класс файла (каталог \(em \(Fo/\(Fc, символическая ссылка \(em \(Fo@\(Fc, exe \(em \(Fo*\(Fc, файл \(Fo \(Fc) script\&.renameFile(oldName, newName): переименовать файл, true, если успешно script\&.copyFile(source, dest): скопировать файл, true, если успешно script\&.makeDir(path): создать каталог, true, если успешно script\&.removeDir(path): удалить каталог, true, если успешно script\&.tempPath(): путь к временному каталогу script\&.musicPath(): путь к каталогу с файлами музыки script\&.listDir(path, [nameFilters], [classify]): список записей в каталоге script\&.system(program, [аргументы], [миллисекунды]): синхронно запустить системную команду, [код выхода, стандартный вывод, стандартная ошибка], если не превышено время ожидания script\&.systemAsync(program, [аргументы], [обратный вызов]): асинхронно запустить системную команду, обратный вызов будет выполнен данными [код выхода, стандартный вывод, стандартная ошибка] script\&.getEnv(varName): получить значение переменной среды script\&.setEnv(varName, value): указать значение переменной среды script\&.getQtVersion(): строка версии Qt, например, \(Fo5\&.4\&.1\(Fc script\&.getDataMd5(data): получить шестнадцатеричную строку хеша данных MD5 script\&.getDataSize(data): получить размер байтового массива script\&.dataToImage(data, [формат]): создать изображение из байтов данных script\&.dataFromImage(img, [формат]): получить байты данных из изображения script\&.loadImage(filePath): загрузить изображение из файла script\&.saveImage(img, filePath, [формат]): сохранить изображение в файл, true, если успешно script\&.imageProperties(img): получить свойства изображения, карту, содержащую значения \(Fowidth\(Fc, \(Foheight\(Fc, \(Fodepth\(Fc и \(FocolorCount\(Fc, возвращает пустое значение ,если изображение недействительно script\&.scaleImage(img, width, [высота]): масштабировать изображение, возвращает масштабированное изображение .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBКонтекст приложений\fR .RS 4 .PP При использовании QML доступна большая часть функциональных возможностей Kid3\&. Программный интерфейс похож на тот, что используется для D\-Bus\&. Для получения более подробной информации обратитесь к соответствующим заметкам\&. .sp .if n \{\ .RS 4 .\} .nf app\&.openDirectory(path): открыть каталог app\&.unloadAllTags(): выгрузить все теги app\&.saveDirectory(): сохранить каталог app\&.revertFileModifications(): отменить app\&.importTags(tag, path, fmtIdx): импортировать файл app\&.importFromTags(tag, source, extraction): импортировать из тегов app\&.importFromTagsToSelection(tag, source, extraction): импортировать из тегов выделенных файлов app\&.downloadImage(url, allFilesInDir): загрузить изображение app\&.exportTags(tag, path, fmtIdx): экспортировать файл app\&.writePlaylist(): записать список воспроизведения app\&.getPlaylistItems(path): получить элементы списка воспроизведения app\&.setPlaylistItems(path, items): установить элементы списка воспроизведения 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]): получить пути к выделенным файлам app\&.requestExpandFileList(): развернуть все app\&.applyFilenameFormat(): применить формат имени файла app\&.applyTagFormat(): применить формат тега app\&.applyTextEncoding(): применить кодировку текста app\&.numberTracks(nr, total, tag, [options]): пронумеровать дорожки app\&.applyFilter(expr): отфильтровать app\&.convertToId3v23(): преобразовать ID3v2\&.4\&.0 в ID3v2\&.3\&.0 app\&.convertToId3v24(): преобразовать ID3v2\&.3\&.0 в ID3v2\&.4\&.0 app\&.getFilenameFromTags(tag): получить имя файла из тегов app\&.getTagsFromFilename(tag): получить теги из имени файла app\&.getAllFrames(tag): получить объект со всеми фреймами app\&.getFrame(tag, name): получить фрейм app\&.setFrame(tag, name, value): установить фрейм app\&.getPictureData(): получить данные из фрейма изображения app\&.setPictureData(data): указать данные во фрейме изображения app\&.copyToOtherTag(tag): скопировать данные тегов в другие теги app\&.copyTags(tag): копировать app\&.pasteTags(tag): вставить app\&.removeTags(tag): удалить app\&.playAudio(): воспроизвести app\&.readConfig(): прочитать конфигурацию app\&.applyChangedConfiguration(): применить конфигурацию app\&.dirName: имя каталога app\&.selectionInfo\&.fileName: имя файла app\&.selectionInfo\&.filePath: абсолютный путь к файлу app\&.selectionInfo\&.detailInfo: описание формата app\&.selectionInfo\&.tag(Frame\&.Tag_1)\&.tagFormat: формат тега 1 app\&.selectionInfo\&.tag(Frame\&.Tag_2)\&.tagFormat: формат тега 2 app\&.selectionInfo\&.formatString(tag, format): заменить коды в строке формата app\&.selectFileName(caption, dir, filter, saveFile): открыть диалоговое окно для выбора файла app\&.selectDirName(caption, dir): открыть диалоговое окно для выбора каталога .fi .if n \{\ .RE .\} .PP Для асинхронных действий обратные вызовы возможно связывать с сигналами\&. .sp .if n \{\ .RS 4 .\} .nf 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) } .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBОбъекты конфигурации\fR .RS 4 .PP Доступ к различным разделам конфигурации обеспечивается с помощью методов \fBconfigs\fR\&. Список их свойств возможно просмотреть с помощью консоли QML\&. .sp .if n \{\ .RS 4 .\} .nf script\&.properties(configs\&.networkConfig()) .fi .if n \{\ .RE .\} .sp Могут быть установлены такие свойства: .sp .if n \{\ .RS 4 .\} .nf configs\&.networkConfig()\&.useProxy = false .fi .if n \{\ .RE .\} .sp .sp .if n \{\ .RS 4 .\} .nf 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() .fi .if n \{\ .RE .\} .RE .SH "АВТОРЫ" .PP \fBUrs Fleisch\fR <\&ufleisch at users.sourceforge.net\&> .RS 4 Разработка программного обеспечения .RE .PP \fBМария Шикунова\fR <\&translation-team@basealt.ru\&> .RS 4 Перевод на русский язык .RE .SH "АВТОРСКИЕ ПРАВА" .br Авторские права \(co 2021 Urs Fleisch .br .PP \m[blue]\fBFDL\fR\m[] .sp .SH "ПРИМЕЧАНИЯ" .IP " 1." 4 gnudb.org .RS 4 \%http://gnudb.org .RE .IP " 2." 4 MusicBrainz .RS 4 \%http://musicbrainz.org .RE .IP " 3." 4 Discogs .RS 4 \%http://discogs.com .RE .IP " 4." 4 Amazon .RS 4 \%http://www.amazon.com .RE .IP " 5." 4 Спецификация ID3 .RS 4 \%http://id3.org/id3v2.4.0-frames .RE .IP " 6." 4 редактор SYLT .RS 4 \%http://www.compuphase.com/software_sylteditor.htm .RE .IP " 7." 4 www.gnudb.org .RS 4 \%http://www.gnudb.org .RE .IP " 8." 4 Discogs .RS 4 \%https://www.discogs.com/ .RE .IP " 9." 4 freedb.org .RS 4 \%http://freedb.org .RE .IP "10." 4 тег ID3 версии 2.3.0 .RS 4 \%http://id3.org/id3v2.3.0 .RE .IP "11." 4 Тег ID3 версии 2.4.0 \(em основная структура .RS 4 \%http://id3.org/id3v2.4.0-structure .RE .IP "12." 4 LyricWiki .RS 4 \%http://www.lyricwiki.org .RE .IP "13." 4 Google .RS 4 \%http://www.google.com .RE .IP "14." 4 id3lib .RS 4 \%http://id3lib.sourceforge.net .RE .IP "15." 4 libogg .RS 4 \%http://xiph.org/ogg/ .RE .IP "16." 4 libvorbis, libvorbisfile .RS 4 \%http://xiph.org/vorbis/ .RE .IP "17." 4 libFLAC++ и libFLAC .RS 4 \%http://flac.sourceforge.net .RE .IP "18." 4 TagLib .RS 4 \%http://taglib.github.io/ .RE .IP "19." 4 mp4v2 .RS 4 \%http://code.google.com/p/mp4v2 .RE .IP "20." 4 Chromaprint .RS 4 \%http://acoustid.org/chromaprint .RE .IP "21." 4 libav .RS 4 \%http://libav.org/ .RE .IP "22." 4 FDL .RS 4 \%http://www.gnu.org/licenses/licenses.html#FDL .RE .IP "23." 4 GPL .RS 4 \%http://www.gnu.org/licenses/licenses.html#GPL .RE .IP "24." 4 Qt(TM) .RS 4 \%https://www.qt.io .RE .IP "25." 4 KDE .RS 4 \%http://www.kde.org .RE