kmix PulseAudio support

Colin Guthrie gmane at
Wed Jan 6 23:29:17 GMT 2010

'Twas brillig, and Christian Esken at 06/01/10 19:09 did gyre and gimble:
> Am Mittwoch, 6. Januar 2010 13:16:53 schrieb Alexis Ménard:
>> On Wed, Jan 6, 2010 at 12:56 PM, Helio Chissini de Castro <helio at> 
> wrote:
>>> On Wednesday 06 January 2010 09:40:10 Sebastian Kügler wrote:
>>>> On Wednesday 06 January 2010 11:24:04 Colin Guthrie wrote:
>>>>> After improving Phonon integration I've been digging through the kmix
>>>>> code to try and add proper PulseAudio support.
> Phonon integration is the way to go. Apps or App categories should show as 
> controls.

Well I currently show one category - the "Events" one. This is done also
in gnome and as event sounds are short lived it can be tricky to catch
them individually so they are hidden and only the common slider is
shown. I'll probably get round to showing other categories too, but this
one keeps things the same with pavucontrol and gnome-volume-control.

> BTW: How does one activate the Phonone backend? I have never seen it in 
> action.

There is no dedicated backend, but both the xine and gstreamer backends
support this integration. The gstreamer backend has much better pulse
integration and the one I'd recommend generally although it does have
it's problems and xine backend can be better generally (even if it's PA
support is not very good - something on my list).

I wrote up a detailed analysis of how it works here which should tell
you all you need to know:

>>>>> I have two remaining issues that I do not think are show stoppers:
>>>>>  1. Everytime a new device shows up a new Global Shortcut dialog
>>>>> appears. I don't think this is any different to ALSA but.... as I now
>>>>> have per-app volume control, this dialog is also shown everytime a new
>>>>> application plays sound. It only happens once, but it could still be
>>>>> considered annoying by some.
> No, it doesn't happen for ALSA. Nor for OSS. Why should it?
> Anyhow, this is a showstopper.

Actually I think it does show up for alsa (I saw it happen before with
pristine kmix). That said the dialog in question I now realise is
related to the notification daemon impementation I was running. My
system is generally rather butchered and rather than running knotify I
was using notify-osd which doesn't support the action callbacks and
displays such dialogs in a pretty strange way. I blame Ubuntu's franky
outrageous decision to not implement actions in notify-osd for this but
I digress - full rant here:

>>>>> Obviously if PA is not running, this whole patchset should amount to a
>>>>> NOOP. Also even if PA is running you can export
>>>>> KMIX_PULSEAUDIO_DISABLE=1 to disable the integration.
> That is not good. Pulseaudio has always been a mess to me, usually it would 
> not work at all, haning applications (not only KMix).

I'm confused, so you'd prefer I didn't provide ways for users to disable
the PA integration?

>>>> Thanks for keeping sanity for those whose setups don't work with
>>>>  pulseaudio.
> Like me. Don't activate PulseAudio by default. IMO that beast is a mess.

Again I'm confused. I don't "activate" anything. If the system is
configured to use PA then I'll use it. This is surely the correct approach?

>>> sprint multimedia will be a ground zero point to new mixer interface and
> What exactly do you mean with "new"?!?
> You guys get me quite confused in this mail thread. Please do not say "it is 
> bad" or "lets change things" without indicating what you mean.

Having not jumped into the Kmix code before, I can say that the mixers
and such it exposes are very restrictive. The channels and mappings are
fixed and nailed down to pre-defined concepts rather than giving a
flexible structure onto which I can build. It was quite hard to shoe
horn my needs into the existing UI code. I think if kmix can be
plasmaficated that bits of it (e.g. your favourite device or app) can be
embedded where you need it and volume levels etc can be put inside
applications really easily etc. But that said I probably don't have the
insight needed here to comment in more depth.



Colin Guthrie

Day Job:
  Tribalogic Limited []
Open Source:
  Mandriva Linux Contributor []
  PulseAudio Hacker []
  Trac Hacker []

More information about the kde-core-devel mailing list