|
|
| version 1.6, 2009/03/05 11:50:39 | version 1.13, 2012/01/23 05:12:35 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ */ | |
| /* | /* |
| * Copyright (c) 2002-2004 NONAKA Kimihiro | * Copyright (c) 2002-2004 NONAKA Kimihiro |
| * All rights reserved. | * All rights reserved. |
| Line 269 static const char *joypad_num_str[256] = | Line 267 static const char *joypad_num_str[256] = |
| "248", "249", "250", "251", "252", "253", "254", "255", | "248", "249", "250", "251", "252", "253", "254", "255", |
| }; | }; |
| static const joymng_devinfo_t **joypad_devlist; | static joymng_devinfo_t **joypad_devlist; |
| static GtkWidget *joypad_use_checkbutton[1]; | static GtkWidget *joypad_use_checkbutton[1]; |
| static GtkWidget *joypad_devlist_combo; | static GtkWidget *joypad_devlist_combo; |
| static GtkWidget *joypad_axis_combo[JOY_NAXIS]; | static GtkWidget *joypad_axis_combo[JOY_NAXIS]; |
| Line 279 static UINT8 joypad_axis[JOY_NAXIS]; | Line 277 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 330 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 568 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 587 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 596 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 609 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 618 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 627 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 641 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 650 spb_default_button_clicked(GtkButton *b, |
| } | } |
| } | } |
| static void | |
| driver_radiobutton_clicked(GtkButton *b, gpointer d) | |
| { | |
| driver_snddrv = GPOINTER_TO_UINT(d); | |
| } | |
| static GtkWidget * | static GtkWidget * |
| create_mixer_note(void) | create_mixer_note(void) |
| { | { |
| Line 1075 joypad_device_changed(GtkEditable *e, gp | Line 1085 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 1297 create_joypad_note(void) | Line 1305 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 1377 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 1356 create_sound_dialog(void) | Line 1425 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 1439 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", |
| G_CALLBACK(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", |
| G_CALLBACK(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); |