GNOME Bugzilla – Bug 519438
Allow speaker testing
Last modified: 2010-03-17 14:00:26 UTC
Currently, it's impossible to test speaker output with the control-center. We should be able to: - set the number of speakers available in the system (possibly set this system-wide for other users to use?) - be able to test the speaker arrangement with good test files The latter part would show a diagram of the current speaker setup, and allow to play a sound back on each of the speakers separately, or all together. For test files, see also: http://alsa.opensrc.org/SurroundSound http://www.halfgaar.net/surround-sound-in-linux
*** Bug 166262 has been marked as a duplicate of this bug. ***
In 0.9.15, pa_sink_info::card will contain the index of the card the sink belongs to, or PA_INVALID_INDEX. Using the profile selection UI (in bug 572217), we should be able to see whether a card supports surround, and offer help in the setup.
Created attachment 135099 [details] speaker-setup.png My (horrible) first attempt.
A bunch of better looking screenshots: http://people.fedoraproject.org/~hadess/gnome-volume-control/multi-speaker/
Created attachment 135736 [details] sketch of a possible speaker testing dialog
Created attachment 135740 [details] sketch of a possible speaker testing dialog Here's png version of same file. Was having SVG issues.
Using Bastien's initial attempt as a jumping off point, I sketched out another version of a what the testing dialog could look like. It still sticks to a pretty simple layout, but with the following improvements: 1) Directionality of the speakers 2) Placement of the user in context 3) Feedback on selection 4) Clear buttons Regarding the first two points, I prefer the user drawn into the setup to eliminate any ambiguity regarding the setup. This also applies to rotating the speaker icons to better reflect their actual position. When initially looking at the screenshots Bastien linked to, I really liked the Vista screenshots ( http://people.fedoraproject.org/~hadess/gnome-volume-control/multi-speaker/4.jpg ). Upon closer examination, though, I realized that sonar-looking drawing they use would a) have to be redrawn for every speaker setup we supported, and b) doesn't really reflect reality--in your mental model of surround sound, does your hearing radiate out towards the speakers, or are the sound waves from each individual speaker coming in toward you? I think a more modular approach with rotated versions of the same icon should be a reasonable solution. I would also like there to be a visual indicator of which speaker is playing outside of the button. Changing the color of the speaker icon should be fine. This will also be nice for the Test All button, focusing the user's attention on the individual speaker being played at that very moment, improving troubleshooting ability. In Bastien's mock up, there were directions for what to press in order to test a speaker. By combining the test button and the speaker label, it should be more obvious to the user where to click to test a given speaker. Admittedly, there's a verb on the Test All button and the rest rely on the play symbol, but more words could be added if that's a problem. Obviously this is on the quick and dirty side, so I would remind folks to keep in mind some unresolved issues here: 1) The iconry: Something pretty would have to go here, as long as there is some direction to the drawing. I'm still unsure whether it's worth visually differentiating between the subwoofer and the rest of the speakers. 2) Button/image layout: My understanding is that 7.1 surround is the worst case at the moment, so we're not doing too badly, but I have some reservations about the structure here. 2a) I'm still not happy with how everything is shifted left in the dialog to allow for the subwoofer. 2b) I also had been experimenting with putting the Test All button close in with the user, or farther to the left, but will have to futz around me to find something that looks okay. I like the current position of the Test All button because it fits really well with the rest, but this also makes it feel like Test All is on the same hierarchical level as the speakers, which is not so good. Anyway, here's my first whack at the problem. I hope it helps.
Created attachment 136151 [details] minor revisions to previous sketch Three very minor changes: 1) Better illustration of toggling nature of the test buttons. Just like Rhythmbox switches from play to pause in the same button, so should the test buttons in this dialog. Troubleshooting is a lot easier when the sound keeps playing, allowing the user to keep fiddling with the speaker /until/ it works, rather than iterative testing. 2) Test All button placement change. I still hate this placement, but in an effort to keep a standard left aligned, button, I tried it out. The text in front of the button is rather redundant, but to put the button on the left side allows for a ragged edge between left-aligned and indented buttons that makes me gag a little. Still problematic. Back to the drawing board, so to speak. Question: I assumed the space in line with the Close button's baseline is reserved for terminal actions, but is that actually true? Would test all work left aligned on that same line? 3) Color change and small highlight on speaker in use. It was pointed out to me the red makes the speaker look broken. Though these aren't the icons to be used, I wanted to make sure the highlight read as "sound being played here" and not something else.
Requested artwork: http://live.gnome.org/GnomeArt/ArtRequests/issue22
libcanberra 0.13 (which I uploaded to rawhide yesterday) now knows the CA_PROP_CANBERRA_FORCE_CHANNEL property which you can use to force a .wav file to have all channels mixed and written to one particular channel only. You pass in a string in the same format as PA's pa_channel_position_to_string() returns.
An option might be to integrate this into g-v-c: http://0pointer.de/blog/projects/speaker-setup.html
Created attachment 155973 [details] [review] Add speaker testing UI
here's a UI tip, front is confusing in this patch. The face is pointing in towards increasing Y, but the speakers being faced are the rear. You need to put the front speakers on the bottom of the window, and rear up top for it to make sense.
or flip the face upside down..
I think this CA_PROP_APPLICATION_NAME, "Speaker Setup", should be localized ?
(In reply to comment #15) > I think this > > CA_PROP_APPLICATION_NAME, "Speaker Setup", > > should be localized ? It should actually be fixed to not appear in pavucontrol or gnome-volume-control.
Created attachment 156290 [details] speaker icons from Eve The speaker icons as made by Evangeline McGlynn.
Updated http://live.gnome.org/GnomeArt/ArtRequests and http://live.gnome.org/GnomeArt/ArtRequests/issue22 for the "user" icon request.
Comment on attachment 155973 [details] [review] Add speaker testing UI commit a139eed72c14cbd0560c72d165721df8b9edf141 Author: Bastien Nocera <hadess@hadess.net> Date: Thu Mar 11 14:51:10 2010 +0000 Add speaker testing UI
(In reply to comment #16) > (In reply to comment #15) > > I think this > > > > CA_PROP_APPLICATION_NAME, "Speaker Setup", > > > > should be localized ? > > It should actually be fixed to not appear in pavucontrol or > gnome-volume-control. Fixed in: commit dd2fa10c019ded5b53be73b31dfd4ddfada6fcb8 Author: Bastien Nocera <hadess@hadess.net> Date: Wed Mar 17 13:53:33 2010 +0000 Remove unneeded speaker testing properties This bug is about the dialogue being slightly larger now: https://bugzilla.gnome.org/show_bug.cgi?id=613040 About the "user" icon: https://bugzilla.gnome.org/show_bug.cgi?id=613149 About better hotplug support for the speaker testing: https://bugzilla.gnome.org/show_bug.cgi?id=613150 About a "test all" button: https://bugzilla.gnome.org/show_bug.cgi?id=613151