| 1 | #include "orxonox_gui.h" | 
|---|
| 2 |  | 
|---|
| 3 | void audio_check_button_change(GtkWidget *widget, int* data) | 
|---|
| 4 | { | 
|---|
| 5 |   *data = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget));  | 
|---|
| 6 |   orxonox_flags_update (); | 
|---|
| 7 |   if (verbose >=1) | 
|---|
| 8 |     printf ("%s changed to %i.\n", gtk_button_get_label(GTK_BUTTON(widget)), *data); | 
|---|
| 9 |   return; | 
|---|
| 10 | } | 
|---|
| 11 |  | 
|---|
| 12 | void audio_slider_change(GtkWidget *widget, int* data) | 
|---|
| 13 | { | 
|---|
| 14 |   *data = gtk_range_get_value ( GTK_RANGE (widget)); | 
|---|
| 15 |   orxonox_flags_update (); | 
|---|
| 16 |   if (verbose >=1) | 
|---|
| 17 |     printf ("Changed slider to %i.\n", *data); | 
|---|
| 18 |   return; | 
|---|
| 19 | } | 
|---|
| 20 |  | 
|---|
| 21 | GtkWidget *orxonox_gui_audio_frame (struct settings *orxonox_settings) | 
|---|
| 22 | { | 
|---|
| 23 |   GtkWidget *frame; | 
|---|
| 24 |   GtkWidget *enable_sound_button; | 
|---|
| 25 |   GtkWidget *label; | 
|---|
| 26 |   GtkWidget *music_volume_slider; | 
|---|
| 27 |   GtkWidget *effects_volume_slider; | 
|---|
| 28 |  | 
|---|
| 29 |   frame = gtk_frame_new ( "Audio-Options:"); | 
|---|
| 30 |   gtk_container_set_border_width (GTK_CONTAINER (frame), 5); | 
|---|
| 31 |   { | 
|---|
| 32 |     GtkWidget *orxonox_gui_audio_vbox; | 
|---|
| 33 |     orxonox_gui_audio_vbox = gtk_vbox_new (FALSE, 0); | 
|---|
| 34 |     { | 
|---|
| 35 |  | 
|---|
| 36 |         enable_sound_button = gtk_check_button_new_with_label ("Enable Sound"); | 
|---|
| 37 |         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_sound_button), orxonox_settings->audio_enable_sound); | 
|---|
| 38 |         g_signal_connect(GTK_TOGGLE_BUTTON(enable_sound_button), "clicked", G_CALLBACK(audio_check_button_change), &(orxonox_settings->audio_enable_sound)); | 
|---|
| 39 |  | 
|---|
| 40 |         gtk_box_pack_start(GTK_BOX (orxonox_gui_audio_vbox), enable_sound_button, TRUE, TRUE, 0); | 
|---|
| 41 |  | 
|---|
| 42 |         label=gtk_label_new ("Music Volume"); | 
|---|
| 43 |         gtk_box_pack_start (GTK_BOX(orxonox_gui_audio_vbox), label, TRUE, TRUE, 0); | 
|---|
| 44 |         music_volume_slider = gtk_hscale_new_with_range (0,100,5); | 
|---|
| 45 |         gtk_range_set_value ( GTK_RANGE (music_volume_slider), orxonox_settings->audio_music_volume); | 
|---|
| 46 |         gtk_range_set_update_policy ( GTK_RANGE (music_volume_slider), GTK_UPDATE_DISCONTINUOUS); | 
|---|
| 47 |         g_signal_connect (GTK_RANGE (music_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_music_volume) ); | 
|---|
| 48 |         gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), music_volume_slider, TRUE, TRUE, 0); | 
|---|
| 49 |  | 
|---|
| 50 |         label=gtk_label_new ("Effects Volume"); | 
|---|
| 51 |         gtk_box_pack_start (GTK_BOX(orxonox_gui_audio_vbox), label, TRUE, TRUE, 0); | 
|---|
| 52 |         effects_volume_slider = gtk_hscale_new_with_range (0,100,5); | 
|---|
| 53 |         gtk_range_set_value ( GTK_RANGE (effects_volume_slider), orxonox_settings->audio_effects_volume); | 
|---|
| 54 |         gtk_range_set_update_policy ( GTK_RANGE (effects_volume_slider), GTK_UPDATE_DISCONTINUOUS); | 
|---|
| 55 |         g_signal_connect (GTK_RANGE (effects_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_effects_volume) ); | 
|---|
| 56 |         gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), effects_volume_slider, TRUE, TRUE, 0); | 
|---|
| 57 |  | 
|---|
| 58 |     } | 
|---|
| 59 |     gtk_container_add(GTK_CONTAINER(frame), orxonox_gui_audio_vbox); | 
|---|
| 60 |   } | 
|---|
| 61 |   return frame; | 
|---|
| 62 | } | 
|---|
| 63 |  | 
|---|