| 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 | |
|---|