Index: /orxonox/branches/bensch/orxonox_gui_audio.c
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_audio.c	(revision 1820)
+++ /orxonox/branches/bensch/orxonox_gui_audio.c	(revision 1821)
@@ -1,3 +1,21 @@
 #include "orxonox_gui.h"
+
+void audio_check_button_change(GtkWidget *widget, int* data)
+{
+  *data = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget)); 
+  orxonox_flags_update ();
+  if (verbose >=1)
+    printf ("%s changed to %i.\n", (char*) gtk_button_get_label(widget), *data);
+  return;
+}
+
+void audio_slider_change(GtkWidget *widget, int* data)
+{
+  *data = gtk_range_get_value ( GTK_RANGE (widget));
+  orxonox_flags_update ();
+  if (verbose >=1)
+    printf ("Changed slider to %i.\n", *data);
+  return;
+}
 
 GtkWidget *orxonox_gui_audio_frame (struct settings *orxonox_settings)
@@ -18,4 +36,6 @@
 	enable_sound_button = gtk_check_button_new_with_label ("Enable Sound");
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_sound_button), orxonox_settings->audio_enable_sound);
+	g_signal_connect(GTK_TOGGLE_BUTTON(enable_sound_button), "clicked", G_CALLBACK(audio_check_button_change), &(orxonox_settings->audio_enable_sound));
+
 	gtk_box_pack_start(GTK_BOX (orxonox_gui_audio_vbox), enable_sound_button, TRUE, TRUE, 0);
 
@@ -25,5 +45,5 @@
 	gtk_range_set_value ( GTK_RANGE (music_volume_slider), orxonox_settings->audio_music_volume);
 	gtk_range_set_update_policy ( GTK_RANGE (music_volume_slider), GTK_UPDATE_DISCONTINUOUS);
-	/* g_signal_connect (GTK_RANGE (music_volume_slider), "valume_changed", G_CALLBACK (video_filter_crop_slider_changed), GINT_TO_POINTER (0));*/
+	g_signal_connect (GTK_RANGE (music_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_music_volume) );
 	gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), music_volume_slider, TRUE, TRUE, 0);
 
@@ -33,5 +53,5 @@
 	gtk_range_set_value ( GTK_RANGE (effects_volume_slider), orxonox_settings->audio_effects_volume);
 	gtk_range_set_update_policy ( GTK_RANGE (effects_volume_slider), GTK_UPDATE_DISCONTINUOUS);
-	/* g_signal_connect (GTK_RANGE (effects_volume_slider), "valume_changed", G_CALLBACK (video_filter_crop_slider_changed), GINT_TO_POINTER (0));*/
+	g_signal_connect (GTK_RANGE (effects_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_effects_volume) );
 	gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), effects_volume_slider, TRUE, TRUE, 0);
 
@@ -39,7 +59,5 @@
     gtk_container_add(GTK_CONTAINER(frame), orxonox_gui_audio_vbox);
   }
-
   return frame;
-
 }
 
Index: /orxonox/branches/bensch/orxonox_gui_audio.h
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_audio.h	(revision 1820)
+++ /orxonox/branches/bensch/orxonox_gui_audio.h	(revision 1821)
@@ -2,4 +2,6 @@
 #define _ORXONOX_GUI_AUDIO_H
 
+
+void audio_check_button_change(GtkWidget *widget, int* data);
 GtkWidget *orxonox_gui_audio_frame (struct settings *orxonox_settings);
 
Index: /orxonox/branches/bensch/orxonox_gui_exec.c
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_exec.c	(revision 1820)
+++ /orxonox/branches/bensch/orxonox_gui_exec.c	(revision 1821)
@@ -56,4 +56,5 @@
 char * orxonox_flags_text (struct settings *orxonox_settings, char *exec_flags_text)
 {
+  char temp [50];
   bzero(exec_flags_text, 1);
   strcat(exec_flags_text, "orxonox ");
@@ -66,13 +67,16 @@
   if(!orxonox_settings->audio_enable_sound)
     strcat(exec_flags_text, "--disable_audio ");
-  /*  if(orxonox_settings->audio_music_volume <> 80)
+  if(orxonox_settings->audio_music_volume != 80)
     {
       strcat(exec_flags_text, "--music_volume=");
-      strcat(exec_flags_text, sprintf("%i ",(int *)orxonox_settings->audio_music_volume));
+      sprintf(temp, "%i ", (int) orxonox_settings->audio_music_volume);
+      strcat(exec_flags_text, temp);
     }
-  */
-  if(orxonox_settings->audio_effects_volume)
-    strcat(exec_flags_text, "--effects_volume ");
-
+  if(orxonox_settings->audio_effects_volume != 80)
+    {
+      strcat(exec_flags_text, "--effects_volume= ");
+      sprintf(temp, "%i ", (int) orxonox_settings->audio_effects_volume);
+      strcat(exec_flags_text, temp);
+    }
   return (exec_flags_text);
 }
