[Homeros] I: Musitorius на D-Bus

Michael Pozhidaev msp на altlinux.ru
Чт Ноя 17 08:52:31 MSK 2011


Приветствую всех!

Это письмо могло бы быть анонсом изменений в сервисе управления
медиаплеером Musitorius, но на деле речь пойдёт о несколько более
серьёзных планах.

В git доступен значительно переработанный код Musitorius, из которого
полностью убраны какие-либо собственные механизмы сетевого общения, и они
заменены на передачу команд в системной шине D-Bus. Результаты
эксперимента на текущий момент хорошие, команды управления плееру передаются быстро
и стабильно. Вдополнение реализован механизм проверки "ключей"
пользователя, который не позволяет запросить воспроизведение файла без
наличия соответствующих прав, а также "журнал" заданий на
воспроизведение, который должен выполнять функцию закладок при прослушивании
аудио-книг, позволяя легко и удобно продолжать воспроизведение с
прерванного положения. Не реализована отправка сообщений о
статусе сервиса и управление громкостью.

Если при продолжении работы никаких проблем не возникнет, то код
общения с D-Bus будет перенесён в VoiceMan, с чего начнём отсчёт версий
Voiceman-1.6.x с функцией доступа по D-Bus. Разумеется, набор методов
будет другой, правильно отражающий функции речевого сервера. 

Доступ к основным сервисам через D-Bus открывает много новых
возможностей. В D-Bus посылаются некоторые системные
оповещения, как, например, оповещения о переключения консолей. Таким
образом, появляется возможность реализации единой среды голосовых
оповещений о различных событиях, таких как окончание воспроизведения,
переход на следующий трек, переключения консоли и пр. В D-Bus доступны
объекты network-manager, что тоже только повышает общую ценность
подхода.

Любители написания скриптов на python должны значительно оценить такую
возможность, поскольку python реализует очень простой механизм вызова
объектов D-Bus. ныне доступ к D-Bus есть и в emacs, но насколько он
полный, мне пока не известно.

GIT с исходными текстами Musitorius:

http://git.altlinux.org/people/msp/public/musitorius.git

Запуск musitorius на системе из исходников может оказаться крайне
нетривиальным, поскольку очень много привязок к среде. Есть
особенности с правами доступа, контроля подключений к D-Bus и вызова
mplayer. Я надеюсь, что со временем можно будет выработать более-менее
устойчивый подход.

-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/


Подробная информация о списке рассылки Homeros