25.01.10 14:36
Shtsh — Управление amarok'ом из консоли при помощи D-Bus
В 4м KDE, как известно многим, выпилили старый добрый DCOP из стали использовать D-Bus.
По ссылке команды, которые полезны для управления амароком. На их примере, можно разобраться как вообще обращаться к программам из состава KDE4. Ну и такая памятка, чтобы не забыть.
-
неслабо так. А я-то дурак по старинке, amarok --play иногда делаю.
Параметры:
-r, --previous Пропустить предыдущую дорожку в списке воспроизведения
-p, --play Запустить воспроизведение композиций из текущего списка
-t, --play-pause Начать воспроизведение если оно было остановлено, и приостановить в противном случае
--pause Приостановить воспроизведение
-s, --stop Остановить воспроизведение
-f, --next Пропустить следующую дорожку в списке воспроизведения
Дополнительные параметры:
-a, --append Добавить файлы / адреса в список воспроизведения
--queue Поставить адреса в очередь после текущей дорожки
-l, --load Загрузить адреса, заменяя текущий список воспроизведения
-d, --debug Показать подробную отладочную информацию
-m, --multipleinstances Разрешить запуск нескольких экземпляров Amarok
--cwd База для относительных путей/ссылок
-
-
ну, тут дело не только в амароке. Плей-паузу я и в нём настрою. Мне это больше нужно было для отображения данных о проигрываемом треке.
+Повторюсь, это походит не только для амарока.
-
-
и не только для kde
qdbus org.gnome.Listen /org/gnome/listen org.gnome.Listen.play_pause как-то так ^_^
вообще вещь идея dbus неплохая, но имхо реализация голимая
-
-
Я, конечно, не эксперт, но, ИМХО, переход на dbus как-то всё очень усложнил :(
-
-
насколько я понимаю, dbus внедрили для разрабов, для унификации управления туевой хучей плееров под линупс. Эти примочки нужны, чтобы управлять чем угодно откуда угодно - из плазмоида в случае с кедами, откуда-нибудь еще в случае гнома
-
-
ну, да, я всё-таки придерживаюсь мнения, что унификация - это хорошо (в разумных пределах, естественно)
-
вы просто никогда не писали под DCOP или SOAP/XMLRPC, D-BUS по сравнению с ними посто офигенный IPC.
-
Я не нашёл способа в D-bus получить текущее состояние плейера (играет, на паузе или в стопе), может кто подскажет как это можно сделать?
Хочу написать демон, который запрещает компу засыпать в S3 если амарок играет музончег :)
-
-
Пока не нашёл этого способа мысли пошли более глобально ;)
Чтобы этот демон работал не только с амароком - можно слушать звуковуху и если там тишина, то смело засыпать, а если звук есть (музончег или кино или онлайн-радио какое) - то отложить засыпание... Только вот как определить играет ли что-то в звуковухе - вообще не в курсах ;((
-
-
keep it simple, dude!
if (qdbus org.kde.amarok /Player GetMetadata) != "" что-то играет с прописаными тэгами
esle if (qdbus org.kde.amarok /Player PositionGet) != 0 что-то играет без тэгов.
-
-
конечно быдлокод, но в 80% случаев будет работать )
-
Да, код конешно получает то что надо, но не через то место через которое хотелось бы ;) А только этой строчки не хватит?
if (qdbus org.kde.amarok /Player PositionGet) != 0
И он наверное ещё даст неверную инфу когда будет играться первая секунда песни, т.е. позиция будет 0, но плейер не на паузе.
-
-
ну можно и так, и просто заставить демона сделать два запроса через секунду о позиции. я конечно не рублю в написании и работе демонов, но думаю, что он должен раз в пять минут это делать, так что не страшно, что он два раза спросит.
а вот чек (qdbus org.kde.amarok /Player GetMetadata) != "" будет нужен для радио/стримов, так как у них вроде нет позиции, или?
|
|
|
Последние посты
|
|
Последние комментарии
|
|
Изменения
|
|
Черновики (все)
|
|
Избранное (всё)
|
|
|