<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
  <!ENTITY kid3 '<application
>Kid3</application
>'>
  <!ENTITY doublehyphen '--'>
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Russian "INCLUDE"
><!-- change language only here -->
]>
<book lang="&language;" id="kid3-handbook">

<bookinfo>
<title
>Руководство пользователя &kid3;</title>

<authorgroup>
<author
><firstname
>Urs</firstname
> <surname
>Fleisch</surname
> <affiliation
> <address
><email
>ufleisch@users.sourceforge.net</email
></address>
</affiliation>
<contrib
>Разработка программного обеспечения</contrib>
</author>

<othercredit role="translator"
><firstname
>Мария</firstname
><surname
>Шикунова</surname
><affiliation
><address
><email
>translation-team@basealt.ru</email
></address
></affiliation
><contrib
>Перевод на русский язык</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2021</year>
<holder
>Urs Fleisch</holder>
</copyright>
<legalnotice id="fdl-notice"
>&FDLNotice;</legalnotice>

<date
>18 марта 2021</date>
<releaseinfo
>3.8.6</releaseinfo>

<abstract>
<para
>&kid3; — это приложение для эффективного редактирования тегов ID3v1 и ID3v2 в MP3-файлах, поддерживающее также теги файлов Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF и модулей трекеров (MOD, S3M, IT, XM). Приложение позволяет легко указывать значения для тегов в разных файлах (например, название альбома, исполнителя, год и жанр во всех файлах внутри одного альбома) и создавать теги из имён файлов и наоборот. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdemultimedia</keyword>
<keyword
>MP3</keyword>
<keyword
>ID3</keyword>
<keyword
>ID3v1</keyword>
<keyword
>ID3v2</keyword>
<keyword
>Ogg</keyword>
<keyword
>Vorbis</keyword>
<keyword
>FLAC</keyword>
<keyword
>MPC</keyword>
<keyword
>APE</keyword>
<keyword
>Musepack</keyword>
<keyword
>MP4</keyword>
<keyword
>M4A</keyword>
<keyword
>MP2</keyword>
<keyword
>Speex</keyword>
<keyword
>TrueAudio</keyword>
<keyword
>WavPack</keyword>
<keyword
>WMA</keyword>
<keyword
>WAV</keyword>
<keyword
>AIFF</keyword>
<keyword
>MOD</keyword>
<keyword
>S3M</keyword>
<keyword
>IT</keyword>
<keyword
>XM</keyword>
<keyword
>Opus</keyword>
<keyword
>DSF</keyword>
</keywordset>

</bookinfo>

<!--begin manpage include
<refmeta>
<refentrytitle
>kid3</refentrytitle>
<manvolnum
>1</manvolnum>
</refmeta>

<refnamediv>
<refname
>kid3</refname>
<refname
>kid3-qt</refname>
<refname
>kid3-cli</refname>
<refpurpose
>Kid3 ID3 Tagger</refpurpose>
</refnamediv>
end manpage include-->

<!--change manpage<refsynopsisdiv
>--><preface id="synopsis"
><title
>Обзор</title>
<cmdsynopsis
><command
>kid3</command
> <group
> <arg choice="plain"
><option
>&doublehyphen;help</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;author</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;version</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;license</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;desktopfile <filename
>ФАЙЛ</filename
></option
></arg
> </group
> <arg rep="repeat"
><replaceable
>ФАЙЛ</replaceable
></arg
> </cmdsynopsis>
<cmdsynopsis
><command
>kid3-qt</command
> <arg
><option
>&doublehyphen;portable</option
></arg
> <arg
><option
>Параметры Qt</option
></arg
> <arg rep="repeat"
><replaceable
>ФАЙЛ</replaceable
></arg
> </cmdsynopsis>
<cmdsynopsis
><command
>kid3-cli</command
> <arg
><option
>&doublehyphen;portable</option
></arg
> <arg
><option
>&doublehyphen;dbus</option
></arg
> <group
> <arg choice="plain"
><option
>-h</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;help</option
></arg
> </group
> <arg
><option
>-c КОМАНДА1</option
></arg
> <arg rep="repeat"
><option
>-c КОМАНДА2</option
></arg
> <arg rep="repeat"
><replaceable
>ФАЙЛ</replaceable
></arg
> </cmdsynopsis>
<!--change manpage</refsynopsisdiv
>--></preface>

<preface id="options"
><title
>Параметры</title>

<variablelist>
<varlistentry>
<term
><option
>&doublehyphen;portable</option
></term>
<listitem
><para
>Сохранить параметры в файл <filename
>kid3.ini</filename
> в каталоге приложения.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>ФАЙЛ</replaceable
></term>
<listitem
><para
>Если <filename
><replaceable
>ФАЙЛ</replaceable
></filename
> — это путь к каталогу, то он будет открыт. Если указан один или несколько путей к файлам, откроется общий каталог, а файлы будут выделены. </para
></listitem>
</varlistentry>
</variablelist>

<sect1 id="options-kid3"
><title
>kid3</title>
<variablelist>
<varlistentry>
<term
><option
>&doublehyphen;help</option
></term>
<listitem
><para
>Показать справку о параметрах.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;author</option
></term>
<listitem
><para
>Показать сведения об авторах приложения.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;version</option
></term>
<listitem
><para
>Показать сведения о версии приложения.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;license</option
></term>
<listitem
><para
>Показать сведения о лицензии приложения.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;desktopfile <filename
>ФАЙЛ</filename
></option
></term>
<listitem
><para
>Имя файла .desktop (без пути) для этого приложения.</para
></listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="options-kid3-qt"
><title
>kid3-qt</title>
<variablelist>
<varlistentry>
<term
><option
>Параметры Qt</option
></term>
<listitem
><para
>Смотрите <citerefentry
><refentrytitle
>qt5options</refentrytitle
> <manvolnum
>7</manvolnum
></citerefentry
>.</para
></listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="options-kid3-cli"
><title
>kid3-cli</title>
<variablelist>

<varlistentry>
<term
><option
>&doublehyphen;dbus</option
></term>
<listitem
><para
>Активировать интерфейс &DBus;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>-c</option
></term>
<listitem
><para
>Выполнить команду. Предусмотрена возможность использования нескольких параметров <option
>-c</option
> для одной команды, и они будут выполняться последовательно. Описание доступных команд приводится в разделе «<link linkend="kid3-cli"
>kid3-cli</link
>».</para
></listitem>
</varlistentry>

<varlistentry>
<term
><option
>-h</option
>|<option
>&doublehyphen;help</option
></term>
<listitem
><para
>Показать справку о параметрах и командах.</para
></listitem>
</varlistentry>

</variablelist>
</sect1>

</preface>

<chapter id="introduction">
<title
>Введение</title>

<para
>&kid3; — это приложение для эффективного редактирования тегов ID3v1 и ID3v2 в MP3-файлах. Большинство MP3-проигрывателей позволяют редактировать эти теги, но не настолько комфортным и простым способом. Более того, приложение поддерживает теги в файлах Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF и модулях трекеров (MOD, S3M, IT, XM). </para>
<para
>&kid3; не создаёт и не кодирует файлы в формате MP3, это приложение предназначено для редактирования тегов ID3 во всех файлах в альбоме с помощью нескольких щелчков кнопкой мыши или нажатий комбинаций клавиш. Большинство других программ позволяют редактировать теги только одного типа (либо ID3v1, либо ID3v2), в то время как &kid3; предоставляет возможность свободного редактирования и преобразования тегов обоих типов, а также позволяет получить доступ ко всем тегам ID3v2. Возможно установить одинаковые значения для тегов сразу в нескольких файлах, например, указать одинаковые значения для записей исполнителя, альбома, года и жанра для всех файлов в альбоме. Если информация для тегов содержится в имени файла, теги могут быть автоматически установлены на основе имени файла. Также возможно установить имя файла в соответствии с любыми тегами, найденными в этом файле. </para>
<para
>Функции редактирования также включают автоматическую замену символов или подстрок, например, изъятие некорректных символов из названий файлов. Автоматическое определение регистра символов упрощает использование однородной схемы именования для всех тегов. </para>
<para
>Данные тегов полных альбомов доступны на <ulink url="http://gnudb.org"
>gnudb.org</ulink
>, <ulink url="http://musicbrainz.org"
>MusicBrainz</ulink
>, <ulink url="http://discogs.com"
>Discogs</ulink
>, <ulink url="http://www.amazon.com"
>Amazon</ulink
>, а также на других ресурсах. Формат импорта возможно настраивать произвольным образом с помощью регулярных выражений. </para>
<para
>Чтобы сообщить о найденной ошибке или предложить новую функцию, обратитесь к автору программы. </para>
</chapter>

<chapter id="using-kid3">
<title
>Работа с &kid3;</title>

<sect1 id="kid3-features">
<title
>Возможности &kid3;</title>
<itemizedlist>
<listitem
><para
>Редактирование тегов ID3v1.1</para
></listitem>
<listitem
><para
>Редактирование всех фреймов ID3v2.3 и ID3v2.4</para
></listitem>
<listitem
><para
>Одновременное редактирование тегов нескольких файлов</para
></listitem>
<listitem
><para
>Преобразование тегов ID3v1 и ID3v2 между собой</para
></listitem>
<listitem
><para
>Редактирование тегов MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV и AIFF</para
></listitem>
<listitem
><para
>Создание тегов на основе имени файла</para
></listitem>
<listitem
><para
>Создание тегов по содержимому полей тегов</para
></listitem>
<listitem
><para
>Создание названий файлов по тегам</para
></listitem>
<listitem
><para
>Создание и изменение имён каталогов по тегам</para
></listitem>
<listitem
><para
>Создание файлов списков воспроизведения</para
></listitem>
<listitem
><para
>Автоматическое преобразование регистра и переноса строк</para
></listitem>
<listitem
><para
>Импорт данных из <ulink url="http://gnudb.org"
>gnudb.org</ulink
>, <ulink url="http://musicbrainz.org"
>MusicBrainz</ulink
>, <ulink url="http://discogs.com"
>Discogs</ulink
>, <ulink url="http://www.amazon.com"
>Amazon</ulink
> и других источников</para
></listitem>
<listitem
><para
>Экспорт данных в форматах CSV, &HTML;, списков воспроизведения, Kover &XML; и других. Экспортированные файлы в формате CSV возможно заново импортировать</para
></listitem>
</itemizedlist>
</sect1>

<sect1 id="example-usage">
<title
>Пример использования</title>
<para
>Этот раздел описывает обычный сеанс работы в &kid3;. 

Предположим, что есть каталог, в котором содержатся файлы в формате MP3 с дорожками из альбома «Let's Tag» группы «One Hit Wonder». Каталог с файлами назван в формате «Исполнитель - Альбом», в этом примере — «<filename
>One Hit Wonder - Let's Tag</filename
>». В каталоге содержатся файлы дорожек в формате «название дорожки.mp3», что довольно удобно, так как названия файлов остаются короткими (это важно для мобильных MP3-проигрывателей с небольшими дисплеями) и располагаются в надлежащем порядке при упорядочении списка по алфавиту (это важно при использовании аппаратного MP3-проигрывателя, который воспроизводит дорожки в алфавитном порядке или в том порядке, в котором они записаны на компакт-диске; этот порядок будет алфавитным в случае выполнения команды <command
>mkisofs</command
>). Кроме этого, информация об исполнителе и альбоме уже содержится в названии каталога, и её не обязательно дублировать в названии файла. В этом примере список файлов в каталоге будет выглядеть так: </para>
<para
><filename
>01 Intro.mp3</filename
></para>
<para
><filename
>02 We Only Got This One.mp3</filename
></para>
<para
><filename
>03 Outro.mp3</filename
></para>
<para
>Этим файлам ещё не присвоены теги, их нужно создать с помощью &kid3;. Для этого следует воспользоваться пунктом меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Открыть</guimenuitem
></menuchoice
> (или кнопкой на панели инструментов) и выделить один из файлов в этом каталоге. Все файлы будут отображаться в списке файлов. Чтобы не усложнять себе задачу, для создания тегов воспользуемся данными из названия каталога и имён файлов. Для этого следует выделить все файлы, а затем нажать кнопку <guilabel
>В:</guilabel
> <guibutton
>Тег 1</guibutton
> в разделе <guilabel
>Файл</guilabel
>. Будут установлены значения заголовка, исполнителя, альбома и дорожки для всех файлов. Чтобы установить значение года и жанра для всех файлов, следует, не снимая выделения, ввести «2002» в поле <guilabel
>Дата</guilabel
> и выбрать, например, «Pop» в раскрывающемся списке <guilabel
>Жанр</guilabel
>. Чтобы установить только эти два значения, приложение автоматически установит флажки только на эти два пункта. Далее возможно изменить выделение, выделив только первый файл: как можно убедиться, всем тегам присвоены корректные значения. Чтобы проверить теги остальных файлов, их следует выделить один за другим. Если теги установлены корректно, воспользуйтесь пунктом меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Сохранить</guimenuitem
></menuchoice
> (или кнопкой на панели инструментов). Пункт меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Создать список воспроизведения</guimenuitem
></menuchoice
> (или кнопка на панели инструментов) позволяет создать файл под названием «<filename
>One Hit Wonder - Let's Tag.m3u</filename
>» в том же каталоге. </para>
</sect1>

</chapter>

<chapter id="commands">
<title
>Список команд</title>

<sect1 id="gui-elements">
<title
>Элементы графического интерфейса</title>
<para
>Графический интерфейс &kid3; состоит из шести разделов: слева расположены списки файлов и каталогов, а справа находятся разделы <guilabel
>Файл</guilabel
>, <guilabel
>Тег 1</guilabel
>, <guilabel
>Тег 2</guilabel
> и <guilabel
>Тег 3</guilabel
>. </para>

<para
>Определённые комбинации клавиш позволяют перемещаться между разделами с помощью клавиатуры. В разделах тегов комбинации клавиш возможно использовать, если не выполняется редактирование текста или если курсор находится в первом столбце таблицы. <itemizedlist>
<listitem
><para
><keycombo
>&Alt;<keycap
>Влево</keycap
></keycombo
>: перейти к предыдущему разделу (<keycombo
><keycap
>Command</keycap
><keycap
>[</keycap
></keycombo
> в &macOS;) </para
></listitem>
<listitem
><para
><keycombo
>&Alt;<keycap
>Вправо</keycap
></keycombo
>: перейти к следующему разделу (<keycombo
><keycap
>Command</keycap
><keycap
>]</keycap
></keycombo
> в &macOS;) </para
></listitem>
<listitem
><para
><keycombo
>&Ctrl;<keycap
>Shift</keycap
><keycap
>V</keycap
></keycombo
>: из другого тега </para
></listitem>
<listitem
><para
><keycombo
>&Ctrl;<keycap
>C</keycap
></keycombo
>: копировать </para
></listitem>
<listitem
><para
><keycombo
>&Ctrl;<keycap
>V</keycap
></keycombo
>: вставить </para
></listitem>
<listitem
><para
><keycombo
><keycap
>Shift</keycap
><keycap
>Delete</keycap
></keycombo
>: удалить </para
></listitem>
<listitem
><para
><keycombo
><keycap
>F2</keycap
></keycombo
>: изменить </para
></listitem>
<listitem
><para
><keycombo
><keycap
>Insert</keycap
></keycombo
>: добавить </para
></listitem>
<listitem
><para
><keycombo
><keycap
>Delete</keycap
></keycombo
>: удалить </para
></listitem>
</itemizedlist>
</para>

<sect2 id="file-list">
<title
>Список файлов</title>

<para
>Список файлов содержит имена всех файлов в открытом каталоге, которые соответствуют выбранному фильтру имён (обычно это <filename class="extension"
>*.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape</filename
>). Возможно выбрать один или несколько файлов. Чтобы снять выделение, щёлкните левой кнопкой мыши в пустом месте под пунктами списка. Выделение определяет файлы, над которыми будут выполняться действия после нажатия кнопок, описание которых приводится далее. </para>
<para
>Параметры файла отображаются не только в столбце <guilabel
>Имя</guilabel
>, но и в столбцах <guilabel
>Размер</guilabel
>, <guilabel
>Тип</guilabel
>, <guilabel
>Дата изменения</guilabel
>. Чтобы скрыть эти столбцы, снимите флажок в соответствующем пункте контекстного меню строки заголовков списка. Чтобы изменить порядок столбцов, воспользуйтесь функцией перетаскивания. Порядок сортировки файлов переключается щелчком левой кнопкой мыши по заголовку столбца. </para>
<para
>Слева от названий может отображаться значок дискеты, указывающий на наличие изменений в файле, либо значок, отображающий информацию о том, какие теги используются (V1, V2, V1V2 или NO TAG; значок не будет отображаться, если чтение данных из файла ещё не было произведено). </para>
<para
>Каталоги отображаются со значком в виде папки. При открытии каталога его содержимое отображается в виде иерархического дерева. При выборе файлов из вложенных каталогов возможно выполнять действия над файлами, которые хранятся в разных каталогах. Это удобно, когда музыкальная коллекция организована так, что каталог каждого исполнителя содержит вложенные каталоги с его альбомами. </para>
<para
>При щелчке <mousebutton
>правой</mousebutton
> кнопкой мыши внутри списка файлов появится контекстное меню, содержащее следующие команды: <itemizedlist>
<listitem
><para
><guimenuitem
>Развернуть все</guimenuitem
>: разворачивает всё дерево каталога (при нажатой клавише <keycap
>Shift</keycap
> развернёт дерево текущего каталога) </para
></listitem>
<listitem
><para
><guimenuitem
>Свернуть все</guimenuitem
>: сворачивает всё дерево каталога </para
></listitem>
<listitem
><para
><guimenuitem
>Переименовать</guimenuitem
>: меняет имя файла </para
></listitem>
<listitem
><para
><guimenuitem
>Переместить в корзину</guimenuitem
>: перемещает файл в корзину </para
></listitem>
<listitem
><para
><guimenuitem
>Воспроизвести</guimenuitem
>: воспроизводит файл; подробнее об этом пункте контекстного меню рассказано в описании функции «<link linkend="play"
>Воспроизведение</link
>». Если выбранный файл — это список воспроизведения, будут воспроизводиться все файлы списка воспроизведения. </para
></listitem>
<listitem
><para
><guimenuitem
>Редактировать</guimenuitem
>: позволяет отредактировать список воспроизведения, подробные сведения об этом пункте контекстного меню приводятся в разделе «<link linkend="edit-playlist"
>Редактирование списка воспроизведения</link
>». </para
></listitem>
<listitem
><para
>Остальные пункты являются пользовательскими командами, которые возможно указать на вкладке <guilabel
>Команды пользователя</guilabel
> диалогового окна <link linkend="configure-kid3"
>настройки &kid3;</link
>. В этом же разделе находится функция воспроизведения по двойному щелчку. </para
></listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="edit-playlist">
<title
>Редактирование списка воспроизведения</title>

<para
>Возможно создать как пустой список воспроизведения, так и уже содержащий дорожки из определённого каталога, подробные сведения об этом доступны в описании функции «<link linkend="create-playlist"
>Создать список воспроизведения</link
>». Чтобы изменить список воспроизведения, созданный таким образом, дважды щёлкните по нему левой кнопкой мыши, либо воспользуйтесь пунктом контекстного меню списка файлов <guilabel
>Правка</guilabel
>. Отобразится диалог с содержимым списка воспроизведения. Возможно открывать сразу несколько разных списков воспроизведения. </para>
<para
>Чтобы добавить новые записи, перетащите нужные файлы из списка файлов, диспетчера файлов или из другого списка воспроизведения. Если перетащить запись из другого списка воспроизведения, в зависимости от системы, она будет либо перемещена, либо скопирована. Чтобы вызвать другие действия, нажмите клавишу <keycap
>Shift</keycap
>, &Ctrl; или &Alt; (в &macOS; — для копирования вместо перемещения). Чтобы упорядочить записи в списке воспроизведения, также воспользуйтесь функцией перетаскивания. Кроме того, для перемещения записей в списке предусмотрены комбинации клавиш <keycombo
>&Ctrl;<keycap
>Shift</keycap
><keycap
>Вверх</keycap
></keycombo
> и <keycombo
>&Ctrl;<keycap
>Shift</keycap
><keycap
>Вниз</keycap
></keycombo
> (в &macOS; вместо клавиши &Ctrl; следует использовать <keycap
>Command</keycap
>). Чтобы удалить запись, нажмите клавишу <keycap
>Delete</keycap
>. </para>
<para
>Обратите внимание на следующее: чтобы перетащить записи из списка файлов, их следует захватывать с левой стороны (рядом со значком), так как захват с правой стороны выполняет функцию выделения нескольких файлов. Поэтому, чтобы перетащить сразу несколько файлов, потребуется выполнить оба этих действия. </para>
<para
>После внесения изменений в список воспроизведения нажмите кнопку <guibutton
>Сохранить</guibutton
> для сохранения изменений или кнопку <guibutton
>Отмена</guibutton
> для их отмены. При закрытии окна приложения будет предложено сохранить несохранённые изменения, если таковые имеются. </para>
<para
>Выделенные в списке воспроизведения дорожки также автоматически выделяются в списке файлов, что позволяет сразу же приступить к редактированию присвоенных им тегов. </para>
<para
>Чтобы выполнить те или иные действия над списком воспроизведения, следует выделить его файл в списке файлов. Пункт контекстного меню <guimenuitem
>Изменить</guimenuitem
> открывает диалог, описанный в этом разделе, а пункт <guimenuitem
>Воспроизвести</guimenuitem
> запустит проигрыватель с дорожками из списка воспроизведения. Над списками воспроизведения возможно выполнять пользовательские действия, <link linkend="qml-examples"
>например</link
>, <guilabel
>Экспорт списка воспроизведения</guilabel
> для копирования файлов из списка воспроизведения в каталог. </para>
</sect2>

<sect2 id="directory-list">
<title
>Список каталогов</title>

<para
>В списке каталогов содержатся названия подкаталогов открытого каталога, а также пункты текущего (<filename class="directory"
>.</filename
>) и родительского (<filename class="directory"
>..</filename
>) каталога. Этот список позволяет быстро сменить каталог без использования кнопки <guimenuitem
>Открыть</guimenuitem
> или функции перетаскивания. </para>
<para
>Сведения о настройке видимости столбцов, порядка столбцов и сортировки записей в столбцах доступны в разделе о <link linkend="file-list"
>списке файлов</link
>. </para>
</sect2>

<sect2 id="file">
<title
>Файл</title>

<para
>Отображает информацию о кодировке (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), скорости передачи, частоте дискретизации, каналах и длине файла. </para>
<para
>Поле для редактирования <guilabel
>Имя</guilabel
> содержит название файла (только если выделен один файл). При изменении имени файла для сохранения следует использовать команду сохранения изменений. </para>
<para
>Раскрывающийся список <guilabel
>Формат</guilabel
> и поле для редактирования содержат информацию о формате, который будет использоваться при создании имени файла из первого или второго тега. Имя файла может содержать произвольные символы, даже часть каталога, отделённую от имени файла косой чертой (но переименование будет успешно выполнено только в том случае, если эта папка уже существует). Следующие специальные коды используются для вставки значений тегов в имя файла: </para>

<itemizedlist>
<listitem
><para
>%s %{title} Заголовок (композиции)</para
></listitem>
<listitem
><para
>%a %{artist} Исполнитель</para
></listitem>
<listitem
><para
>%l %{album} Альбом</para
></listitem>
<listitem
><para
>%c %{comment} Комментарий</para
></listitem>
<listitem
><para
>%y %{year} Год</para
></listitem>
<listitem
><para
>%t %{track} Номер дорожки (например, 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Номер дорожки с шириной поля n (например, 001 для %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Номер дорожки (без нулей в начале, например, 1)</para
></listitem>
<listitem
><para
>%g %{genre} Жанр</para
></listitem>
<listitem
><para
>%{ignore} Игнорируется при создании тегов из имени файла</para
></listitem>
</itemizedlist>

<para
>Коды формата не ограничены приведёнными выше примерами. Возможно использовать любые названия фреймов, например, унифицированные названия фреймов наподобие <userinput
>%{albumartist}</userinput
>, <userinput
>%{discnumber.1}</userinput
>, <userinput
>%{bpm}</userinput
> или специфичные для форматов названия наподобие <userinput
>%{popm}</userinput
>. </para>

<para
>Чтобы добавить строки к началу или концу строки для замены кода формата, следует добавить соответствующие строки в двойных кавычках внутри фигурных скобок кода формата. Такие строки добавляются в строку-результат, только если код формата имеет непустое значение. Например, если имя файла содержит как заголовок, так и подзаголовок, используйте в строке формата запись <userinput
>%{title} [%{subtitle}]</userinput
>. Но использование такой записи приведёт к завершению строки символами <computeroutput
>[]</computeroutput
>, если в файле отсутствует фрейм подзаголовка. Чтобы избежать добавления таких пустых квадратных скобок, следует использовать запись вида <userinput
>%{title}%{" ["subtitle"]"}</userinput
>. В этом случае скобки, начальный пробел и подзаголовок будут опущены, если подзаголовка не существует. </para>

<para
>Настройка списка доступных форматов осуществляется в диалоге, вызываемом кнопкой <guibutton
>Имя файла из тега</guibutton
> на вкладке <guilabel
>Файлы</guilabel
> окна <link linkend="configure-kid3"
>настройки параметров</link
>. </para>

<para
>Второй раскрывающийся список <guilabel
>Формат</guilabel
> (со стрелкой вниз) используется для создания тегов из имени файла. Если формат имени файла не соответствует этому шаблону, будет предпринята попытка использовать другие распространённые форматы. </para>

<para
>В раскрывающемся списке перечислено несколько стандартных форматов названий файлов, но также возможно ввести свой собственный формат в строку редактирования. </para>

<para
>Настройка списка доступных форматов осуществляется в диалоге, вызываемом кнопкой <guibutton
>Тег из имени файла</guibutton
> на вкладке <guilabel
>Файлы</guilabel
> окна <link linkend="configure-kid3"
>настройки параметров</link
>. </para>

<para
>На внутреннем уровне регулярное выражение состоит из кодов формата. Если требуются расширенные регулярные выражения, формат для создания тегов из имён файлов может быть задан как полное регулярное выражение с частями, которым предшествуют коды формата. Например, для извлечения номеров дорожек без удаления нулей в начале следует использовать формат наподобие «<userinput
>/%{track}(\d+) %{title}(.*)</userinput
>». </para>
<para
><guilabel
>Из:</guilabel
> <guibutton
>Тег 1</guibutton
>, <guibutton
>Тег 2</guibutton
>: установка имени файла с использованием выбранного формата и, соответственно, первого или второго тега. </para>
<para
><guilabel
>В:</guilabel
> <guibutton
>Тег 1</guibutton
>, <guibutton
>Тег 2</guibutton
>: создание тегов из имени файла. Сначала используется формат, указанный в поле <guilabel
>Формат</guilabel
>. Если существующее имя файла не соответствует этому формату, предпринимается попытка использовать следующие форматы: </para>
<itemizedlist>
<listitem
><para
><filename
>Исполнитель - Альбом/Дорожка Композиция</filename
></para
></listitem>
<listitem
><para
><filename
>Альбом/Дорожка - Исполнитель - Композиция</filename
></para
></listitem>
<listitem
><para
><filename
>/Исполнитель - Альбом - Дорожка - Композиция</filename
></para
></listitem>
<listitem
><para
><filename
>Альбом/Исполнитель - Дорожка - Композиция</filename
></para
></listitem>
<listitem
><para
><filename
>Альбом/Исполнитель - Композиция</filename
></para
></listitem>
<listitem
><para
><filename
>Исполнитель/Альбом/Дорожка Композиция</filename
></para
></listitem>
</itemizedlist>
<para
>Если выбран один файл, пункты графического интерфейса будут заполнены значениями, полученными из названия этого файла. Если выбрано несколько файлов, теги файлов устанавливаются непосредственно в соответствии с именами файлов. </para>
</sect2>

<sect2 id="tag1">
<title
>Тег 1</title>

<para
>Строки редактирования <guilabel
>Заголовок</guilabel
>, <guilabel
>Исполнитель</guilabel
>, <guilabel
>Альбом</guilabel
>, <guilabel
>Комментарий</guilabel
>, <guilabel
>Дата</guilabel
>, <guilabel
>Номер дорожки</guilabel
> и <guilabel
>Жанр</guilabel
> используются для изменения соответствующего значения первого тега выделенных файлов. Значение будет изменено при изменении выделения файлов, перед такими действиями, как <guimenuitem
>Сохранить</guimenuitem
> и <guimenuitem
>Выход</guimenuitem
>, а также при установке соответствующего флажка слева от имени поля. Это позволяет изменить только некоторые значения, оставив остальные значения без изменений. </para>
<para
>Если выбран один файл, будут установлены все флажки, а строки будут заполнены данными, полученными из тегов этого файла. Если теги отсутствуют, будет отображаться соответствующее пустое значение: пустая строка в текстовых полях <guilabel
>Заголовок</guilabel
>, <guilabel
>Исполнитель</guilabel
>, <guilabel
>Альбом</guilabel
> и <guilabel
>Комментарий</guilabel
>, 0 в числовых полях <guilabel
>Дата</guilabel
> и <guilabel
>Номер дорожки</guilabel
> и пустое значение в раскрывающемся списке <guilabel
>Жанр</guilabel
>. Эти значения возможно изменить, и, если установлен соответствующий флажок, они будут установлены для выбранного файла после изменения выделения. В таком случае файл в списке файлов будет отмечен значком дискеты, но изменения не будут применены, пока не будет выполнена команда <guimenuitem
>Сохранить</guimenuitem
>. </para>
<para
>Если выбрано несколько файлов, будут отображены только значения, идентичные во всех файлах. Во всех остальных полях будут показаны пустые значения, как было описано выше. Все флажки будут сняты во избежание нежелательных изменений. Если требуется установить значение для всех выделенных файлов, отредактируйте его, и приложение автоматически установит соответствующий флажок. Значения для выбранных файлов будут установлены при изменении выделения, и эти изменения будет возможно сохранить с помощью команды <guimenuitem
>Сохранить</guimenuitem
>. </para>
<para
>Флажки позволяют управлять большинством команд, включая копирование, вставку и перенос данных между тегами 1 и 2. Чтобы упростить одновременную работу с несколькими файлами, когда все флажки сняты, эти команды работают одинаково независимо от того, установлены или сняты все флажки. </para>
<para
><guibutton
>Из тега 2</guibutton
>: значения полей тега 1 устанавливаются из соответствующих значений тега 2. Если выбран один файл, пункты графического интерфейса будут заполнены значениями из тега 2. Если выбрано несколько файлов, устанавливаются непосредственно теги этих файлов. </para>
<para
><guibutton
>Копировать</guibutton
>: скопировать в буфер обмена значения тега 1. В следующих командах вставки будут использоваться только значения из пунктов с установленным флажком. </para>
<para
><guibutton
>Вставить</guibutton
>: вставить данные из буфера обмена в пункты графического интерфейса. </para>
<para
><guibutton
>Убрать</guibutton
>: очистить все значения пунктов графического интерфейса. Если после этого действия сохранить редактируемый файл, в нём будет отсутствовать тег 1. </para>
</sect2>

<sect2 id="tag2">
<title
>Тег 2</title>

<para
>Графический интерфейс позволяет управлять этим параметром таким же способом, который описан в разделе <guilabel
>Тег 1</guilabel
>, но при этом размеры строк не ограничены. </para>
<para
>При заполнении поля тега 2 <guilabel
>Жанр</guilabel
> также возможно использовать собственные названия помимо жанров, указанных в раскрывающемся списке; достаточно просто ввести название жанра в строку редактирования. </para>
<para
>Тег 2 не может содержать только те же значения, что и тег 1. Формат гибко строится из нескольких фреймов, которые сами состоят из нескольких полей. Таблица тега 2 показывает все фреймы, которые доступны в выбранном файле. </para>
<para
><guibutton
>Изменить</guibutton
>: открывает окно, позволяющее редактировать все поля выделенного фрейма. Если выбрано несколько файлов, изменения значений полей будут применяться ко всем выбранным файлам, которые содержат этот фрейм. </para>
<para
><guibutton
>Добавить</guibutton
>: открывает окно для указания типа фрейма, который можно будет изменить и добавить в файл. Эта функция также работает при выборе нескольких файлов. </para>
<para
><guibutton
>Удалить</guibutton
>: удаляет выбранный фрейм в выбранных файлах. </para>
<para
>Надпись <guilabel
>Перетащите сюда обложку альбома</guilabel
> отобразится в том случае, если в файле отсутствует встроенная обложка альбома. Чтобы добавить изображение, перетащите его мышью из браузера или диспетчера файлов; после этого оно отобразится вместо надписи. Чтобы изменить или добавить фрейм, дважды щёлкните левой кнопкой мыши по соответствующему полю. </para>

</sect2>

<sect2 id="tag3">
<title
>Тег 3</title>

<para
>Некоторые файлы могут содержать более двух тегов. В этом случае будет отображаться раздел третьего тега. Раздел <guilabel
>Тег 3</guilabel
> могут иметь следующие типы файлов: </para>
<itemizedlist>
<listitem
><para
>Файлы в формате MP3 могут иметь тег ID3v1.1, ID3v2 (2.3.0 или 2.4.0) и в третьем разделе тег APE. Такие теги предназначены для хранения информации о выравнивании громкости. Эта информация отображается в разделе <guilabel
>Тег 3</guilabel
>, а тег APE возможно удалить с помощью кнопки <guibutton
>Убрать</guibutton
>. </para
></listitem>
<listitem
><para
>Фрагменты RIFF INFO в файлах WAV хранятся в разделе <guilabel
>Тег 3 </guilabel
>, потому что раздел <guilabel
>Тег 1</guilabel
> предназначен для тегов ID3v1.1 с соответствующими ограничениями. Раздел <guilabel
>Тег 2</guilabel
> используется для тегов ID3v2.4.0, поддержка которых также предусмотрена в файлах WAV, но поддержка фрагментов RIFF INFO, по всей видимости, реализована лучше. </para
></listitem>
<listitem
><para
>Файлы в формате FLAC обычно используют комментарии Vorbis для своих метаданных. Однако существуют файлы в формате FLAC, которые содержат теги ID3v1 и ID3v2, находящиеся в разделах <guilabel
>Тег 1</guilabel
> и <guilabel
>Тег 3</guilabel
>. Теги ID3 в файлах формата FLAC поддерживаются только библиотекой TagLib, поэтому модуль OggFlacMetadata должен быть отключён (вкладка <guilabel
>Модули</guilabel
> в окне <link linkend="configure-kid3"
>настройки параметров &kid3;</link
>). </para
></listitem>
</itemizedlist>
<para
>Пункты графического интерфейса работают так же, как и в разделе <guilabel
>Тег 2</guilabel
>. </para>

</sect2>

<!--begin manpage ignore-->
<sect2 id="frame-list">
<title
>Список фреймов</title>

<para
>&kid3; позволяет редактировать большинство фреймов для всех поддерживаемых типов файлов. Определение некоторых фреймов производится с помощью унифицированных имён, что позволяет обмениваться данными между файлами разных форматов. Не унифицированные фреймы определяются как фреймы, специфичные для формата. </para>

<table id="table-frame-list">
  <title
>Привязки унифицированных названий фреймов в различных форматах</title>
   <tgroup cols="7">
     <thead>
       <row
><entry
>Унифицированное имя</entry
>           <entry
>ID3v2.3</entry
> <entry
>ID3v2.4</entry
> <entry
>MP4</entry
>            <entry
>ASF</entry
>                        <entry
>Vorbis</entry
>                 <entry
>RIFF</entry
></row>
     </thead>
     <tbody>
       <row
><entry
>Заголовок</entry
>             <entry
><literal
>TIT2</literal
></entry
>    <entry
><literal
>TIT2</literal
></entry
>    <entry
><literal
>©nam</literal
></entry
>           <entry
><literal
>Title</literal
></entry
>                      <entry
><literal
>TITLE</literal
></entry
>                  <entry
><literal
>INAM</literal
></entry
></row>
       <row
><entry
>Исполнитель</entry
>            <entry
><literal
>TPE1</literal
></entry
>    <entry
><literal
>TPE1</literal
></entry
>    <entry
><literal
>©ART</literal
></entry
>           <entry
><literal
>Author</literal
></entry
>                     <entry
><literal
>ARTIST</literal
></entry
>                 <entry
><literal
>IART</literal
></entry
></row>
       <row
><entry
>Альбом</entry
>             <entry
><literal
>TALB</literal
></entry
>    <entry
><literal
>TALB</literal
></entry
>    <entry
><literal
>©alb</literal
></entry
>           <entry
><literal
>WM/AlbumTitle</literal
></entry
>              <entry
><literal
>ALBUM</literal
></entry
>                  <entry
><literal
>IPRD</literal
></entry
></row>
       <row
><entry
>Комментарий</entry
>           <entry
><literal
>COMM</literal
></entry
>    <entry
><literal
>COMM</literal
></entry
>    <entry
><literal
>©cmt</literal
></entry
>           <entry
><literal
>Description</literal
></entry
>                <entry
><literal
>COMMENT</literal
></entry
>                <entry
><literal
>ICMT</literal
></entry
></row>
       <row
><entry
>Дата</entry
>              <entry
><literal
>TYER</literal
></entry
>    <entry
><literal
>TDRC</literal
></entry
>    <entry
><literal
>©day</literal
></entry
>           <entry
><literal
>WM/Year</literal
></entry
>                    <entry
><literal
>DATE</literal
></entry
>                   <entry
><literal
>ICRD</literal
></entry
></row>
       <row
><entry
>Номер дорожки</entry
>      <entry
><literal
>TRCK</literal
></entry
>    <entry
><literal
>TRCK</literal
></entry
>    <entry
><literal
>trkn</literal
></entry
>           <entry
><literal
>WM/TrackNumber</literal
></entry
>             <entry
><literal
>TRACKNUMBER</literal
></entry
>            <entry
><literal
>IPRT</literal
> или <literal
>ITRK</literal
></entry
></row>
       <row
><entry
>Жанр</entry
>             <entry
><literal
>TCON</literal
></entry
>    <entry
><literal
>TCON</literal
></entry
>    <entry
><literal
>©gen</literal
></entry
>           <entry
><literal
>WM/Genre</literal
></entry
>                   <entry
><literal
>GENRE</literal
></entry
>                  <entry
><literal
>IGNR</literal
></entry
></row>
       <row
><entry
>Исполнитель альбома</entry
>      <entry
><literal
>TPE2</literal
></entry
>    <entry
><literal
>TPE2</literal
></entry
>    <entry
><literal
>aART</literal
></entry
>           <entry
><literal
>WM/AlbumArtist</literal
></entry
>             <entry
><literal
>ALBUMARTIST</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Аранжировщик</entry
>          <entry
><literal
>IPLS</literal
></entry
>    <entry
><literal
>TIPL</literal
></entry
>    <entry
><literal
>ARRANGER</literal
></entry
>       <entry
><literal
>WM/Producer</literal
></entry
>                <entry
><literal
>ARRANGER</literal
></entry
>               <entry
><literal
>IENG</literal
></entry
></row>
       <row
><entry
>Автор</entry
>            <entry
><literal
>TOLY</literal
></entry
>    <entry
><literal
>TOLY</literal
></entry
>    <entry
><literal
>AUTHOR</literal
></entry
>         <entry
></entry
>                                              <entry
><literal
>AUTHOR</literal
></entry
>                 <entry
></entry
></row>
       <row
><entry
>BPM</entry
>               <entry
><literal
>TBPM</literal
></entry
>    <entry
><literal
>TBPM</literal
></entry
>    <entry
><literal
>tmpo</literal
></entry
>           <entry
><literal
>WM/BeatsPerMinute</literal
></entry
>          <entry
><literal
>BPM</literal
></entry
>                    <entry
><literal
>IBPM</literal
></entry
></row>
       <row
><entry
>Номер по каталогу</entry
>    <entry
><literal
>TXXX:CATALOGNUMBER</literal
></entry
> <entry
><literal
>TXXX:CATALOGNUMBER</literal
></entry
>                            <entry
></entry
> <entry
></entry
>                              <entry
><literal
>CATALOGNUMBER</literal
></entry
>          <entry
></entry
></row>
       <row
><entry
>Сборник</entry
>       <entry
><literal
>TCMP</literal
></entry
>    <entry
><literal
>TCMP</literal
></entry
>    <entry
><literal
>cpil</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>COMPILATION</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Композитор</entry
>          <entry
><literal
>TCOM</literal
></entry
>    <entry
><literal
>TCOM</literal
></entry
>    <entry
><literal
>©wrt</literal
></entry
>           <entry
><literal
>WM/Composer</literal
></entry
>                <entry
><literal
>COMPOSER</literal
></entry
>               <entry
><literal
>IMUS</literal
></entry
></row>
       <row
><entry
>Дирижёр</entry
>         <entry
><literal
>TPE3</literal
></entry
>    <entry
><literal
>TPE3</literal
></entry
>    <entry
><literal
>CONDUCTOR</literal
></entry
>      <entry
><literal
>WM/Conductor</literal
></entry
>               <entry
><literal
>CONDUCTOR</literal
></entry
>              <entry
></entry
></row>
       <row
><entry
>Авторские права</entry
>         <entry
><literal
>TCOP</literal
></entry
>    <entry
><literal
>TCOP</literal
></entry
>    <entry
><literal
>cprt</literal
></entry
>           <entry
><literal
>Copyright</literal
></entry
>                  <entry
><literal
>COPYRIGHT</literal
></entry
>              <entry
><literal
>ICOP</literal
></entry
></row>
       <row
><entry
>Описание</entry
>       <entry
><literal
>TIT3</literal
></entry
>    <entry
><literal
>TIT3</literal
></entry
>    <entry
><literal
>desc</literal
></entry
>           <entry
><literal
>WM/SubTitleDescription</literal
></entry
>     <entry
><literal
>DESCRIPTION</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Номер диска</entry
>       <entry
><literal
>TPOS</literal
></entry
>    <entry
><literal
>TPOS</literal
></entry
>    <entry
><literal
>disk</literal
></entry
>           <entry
><literal
>WM/PartOfSet</literal
></entry
>               <entry
><literal
>DISCNUMBER</literal
></entry
>             <entry
></entry
></row>
       <row
><entry
>Кодировщик</entry
>        <entry
><literal
>TENC</literal
></entry
>    <entry
><literal
>TENC</literal
></entry
>    <entry
><literal
>©enc</literal
></entry
>           <entry
><literal
>WM/EncodedBy</literal
></entry
>               <entry
><literal
>ENCODED-BY</literal
></entry
>             <entry
><literal
>ITCH</literal
></entry
></row>
       <row
><entry
>Параметры кодировщика</entry
>  <entry
><literal
>TSSE</literal
></entry
>    <entry
><literal
>TSSE</literal
></entry
>    <entry
><literal
>©too</literal
></entry
>           <entry
><literal
>WM/EncodingSettings</literal
></entry
>        <entry
><literal
>ENCODERSETTINGS</literal
></entry
>        <entry
><literal
>ISFT</literal
></entry
></row>
       <row
><entry
>Время кодирования</entry
>     <entry
></entry
>                           <entry
><literal
>TDEN</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/EncodingTime</literal
></entry
>            <entry
><literal
>ENCODINGTIME</literal
></entry
>           <entry
><literal
>IDIT</literal
></entry
></row>
       <row
><entry
>Группировка</entry
>          <entry
><literal
>GRP1</literal
></entry
>    <entry
><literal
>GRP1</literal
></entry
>    <entry
><literal
>©grp</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>GROUPING</literal
></entry
>               <entry
></entry
></row>
       <row
><entry
>Начальная тональность</entry
>       <entry
><literal
>TKEY</literal
></entry
>    <entry
><literal
>TKEY</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/InitialKey</literal
></entry
>              <entry
><literal
>INITIALKEY</literal
></entry
>             <entry
></entry
></row>
       <row
><entry
>ISRC</entry
>              <entry
><literal
>TSRC</literal
></entry
>    <entry
><literal
>TSRC</literal
></entry
>    <entry
><literal
>ISRC</literal
></entry
>           <entry
><literal
>WM/ISRC</literal
></entry
>                    <entry
><literal
>ISRC</literal
></entry
>                   <entry
><literal
>ISRC</literal
></entry
></row>
       <row
><entry
>Язык</entry
>          <entry
><literal
>TLAN</literal
></entry
>    <entry
><literal
>TLAN</literal
></entry
>    <entry
><literal
>LANGUAGE</literal
></entry
>       <entry
><literal
>WM/Language</literal
></entry
>                <entry
><literal
>LANGUAGE</literal
></entry
>               <entry
><literal
>ILNG</literal
></entry
></row>
       <row
><entry
>Автор текста</entry
>          <entry
><literal
>TEXT</literal
></entry
>    <entry
><literal
>TEXT</literal
></entry
>    <entry
><literal
>LYRICIST</literal
></entry
>       <entry
><literal
>WM/Writer</literal
></entry
>                  <entry
><literal
>LYRICIST</literal
></entry
>               <entry
><literal
>IWRI</literal
></entry
></row>
       <row
><entry
>Текст песни</entry
>            <entry
><literal
>USLT</literal
></entry
>    <entry
><literal
>USLT</literal
></entry
>    <entry
><literal
>©lyr</literal
></entry
>           <entry
><literal
>WM/Lyrics</literal
></entry
>                  <entry
><literal
>LYRICS</literal
></entry
>                 <entry
></entry
></row>
       <row
><entry
>Носители</entry
>             <entry
><literal
>TMED</literal
></entry
>    <entry
><literal
>TMED</literal
></entry
>    <entry
><literal
>SOURCEMEDIA</literal
></entry
>    <entry
></entry
>                                              <entry
><literal
>SOURCEMEDIA</literal
></entry
>            <entry
><literal
>IMED</literal
></entry
></row>
       <row
><entry
>Настроение</entry
>              <entry
></entry
>                           <entry
><literal
>TMOO</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/Mood</literal
></entry
>                    <entry
><literal
>MOOD</literal
></entry
>                   <entry
></entry
></row>
       <row
><entry
>Исходный альбом</entry
>    <entry
><literal
>TOAL</literal
></entry
>    <entry
><literal
>TOAL</literal
></entry
>    <entry
><literal
>ORIGINALALBUM</literal
></entry
>  <entry
><literal
>WM/OriginalAlbumTitle</literal
></entry
>      <entry
><literal
>ORIGINALALBUM</literal
></entry
>          <entry
></entry
></row>
       <row
><entry
>Исходный исполнитель</entry
>   <entry
><literal
>TOPE</literal
></entry
>    <entry
><literal
>TOPE</literal
></entry
>    <entry
><literal
>ORIGINALARTIST</literal
></entry
> <entry
><literal
>WM/OriginalArtist</literal
></entry
>          <entry
><literal
>ORIGINALARTIST</literal
></entry
>         <entry
></entry
></row>
       <row
><entry
>Исходная дата</entry
>     <entry
><literal
>TORY</literal
></entry
>    <entry
><literal
>TDOR</literal
></entry
>    <entry
><literal
>ORIGINALDATE</literal
></entry
>   <entry
><literal
>WM/OriginalReleaseYear</literal
></entry
>     <entry
><literal
>ORIGINALDATE</literal
></entry
>           <entry
></entry
></row>
       <row
><entry
>Исполнитель</entry
>         <entry
><literal
>IPLS</literal
></entry
>    <entry
><literal
>TMCL</literal
></entry
>    <entry
><literal
>PERFORMER</literal
></entry
>      <entry
></entry
>                                              <entry
><literal
>PERFORMER</literal
></entry
>              <entry
><literal
>ISTR</literal
></entry
></row>
       <row
><entry
>Изображение</entry
>           <entry
><literal
>APIC</literal
></entry
>    <entry
><literal
>APIC</literal
></entry
>    <entry
><literal
>covr</literal
></entry
>           <entry
><literal
>WM/Picture</literal
></entry
>                 <entry
><literal
>METADATA_BLOCK_PICTURE</literal
></entry
> <entry
></entry
></row>
       <row
><entry
>Издатель</entry
>         <entry
><literal
>TPUB</literal
></entry
>    <entry
><literal
>TPUB</literal
></entry
>    <entry
><literal
>PUBLISHER</literal
></entry
>      <entry
><literal
>WM/Publisher</literal
></entry
>               <entry
><literal
>PUBLISHER</literal
></entry
>              <entry
><literal
>IPUB</literal
></entry
></row>
       <row
><entry
>Оценка</entry
>            <entry
><literal
>POPM</literal
></entry
>    <entry
><literal
>POPM</literal
></entry
>    <entry
><literal
>rate</literal
></entry
>           <entry
><literal
>WM/SharedUserRating</literal
></entry
>        <entry
><literal
>RATING</literal
></entry
>                 <entry
><literal
>IRTD</literal
></entry
></row>
       <row
><entry
>Страна выпуска</entry
>   <entry
><literal
>TXXX:RELEASECOUNTRY</literal
></entry
> <entry
><literal
>TXXX:RELEASECOUNTRY</literal
></entry
>       <entry
></entry
>    <entry
></entry
>                                              <entry
><literal
>RELEASECOUNTRY</literal
></entry
>         <entry
><literal
>ICNT</literal
></entry
></row>
       <row
><entry
>Дата выпуска</entry
>      <entry
></entry
>                           <entry
><literal
>TDRL</literal
></entry
>    <entry
><literal
>RELEASEDATE</literal
></entry
>    <entry
></entry
>                                              <entry
><literal
>RELEASEDATE</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Ремиксер</entry
>           <entry
><literal
>TPE4</literal
></entry
>    <entry
><literal
>TPE4</literal
></entry
>    <entry
><literal
>REMIXER</literal
></entry
>        <entry
><literal
>WM/ModifiedBy</literal
></entry
>              <entry
><literal
>REMIXER</literal
></entry
>                <entry
><literal
>IEDT</literal
></entry
></row>
       <row
><entry
>Упорядочить по альбомам</entry
>        <entry
><literal
>TSOA</literal
></entry
>    <entry
><literal
>TSOA</literal
></entry
>    <entry
><literal
>soal</literal
></entry
>           <entry
><literal
>WM/AlbumSortOrder</literal
></entry
>          <entry
><literal
>ALBUMSORT</literal
></entry
>              <entry
></entry
></row>
       <row
><entry
>Упорядочить по исполнителям альбомов</entry
> <entry
><literal
>TSO2</literal
></entry
>    <entry
><literal
>TSO2</literal
></entry
>    <entry
><literal
>soaa</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>ALBUMARTISTSORT</literal
></entry
>        <entry
></entry
></row>
       <row
><entry
>Упорядочить по исполнителям</entry
>       <entry
><literal
>TSOP</literal
></entry
>    <entry
><literal
>TSOP</literal
></entry
>    <entry
><literal
>soar</literal
></entry
>           <entry
><literal
>WM/ArtistSortOrder</literal
></entry
>         <entry
><literal
>ARTISTSORT</literal
></entry
>             <entry
></entry
></row>
       <row
><entry
>Упорядочить по композиторам</entry
>     <entry
><literal
>TSOC</literal
></entry
>    <entry
><literal
>TSOC</literal
></entry
>    <entry
><literal
>soco</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>COMPOSERSORT</literal
></entry
>           <entry
></entry
></row>
       <row
><entry
>Упорядочить по именам</entry
>         <entry
><literal
>TSOT</literal
></entry
>    <entry
><literal
>TSOT</literal
></entry
>    <entry
><literal
>sonm</literal
></entry
>           <entry
><literal
>WM/TitleSortOrder</literal
></entry
>          <entry
><literal
>TITLESORT</literal
></entry
>              <entry
></entry
></row>
       <row
><entry
>Подзаголовок</entry
>          <entry
></entry
>                           <entry
><literal
>TSST</literal
></entry
>    <entry
><literal
>SUBTITLE</literal
></entry
>       <entry
><literal
>WM/SubTitle</literal
></entry
>                <entry
><literal
>SUBTITLE</literal
></entry
>               <entry
><literal
>PRT1</literal
></entry
></row>
       <row
><entry
>Сайт</entry
>           <entry
><literal
>WOAR</literal
></entry
>    <entry
><literal
>WOAR</literal
></entry
>    <entry
><literal
>WEBSITE</literal
></entry
>        <entry
><literal
>WM/AuthorURL</literal
></entry
>               <entry
><literal
>WEBSITE</literal
></entry
>                <entry
><literal
>IBSU</literal
></entry
></row>
       <row
><entry
>Работа</entry
>              <entry
><literal
>TIT1</literal
></entry
>    <entry
><literal
>TIT1</literal
></entry
>    <entry
><literal
>©wrk</literal
></entry
>           <entry
><literal
>WM/ContentGroupDescription</literal
></entry
> <entry
><literal
>WORK</literal
></entry
>                   <entry
></entry
></row>
       <row
><entry
>Веб-страница аудиофайла</entry
>    <entry
><literal
>WOAF</literal
></entry
>    <entry
><literal
>WOAF</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/AudioFileURL</literal
></entry
>            <entry
><literal
>WWWAUDIOFILE</literal
></entry
>           <entry
></entry
></row>
       <row
><entry
>Веб-страница источника аудио</entry
>  <entry
><literal
>WOAS</literal
></entry
>    <entry
><literal
>WOAS</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/AudioSourceURL</literal
></entry
>          <entry
><literal
>WWWAUDIOSOURCE</literal
></entry
>         <entry
></entry
></row>
     </tbody>
   </tgroup>
 </table>

<para
>Заметки по поводу привязок унифицированных названий фреймов: <itemizedlist>
<listitem
><para
>Количество унифицированных названий фреймов ограничено возможностью установки надёжных соответствий для всех поддерживаемых форматов файлов. Большинство тегов поддерживает фреймы с произвольными названиями; такие будут использованы в случае, если не будет доступен тот или иной особый фрейм (например, имена в верхнем регистре в столбце MP4). Если такой возможности нет, некоторые типы фреймов могут не поддерживаться для определённого формата, например, «Автор» и «Исполнитель» для ASF (WMA). </para
></listitem>
<listitem
><para
>Привязки выбираются не случайным образом, они ориентированы на использование фреймов в других приложениях и устройствах. Например, фрейм тега ID3v2 «TPE2 - Группа/оркестр/аккомпанемент» не предполагает использование в поле исполнителя альбома, но такое использование довольно распространено. С другой стороны, фактическое назначение ID3v2 обуславливает использование этого фрейма для поля оркестра при импорте (например, из Discogs), хоть это и может казаться несколько странным для других форматов тегов. </para
></listitem>
<listitem
><para
>Привязки не всегда взаимно однозначны. Например, ID3v2.3 использует фрейм IPLS как для поля «Аранжировщик», так и для поля «Исполнитель». При обратном преобразовании оба фрейма будут отображаться как «Аранжировщик». </para
></listitem>
<listitem
><para
>Фреймы «Аранжировщик» и «Исполнитель» используют определённый формат для своего содержимого: «вклад 1|автор 1|вклад 2|автор 2|...», например, «Хормейстер|Ernst Dunshirn|Сопрано-вокал|Анна Нетребко». Будут созданы фреймы IPLS (ID3v2.3) или TIPL/TMCL (ID3v2.4) со списком строк в указанном формате (разделителем строк будет символ «|») . Значения в этом формате также устанавливаются при импорте данных с серверов, предоставляющих эту информацию. </para
></listitem>
<listitem
><para
>Чтобы явно использовать конкретное название фрейма, которое конфликтует с унифицированным названием, добавьте перед самим названием восклицательный знак. Например, добавление к комментарию Vorbis фрейма «<replaceable
>Media</replaceable
>» приведёт к созданию фрейма под названием «<literal
>SOURCEMEDIA</literal
>» из-за привязки к унифицированному типу. Чтобы добавить именно фрейм «<literal
>MEDIA</literal
>» (а не «<literal
>SOURCEMEDIA</literal
>»), следует указать «<literal
>!MEDIA</literal
>»; это позволит принудительно задать именно такое название фрейма. </para
></listitem>
</itemizedlist>
</para>

</sect2>
<!--end manpage ignore-->

<sect2 id="synchronized-lyrics">
<title
>Синхронизация текста песни с временными кодами событий</title>

<para
>Для изменения информации, синхронизирующейся с аудиоданными, предусмотрен специальный редактор. Эти фреймы поддерживаются в тегах ID3v2.3.0 и ID3v2.4.0. Чтобы добавить такой фрейм, выберите его название из списка, который появляется после нажатия кнопки <guibutton
>Добавить</guibutton
> — <guilabel
>Синхронизированный текст</guilabel
> или <guilabel
>Коды привязки ко времени событий</guilabel
>, соответственно. Для обоих типов используется один и тот же редактор, однако для кодов привязки ко времени событий предусмотрен только предварительно определённый набор событий, а для синхронизированного текста песни придётся ввести сам текст. Далее рассматривается пример редактирования синхронизированного текста песни. </para>
<para
>Допустим, выбран файл с тегом ID3v2 и с помощью кнопки <guibutton
>Добавить</guibutton
> запущен редактор текста с опцией <guilabel
>Синхронизированный текст</guilabel
>. Если синхронизированный текст уже существует, выберите его и нажмите кнопку <guibutton
>Изменить</guibutton
>. После этого текущий файл будет автоматически открыт в проигрывателе, что позволит воспроизводить его и синхронизировать текст. </para>
<para
>Параметры в верхней части окна редактора SYLT, как правило, не требуют внесения изменений. Если текст песни содержит символы, которых нет в наборе символов «Латиница 1», рекомендуется изменить кодировку текста на UTF16 (или UTF8 для ID3v2.4.0). Если текст песни написан на английском языке и требуется сохранить максимальную совместимость, рекомендуется использовать кодировку ISO-8859-1. </para>
<para
>Раздел <guilabel
>Текст</guilabel
> содержит шесть кнопок в верхней части окна. Кнопка <guibutton
>Добавить</guibutton
> позволяет добавить в таблицу новое временное событие. Значение времени берётся из позиции в проигрывателе, поэтому добавление записи во время воспроизведения дорожки добавит строку для текущей позиции воспроизведения. События в таблице должны располагаться в хронологическом порядке, поэтому строки будут добавляться соответствующим образом. Записи с некорректными метками времени обрабатываются особым образом: если текущая выделенная строка содержит некорректное время, будет выполнена замена этой метки на текущее время, а не добавление новой строки. Если текущее время является корректным, будет использоваться первая строка с некорректным временем, если таковая имеется. Такой принцип работы должен упростить добавление меток времени, если в таблице уже есть текст песни, но отсутствуют метки (так происходит при импорте несинхронизированного текста). Обратите внимание, что некорректное время обозначается как 00:00.00, то есть так же, как и время самого начала дорожки, которое не является некорректным. Чтобы сделать время некорректным, нажмите клавишу <keycap
>Delete</keycap
> или воспользуйтесь пунктом вызываемого правой кнопкой мыши контекстного меню <guimenu
>Очистить</guimenu
>. Новые строки, созданные путём вставки с помощью пункта контекстного меню <guimenu
>Вставить строку</guimenu
> или при импорте несинхронизированного текста с помощью кнопок <guibutton
>Из буфера обмена</guibutton
> или <guibutton
>Импорт...</guibutton
>, также содержат некорректные метки времени. Чтобы удалить строки из таблицы, воспользуйтесь кнопкой <guibutton
>Удалить</guibutton
> или пунктом контекстного меню <guimenu
>Удалить строки</guimenu
>. </para>
<para
>Чтобы импортировать синхронизированный текст из файла, воспользуйтесь кнопкой <guibutton
>Импорт...</guibutton
>. Ожидаемым форматом файла является простой или усовершенствованный формат LRC. Если первая строка в выбранном файле начинается не с квадратной скобки, приложение распознает файл как простой текстовый файл с несинхронизированным текстом. Строки из такого файла будут импортированы с некорректными метками времени. Данные времени возможно добавить с помощью кнопки <guibutton
>Добавить</guibutton
> или ввести вручную. Также возможно импортировать текст путём копирования со вставкой с помощью кнопки <guilabel
>Из буфера обмена</guilabel
>. Чтобы записать синхронизированный текст в файл формата LRC, воспользуйтесь кнопкой <guibutton
>Экспорт...</guibutton
>. Обратите внимание, что экспортируются лишь записи с корректными метками времени, при этом сами записи будут упорядочены по времени. Записи с некорректными метками времени не сохраняются во фрейме SYLT, поэтому перед закрытием диалогового окна убедитесь, что указаны все данные времени. </para>
<para
><ulink url="http://id3.org/id3v2.4.0-frames"
>Спецификация ID3</ulink
> предлагает использование метки времени для каждого слога. Однако большинство проигрывателей поддерживают только разделение текста на уровне строки или предложения. Чтобы обеспечить поддержку обоих способов использования, &kid3; следует тем же принципам, что и <ulink url="http://www.compuphase.com/software_sylteditor.htm"
>редактор SYLT</ulink
>. Введённый в таблицу текст считается началом новой строки, если он не начинается с пробела или дефиса. Из этого правила есть исключения: возможно начать строку с символа подчёркивания («_») для принудительного продолжения строки или с символа решётки («#») для принудительного разрыва строки. Эти спецсимволы не сохраняются во фрейме SYLT. Внутри фрейма SYLT новые строки начинаются с символа перевода строки (шестнадцатеричного 0A), а продолжение строк — нет. При чтении фреймов SYLT &kid3; проверяет, начинается ли первая запись с символа перевода строки. Если это не так, приложение предполагает, что все записи являются отдельными строками, а продолжение по слогам не используется. </para>
<para
>При воспроизведении дорожки будет подсвечиваться строка, соответствующая воспроизводимой позиции, что позволяет проверить правильность синхронизации информации. Если требуется добавить смещение на одну или несколько меток времени, воспользуйтесь пунктом вызываемого правой кнопкой мыши контекстного меню <guimenu
>Добавить смещение...</guimenu
>. Отрицательные значения позволяют уменьшить значения меток времени. Пункт контекстного меню <guimenu
>Прокрутка до положения</guimenu
> позволяет установить позицию воспроизведения в значение времени выбранной строки. </para>
<para>
<emphasis
>Рекомендуемый порядок действий для синхронизации текста песни</emphasis>
<itemizedlist>
<listitem
><para
>Получите несинхронизированный текст, например, с помощью функции <menuchoice
><guimenu
>Lyrics</guimenu
><guimenuitem
>Embed Lyrics</guimenuitem
></menuchoice
> в контекстном меню списка файлов.</para
></listitem>
<listitem
><para
>Скопируйте несинхронизированный текст в буфер обмена, перейдите к строке <guilabel
>Текст</guilabel
> в таблице фреймов и нажмите комбинацию клавиш <keycombo
>&Ctrl;<keycap
>C</keycap
></keycombo
>.</para
></listitem>
<listitem
><para
>Добавьте фрейм синхронизированного текста (<guibutton
>Добавить...</guibutton
>, <guilabel
>Синхронизированный текст</guilabel
>, <guibutton
>OK</guibutton
>), затем нажмите кнопку <guibutton
>Из буфера обмена</guibutton
>.</para
></listitem>
<listitem
><para
>После этого в таблицу будут добавлены все строки несинхронизированного текста, при этом все метки времени будут некорректными (0:0:0.00). Перед продолжением возможно удалить пустые записи.</para
></listitem>
<listitem
><para
>Запустите воспроизведение песни с помощью кнопки <guibutton
>&#9658;</guibutton
> на панели воспроизведения в нижней части главного окна.</para
></listitem>
<listitem
><para
>Когда появится следующая строка текста с некорректной меткой времени, нажмите кнопку <guibutton
>Добавить</guibutton
> или комбинацию клавиш <keycombo
>&Alt;<keycap
>A</keycap
></keycombo
>, и метка будет обновлена.</para
></listitem>
<listitem
><para
>Повторяйте это действие, пока не будут установлены все метки времени. Если что-то оказалось пропущено, остановите воспроизведение и очистите метки с помощью клавиши <keycap
>Delete</keycap
> или путём выделения меток и выбора пункта <guimenuitem
>Очистить</guimenuitem
> в контекстном меню. Чтобы возобновить воспроизведение с определённой метки, воспользуйтесь функцией контекстного меню <guimenuitem
>Прокрутка до положения</guimenuitem
>. </para
></listitem>
</itemizedlist>
</para>
</sect2>

</sect1>

<sect1 id="file-menu">
<title
>Меню «Файл»</title>
<para>
<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>O</keycap
></keycombo
> </shortcut
> <guimenu
>Файл</guimenu
> <guimenuitem
>Открыть...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Открывает каталог.</action
> В списке файлов будут отображаться все файлы, соответствующие выбранному фильтру имён файлов, а выбранный файл будет выделен.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Последние файлы</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Открывает последний открытый каталог.</action
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>D</keycap
></keycombo
> </shortcut
> <guimenu
>Файл</guimenu
> <guimenuitem
>Открыть каталог...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Открывает каталог.</action
> В списке файлов будут отображаться все файлы, соответствующие выбранному фильтру имён файлов.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycap
>F5</keycap
> </shortcut
> <guimenu
>Файл</guimenu
> <guimenuitem
>Обновить</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Обновляет каталог.</action
> Перед обновлением следует сохранить изменённые файлы. Развёрнутые вложенные папки будут свёрнуты.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>S</keycap
></keycombo
> </shortcut
> <guimenu
>Файл</guimenu
> <guimenuitem
>Сохранить</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Сохраняет все изменённые файлы в каталоге.</action
> Изменённые файлы отмечены значком дискеты в списке файлов. Если были изменены названия файлов, файлы будут соответствующим образом переименованы.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Отменить изменения</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Отменяет изменения одного или нескольких файлов.</action
> Если в списке файлов не было выделено ни одного файла, будут отменены изменения всех файлов. Если же в списке имеются выделенные файлы, будут отменены изменения только этих файлов. </para
></listitem>
</varlistentry>

<varlistentry id="import">
<term
><menuchoice
><guimenu
>File</guimenu
> <guimenuitem
>Импорт...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Диалог импорта</action
> позволяет импортировать данные непосредственно с сервера freedb.org, сервера MusicBrainz, Discogs, Amazon или из других источников списков воспроизведения в альбомах, которые предоставляют данные в текстовом формате. </para>
<para id="import-freedb"
>Чтобы импортировать данные с сервера freedb.org, в диалоге импорта выберите в меню <guibutton
>С сервера...</guibutton
> вариант <guibutton
>gnudb.org</guibutton
>. В появившемся диалоговом окне введите в два верхних поля данные для поиска исполнителя и названия альбома; альбомы, соответствующие запросу, будут отображены после нажатия кнопки <guibutton
>Найти</guibutton
> и получения результатов с сайта <ulink url="http://www.gnudb.org"
>www.gnudb.org</ulink
>. Импорт данных дорожек для альбома выполняется двойным щелчком левой кнопкой мыши по альбому в списке. Для импорта данных возможно выбрать как сервер freedb.org, так и путь CGI. Импортированные данные будут отображаться в таблице предварительного просмотра диалога импорта. Если отображаемые результаты удовлетворяют требованиям, запустите процесс импорта, закрыв диалоговое окно с помощью кнопки <guibutton
>OK</guibutton
>. </para>
<para id="import-discogs"
>Чтобы выполнить поиск на сервере Discogs, выберите в раскрывающемся списке вариант <guibutton
>Discogs</guibutton
>. Как и в диалоге поиска <guibutton
>gnudb.org</guibutton
>, следует указать исполнителя и название альбома, а затем выбрать нужный вариант из списка альбомов. Возможно ввести <guilabel
>Токен</guilabel
>, чтобы использовать программный интерфейс RESTful Discogs API вместо веб-интерфейса, который часто меняется, тем самым нарушая работу анализатора импорта. Потребуется создать учётную запись на сайте <ulink url="https://www.discogs.com/"
>Discogs</ulink
>, затем там же сгенерировать токен (Настройки/Разработчикам, Сгенерировать токен). Не забудьте нажать кнопку <guibutton
>Сохранить параметры</guibutton
> после ввода токена, чтобы использовать его и в последующих запросах. Если установлен флажок <guilabel
>Стандартные теги</guilabel
>, будет импортирована стандартная информация, например, об исполнителе, альбоме и названиях дорожек. Если установлен флажок <guilabel
>Дополнительные теги</guilabel
>, будет также импортирована доступная дополнительная информация, например, об аккомпанементе, аранжировщиках или издателе. Если установлен флажок <guilabel
>Обложка</guilabel
>, также будет загружено изображение обложки альбома (если оно доступно). </para>
<para id="import-amazon"
>Чтобы выполнить поиск на Amazon, выберите в раскрывающемся списке вариант <guibutton
>Amazon</guibutton
>. Как и в диалоге поиска <guibutton
>gnudb.org</guibutton
>, следует указать исполнителя и название альбома, а затем выбрать нужный вариант из списка альбомов. Если установлен флажок <guilabel
>Дополнительные теги</guilabel
>, будет импортирована доступная дополнительная информация, например, об аккомпанементе, аранжировщиках или издателе. Если установлен флажок <guilabel
>Обложка</guilabel
>, также будет загружено изображение обложки альбома (если оно доступно). </para>
<para id="import-musicbrainzrelease"
>Таким же образом производится поиск в базе данных альбомов MusicBrainz (выберите в раскрывающемся списке вариант <guibutton
>MusicBrainz (релиз)</guibutton
>). Рабочий процесс аналогичен процессу, описанному для функции импорта с сервера <guibutton
>gnudb.org</guibutton
>. </para>
<para id="import-musicbrainz"
>Чтобы импортировать данные с сервера MusicBrainz, воспользуйтесь диалогом, который появляется при выборе в меню варианта <guibutton
>MusicBrainz (отпечаток)</guibutton
>. Выбор сервера аналогичен выбору в диалоге импорта из freedb. Ниже располагается таблица, отображающая импортированные данные дорожек. Правый столбец содержит состояние запроса MusicBrainz (при первом открытии диалога — «В ожидании»). Производится поиск отпечатка, и, если результата не будет, приложение попробует провести другой поиск с использованием тегов файла. Таким образом, для успешного поиска в MusicBrainz желательно сохранить имеющиеся данные (например, данные об исполнителе и альбоме) в метках перед импортом. Если соответствующая запросу запись была найдено, поиск завершится с состоянием «Распознано». Если же найти такую запись не удастся, будет показано уведомление об отсутствии результатов или несколько неточных соответствий, из которых пользователю потребуется выбрать нужный вариант. Кнопки <guibutton
>OK</guibutton
> и <guibutton
>Применить</guibutton
> позволяют использовать импортированные данные, а кнопка <guibutton
>Отмена</guibutton
> закрывает диалог. Закрытие может занять некоторое время, так как потребуется отключить весь механизм MusicBrainz. </para>

<para id="import-text"
>Для импорта текстовых данных предназначен вложенный диалог, который вызывается нажатием кнопки <guibutton
>Из файла или буфера обмена...</guibutton
>. В этом диалоге доступны несколько предустановленных форматов импорта. Первые два, «CSV unquoted» и «CSV quoted», используются для импорта данных, которые ранее были экспортированы с помощью диалога экспорта. Эти данные возможно редактировать с помощью электронной таблицы. Они должны быть сохранены с использованием символов табуляции в качестве разделителей. После такой обработки данные возможно импортировать с использованием формата «CSV quoted». Этот формат позволяет выполнять более тонкую настройку, чем «CSV unquoted», однако его поля не должны содержать двойных кавычек. Если производится только экспорт из &kid3; для дальнейшего импорта, рекомендуется использовать формат «CSV unquoted». Обратите внимание, что в контекстном меню списка файлов также есть пункты «Экспорт CSV» и «Импорт CSV», предусматривающие использование сценариев для более полной, эффективной и гибкой обработки данных CSV при экспорте и импорте. </para>

<para
>Ещё один формат, «freedb &HTML; text», используется для копирования информации с &HTML;-страницы <ulink url="http://freedb.org"
>freedb.org</ulink
>. Найдите альбом во freedb и, если нужная информация отобразится в браузере, скопируйте содержимое в буфер обмена. Затем нажмите кнопку <guibutton
>Из буфера обмена</guibutton
>, и в таблице предварительного просмотра в верхней части диалога будут отображены импортированные дорожки. Если импортированные данные соответствуют ожидаемому результату, закройте диалог с помощью кнопки <guibutton
>OK</guibutton
>, что позволит вставить данные в теги в текущем каталоге. Место назначения (<guilabel
>Тег 1</guilabel
>, <guilabel
>Тег 2</guilabel
> или <guilabel
>Тег 1 и тег 2</guilabel
>) указывается с помощью раскрывающегося списка. Для корректного присваивания тегов файлы должны быть расположены в правильном порядке. Обеспечить такой порядок возможно путём нумерации файлов. </para>
<para
>Следующий предустановленный формат импорта — это «freedb &HTML; source». Этот формат возможно использовать, когда данные хранятся в формате &HTML;. Импорт производится с помощью кнопки <guibutton
>Из файла</guibutton
>, которая открывает окно выбора файла, или путём копирования содержимого файла из редактора с последующим импортом из буфера обмена. Этот формат может быть полезен для автономного импорта, хотя документ &HTML; также возможно открыть в браузере, а затем импортировать в первом формате с помощью буфера обмена. </para>
<para
>Доступны и другие предустановленные форматы, например, «Track Title Time». Чтобы создать собственный формат и позже настроить его, воспользуйтесь кнопкой <guibutton
>Добавить</guibutton
>. В двух строках под названием формата возможно указать регулярные выражения для захвата полей из импортируемого текста. Первое регулярное выражение будет проанализировано один раз для каждого документа для получения таких данных о каждом альбоме, как имя исполнителя, название альбома, год выхода и жанр. Вторая строка анализируется с начала документа и до конца, чтобы получить данные дорожки (её номер и заголовок). Регулярные выражения включают в себя все функции, предоставляемые &Qt;, то есть большинство возможностей регулярных выражений Perl. Использование скобок «(..)» позволяет создать буферы захвата для полей для импорта. Перед ними возможно указывать специальные коды &kid3; для захвата конкретных полей. Эти коды аналогичны кодам для формата имён файлов, и помимо кодов, перечисленных далее, возможно использовать любое название фрейма: </para>

<para id="format-codes">
<itemizedlist>
<listitem
><para
>%s %{title} Заголовок (композиции)</para
></listitem>
<listitem
><para
>%a %{artist} Исполнитель</para
></listitem>
<listitem
><para
>%l %{album} Альбом</para
></listitem>
<listitem
><para
>%c %{comment} Комментарий</para
></listitem>
<listitem
><para
>%y %{year} Год</para
></listitem>
<listitem
><para
>%t %{track} Дорожка</para
></listitem>
<listitem
><para
>%g %{genre} Жанр</para
></listitem>
<listitem
><para
>%d %{duration} Длительность</para
></listitem>
</itemizedlist>
</para>

<para
>Например, регулярное выражение дорожки (вторая строка) для импорта из списка воспроизведения <filename class="extension"
>.m3u</filename
> может выглядеть как «<literal
>%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]</literal
>». Все форматы возможно изменить путём редактирования регулярных выражений и названия и последующего нажатия кнопки <guibutton
>Сохранить параметры</guibutton
>. Они будут храниться в файле <filename
>kid3rc</filename
> в каталоге конфигурации. Этот файл возможно отредактировать напрямую для получения большего количества форматов импорта или удалить для возврата к форматам по умолчанию. Чтобы удалить форматы, воспользуйтесь кнопкой <guibutton
>Убрать</guibutton
>. </para>
<para
>Параметр <guilabel
>Точность</guilabel
> отображает оценку того, насколько хорошо импортированные данные соответствуют заданным дорожкам. Степень соответствия в процентах основана на длительности дорожек или названиях файлов. Параметр <guilabel
>Обложки</guilabel
> показывает &URL;-адреса изображений обложек альбомов, которые будут загружены. </para>
<para
>Чтобы проверить, соответствуют ли импортированные данные дорожек текущему набору файлов, следует сравнить длительность импортированных дорожек с длительностью этих файлов. Для этого служит флажок <guibutton
>Проверять максимальную допустимую разницу во времени (в секундах):</guibutton
>, который позволяет указать максимально допустимую погрешность в секундах. Если приложение обнаружит несоответствие длительности, данные о длительности будут обозначены красным фоном в таблице предварительного просмотра. </para>
<para
>Если файлы расположены не в же порядке, что и импортированные дорожки, потребуется изменить назначенные этим файлам дорожки. Эту задачу упрощает опция <guilabel
>Сопоставлять с:</guilabel
> с кнопками <guibutton
>Длительность</guibutton
>, <guibutton
>Дорожка</guibutton
> и <guibutton
>Название</guibutton
>. Эти кнопки позволяют переупорядочить дорожки в соответствии с нужным полем. Чтобы отредактировать порядок дорожек вручную, перетащите дорожку на новое место с помощью <mousebutton
>левой</mousebutton
> кнопки мыши в сочетании с клавишей &Ctrl;. </para>
<para
>Открытый диалог импорта содержит данные тегов. Тип тега («Тег 1», «Тег 2», «Тег 1 и тег 2») выбирается в раскрывающемся списке <guilabel
>Место назначения</guilabel
>. Кнопка справа от раскрывающегося списка позволяет отменить изменения, чтобы вновь показать в таблице текущее содержимое тегов. Флажки в первом столбце таблицы позволяют выбрать дорожки, для которых будут импортированы данные. Это может быть полезно, например, если папка содержит дорожки с обоих компакт-дисков двойного компакт-диска, а импортировать следует только данные второго компакт-диска. </para>
<para
>Чтобы идентифицировать дорожки, данные которых будут импортированы, возможно включить показ названий файлов или полного пути к файлам с помощью контекстного меню заголовка таблицы. Значения в таблице импорта доступны для редактирования. Кнопка отмены изменений, расположенная справа от раскрывающегося списка <guilabel
>Место назначения</guilabel
>, служит для восстановления содержимого тегов. Ей также возможно воспользоваться после изменения содержания пункта <guilabel
>Место назначения</guilabel
>. </para>
<para
>Почти во всех диалогах присутствует кнопка <guibutton
>Сохранить параметры</guibutton
>, позволяющая сохранить параметры конкретного диалога и размеры окна. </para>

<para id="import-tags"
>Кнопка <guibutton
>Из тегов...</guibutton
> открывает вложенный диалог для заполнения данных фреймов тегов на основе других фреймов тегов. Эта функция позволяет просто скопировать информацию из одного тега в другой или извлечь часть фрейма и вставить её в другой фрейм. </para>
<para
>Как и в диалоге <link linkend="import-text"
>импорта из файла или буфера обмена</link
>, здесь представлены легко настраиваемые форматы для выполнения различных действий. Предусмотрены предустановленные форматы для копирования значения названия альбома в поля исполнителя, композитора или дирижёра, а также для извлечения номера дорожки из полей заголовка, содержащих число. Также предусмотрен формат для получения значения подзаголовка из поля заголовка. </para>
<para
>Следующий пример описывает алгоритм добавления пользовательского формата, который будет вставлять информацию из поля «Подзаголовок» в поле «Комментарий». Создайте новый формат с помощью кнопки <guibutton
>Добавить</guibutton
> и укажите новое название, например, «Подзаголовок в комментарий». Затем введите «<userinput
>%{subtitle}</userinput
>» в поле <guilabel
>Источник</guilabel
> и «<userinput
>%{comment}(.*)</userinput
>» в <guilabel
>Извлечение</guilabel
>, а затем нажмите кнопку <guibutton
>Сохранить параметры</guibutton
>. </para>
<para
>Выражение в поле <guilabel
>Источник</guilabel
> может содержать <link linkend="format-codes"
>коды формата</link
> для произвольных фреймов тегов. Использование нескольких кодов позволяет комбинировать содержимое разных фреймов. Для каждой дорожки текст генерируется из её тегов с использованием формата <guilabel
>Источник</guilabel
>, а затем к этому тексту применяется регулярное выражение из поля <guilabel
>Извлечение</guilabel
> для установки новых значений тегов. Коды формата используются перед захватывающими круглыми скобками, чтобы указать фрейм тега, в котором будет сохранён захваченный текст. Всё это работает таким же образом, как и в функции <link linkend="import-text"
>импорта из файла или буфера обмена</link
>. </para>
<para
>Функцией <guimenuitem
>Импорт из тегов...</guimenuitem
> также возможно воспользоваться непосредственно в меню <guimenu
>Файл</guimenu
>. Разница между этими двумя инструментами заключается в том, что вложенный диалог функции импорта работает со всеми файлами в текущем каталоге, тогда как функция в меню работает с выбранными файлами (которые могут находиться в разных каталогах). Функция в меню поддерживает дополнительный код «<literal
>%{__return}</literal
>» для возврата полученного значения, что может быть полезно при работе с интерфейсами командной строки и QML. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Импорт из gnudb.org...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Импорт с сервера freedb.org с помощью поиска по альбомам в gnudb.org.</action
> Этот пункт меню открывает то же окно импорта, что и пункт меню <guimenuitem
>Импорт...</guimenuitem
>, но при этом сразу появляется диалог <guibutton
>gnudb.org</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Импорт из Discogs...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Импорт с сервера Discogs.</action
> Этот пункт меню открывает то же окно импорта, что и пункт меню <guimenuitem
>Импорт...</guimenuitem
>, но при этом сразу появляется диалог <guibutton
>Discogs</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Импорт из Amazon...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Импорт из Amazon.</action
> Этот пункт меню открывает то же окно импорта, что и пункт меню <guimenuitem
>Импорт...</guimenuitem
>, но при этом сразу появляется диалог <guibutton
>Amazon</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Импорт из MusicBrainz (релиз)...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Импорт из базы данных альбомов MusicBrainz.</action
> Этот пункт меню открывает то же окно импорта, что и пункт меню <guimenuitem
>Импорт...</guimenuitem
>, но при этом сразу появляется диалог <guibutton
>MusicBrainz (релиз)</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Импорт из MusicBrainz (отпечаток)...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Импорт с сервера MusicBrainz.</action
> Этот пункт меню открывает то же окно импорта, что и пункт меню <guimenuitem
>Импорт...</guimenuitem
>, но при этом сразу появляется диалог <guibutton
>MusicBrainz (отпечаток)</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Импорт из тегов...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Аналогично кнопке «<link linkend="import-tags"
>Из тегов...</link
>», но импорт применяется к выделенным файлам.</para
></listitem>
</varlistentry>

<varlistentry id="batch-import">
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Автоматический импорт...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Автоматический импорт</action
> позволяет импортировать данные для нескольких альбомов с различных веб-сервисов. Если в списке файлов выбраны каталоги, будут импортированы данные дорожек для выделенных каталогов. Если не выделен ни один каталог, будут импортированы данные для всех каталогов в списке файлов. </para>
<para
>Тип тега («Тег 1», «Тег 2», «Тег 1 и тег 2») выбирается в раскрывающемся списке <guilabel
>Место назначения</guilabel
>. </para>
<para
>Профили указывают, к каким серверам следует обратиться, чтобы получить информацию об альбоме. Некоторые профили предустановлены («All», «MusicBrainz», «Discogs», «Cover Art»); чтобы добавить дополнительные профили, воспользуйтесь кнопкой <guibutton
>Добавить</guibutton
>, расположенной справа от раскрывающегося списка <guilabel
>Профиль</guilabel
>. </para>
<para
>В таблице ниже приведён список серверов, которые будут использоваться при импорте информации об альбоме с помощью выбранного профиля. Процесс импорта данных альбома завершается после получения всей необходимой информации, поэтому порядок строк в таблице имеет значение. Изменить порядок позволяют кнопки <guibutton
>Переместить вверх</guibutton
> и <guibutton
>Переместить вниз</guibutton
>. Кнопка <guibutton
>Изменить...</guibutton
> позволяет внести изменения в существующую запись. В столбце <guibutton
>Сервер</guibutton
> представлены те же серверы, что и в функциях импорта. Флажки <guilabel
>Стандартные теги</guilabel
>, <guilabel
>Дополнительные теги</guilabel
>, <guilabel
>Обложки</guilabel
> определяют информацию, которая будет получена с сервера. В столбце <guilabel
>Точность</guilabel
> указывается точность, которой требуется достичь при импорте данных. Если заданный уровень точности не будет достигнут, приложение попытается получить данные со следующего сервера. Аналогичный диалог со свойствами сервера появляется при нажатии кнопки <guibutton
>Добавить...</guibutton
> для добавления новой записи сервера. Кнопка <guibutton
>Убрать</guibutton
> позволяет удалить существующие записи. </para>
<para
>Чтобы запустить автоматический пакетный импорт с выбранным профилем, нажмите кнопку <guibutton
>Начать</guibutton
>. Подробные сведения о запущенном импорте отображаются в верхней части диалогового окна. Чтобы прервать процесс, нажмите кнопку <guibutton
>Прервать</guibutton
>. </para>
 </listitem>
</varlistentry>

<varlistentry id="browse_pictures">
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Найти обложки...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Диалог <action
>«Найти обложки»</action
> позволяет найти и загрузить обложки альбомов. Поля <guilabel
>Исполнитель и альбом</guilabel
> заполняются автоматически, если в тегах доступны соответствующие данные. В разделе <guilabel
>Источник</guilabel
> доступно большое количество веб-сайтов с обложками. Под названием источника расположена &URL;-ссылка, в которой в качестве параметров указаны исполнитель и альбом. Чтобы вставить значения артиста и альбома в кодировке &URL;, воспользуйтесь командами «<userinput
>%u{artist}</userinput
>» и «<userinput
>%u{album}</userinput
>». Команды для вставки других значений из тегов доступны в разделе «<link linkend="configure-kid3"
>Настройка &kid3;</link
>» (описание вкладки <guilabel
>Команды пользователя</guilabel
>). Чтобы добавить дополнительные источники обложек, замените запись «Custom Source» названием нового источника и нажмите клавишу <keycap
>Enter</keycap
>; после этого следует указать &URL;-адрес и нажать кнопку <guibutton
>Сохранить параметры</guibutton
>. Результат будет отображён в верхней части диалога, а чтобы открыть соответствующий адрес в браузере по умолчанию, указанном в параметрах, воспользуйтесь кнопкой <guibutton
>Браузер</guibutton
>. Изображение обложки возможно перетащить из окна браузера в окно &kid3;, после чего оно будет сохранено во фрейме изображения выбранных файлов. </para>
<para
>Так как не все браузеры поддерживают функцию перетаскивания изображений, а многие изображения на веб-сайтах представлены в виде &URL;-адресов, в таких случаях &kid3; получит не изображение, а его &URL;-адрес. Если &URL;-адрес указывает на изображение, оно будет загружено, но, если &URL;-адрес указывает на какой-либо интернет-источник, его придётся преобразовать в соответствующее изображение. Такие привязки указаны в таблице <guilabel
>Извлечение &URL;-адреса</guilabel
>. Левый столбец <guilabel
>Соответствие</guilabel
> содержит регулярные выражения, которые сравниваются с &URL;-адресами. Если программе удаётся установить соответствие, захваченные выражения в скобках вставляются в шаблон в правый столбец <guilabel
>&URL;-адрес изображения</guilabel
> (в позиции, указанные заменителями \1 и так далее). Заменённое регулярное выражение содержит &URL;-адрес изображения. Такой способ позволяет импортировать обложки из Amazon, Google Images и так далее. Также возможно указать собственные соответствия. </para>
</listitem>
</varlistentry>

<varlistentry id="export">
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Экспорт...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Диалог экспорта</action
> используется для сохранения данных из тегов в файле или в буфере обмена. В верхней части окна редактора доступен предварительный просмотр данных для экспорта. Если данные экспорта содержат символы табуляции, данные будут показаны в виде таблицы. Данные генерируются из тегов в текущем каталоге в соответствии с настроенным форматом. </para>
<para
>Параметры форматирования аналогичны параметрам диалога «Импорт»: верхнее поле содержит название формата (например, «CSV unquoted»), следом идёт заголовок, который будет создан в начале файла. Далее следуют данные дорожки (используются для каждой дорожки). Последнее поле позволяет создать какой-либо завершающий текстовый фрагмент. </para>
<para
>В полях форматирования не должно содержаться регулярных выражений, как в диалоговом окне «Импорт»; там должны быть только выражения форматирования результата со специальными заменителями с символом «%», которые будут заменены значениями из соответствующих тегов. Всё это работает так же, как форматирование названия файла, то есть используются те же коды вместе с дополнительными. Могут использоваться не только коды, перечисленные далее, но и коды с названиями фреймов тегов. </para>

<itemizedlist>
<listitem
><para
>%s %{title} Заголовок (композиции)</para
></listitem>
<listitem
><para
>%a %{artist} Исполнитель</para
></listitem>
<listitem
><para
>%l %{album} Альбом</para
></listitem>
<listitem
><para
>%c %{comment} Комментарий</para
></listitem>
<listitem
><para
>%y %{year} Год</para
></listitem>
<listitem
><para
>%t %{track} Номер дорожки (например, 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Номер дорожки с шириной поля n (например, 001 для %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Номер дорожки (без нулей в начале, например, 1)</para
></listitem>
<listitem
><para
>%g %{genre} Жанр</para
></listitem>
<listitem
><para
>%f %{file} Имя файла</para
></listitem>
<listitem
><para
>%p %{filepath} Путь</para
></listitem>
<listitem
><para
>%{modificationdate} Дата изменения</para
></listitem>
<listitem
><para
>%{creationdate} Дата создания</para
></listitem>
<listitem
><para
>%u %{url} &URL;-адрес</para
></listitem>
<listitem
><para
>%{dirname} Имя каталога</para
></listitem>
<listitem
><para
>%d %{duration} Длительность в минутах:секундах</para
></listitem>
<listitem
><para
>%D %{seconds} Длительность в секундах</para
></listitem>
<listitem
><para
>%n %{tracks} Количество дорожек в альбоме</para
></listitem>
<listitem
><para
>%e %{extension} Расширение файла</para
></listitem>
<listitem
><para
>%O %{tag1} Формат тега 1 (ID3v1.1 или пустое значение, если не существует)</para
></listitem>
<listitem
><para
>%o %{tag2} Формат тега 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF, или пустое значение, если не существует)</para
></listitem>
<listitem
><para
>%b %{bitrate} Скорость передачи в кбит/с</para
></listitem>
<listitem
><para
>%v %{vbr} Переменная скорость или пустое значение (только для ID3v2.3 с id3lib)</para
></listitem>
<listitem
><para
>%r %{samplerate} Частота дискретизации в Гц</para
></listitem>
<listitem
><para
>%m %{mode} Режим каналов (cтерео или объединённое стерео)</para
></listitem>
<listitem
><para
>%h %{channels} Количество каналов (1 или 2)</para
></listitem>
<listitem
><para
>%k %{codec} Кодек (например, MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)</para
></listitem>
</itemizedlist>

<para
>Предустановлено несколько форматов. В формате «CSV unquoted» поля разделяются символами табуляции. Данные в этом формате возможно снова импортировать в &kid3; с использованием одноимённого формата импорта. В формате «CSV quoted» поля дополнительно заключаются в двойные кавычки, что упрощает импорт в приложения для работы с таблицами. Однако, если используется этот формат, эти поля не должны содержать двойные кавычки. Форматы «Extended M3U» и «Extended PLS» позволяют создавать списки воспроизведения с расширенными атрибутами и абсолютными путями к файлам. Формат «HTML» позволяет создавать &HTML;-страницы с гиперссылками на дорожки. Формат «Kover &XML;» создаёт файл, который возможно импортировать в программу для печати обложек компакт-дисков Kover. Формат «Technical Details» позволяет предоставить информацию о скорости передачи, частоте дискретизации, каналах и так далее. Наконец, пункт «Custom Format» намеренно оставлен пустым для определения пользовательского формата. Дополнительные пользовательские форматы задаются путём добавления строк в файл <filename
>kid3rc</filename
> в каталоге конфигурации. Остальные форматы возможно изменить в соответствии с потребностями пользователя. </para>
<para
><guilabel
>Источник</guilabel
> тегов для создания экспортируемых данных (<guilabel
>Тег 1</guilabel
> или <guilabel
>Tег 2</guilabel
>) выбирается в раскрывающемся списке. Кнопки <guibutton
>В файл...</guibutton
> или <guibutton
>В буфер обмена</guibutton
> позволяют поместить данные в файл или буфер обмена. Кнопки <guibutton
>OK</guibutton
> и <guibutton
>Отмена</guibutton
> закрывают диалог, при этом кнопка <guibutton
>OK</guibutton
> позволяет сохранить текущие параметры диалога. </para
></listitem>
</varlistentry>

<varlistentry id="create-playlist">
<term
><menuchoice
><guimenu
>Файл</guimenu
> <guimenuitem
>Создать список воспроизведения...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Создаёт список воспроизведения.</action
> Формат и содержимое списка воспроизведения возможно настроить с помощью различных параметров.</para>
<para
>Чтобы указать название списка воспроизведения, выберите вариант <guibutton
>Совпадает с именем каталога</guibutton
> или <guibutton
>Формат</guibutton
> со значениями из тегов, например, «<userinput
>%{artist} - %{album}</userinput
>» (в этом случае название списка воспроизведения будет складываться из имени исполнителя и названия альбома). Коды формата аналогичны кодам для <link linkend="export"
>экспорта</link
>. Кнопка-переключатель <guibutton
>Создать список воспроизведения</guibutton
> позволяет создать пустой список воспроизведения с заданным названием. Расширение зависит от указанного формата списка воспроизведения. </para>
<para
>Расположение создаваемого списка воспроизведения указывается в раскрывающемся списке <guilabel
>Создать в</guilabel
>. <variablelist>
<varlistentry
><term
>Текущем каталоге</term>
<listitem
><para
>Список воспроизведения создаётся в текущем каталоге и содержит только файлы текущего каталога. Текущий каталог — это каталог, в котором расположен текущий файл. Если выделено несколько файлов, текущим файлом, вероятно, будет являться последний выделенный файл.</para
></listitem
></varlistentry>
<varlistentry
><term
>Каждом каталоге</term>
<listitem
><para
>Список воспроизведения создаётся в каждом каталоге, который содержит указанные файлы, и каждый список воспроизведения содержит файлы из соответствующего каталога. </para
></listitem
></varlistentry>
<varlistentry
><term
>Каталоге верхнего уровня</term>
<listitem
><para
>Создаётся только один список воспроизведения в каталоге верхнего уровня (то есть в каталоге со списком файлов). Этот список содержит файлы из каталога верхнего уровня и файлы из всех вложенных каталогов. </para
></listitem
></varlistentry>
</variablelist>
</para>
<para
><guilabel
>Формат</guilabel
> списка воспроизведения может быть следующим: <guilabel
>M3U</guilabel
>, <guilabel
>PLS</guilabel
> или <guilabel
>XSPF</guilabel
>. </para>
<para
>Если установлен флажок <guibutton
>Включать только выбранные файлы</guibutton
>, в список воспроизведения будут включены только выделенные файлы. Если выделен каталог, будут выделены все файлы, содержащиеся в нём. Если этот флажок не установлен, в список воспроизведения будут включены все аудиофайлы. </para>
<para
>Параметр <guibutton
>Упорядочить по имени файла</guibutton
> представляет собой обычный метод сортировки, когда файлы упорядочиваются по имени в алфавитном порядке. Параметр <guibutton
>Упорядочить по полю тега</guibutton
> позволяет отсортировать файлы по строке формата со значениями из полей тега. Например, «<userinput
>%{track.3}</userinput
>» позволит упорядочить файлы по номеру дорожки («<userinput
>.3</userinput
>» используется для получения трёх цифр с нулями в начале, потому что строки используются для сортировки). Также возможно указать несколько полей, например, «<userinput
>%{genre}%{year}</userinput
>» для сортировки на основе строки с жанром и годом. </para>
<para
>Записи в списке воспроизведения могут содержать относительные или абсолютные пути к файлам в зависимости от того, какой параметр установлен: <guibutton
>Использовать относительный путь для файлов в списке воспроизведения</guibutton
> или <guibutton
>Использовать абсолютный путь для файлов в списке воспроизведения</guibutton
>. </para>
<para
>Когда выбрана опция <guibutton
>Записать только список файлов</guibutton
>, список воспроизведения будет содержать только пути к файлам. Чтобы создать расширенный список воспроизведения с дополнительной информацией, укажите строку формата с помощью параметра <guibutton
>Записать информацию, используя</guibutton
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>Q</keycap
></keycombo
> </shortcut
> <guimenu
>Файл</guimenu
> <guimenuitem
>Выход</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Закрывает приложение.</action
></para
></listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="edit-menu">
<title
>Меню «Правка»</title>
<para>
<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Alt;<keycap
>A</keycap
></keycombo
> </shortcut
> <guimenu
>Правка</guimenu
> <guimenuitem
>Выделить все</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Выделяет все файлы.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>Shift</keycap
><keycap
>A</keycap
></keycombo
> </shortcut
> <guimenu
>Правка</guimenu
> <guimenuitem
>Снять выделение</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Снимает выделение со всех файлов.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Правка</guimenu
> <guimenuitem
>Выбрать все файлы в каталоге</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Выделяет все файлы в текущем каталоге.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Alt;<keycap
>Вверх</keycap
></keycombo
> </shortcut
> <guimenu
>Правка</guimenu
> <guimenuitem
>Предыдущий файл</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Выделяет предыдущий файл.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Alt;<keycap
>Вниз</keycap
></keycombo
> </shortcut
> <guimenu
>Правка</guimenu
> <guimenuitem
>Следующий файл</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Выделяет следующий файл.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>F</keycap
></keycombo
> </shortcut
> <guimenu
>Правка</guimenu
> <guimenuitem
>Найти...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Производит поиск строк в именах файлов и тегах. Диалог <guilabel
>Найти</guilabel
> — это часть диалога <guilabel
>Заменить</guilabel
>, описание которого приводится далее. </para
></listitem>
</varlistentry>

<varlistentry id="find-replace">
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>R</keycap
></keycombo
> </shortcut
> <guimenu
>Правка</guimenu
> <guimenuitem
>Заменить...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Этот пункт меню открывает диалог для поиска и замены строк в именах файлов и тегах. Чтобы ограничить набор фреймов для проведения поиска, снимите флажок <guilabel
>Выбрать все</guilabel
> и выделите фреймы, в которых нужно провести поиск. Также доступны параметры для поиска в обратном направлении, с учётом регистра и использованием регулярных выражений.</para>
<para
>В зависимости от количества файлов поиск может занять некоторое время; чтобы прервать поиск, закройте диалог.</para
></listitem>
</varlistentry>

</variablelist>
</para>
</sect1>

<sect1 id="tools-menu">
<title
>Меню «Сервис»</title>
<para>
<variablelist>

<varlistentry id="apply-filename-format">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Применить формат имени файла</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Когда в диалоге настройки отключён параметр <guilabel
>Автоматически применять формат</guilabel
> для формата имени файла, этот пункт меню позволяет <action
>применить указанный формат к именам выбранных файлов</action
>. Эта функция также позволяет проверить соответствие имён файлов настроенному формату путём применения формата ко всем сохранённым файлам и последующей проверки того, были ли какие-либо файлы изменены (и, следовательно, отмечены значком дискеты в списке файлов). </para
></listitem>
</varlistentry>

<varlistentry id="apply-tag-format">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Применить формат тега</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Когда в диалоге настройки отключён параметр <guilabel
>Автоматически применять формат</guilabel
> для формата тега, этот пункт меню позволяет <action
>применить указанный формат к тегам выбранных файлов</action
>. Эта функция также позволяет проверить соответствие тегов настроенному формату путём применения формата ко всем сохранённым файлам и последующей проверки того, были ли какие-либо файлы изменены (и, следовательно, отмечены значком дискеты в списке файлов). </para
></listitem>
</varlistentry>

<varlistentry id="apply-text-encoding">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Применить кодировку текста</guimenuitem
> </menuchoice
></term>
<listitem
><para
>При использовании этой функции устанавливается <guilabel
>Кодировка текста</guilabel
>, указанная на вкладке <menuchoice
><guimenu
>Настройка</guimenu
><guimenuitem
>Настроить &kid3;... </guimenuitem
><guimenuitem
>Теги</guimenuitem
><guimenuitem
>Тег 2</guimenuitem
></menuchoice
> для всех выбранных файлов. Если выбрана кодировка UTF8, для тегов ID3v2.3.0 будет использоваться UTF16, потому что этот формат не поддерживает UTF8.</para
></listitem>
</varlistentry>

<varlistentry id="rename-directory">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Переименовать каталог...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Этот диалог позволяет автоматически переименовать текущий открытый каталог в соответствии с тегами в файлах. Предварительно настроено несколько форматов для включения в название каталога информации об исполнителе, альбоме и годе выпуска. Также возможно указать собственный формат и воспользоваться кнопкой <guibutton
>Изменить...</guibutton
> для редактирования имеющихся форматов. Следующие специальные коды используются для вставки значений тегов в имя каталога: </para>

<itemizedlist>
<listitem
><para
>%s %{title} Заголовок (композиции)</para
></listitem>
<listitem
><para
>%a %{artist} Исполнитель</para
></listitem>
<listitem
><para
>%l %{album} Альбом</para
></listitem>
<listitem
><para
>%c %{comment} Комментарий</para
></listitem>
<listitem
><para
>%y %{year} Год</para
></listitem>
<listitem
><para
>%t %{track} Номер дорожки (например, 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Номер дорожки с шириной поля n (например, 001 для %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Номер дорожки (без нулей в начале, например, 1)</para
></listitem>
<listitem
><para
>%g %{genre} Жанр</para
></listitem>
<listitem
><para
>%{dirname} Имя каталога (например, %{year" "}%{dirname} добавит в начале имени текущего каталога год)</para
></listitem>
<listitem
><para
>%{max-year} Максимальное значение года, найденное для этого каталога, также может использоваться с другими кодами, отличными от «year»</para
></listitem>
<listitem
><para
>%{min-year} Минимальное значение года, найденное для этого каталога</para
></listitem>
<listitem
><para
>%{unq-year} Уникальное значение года, найденное для этого каталога, или пустое значение, если уникальное не найдено</para
></listitem>
</itemizedlist>

<para
>Если в формате присутствует разделитель каталогов «/», будет создано несколько каталогов. Если требуется не переименовать текущий каталог, а создать новый, воспользуйтесь раскрывающимся списком <guilabel
>Действие</guilabel
> и выберите вариант <guilabel
>Создать каталог</guilabel
> вместо <guilabel
>Переименовать каталог</guilabel
>. <guilabel
>Источник</guilabel
> данных тега возможно установить в одно из следующих значений: <guilabel
>Тег 1 и тег 2</guilabel
>, <guilabel
>Тег 1</guilabel
> или <guilabel
>Тег 2</guilabel
>. Предварительный просмотр действия по переименованию первого файла доступен в разделах диалога <guilabel
>Из</guilabel
> и <guilabel
>В</guilabel
>. </para>
<para
>Чтобы переименовать сразу несколько каталогов, выделите их. </para
></listitem>
</varlistentry>

<varlistentry id="number-tracks">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Пронумеровать дорожки...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Если номера дорожек в тегах не указаны или установлены неправильно, эта функция позволит <action
>автоматически пронумеровать дорожки по возрастанию</action
>. В диалоге возможно указать начальный номер. Если требуется пронумеровать только часть дорожек, сначала их следует выделить. </para
><para
>Также в тегах будет указано количество дорожек, если установлен флажок <guilabel
>Всего дорожек</guilabel
>. </para
><para
>Возможно пронумеровать дорожки в нескольких каталогах. Нужные каталоги следует развернуть и выделить. </para
><para
>Если установлен флажок <guilabel
>Начинать заново в каждой папке</guilabel
>, в каждом выделенном каталоге нумерация дорожек будет начата заново с указанного номера. </para
><para
>Диалог нумерации дорожек также позволяет отформатировать уже присвоенные номера без изменения их значений, если снят флажок <guilabel
>Начальный номер</guilabel
>. Общее количество дорожек будет добавлено, если установлен соответствующий флажок, который предназначен для установки общего количества для всех выбранных дорожек. Если требуется выполнить только форматирование существующих номеров, этот флажок также необходимо снять. </para
></listitem>
</varlistentry>

<varlistentry id="filter">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Фильтр...</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Фильтр предоставляет возможность отображения только тех файлов, которые соответствуют определённым требованиям. Эта функция полезна при работе с большой коллекцией, она позволяет отредактировать только определённые файлы. В выражении, определяющем, какие файлы будут показаны, используются те же коды формата, что и для формата имени файла, импорта и экспорта. </para>

<itemizedlist>
<listitem
><para
>%s %{title} Заголовок (композиции)</para
></listitem>
<listitem
><para
>%a %{artist} Исполнитель</para
></listitem>
<listitem
><para
>%l %{album} Альбом</para
></listitem>
<listitem
><para
>%c %{comment} Комментарий</para
></listitem>
<listitem
><para
>%y %{year} Год</para
></listitem>
<listitem
><para
>%t %{track} Номер дорожки (например, 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Номер дорожки с шириной поля n (например, 001 для %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Номер дорожки (без нулей в начале, например, 1)</para
></listitem>
<listitem
><para
>%g %{genre} Жанр</para
></listitem>
<listitem
><para
>%f %{file} Имя файла</para
></listitem>
<listitem
><para
>%p %{filepath} Абсолютный путь к файлу</para
></listitem>
<listitem
><para
>%e %{extension} Расширение файла</para
></listitem>
<listitem
><para
>%O %{tag1} Формат тега 1 (ID3v1.1 или пустое значение, если не существует)</para
></listitem>
<listitem
><para
>%o %{tag2} Формат тега 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF, или пустое значение, если не существует)</para
></listitem>
<listitem
><para
>%b %{bitrate} Скорость передачи в кбит/с</para
></listitem>
<listitem
><para
>%v %{vbr} Переменная скорость или пустое значение (только для ID3v2.3 с id3lib)</para
></listitem>
<listitem
><para
>%r %{samplerate} Частота дискретизации в Гц</para
></listitem>
<listitem
><para
>%m %{mode} Режим каналов (cтерео или объединённое стерео)</para
></listitem>
<listitem
><para
>%h %{channels} Количество каналов (1 или 2)</para
></listitem>
<listitem
><para
>%k %{codec} Кодек (например, MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)</para
></listitem>
<listitem
><para
>%w %{marked} Отмечено, равно 1, если файл содержит отметку (например, из-за усечения или нарушения стандарта), является пустым, если отметок нет</para
></listitem>
<listitem
><para
>%1a %1{artist}, ... Использовать префикс 1, чтобы получить значения тега 1</para
></listitem>
<listitem
><para
>%2a %2{artist}, ... Использовать префикс 2, чтобы получить значения тега 2</para
></listitem>
</itemizedlist>

<para
>Эти коды заменяются значениями для файла, и полученные строки можно будет сравнивать со следующими операциями: </para>
<itemizedlist>
<listitem
><para
>s1 equals s2: выполняется, если s1 равно s2.</para
></listitem>
<listitem
><para
>s1 contains s2: выполняется, если s1 содержит s2, то есть s2 — это подстрока s1.</para
></listitem>
<listitem
><para
>s matches re: выполняется, если s соответствует регулярному выражению re.</para
></listitem>
</itemizedlist>
<para
>Выражения, вычисление которых даёт значение true, будут заменены на 1, а те, которые дают false, — на 0. Значение ИСТИНА (true) может быть представлено как 1, true, on и yes, значение ЛОЖЬ — 0, false, off и no. Логические операции not, and, or (в таком порядке приоритета) возможно группировать с помощью скобок. </para>
<para
>Некоторые правила фильтрации уже предустановлены и могут служить примерами для пользовательских выражений: </para>

<variablelist>
<varlistentry
><term
>All</term
><listitem>
<para
>Если к списку файлов был применён фильтр, в заголовке окна будет отображена надпись «[фильтровано]». Этот пункт позволяет снять фильтрацию, и все файлы снова будут отображаться. В соответствующем фильтре используется пустое выражение, но значение «true» для фильтра тоже приведёт к тому же результату. </para>
</listitem
></varlistentry>

<varlistentry
><term
>Filename Tag Mismatch</term
><listitem>
<para
><userinput
>not (%{filepath} contains "%{artist} - %{album}/%{track} %{title}") </userinput
></para>
<para
>Проверяет, соответствует ли путь к файлу формату названия этого файла. Это правило автоматически синхронизируется с изменениями в формате названий файлов. </para>
</listitem
></varlistentry>

<varlistentry
><term
>No Tag 1</term
><listitem>
<para
><userinput
>%{tag1} equals "" </userinput
></para>
<para
>Отображает только те файлы, которые не содержат тег 1.</para>
</listitem
></varlistentry>

<varlistentry
><term
>No Tag 2</term
><listitem>
<para
><userinput
>%{tag2} equals "" </userinput
></para>
<para
>Отображает только те файлы, которые не содержат тег 2.</para>
</listitem
></varlistentry>

<varlistentry
><term
>ID3v2.3.0 Tag</term
><listitem>
<para
><userinput
>%{tag2} equals "ID3v2.3.0" </userinput
></para>
<para
>Отображает только те файлы, которые содержат тег ID3v2.3.0.</para>
</listitem
></varlistentry>

<varlistentry
><term
>ID3v2.4.0 Tag</term
><listitem>
<para
><userinput
>%{tag2} equals "ID3v2.4.0" </userinput
></para>
<para
>Отображает только те файлы, которые содержат тег ID3v2.4.0.</para>
</listitem
></varlistentry>

<varlistentry
><term
>Tag 1 != Tag 2</term
><listitem>
<para
><userinput
>not (%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}) </userinput
></para>
<para
>Отображает файлы с различиями между тегом 1 и тегом 2.</para>
</listitem
></varlistentry>

<varlistentry
><term
>Tag 1 == Tag 2</term
><listitem>
<para
><userinput
>%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} </userinput
></para>
<para
>Отображает файлы с одинаковыми тегом 1 и тегом 2.</para>
</listitem
></varlistentry>

<varlistentry
><term
>Incomplete</term
><listitem>
<para
><userinput
>%{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals "" </userinput
></para>
<para
>Отображает файлы с пустыми значениями в стандартных тегах (заголовок, исполнитель, альбом, дата, номер дорожки, жанр).</para>
</listitem
></varlistentry>

<varlistentry
><term
>No Picture</term
><listitem>
<para
><userinput
>%{picture} equals "" </userinput
></para>
<para
>Отображает только те файлы, которые не содержат обложку.</para>
</listitem
></varlistentry>

<varlistentry
><term
>Marked</term
><listitem>
<para
><userinput
>not (%{marked} equals "") </userinput
></para>
<para
>Отображает только те файлы, которые отмечены, потому что они не соответствуют стандарту ID3, усечены или содержат слишком большое изображение обложки альбома.</para>
</listitem
></varlistentry>

<varlistentry
><term
>Custom Filter</term
><listitem>
<para
>Выберите этот пункт, чтобы добавить собственный фильтр. Например, если требуется создать фильтр для исполнителей, названия которых начинаются со слова «The», замените текст «Custom Filter» на название «The-группы» и нажмите клавишу <keycap
>Enter</keycap
>. Вставьте следующее выражение в строку редактирования: </para>
<para
><userinput
>%{artist} matches "The.*" </userinput
></para>
<para
>Затем нажмите кнопку <guibutton
>Сохранить параметры</guibutton
>. Чтобы применить фильтр к файлам, нажмите кнопку <guibutton
>Применить</guibutton
>. Все обработанные файлы отображаются в текстовом виде со знаком «+» для тех файлов, которые соответствуют фильтру, и «-» для остальных. По окончании отображаются только файлы с исполнителем, название которого начинается с «The», а в заголовке окна появляется надпись «[фильтровано]». </para>
</listitem
></varlistentry>

</variablelist>
</listitem>
</varlistentry>

<varlistentry id="convert-to-id3v24">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Преобразовать ID3v2.3 в ID3v2.4</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Если в выделенных файлах содержатся теги ID3v2.3, они будут <action
>преобразованы в теги ID3v2.4</action
>. Фреймы, которые не поддерживаются библиотекой TagLib, не будут учитываться. Преобразовываются только файлы без несохранённых изменений. </para
></listitem>
</varlistentry>

<varlistentry id="convert-to-id3v23">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Преобразовать ID3v2.4 в ID3v2.3</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Если в выделенных файлах содержатся теги ID3v2.4, они будут <action
>преобразованы в теги ID3v2.3</action
>. Преобразовываются только файлы без несохранённых изменений. </para
></listitem>
</varlistentry>

<varlistentry id="play">
<term
><menuchoice
><guimenu
>Сервис</guimenu
> <guimenuitem
>Воспроизведение</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Открывает простую панель инструментов для воспроизведения аудиофайлов. Панель содержит кнопки для стандартных действий (<guibutton
>Воспроизвести или приостановить</guibutton
>, <guibutton
>Остановить воспроизведение</guibutton
>, <guibutton
>Предыдущая дорожка</guibutton
>, <guibutton
>Следующая дорожка</guibutton
>, <guibutton
>Закрыть</guibutton
>), ползунки для регулирования позиции и громкости, а также индикатор текущей позиции. Если выбрано несколько файлов, будут воспроизводиться выбранные дорожки. Если же ничего не выбрано, будут воспроизводиться все файлы. </para
></listitem>
</varlistentry>

</variablelist>
</para>
</sect1>

<sect1 id="settings-menu">
<title
>Меню «Настройка»</title>
<para>
<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Показать панель инструментов</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Переключает отображение панели инструментов.</action
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Показать строку состояния</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Переключает отображение строки состояния</action
>, в которой показаны более длительные действия, такие как открытие или сохранение каталога.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Показывать изображение</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Переключает отображение обложки.</action>
</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Автоматически скрывать теги</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Если флажок установлен, пустые теги будут скрыты автоматически. Кнопки <guibutton
>-</guibutton
>/<guibutton
>+</guibutton
> позволяют вручную свернуть или развернуть разделы <guilabel
>Файл</guilabel
>, <guilabel
>Тег 1</guilabel
> и <guilabel
>Тег 2</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry id="configure-shortcuts">
<term
><menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Комбинации клавиш...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Открывает диалог настройки комбинаций клавиш для большинства функциональных возможностей программы. Доступны даже функции без соответствующего пункта меню или кнопки, например, переход к следующему файлу, предыдущему файлу, выбор всех файлов. </para>
 
</listitem>
</varlistentry>

<varlistentry id="configure-kid3">
<term
><menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить &kid3;...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Открывает <action
>диалог настройки параметров приложения</action
>, который содержит разделы для настройки тегов, файлов, команд пользователя и параметров сети. </para>
<para
>Параметры тегов доступны в разделе <guilabel
>Теги</guilabel
>, который разделён на четыре вкладки: <guilabel
>Тег 1</guilabel
>, <guilabel
>Тег 2</guilabel
>, <guilabel
>Тег 3</guilabel
> и <guilabel
>Все теги</guilabel
>. </para>
<para
>Если установлен флажок <guilabel
>Отмечать усечённые поля</guilabel
>, усечённые поля ID3v1.1 будут отмечены красным цветом. Текстовые поля тегов ID3v1.1 могут иметь не более 30 символов, а комментарии — не более 28. Также ограничено количество символов в полях жанра и нумерации дорожек, поэтому поля могут быть усечены при импорте или преобразовании из ID3v2. Усечённые поля и сам файл будут отмечены красным цветом. После редактирования поля такое выделение цветом будет снято. </para>
<para
>Параметр <guilabel
>Кодировка текста</guilabel
> для тегов <guilabel
>ID3v1</guilabel
> позволяет установить набор символов, используемый в тегах ID3v1. Стандартной кодировкой является ISO-8859-1, поэтому рекомендуется не менять это значение. Однако существуют теги с другой кодировкой; такую кодировку возможно указать с помощью этого параметра, чтобы затем скопировать теги ID3v1 в ID3v2, где предусмотрена поддержка Unicode. </para>
<para
>Флажок <guilabel
>Использовать формат «номер дорожки / всего дорожек»</guilabel
> определяет, будет ли поле номера дорожки тегов ID3v2 содержать просто номер дорожки или также и общее количество дорожек в каталоге. </para>
<para
>Если установлен флажок <guilabel
>Жанр как текст (вместо числовой строки)</guilabel
>, все жанры в тегах ID3v2 будут сохранены в виде текстовой строки, даже если существует соответствующий код для жанров в тегах ID3v1. Если этот флажок снят, жанры, для которых существует код в тегах ID3v1, будут сохранены в формате числа — кода жанра (в скобках для тега ID3v2.3). Таким образом, жанр Metal будет сохранён как «Metal» или «(9)» в зависимости от значения этого параметра. Жанры, которых нет в списке жанров в тегах ID3v1, всегда сохраняются в виде текстовой строки. Цель этой опции — улучшить совместимость с устройствами, которые неправильно интерпретируют коды жанров. </para>
<para
>Если установлен флажок <guilabel
>Файлы WAV с блоком id3 в нижнем регистре</guilabel
>, блок RIFF, используемый для хранения тегов ID3v2 в файлах WAV, будет называться «id3» вместо «ID3». По умолчанию &kid3; и другие приложения, использующие TagLib, принимают как строчные, так и прописные варианты при чтении файлов WAV, но при записи тегов ID3v2 в файлы WAV они используют вариант «ID3». Поскольку существуют другие приложения, которые принимают только вариант «id3» (например, JRiver Media Center и foobar2000), эта опция позволяет создавать теги, которые могут быть прочитаны такими приложениями. </para>
<para
>Если установлен флажок <guilabel
>Отмечать нарушения стандарта</guilabel
>, поля тегов ID3v2, нарушающие стандарт, будут отмечены красным. Подробная информация о нарушении отображается во всплывающей подсказке: </para>
<itemizedlist>
<listitem
><para
>Должно быть уникальным</para
></listitem>
<listitem
><para
>Перевод строки запрещён</para
></listitem>
<listitem
><para
>Возврат каретки запрещён</para
></listitem>
<listitem
><para
>Необходимо ввести сведения о владельце</para
></listitem>
<listitem
><para
>Должно быть в числовом формате</para
></listitem>
<listitem
><para
>Должно быть в числовом формате или формате «номер / общее количество»</para
></listitem>
<listitem
><para
>Формат — ДДММ</para
></listitem>
<listitem
><para
>Формат — ЧЧММ</para
></listitem>
<listitem
><para
>Формат — ГГГГ</para
></listitem>
<listitem
><para
>Должно начинаться с года и пробела</para
></listitem>
<listitem
><para
>Формат даты и времени должен соответствовать стандарту ISO 8601</para
></listitem>
<listitem
><para
>Должно быть музыкальным ключом, 3 символа, A-G, b, #, m, o,</para
></listitem>
<listitem
><para
>Код языка должен соответствовать стандарту ISO 639-2, 3 символа в нижнем регистре</para
></listitem>
<listitem
><para
>Должно быть кодом ISRC, 12 символов</para
></listitem>
<listitem
><para
>Должно быть списком строк, разделённых «|»</para
></listitem>
<listitem
><para
>Имеется лишний пробел</para
></listitem>
</itemizedlist>
<para
>Документы по стандартам ID3, доступные в сети: </para>
<itemizedlist>
<listitem
><para
><ulink url="http://id3.org/id3v2.3.0"
>тег ID3 версии 2.3.0</ulink
></para
></listitem>
<listitem
><para
><ulink url="http://id3.org/id3v2.4.0-structure"
>Тег ID3 версии 2.4.0 — основная структура</ulink
></para
></listitem>
<listitem
><para
><ulink url="http://id3.org/id3v2.4.0-frames"
>Тег ID3 версии 2.4.0 — нативные фреймы</ulink
></para
></listitem>
</itemizedlist>
<para
><guilabel
>Кодировка текста</guilabel
> определяет кодировку по умолчанию для фреймов ID3v2: <guilabel
>ISO-8859-1</guilabel
>, <guilabel
>UTF16</guilabel
> или <guilabel
>UTF8</guilabel
>. <guilabel
>UTF8</guilabel
> не поддерживается фреймами ID3v2.3.0; если указана эта кодировка, вместо неё будет использоваться кодировка <guilabel
>UTF16</guilabel
>. Для фреймов ID3v2.4.0 возможно использовать все три типа кодировки. </para>
<para
><guilabel
>Версия, используемая для новых тегов</guilabel
> позволяет указать, в какой версии должны создаваться новые теги ID3v2: 2.3.0 или 2.4.0. </para>
<para
><guilabel
>Количество цифр в номере дорожки</guilabel
> — это количество цифр в полях «Номер дорожки». Для заполнения используются нули в начале. Например, при значении 2 номер дорожки 5 устанавливается как «05». </para>
<para
>Раскрывающийся список <guilabel
>Имя поля комментария</guilabel
> предназначен только для файлов Ogg/Vorbis и FLAC и задаёт имя поля, используемого для комментариев. Разные приложения используют разные названия, например, «<literal
>COMMENT</literal
>» используется приложением <application
>XMMS</application
>, а &amarok; использует название «<literal
>DESCRIPTION</literal
>». </para>
<para
>Формат изображений в файлах Ogg/Vorbis указывается в раскрывающемся списке <guilabel
>Имя поля изображения</guilabel
>, значениями которого могут быть «<literal
>METADATA_BLOCK_PICTURE</literal
>» или «<literal
>COVERART</literal
>». Первое значение — это официальный стандарт, использующий тот же формат, что и изображения в тегах FLAC. «<literal
>COVERART</literal
>» — это более ранний неофициальный способ включения изображений в комментарии Vorbis. Он позволяет обеспечивать совместимость с устаревшими проигрывателями. </para>
<para
>Если установлен флажок <guilabel
>Отмечать, если размер больше, чем (в байтах)</guilabel
>, файлы, содержащие встроенную обложку, размер которых превышает указанное значение в байтах, будут отмечены красным. Эта функция позволяет найти файлы, содержащие слишком большие изображения, которые могут не поддерживаться некоторыми приложениями или проигрывателями. Значение по умолчанию — 131072 байта (128 КБ). </para>
<para
>Раздел <guilabel
>Пользовательские жанры</guilabel
> позволяет указывать жанры, отсутствующие в стандартном списке жанров, например, «Gothic Metal». Такие пользовательские жанры появятся в раскрывающемся списке <guilabel
>Жанр</guilabel
> в разделе <guilabel
>Тег 2</guilabel
>. В тегах ID3v1.1 возможно указывать только предустановленные жанры. </para>
<para
>Список пользовательских жанров также возможно использовать для сокращения количества вариантов в раскрывающемся списке <guilabel
>Жанр</guilabel
> до тех, которые используются чаще всего. Например, если коллекция в основном содержит музыку в жанрах «Metal», «Gothic Metal», «Ancient» и «Hard Rock», внесите жанры в этот список и установите флажок <guilabel
>Показывать только пользовательские жанры</guilabel
>. Тогда раскрывающийся список <guilabel
>Жанр</guilabel
> в разделе <guilabel
>Тег 2</guilabel
> будет содержать только эти четыре жанра, и искать их в полном списке не понадобится. В таком примере в списке жанров тега 1 будут отображаться только «Metal» и «Hard Rock», потому что эти два пользовательских жанра являются стандартными жанрами. Если флажок <guilabel
>Показывать только пользовательские жанры</guilabel
> не установлен, пользовательские жанры будут расположены в конце списка жанров. </para>
<para
>Раздел <guilabel
>Фреймы быстрого доступа</guilabel
> позволяет указать, какие типы фреймов следует всегда отображать в разделе <link linkend="tag2"
>Тег 2</link
>. Такие фреймы затем можно будет добавить без предварительного использования кнопки <guibutton
>Добавить</guibutton
>. Чтобы изменить порядок фреймов быстрого доступа, воспользуйтесь функцией перетаскивания </para>
<para
>Значение в раскрывающемся списке <guilabel
>Имя поля номера дорожки</guilabel
> используется только для данных RIFF INFO. С его помощью возможно указать название поля, используемого для номеров дорожек. Название поля номера дорожки не определено в исходном стандарте RIFF. В некоторых программах используется «<literal
>ITRK</literal
>», в других — «<literal
>IPRT</literal
>». </para>
<para
>Раздел <guilabel
>Формат тега</guilabel
> содержит параметры для форматирования тегов. Если установлен флажок <guilabel
>Автоматически применять формат</guilabel
>, заданные параметры форматирования будут автоматически применяться при правке текста в строках редактирования. Флажок <guilabel
>Проверка</guilabel
> включает или отключает средства проверки значений номера дорожки по общему количеству дорожек и значений даты и времени. Раскрывающийся список <guilabel
>Преобразование регистра</guilabel
> позволяет выбрать один из вариантов изменения регистра: <guilabel
>Нет изменений</guilabel
>, <guilabel
>Все строчные</guilabel
>, <guilabel
>Все прописные</guilabel
>, <guilabel
>Первая буква — прописная</guilabel
> или <guilabel
>Все первые буквы — прописные</guilabel
>. Чтобы использовать локаль для преобразования букв между верхним и нижним регистром, воспользуйтесь расположенным ниже раскрывающимся списком. Список заменителей позволяет настроить произвольное преобразование строк. Чтобы добавить новое сопоставление, выделите ячейку в столбце <guilabel
>Из</guilabel
>, вставьте в неё текст, который следует заменить, затем перейдите к соответствующей ячейке в столбце <guilabel
>В</guilabel
> и вставьте в неё замещающий текст. Если текст, который следует заменить, начинается и заканчивается символом косой черты «/», предполагается, что использовано регулярное выражение. Для регулярных выражений, содержащих группы захвата в круглых скобках, соответствующие им заменители \1, \2, ... в ячейке столбца <guilabel
>В</guilabel
> заменяются строкой, захваченной соответствующей группой захвата. Чтобы удалить соответствие, укажите в поле <guilabel
>Из</guilabel
> пустое значение (например, нажав клавишу пробела, а затем клавишу Backspace). Добавить или удалить строки также возможно с помощью контекстного меню, которое вызывается щелчком правой кнопки мыши. Замена выполняется только в том случае, если установлен флажок <guilabel
>Замена строк</guilabel
>. </para>

<para
>Таблица в разделе <guilabel
>Рейтинг</guilabel
> содержит сопоставления рейтинга (в звёздах) с текущими значениями, хранящимися в теге. Фреймы с данными рейтинга содержатся в строке «Рейтинг» <link linkend="table-frame-list"
>списка фреймов</link
>. Для этих фреймов рейтинг устанавливается путём присвоения определённого количества звёзд из пяти звёзд. В разных форматах тегов и разных приложениях используются разные значения для привязки этой оценки в звёздах к значению, хранящемуся в теге. Чтобы отображать количество присвоенных звёзд корректно, программа &kid3; обращается к этой таблице. Ключом для поиска соответствующей информации является название фрейма, например, в комментариях Vorbis это будет «RATING», а в RIFF INFO — «IRTD». Для тегов ID3v2 используется комбинированный ключ, содержащий идентификатор «POPM» фрейма Popularimeter и поле «Email», отделённое точкой. Таким образом, для тегов ID3v2 существуют разные ключи, например, «POPM.Windows Media Player 9 Series» для привязки, используемой приложениями Windows Media Player и Explorer, и просто «POPM» для фреймов POPM с пустым полем «Email». Так как для «POPM» может существовать несколько записей, их порядок важен. Когда &kid3; добавляет новый фрейм Popularimeter, для определения значения, которое будет записано в поле «Email», используется первая запись «POPM». Это значение затем укажет привязку, которая будет использоваться для оценки в звёздах. Первая запись также используется как запись по умолчанию в случаях, когда ключ не был найден. </para>
<para
>Помимо столбца <guilabel
>Имя</guilabel
>, содержащего ключи, в таблице представлены столбцы от <guilabel
>1</guilabel
> до <guilabel
>5</guilabel
> для значений параметров, которые будут записаны в тег, если дорожке будет назначена соответствующая оценка в звёздах. И наоборот, эти значения определяют количество звёзд, которые будут отображаться для значения, хранящегося во фрейме. Например, строка таблицы ниже содержит значения 1, 64, 128, 196, 255. Пороговые значения количества звёзд, которые будут показаны для оценок, лежащих между этими значениями, совместимы с используемыми в  &Windows; Explorer. </para>

<table id="table-rating">
  <title
>Запись в таблице оценок</title>
  <tgroup cols="6">
    <thead>
      <row
><entry
>Имя</entry
><entry
>1</entry
> <entry
>2</entry
>  <entry
>3</entry
>  <entry
>4</entry
>  <entry
>5</entry
></row>
    </thead>
    <tbody>
      <row
><entry
>POPM</entry
><entry
>1</entry
><entry
>64</entry
><entry
>128</entry
><entry
>196</entry
><entry
>255</entry
></row>
      <row
><entry
>Диапазон</entry
><entry
>1-31</entry
><entry
>32-95</entry
><entry
>96-159</entry
><entry
>160-223</entry
><entry
>224-255</entry
></row>
    </tbody>
  </tgroup>
</table>

<para
>Флажок <guilabel
>Загружать при запуске файлы, открытые при последнем выходе</guilabel
>, расположенный на вкладке <guilabel
>Файлы</guilabel
>, позволяет &kid3; при следующем запуске открывать файл, который был открыт при последнем выходе. Флажок <guilabel
>Сохранять метки времени изменения файлов</guilabel
> позволяет сохранять метку времени изменения файла. Поле ввода <guilabel
>Имя файла обложки</guilabel
> предназначено для указания имени, которое будет предложено при экспорте встроенного изображения в файл. Раскрывающийся список <guilabel
>Кодировка текста (экспорт, список воспроизведения)</guilabel
> позволяет указать кодировку, используемую при записи файлов. Стандартный вариант <guilabel
>System</guilabel
> возможно изменить, например, если списки воспроизведения будут использоваться на другом устройстве. </para>
<para
>Если установлен флажок <guilabel
>Отмечать изменения</guilabel
>, изменённые поля будут отмечены светло-серым фоном. </para>
<para
>Раздел <guilabel
>Список файлов</guilabel
> позволяет указать, какие файлы следует отображать в списке файлов. С помощью раскрывающегося списка <guilabel
>Фильтр</guilabel
> возможно задать отображение в списке только тех файлов, которые имеют поддерживаемые расширения. Чтобы явным образом указать, какие каталоги следует отображать или исключить в списке файлов, воспользуйтесь полями ввода <guilabel
>Включить папки</guilabel
> и <guilabel
>Исключить папки</guilabel
>. Эти поля могут содержать выражения с подстановочными знаками, например, <filename
>*/Музыка/*</filename
> для включения только каталога <filename
>Музыка</filename
> или <filename
>*/iTunes/*</filename
> для исключения каталога iTunes из списка файлов. Если необходимо использовать несколько таких выражений, их следует разделить пробелами или точками с запятой. </para>
<para
>Кнопки <guibutton
>Имя файла из тега...</guibutton
> и <guibutton
>Тег из имени файла...</guibutton
> в разделе <guilabel
>Формат</guilabel
> открывают диалоги для редактирования форматов, доступных в раскрывающихся списках <guilabel
>Формат</guilabel
> (со стрелками вверх и вниз), которые расположены в разделе <link linkend="file"
>«Файл»</link
> главного окна. </para>
<para
><guilabel
>Формат имени файла</guilabel
> содержит параметры формата имён файлов. Доступны те же параметры, что и в разделе <guilabel
>Формат тега</guilabel
>. </para>
<para
>Вкладка <guilabel
>Команды пользователя</guilabel
> содержит таблицу со списком команд, доступных в контекстном меню списка файлов. Для важных действий наподобие удаления файлов рекомендуется установить флажок <guilabel
>Подтвердить</guilabel
>, чтобы перед выполнением команды появлялось всплывающее окно для подтверждения действия. Флажок <guilabel
>Вывод</guilabel
> позволяет отображать для просмотра вывод консольных команд (стандартный вывод и стандартные ошибки). В столбце <guilabel
>Имя</guilabel
> указано имя для отображения в контекстном меню. Столбец <guilabel
>Команда</guilabel
> содержит команду для выполнения. Для передачи аргументов доступны следующие коды: </para>

<itemizedlist>
<listitem
><para
>%F %{files} Пути файлов (в виде списка, если было выбрано несколько файлов)</para
></listitem>
<listitem
><para
>%f %{file} Путь к отдельному файлу</para
></listitem>
<listitem
><para
>%uF %{urls} &URL;-адреса (в виде списка, если было выбрано несколько файлов)</para
></listitem>
<listitem
><para
>%uf %{url} &URL;-адрес отдельного файла</para
></listitem>
<listitem
><para
>%d %{directory} Каталог</para
></listitem>
<listitem
><para
>%s %{title} Заголовок (композиции)</para
></listitem>
<listitem
><para
>%a %{artist} Исполнитель</para
></listitem>
<listitem
><para
>%l %{album} Альбом</para
></listitem>
<listitem
><para
>%c %{comment} Комментарий</para
></listitem>
<listitem
><para
>%y %{year} Год</para
></listitem>
<listitem
><para
>%t %{track} Номер дорожки (например, 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Номер дорожки с шириной поля n (например, 001 для %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Номер дорожки (без нулей в начале, например, 1)</para
></listitem>
<listitem
><para
>%g %{genre} Жанр</para
></listitem>
<listitem
><para
>%b %{browser} Команда для запуска веб-браузера</para
></listitem>
<listitem
><para
>%q %{qmlpath} Базовый каталог предоставленных файлов QML</para
></listitem>
</itemizedlist>

<para
>Cпециальный код, <command
>@separator</command
>, возможно использовать в качестве команды, добавляющей разделитель в контекстное меню команд пользователя. Чтобы добавить пункты меню как вложенное меню, перед ними следует указать команду <command
>@beginmenu</command
>, а после них — команду <command
>@endmenu</command
>. Название меню будет определяться столбцом <guilabel
>Имя</guilabel
> команды <command
>@beginmenu</command
>. </para>

<para id="configure-user-actions-qml"
>Чтобы выполнить сценарии QML, используйте <command
>@qml</command
> в качестве названия команды. Путь к сценарию QML передаётся в качестве параметра. Соответствующие сценарии расположены в каталоге <filename
>%{qmlpath}/script/</filename
> (в &Linux; это обычно путь <filename
>/usr/share/kid3/qml/script/</filename
>, в Windows — <filename
>qml/script/</filename
> внутри папки установки, в &macOS; — в каталоге приложения <filename
>kid3.app/Contents/Resources/qml/script/</filename
>). Пользовательские сценарии возможно хранить в любом каталоге. Если в коде QML задействованы компоненты графического интерфейса, вместо <command
>@qml</command
> следует использовать <command
>@qmlview</command
>. Дополнительные параметры передаются в сценарий QML, где они будут доступны с помощью функции <function
>getArguments()</function
>. Обзор некоторых функций и свойств, доступных в QML, доступен в приложении  <link linkend="qml-interface"
>Интерфейс QML</link
>. </para>

<para
>Команда, которая будет вставлена вместо %{browser}, указывается в строке <guilabel
>Веб-браузер</guilabel
>. Команды, которые начинаются с символов %{browser}, используются для получения информации об аудиофайлах из Интернета. Например, команда <screen width="40">
<userinput
>%{browser} http://lyricwiki.org/%u{artist}:%u{title}</userinput>
</screen
> проведёт поиск текста текущей песни на сайте <ulink url="http://www.lyricwiki.org"
>LyricWiki</ulink
>. Символ «u» в %u{artist} и %u{title} означает, что это закодированная в формате &URL; информация об исполнителе %{artist} и песне %{title}. Таким же образом возможно указывать собственные запросы; например, поиск изображений в <ulink url="http://www.google.com"
>Google</ulink
> будет выглядеть следующим образом: <screen width="40"
><userinput
>%{browser} http://images.google.com/images?q=%u{artist}%20%u{album}</userinput
>
</screen>
</para>
<para
>Чтобы добавить обложку альбома в тег 2, возможно выполнить поиск изображений с помощью Google или Amazon, используя приведённые выше команды. Для добавления изображения в тег воспользуйтесь функцией перетаскивания или кнопкой <guibutton
>Добавить</guibutton
>; после нажатия этой кнопки следует выбрать фрейм изображения и импортировать файл изображения или вставить его из буфера обмена. Фреймы изображений поддерживаются для тегов ID3v2, MP4, FLAC, Ogg и ASF. </para>
<para
>Чтобы добавить или удалить записи в таблице, воспользуйтесь контекстном меню. </para>
<para
>На вкладке <guilabel
>Сеть</guilabel
> доступно только поле для вставки адреса прокси-сервера и (необязательно) порта, разделённых двоеточием. Прокси-сервер будет использоваться при импорте с интернет-сервера, если установлен соответствующий флажок. </para>
<para
>Вкладка <guilabel
>Модули</guilabel
> позволяет подключить или отключить модули. Вкладка содержит два раздела. Первый, список <guilabel
>Модули для работы с метаданными и приоритет</guilabel
>, содержит модули, поддерживающие форматы аудиофайлов. В этом разделе важен порядок модулей, потому что приложение использует их по списку с первой позиции до последней. Некоторые форматы поддерживаются несколькими модулями, поэтому файлы будут открыты первым модулем из списка, поддерживающим их. Модуль <guilabel
>TaglibMetadata</guilabel
> поддерживает большинство форматов; если этот модуль будет расположен в верхней части списка, с его помощью будет возможно открыть большое количество файлов. Если требуется использовать другой модуль, расположите его над модулем <guilabel
>TaglibMetadata</guilabel
>. Подробные сведения о модулях для работы с метаданными и информация о том, почему рекомендуется использовать тот или иной модуль вместо TagLib, приведены далее. </para>
<itemizedlist>
<listitem
><para
><guilabel
>Id3libMetadata</guilabel
>: использует библиотеку <ulink url="http://id3lib.sourceforge.net"
>id3lib</ulink
> для тегов ID3v1.1 и ID3v2.3 в файлах MP3, MP2, AAC. Поддерживает чуть больше типов фреймов, чем TagLib.</para
></listitem>
<listitem
><para
><guilabel
>OggFlacMetadata</guilabel
>: использует <ulink url="http://xiph.org/ogg/"
>libogg</ulink
>, <ulink url="http://xiph.org/vorbis/"
>libvorbis, libvorbisfile</ulink
> для файлов Ogg и дополнительно <ulink url="http://flac.sourceforge.net"
>libFLAC++ и libFLAC</ulink
> для файлов FLAC. Это официальные библиотеки для этих форматов.</para
></listitem>
<listitem
><para
><guilabel
>TaglibMetadata</guilabel
>: использует библиотеку <ulink url="http://taglib.github.io/"
>TagLib</ulink
>, которая поддерживает большое количество форматов аудио. Может быть использован для всех файлов, поддерживаемых &kid3;.</para
></listitem>
<listitem
><para
><guilabel
>Mp4v2Metadata</guilabel
>: библиотека <ulink url="http://code.google.com/p/mp4v2"
>mp4v2</ulink
> изначально использовалась в &kid3; для поддержки файлов M4A. Может быть использован, если возникают проблемы с поддержкойформата M4A модулем TagLib. </para
></listitem>
</itemizedlist>
<para
>Раздел <guilabel
>Доступные модули</guilabel
> отображает список остальных модулей. Их порядок в списке не важен. Эти модули подключаются и отключаются с помощью флажков. </para>
<itemizedlist>
<listitem
><para
><guilabel
>AmazonImport</guilabel
>: используется для функции <guimenuitem
>Импорт из Amazon...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>DiscogsImport</guilabel
>: используется для функции <guimenuitem
>Импорт из Discogs...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>FreedbImport</guilabel
>: используется для функции <guimenuitem
>Импорт из gnudb.org...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>MusicBrainzImport</guilabel
>: используется для функции <guimenuitem
>Импорт из MusicBrainz (релиз)...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>AcoustidImport</guilabel
>: используется для функции <guimenuitem
>Импорт из MusicBrainz (отпечаток)...</guimenuitem
>, работа которой зависит от библиотек <ulink url="http://acoustid.org/chromaprint"
>Chromaprint</ulink
> и <ulink url="http://libav.org/"
>libav</ulink
>. </para
></listitem>
</itemizedlist>
<para
>Отключённые модули не будут загружены. Это позволяет оптимизировать потребление ресурсов и время запуска. Изменённые параметры этой вкладки вступят в силу только после перезапуска &kid3;. </para>
</listitem>
</varlistentry>

</variablelist>
</para>

</sect1>

<sect1 id="help-menu">
<title
>Меню «Справка»</title>
<para>
<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>Справка</guimenu
> <guimenuitem
>Руководство пользователя &kid3;</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Открывает данное руководство пользователя.</action
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Справка</guimenu
> <guimenuitem
>О программе &kid3;</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Отображает краткую информацию о &kid3;. </action
></para
></listitem>
</varlistentry>


</variablelist>
</para>

</sect1>

</chapter>

<chapter id="kid3-cli">
<title
>kid3-cli</title>
<sect1 id="kid3-cli-commands">
<title
>Команды</title>
<para
><command
>kid3-cli</command
> предоставляет интерфейс командной строки к &kid3;. Если в качестве аргумента будет указан путь к каталогу, будет открыт соответствующий каталог. Если будет указан один или несколько путей к файлам, будет открыт общий каталог, а файлы будут выделены. Последующие команды будут применены к этим файлам. Команды возможно указывать с помощью параметра <option
>-c</option
>. Если передано несколько команд, они будут выполнены в указанном порядке. Если команды вносят изменения в файлы, эти изменения будут сохранены при выходе из приложения. Если команды не будут переданы, интерфейс <command
>kid3-cli</command
> будет запущен в интерактивном режиме. Можно будет вводить команды и работать с текущими выделенными файлами. В следующих разделах приведён список доступных команд. </para>

<sect2 id="cli-help">
<title
>Справка</title>
<cmdsynopsis
><command
>help</command
> <arg
><replaceable
>НАЗВАНИЕ-КОМАНДЫ</replaceable
></arg
> </cmdsynopsis>
<para
>Отображает справку о параметрах <replaceable
>НАЗВАНИЕ-КОМАНДЫ</replaceable
> или обо всех командах, если конкретная команда не указана. </para>
</sect2>

<sect2 id="cli-timeout">
<title
>Время ожидания</title>
<cmdsynopsis
><command
>timeout</command
> <group
> <arg choice="plain"
>default</arg
> <arg choice="plain"
>off</arg
> <arg choice="plain"
><replaceable
>ВРЕМЯ</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Позволяет перезаписать стандартное значение времени ожидания выполнения команды. Выполнение команд командного интерфейса будет прервано, если будет превышено указанное время ожидания. Стандартное время ожидания для команд <command
>ls</command
> и <command
>albumart</command
> — 10 секунд, для команд <command
>autoimport</command
> и <command
>filter</command
> — 60 секунд, а для остальных команд — 3 секунды. Если требуется обработать большое количество файлов, эти временные рамки могут оказаться слишком жёсткими, поэтому предусмотрена возможность установить время ожидания для всех команд в значение <replaceable
>ВРЕМЯ</replaceable
> (в миллисекундах), отключить время ожидания вообще или оставить стандартные значения. </para>
</sect2>

<sect2 id="cli-exit">
<title
>Выйти из приложения</title>
<cmdsynopsis
><command
>exit</command
> <arg
>force</arg
> </cmdsynopsis>
<para
>Выйти из приложения. Если в приложении изменённые несохранённые файлы, требуется параметр <parameter class="command"
>force</parameter
>. </para>
</sect2>

<sect2 id="cli-cd">
<title
>Сменить каталог</title>
<cmdsynopsis
><command
>cd</command
> <arg
><replaceable
>КАТАЛОГ</replaceable
></arg
> </cmdsynopsis>
<para
>Если не указано значение <replaceable
>КАТАЛОГ</replaceable
>, будет осуществлён переход в домашний каталог. Если значение указано, будет выполнен переход в указанный каталог. Если указан один или несколько путей к файлам, будет осуществлён переход в общий каталог, в котором хранятся эти файлы, а файлы будут выделены. </para>
</sect2>

<sect2 id="cli-pwd">
<title
>Показать полное имя текущего каталога</title>
<cmdsynopsis>
<command
>pwd</command>
</cmdsynopsis>
<para
>Показать полное имя текущего рабочего каталога.</para>
</sect2>

<sect2 id="cli-ls">
<title
>Список каталогов</title>
<cmdsynopsis>
<command
>ls</command>
</cmdsynopsis>
<para
>Список содержимого текущего каталога. Соответствует списку файлов в пользовательском интерфейсе &kid3;. Пять символов перед именами файлов показывают состояние файла. </para>

<itemizedlist>
<listitem
><para
><computeroutput
>&gt;</computeroutput
> Файл выбран. </para
></listitem>
<listitem
><para
><computeroutput
>*</computeroutput
> Файл изменён. </para
></listitem>
<listitem
><para
><computeroutput
>1</computeroutput
> Файлу присвоен тег 1, в противном случае отобразится «<computeroutput
>-</computeroutput
>».</para
></listitem>
<listitem
><para
><computeroutput
>2</computeroutput
> Файлу присвоен тег 2, в противном случае отобразится «<computeroutput
>-</computeroutput
>».</para
></listitem>
<listitem
><para
><computeroutput
>3</computeroutput
> Файлу присвоен тег 3, в противном случае отобразится «<computeroutput
>-</computeroutput
>».</para
></listitem>
</itemizedlist>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3

> 12- 02 We Only Got This One.mp3
 *1-- 03 Outro.mp3</computeroutput
></screen>

<para
>В этом примере все файлы имеют тег 1, второй файл также имеет тег 2, и он выделен. Третий файл изменён. </para>
</sect2>

<sect2 id="cli-save">
<title
>Сохранить изменённые файлы</title>
<cmdsynopsis>
<command
>save</command>
</cmdsynopsis>
 
</sect2>

<sect2 id="cli-select">
<title
>Выбрать файл</title>
<cmdsynopsis
><command
>select</command
> <group
> <arg choice="plain"
>all</arg
> <arg choice="plain"
>none</arg
> <arg choice="plain"
>first</arg
> <arg choice="plain"
>previous</arg
> <arg choice="plain"
>next</arg
> <arg choice="plain" rep="repeat"
><replaceable
>ФАЙЛ</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Чтобы выделить все файлы, введите команду <userinput
>select all</userinput
>; чтобы снять выделение со всех файлов, введите команду <userinput
>select none</userinput
>. Чтобы последовательно перебрать файлы в текущем каталоге, воспользуйтесь командой <userinput
>select first</userinput
>, затем передвигайтесь вперёд по списку с помощью команды <userinput
>select next</userinput
>, либо назад с помощью команды <userinput
>select previous</userinput
>. Чтобы добавить к текущему выделению отдельные файлы, укажите их названия напрямую. Поддерживается использование подстановочных знаков, например, возможно указать <userinput
>select *.mp3</userinput
> для выделения всех MP3-файлов в текущем каталоге. </para>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>select first</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>

> 1-- 01 Intro.mp3
  12- 02 We Only Got This One.mp3
 *1-- 03 Outro.mp3</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>select next</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3

> 12- 02 We Only Got This One.mp3
 *1-- 03 Outro.mp3</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>select *.mp3</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>

> 1-- 01 Intro.mp3

> 12- 02 We Only Got This One.mp3

>*1-- 03 Outro.mp3</computeroutput
></screen>
</sect2>

<sect2 id="cli-tag">
<title
>Выбрать тег</title>
<cmdsynopsis
><command
>tag</command
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Некоторые команды имеют необязательный параметр <replaceable
>НОМЕРА-ТЕГОВ</replaceable
>, который позволяет указать, над каким тегом следует выполнять команду (1, 2 или 3). Если этот параметр не указан, будут использованы номера тегов по умолчанию, которые указываются с помощью этой команды. Сразу после запуска будет установлено значение <literal
>12</literal
>, то есть данные будут прочитаны из тега 2, если он будет обнаружен, либо из тега 1, если тег 2 обнаружен не будет; изменения будут вноситься в тег 2. Для параметра <option
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></option
> возможно указать значение <userinput
>1</userinput
>, <userinput
>2</userinput
> или <userinput
>3</userinput
> для работы только с соответствующим тегом. Если параметр не указан, будет отображаться текущее значение параметра номеров тегов. </para>
</sect2>

<sect2 id="cli-get">
<title
>Получить фрейм тега</title>
<cmdsynopsis
><command
>get</command
> <group
> <arg choice="plain"
>all</arg
> <arg choice="plain"
><replaceable
>НАЗВАНИЕ-ФРЕЙМА</replaceable
></arg
> </group
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Эта команда используется для чтения значения определённого фрейма тега или получения информации обо всех фреймах тега (если не указан аргумент или используется параметр <option
>all</option
>). Изменённые фреймы отмечены символом «<computeroutput
>*</computeroutput
>». </para>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>get</userinput
><computeroutput>
Файл: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
  Название: 01 Intro.mp3
Тег 1: ID3v1.1
  Заголовок            Intro
  Исполнитель       One Hit Wonder
  Альбом                 Let's Tag
  Дата                     2013
  Номер дорожки   1
  Жанр                    Pop</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>get title</userinput
><computeroutput>
Intro</computeroutput
></screen>
<para
>Чтобы сохранить содержимое фрейма изображения в файл, воспользуйтесь командой <screen width="65"
><userinput
>get picture:'/путь/к/каталогу.jpg'</userinput
></screen>
</para>
<para
>Чтобы сохранить синхронизированный текст песни в файл LRC, воспользуйтесь командой <screen width="65"
><userinput
>get SYLT:'/путь/к/тексту.lrc'</userinput
></screen>
</para>
<para
>Возможно получить данные только из определённого поля фрейма, например, <userinput
>get POPM.Email</userinput
> для поля Email во фрейме Popularimeter. Если в файле хранится несколько фреймов одного типа, следует указать соответствующий индекс в квадратных скобках: например, название первого из исполнителей в комментарии Vorbis возможно получить с помощью команды <userinput
>get performer[0]</userinput
>, а второго — с помощью команды<userinput
>get performer[1]</userinput
>. </para>
<para
>Псевдополе под названием «selected» позволяет проверить, выделен ли фрейм: например, команда <userinput
>get artist.selected</userinput
> вернёт значение <computeroutput
>1</computeroutput
>, если фрейм исполнителя выделен, либо <computeroutput
>0</computeroutput
>, если фрейм не выделен. </para>
</sect2>

<sect2 id="cli-set">
<title
>Указать фрейм тега</title>
<cmdsynopsis
><command
>set</command
> <arg choice="req"
><replaceable
>НАЗВАНИЕ-ФРЕЙМА</replaceable
></arg
> <arg choice="req"
><replaceable
>ЗНАЧЕНИЕ-ФРЕЙМА</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Эта команда позволяет указать значение определённого фрейма тега. Если параметр <replaceable
>ЗНАЧЕНИЕ-ФРЕЙМА</replaceable
> не указан, фрейм будет удалён. </para>
<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>set remixer 'O.H. Wonder'</userinput
></screen>
<para
>Чтобы установить содержимое фрейма изображения из файла, воспользуйтесь командой <screen width="65"
><userinput
>set picture:'/путь/к/каталогу.jpg' 'Описание изображения'</userinput
></screen>
</para>
<para
>Чтобы установить синхронизированный текст песни из файла LRC, воспользуйтесь командой <screen width="65"
><userinput
>set SYLT:'/путь/к/тексту.lrc' 'Описание текста'</userinput
></screen>
</para>
<para
>Чтобы указать определённое поле внутри фрейма, следует указать название поля после точки. Например, чтобы установить значение поля счётчика фрейма Popularimeter, воспользуйтесь командой <screen width="65"
><userinput
>set POPM.Counter 5</userinput
></screen>
</para>
<para
>Спецификация полей применяется в том случае, когда нужно создать пользовательский фрейм TXXX с описанием «rating» вместо стандартного фрейма Popularimeter (такой метод оценки используется некоторыми модулями). Фрейм оценки TXXX возможно создать с помощью <command
>kid3-cli</command
>, однако сначала следует создать фрейм TXXX с описанием «rating», а затем указать значение оценки для этого фрейма. <screen width="65">
<prompt
>kid3-cli&gt; </prompt
><userinput
>set rating ""</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>set TXXX.Description rating</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>set rating 5</userinput>
</screen
> Первая команда удалит существующий фрейм POPM, потому что, если такой фрейм существует, параметр <userinput
>set rating 5</userinput
> установит значение фрейма POPM, а не TXXX. Другой способ установки значения — это использование команды <userinput
>set TXXX.Text 5</userinput
>, но она сработает корректно только в том случае, если нет других фреймов TXXX. </para>
<para
>Чтобы установить несколько фреймов одинакового типа, укажите индекс в скобках; например, чтобы указать несколько исполнителей в комментарии Vorbis, воспользуйтесь командой <screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>set performer[0] 'Liza don Getti (soprano)'</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>set performer[1] 'Joe Barr (piano)'</userinput
>
</screen>
</para>
<para
>Чтобы выделить определённые фреймы перед действиями копирования, вставки или удаления, воспользуйтесь псевдополем «selected». Обычно выделены все фреймы. Чтобы снять выделение со всех фреймов, воспользуйтесь командой <userinput
>set '*.selected' 0</userinput
>, а затем, например, для выделения фрейма исполнителя, командой <userinput
>set artist.selected 1</userinput
>. </para>
</sect2>

<sect2 id="cli-revert">
<title
>Отменить изменения</title>
<cmdsynopsis>
<command
>revert</command>
</cmdsynopsis>
<para
>Отменить все изменения в выбранных файлах (или во всех файлах, если файлы не выбраны). </para>
</sect2>

<sect2 id="cli-import">
<title
>Импортировать из файла</title>
<cmdsynopsis
><command
>import</command
> <arg choice="req"
><replaceable
>ФАЙЛ</replaceable
></arg
> <arg choice="req"
><replaceable
>НАЗВАНИЕ-ФОРМАТА</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Теги будут импортированы из файла <replaceable
>ФАЙЛ</replaceable
> в формате под названием <replaceable
>НАЗВАНИЕ-ФОРМАТА</replaceable
> (например, <userinput
>«CSV unquoted»</userinput
>, подробные сведения доступны в описании функции «<link linkend="import-text"
>Импорт</link
>»). </para>
<para
>Если указать <userinput
>tags</userinput
> для параметра <replaceable
>ФАЙЛ</replaceable
>, теги будут импортированы из других тегов. Вместо параметра <replaceable
>НАЗВАНИЕ-ФОРМАТА</replaceable
> следует указать параметры <replaceable
>ИСТОЧНИК</replaceable
> и <replaceable
>ИЗВЛЕЧЕНИЕ</replaceable
>, подробные сведения доступны в описании функции «<link linkend="import-tags"
>Импорт из тегов...</link
>». Чтобы применить импорт из тегов к выделенным файлам, используйте <userinput
>tagsel</userinput
> вместо <userinput
>tags</userinput
>. Эта функция также поддерживает вывод полученного значения: укажите параметр <replaceable
>ИЗВЛЕЧЕНИЕ</replaceable
> со значением <userinput
>%{__return}(.+)</userinput
>. </para>
</sect2>

<sect2 id="cli-autoimport">
<title
>Автоматический импорт</title>
<cmdsynopsis
><command
>autoimport</command
> <arg
><replaceable
>ИМЯ-ПРОФИЛЯ</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Пакетный импорт на основе профиля <replaceable
>НАЗВАНИЕ-ПРОФИЛЯ</replaceable
> (смотрите описание функции «<link linkend="batch-import"
>Автоматический импорт</link
>»; если профиль не указан, используется <userinput
>«All»</userinput
>). </para>
</sect2>

<sect2 id="cli-albumart">
<title
>Загрузить обложку</title>
<cmdsynopsis
><command
>albumart</command
> <arg choice="req"
><replaceable
>URL-АДРЕС</replaceable
></arg
> <arg
>all</arg
> </cmdsynopsis>
<para
>Установить обложку альбома путём загрузки изображения с адреса <replaceable
>URL-адрес</replaceable
>. Правила, определённые в диалоге «<link linkend="browse_pictures"
>Найти обложки</link
>», используются для преобразования обычных &URL;-адресов (например, Amazon) в адрес изображения. Чтобы установить обложку альбома из локального файла изображения, воспользуйтесь командой <link linkend="cli-set"
>set</link
>. </para>
<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>albumart
http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC</userinput
></screen>
</sect2>

<sect2 id="cli-export">
<title
>Экспортировать в файл</title>
<cmdsynopsis
><command
>export</command
> <arg choice="req"
><replaceable
>ФАЙЛ</replaceable
></arg
> <arg choice="req"
><replaceable
>НАЗВАНИЕ-ФОРМАТА</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Экспорт тегов в файл <replaceable
>ФАЙЛ</replaceable
> в формате под названием <replaceable
>НАЗВАНИЕ-ФОРМАТА</replaceable
> (например, <userinput
>«CSV unquoted»</userinput
>, смотрите описание функции «<link linkend="export"
>Экспорт</link
>»). </para>
</sect2>

<sect2 id="cli-playlist">
<title
>Создать список воспроизведения</title>
<cmdsynopsis>
<command
>playlist</command>
</cmdsynopsis>
<para
>Создать список воспроизведения в формате, указанном в параметрах, подробные сведения доступны в описании функции «<link linkend="create-playlist"
>Создать список воспроизведения</link
>». </para>
</sect2>

<sect2 id="cli-filenameformat">
<title
>Применить формат имени файла</title>
<cmdsynopsis>
<command
>filenameformat</command>
</cmdsynopsis>
<para
>Применить формат имени файла, указанный в параметрах, подробные сведения доступны в описании функции «<link linkend="apply-filename-format"
>Применить формат имени файла</link
>». </para>
</sect2>

<sect2 id="cli-tagformat">
<title
>Применить формат тега</title>
<cmdsynopsis>
<command
>tagformat</command>
</cmdsynopsis>
<para
>Применить формат тега, указанный в параметрах, подробные сведения доступны в описании функции «<link linkend="apply-tag-format"
>Применить формат тега</link
>». </para>
</sect2>

<sect2 id="cli-textencoding">
<title
>Применить кодировку текста</title>
<cmdsynopsis>
<command
>textencoding</command>
</cmdsynopsis>
<para
>Применить кодировку текста, указанную в параметрах, подробные сведения доступны в описании функции «<link linkend="apply-text-encoding"
>Применить кодировку текста</link
>». </para>
</sect2>

<sect2 id="cli-renamedir">
<title
>Переименовать каталог</title>
<cmdsynopsis
><command
>renamedir</command
> <arg
><replaceable
>ФОРМАТ</replaceable
></arg
> <group
> <arg choice="plain"
>create</arg
> <arg choice="plain"
>rename</arg
> <arg choice="plain"
>dryrun</arg
> </group
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Переименовать или создать каталоги на основе значений в тегах в соответствии с заданным значением параметра <replaceable
>ФОРМАТ</replaceable
> (например, <userinput
>%{artist} - %{album}</userinput
>, подробные сведения доступны в описании функции «<link linkend="rename-directory"
>Переименовать каталог</link
>»). Если формат не задан, будет использован формат, указанный в диалоге <guilabel
>Переименовать каталог</guilabel
>. Режим по умолчанию — <option
>rename</option
>; для создания каталогов — <option
>create</option
> (следует указать явным образом). Действия по переименованию будут произведены немедленно; чтобы просто посмотреть, что должно быть сделано, воспользуйтесь опцией <option
>dryrun</option
>. </para>
</sect2>

<sect2 id="cli-numbertracks">
<title
>Пронумеровать дорожки</title>
<cmdsynopsis
><command
>numbertracks</command
> <arg
><replaceable
>НОМЕР-ДОРОЖКИ</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Пронумеровать выделенные дорожки, начиная с номера <replaceable
>НОМЕР-ДОРОЖКИ</replaceable
> (если параметр не указан, нумерация начнётся с цифры <literal
>1</literal
>). </para>
</sect2>

<sect2 id="cli-filter">
<title
>Фильтр</title>
<cmdsynopsis
><command
>filter</command
> <group
> <arg choice="plain"
><replaceable
>ИМЯ-ФИЛЬТРА</replaceable
></arg
> <arg choice="plain"
><replaceable
>ФОРМАТ-ФИЛЬТРА</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Отфильтровать файлы таким образом, чтобы отобразились только файлы, соответствующие фильтру <replaceable
>ФОРМАТ-ФИЛЬТРА</replaceable
>. Вместо выражения фильтра возможно использовать название предустановленного фильтра (например, <userinput
>«Несоответствие тега названию файла»</userinput
>), подробные сведения доступны в описании функции «<link linkend="filter"
>Фильтр</link
>». </para>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>filter '%{title} contains "tro"'</userinput
><computeroutput>
Запуск
  /home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
- 02 We Only Got This One.mp3
+ 03 Outro.mp3
Завершено</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3
  1-- 03 Outro.mp3</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>filter All</userinput
><computeroutput>
Запуск
  /home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
+ 02 We Only Got This One.mp3
+ 03 Outro.mp3
Завершено</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3
  12- 02 We Only Got This One.mp3
  1-- 03 Outro.mp3</computeroutput
></screen>
</sect2>

<sect2 id="cli-to24">
<title
>Преобразовать ID3v2.3 в ID3v2.4</title>
<cmdsynopsis>
<command
>to24</command>
</cmdsynopsis>
</sect2>

<sect2 id="cli-to23">
<title
>Преобразовать ID3v2.4 в ID3v2.3</title>
<cmdsynopsis>
<command
>to23</command>
</cmdsynopsis>
</sect2>

<sect2 id="cli-fromtag">
<title
>Имя файла из тега</title>
<cmdsynopsis
><command
>fromtag</command
> <arg
><replaceable
>ФОРМАТ</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Указать имена выбранных файлов на основе тегов, например, <userinput
>fromtag '%{track} - %{title}' 1</userinput
>. Если формат не указан, будет использоваться формат, установленный в графическом интерфейсе. </para>
</sect2>

<sect2 id="cli-totag">
<title
>Тег из имени файла</title>
<cmdsynopsis
><command
>totag</command
> <arg
><replaceable
>ФОРМАТ</replaceable
></arg
> <arg
><replaceable
>НОМЕРА-ТЕГОВ</replaceable
></arg
> </cmdsynopsis>
<para
>Установить содержание фреймов тегов на основе названий файлов, например, <userinput
>totag '%{albumartist} - %{album}/%{track} %{title}' 2</userinput
>. Если формат не указан, будет использован формат, установленный в графическом интерфейсе. Если формат названия файла не соответствует указанному шаблону, будет предпринята попытка использовать другие распространённые форматы. </para>
</sect2>

<sect2 id="cli-syncto">
<title
>Тег в другой тег</title>
<cmdsynopsis
><command
>syncto</command
> <arg choice="req"
><replaceable
>НОМЕР-ТЕГА</replaceable
></arg
> </cmdsynopsis>
<para
>Копировать фреймы тега из одного тега в другой; например, чтобы заполнить тег ID3v2 данными из тега ID3v1, воспользуйтесь командой <userinput
>syncto 2</userinput
>. </para>
</sect2>

<sect2 id="cli-copy">
<title
>Копировать</title>
<cmdsynopsis
><command
>copy</command
> <arg
><replaceable
>НОМЕР-ТЕГА</replaceable
></arg
> </cmdsynopsis>
<para
>Скопировать фреймы тега выбранного файла во внутренний буфер обмена. Команда <command
>paste</command
> позволяет установить эти фреймы в другой файл. </para>
<para
>Чтобы скопировать только подмножество фреймов, воспользуйтесь псевдополем «selected» с командой <command
>set</command
>. Например, чтобы скопировать только фреймы номера диска и авторских прав, воспользуйтесь командой <screen width="65"
><userinput
>set '*.selected' 0</userinput>
<userinput
>set discnumber.selected 1</userinput>
<userinput
>set copyright.selected 1</userinput>
<userinput
>copy</userinput
>
</screen>
</para>
</sect2>

<sect2 id="cli-paste">
<title
>Вставить</title>
<cmdsynopsis
><command
>paste</command
> <arg
><replaceable
>НОМЕР-ТЕГА</replaceable
></arg
> </cmdsynopsis>
<para
>Заполнить данные фреймов тегов выделенных файлов на основе содержимого буфера <command
>copy</command
>. </para>
</sect2>

<sect2 id="cli-remove">
<title
>Убрать</title>
<cmdsynopsis
><command
>remove</command
> <arg
><replaceable
>НОМЕР-ТЕГА</replaceable
></arg
> </cmdsynopsis>
<para
>Удалить тег. </para>
<para
>Возможно удалить только подмножество фреймов путём их выделения, как указано в описании <link linkend="cli-copy"
>команды <command
>copy</command
></link
>. </para>
</sect2>

<sect2 id="cli-config">
<title
>Настроить Kid3</title>
<cmdsynopsis
><command
>config</command
> <arg
><replaceable
>ПАРАМЕТР</replaceable
></arg
> <arg
><replaceable
>ЗНАЧЕНИЕ</replaceable
></arg
> </cmdsynopsis>
<para
>Запрос или установка параметров конфигурации. </para>
<para
><replaceable
>ПАРАМЕТР</replaceable
> состоит из имени группы и имени свойства, разделённых точкой. Если <replaceable
>ПАРАМЕТР</replaceable
> не задан, будут отображаться все доступные группы. Если задано только имя группы, будут отображаться все доступные свойства группы. Если задана группа и свойство, будет отображаться текущее настроенное значение. Для изменения параметра возможно передать новое значение в качестве второго аргумента. </para>
<para
>Если значение параметра представлено в виде списка, все элементы списка должны быть указаны как аргументы. Это значит, что для добавления элемента к существующему списку элементов необходимо передать все существующие элементы, указав после них новый элемент. В таком случае лучше использовать режим JSON; это позволит скопировать текущий список и добавить новый элемент. </para>
</sect2>

</sect1>

<sect1 id="kid3-cli-examples">
<title
>Примеры</title>
<para
>Установить заголовок, содержащий апостроф. Команды с параметром <parameter
>-c</parameter
>, которые передаются <command
>kid3-cli</command
>, должны быть заключены в кавычки, если они состоят из нескольких слов. Если такая команда сама по себе содержит аргумент с пробелами, его тоже следует заключить в кавычки. В командных оболочках &UNIX; возможно использовать одинарные или двойные кавычки, но в командной строке Windows важно использовать в качестве наружных двойные кавычки, а внутренних — одинарные. Если в тексте внутри одинарных кавычек содержатся ещё одни одинарные кавычки, их следует экранировать с помощью символа обратной косой черты, как это показано в следующем примере:</para>
<screen width="65"
><userinput
>kid3-cli -c "set title 'I\'ll be there for you'" /путь/к/каталогу</userinput
></screen>

<para
>Установить обложку альбома во всех файлах каталога с помощью функции пакетного импорта:</para>
<screen width="65"
><userinput
>kid3-cli -c "autoimport 'Cover Art'" /путь/к/каталогу</userinput
></screen>

<para
>Удалить фреймы комментариев и применить формат тега в обоих тегах всех MP3-файлов каталога:</para>
<screen width="65"
><userinput
>kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
-c "tagformat 1" -c "tagformat 2" /путь/к/каталогу/*.mp3</userinput
></screen>

<para
>Автоматически импортировать тег 2, синхронизировать с тегом 1, установить имена файлов из тега 2 и создать список воспроизведения:</para>
<screen width="65"
><userinput
>kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
  /путь/к/каталогу/*.mp3</userinput
></screen>

<para
>Выполнить для всех файлов с тегом ID3v2.4.0 преобразование в тег ID3v2.3.0 и удалить фрейм аранжировщика:</para>
<screen width="65"
><userinput
>kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
  -c "set arranger ''" /путь/к/каталогу</userinput
></screen>

<para
>В этом сценарии Python <command
>kid3-cli</command
> используется для создания фреймов iTunNORM проверки звука iTunes на основе данных о выравнивании громкости.</para>
<programlisting
><![CDATA[
#!/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(('.mp3', '.m4a', '.aiff', '.aif')):
        fn = os.path.join(root, name)
        rg = subprocess.check_output([
          'kid3-cli', '-c', 'get "replaygain_track_gain"',
           fn]).strip()
        if rg.endswith(b' dB'):
          rg = rg[:-3]
        try:
          rg = float(rg)
        except ValueError:
          print('Value %s of %s in not a float' % (rg, fn))
          continue
        sc = (' ' + ('%08X' % int((10 ** (-rg / 10)) * 1000) )) * 10
        subprocess.call([
          'kid3-cli', '-c', 'set iTunNORM "%s"' % sc, fn])

if __name__ == '__main__':
  rg2sc(sys.argv[1])
]]>
</programlisting>
</sect1>

<sect1 id="kid3-cli-json">
<title
>Формат &JSON;</title>
<para
>Чтобы упростить обработку результатов работы <command
>kid3-cli</command
>, рекомендуется получать вывод в формате &JSON;. При запросе в формате &JSON; ответ также будет сформирован в &JSON;, при этом компактный формат запроса предоставит компактный ответ. Если в запросе содержится поле «id», он будет считаться запросом &JSON;-RPC, и в ответе будет содержаться поле «jsonrpc» и значение «id» запроса. В формате запроса используются те же команды, что и в стандартном интерфейсе командной строки, поле «method» должно содержать команду, а параметры (если есть) будут заданы списком «params». Ответ содержит объект «result», который может быть пустым, если соответствующая команда <command
>kid3-cli</command
> не вернула никакого результата. Если произойдёт ошибка, будет возвращён объект «error» с полями «code» и «message», что стандартно для запросов &JSON;-RPC. <screen width="80"
><prompt
>kid3-cli&gt; </prompt
><userinput
>{"method":"set","params":["artist","An Artist"]}</userinput>
<computeroutput
>{"result":null}</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>{"method":"get","params":["artist",2]}</userinput>
<computeroutput
>{"result":"An Artist"}</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>{"method": "get", "params": ["artist"]}</userinput>
<computeroutput
>{
    "result": "An Artist"
}
</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>{"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]}</userinput>
<computeroutput
>{"id":"123","jsonrpc":"2.0","result":"An Artist"}</computeroutput
>
</screen>

</para>
</sect1>

</chapter>

<chapter id="credits">

<title
>Авторские права и лицензия</title>

<para
>&kid3; </para>
<para
>Автор программы: Urs Fleisch <email
>ufleisch@users.sourceforge.net</email
> </para>

<para
>Перевод на русский язык: Мария Шикунова <email
>translation-team@basealt.ru</email
></para
><para
>Редактирование перевода: Олеся Герасименко<email
>translation-team@basealt.ru</email
></para
> &underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Установка</title>

<sect1 id="getting-kid3">
<title
>Как получить &kid3;</title>

<para
>Приложение &kid3; доступно для загрузки на сайте <ulink url="https://kid3.kde.org"
>https://kid3.kde.org</ulink
>. </para>
</sect1>

<sect1 id="requirements">
<title
>Требования</title>

<para
>Для работы &kid3; требуется наличие библиотек <ulink url="https://www.qt.io"
>&Qt;</ulink
>. Рекомендуется использовать <ulink url="http://www.kde.org"
>&kde;</ulink
>, но это не обязательно, так как &kid3; возможно собрать как программу, которая зависит только от &Qt;. &kid3; возможно собрать для систем, где доступны эти библиотеки, например, для GNU/&Linux;, &Windows; и &macOS;. Чтобы присваивать теги файлам Ogg/Vorbis, требуются библиотеки <ulink url="http://xiph.org/ogg/"
>libogg</ulink
>, <ulink url="http://xiph.org/vorbis/"
>libvorbis и libvorbisfile</ulink
>, для работы с файлами FLAC — <ulink url="http://flac.sourceforge.net"
>libFLAC++ и libFLAC</ulink
>. Библиотека <ulink url="http://id3lib.sourceforge.net"
>id3lib</ulink
> используется для работы с файлами MP3. Эти четыре формата также поддерживаются библиотекой <ulink url="http://taglib.github.io/"
>TagLib</ulink
>, которая может обрабатывать файлы Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF и модули трекеров. Для импорта акустических отпечатков используются <ulink url="http://acoustid.org/chromaprint"
>Chromaprint</ulink
> и <ulink url="http://libav.org/"
>libav</ulink
>. </para>
<para
>Программа &kid3; доступна для большинства дистрибутивов &Linux;, &Windows; и &macOS;. Ссылки для загрузки находятся на сайте <ulink url="https://kid3.kde.org"
> https://kid3.kde.org</ulink
>. </para>

</sect1>

<sect1 id="compilation">
<title
>Сборка и установка</title>

<para
>Приложение &kid3; может быть собрано с библиотеками &kde; или без них. Без библиотек &kde; &kid3; является простым приложением &Qt;, в котором отсутствуют некоторые возможности по настройке приложения и сеансов работы с ним. </para>
<para
>Чтобы собрать версию с библиотеками &kde;, перейдите в каталог верхнего уровня и введите <screen width="40"
><prompt
>%</prompt
> <userinput
>cmake .</userinput>
<prompt
>%</prompt
> <userinput
>make</userinput>
<prompt
>%</prompt
> <userinput
>make install</userinput
>
</screen>
</para>
<para
>Чтобы собрать нестандартную версию с использованием библиотек &Qt; или &kde;, укажите соответствующие параметры <userinput
>cmake</userinput
>. </para>
<para
>Если доступны не все библиотеки, программа &kid3; будет собрана с ограниченными функциональными возможностями, поэтому рекомендуется установить все необходимые пакеты перед сборкой. С другой стороны, с помощью параметров <userinput
>cmake</userinput
> возможно управлять перечнем библиотек, которые будут использованы при сборке. По умолчанию это: <userinput
>-DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON</userinput
>. Чтобы отключить эти опции, установите параметры в значение <userinput
>OFF</userinput
>. </para>
<para
>Чтобы собрать &kid3; как приложение &Qt; без библиотек &kde;, воспользуйтесь командой <userinput
>cmake</userinput
> с параметром <userinput
>-DWITH_APPS=Qt</userinput
>. Чтобы собрать &kid3; как приложение &kde; и &Qt;, укажите параметр <userinput
>-DWITH_APPS="Qt;KDE"</userinput
>. </para>
<para
>Чтобы воспользоваться определённым набором установленных библиотек &Qt;, укажите <userinput
>-DQT_QMAKE_EXECUTABLE=/путь/к/qmake</userinput
>. </para>
<para
>Создание пакетов RPM поддерживается файлом <filename
>kid3.spec</filename
>, для пакетов &Debian; доступен сценарий <filename
>build-deb.sh</filename
>. </para>

<para
>Приложение &Qt; также возможно скомпилировать для &Windows; или &macOS;. Для загрузки и сборки всех необходимых библиотек и последующего создания пакета &kid3; предназначен сценарий <filename
>buildlibs.sh</filename
>. </para>

</sect1>

<sect1 id="configuration">
<title
>Настройка</title>

<para
>В версии для &kde; параметры программы будут храниться в файле <filename
>.config/kid3rc</filename
>. Если программа собрана как приложение &Qt;, параметры будут храниться в файле <filename
>.config/Kid3/Kid3.conf</filename
>. В операционной системе &Windows; конфигурация будет храниться в реестре, а в системе &macOS; — в файле plist. </para>
<para
>Переменная среды <varname
>KID3_CONFIG_FILE</varname
> позволяет указать путь к файлу конфигурации.</para>

</sect1>

</appendix>

<appendix id="dbus-interface">
<title
>Интерфейс &DBus;</title>

<sect1 id="dbus-examples">
<title
>Примеры &DBus;</title>

<para
>В системах &Linux; управление &kid3; посредством сценариев доступно с помощью интерфейса &DBus;. Привязки к &DBus; позволяет создать сценарии на любом языке программирования (например, на Python). Эти сценарии затем возможно добавить в раздел <guilabel
>Команды пользователя</guilabel
> для расширения функциональных возможностей &kid3;. </para>

<para
>Чтобы установить значение «One Hit Wonder» в поле исполнителя в теге 2, воспользуйтесь следующим кодом: </para>

<variablelist>
<varlistentry
><term
>Оболочка</term>
<listitem>
<programlisting
>dbus-send --dest=org.kde.kid3 --print-reply=literal \
/Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \
string:'One Hit Wonder'
</programlisting>
<para
>или, что проще, примените команду &Qt; <command
>qdbus</command
> (для изучения графического интерфейса приложения предназначена команда <command
>qdbusviewer</command
>): </para>
<programlisting
>qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \
'One Hit Wonder'
</programlisting>
</listitem>
</varlistentry>
<varlistentry
><term
>Python</term>
<listitem>
<programlisting
>import dbus
kid3 = dbus.SessionBus().get_object(
  'org.kde.kid3', '/Kid3')
kid3.setFrame(2, 'Artist', 'One Hit Wonder')
</programlisting>
</listitem>
</varlistentry>
<varlistentry
><term
>Perl</term>
<listitem>
<programlisting
>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");
</programlisting>
</listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="dbus-api">
<title
>Программный интерфейс &DBus;</title>

<para
>Программный интерфейс &DBus; определён в файле <filename
>org.kde.Kid3.xml</filename
>.  В интерфейсе &kid3; предусмотрены следующие методы: </para>

<sect2 id="dbus-openDirectory">
<title
>Открытие файлов или каталогов</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>openDirectory</function
></funcdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>path</replaceable
></term>
    <listitem
><para
>путь к файлу или каталогу</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-unloadAllTags">
<title
>Выгрузка тегов всех файлов, которые не были изменены или выбраны</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>unloadAllTags</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-save">
<title
>Сохранение всех изменённых файлов</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>save</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-getErrorMessage">
<title
>Получение подробного сообщения об ошибке, предоставляемого некоторыми методами</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>string <function
>getErrorMessage</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает подробное сообщение об ошибке.</para>
</sect2>

<sect2 id="dbus-revert">
<title
>Отмена изменений в выбранных файлах</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>revert</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-batchImport">
<title
>Запуск автоматического пакетного импорта</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>batchImport</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>profileName</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>profileName</replaceable
></term>
    <listitem
><para
>название профиля пакетного импорта для использования</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-importFromFile">
<title
>Импорт тегов из файла</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>importFromFile</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> <paramdef
>int32 <parameter
>fmtIdx</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>path</replaceable
></term>
    <listitem
><para
>путь к файлу</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>fmtIdx</replaceable
></term>
    <listitem
><para
>индекс формата</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-importFromTags">
<title
>Импорт тегов из других тегов</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>importFromTags</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>source</parameter
></paramdef
> <paramdef
>string <parameter
>extraction</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>source</replaceable
></term>
    <listitem
><para
>формат для получения исходного текста из тегов</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>extraction</replaceable
></term>
    <listitem
><para
>регулярное выражение с названиями фреймов и группами скобок для извлечения совпадений из исходного текста</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-importFromTagsToSelection">
<title
>Импорт тегов из других тегов выбранных файлов</title>
<funcsynopsis>
<funcprototype
><funcdef
>array <function
>importFromTagsToSelection</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>source</parameter
></paramdef
> <paramdef
>string <parameter
>extraction</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>source</replaceable
></term>
    <listitem
><para
>формат для получения исходного текста из тегов</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>extraction</replaceable
></term>
    <listitem
><para
>регулярное выражение с названиями фреймов и группами скобок для извлечения совпадений из исходного текста</para
></listitem>
  </varlistentry>
</variablelist>
<variablelist>
  <varlistentry>
    <term
><replaceable
>returnValues</replaceable
></term>
    <listitem
><para
>извлечённое значение для «%{__return}(.+)»</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-downloadAlbumArt">
<title
>Загрузка обложки альбома</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>downloadAlbumArt</function
></funcdef
> <paramdef
>string <parameter
>url</parameter
></paramdef
> <paramdef
>boolean <parameter
>allFilesInDir</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>url</replaceable
></term>
    <listitem
><para
>&URL;-адрес файла изображения или источника изображения</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>allFilesInDir</replaceable
></term>
    <listitem
><para
>true, если изображение следует добавить во все файлы в каталоге</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-exportToFile">
<title
>Экспорт тегов в файл</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>exportToFile</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> <paramdef
>int32 <parameter
>fmtIdx</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>path</replaceable
></term>
    <listitem
><para
>путь к файлу</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>fmtIdx</replaceable
></term>
    <listitem
><para
>индекс формата</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-createPlaylist">
<title
>Создание нового списка воспроизведения</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>createPlaylist</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-getPlaylistItems">
<title
>Получение элементов списка воспроизведения</title>
<funcsynopsis>
<funcprototype
><funcdef
>array <function
>getPlaylistItems</function
></funcdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>path</replaceable
></term>
    <listitem
><para
>путь к файлу списка воспроизведения</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает список абсолютных путей к элементам списка воспроизведения.</para>
</sect2>

<sect2 id="dbus-setPlaylistItems">
<title
>Установка элементов списка воспроизведения</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setPlaylistItems</function
></funcdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> <paramdef
>array <parameter
>items</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>path</replaceable
></term>
    <listitem
><para
>путь к файлу списка воспроизведения</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>items</replaceable
></term>
    <listitem
><para
>список абсолютных путей к элементам списка воспроизведения</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает true, если выполнено успешно, и false, если не все элементы были найдены и добавлены или сохранение завершилось ошибкой.</para>
</sect2>

<sect2 id="dbus-quit">
<title
>Выход из приложения</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>quit</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-selectAll">
<title
>Выделение всех файлов</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>selectAll</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-deselectAll">
<title
>Отмена выделения всех файлов</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>deselectAll</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-firstFile">
<title
>Установка первого файла в качестве текущего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>firstFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если первый файл существует.</para>
</sect2>

<sect2 id="dbus-previousFile">
<title
>Установка предыдущего файла в качестве текущего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>previousFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если предыдущий файл существует.</para>
</sect2>

<sect2 id="dbus-nextFile">
<title
>Установка следующего файла в качестве текущего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>nextFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если следующий файл существует.</para>
</sect2>

<sect2 id="dbus-selectFirstFile">
<title
>Выделение первого файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectFirstFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если первый файл существует.</para>
</sect2>

<sect2 id="dbus-selectPreviousFile">
<title
>Выделение предыдущего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectPreviousFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если предыдущий файл существует.</para>
</sect2>

<sect2 id="dbus-selectNextFile">
<title
>Выделение следующего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectNextFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если следующий файл существует.</para>
</sect2>

<sect2 id="dbus-selectCurrentFile">
<title
>Выделение текущего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectCurrentFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если текущий файл существует.</para>
</sect2>

<sect2 id="dbus-expandDirectory">
<title
>Разворачивание или сворачивание текущего элемента, если это каталог</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>expandDirectory</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Пункт списка файлов является каталогом, если getFileName() возвращает название, последний символ которого — косая черта, «/».</para>
<para
>Возвращает true, если текущий элемент — каталог.</para>
</sect2>

<sect2 id="dbus-applyFilenameFormat">
<title
>Применение формата имени файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>applyFilenameFormat</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-applyTagFormat">
<title
>Применение формата тега</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>applyTagFormat</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-applyTextEncoding">
<title
>Применить кодировку текста</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>applyTextEncoding</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-setDirNameFromTag">
<title
>Установка имени каталога из тегов</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setDirNameFromTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>format</parameter
></paramdef
> <paramdef
>boolean <parameter
>create</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>format</replaceable
></term>
    <listitem
><para
>формат имени каталога</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>create</replaceable
></term>
    <listitem
><para
>true для создания, false для переименования</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает true, если выполнено успешно, в противном случае воспользуйтесь командой getErrorMessage() для получения сообщения об ошибке</para>
</sect2>

<sect2 id="dbus-numberTracks">
<title
>Установка последовательной нумерации дорожек для выделенных файлов</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>numberTracks</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>int32 <parameter
>firstTrackNr</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>firstTrackNr</replaceable
></term>
    <listitem
><para
>номер, который будет использоваться для первого файла</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-filter">
<title
>Фильтр файлов</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>filter</function
></funcdef
> <paramdef
>string <parameter
>expression</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>expression</replaceable
></term>
    <listitem
><para
>фильтрующее выражение</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-convertToId3v24">
<title
>Преобразование тегов ID3v2.3 в ID3v2.4</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>convertToId3v24</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-convertToId3v23">
<title
>Преобразование тегов ID3v2.4 в ID3v2.3</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>convertToId3v23</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-getDirectoryName">
<title
>Получение пути к каталогу</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>string <function
>getDirectoryName</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает абсолютный путь к каталогу.</para>
</sect2>

<sect2 id="dbus-getFileName">
<title
>Получение имени текущего файла</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>string <function
>getFileName</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Возвращает абсолютное имя текущего файла. Если это каталог, оно будет завершаться символом «/».</para>
</sect2>

<sect2 id="dbus-setFileName">
<title
>Установка имени выделенного файла</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileName</function
></funcdef
> <paramdef
>string <parameter
>name</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>name</replaceable
></term>
    <listitem
><para
>название файла</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Файл будет переименован при сохранении каталога.</para>
</sect2>

<sect2 id="dbus-setFileNameFormat">
<title
>Установка формата, который будет использован при установке названий файлов на основе тегов</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileNameFormat</function
></funcdef
> <paramdef
>string <parameter
>format</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>format</replaceable
></term>
    <listitem
><para
>формат названия файла</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-setFileNameFromTag">
<title
>Установка названий выделенных файлов на основе тегов</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileNameFromTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-getFrame">
<title
>Получение значения фрейма</title>
<funcsynopsis>
<funcprototype
><funcdef
>string <function
>getFrame</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>name</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>name</replaceable
></term>
    <listitem
><para
>название фрейма (например, «artist»)</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Чтобы сохранить двоичные данные (например, изображение) в файле, добавьте имя файла к имени фрейма, например: «Picture:/путь/к/файлу». Таким же образом возможно экспортировать синхронизированный текст песни, например: «SYLT:/путь/к/файлу». </para>
<para
>Возвращает значение фрейма.</para>
</sect2>

<sect2 id="dbus-setFrame">
<title
>Установка значения фрейма</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setFrame</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>name</parameter
></paramdef
> <paramdef
>string <parameter
>value</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>name</replaceable
></term>
    <listitem
><para
>название фрейма (например, «artist»)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>value</replaceable
></term>
    <listitem
><para
>значение фрейма</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Для тега 2 (<parameter
>tagMask</parameter
> 2): если фрейма с указанным именем не существует, будет добавлен новый фрейм; если значение параметра «value» пустое, фрейм будет удалён. Чтобы добавить двоичные данные (например, изображение), добавьте имя файла к имени фрейма, например: «Picture:/путь/к/файлу». Таким же образом возможно импортировать синхронизированный текст песни, например: «SYLT:/путь/к/файлу».</para>
<para
>Возвращает true, если выполнено успешно.</para>
</sect2>

<sect2 id="dbus-getTag">
<title
>Получение всех фреймов тега</title>
<funcsynopsis>
<funcprototype
><funcdef
>array of string <function
>getTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Возвращает список с чередующимися названиями и значениями фреймов.</para>
</sect2>

<sect2 id="dbus-getInformation">
<title
>Получение технической информации о файле</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>array of string <function
>getInformation</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Свойствами являются Format, Bitrate, Samplerate, Channels, Duration, Channel Mode, VBR, Tag 1, Tag 2. Свойства, которые недоступны, будут пропущены.</para>
<para
>Возвращает список с чередующимися названиями и значениями свойств.</para>
</sect2>

<sect2 id="dbus-setTagFromFileName">
<title
>Установка тега на основе имени файла</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setTagFromFileName</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-setTagFromOtherTag">
<title
>Установка тега на основе другого тега</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setTagFromOtherTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-copyTag">
<title
>Копирование тега</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>copyTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-pasteTag">
<title
>Вставка тега</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>pasteTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-removeTag">
<title
>Удаление тега</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>removeTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>маска тега (бит 0 для тега 1, бит 1 для тега 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-reparseConfiguration">
<title
>Повторная обработка параметров конфигурации</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>reparseConfiguration</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Автоматизированная обработка изменений в параметрах конфигурации доступна посредством внесения изменений в файл конфигурации с их последующей повторной обработкой.</para>
</sect2>

<sect2 id="dbus-playAudio">
<title
>Воспроизведение выбранных файлов</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>playAudio</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

</sect1>

</appendix>

<appendix id="qml-interface">
<title
>Интерфейс QML</title>

<sect1 id="qml-examples">
<title
>Примеры QML</title>

<para
>Чтобы вызвать окно сценариев QML, воспользуйтесь контекстным меню списка файлов; чтобы указать список сценариев, воспользуйтесь вкладкой <link linkend="configure-user-actions-qml"
>Команды пользователя</link
> диалога настройки. Установленные там сценарии возможно использовать в качестве примеров для создания собственных сценариев. QML использует синтаксис &javascript;. Вот пример простого сценария: </para>

<programlisting
>import Kid3 1.0

Kid3Script {
  onRun: {
    console.log("Hello world, folder is", app.dirName)
    Qt.quit()
  }
}
</programlisting>

<para
>Если этот сценарий хранится по адресу <filename
>/путь/к/Example.qml</filename
>, команду пользователя возможно определить как <command
>@qml /путь/к/Example.qml</command
> и назвать <userinput
>Проверка QML</userinput
>. Также следует установить флажок в столбце <guilabel
>Вывод</guilabel
>. Чтобы выполнить сценарий, выберите в контекстном меню списка файлов пункт <guilabel
>Проверка QML</guilabel
>. Вывод будет показан в окне программы. </para>

<para
>Помимо этого, сценарий также возможно запустить независимо от &kid3; с помощью инструментов QML. <screen width="80">
qml -apptype widget -I /usr/lib/kid3/plugins/imports /путь/к/Example.qml
</screen
> или <screen width="80">
qmlscene -I /usr/lib/kid3/plugins/imports /путь/к/Example.qml
</screen
> В операционных системах &Windows; и &macOS; путь для импорта должен быть изменён таким образом, чтобы он относился к папке <filename class="directory"
>imports</filename
>, расположенной в каталоге с установленной программой. Сценарии, запущенные вне &kid3;, будут использовать текущий каталог, поэтому путь следует изменить заранее. </para>

<para
>Чтобы получить список заголовков тегов 2 из всех файлов в текущем каталоге, воспользуйтесь следующим сценарием: </para>

<programlisting
>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())
  }
}
</programlisting>

<para
>Если каталог содержит большое количество файлов, такой сценарий может на некоторое время заблокировать возможность использования интерфейса, поэтому для выполнения длительных действий следует периодически прерывать работу сценария. В альтернативном варианте, который приводится далее, обработка отдельного файла вынесена в функцию. В конце эта функция вызывает себя со временем ожидания в 1 миллисекунду, если имеются другие файлы, которые следует обработать. Такая реализация позволяет продолжать работать с графическим интерфейсом во время работы сценария. </para>

<programlisting
>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()
  }
}
</programlisting>

<para
>При использовании команды <command
>app.firstFile()</command
> вместе с командой <command
>app.nextFile()</command
> будут обработаны все файлы в текущем каталоге. Если требуется обработка только выделенных файлов, воспользуйтесь командами <command
>firstFile()</command
> и <command
>nextFile()</command
>, вспомогательными функциями компонента <classname
>Kid3Script</classname
>. В следующем примере представлен сценарий, который копирует только фреймы номера диска и авторских прав выделенного файла. </para>

<programlisting
>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()
  }
}
</programlisting>

<para
>Другие примеры сценариев поставляются вместе с &kid3; в качестве команд пользователя. <itemizedlist>
<listitem
><para
><guilabel
>ReplayGain to SoundCheck</guilabel
> (<filename
>ReplayGain2SoundCheck.qml</filename
>): создаёт данные для iTunNORM SoundCheck на основе фреймов данных о выравнивании громкости. </para
></listitem>
<listitem
><para
><guilabel
>Resize Album Art</guilabel
> (<filename
>ResizeAlbumArt.qml</filename
>): изменяет размеры встроенных изображений обложек альбомов, если эти размеры превышают 500x500 пикселов. </para
></listitem>
<listitem
><para
><guilabel
>Extract Album Art</guilabel
> (<filename
>ExtractAlbumArt.qml</filename
>): извлекает все встроенные изображения обложек без создания дубликатов. </para
></listitem>
<listitem
><para
><guilabel
>Embed Album Art</guilabel
> (<filename
>EmbedAlbumArt.qml</filename
>): встраивает изображение обложки альбома из файлов изображений в аудиофайлы в том же каталоге. </para
></listitem>
<listitem
><para
><guilabel
>Embed Lyrics</guilabel
> (<filename
>EmbedLyrics.qml</filename
>): получает несинхронизированный текст песни из веб-сервиса. </para
></listitem>
<listitem
><para
><guilabel
>Text Encoding ID3v1</guilabel
> (<filename
>ShowTextEncodingV1.qml</filename
>): помогает определить кодировку тегов ID3v1, отображая содержание тегов в текущем файле во всех доступных кодировках. </para
></listitem>
<listitem
><para
><guilabel
>ID3v1 to ASCII</guilabel
> (<filename
>Tag1ToAscii.qml</filename
>): преобразовывает все дополнительные символы латиницы в тегах ID3v1 в символы ASCII. </para
></listitem>
<listitem
><para
><guilabel
>English Title Case</guilabel
> (<filename
>TitleCase.qml</filename
>): форматирует текст в тегах по правилам использования регистра символов английского языка. </para
></listitem>
<listitem
><para
><guilabel
>Rewrite Tags</guilabel
> (<filename
>RewriteTags.qml</filename
>): перезаписывает все теги в выделенных файлах. </para
></listitem>
<listitem
><para
><guilabel
>Export CSV</guilabel
> (<filename
>ExportCsv.qml</filename
>): рекурсивно экспортирует все теги во всех файлах в файл CSV. </para
></listitem>
<listitem
><para
><guilabel
>Export Playlist Folder</guilabel
> (<filename
>ExportPlaylist.qml</filename
>): копирует все файлы из списка воспроизведения в каталог и переименовывает их в соответствии с их положением в списке. </para
></listitem>
<listitem
><para
><guilabel
>QML Console</guilabel
> (<filename
>QmlConsole.qml</filename
>): вызывает простую консоль для работы с программным интерфейсом QML &kid3;. </para
></listitem>
</itemizedlist>
</para>

</sect1>

<sect1 id="qml-api">
<title
>Программный интерфейс QML</title>

<para
>С программным интерфейсом возможно ознакомиться во время использования консоли QML, которая доступна в качестве примера сценария с пользовательским интерфейсом. </para>

<sect2 id="qml-kid3script">
<title
>Kid3Script</title>

<para
><classname
>Kid3Script</classname
> — это обычный компонент QML, расположенный в каталоге модуля. Возможно использовать и любой другой компонент QML. Использование <classname
>Kid3Script</classname
> упрощает запуск функции сценария с помощью обработчика сигналов <function
>onRun</function
>. Кроме того, он предлагает несколько функций: <programlisting
>onRun: обработчик сигналов, который вызывается при запуске сценария
tagv1, tagv2, tagv2v1: постоянные для параметров тегов
script: доступ к функциям сценариев
configs: доступ к объектам конфигурации
getArguments(): список аргументов сценария
isStandalone(): true, если сценарий был запущен не в Kid3
setTimeout(callback, delay): запуск обратного вызова после задержки, указанной в миллисекундах
firstFile(): к первому выделенному файлу
nextFile(): к следующему выделенному файлу
</programlisting>

</para>
</sect2>

<sect2 id="qml-script">
<title
>Поддержка сценариев</title>

<para
>В &javascript; и QML предусмотрен довольно ограниченный набор функций. Объект <function
>script</function
> имеет несколько дополнительных методов, в частности: </para>

<programlisting
>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): получить класс файла (каталог — «/», символическая ссылка — «@», exe — «*»,
  файл « »)
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, например, «5.4.1»
script.getDataMd5(data): получить шестнадцатеричную строку хеша данных MD5
script.getDataSize(data): получить размер байтового массива
script.dataToImage(data, [формат]): создать изображение из байтов данных
script.dataFromImage(img, [формат]): получить байты данных из изображения
script.loadImage(filePath): загрузить изображение из файла
script.saveImage(img, filePath, [формат]): сохранить изображение в файл, true, если успешно
script.imageProperties(img): получить свойства изображения, карту, содержащую значения
  «width», «height», «depth» и «colorCount», возвращает пустое значение ,если изображение недействительно
script.scaleImage(img, width, [высота]): масштабировать изображение, возвращает масштабированное изображение
</programlisting>

</sect2>

<sect2 id="qml-app">
<title
>Контекст приложений</title>

<para
>При использовании QML доступна большая часть функциональных возможностей &kid3;. Программный интерфейс похож на тот, что используется для <link linkend="dbus-api"
>&DBus;</link
>. Для получения более подробной информации обратитесь к соответствующим заметкам. </para>

<programlisting
>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): открыть диалоговое окно для выбора каталога
</programlisting>

<para
>Для асинхронных действий обратные вызовы возможно связывать с сигналами. </para>

<programlisting
>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)
}
</programlisting>

</sect2>

<sect2 id="qml-configs">
<title
>Объекты конфигурации</title>

<para
>Доступ к различным разделам конфигурации обеспечивается с помощью методов <function
>configs</function
>. Список их свойств возможно просмотреть с помощью консоли QML. <screen width="80">
script.properties(configs.networkConfig())
</screen
> Могут быть установлены такие свойства: <screen width="80"
>configs.networkConfig().useProxy = false
</screen>
</para>

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

</sect2>

</sect1>

</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: nxml
End:
-->
