_ [comp] bmpx の dbus で遊ぶ

bmpx が dbus でリモートコントロールできるようになっているということで、遊んでみる。 DBus Interface の Setting up a connection with BmpSystemControl - DBus C API のコードと Doing an RPC (Remote Procedure Call) - DBus C API のコードをくっつけてやればひとまずコンパイルは通る。 が、動かない。dbus-daemon は動いているんだけどなぁ。調べてみるとこれだけでは足りなくて、ユーザ側でも dbus-daemon を動かさなければならないようだ。確かに動いてる dbus-daemon には –system というオプションつき。ユーザ側で dbus-daemon を動かすには dbus-launch というコマンドを使えばいいようだ。調べてみると ssh-agent っぽい感じ。~/.xinitrc を以下のように変更。

-exec /usr/bin/ssh-agent blackbox
+exec /usr/bin/dbus-launch --exit-with-session /usr/bin/ssh-agent blackbox

ここまで準備して先程のサンプルを動かしてみる。が、今のプレイリストだと URI が取れても面白くないので src/system-control.xml を参考に、GetCurrentUri を GetCurrentTitle に変更。これで動かしてみると、

** Message: Current Title is: '[Default] 1. (Unknown Artist) - (Unknown Album) - XXXXXXXX.ogg'

おお、取れてるぞ。 examples/dbus-c/ の下にもいろいろコードがあった。

_ [comp] Audacious Player

beep-media-player 0.9.7.1 の後を引き継ぐ形で Audacious Player の開発が始まった。 BMPx はまだまだ実験的なものなのでどうなることかと思っていたけど、しばらくは安心かも。