Приложение B. Интерфейс D-Bus

Содержание

Примеры D-Bus
Программный интерфейс D-Bus
Открытие файлов или каталогов
Выгрузка тегов всех файлов, которые не были изменены или выбраны
Сохранение всех изменённых файлов
Получение подробного сообщения об ошибке, предоставляемого некоторыми методами
Отмена изменений в выбранных файлах
Запуск автоматического пакетного импорта
Импорт тегов из файла
Импорт тегов из других тегов
Импорт тегов из других тегов выбранных файлов
Загрузка обложки альбома
Экспорт тегов в файл
Создание нового списка воспроизведения
Получение элементов списка воспроизведения
Установка элементов списка воспроизведения
Выход из приложения
Выделение всех файлов
Отмена выделения всех файлов
Установка первого файла в качестве текущего файла
Установка предыдущего файла в качестве текущего файла
Установка следующего файла в качестве текущего файла
Выделение первого файла
Выделение предыдущего файла
Выделение следующего файла
Выделение текущего файла
Разворачивание или сворачивание текущего элемента, если это каталог
Применение формата имени файла
Применение формата тега
Применить кодировку текста
Установка имени каталога из тегов
Установка последовательной нумерации дорожек для выделенных файлов
Фильтр файлов
Преобразование тегов ID3v2.3 в ID3v2.4
Преобразование тегов ID3v2.4 в ID3v2.3
Получение пути к каталогу
Получение имени текущего файла
Установка имени выделенного файла
Установка формата, который будет использован при установке названий файлов на основе тегов
Установка названий выделенных файлов на основе тегов
Получение значения фрейма
Установка значения фрейма
Получение всех фреймов тега
Получение технической информации о файле
Установка тега на основе имени файла
Установка тега на основе другого тега
Копирование тега
Вставка тега
Удаление тега
Повторная обработка параметров конфигурации
Воспроизведение выбранных файлов

Примеры D-Bus

В системах Linux® управление Kid3 посредством сценариев доступно с помощью интерфейса D-Bus. Привязки к D-Bus позволяет создать сценарии на любом языке программирования (например, на Python). Эти сценарии затем возможно добавить в раздел Команды пользователя для расширения функциональных возможностей Kid3.

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

Оболочка
dbus-send --dest=org.kde.kid3 --print-reply=literal \
/Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \
string:'One Hit Wonder'

или, что проще, примените команду Qtqdbus (для изучения графического интерфейса приложения предназначена команда qdbusviewer):

qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \
'One Hit Wonder'
Python
import dbus
kid3 = dbus.SessionBus().get_object(
  'org.kde.kid3', '/Kid3')
kid3.setFrame(2, 'Artist', 'One Hit Wonder')
Perl
use Net::DBus;
$kid3 = Net::DBus->session->get_service(
  "org.kde.kid3")->get_object(
  "/Kid3", "org.kde.Kid3");
$kid3->setFrame(2, "Artist", "One Hit Wonder");