Review Request 112208: KMix qml applet

Diego Casella polentino911 at gmail.com
Sun Aug 17 17:42:44 UTC 2014



> On Aug. 12, 2014, 11:19 a.m., Christian Esken wrote:
> > For me it looks fine, with some questions:
> > 1) Is this completely decoupled from KMix? I do not see a "open mixer" to open the main application.
> > 2) Is it supposed to be integrated in KMix
> > 3) In general, the question is how to progress from here. Diego, do you want KMix integration, or a standalone app? Have any ideas or plans to get it in KDE?
> 
> Martin Klapetek wrote:
>     Note that new work on QML based KMix has started, however this will be Plasma5 only --> http://apachelog.wordpress.com/2014/08/11/volume/

I'll recap everything, hopefully once for all..
This applet is meant to show the availabe mixers (with the option to show all of them, or just the Master one), and modify/mute/unmute them. That's all.
If you need to change Master channel or in general configure KMix, you need to run the "old" KMix application. That's why, in the QML applet, I added a button named "Mixer setup": you click it, and the "old" KMix should appear (in my opinion QML applets have be minimal and simple, so everything else must be done in a regular QtWidget based application).
Anyway back on the topic: I said "should" because at the moment KMix does not appear, complaining that:

"QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave."

This is the reason why I mentioned, in the very first description of this review request, that KMix needs to be patched :)
As about "how to progess from here", I've mentioned some ideas in the beginning:

* patch Plasma QML bindings to provide mouse wheel events, so I can intercept scroll events in the panel and update volume levels accordingly, providing the same functionality the current KMix tray icon does;
* patch Plasma QML slider to provide mouse wheel support (don't know if this has been already fixed in Plasma5);
* patch KMix itself. It should run somewhat "daemonized" and, when QML applet calls "kmix" the regular, QtWidget-based application, will pop up. Since in the sourcecode I've seen references to "kmixd", which i think it stands for "KMix daemon", this may be simple to implement: the daemon provides the low-level connection to the hardware, and this applet and KMix itself connect to the daemon (via DataEngine/DBus mechanism) to communicate with it.


That being said:
* I've been trying to update this applet in the last couple of years, but
* since KDE4/Plasma is now in maintenance mode (aka no new featured will be added), those patches won't happen anymore;
* and since someone is already on the process to "reinvent" the wheel;

I'm kinda sad/tired of how things went so far. The applet is pretty functional (I use it on a daily basis), and it could work fine in Plasma5 too. As far as I'm concerned, at this point I don't see any reason to keep this review open. If Harald wants to use any portion of this code, I'm 100% OK with that.


- Diego


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/112208/#review64369
-----------------------------------------------------------


On May 4, 2014, 9:46 p.m., Diego Casella wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/112208/
> -----------------------------------------------------------
> 
> (Updated May 4, 2014, 9:46 p.m.)
> 
> 
> Review request for Plasma, Aaron J. Seigo, Christian Esken, Marco Martin, and Igor Poboiko.
> 
> 
> Repository: kmix
> 
> 
> Description
> -------
> 
> KMix qml applet.
> As you can see from the screenshot, the applet is pretty much functional: you can display all the controls available, change its orientation, and decide to whether show all of them or just the Master Control, and refresh its status when new controls are added/removed/updated (such as Amarok current playing track). See screenshots below :)
> Differences from the old kmix tray:
> * no media player controls ( I never investigated how to get them, but honestly opening the audio applet to change/skip/pause audio track makes little sense to me ... if anyone wants this feature back, don't be shy and step in);
> * the button used to select which Mixers are visible has been changed to open Phonon kcm page: since visible mixers are already configurable from KMix app, having a button to show KMix *and* a button to modify Mixers visibilty made little sense here too, so I preferred to give more visibility to Phonon kcm;
> 
> Known issues:
> * there is still no way to get notified of mouse wheel events over the popupIcon, so it is not possible to scroll over to increase/decrease the master control volume;
> * no scroll events over the sliders too;
> * if you want to use the applet you most likely will disable KMix tray icon but, if you do so, KMix will show its GUI at every login and you have to close it manually. This requires KMix to be patched. Furthermore, if you click "KMix Setup" button, KMix window will not restored anymore: this needs to be pathed as well.
> * resize doesn't work properly.
> 
> 
> Diffs
> -----
> 
>   plasma/kmix-applet-qml/contents/ui/HorizontalControl.qml 7e87c8e 
>   plasma/kmix-applet-qml/contents/ui/HorizontalMixerListDelegate.qml 26f2968 
>   plasma/kmix-applet-qml/contents/ui/MixersList.qml 66bda73 
>   plasma/kmix-applet-qml/contents/ui/VerticalControl.qml 1702be7 
>   plasma/kmix-applet-qml/contents/ui/VerticalMixerListDelegate.qml bab9ac6 
>   plasma/kmix-applet-qml/contents/ui/kmixapplet.qml eecb91c 
> 
> Diff: https://git.reviewboard.kde.org/r/112208/diff/
> 
> 
> Testing
> -------
> 
> Tested against master and works fine.
> 
> 
> File Attachments
> ----------------
> 
> Default look
>   https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet.png
> Menu Actions
>   https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet1.png
> Applet Config Options
>   https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet2.png
> Vertical Control
>   https://git.reviewboard.kde.org/media/uploaded/files/2013/08/22/kmix_applet3.png
> ToolButton label and Config page after updates
>   https://git.reviewboard.kde.org/media/uploaded/files/2013/08/24/kmix_applet5.png
> Control Icon and Label left aligned
>   https://git.reviewboard.kde.org/media/uploaded/files/2013/08/27/kmix_applet6.png
> Kmix, horizontal view
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/05/04/9d6b0ca4-5a75-45cc-ab8e-61b13d4079e6__kmix_horizontal_new.png
> Kmix applet, vertical view
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/05/04/7efb308a-c306-47c2-883f-64d1f32db5b5__kmix_vertical_new.png
> 
> 
> Thanks,
> 
> Diego Casella
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140817/19431b88/attachment.html>


More information about the Plasma-devel mailing list