[pulseaudio-discuss] Channel-level volume control

Tanu Kaskinen tanuk at iki.fi
Wed Jul 14 02:05:15 PDT 2010

On Tue, 2010-07-13 at 20:35 +0100, Colin Guthrie wrote:
> Not sure on the status of python volumes, but git master now has a dbus
> based protocol, and while I've not looked at it, I'd imagine it supports
> per-channel volume control. With this in mind, it *may* be possible to
> write a script based on dbus-send that would work, but I have to stress
> that I've not looked at this at all.

dbus-send won't work, because AFAIK dbus-send wants to talk a bus
daemon, but the connection to PA is a peer-to-peer connection.

That said, using the dbus bindings in python isn't terribly hard. In
fact, I'd guess it's actually easier than calling dbus-send from python
and parsing its output.

PA's dbus api[1] does support setting individual channel volumes for
streams (unless it's broken - I don't think anyone has ever tested that
functionality), so from that point of view using the dbus protocol is a
viable solution.

The downsides:

 * It's probably very buggy. There are not many known bugs, but so far
when anyone has used parts of the API that nobody else has used before,
it has required fixing a couple bugs first.

 * The API is not frozen yet, and I guarantee that there will be
incompatible changes, so if you use the API, you'll need to update your
script when you update PA.

[1] http://pulseaudio.org/wiki/DBusInterface

Tanu Kaskinen

More information about the pulseaudio-discuss mailing list