Registered Member
|
Inspired by harald sitter's blog post (http://apachelog.wordpress.com/2014/08/11/volume/), I have thought about a kmix successor, that makes more advanced use of pulseaudio.
First of all two mockups, so that it is better to understand what I am talking about (please forgive me the bad quality, I am not talented at doing this): Basic view (maybe we should rename devices to the more general term sinks and applications to streams): Expanded view (when one clicks on the audio stream, note in this mockup we assume we scrolled down, as can be seen on the scrollbar): First of all I think a separation between actual sound devices / sinks and application streams would make sense. When clicking the stream it is expanded for more advanced options, the basic view only offers a slider and a mute/unmute button, to not clutter the widget (that button still makes sense, since when clicking, the slider position is stored and when clicking it again, the slider position would be restored). In my mind the expansion would give two tabs: Balance and Sinks (right now I have only a mockup for the sinks part). The "Balance" tab should allow to configure the left/right balance, I do not yet have an idea how to make a sensible mockup of this, since adding yet another slider below does not look very good imho. I think handling this differently than kmix currently does makes sense both, usability and design wise. Design wise, because splitting one volume control slider to two independent volume control sliders (left and right), like kmix currently does, simply looks cluttered, furthermore we have trouble with splitting the sliders and space/alignment and last but not least we would have to label the two sliders (left and right), while the original volume control slider did not need any label. So I would prefer to move that functionality in the "Balance" tab, where we have a chance to control the balance independent from the volume. Another good functionality in the "Balance" tab power users would look forward to is an equalizer, like the veromix plasmoid has and "Balance" also sounds like the right term for it, since we kinda change a balance, only a balance of frequencies. The "Sinks" tab should allow moving/removing the current stream (or sink) to/from sinks. This should it really make it easy to redirect stuff. (Internally this would simply loopback the current stream/sink to the selected sink/device). In the plasmoid settings the user should have the possibility to check "Create input sink". This would create a virtual input sink where in microphone is looped back. This should be set as default input sink, so that application that want to capture sound would use this as input source. The feature this would add: the user could simply check "Input sink" for an application stream which would simply additionally loop back the application output to the input sink. Real world usage example: Someone wants to share the audio coming from e.g. chromium browser with his friends over an voip application like ktp or skype (ie. redirecting chromium browser output to ktp/skype input.) I hope I do not sound too retarded here, if something is not clear, just ask, citing the text passage that was unclear. What do you think of this initial idea? I know I have not given a full description and did not handle all cases and questions, just give me time to do so in the time to come. Regarding input/output stream distinction: I think we could simply append that to the application/device name, but sometimes stream can be both input and output streams when they are looped back, that's why we have the "sinks" tab, but this can be also appendend to the stream name, to be visible at the first sight. I think it would not be a good idea to create tabs for separation between input and output streams, because some streams can be both and that would only cause duplication. |
Registered Member
|
FWIW: I like 'Devices' and 'Applications' much more because that's something people like my familie member know. 'Stream' and especially 'Sink' on the other hand would make them scream and run away These are technical terms. No need to use them in high level tools.
|
Registered Member
|
I agree. Those people with the technical know-how to know that not all sinks are devices and not all streams are applications also know enough to still be able to use the UI, ignoring the imprecise terms. |
Registered Member
|
Since we need to know if a stream/device is primarily an input or an output stream/device (although we can assign an input stream to an output device as well), we need to indicate that somehow, here is a first try:
In the expanded view the INPUT/OUTPUT label introduces a visual imbalance though, so we will need a better idea: |
KDE Developer
|
I really like that. However, I think the volume icons are redundant. Sure it's sound and all but we have the slider and the percentage.
If the icon is not going to distinguish between input (microphone icon) and output (speaker icon) it should go. |
Registered Member
|
Using a mic for input and speaker for output makes a lot of sense to me, we should do that! |
Registered Member
|
The idea behind the speaker icon is, that when you click it, it mutes/unmutes the sound and the slider position is stored/restored.
Better mockups are on the way btw, this time svg ones using an enhanced version of the design toolkit, but give me some time. |
Registered Member
|
That doesn't speak against using a mic for input, does it? |
Registered Member
|
No, the mic idea for input is great! |
Registered Member
|
Please don't find this offensive. I like the idea of having multiple audio sources located in the menu we are discussing. My question is "why?". And I mean that this way, depending on the user, where would a setting like this make more sense? Consolidating the audio controls for each application on a menu like this would assume that the user has multiple audio tracks playing and they want to control one or the other to make sure one volume does not overtake the other, or at least that's what it makes me think. Another scenario where this would make sense is when having an audio professional who intends to run different sound tracks at the same time and then up or down the volume on each to allow/restrict audio tracks from playing or not playing. The part that I am speaking of specifically is the multiple volume tracks in the mixer, not the outputs.
Would it make sense? Where would it fit? Who would it fit? I come from the idea that less-is-more cliche. Where consolidating is good but when done with measure. |
Registered Member
|
Any proper audio applet should support setting the volume of different applications to different values. I uses this feature daily and I'm sure many others do as well. You also need a global volume control to mute all streams or set the maximum volume level.
|
Registered Member
|
I am very convinced that the proposed audio applet would not be any more complex than the networkmanager widget, indeed, like with networmanger the complexity depends on the number, but the number should not be a problem since we have a scrollbar and the basic plasmoid is simply a list, only if you click one stream/device space will be expanded to show controls. I do not think it would be sensible to move all of that important functionality to a kcm or in an dedicated application, I think its just the right task for a plasmoid. What do we have plasmoids for? Of course everything they do could be done in a program. Apart from that, consider that our plasmoid can not only be placed in system tray, but also on the dashboard, just like the networkmanager plasmoid. Only showing a popover with a volume slider is really not much and quite useless imho, apart from that removing audio streams etc. will be a big regression compared to kmix in its current form. I use the features I proposed quite regularly and I am no audio professional.
I agree we could leave out the equalizer, if you are talking about that, but I have not come up with a final mockup yet (I am still not sure about the balance tab, maybe I come up with something different, but left/right balance control is important, but we do not want to clutter the interface). |
Registered Member
|
Your question is valid and we should challenge features every time. My use-case for multiple controls: I'm using the internal sound card in most cases but have a Logitech G930 headset for communication. It's connected via USB, has its own inbuilt soundcard, and a dedicated volume control on the earpiece. Perhaps it depends on my backend setting how this control is working but I usually switch the default input at the plasmoid. It makes sense to me to have computer sound separated from voip. |
Registered Member
|
Thanks for the reply everyone, I think taking a step back and thinking very critically of the applet helps. My impression is that, if the sound gets out of control in size or elements, we must find a simple solution to deal with that. I am thinking more of a video and audio professional who needs to manage all these sources clearly. Would the applet be enough or if it includes everything how do we organize it to make it easier on a user that needs quick access and simplicity? |
Registered Member
|
Okay, let's sync back with reality
Diego Casella has made a KMix Plasmoid last year (see screenshots here: https://git.reviewboard.kde.org/r/112208/ ) which has been waiting to get merged since then. There has been a lot of discussion on it and it has recently been brought up again and looks like it will be released both as a stand-alone Plasmoid in Plasma 4 and to be shipped with KMix in Plasma 5 (it all can be read in the comments on the review request liked to above). So it seems that Diego would be the person to present our ideas to whenever we feel that we're ready to do so. Personally, I'm always for involving developers sooner rather than later to avoid putting lots of effort into a deign which won't ever get implemented due to technical restrictions (or because the maintainer simply doesn't like it). i can try to contact Diego as soon as I get the go-ahead from people in this thread. |
Registered users: bancha, Bing [Bot], Evergrowing, Google [Bot], lockheed, mesutakcan