[1809] | 1 | #include "orxonox_gui.h" |
---|
| 2 | |
---|
[1821] | 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) |
---|
[1822] | 8 | printf ("%s changed to %i.\n", gtk_button_get_label(GTK_BUTTON(widget)), *data); |
---|
[1821] | 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 | |
---|
[1818] | 21 | GtkWidget *orxonox_gui_audio_frame (struct settings *orxonox_settings) |
---|
[1809] | 22 | { |
---|
| 23 | GtkWidget *frame; |
---|
[1818] | 24 | GtkWidget *enable_sound_button; |
---|
[1816] | 25 | GtkWidget *label; |
---|
| 26 | GtkWidget *music_volume_slider; |
---|
| 27 | GtkWidget *effects_volume_slider; |
---|
[1809] | 28 | |
---|
| 29 | frame = gtk_frame_new ( "Audio-Options:"); |
---|
[1819] | 30 | gtk_container_set_border_width (GTK_CONTAINER (frame), 5); |
---|
[1809] | 31 | { |
---|
| 32 | GtkWidget *orxonox_gui_audio_vbox; |
---|
| 33 | orxonox_gui_audio_vbox = gtk_vbox_new (FALSE, 0); |
---|
| 34 | { |
---|
| 35 | |
---|
[1818] | 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); |
---|
[1821] | 38 | g_signal_connect(GTK_TOGGLE_BUTTON(enable_sound_button), "clicked", G_CALLBACK(audio_check_button_change), &(orxonox_settings->audio_enable_sound)); |
---|
| 39 | |
---|
[1818] | 40 | gtk_box_pack_start(GTK_BOX (orxonox_gui_audio_vbox), enable_sound_button, TRUE, TRUE, 0); |
---|
[1816] | 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); |
---|
[1818] | 45 | gtk_range_set_value ( GTK_RANGE (music_volume_slider), orxonox_settings->audio_music_volume); |
---|
[1816] | 46 | gtk_range_set_update_policy ( GTK_RANGE (music_volume_slider), GTK_UPDATE_DISCONTINUOUS); |
---|
[1821] | 47 | g_signal_connect (GTK_RANGE (music_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_music_volume) ); |
---|
[1816] | 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); |
---|
[1818] | 53 | gtk_range_set_value ( GTK_RANGE (effects_volume_slider), orxonox_settings->audio_effects_volume); |
---|
[1816] | 54 | gtk_range_set_update_policy ( GTK_RANGE (effects_volume_slider), GTK_UPDATE_DISCONTINUOUS); |
---|
[1821] | 55 | g_signal_connect (GTK_RANGE (effects_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_effects_volume) ); |
---|
[1816] | 56 | gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), effects_volume_slider, TRUE, TRUE, 0); |
---|
| 57 | |
---|
[1809] | 58 | } |
---|
| 59 | gtk_container_add(GTK_CONTAINER(frame), orxonox_gui_audio_vbox); |
---|
| 60 | } |
---|
| 61 | return frame; |
---|
| 62 | } |
---|
| 63 | |
---|