KMix Mission Statement 2013 and KDE 4.11

Dear KMix Users, and reader of this blog [1]. This is a mission statement.KMix KDE 4.11

“I am now happy. Happy with the KMix version shipping with KDE4.11. Happy that I can now declare Media Play control as stable.”

You might neither be surprised or impressed or as happy as I am now. Here is the explanation: For years I mainly maintained KMix for following up with changes dictated by the outside world. The last year was very different and awesome – last year’s KDE Randa Meeting brought enough motivation to do critically needed  KMix refactoring, and add support for media player contol (MPRIS2). KDE4.11 stabilizes the media player support. It is now really smoooooth. 🙂

Enough talking about me, and back to you, the user. Integrating media player control (MPRIS2) was dramatical harder harder than I anticipated. Issues arose where I did not expect them. I sincerely apologize if you endured issues, hangs during start or running the KDE Desktop due to KMix. Please go for KDE 4.11. All will be well now. If not, let me know. 🙂

I thank everybody involved, especially apachelogger for practical advice and Albert Astals Cid for coping with me technically being too late for KDE 4.11.


[1] Well, I guess that everybody reading this is a KMix user.  But not the other way round. 😉

62 responses to this post.

  1. Hi!

    It looks very nice! I will not have to use pulseaudio volume control anymore 😉

    By the way, I have a problem when using KMix, it does not switch the master control when I connect a USB speaker automatically. My laptop has an internal speaker, but I sometimes want to use a USB speaker for better sound quality. (Olasonic is really awesome btw) I have to do it by hand every time I use a USB speaker. This is very messy. Is such a feature difficult to implement?

    Kind regards,
    Mikiya Okuno

    Reply

    • Yes, it is. One can only try to do a best-effort implementation, but it will likely require much time and work. Also some people might not want to switch, or only for specific devices. So you need to add options to the configuration dialog, and so on and so forth. All in all, if someone wants to try, I will gladly assist.

      Reply

      • Posted by Benjamin Xiao on December 18, 2013 at 8:12 am

        Why not just change it so that the volume controls work for the active audio device like how Gnome does it? In KDE settings, there is a priority list of audio devices. Topmost has priority and if that device is not available it will use the second one and the third, etc. Why not just detect which audio device is being used from that priority list and automatically set that as the master? Most people want to be able to control the device that’s currently playing sound. The usecase where a user would want the master channel set to some device other than the one that’s currently playing sound is debatable at best. Even then you can just add a single checkbox to the settings to configure this behavior.

        Gnome handles this just fine. It’s always been one of my pet peeves using KDE since I have both my monitor speakers and TV connected via HDMI and I constantly need to switch the audio devices.

      • A common question, and I keep the answer short. I have longer answers likely in former post comments and in the KDE wishlist/bug system.
        Unfortunately it is highly complex – you have to match a KDE (Phonon) playback device to a mixer device. I have not yet investigated whether it is possible at the moment. If someone knows more about this, or can dig into the Phonon API, let me know and we can get this started.

    • Posted by Lukas Schneiderbauer on July 30, 2013 at 5:20 pm

      .. in the meantime you could use ‘pasystray’ https://github.com/christophgysin/pasystray. It ships this feature.

      Reply

  2. Posted by olin on July 27, 2013 at 7:39 am

    This looks awesome! Thanks!

    Reply

  3. Awesome! I was having a lot of trouble with KMix freezing in 4.10 and eventually it was fixed it in the Git branch. I can’t wait to get my hands on this awesomeness!

    Reply

  4. Posted by ben on July 27, 2013 at 10:41 am

    How about proper oss4 support?

    Reply

    • OSSv4 was implemented (not by me) but further development was abandonded. OSSv4 is officially unmaintained. It will be removed at some time if required by further development, unless a new maintainer shows up.

      Reply

  5. Thanks for your hard work. It really seems a good improvement to control each element of sounds from one popup. I think GUI wise there is still some work to do, but the functionallity of Kmix is kinda neat. I still am irritated when I scroll in other desktop software on the sound icon and nothing happens.

    One small thing that I experienced yesterday (I did not investigate it at all as I screwed up my KDE install afterwards…): No auto detection of the master channel so I could not change volume quickly when the output changed to HDMI. Maybe this rings a bell, maybe not 😉

    Reply

  6. Posted by kubuntu-user on July 27, 2013 at 12:15 pm

    OMG, finally. Thank you very much for your efforts! Looks nice.

    Reply

  7. Awesome! This looks really great!

    I’ve a question: when I change the sound with multimedia keys with ALSA (not PulseAudio), it add or remove a strange amount of volume, not always the same (5 or 4). With PulseAudio it’s always 5. Why?

    Reply

    • Pulseaudio operates with perentages (0 – 100), while KMix operates on the absolute values the volume levels supported by the sound card (e.g. 8 or 32 or 30000). KMix is more precise, especially if you operate via remote control (DBUS). Pulseaudio is more “natural”. What is better depends on the taste: Other people do not like both, and prefer dB values.

      Reply

      • Will it be possible to let the user choose what unit he want instead?

      • I have personally no use or interest in that. So some other volunteer would do do that. Feel free to help.

      • Usabilitywise KDE has one major failure. Instead of presenting ‘the right options’, it includes all options cause of the idea of freedom. Yet, there is something like “the paradox of choice” which means choice will hurt your feeling of freedom when you get too many of it.

        Is it really that important that there is another option for this? And i you think so, how many people will think like you? You probably won’t know without some survey. You might please the very last 2% by including 1029 options, but changes are high you loose the first 35% (only KDE desktop users/not (tech)blogreaders) by doing so.

        That’s why I am very happy some people in the project do surveys nowadays and take the conclusions to the designers (or design a new GUI themselves). Those surveys are very professional and the last one I have seen (about KScreen?) was really outstanding in the way the questions were formulated. We don’t need all options in KDE. We need those option (visible) that will please the most users.

        1.) Option A = 85%
        2.) Option A and B = 95%
        3.) Option A, B and C = 87%
        4.) Option A,B,C and D = 63% << this one includes the 2% that comment on blogs like this (for example)

        What should we pick?

      • In fact, I just want to have the same behavior accross backends.

      • Maybe it’s better Kmix behaves the same way either with ALSA or pulseaudio, working with percentage (seems more natural I think).

      • Posted by Adam on September 8, 2013 at 8:47 am

        You’re the expert, not me, but after reading a bit from Lennart Poettering about how PulseAudio handles volume changes across multiple devices and channels and virtual devices, etc, all with different, layered ranges and units–I think it would probably be best to just do volume changes through PA. It’s a really hard problem, but PA has basically solved it. Why let that go to waste? 🙂

      • It is only about replacing playback streams, not about devices: PA Playback Stream volume is roughly equivalent to MPRIS2 volume control. MPRIS2 additionally supports playback control (pause, next, …). So replacing playback streams would be/ an advantage.

  8. Posted by Paolo on July 27, 2013 at 5:48 pm

    many many thanks to all of you!

    Reply

  9. Posted by nece228 on July 27, 2013 at 6:54 pm

    Why horizontal sliders are bad? Because you say turn the volume up, or down, but not turn it left or right, so please switch to vertical sliders, its also less confusing when you change volume with mousewheel.

    Reply

  10. Good work!
    But, a simple detail: the correct name of Albert Astral Cid is Albert Astals Cid 🙂
    Regards

    Reply

  11. Posted by Daniel on July 28, 2013 at 11:26 am

    Is there an option now for quickly switching output devices too?

    Reply

    • What exactly do you mean. Switch the default of some type (Music, Notification, …), switch a running music stream, or something else?

      Reply

      • Switch from onboard audio to HDMI for example I guess. Sence auto-detection is very hard to develop according to you, it might be a nice ‘workaround’ to have a very fast switch. Even if it’s not implemented in the default popup, it would be great to have it under ‘rightclick: tray icon > hover: select output device > click: output name’

        As Interaction Designer/User Experience Designer I am willing to help making the GUI as easy yet effective as possible.

      • I am happy about any help, Bart. My problem is not the auto-switch, but the mapping from mixer device to audio device. As far as I see there is no mapping from “ALSA hw:0” to “Phonon: Music”, or to a specific backend like “GStreamer device 3” or “Pulse sink” or “Jack output”.
        Manually switching a specific stream is already possible when using the Pulseaudio backend. Is this what you have in mind? It is only one possible scenario for switching that users want (switch stream, switch device for Music, switch for Headphone, switch for all input, switch for all).

  12. Posted by Pete on July 28, 2013 at 12:29 pm

    Great work, I’m looking forward to it and KDE 4.11 as well 😀

    Reply

  13. Posted by pepedopolous on July 28, 2013 at 2:27 pm

    Hi. Thanks for all your work, I’ve had no problems with kmix for longer than I can remember!

    Is the media play function available 4.10.97 (KDE 4.11 RC2)? I don’t get any play controls in the kmix applet for either Amarok or Clementine (using Arch Linux testing packages).

    Reply

    • Media player control is available with the MPRIS2 backend. If you use Pulseaudio, then you have Pulseaudio streams, and MPRIS2 is deactivated. If you want to try, there is an earlier post describing how to manually switch Backends.

      Reply

      • Posted by Adam on September 8, 2013 at 8:49 am

        Sorry, I’m confused: why is MPRIS2 a replacement for PA support? Isn’t controlling a music player orthogonal to controlling volumes and mixers and devices?

      • It is only about playback streams: PA Playback Stream volume is roughly equivalent to MPRIS2 volume control. MPRIS2 additionally supports playback control (pause, next, …)

  14. […] KMix Mission Statement 2013 and KDE 4.11 […]

    Reply

  15. Hi – Nice work. Looking forward to 4.11. I have a question, perhaps a dumb one, is there any proposal or thoughts to integrate Phonon and KMix? I think, overall there should be simpler way of managing sound setting in KDE…..

    Reply

  16. Posted by buba on August 1, 2013 at 8:43 pm

    grat job, many thanks for you 😉

    Reply

  17. […] Der Soundmixer KMix wurde beschleunigt und von Fehlern befreit. Außerdem unterstützt er jetzt die vollständige Medienplayer-Steuerung auf Basis des […]

    Reply

  18. Posted by YAFU on August 15, 2013 at 1:22 pm

    Hello beylix.
    I have upgraded to KDE 4.11 in Kubuntu and Media Play controls do not appear on KMix. Should I install some extra dependency so that they are shown?
    Thank you.

    Reply

  19. […] teníamos ganas de que llegara: control de reproductores multimedia integrado. Un aplauso, que el camino ha sido duro. Con todo, tengo que advertir que esta novedad no la he visto en Kubuntu, donde estoy probando KDE […]

    Reply

  20. Posted by Nicolas on August 18, 2013 at 2:14 pm

    YES! I don’t need pavucontrol anymore, great job!
    just a little problem: this is not working with audio from browsers. checked it with firefox 22 and chromimum 28 with flash and html5

    Reply

  21. I’m using KDE 4.11.00 with KMix 4.4 and I don’t see these changes. Is there something I have to tell it to do? Amarok and Spotify both emit MPRIS commands but I don’t see anything.

    Reply

  22. Posted by Thomas on August 20, 2013 at 12:12 pm

    I just can’t get these fancy Pause/Skip buttons to show up, I only get the plain sliders. I’m using Amarok 2.8/Audacious 3.3 in kde 4.11 (openSUSE 12.3). What am I doing wrong?

    Reply

  23. Posted by Zoidberg on August 20, 2013 at 6:59 pm

    How can I enable this? I’m using KDE 4.11 (updated from 4.10) and Clementine.

    Reply

  24. […] teníamos ganas de que llegara: control de reproductores multimedia integrado. Un aplauso, que el camino ha sido duro. Con todo, tengo que advertir que esta novedad no la he vistoen Kubuntu, donde estoy probando KDE […]

    Reply

  25. For any arch linux pulseaudio kde users that, like me, have some update made their kmix broken by enabling this Alsa:MPRIS2 backend as default, the fix is very fast and easy:
    open ~/.kde4/share/config/kmixrc, find every string starting with

    [View.PulseAudio.

    and add the string

    Show=true

    after it.

    Reply

  26. Posted by apache on September 20, 2013 at 9:05 am

    Please add option to change ability to set the percentage of volume – VolumePercentageStep – I refer to Bug 189995.

    Reply

  27. Posted by jean on November 22, 2013 at 6:56 pm

    Thanks a lot for your awesome work. From what I get it is not possible to get these nice control buttons with pulseaudio ?

    Reply

    • Well. It is possible but it is not polished enough for the general audience. If you like to play, you can set the backends manually – look for an older post, there might also be a link in one of the comments in this post. You would need the following in your “kmixrc” file, but I currently cannot test myself whether it actually works.

      Backends=MPRIS2,PulseAudio

      Reply

      • Posted by jean on November 26, 2013 at 2:38 am

        Thanks for your anwser but indeed it’s not ready 😦
        Buttons work but volume slider is not active. In fact for each sound playing, two streams are visible : 1 pulseaudio with a volume slider (working) + 1 MPRIS2 with buttons (working) and volume slider (not working).
        Thanks for your work anyway !

Leave a reply to Jacky Alciné Cancel reply