[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