|
|
| version 1.5, 2007/01/23 15:48:20 | version 1.10, 2011/01/15 16:55:37 |
|---|---|
| Line 279 static UINT8 joypad_axis[JOY_NAXIS]; | Line 279 static UINT8 joypad_axis[JOY_NAXIS]; |
| static UINT8 joypad_button[JOY_NBUTTON]; | static UINT8 joypad_button[JOY_NBUTTON]; |
| /* | |
| * Driver | |
| */ | |
| static const char *driver_name[SNDDRV_DRVMAX] = { | |
| "None", | |
| "SDL", | |
| }; | |
| static int driver_snddrv; | |
| static void | static void |
| ok_button_clicked(GtkButton *b, gpointer d) | ok_button_clicked(GtkButton *b, gpointer d) |
| { | { |
| Line 320 ok_button_clicked(GtkButton *b, gpointer | Line 332 ok_button_clicked(GtkButton *b, gpointer |
| int i; | int i; |
| BOOL renewal; | BOOL renewal; |
| UNUSED(b); | |
| /* Mixer */ | /* Mixer */ |
| renewal = FALSE; | renewal = FALSE; |
| for (i = 0; i < NELEMENTS(mixer_vol_tbl); i++) { | for (i = 0; i < NELEMENTS(mixer_vol_tbl); i++) { |
| Line 560 ok_button_clicked(GtkButton *b, gpointer | Line 570 ok_button_clicked(GtkButton *b, gpointer |
| } | } |
| } | } |
| /* Driver */ | |
| renewal = FALSE; | |
| if (np2oscfg.snddrv != driver_snddrv) { | |
| np2oscfg.snddrv = driver_snddrv; | |
| renewal = TRUE; | |
| } | |
| if (renewal) { | |
| sysmng_update(SYS_UPDATEOSCFG); | |
| soundrenewal = 1; | |
| } | |
| gtk_widget_destroy((GtkWidget *)d); | gtk_widget_destroy((GtkWidget *)d); |
| } | } |
| Line 567 static void | Line 589 static void |
| dialog_destroy(GtkWidget *w, GtkWidget **wp) | dialog_destroy(GtkWidget *w, GtkWidget **wp) |
| { | { |
| UNUSED(wp); | |
| install_idle_process(); | install_idle_process(); |
| gtk_widget_destroy(w); | gtk_widget_destroy(w); |
| } | } |
| Line 578 mixer_default_button_clicked(GtkButton * | Line 598 mixer_default_button_clicked(GtkButton * |
| { | { |
| int i; | int i; |
| UNUSED(b); | |
| UNUSED(d); | |
| for (i = 0; i < NELEMENTS(mixer_vol_tbl); i++) { | for (i = 0; i < NELEMENTS(mixer_vol_tbl); i++) { |
| gtk_adjustment_set_value(GTK_ADJUSTMENT(mixer_adj[i]), 64.0); | gtk_adjustment_set_value(GTK_ADJUSTMENT(mixer_adj[i]), 64.0); |
| } | } |
| Line 594 snd14_default_button_clicked(GtkButton * | Line 611 snd14_default_button_clicked(GtkButton * |
| }; | }; |
| int i; | int i; |
| UNUSED(b); | |
| UNUSED(d); | |
| for (i = 0; i < NELEMENTS(snd14_adj); i++) { | for (i = 0; i < NELEMENTS(snd14_adj); i++) { |
| gtk_adjustment_set_value(GTK_ADJUSTMENT(snd14_adj[i]), defval[i]); | gtk_adjustment_set_value(GTK_ADJUSTMENT(snd14_adj[i]), defval[i]); |
| } | } |
| Line 606 static void | Line 620 static void |
| snd26_default_button_clicked(GtkButton *b, gpointer d) | snd26_default_button_clicked(GtkButton *b, gpointer d) |
| { | { |
| UNUSED(b); | |
| UNUSED(d); | |
| gtk_entry_set_text(GTK_ENTRY(snd26_ioport_entry), "0188"); | gtk_entry_set_text(GTK_ENTRY(snd26_ioport_entry), "0188"); |
| gtk_entry_set_text(GTK_ENTRY(snd26_int_entry), "INT5"); | gtk_entry_set_text(GTK_ENTRY(snd26_int_entry), "INT5"); |
| gtk_entry_set_text(GTK_ENTRY(snd26_romaddr_entry), "CC000"); | gtk_entry_set_text(GTK_ENTRY(snd26_romaddr_entry), "CC000"); |
| Line 618 static void | Line 629 static void |
| snd86_default_button_clicked(GtkButton *b, gpointer d) | snd86_default_button_clicked(GtkButton *b, gpointer d) |
| { | { |
| UNUSED(b); | |
| UNUSED(d); | |
| gtk_entry_set_text(GTK_ENTRY(snd86_ioport_entry), "0188"); | gtk_entry_set_text(GTK_ENTRY(snd86_ioport_entry), "0188"); |
| gtk_entry_set_text(GTK_ENTRY(snd86_int_entry), "INT5"); | gtk_entry_set_text(GTK_ENTRY(snd86_int_entry), "INT5"); |
| gtk_entry_set_text(GTK_ENTRY(snd86_soundid_entry), "4x"); | gtk_entry_set_text(GTK_ENTRY(snd86_soundid_entry), "4x"); |
| Line 635 spb_default_button_clicked(GtkButton *b, | Line 643 spb_default_button_clicked(GtkButton *b, |
| { | { |
| int i; | int i; |
| UNUSED(b); | |
| UNUSED(d); | |
| gtk_entry_set_text(GTK_ENTRY(spb_ioport_entry), "0188"); | gtk_entry_set_text(GTK_ENTRY(spb_ioport_entry), "0188"); |
| gtk_entry_set_text(GTK_ENTRY(spb_int_entry), "INT5"); | gtk_entry_set_text(GTK_ENTRY(spb_int_entry), "INT5"); |
| gtk_entry_set_text(GTK_ENTRY(spb_romaddr_entry), "CC000"); | gtk_entry_set_text(GTK_ENTRY(spb_romaddr_entry), "CC000"); |
| Line 647 spb_default_button_clicked(GtkButton *b, | Line 652 spb_default_button_clicked(GtkButton *b, |
| } | } |
| } | } |
| static void | |
| driver_radiobutton_clicked(GtkButton *b, gpointer d) | |
| { | |
| driver_snddrv = (int)d; | |
| } | |
| static GtkWidget * | static GtkWidget * |
| create_mixer_note(void) | create_mixer_note(void) |
| { | { |
| Line 693 create_mixer_note(void) | Line 705 create_mixer_note(void) |
| gtk_widget_show(mixer_default_button); | gtk_widget_show(mixer_default_button); |
| gtk_box_pack_end(GTK_BOX(hbox), mixer_default_button, FALSE, FALSE, 5); | gtk_box_pack_end(GTK_BOX(hbox), mixer_default_button, FALSE, FALSE, 5); |
| g_signal_connect_swapped(GTK_OBJECT(mixer_default_button), "clicked", | g_signal_connect_swapped(GTK_OBJECT(mixer_default_button), "clicked", |
| GTK_SIGNAL_FUNC(mixer_default_button_clicked), NULL); | G_CALLBACK(mixer_default_button_clicked), NULL); |
| return root_widget; | return root_widget; |
| } | } |
| Line 741 create_pc9801_14_note(void) | Line 753 create_pc9801_14_note(void) |
| gtk_widget_show(snd14_default_button); | gtk_widget_show(snd14_default_button); |
| gtk_box_pack_end(GTK_BOX(hbox), snd14_default_button, FALSE, FALSE, 5); | gtk_box_pack_end(GTK_BOX(hbox), snd14_default_button, FALSE, FALSE, 5); |
| g_signal_connect_swapped(GTK_OBJECT(snd14_default_button), "clicked", | g_signal_connect_swapped(GTK_OBJECT(snd14_default_button), "clicked", |
| GTK_SIGNAL_FUNC(snd14_default_button_clicked), NULL); | G_CALLBACK(snd14_default_button_clicked), NULL); |
| return root_widget; | return root_widget; |
| } | } |
| Line 835 create_pc9801_26_note(void) | Line 847 create_pc9801_26_note(void) |
| gtk_widget_show(snd26_default_button); | gtk_widget_show(snd26_default_button); |
| gtk_box_pack_end(GTK_BOX(hbox), snd26_default_button, FALSE, FALSE, 5); | gtk_box_pack_end(GTK_BOX(hbox), snd26_default_button, FALSE, FALSE, 5); |
| g_signal_connect_swapped(GTK_OBJECT(snd26_default_button), "clicked", | g_signal_connect_swapped(GTK_OBJECT(snd26_default_button), "clicked", |
| GTK_SIGNAL_FUNC(snd26_default_button_clicked), NULL); | G_CALLBACK(snd26_default_button_clicked), NULL); |
| return root_widget; | return root_widget; |
| } | } |
| Line 937 create_pc9801_86_note(void) | Line 949 create_pc9801_86_note(void) |
| gtk_widget_show(snd86_default_button); | gtk_widget_show(snd86_default_button); |
| gtk_box_pack_end(GTK_BOX(hbox), snd86_default_button, FALSE, FALSE, 5); | gtk_box_pack_end(GTK_BOX(hbox), snd86_default_button, FALSE, FALSE, 5); |
| g_signal_connect_swapped(GTK_OBJECT(snd86_default_button), "clicked", | g_signal_connect_swapped(GTK_OBJECT(snd86_default_button), "clicked", |
| GTK_SIGNAL_FUNC(snd86_default_button_clicked), NULL); | G_CALLBACK(snd86_default_button_clicked), NULL); |
| return root_widget; | return root_widget; |
| } | } |
| Line 1065 create_spb_note(void) | Line 1077 create_spb_note(void) |
| gtk_widget_show(spb_default_button); | gtk_widget_show(spb_default_button); |
| gtk_box_pack_end(GTK_BOX(hbox), spb_default_button, FALSE, FALSE, 5); | gtk_box_pack_end(GTK_BOX(hbox), spb_default_button, FALSE, FALSE, 5); |
| g_signal_connect_swapped(GTK_OBJECT(spb_default_button), "clicked", | g_signal_connect_swapped(GTK_OBJECT(spb_default_button), "clicked", |
| GTK_SIGNAL_FUNC(spb_default_button_clicked), NULL); | G_CALLBACK(spb_default_button_clicked), NULL); |
| return root_widget; | return root_widget; |
| } | } |
| Line 1075 joypad_device_changed(GtkEditable *e, gp | Line 1087 joypad_device_changed(GtkEditable *e, gp |
| { | { |
| GtkWidget *axis_entry[JOY_NAXIS]; | GtkWidget *axis_entry[JOY_NAXIS]; |
| GtkWidget *button_entry[JOY_NBUTTON]; | GtkWidget *button_entry[JOY_NBUTTON]; |
| const gchar *devname; | const gchar *dvname; |
| int drv; | int drv; |
| int i, j; | int i, j; |
| UNUSED(d); | dvname = gtk_entry_get_text(GTK_ENTRY(e)); |
| devname = gtk_entry_get_text(GTK_ENTRY(e)); | |
| if ((joypad_devlist == NULL) | if ((joypad_devlist == NULL) |
| || (devname == NULL) | || (dvname == NULL) |
| || (strcmp(devname, joypad_nodevice_str) == 0)) { | || (strcmp(dvname, joypad_nodevice_str) == 0)) { |
| milstr_ncpy(joypad_devname, joypad_nodevice_str, sizeof(joypad_devname)); | milstr_ncpy(joypad_devname, joypad_nodevice_str, sizeof(joypad_devname)); |
| return; | return; |
| } | } |
| for (drv = 0; joypad_devlist[drv] != NULL; ++drv) { | for (drv = 0; joypad_devlist[drv] != NULL; ++drv) { |
| if (strcmp(devname, joypad_devlist[drv]->devname) == 0) { | if (strcmp(dvname, joypad_devlist[drv]->devname) == 0) { |
| break; | break; |
| } | } |
| } | } |
| Line 1220 create_joypad_note(void) | Line 1230 create_joypad_note(void) |
| gtk_widget_show(devlist_entry); | gtk_widget_show(devlist_entry); |
| gtk_editable_set_editable(GTK_EDITABLE(devlist_entry), FALSE); | gtk_editable_set_editable(GTK_EDITABLE(devlist_entry), FALSE); |
| g_signal_connect(GTK_OBJECT(devlist_entry), "changed", | g_signal_connect(GTK_OBJECT(devlist_entry), "changed", |
| GTK_SIGNAL_FUNC(joypad_device_changed), (gpointer)joypad_devlist_combo); | G_CALLBACK(joypad_device_changed), (gpointer)joypad_devlist_combo); |
| /* Axis */ | /* Axis */ |
| for (i = 0; i < JOY_NAXIS; ++i) { | for (i = 0; i < JOY_NAXIS; ++i) { |
| Line 1241 create_joypad_note(void) | Line 1251 create_joypad_note(void) |
| gtk_editable_set_editable(GTK_EDITABLE(axis_entry[i]), FALSE); | gtk_editable_set_editable(GTK_EDITABLE(axis_entry[i]), FALSE); |
| gtk_entry_set_text(GTK_ENTRY(axis_entry[i]), joypad_noconnect_str); | gtk_entry_set_text(GTK_ENTRY(axis_entry[i]), joypad_noconnect_str); |
| g_signal_connect(GTK_OBJECT(axis_entry[i]), "changed", | g_signal_connect(GTK_OBJECT(axis_entry[i]), "changed", |
| GTK_SIGNAL_FUNC(joypad_axis_entry_changed), | G_CALLBACK(joypad_axis_entry_changed), |
| (gpointer)(&joypad_axis[i])); | (gpointer)(&joypad_axis[i])); |
| } | } |
| Line 1264 create_joypad_note(void) | Line 1274 create_joypad_note(void) |
| gtk_editable_set_editable(GTK_EDITABLE(button_entry[i]), FALSE); | gtk_editable_set_editable(GTK_EDITABLE(button_entry[i]), FALSE); |
| gtk_entry_set_text(GTK_ENTRY(button_entry[i]), joypad_noconnect_str); | gtk_entry_set_text(GTK_ENTRY(button_entry[i]), joypad_noconnect_str); |
| g_signal_connect(GTK_OBJECT(button_entry[i]), "changed", | g_signal_connect(GTK_OBJECT(button_entry[i]), "changed", |
| GTK_SIGNAL_FUNC(joypad_button_entry_changed), | G_CALLBACK(joypad_button_entry_changed), |
| (gpointer)(&joypad_button[i])); | (gpointer)(&joypad_button[i])); |
| } | } |
| Line 1297 create_joypad_note(void) | Line 1307 create_joypad_note(void) |
| return root_widget; | return root_widget; |
| } | } |
| static GtkWidget * | |
| create_driver_note(void) | |
| { | |
| GtkWidget *root_widget; | |
| GtkWidget *driver_frame; | |
| GtkWidget *driver_vbox; | |
| GtkWidget *driver_radiobutton[SNDDRV_DRVMAX]; | |
| GtkWidget *snddrv_hbox; | |
| int i; | |
| root_widget = gtk_vbox_new(FALSE, 0); | |
| gtk_container_set_border_width(GTK_CONTAINER(root_widget), 5); | |
| gtk_widget_show(root_widget); | |
| driver_frame = gtk_frame_new("Sound driver"); | |
| gtk_widget_show(driver_frame); | |
| gtk_box_pack_start(GTK_BOX(root_widget), driver_frame, TRUE, TRUE, 0); | |
| driver_vbox = gtk_vbox_new(FALSE, 0); | |
| gtk_container_set_border_width(GTK_CONTAINER(driver_vbox), 5); | |
| gtk_widget_show(driver_vbox); | |
| gtk_container_add(GTK_CONTAINER(driver_frame), driver_vbox); | |
| for (i = 0; i < SNDDRV_DRVMAX; i++) { | |
| driver_radiobutton[i] = gtk_radio_button_new_with_label_from_widget(i > 0 ? GTK_RADIO_BUTTON(driver_radiobutton[i-1]) : NULL, driver_name[i]); | |
| gtk_widget_show(driver_radiobutton[i]); | |
| gtk_box_pack_start(GTK_BOX(driver_vbox), driver_radiobutton[i], TRUE, FALSE, 0); | |
| g_signal_connect(GTK_OBJECT(driver_radiobutton[i]), "clicked", | |
| G_CALLBACK(driver_radiobutton_clicked), GINT_TO_POINTER(i)); | |
| } | |
| #if !defined(USE_SDLAUDIO) && !defined(USE_SDLMIXER) | |
| gtk_widget_set_sensitive(driver_radiobutton[SNDDRV_SDL], FALSE); | |
| #endif | |
| switch (np2oscfg.snddrv) { | |
| case SNDDRV_NODRV: | |
| #if defined(USE_SDLAUDIO) || defined(USE_SDLMIXER) | |
| case SNDDRV_SDL: | |
| #endif | |
| g_signal_emit_by_name(GTK_OBJECT(driver_radiobutton[np2oscfg.snddrv]), "clicked"); | |
| break; | |
| #if !defined(USE_SDLAUDIO) && !defined(USE_SDLMIXER) | |
| case SNDDRV_SDL: | |
| #endif | |
| case SNDDRV_DRVMAX: | |
| default: | |
| np2oscfg.snddrv = SNDDRV_NODRV; | |
| sysmng_update(SYS_UPDATEOSCFG); | |
| break; | |
| } | |
| snddrv_hbox = gtk_hbox_new(FALSE, 0); | |
| gtk_container_set_border_width(GTK_CONTAINER(snddrv_hbox), 5); | |
| gtk_widget_show(snddrv_hbox); | |
| gtk_box_pack_start(GTK_BOX(root_widget), snddrv_hbox, FALSE, FALSE, 0); | |
| return root_widget; | |
| } | |
| void | void |
| create_sound_dialog(void) | create_sound_dialog(void) |
| { | { |
| Line 1309 create_sound_dialog(void) | Line 1379 create_sound_dialog(void) |
| GtkWidget *pc9801_86_note; | GtkWidget *pc9801_86_note; |
| GtkWidget *spb_note; | GtkWidget *spb_note; |
| GtkWidget *joypad_note; | GtkWidget *joypad_note; |
| GtkWidget *driver_note; | |
| GtkWidget *confirm_widget; | GtkWidget *confirm_widget; |
| GtkWidget *ok_button; | GtkWidget *ok_button; |
| GtkWidget *cancel_button; | GtkWidget *cancel_button; |
| Line 1322 create_sound_dialog(void) | Line 1393 create_sound_dialog(void) |
| gtk_window_set_resizable(GTK_WINDOW(sound_dialog), FALSE); | gtk_window_set_resizable(GTK_WINDOW(sound_dialog), FALSE); |
| g_signal_connect(GTK_OBJECT(sound_dialog), "destroy", | g_signal_connect(GTK_OBJECT(sound_dialog), "destroy", |
| GTK_SIGNAL_FUNC(dialog_destroy), NULL); | G_CALLBACK(dialog_destroy), NULL); |
| main_vbox = gtk_vbox_new(FALSE, 0); | main_vbox = gtk_vbox_new(FALSE, 0); |
| gtk_widget_show(main_vbox); | gtk_widget_show(main_vbox); |
| Line 1356 create_sound_dialog(void) | Line 1427 create_sound_dialog(void) |
| joypad_note = create_joypad_note(); | joypad_note = create_joypad_note(); |
| gtk_notebook_append_page(GTK_NOTEBOOK(notebook), joypad_note, gtk_label_new("JoyPad")); | gtk_notebook_append_page(GTK_NOTEBOOK(notebook), joypad_note, gtk_label_new("JoyPad")); |
| /* "Driver" note */ | |
| driver_note = create_driver_note(); | |
| gtk_notebook_append_page(GTK_NOTEBOOK(notebook), driver_note, gtk_label_new("Driver")); | |
| /* | /* |
| * OK, Cancel button | * OK, Cancel button |
| */ | */ |
| Line 1366 create_sound_dialog(void) | Line 1441 create_sound_dialog(void) |
| cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); | cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); |
| gtk_widget_show(cancel_button); | gtk_widget_show(cancel_button); |
| gtk_box_pack_end(GTK_BOX(confirm_widget), cancel_button, FALSE, FALSE, 0); | gtk_box_pack_end(GTK_BOX(confirm_widget), cancel_button, FALSE, FALSE, 0); |
| GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT); | gtk_widget_set_can_default(cancel_button, TRUE); |
| g_signal_connect_swapped(GTK_OBJECT(cancel_button), "clicked", | g_signal_connect_swapped(GTK_OBJECT(cancel_button), "clicked", |
| GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(sound_dialog)); | G_CALLBACK(gtk_widget_destroy), GTK_OBJECT(sound_dialog)); |
| ok_button = gtk_button_new_from_stock(GTK_STOCK_OK); | ok_button = gtk_button_new_from_stock(GTK_STOCK_OK); |
| gtk_widget_show(ok_button); | gtk_widget_show(ok_button); |
| gtk_box_pack_end(GTK_BOX(confirm_widget), ok_button, FALSE, FALSE, 0); | gtk_box_pack_end(GTK_BOX(confirm_widget), ok_button, FALSE, FALSE, 0); |
| GTK_WIDGET_SET_FLAGS(ok_button, GTK_CAN_DEFAULT); | gtk_widget_set_can_default(ok_button, TRUE); |
| GTK_WIDGET_SET_FLAGS(ok_button, GTK_HAS_DEFAULT); | gtk_widget_has_default(ok_button); |
| g_signal_connect(GTK_OBJECT(ok_button), "clicked", | g_signal_connect(GTK_OBJECT(ok_button), "clicked", |
| GTK_SIGNAL_FUNC(ok_button_clicked), (gpointer)sound_dialog); | G_CALLBACK(ok_button_clicked), (gpointer)sound_dialog); |
| gtk_widget_grab_default(ok_button); | gtk_widget_grab_default(ok_button); |
| gtk_widget_show_all(sound_dialog); | gtk_widget_show_all(sound_dialog); |