Opened 15 years ago

Closed 10 years ago

Last modified 11 months ago

#7422 closed enhancement (fixed)

GUI: Mute option

Reported by: SF/a60wattfish Owned by: sev-
Priority: normal Component: GUI
Keywords: Cc:
Game:

Description

Would it be possible to add some sort of mute option
(and maybe a keyboard shortcut) to mute all the sound in
ScummVM? I know I can just go in and fiddle with all the
volume settings, but having to do this every time I decide
I want to mute/unmute the volume will probably get
somewhat annoying.

Rather than having to go in and change a load of code to
make it check whether the volume is muted, you could
make it so that when the mute option is selected all the
current volume levels are put in temporary variables and
then set all the volumes to zero.

Ticket imported from: #1180217. Ticket imported from: feature-requests/238.

Change History (15)

comment:1 by SF/tbcarey, 15 years ago

Can't you use the new volume hotkeys to change the volume to
0, like with the original interpreters? It should only take
a matter of seconds to lower the volume to null, and there's
no fiddling around with the GUI / game volume settings required.

comment:2 by SF/a60wattfish, 14 years ago

I hadn't realised that there were volumn hotkeys. However this
is still changing your volumn settings, and if you have adjusted
all the volumns to specific levels, for your own requirements
you will still have to fiddle with the volumn controls.

comment:3 by fingolfin, 13 years ago

So there are two requests: 1) Add a GUI option to
mute sound/music/sfx. 2) Add a hotkey (or possible
multiple) for this.

Techincal side note: We have speech_mute,
music_mute, sfx_mute config/command line options,
but those are only used by some of the engines. We
might want to make sure those work in all engines
consistently (and add GUI access to them). I just
added a note to the TODO list about this.

comment:4 by fingolfin, 13 years ago

Summary: Mute optionGUI: Mute option

comment:5 by sev-, 13 years ago

Owner: set to sev-

comment:6 by salty-horse, 13 years ago

I think there's enough room for such buttons to the right of each slider.

Fingolfin, adding GUI's for muting inside the engines would usually cause inconsistencies with the original menus. BASS, for example, has a music_mute only for the floppy version. In the CD version that space is used for the text and speech button. Adding another button would require a modification of the control panel image. (or a replacement that could be stored in the sky.cpt file)

comment:7 by sev-, 13 years ago

So, is there should be one for all button, or 3? And what keyboard shortcut is most suitable? Ctrl+S?

comment:8 by sev-, 13 years ago

About this request.

Ctrl+U seems to be a suitable shortcut, i.e. 'mUte' and it is free now.

How should it be handled? Per engine? Or by adding some hook to backend? It is not yet clear to me. Max?

comment:9 by fingolfin, 13 years ago

Various engines already offer "mute" options. These engines maybe could be extended by a mute hotkey. But I don't think that it's a good idea to add such a shortcut on the backend level. It will just quickly get into conflict with the engines, and cause odd bugs.

Furthermore, implementing muting is not that trivial. For sampled data, one could add code to the mixer which allows to mute a certain type of audio data (music, speech, FX), which would at least avoid the conflicts that would be caused by meddling with the volume levels.

But what about MIDI output? It's not clear to me how to mute that in an engine independant fashion.

Maybe we should just tell our users to go and buy speakers with a mute button? :)

comment:10 by sev-, 13 years ago

Owner: sev- removed

comment:11 by sev-, 13 years ago

Yeah, pretty everything now has a mute button. I.e. even in-system mixer can do. Just where I could see a hypotetical application for this FR is when someone will want to hear other sounds uttered by his system which could be overpowered by ScummVM score.

Now I see that implementing this feature is quite problematic, and it is an ever-demanding feature, i.e. each new engine should think about it. Perhaps reject it then? At least I'm unassigning it from myself.

comment:12 by bluegr, 12 years ago

Perhaps an easier solution would be the following: when the user presses the mute shortcut (e.g. Control-U) the current volume values could be stored in some sort of variable, and then set to 0. Then, when the user presses unmute, the volume levels could be restored again

comment:13 by sev-, 10 years ago

Owner: set to sev-
Resolution: fixed
Status: newclosed

comment:14 by sev-, 10 years ago

Implemented in SVN

comment:15 by digitall, 11 months ago

Component: GUI
Note: See TracTickets for help on using tickets.