After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 519438 - Allow speaker testing
Allow speaker testing
Status: RESOLVED FIXED
Product: gnome-media
Classification: Deprecated
Component: gnome-volume-control
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gnome media maintainers
gnome media maintainers
: 166262 (view as bug list)
Depends on: 572217
Blocks:
 
 
Reported: 2008-02-29 03:38 UTC by Bastien Nocera
Modified: 2010-03-17 14:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
speaker-setup.png (42.67 KB, image/png)
2009-05-21 14:23 UTC, Bastien Nocera
  Details
sketch of a possible speaker testing dialog (131.04 KB, image/svg)
2009-06-01 14:52 UTC, Evangeline McGlynn
  Details
sketch of a possible speaker testing dialog (41.01 KB, image/png)
2009-06-01 15:26 UTC, Evangeline McGlynn
  Details
minor revisions to previous sketch (49.11 KB, image/png)
2009-06-08 15:46 UTC, Evangeline McGlynn
  Details
Add speaker testing UI (461.71 KB, patch)
2010-03-12 15:15 UTC, Bastien Nocera
committed Details | Review
speaker icons from Eve (115.38 KB, application/octet-stream)
2010-03-16 17:52 UTC, Bastien Nocera
  Details

Description Bastien Nocera 2008-02-29 03:38:35 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
Comment 1 Bastien Nocera 2008-08-29 14:13:46 UTC
*** Bug 166262 has been marked as a duplicate of this bug. ***
Comment 2 Bastien Nocera 2009-02-17 23:42:19 UTC
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.
Comment 3 Bastien Nocera 2009-05-21 14:23:23 UTC
Created attachment 135099 [details]
speaker-setup.png

My (horrible) first attempt.
Comment 4 Bastien Nocera 2009-05-21 14:34:32 UTC
A bunch of better looking screenshots:
http://people.fedoraproject.org/~hadess/gnome-volume-control/multi-speaker/
Comment 5 Evangeline McGlynn 2009-06-01 14:52:04 UTC
Created attachment 135736 [details]
sketch of a possible speaker testing dialog
Comment 6 Evangeline McGlynn 2009-06-01 15:26:32 UTC
Created attachment 135740 [details]
sketch of a possible speaker testing dialog

Here's png version of same file.  Was having SVG issues.
Comment 7 Evangeline McGlynn 2009-06-01 16:01:13 UTC
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.
Comment 8 Evangeline McGlynn 2009-06-08 15:46:13 UTC
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.
Comment 9 Bastien Nocera 2009-06-08 16:14:32 UTC
Requested artwork:
http://live.gnome.org/GnomeArt/ArtRequests/issue22
Comment 10 Lennart Poettering 2009-06-25 01:44:11 UTC
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.
Comment 11 Lennart Poettering 2010-02-21 18:42:57 UTC
An option might be to integrate this into g-v-c:

http://0pointer.de/blog/projects/speaker-setup.html
Comment 12 Bastien Nocera 2010-03-12 15:15:06 UTC
Created attachment 155973 [details] [review]
Add speaker testing UI
Comment 13 Alex Launi 2010-03-12 16:45:14 UTC
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.
Comment 14 Alex Launi 2010-03-12 16:45:57 UTC
or flip the face upside down..
Comment 15 Matthias Clasen 2010-03-13 02:16:27 UTC
I think this

CA_PROP_APPLICATION_NAME, "Speaker Setup",

should be localized ?
Comment 16 Bastien Nocera 2010-03-16 17:51:05 UTC
(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.
Comment 17 Bastien Nocera 2010-03-16 17:52:18 UTC
Created attachment 156290 [details]
speaker icons from Eve

The speaker icons as made by Evangeline McGlynn.
Comment 18 Bastien Nocera 2010-03-16 17:58:18 UTC
Updated http://live.gnome.org/GnomeArt/ArtRequests and http://live.gnome.org/GnomeArt/ArtRequests/issue22 for the "user" icon request.
Comment 19 Bastien Nocera 2010-03-17 13:50:39 UTC
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
Comment 20 Bastien Nocera 2010-03-17 14:00:26 UTC
(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