diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index 6bea32385..d7c2b5323 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
@@ -166,6 +166,10 @@ http://www.newbreedsoftware.com/tuxpaint/
* Gave Tux the Penguin a voice (e.g., during prompts)
Voice: Daniel 'TuxthePenguin' Alston
+ * Sound effects can be muted/unmuted while the program is running
+ by pressing the [Alt]+[S] keys. (Note: does not enable sounds if
+ "nosound" is set in configuration file or via command-line.)
+
* Printing improvements:
----------------------
* Now printing directly via Postscript.
diff --git a/docs/OPTIONS.txt b/docs/OPTIONS.txt
index 260da1000..58db5e5c8 100644
--- a/docs/OPTIONS.txt
+++ b/docs/OPTIONS.txt
@@ -9,7 +9,7 @@
bill@newbreedsoftware.com
http://www.newbreedsoftware.com/tuxpaint/
- October 2, 2005
+ November 12, 2005
--------------------------------------------------------------------------
@@ -83,7 +83,9 @@ Windows Users
* 1600x1200
nosound=yes
- Disable sound effects.
+ Disable sound effects. (Note: Pressing [Alt] + [S] cannot be
+ used to reenable sounds if they were disabled using this
+ option.)
noquit=yes
@@ -606,7 +608,7 @@ Available Languages
|---------------+---------------------+---------------------|
|br_FR |Brezhoneg |Breton |
|---------------+---------------------+---------------------|
- |ca_ES |Catal`a |Catalan |
+ |ca_ES |Català |Catalan |
|---------------+---------------------+---------------------|
|cs_CZ |Cesky |Czech |
|---------------+---------------------+---------------------|
@@ -622,17 +624,17 @@ Available Languages
|---------------+---------------------+---------------------|
|en_GB | |British English |
|---------------+---------------------+---------------------|
- |es_ES |Espanol |Spanish |
+ |es_ES |Español |Spanish |
|---------------+---------------------+---------------------|
- |es_MX |Espanol-Mejicano |Mexican Spanish |
+ |es_MX |Español-Mejicano |Mexican Spanish |
|---------------+---------------------+---------------------|
|eu_ES |Euskara |Basque |
|---------------+---------------------+---------------------|
|fi_FI |Suomi |Finnish |
|---------------+---------------------+---------------------|
- |fr_FR |Franc,ais |French |
+ |fr_FR |Français |French |
|---------------+---------------------+---------------------|
- |ga_IE |G`aidhlig |Gaelic |
+ |ga_IE |Gàidhlig |Gaelic |
|---------------+---------------------+---------------------|
|gl_ES |Galego |Galician |
|---------------+---------------------+---------------------|
@@ -648,7 +650,7 @@ Available Languages
|---------------+---------------------+---------------------|
|id_ID |Bahasa Indonesia |Indonesian |
|---------------+---------------------+---------------------|
- |is_IS |Islenska |Icelandic |
+ |is_IS |Íslenska |Icelandic |
|---------------+---------------------+---------------------|
|it_IT |Italiano |Italian |
|---------------+---------------------+---------------------|
@@ -660,7 +662,7 @@ Available Languages
|---------------+---------------------+---------------------|
|ms_MY | |Malay |
|---------------+---------------------+---------------------|
- |nb_NO |Norsk (bokmaal) |Norwegian Bokmaal |
+ |nb_NO |Norsk (bokmål) |Norwegian Bokmål |
|---------------+---------------------+---------------------|
|nn_NO |Norsk (nynorsk) |Norwegian Nynorsk |
|---------------+---------------------+---------------------|
@@ -668,9 +670,9 @@ Available Languages
|---------------+---------------------+---------------------|
|pl_PL |Polski |Polish |
|---------------+---------------------+---------------------|
- |pt_BR |Portuges Brazileiro |Brazilian Portuguese |
+ |pt_BR |Portugês Brazileiro |Brazilian Portuguese |
|---------------+---------------------+---------------------|
- |pt_PT |Portuges |Portuguese |
+ |pt_PT |Portugês |Portuguese |
|---------------+---------------------+---------------------|
|ro_RO | |Romanian |
|---------------+---------------------+---------------------|
diff --git a/docs/README.txt b/docs/README.txt
index 54d80d716..b846e9676 100644
--- a/docs/README.txt
+++ b/docs/README.txt
@@ -9,7 +9,7 @@
bill@newbreedsoftware.com
http://www.newbreedsoftware.com/tuxpaint/
- June 14, 2002 - October 14, 2005
+ June 14, 2002 - November 12, 2005
--------------------------------------------------------------------------
@@ -625,6 +625,19 @@ Available Tools
[Shift] + [Control] + [Escape] may be used to quit. (See the
"Options" documentation.)
+ Sound Muting
+
+ There is no on-screen control button at this time, but by
+ pressing [Alt] + [S], sound effects can be disabled and
+ re-enabled (muted and unmuted) while the program is running.
+
+ Note that if sounds are completely disabled (e.g., by
+ unselecting "Enable Sound Effects" in Tux Paint Config or
+ running Tux Paint with the "--nosound" command-line option),
+ the [Alt] + [S] key sequence has no effect. (i.e., it cannot
+ be used to turn on sounds when the parent/teach wants them
+ disabled.)
+
--------------------------------------------------------------------------
Loading Other Pictures into Tux Paint
diff --git a/docs/html/OPTIONS.html b/docs/html/OPTIONS.html
index 98e12d4fa..fc318f37d 100644
--- a/docs/html/OPTIONS.html
+++ b/docs/html/OPTIONS.html
@@ -23,7 +23,7 @@ New Breed Software
bill@newbreedsoftware.com
http://www.newbreedsoftware.com/tuxpaint/
-October 2, 2005
+November 12, 2005
@@ -119,7 +119,8 @@ New Breed Software
nosound=yes
- Disable sound effects.
+ Disable sound effects. (Note: Pressing [Alt] + [S]
+ cannot be used to reenable sounds if they were disabled using this option.)
noquit=yes
diff --git a/docs/html/README.html b/docs/html/README.html
index 846b8ef4f..268b6c2d7 100644
--- a/docs/html/README.html
+++ b/docs/html/README.html
@@ -23,7 +23,7 @@ New Breed Software
bill@newbreedsoftware.com
http://www.newbreedsoftware.com/tuxpaint/
-June 14, 2002 - October 14, 2005
+June 14, 2002 - November 12, 2005
@@ -868,6 +868,21 @@ New Breed Software
+
+ Sound Muting
+
+ There is no on-screen control button at this time, but
+ by pressing [Alt] + [S], sound effects
+ can be disabled and re-enabled (muted and unmuted) while the
+ program is running.
+
+ Note that if sounds are completely disabled
+ (e.g., by unselecting "Enable Sound Effects" in
+ Tux Paint Config or running Tux Paint
+ with the "--nosound" command-line option),
+ the [Alt] + [S] key sequence has no
+ effect. (i.e., it cannot be used to turn on sounds when the
+ parent/teach wants them disabled.)
diff --git a/src/tuxpaint.c b/src/tuxpaint.c
index f3482eb6e..04fe2acf1 100644
--- a/src/tuxpaint.c
+++ b/src/tuxpaint.c
@@ -22,7 +22,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
(See COPYING.txt)
- June 14, 2002 - October 22, 2005
+ June 14, 2002 - November 12, 2005
*/
@@ -1469,7 +1469,7 @@ static int use_sound, fullscreen, disable_quit, simple_shapes,
dont_do_xor, use_print_config, dont_load_stamps, noshortcuts,
no_system_fonts, no_button_distinction,
mirrorstamps, disable_stamp_controls, disable_save, ok_to_use_lockfile,
- alt_print_command_default;
+ alt_print_command_default, mute;
static int want_alt_printcommand;
static int starter_mirrored, starter_flipped;
static int recording, playing;
@@ -2836,6 +2836,14 @@ static void mainloop(void)
{
done = do_quit();
}
+ else if (key == SDLK_s && (mod & KMOD_ALT))
+ {
+ if (use_sound)
+ {
+ mute = !mute;
+ Mix_HaltChannel(-1);
+ }
+ }
else if (key == SDLK_ESCAPE &&
(mod & KMOD_SHIFT) && (mod & KMOD_CTRL))
{
@@ -3688,7 +3696,7 @@ static void mainloop(void)
if (toolopt_changed)
{
// Only play when picking a different stamp
- if (stamp_data[cur_thing]->ssnd != NULL)
+ if (stamp_data[cur_thing]->ssnd != NULL && !mute)
Mix_PlayChannel(2, stamp_data[cur_thing]->ssnd, 0);
}
#endif
@@ -7658,6 +7666,7 @@ static void setup(int argc, char * argv[])
/* Set default options: */
use_sound = 1;
+ mute = 0;
fullscreen = 0;
noshortcuts = 0;
dont_do_xor = 0;
@@ -10689,7 +10698,7 @@ static void render_brush(void)
static void playsound(int chan, int s, int override)
{
#ifndef NOSOUND
- if (use_sound && s != SND_NONE)
+ if (!mute && use_sound && s != SND_NONE)
{
if (override || !Mix_Playing(chan))
Mix_PlayChannel(chan, sounds[s], 0);
@@ -10839,7 +10848,7 @@ static void do_eraser(int x, int y)
#ifndef NOSOUND
- if (use_sound)
+ if (!mute && use_sound)
{
if (!Mix_Playing(0))
{