From 5f04b29e8f7c16de3dc7b5cf6d7479dcc8723aad Mon Sep 17 00:00:00 2001 From: Jasmine Iwanek Date: Wed, 1 Feb 2023 02:31:07 -0500 Subject: [PATCH] Support up to 4 sound cards --- src/86box.c | 3 - src/config.c | 69 ++++++---- src/include/86box/86box.h | 3 - src/include/86box/resource.h | 156 ++++++++++----------- src/include/86box/sound.h | 4 +- src/machine/m_at_slot1.c | 6 +- src/machine/m_at_socket370.c | 6 +- src/machine/m_at_sockets7.c | 2 +- src/qt/languages/cs-CZ.po | 22 +-- src/qt/languages/de-DE.po | 22 +-- src/qt/languages/en-GB.po | 22 +-- src/qt/languages/en-US.po | 22 +-- src/qt/languages/es-ES.po | 22 +-- src/qt/languages/fi-FI.po | 22 +-- src/qt/languages/fr-FR.po | 22 +-- src/qt/languages/hr-HR.po | 22 +-- src/qt/languages/hu-HU.po | 22 +-- src/qt/languages/it-IT.po | 22 +-- src/qt/languages/ja-JP.po | 22 +-- src/qt/languages/ko-KR.po | 22 +-- src/qt/languages/pl-PL.po | 22 +-- src/qt/languages/pt-BR.po | 22 +-- src/qt/languages/pt-PT.po | 22 +-- src/qt/languages/ru-RU.po | 22 +-- src/qt/languages/sl-SI.po | 22 +-- src/qt/languages/tr-TR.po | 22 +-- src/qt/languages/uk-UA.po | 22 +-- src/qt/languages/zh-CN.po | 22 +-- src/qt/languages/zh-TW.po | 22 +-- src/qt/qt_settingssound.cpp | 172 ++++++++++++------------ src/qt/qt_settingssound.hpp | 16 +-- src/qt/qt_settingssound.ui | 145 ++++++++++++-------- src/sound/sound.c | 69 +++++----- src/win/languages/cs-CZ.rc | 8 +- src/win/languages/de-DE.rc | 8 +- src/win/languages/dialogs.rc | 74 +++++----- src/win/languages/en-GB.rc | 8 +- src/win/languages/en-US.rc | 8 +- src/win/languages/es-ES.rc | 8 +- src/win/languages/fi-FI.rc | 8 +- src/win/languages/fr-FR.rc | 8 +- src/win/languages/hr-HR.rc | 8 +- src/win/languages/hu-HU.rc | 8 +- src/win/languages/it-IT.rc | 8 +- src/win/languages/ja-JP.rc | 8 +- src/win/languages/ko-KR.rc | 8 +- src/win/languages/pl-PL.rc | 8 +- src/win/languages/pt-BR.rc | 8 +- src/win/languages/pt-PT.rc | 8 +- src/win/languages/ru-RU.rc | 8 +- src/win/languages/sl-SI.rc | 8 +- src/win/languages/tr-TR.rc | 8 +- src/win/languages/uk-UA.rc | 8 +- src/win/languages/zh-CN.rc | 8 +- src/win/languages/zh-TW.rc | 8 +- src/win/win_settings.c | 253 +++++++++++++++++++++++++---------- 56 files changed, 892 insertions(+), 716 deletions(-) diff --git a/src/86box.c b/src/86box.c index 075727387..fba67ca55 100644 --- a/src/86box.c +++ b/src/86box.c @@ -168,9 +168,6 @@ int gfxcard = 0; /* (C) graphics/vide int gfxcard_2 = 0; /* (C) graphics/video card */ int show_second_monitors = 1; /* (C) show non-primary monitors */ int sound_is_float = 1; /* (C) sound uses FP values */ -int GAMEBLASTER = 0; /* (C) sound option */ -int GUS = 0; /* (C) sound option */ -int SSI2001 = 0; /* (C) sound option */ int voodoo_enabled = 0; /* (C) video option */ int ibm8514_enabled = 0; /* (C) video option */ int xga_enabled = 0; /* (C) video option */ diff --git a/src/config.c b/src/config.c index cbccf115f..f573d3d4b 100644 --- a/src/config.c +++ b/src/config.c @@ -666,9 +666,36 @@ load_sound(void) if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci"))) p = "es1371"; if (p != NULL) - sound_card_current = sound_card_get_from_internal_name(p); + sound_card_current[0] = sound_card_get_from_internal_name(p); else - sound_card_current = 0; + sound_card_current[0] = 0; + + p = ini_section_get_string(cat, "sndcard2", NULL); + /* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */ + if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci"))) + p = "es1371"; + if (p != NULL) + sound_card_current[1] = sound_card_get_from_internal_name(p); + else + sound_card_current[1] = 0; + + p = ini_section_get_string(cat, "sndcard3", NULL); + /* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */ + if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci"))) + p = "es1371"; + if (p != NULL) + sound_card_current[2] = sound_card_get_from_internal_name(p); + else + sound_card_current[2] = 0; + + p = ini_section_get_string(cat, "sndcard4", NULL); + /* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */ + if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci"))) + p = "es1371"; + if (p != NULL) + sound_card_current[3] = sound_card_get_from_internal_name(p); + else + sound_card_current[3] = 0; p = ini_section_get_string(cat, "midi_device", NULL); if (p != NULL) @@ -684,10 +711,6 @@ load_sound(void) mpu401_standalone_enable = !!ini_section_get_int(cat, "mpu401_standalone", 0); - SSI2001 = !!ini_section_get_int(cat, "ssi2001", 0); - GAMEBLASTER = !!ini_section_get_int(cat, "gameblaster", 0); - GUS = !!ini_section_get_int(cat, "gus", 0); - memset(temp, '\0', sizeof(temp)); p = ini_section_get_string(cat, "sound_type", "float"); if (strlen(p) > 511) @@ -2311,10 +2334,25 @@ save_sound(void) { ini_section_t cat = ini_find_or_create_section(config, "Sound"); - if (sound_card_current == 0) + if (sound_card_current[0] == 0) ini_section_delete_var(cat, "sndcard"); else - ini_section_set_string(cat, "sndcard", sound_card_get_internal_name(sound_card_current)); + ini_section_set_string(cat, "sndcard", sound_card_get_internal_name(sound_card_current[0])); + + if (sound_card_current[1] == 0) + ini_section_delete_var(cat, "sndcard2"); + else + ini_section_set_string(cat, "sndcard2", sound_card_get_internal_name(sound_card_current[1])); + + if (sound_card_current[2] == 0) + ini_section_delete_var(cat, "sndcard3"); + else + ini_section_set_string(cat, "sndcard3", sound_card_get_internal_name(sound_card_current[2])); + + if (sound_card_current[3] == 0) + ini_section_delete_var(cat, "sndcard4"); + else + ini_section_set_string(cat, "sndcard4", sound_card_get_internal_name(sound_card_current[3])); if (!strcmp(midi_out_device_get_internal_name(midi_output_device_current), "none")) ini_section_delete_var(cat, "midi_device"); @@ -2331,21 +2369,6 @@ save_sound(void) else ini_section_set_int(cat, "mpu401_standalone", mpu401_standalone_enable); - if (SSI2001 == 0) - ini_section_delete_var(cat, "ssi2001"); - else - ini_section_set_int(cat, "ssi2001", SSI2001); - - if (GAMEBLASTER == 0) - ini_section_delete_var(cat, "gameblaster"); - else - ini_section_set_int(cat, "gameblaster", GAMEBLASTER); - - if (GUS == 0) - ini_section_delete_var(cat, "gus"); - else - ini_section_set_int(cat, "gus", GUS); - if (sound_is_float == 1) ini_section_delete_var(cat, "sound_type"); else diff --git a/src/include/86box/86box.h b/src/include/86box/86box.h index 1db37f1a4..ca8d797cc 100644 --- a/src/include/86box/86box.h +++ b/src/include/86box/86box.h @@ -114,9 +114,6 @@ extern int bugger_enabled, /* (C) enable ISAbugger */ isamem_type[], /* (C) enable ISA mem cards */ isartc_type; /* (C) enable ISA RTC card */ extern int sound_is_float, /* (C) sound uses FP values */ - GAMEBLASTER, /* (C) sound option */ - GUS, GUSMAX, /* (C) sound option */ - SSI2001, /* (C) sound option */ voodoo_enabled, /* (C) video option */ ibm8514_enabled, /* (C) video option */ xga_enabled; /* (C) video option */ diff --git a/src/include/86box/resource.h b/src/include/86box/resource.h index 17af95ca4..edcb1891a 100644 --- a/src/include/86box/resource.h +++ b/src/include/86box/resource.h @@ -79,82 +79,85 @@ #define IDT_JOYSTICK 1718 /* Joystick: */ /* DLG_CFG_SOUND */ -#define IDT_SOUND 1719 /* Sound card: */ -#define IDT_MIDI_OUT 1720 /* MIDI Out Device: */ -#define IDT_MIDI_IN 1721 /* MIDI In Device: */ +#define IDT_SOUND1 1719 /* Sound card 1: */ +#define IDT_SOUND2 1720 /* Sound card 2: */ +#define IDT_SOUND3 1721 /* Sound card 3: */ +#define IDT_SOUND4 1722 /* Sound card 4: */ +#define IDT_MIDI_OUT 1723 /* MIDI Out Device: */ +#define IDT_MIDI_IN 1724 /* MIDI In Device: */ /* DLG_CFG_NETWORK */ -#define IDT_NET_TYPE 1722 /* Network type: */ -#define IDT_PCAP 1723 /* PCap device: */ -#define IDT_NET 1724 /* Network adapter: */ +#define IDT_NET_TYPE 1725 /* Network type: */ +#define IDT_PCAP 1726 /* PCap device: */ +#define IDT_NET 1727 /* Network adapter: */ /* DLG_CFG_PORTS */ -#define IDT_COM1 1725 /* COM1 Device: */ -#define IDT_COM2 1726 /* COM1 Device: */ -#define IDT_COM3 1727 /* COM1 Device: */ -#define IDT_COM4 1728 /* COM1 Device: */ +#define IDT_COM1 1728 /* COM1 Device: */ +#define IDT_COM2 1729 /* COM1 Device: */ +#define IDT_COM3 1730 /* COM1 Device: */ +#define IDT_COM4 1731 /* COM1 Device: */ -#define IDT_LPT1 1729 /* LPT1 Device: */ -#define IDT_LPT2 1730 /* LPT2 Device: */ -#define IDT_LPT3 1731 /* LPT3 Device: */ -#define IDT_LPT4 1732 /* LPT4 Device: */ +#define IDT_LPT1 1732 /* LPT1 Device: */ +#define IDT_LPT2 1733 /* LPT2 Device: */ +#define IDT_LPT3 1734 /* LPT3 Device: */ +#define IDT_LPT4 1735 /* LPT4 Device: */ /* DLG_CFG_STORAGE */ -#define IDT_HDC 1733 /* HD Controller: */ -#define IDT_FDC 1734 /* Ext FD Controller: */ -#define IDT_SCSI_1 1735 /* SCSI Board #1: */ -#define IDT_SCSI_2 1736 /* SCSI Board #2: */ -#define IDT_SCSI_3 1737 /* SCSI Board #3: */ -#define IDT_SCSI_4 1738 /* SCSI Board #4: */ +#define IDT_HDC 1736 /* HD Controller: */ +#define IDT_FDC 1737 /* Ext FD Controller: */ +#define IDT_SCSI_1 1738 /* SCSI Board #1: */ +#define IDT_SCSI_2 1739 /* SCSI Board #2: */ +#define IDT_SCSI_3 1740 /* SCSI Board #3: */ +#define IDT_SCSI_4 1742 /* SCSI Board #4: */ /* DLG_CFG_HARD_DISKS */ -#define IDT_HDD 1739 /* Hard disks: */ -#define IDT_BUS 1740 /* Bus: */ -#define IDT_CHANNEL 1741 /* Channel: */ -#define IDT_ID 1742 /* ID: */ -#define IDT_LUN 1743 /* LUN: */ -#define IDT_SPEED 1744 /* Speed: */ +#define IDT_HDD 1743 /* Hard disks: */ +#define IDT_BUS 1744 /* Bus: */ +#define IDT_CHANNEL 1745 /* Channel: */ +#define IDT_ID 1746 /* ID: */ +#define IDT_LUN 1747 /* LUN: */ +#define IDT_SPEED 1748 /* Speed: */ /* DLG_CFG_HARD_DISKS_ADD */ -#define IDT_SECTORS 1745 /* Sectors: */ -#define IDT_HEADS 1746 /* Heads: */ -#define IDT_CYLS 1747 /* Cylinders: */ -#define IDT_SIZE_MB 1748 /* Size (MB): */ -#define IDT_TYPE 1749 /* Type: */ -#define IDT_FILE_NAME 1750 /* File name: */ -#define IDT_IMG_FORMAT 1751 /* Image Format: */ -#define IDT_BLOCK_SIZE 1752 /* Block Size: */ -#define IDT_PROGRESS 1753 /* Progress: */ +#define IDT_SECTORS 1749 /* Sectors: */ +#define IDT_HEADS 1750 /* Heads: */ +#define IDT_CYLS 1751 /* Cylinders: */ +#define IDT_SIZE_MB 1752 /* Size (MB): */ +#define IDT_TYPE 1753 /* Type: */ +#define IDT_FILE_NAME 1754 /* File name: */ +#define IDT_IMG_FORMAT 1755 /* Image Format: */ +#define IDT_BLOCK_SIZE 1756 /* Block Size: */ +#define IDT_PROGRESS 1757 /* Progress: */ /* DLG_CFG_FLOPPY_AND_CDROM_DRIVES */ -#define IDT_FLOPPY_DRIVES 1754 /* Floppy drives: */ -#define IDT_FDD_TYPE 1755 /* Type: */ -#define IDT_CD_DRIVES 1756 /* CD-ROM drives: */ -#define IDT_CD_BUS 1757 /* Bus: */ -#define IDT_CD_ID 1758 /* ID: */ -#define IDT_CD_LUN 1759 /* LUN: */ -#define IDT_CD_CHANNEL 1760 /* Channel: */ -#define IDT_CD_SPEED 1761 /* Speed: */ +#define IDT_FLOPPY_DRIVES 1758 /* Floppy drives: */ +#define IDT_FDD_TYPE 1759 /* Type: */ +#define IDT_CD_DRIVES 1760 /* CD-ROM drives: */ +#define IDT_CD_BUS 1761 /* Bus: */ +#define IDT_CD_ID 1762 /* ID: */ +#define IDT_CD_LUN 1763 /* LUN: */ +#define IDT_CD_CHANNEL 1764 /* Channel: */ +#define IDT_CD_SPEED 1765 /* Speed: */ /* DLG_CFG_OTHER_REMOVABLE_DEVICES */ -#define IDT_MO_DRIVES 1762 /* MO drives: */ -#define IDT_MO_BUS 1763 /* Bus: */ -#define IDT_MO_ID 1764 /* ID: */ -#define IDT_MO_CHANNEL 1765 /* Channel */ -#define IDT_MO_TYPE 1766 /* Type: */ +#define IDT_MO_DRIVES 1766 /* MO drives: */ +#define IDT_MO_BUS 1767 /* Bus: */ +#define IDT_MO_ID 1768 /* ID: */ +#define IDT_MO_CHANNEL 1769 /* Channel */ +#define IDT_MO_TYPE 1770 /* Type: */ -#define IDT_ZIP_DRIVES 1767 /* ZIP drives: */ -#define IDT_ZIP_BUS 1768 /* Bus: */ -#define IDT_ZIP_ID 1769 /* ID: */ -#define IDT_ZIP_LUN 1770 /* LUN: */ -#define IDT_ZIP_CHANNEL 1771 /* Channel: */ +#define IDT_ZIP_DRIVES 1771 /* ZIP drives: */ +#define IDT_ZIP_BUS 1772 /* Bus: */ +#define IDT_ZIP_ID 1773 /* ID: */ +#define IDT_ZIP_LUN 1774 /* LUN: */ +#define IDT_ZIP_CHANNEL 1775 /* Channel: */ /* DLG_CFG_PERIPHERALS */ -#define IDT_ISARTC 1772 /* ISA RTC: */ -#define IDT_ISAMEM_1 1773 /* ISAMEM Board #1: */ -#define IDT_ISAMEM_2 1774 /* ISAMEM Board #2: */ -#define IDT_ISAMEM_3 1775 /* ISAMEM Board #3: */ -#define IDT_ISAMEM_4 1776 /* ISAMEM Board #4: */ +#define IDT_ISARTC 1776 /* ISA RTC: */ +#define IDT_ISAMEM_1 1777 /* ISAMEM Board #1: */ +#define IDT_ISAMEM_2 1778 /* ISAMEM Board #2: */ +#define IDT_ISAMEM_3 1779 /* ISAMEM Board #3: */ +#define IDT_ISAMEM_4 1780 /* ISAMEM Board #4: */ /* * To try to keep these organized, we now group the @@ -199,10 +202,10 @@ #define IDC_CONFIGURE_MOUSE 1034 #define IDC_SOUND 1040 /* sound config */ -#define IDC_COMBO_SOUND 1041 -#define IDC_CHECK_SSI 1042 -#define IDC_CHECK_CMS 1043 -#define IDC_CHECK_GUS 1044 +#define IDC_COMBO_SOUND1 1041 +#define IDC_COMBO_SOUND2 1042 +#define IDC_COMBO_SOUND3 1043 +#define IDC_COMBO_SOUND4 1044 #define IDC_COMBO_MIDI_OUT 1045 #define IDC_CHECK_MPU401 1046 #define IDC_CONFIGURE_MPU401 1047 @@ -329,19 +332,22 @@ #define IDC_CONFIG_BASE 1300 #define IDC_CONFIGURE_VID 1300 #define IDC_CONFIGURE_VID_2 1301 -#define IDC_CONFIGURE_SND 1302 -#define IDC_CONFIGURE_VOODOO 1303 -#define IDC_CONFIGURE_MOD 1304 -#define IDC_CONFIGURE_NET_TYPE 1305 -#define IDC_CONFIGURE_BUSLOGIC 1306 -#define IDC_CONFIGURE_PCAP 1307 -#define IDC_CONFIGURE_NET 1308 -#define IDC_CONFIGURE_MIDI_OUT 1309 -#define IDC_CONFIGURE_MIDI_IN 1310 -#define IDC_JOY1 1311 -#define IDC_JOY2 1312 -#define IDC_JOY3 1313 -#define IDC_JOY4 1314 +#define IDC_CONFIGURE_SND1 1302 +#define IDC_CONFIGURE_SND2 1303 +#define IDC_CONFIGURE_SND3 1304 +#define IDC_CONFIGURE_SND4 1305 +#define IDC_CONFIGURE_VOODOO 1306 +#define IDC_CONFIGURE_MOD 1307 +#define IDC_CONFIGURE_NET_TYPE 1308 +#define IDC_CONFIGURE_BUSLOGIC 1309 +#define IDC_CONFIGURE_PCAP 1310 +#define IDC_CONFIGURE_NET 1311 +#define IDC_CONFIGURE_MIDI_OUT 1312 +#define IDC_CONFIGURE_MIDI_IN 1313 +#define IDC_JOY1 1314 +#define IDC_JOY2 1315 +#define IDC_JOY3 1316 +#define IDC_JOY4 1317 #define IDC_HDTYPE 1380 #define IDC_RENDER 1381 #define IDC_STATUS 1382 diff --git a/src/include/86box/sound.h b/src/include/86box/sound.h index a38d213da..f0bfad7c7 100644 --- a/src/include/86box/sound.h +++ b/src/include/86box/sound.h @@ -20,6 +20,8 @@ #ifndef EMU_SOUND_H #define EMU_SOUND_H +#define SOUND_CARD_MAX 4 /* currently we support up to 4 sound cards and a standalome MPU401 */ + extern int sound_gain; #define SOUNDBUFLEN (48000 / 50) @@ -38,7 +40,7 @@ extern int gated, speakon; extern int sound_pos_global; -extern int sound_card_current; +extern int sound_card_current[SOUND_CARD_MAX]; extern void sound_add_handler(void (*get_buffer)(int32_t *buffer, int len, void *p), diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index 71aeeb7fb..c30f39603 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -461,7 +461,7 @@ machine_at_s1846_init(const machine_t *model) device_add(&intel_flash_bxt_device); spd_register(SPD_TYPE_SDRAM, 0x7, 256); - if (sound_card_current == SOUND_INTERNAL) { + if (sound_card_current[0] == SOUND_INTERNAL) { device_add(&es1371_onboard_device); device_add(&cs4297_device); /* found on other Tyan boards around the same time */ } @@ -606,7 +606,7 @@ machine_at_gt694va_init(const machine_t *model) hwm_values.fans[2] = 0; /* unused */ hwm_values.temperatures[2] = 0; /* unused */ - if (sound_card_current == SOUND_INTERNAL) { + if (sound_card_current[0] == SOUND_INTERNAL) { device_add(&es1371_onboard_device); device_add(&cs4297_device); /* assumed */ } @@ -670,7 +670,7 @@ machine_at_ms6168_common_init(const machine_t *model) device_add(&intel_flash_bxt_device); spd_register(SPD_TYPE_SDRAM, 0x3, 256); - if (sound_card_current == SOUND_INTERNAL) { + if (sound_card_current[0] == SOUND_INTERNAL) { device_add(&es1371_onboard_device); device_add(&cs4297_device); } diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 66ef15e1d..422e2c989 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -104,7 +104,7 @@ machine_at_s1857_init(const machine_t *model) device_add(&intel_flash_bxt_device); spd_register(SPD_TYPE_SDRAM, 0x7, 256); - if (sound_card_current == SOUND_INTERNAL) { + if (sound_card_current[0] == SOUND_INTERNAL) { device_add(&es1371_onboard_device); device_add(&cs4297_device); /* found on other Tyan boards around the same time */ } @@ -377,7 +377,7 @@ machine_at_cuv4xls_init(const machine_t *model) spd_register(SPD_TYPE_SDRAM, 0xF, 1024); device_add(&as99127f_device); /* fans: Chassis, CPU, Power; temperatures: MB, JTPWR, CPU */ - if (sound_card_current == SOUND_INTERNAL) + if (sound_card_current[0] == SOUND_INTERNAL) device_add(&cmi8738_onboard_device); return ret; @@ -415,7 +415,7 @@ machine_at_6via90ap_init(const machine_t *model) hwm_values.temperatures[1] += 2; /* System offset */ hwm_values.temperatures[2] = 0; /* unused */ - if (sound_card_current == SOUND_INTERNAL) + if (sound_card_current[0] == SOUND_INTERNAL) device_add(&alc100_device); /* ALC100P identified on similar Acorp boards (694TA, 6VIA90A1) */ return ret; diff --git a/src/machine/m_at_sockets7.c b/src/machine/m_at_sockets7.c index 2813e7275..dab544707 100644 --- a/src/machine/m_at_sockets7.c +++ b/src/machine/m_at_sockets7.c @@ -268,7 +268,7 @@ machine_at_ficva503a_init(const machine_t *model) hwm_values.temperatures[1] += 2; /* System offset */ hwm_values.temperatures[2] = 0; /* unused */ - if (sound_card_current == SOUND_INTERNAL) + if (sound_card_current[0] == SOUND_INTERNAL) device_add(&wm9701a_device); /* on daughtercard */ return ret; diff --git a/src/qt/languages/cs-CZ.po b/src/qt/languages/cs-CZ.po index d8fe563fe..5f85c4f81 100644 --- a/src/qt/languages/cs-CZ.po +++ b/src/qt/languages/cs-CZ.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Zvuková karta:" +msgid "Sound card 1:" +msgstr "Zvuková karta 1:" + +msgid "Sound card 2:" +msgstr "Zvuková karta 2:" + +msgid "Sound card 3:" +msgstr "Zvuková karta 3:" + +msgid "Sound card 4:" +msgstr "Zvuková karta 4:" msgid "MIDI Out Device:" msgstr "MIDI výstup:" @@ -418,15 +427,6 @@ msgstr "MIDI vstup:" msgid "Standalone MPU-401" msgstr "Samostatný MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Použít zvuk FLOAT32" diff --git a/src/qt/languages/de-DE.po b/src/qt/languages/de-DE.po index 74fa56afa..efbd5f95e 100644 --- a/src/qt/languages/de-DE.po +++ b/src/qt/languages/de-DE.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Soundkarte:" +msgid "Sound card 1:" +msgstr "Soundkarte 1:" + +msgid "Sound card 2:" +msgstr "Soundkarte 2:" + +msgid "Sound card 3:" +msgstr "Soundkarte 3:" + +msgid "Sound card 4:" +msgstr "Soundkarte 4:" msgid "MIDI Out Device:" msgstr "MIDI Out-Gerät:" @@ -418,15 +427,6 @@ msgstr "MIDI In-Gerät:" msgid "Standalone MPU-401" msgstr "Standalone-MPU-401-Gerät" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32-Wiedergabe benutzen" diff --git a/src/qt/languages/en-GB.po b/src/qt/languages/en-GB.po index 5575d9481..7613cf4b3 100644 --- a/src/qt/languages/en-GB.po +++ b/src/qt/languages/en-GB.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Sound card:" +msgid "Sound card 1:" +msgstr "Sound card 1:" + +msgid "Sound card 2:" +msgstr "Sound card 2:" + +msgid "Sound card 3:" +msgstr "Sound card 3:" + +msgid "Sound card 4:" +msgstr "Sound card 4:" msgid "MIDI Out Device:" msgstr "MIDI Out Device:" @@ -418,15 +427,6 @@ msgstr "MIDI In Device:" msgid "Standalone MPU-401" msgstr "Standalone MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Use FLOAT32 sound" diff --git a/src/qt/languages/en-US.po b/src/qt/languages/en-US.po index e6652c057..bf822aceb 100644 --- a/src/qt/languages/en-US.po +++ b/src/qt/languages/en-US.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Sound card:" +msgid "Sound card 1:" +msgstr "Sound card 1:" + +msgid "Sound card 2:" +msgstr "Sound card 2:" + +msgid "Sound card 3:" +msgstr "Sound card 3:" + +msgid "Sound card 4:" +msgstr "Sound card 4:" msgid "MIDI Out Device:" msgstr "MIDI Out Device:" @@ -418,15 +427,6 @@ msgstr "MIDI In Device:" msgid "Standalone MPU-401" msgstr "Standalone MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Use FLOAT32 sound" diff --git a/src/qt/languages/es-ES.po b/src/qt/languages/es-ES.po index 0a7014589..0c2bd6aa9 100644 --- a/src/qt/languages/es-ES.po +++ b/src/qt/languages/es-ES.po @@ -406,8 +406,17 @@ msgstr "Mando 3..." msgid "Joystick 4..." msgstr "Mando 4..." -msgid "Sound card:" -msgstr "Tarjeta de sonido:" +msgid "Sound card 1:" +msgstr "Tarjeta de sonido 1:" + +msgid "Sound card 2:" +msgstr "Tarjeta de sonido 2:" + +msgid "Sound card 3:" +msgstr "Tarjeta de sonido 3:" + +msgid "Sound card 4:" +msgstr "Tarjeta de sonido 4:" msgid "MIDI Out Device:" msgstr "Dispositivo MIDI de salida:" @@ -418,15 +427,6 @@ msgstr "Dispositivo MIDI de entrada:" msgid "Standalone MPU-401" msgstr "MPU-401 independiente" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Usar sonido FLOAT32" diff --git a/src/qt/languages/fi-FI.po b/src/qt/languages/fi-FI.po index a5284844d..6224472fa 100644 --- a/src/qt/languages/fi-FI.po +++ b/src/qt/languages/fi-FI.po @@ -406,8 +406,17 @@ msgstr "Peliohjain 3..." msgid "Joystick 4..." msgstr "Peliohjain 4..." -msgid "Sound card:" -msgstr "Äänikortti:" +msgid "Sound card 1:" +msgstr "Äänikortti 1:" + +msgid "Sound card 2:" +msgstr "Äänikortti 2:" + +msgid "Sound card 3:" +msgstr "Äänikortti 3:" + +msgid "Sound card 4:" +msgstr "Äänikortti 4:" msgid "MIDI Out Device:" msgstr "MIDI-ulostulo:" @@ -418,15 +427,6 @@ msgstr "MIDI-sisääntulo:" msgid "Standalone MPU-401" msgstr "Erillinen MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Käytä FLOAT32-ääntä" diff --git a/src/qt/languages/fr-FR.po b/src/qt/languages/fr-FR.po index 272d654c9..3ae18533d 100644 --- a/src/qt/languages/fr-FR.po +++ b/src/qt/languages/fr-FR.po @@ -406,8 +406,17 @@ msgstr "Manette 3..." msgid "Joystick 4..." msgstr "Manette 4..." -msgid "Sound card:" -msgstr "Carte son:" +msgid "Sound card 1:" +msgstr "Carte son 1:" + +msgid "Sound card 2:" +msgstr "Carte son 2:" + +msgid "Sound card 3:" +msgstr "Carte son 3:" + +msgid "Sound card 4:" +msgstr "Carte son 4:" msgid "MIDI Out Device:" msgstr "Sortie MIDI:" @@ -418,15 +427,6 @@ msgstr "Entrée MIDI:" msgid "Standalone MPU-401" msgstr "MPU-401 autonome" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Utiliser le son FLOAT32" diff --git a/src/qt/languages/hr-HR.po b/src/qt/languages/hr-HR.po index 244e78304..06c3ad8b5 100644 --- a/src/qt/languages/hr-HR.po +++ b/src/qt/languages/hr-HR.po @@ -406,8 +406,17 @@ msgstr "Palica za igru 3..." msgid "Joystick 4..." msgstr "Palica za igru 4..." -msgid "Sound card:" -msgstr "Zvučna kartica:" +msgid "Sound card 1:" +msgstr "Zvučna kartica 1:" + +msgid "Sound card 2:" +msgstr "Zvučna kartica 2:" + +msgid "Sound card 3:" +msgstr "Zvučna kartica 3:" + +msgid "Sound card 4:" +msgstr "Zvučna kartica 4:" msgid "MIDI Out Device:" msgstr "Izlazni uređaj MIDI:" @@ -418,15 +427,6 @@ msgstr "Ulazni uređaj MIDI:" msgid "Standalone MPU-401" msgstr "Samostalni MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Koristi FLOAT32 za zvuk" diff --git a/src/qt/languages/hu-HU.po b/src/qt/languages/hu-HU.po index c94e019f6..6658cbb00 100644 --- a/src/qt/languages/hu-HU.po +++ b/src/qt/languages/hu-HU.po @@ -406,8 +406,17 @@ msgstr "Játékvez. 3..." msgid "Joystick 4..." msgstr "Játékvez. 4..." -msgid "Sound card:" -msgstr "Hangkártya:" +msgid "Sound card 1:" +msgstr "Hangkártya 1:" + +msgid "Sound card 2:" +msgstr "Hangkártya 2:" + +msgid "Sound card 3:" +msgstr "Hangkártya 3:" + +msgid "Sound card 4:" +msgstr "Hangkártya 4:" msgid "MIDI Out Device:" msgstr "MIDI-kimenet:" @@ -418,15 +427,6 @@ msgstr "MIDI-bemenet:" msgid "Standalone MPU-401" msgstr "Különálló MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32 használata" diff --git a/src/qt/languages/it-IT.po b/src/qt/languages/it-IT.po index c1814eaeb..c02e3510f 100644 --- a/src/qt/languages/it-IT.po +++ b/src/qt/languages/it-IT.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Scheda audio:" +msgid "Sound card 1:" +msgstr "Scheda audio 1:" + +msgid "Sound card 2:" +msgstr "Scheda audio 2:" + +msgid "Sound card 3:" +msgstr "Scheda audio 3:" + +msgid "Sound card 4:" +msgstr "Scheda audio 4:" msgid "MIDI Out Device:" msgstr "Uscita MIDI:" @@ -418,15 +427,6 @@ msgstr "Entrata MIDI:" msgid "Standalone MPU-401" msgstr "MPU-401 autonomo" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Usa suono FLOAT32" diff --git a/src/qt/languages/ja-JP.po b/src/qt/languages/ja-JP.po index 71b5d921f..420d34a2e 100644 --- a/src/qt/languages/ja-JP.po +++ b/src/qt/languages/ja-JP.po @@ -406,8 +406,17 @@ msgstr "ジョイスティック3..." msgid "Joystick 4..." msgstr "ジョイスティック4..." -msgid "Sound card:" -msgstr "サウンドカード:" +msgid "Sound card 1:" +msgstr "サウンドカード 1:" + +msgid "Sound card 2:" +msgstr "サウンドカード 2:" + +msgid "Sound card 3:" +msgstr "サウンドカード 3:" + +msgid "Sound card 4:" +msgstr "サウンドカード 4:" msgid "MIDI Out Device:" msgstr "MIDI出力デバイス:" @@ -418,15 +427,6 @@ msgstr "MIDI入力デバイス:" msgid "Standalone MPU-401" msgstr "独立型MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32サウンドを使用する" diff --git a/src/qt/languages/ko-KR.po b/src/qt/languages/ko-KR.po index 1ebabcfe4..6d189d8e3 100644 --- a/src/qt/languages/ko-KR.po +++ b/src/qt/languages/ko-KR.po @@ -406,8 +406,17 @@ msgstr "조이스틱 3..." msgid "Joystick 4..." msgstr "조이스틱 4..." -msgid "Sound card:" -msgstr "사운드 카드:" +msgid "Sound card 1:" +msgstr "사운드 카드 1:" + +msgid "Sound card 2:" +msgstr "사운드 카드 2:" + +msgid "Sound card 3:" +msgstr "사운드 카드 3:" + +msgid "Sound card 4:" +msgstr "사운드 카드 4:" msgid "MIDI Out Device:" msgstr "MIDI 출력 장치:" @@ -418,15 +427,6 @@ msgstr "MIDI 입력 장치:" msgid "Standalone MPU-401" msgstr "MPU-401 단독 사용" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32 사운드 사용" diff --git a/src/qt/languages/pl-PL.po b/src/qt/languages/pl-PL.po index c0884601c..26c652c87 100644 --- a/src/qt/languages/pl-PL.po +++ b/src/qt/languages/pl-PL.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Karta dźwiękowa:" +msgid "Sound card 1:" +msgstr "Karta dźwiękowa 1:" + +msgid "Sound card 2:" +msgstr "Karta dźwiękowa 2:" + +msgid "Sound card 3:" +msgstr "Karta dźwiękowa 3:" + +msgid "Sound card 4:" +msgstr "Karta dźwiękowa 4:" msgid "MIDI Out Device:" msgstr "Urządzenie wyjściowe MIDI:" @@ -418,15 +427,6 @@ msgstr "Urządzenie wejściowe MIDI:" msgid "Standalone MPU-401" msgstr "Samodzielne urządzenie MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Użyj dźwięku FLOAT32" diff --git a/src/qt/languages/pt-BR.po b/src/qt/languages/pt-BR.po index d9ddcec83..0202b42a7 100644 --- a/src/qt/languages/pt-BR.po +++ b/src/qt/languages/pt-BR.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Placa de som:" +msgid "Sound card 1:" +msgstr "Placa de som 1:" + +msgid "Sound card 2:" +msgstr "Placa de som 2:" + +msgid "Sound card 3:" +msgstr "Placa de som 3:" + +msgid "Sound card 4:" +msgstr "Placa de som 4:" msgid "MIDI Out Device:" msgstr "Disp. de saída MIDI:" @@ -418,15 +427,6 @@ msgstr "Disp. de entrada MIDI:" msgid "Standalone MPU-401" msgstr "MPU-401 autônomo" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Usar som FLOAT32" diff --git a/src/qt/languages/pt-PT.po b/src/qt/languages/pt-PT.po index 33501ecc7..a8ce8bbca 100644 --- a/src/qt/languages/pt-PT.po +++ b/src/qt/languages/pt-PT.po @@ -406,8 +406,17 @@ msgstr "Joystick 3..." msgid "Joystick 4..." msgstr "Joystick 4..." -msgid "Sound card:" -msgstr "Placa de som:" +msgid "Sound card 1:" +msgstr "Placa de som 1:" + +msgid "Sound card 2:" +msgstr "Placa de som 2:" + +msgid "Sound card 3:" +msgstr "Placa de som 3:" + +msgid "Sound card 4:" +msgstr "Placa de som 4:" msgid "MIDI Out Device:" msgstr "Disp. saída MIDI:" @@ -418,15 +427,6 @@ msgstr "Disp. entrada MIDI:" msgid "Standalone MPU-401" msgstr "MPU-401 autónomo" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Utilizar som FLOAT32" diff --git a/src/qt/languages/ru-RU.po b/src/qt/languages/ru-RU.po index 6cc388b58..a424c5f6f 100644 --- a/src/qt/languages/ru-RU.po +++ b/src/qt/languages/ru-RU.po @@ -406,8 +406,17 @@ msgstr "Джойстик 3..." msgid "Joystick 4..." msgstr "Джойстик 4..." -msgid "Sound card:" -msgstr "Звуковая карта:" +msgid "Sound card 1:" +msgstr "Звуковая карта 1:" + +msgid "Sound card 2:" +msgstr "Звуковая карта 2:" + +msgid "Sound card 3:" +msgstr "Звуковая карта 3:" + +msgid "Sound card 4:" +msgstr "Звуковая карта 4:" msgid "MIDI Out Device:" msgstr "MIDI Out устр-во:" @@ -418,15 +427,6 @@ msgstr "MIDI In устр-во:" msgid "Standalone MPU-401" msgstr "Отдельный MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32 звук" diff --git a/src/qt/languages/sl-SI.po b/src/qt/languages/sl-SI.po index 08060a790..ba11014d2 100644 --- a/src/qt/languages/sl-SI.po +++ b/src/qt/languages/sl-SI.po @@ -406,8 +406,17 @@ msgstr "Igralna palica 3..." msgid "Joystick 4..." msgstr "Igralna palica 4..." -msgid "Sound card:" -msgstr "Zvočna kartica:" +msgid "Sound card 1:" +msgstr "Zvočna kartica 1:" + +msgid "Sound card 2:" +msgstr "Zvočna kartica 2:" + +msgid "Sound card 3:" +msgstr "Zvočna kartica 3:" + +msgid "Sound card 4:" +msgstr "Zvočna kartica 4:" msgid "MIDI Out Device:" msgstr "Izhodna naprava MIDI:" @@ -418,15 +427,6 @@ msgstr "Vhodna naprava MIDI:" msgid "Standalone MPU-401" msgstr "Samostojen MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "Uporabi FLOAT32 za zvok" diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index 5c9ddbd4f..f9608e9d0 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -406,8 +406,17 @@ msgstr "Oyun kolu 3..." msgid "Joystick 4..." msgstr "Oyun kolu 4..." -msgid "Sound card:" -msgstr "Ses kartı:" +msgid "Sound card 1:" +msgstr "Ses kartı 1:" + +msgid "Sound card 2:" +msgstr "Ses kartı 2:" + +msgid "Sound card 3:" +msgstr "Ses kartı 3:" + +msgid "Sound card 4:" +msgstr "Ses kartı 4:" msgid "MIDI Out Device:" msgstr "MIDI Çıkış Cihazı:" @@ -418,15 +427,6 @@ msgstr "MIDI Giriş Cihazı:" msgid "Standalone MPU-401" msgstr "Bağımsız MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32 ses kullan" diff --git a/src/qt/languages/uk-UA.po b/src/qt/languages/uk-UA.po index c2a839542..0ebe3e5cc 100644 --- a/src/qt/languages/uk-UA.po +++ b/src/qt/languages/uk-UA.po @@ -406,8 +406,17 @@ msgstr "Джойстик 3..." msgid "Joystick 4..." msgstr "Джойстик 4..." -msgid "Sound card:" -msgstr "Звукова карта:" +msgid "Sound card 1:" +msgstr "Звукова карта 1:" + +msgid "Sound card 2:" +msgstr "Звукова карта 2:" + +msgid "Sound card 3:" +msgstr "Звукова карта 3:" + +msgid "Sound card 4:" +msgstr "Звукова карта 4:" msgid "MIDI Out Device:" msgstr "MIDI Out при-ій:" @@ -418,15 +427,6 @@ msgstr "MIDI In при-ій:" msgid "Standalone MPU-401" msgstr "Окремий MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "FLOAT32 звук" diff --git a/src/qt/languages/zh-CN.po b/src/qt/languages/zh-CN.po index 5c995ae8e..65977da27 100644 --- a/src/qt/languages/zh-CN.po +++ b/src/qt/languages/zh-CN.po @@ -406,8 +406,17 @@ msgstr "操纵杆 3..." msgid "Joystick 4..." msgstr "操纵杆 4..." -msgid "Sound card:" -msgstr "声卡:" +msgid "Sound card 1:" +msgstr "声卡 1:" + +msgid "Sound card 2:" +msgstr "声卡 2:" + +msgid "Sound card 3:" +msgstr "声卡 3:" + +msgid "Sound card 4:" +msgstr "声卡 4:" msgid "MIDI Out Device:" msgstr "MIDI 输出设备:" @@ -418,15 +427,6 @@ msgstr "MIDI 输入设备:" msgid "Standalone MPU-401" msgstr "独立 MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "使用单精度浮点 (FLOAT32)" diff --git a/src/qt/languages/zh-TW.po b/src/qt/languages/zh-TW.po index 587db5e0c..b61613b89 100644 --- a/src/qt/languages/zh-TW.po +++ b/src/qt/languages/zh-TW.po @@ -406,8 +406,17 @@ msgstr "搖桿 3..." msgid "Joystick 4..." msgstr "搖桿 4..." -msgid "Sound card:" -msgstr "音訊卡:" +msgid "Sound card 1:" +msgstr "音訊卡 1:" + +msgid "Sound card 2:" +msgstr "音訊卡 2:" + +msgid "Sound card 3:" +msgstr "音訊卡 3:" + +msgid "Sound card 4:" +msgstr "音訊卡 4:" msgid "MIDI Out Device:" msgstr "MIDI 輸出裝置:" @@ -418,15 +427,6 @@ msgstr "MIDI 輸入裝置:" msgid "Standalone MPU-401" msgstr "獨立 MPU-401" -msgid "Innovation SSI-2001" -msgstr "Innovation SSI-2001" - -msgid "CMS / Game Blaster" -msgstr "CMS / Game Blaster" - -msgid "Gravis Ultrasound" -msgstr "Gravis Ultrasound" - msgid "Use FLOAT32 sound" msgstr "使用單精度浮點 (FLOAT32)" diff --git a/src/qt/qt_settingssound.cpp b/src/qt/qt_settingssound.cpp index e17ec5ed1..1be663dd8 100644 --- a/src/qt/qt_settingssound.cpp +++ b/src/qt/qt_settingssound.cpp @@ -11,8 +11,10 @@ * * * Authors: Joakim L. Gilje + * Jasmine Iwanek * - * Copyright 2021 Joakim L. Gilje + * Copyright 2021 Joakim L. Gilje + * Copyright 2022-2023 Jasmine Iwanek */ #include "qt_settingssound.hpp" #include "ui_qt_settingssound.h" @@ -47,17 +49,17 @@ SettingsSound::~SettingsSound() void SettingsSound::save() { - sound_card_current = ui->comboBoxSoundCard->currentData().toInt(); + for (uint8_t i = 0; i < SOUND_CARD_MAX; ++i) { + auto *cbox = findChild(QString("comboBoxSoundCard%1").arg(i + 1)); + sound_card_current[i] = cbox->currentData().toInt(); + } + midi_output_device_current = ui->comboBoxMidiOut->currentData().toInt(); midi_input_device_current = ui->comboBoxMidiIn->currentData().toInt(); mpu401_standalone_enable = ui->checkBoxMPU401->isChecked() ? 1 : 0; - SSI2001 = ui->checkBoxSSI2001->isChecked() ? 1 : 0; - ; - GAMEBLASTER = ui->checkBoxCMS->isChecked() ? 1 : 0; - GUS = ui->checkBoxGUS->isChecked() ? 1 : 0; - ; + sound_is_float = ui->checkBoxFloat32->isChecked() ? 1 : 0; - ; + if (ui->radioButtonYMFM->isChecked()) fm_driver = FM_DRV_YMFM; else @@ -69,41 +71,45 @@ SettingsSound::onCurrentMachineChanged(int machineId) { this->machineId = machineId; - auto *model = ui->comboBoxSoundCard->model(); - auto removeRows = model->rowCount(); - int c = 0; - int selectedRow = 0; - while (true) { - /* Skip "internal" if machine doesn't have it. */ - if ((c == 1) && (machine_has_flags(machineId, MACHINE_SOUND) == 0)) { - c++; - continue; - } + int c = 0; + int selectedRow = 0; - auto *sound_dev = sound_card_getdevice(c); - QString name = DeviceConfig::DeviceName(sound_dev, sound_card_get_internal_name(c), 1); - if (name.isEmpty()) { - break; - } + for (uint8_t i = 0; i < SOUND_CARD_MAX; ++i) { + auto *cbox = findChild(QString("comboBoxSoundCard%1").arg(i + 1)); + auto *model = cbox->model(); + auto removeRows = model->rowCount(); + c = 0; + selectedRow = 0; - if (sound_card_available(c)) { - if (device_is_valid(sound_dev, machineId)) { + while (true) { + /* Skip "internal" if machine doesn't have it for the first card, always skip for others. */ + if (((c == 1) && (machine_has_flags(machineId, MACHINE_SOUND) == 0)) || (i != 0)) { + c++; + continue; + } + + auto name = DeviceConfig::DeviceName(sound_card_getdevice(c), sound_card_get_internal_name(c), 1); + if (name.isEmpty()) { + break; + } + + if (sound_card_available(c) && device_is_valid(sound_card_getdevice(c), machineId)) { int row = Models::AddEntry(model, name, c); - if (c == sound_card_current) { + if (c == sound_card_current[i]) { selectedRow = row - removeRows; } } + c++; } - c++; + model->removeRows(0, removeRows); + cbox->setEnabled(model->rowCount() > 0); + cbox->setCurrentIndex(-1); + cbox->setCurrentIndex(selectedRow); } - model->removeRows(0, removeRows); - ui->comboBoxSoundCard->setEnabled(model->rowCount() > 0); - ui->comboBoxSoundCard->setCurrentIndex(-1); - ui->comboBoxSoundCard->setCurrentIndex(selectedRow); - model = ui->comboBoxMidiOut->model(); - removeRows = model->rowCount(); + auto model = ui->comboBoxMidiOut->model(); + auto removeRows = model->rowCount(); c = 0; selectedRow = 0; while (true) { @@ -150,19 +156,8 @@ SettingsSound::onCurrentMachineChanged(int machineId) ui->comboBoxMidiIn->setCurrentIndex(selectedRow); ui->checkBoxMPU401->setChecked(mpu401_standalone_enable > 0); - ui->checkBoxSSI2001->setChecked(SSI2001 > 0); - ui->checkBoxCMS->setChecked(GAMEBLASTER > 0); - ui->checkBoxGUS->setChecked(GUS > 0); ui->checkBoxFloat32->setChecked(sound_is_float > 0); - bool hasIsa = machine_has_bus(machineId, MACHINE_BUS_ISA) > 0; - bool hasIsa16 = machine_has_bus(machineId, MACHINE_BUS_ISA16) > 0; - ui->checkBoxCMS->setEnabled(hasIsa); - ui->pushButtonConfigureCMS->setEnabled((GAMEBLASTER > 0) && hasIsa); - ui->checkBoxGUS->setEnabled(hasIsa16); - ui->pushButtonConfigureGUS->setEnabled((GUS > 0) && hasIsa16); - ui->checkBoxSSI2001->setEnabled(hasIsa); - ui->pushButtonConfigureSSI2001->setEnabled((SSI2001 > 0) && hasIsa); switch (fm_driver) { case FM_DRV_YMFM: ui->radioButtonYMFM->setChecked(true); @@ -192,18 +187,63 @@ allowMpu401(Ui::SettingsSound *ui) } void -SettingsSound::on_comboBoxSoundCard_currentIndexChanged(int index) +SettingsSound::on_comboBoxSoundCard1_currentIndexChanged(int index) { if (index < 0) { return; } - ui->pushButtonConfigureSoundCard->setEnabled(sound_card_has_config(ui->comboBoxSoundCard->currentData().toInt())); + ui->pushButtonConfigureSoundCard1->setEnabled(sound_card_has_config(ui->comboBoxSoundCard1->currentData().toInt())); } void -SettingsSound::on_pushButtonConfigureSoundCard_clicked() +SettingsSound::on_pushButtonConfigureSoundCard1_clicked() { - DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard->currentData().toInt()), 0, qobject_cast(Settings::settings)); + DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard1->currentData().toInt()), 0, qobject_cast(Settings::settings)); +} + +void +SettingsSound::on_comboBoxSoundCard2_currentIndexChanged(int index) +{ + if (index < 0) { + return; + } + ui->pushButtonConfigureSoundCard2->setEnabled(sound_card_has_config(ui->comboBoxSoundCard2->currentData().toInt())); +} + +void +SettingsSound::on_pushButtonConfigureSoundCard2_clicked() +{ + DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard2->currentData().toInt()), 0, qobject_cast(Settings::settings)); +} + +void +SettingsSound::on_comboBoxSoundCard3_currentIndexChanged(int index) +{ + if (index < 0) { + return; + } + ui->pushButtonConfigureSoundCard3->setEnabled(sound_card_has_config(ui->comboBoxSoundCard3->currentData().toInt())); +} + +void +SettingsSound::on_pushButtonConfigureSoundCard3_clicked() +{ + DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard3->currentData().toInt()), 0, qobject_cast(Settings::settings)); +} + +void +SettingsSound::on_comboBoxSoundCard4_currentIndexChanged(int index) +{ + if (index < 0) { + return; + } + ui->pushButtonConfigureSoundCard1->setEnabled(sound_card_has_config(ui->comboBoxSoundCard4->currentData().toInt())); +} + +void +SettingsSound::on_pushButtonConfigureSoundCard4_clicked() +{ + DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard4->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void @@ -246,24 +286,6 @@ SettingsSound::on_checkBoxMPU401_stateChanged(int state) ui->pushButtonConfigureMPU401->setEnabled(state == Qt::Checked); } -void -SettingsSound::on_checkBoxSSI2001_stateChanged(int state) -{ - ui->pushButtonConfigureSSI2001->setEnabled(state == Qt::Checked); -} - -void -SettingsSound::on_checkBoxCMS_stateChanged(int state) -{ - ui->pushButtonConfigureCMS->setEnabled(state == Qt::Checked); -} - -void -SettingsSound::on_checkBoxGUS_stateChanged(int state) -{ - ui->pushButtonConfigureGUS->setEnabled(state == Qt::Checked); -} - void SettingsSound::on_pushButtonConfigureMPU401_clicked() { @@ -273,21 +295,3 @@ SettingsSound::on_pushButtonConfigureMPU401_clicked() DeviceConfig::ConfigureDevice(&mpu401_device, 0, qobject_cast(Settings::settings)); } } - -void -SettingsSound::on_pushButtonConfigureSSI2001_clicked() -{ - DeviceConfig::ConfigureDevice(&ssi2001_device, 0, qobject_cast(Settings::settings)); -} - -void -SettingsSound::on_pushButtonConfigureCMS_clicked() -{ - DeviceConfig::ConfigureDevice(&cms_device, 0, qobject_cast(Settings::settings)); -} - -void -SettingsSound::on_pushButtonConfigureGUS_clicked() -{ - DeviceConfig::ConfigureDevice(&gus_device, 0, qobject_cast(Settings::settings)); -} diff --git a/src/qt/qt_settingssound.hpp b/src/qt/qt_settingssound.hpp index e0bc2e4f8..92b700c92 100644 --- a/src/qt/qt_settingssound.hpp +++ b/src/qt/qt_settingssound.hpp @@ -20,20 +20,20 @@ public slots: void onCurrentMachineChanged(int machineId); private slots: - void on_pushButtonConfigureGUS_clicked(); - void on_pushButtonConfigureCMS_clicked(); - void on_pushButtonConfigureSSI2001_clicked(); void on_pushButtonConfigureMPU401_clicked(); - void on_checkBoxGUS_stateChanged(int arg1); - void on_checkBoxCMS_stateChanged(int arg1); - void on_checkBoxSSI2001_stateChanged(int arg1); void on_checkBoxMPU401_stateChanged(int arg1); void on_pushButtonConfigureMidiIn_clicked(); void on_pushButtonConfigureMidiOut_clicked(); void on_comboBoxMidiIn_currentIndexChanged(int index); void on_comboBoxMidiOut_currentIndexChanged(int index); - void on_pushButtonConfigureSoundCard_clicked(); - void on_comboBoxSoundCard_currentIndexChanged(int index); + void on_pushButtonConfigureSoundCard1_clicked(); + void on_comboBoxSoundCard1_currentIndexChanged(int index); + void on_pushButtonConfigureSoundCard2_clicked(); + void on_comboBoxSoundCard2_currentIndexChanged(int index); + void on_pushButtonConfigureSoundCard3_clicked(); + void on_comboBoxSoundCard3_currentIndexChanged(int index); + void on_pushButtonConfigureSoundCard4_clicked(); + void on_comboBoxSoundCard4_currentIndexChanged(int index); private: Ui::SettingsSound *ui; diff --git a/src/qt/qt_settingssound.ui b/src/qt/qt_settingssound.ui index 9ae91dcd2..f85a09a0d 100644 --- a/src/qt/qt_settingssound.ui +++ b/src/qt/qt_settingssound.ui @@ -26,42 +26,73 @@ 0 - + MIDI In Device: - - - - Innovation SSI-2001 - - - - - - - Gravis Ultrasound - - - - Sound card: + Sound card #1: - + Configure - + + + + Sound card #2: + + + + + + + Configure + + + + + + + Sound card #3: + + + + + + + Configure + + + + + + + + Sound card #4: + + + + + + + Configure + + + + + + @@ -71,49 +102,35 @@ - + MIDI Out Device: - + Standalone MPU-401 - + Configure - + Configure - - - - Configure - - - - - - - CMS / Game Blaster - - - - + @@ -123,35 +140,21 @@ - + Configure - + Use FLOAT32 sound - - - - Configure - - - - - - - Configure - - - - + @@ -180,7 +183,7 @@ - + Qt::Vertical @@ -194,7 +197,37 @@ - + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + + 0 diff --git a/src/sound/sound.c b/src/sound/sound.c index ab75af4f0..ecbb7e1a9 100644 --- a/src/sound/sound.c +++ b/src/sound/sound.c @@ -51,7 +51,7 @@ typedef struct { void *priv; } sound_handler_t; -int sound_card_current = 0; +int sound_card_current[SOUND_CARD_MAX] = { 0, 0, 0, 0}; int sound_pos_global = 0; int sound_gain = 0; @@ -79,30 +79,31 @@ static void (*filter_cd_audio)(int channel, double *buffer, void *p) = NULL; static void *filter_cd_audio_p = NULL; static const device_t sound_none_device = { - "None", - "none", - 0, - 0, - NULL, - NULL, - NULL, - { NULL }, - NULL, - NULL, - NULL + .name = "None", + .internal_name = "none", + .flags = 0, + .local = 0, + .init = NULL, + .close = NULL, + .reset = NULL, + { .available = NULL }, + .speed_changed = NULL, + .force_redraw = NULL, + .config = NULL }; + static const device_t sound_internal_device = { - "Internal", - "internal", - 0, - 0, - NULL, - NULL, - NULL, - { NULL }, - NULL, - NULL, - NULL + .name = "Internal", + .internal_name = "internal", + .flags = 0, + .local = 0, + .init = NULL, + .close = NULL, + .reset = NULL, + { .available = NULL }, + .speed_changed = NULL, + .force_redraw = NULL, + .config = NULL }; static const SOUND_CARD sound_cards[] = { @@ -115,8 +116,10 @@ static const SOUND_CARD sound_cards[] = { { &adgold_device }, { &azt2316a_device }, { &azt1605_device }, + { &cms_device }, { &cs4235_device }, { &cs4236b_device }, + { &gus_device }, { &sb_1_device }, { &sb_15_device }, { &sb_2_device }, @@ -130,6 +133,7 @@ static const SOUND_CARD sound_cards[] = { { &sb_awe64_value_device }, { &sb_awe64_device }, { &sb_awe64_gold_device }, + { &ssi2001_device }, #if defined(DEV_BRANCH) && defined(USE_PAS16) { &pas16_device }, #endif @@ -214,8 +218,14 @@ sound_card_get_from_internal_name(char *s) void sound_card_init(void) { - if (sound_cards[sound_card_current].device) - device_add(sound_cards[sound_card_current].device); + if (sound_cards[sound_card_current[0]].device) + device_add(sound_cards[sound_card_current[0]].device); + if (sound_cards[sound_card_current[1]].device) + device_add(sound_cards[sound_card_current[1]].device); + if (sound_cards[sound_card_current[2]].device) + device_add(sound_cards[sound_card_current[2]].device); + if (sound_cards[sound_card_current[3]].device) + device_add(sound_cards[sound_card_current[3]].device); } void @@ -511,15 +521,6 @@ sound_card_reset(void) if (mpu401_standalone_enable) mpu401_device_add(); - - if (GUS) - device_add(&gus_device); - - if (GAMEBLASTER) - device_add(&cms_device); - - if (SSI2001) - device_add(&ssi2001_device); } void diff --git a/src/win/languages/cs-CZ.rc b/src/win/languages/cs-CZ.rc index 635d2dc89..95818b72c 100644 --- a/src/win/languages/cs-CZ.rc +++ b/src/win/languages/cs-CZ.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Zvuková karta:" +#define STR_SOUND1 "Zvuková karta 1:" +#define STR_SOUND2 "Zvuková karta 2:" +#define STR_SOUND3 "Zvuková karta 3:" +#define STR_SOUND4 "Zvuková karta 4:" #define STR_MIDI_OUT "MIDI výstup:" #define STR_MIDI_IN "MIDI vstup:" #define STR_MPU401 "Samostatný MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Použít zvuk FLOAT32" #define STR_FM_DRIVER "FM synth driver" #define STR_FM_DRV_NUKED "Nuked (přesnější)" diff --git a/src/win/languages/de-DE.rc b/src/win/languages/de-DE.rc index 308657978..da6fa043f 100644 --- a/src/win/languages/de-DE.rc +++ b/src/win/languages/de-DE.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Soundkarte:" +#define STR_SOUND1 "Soundkarte 1:" +#define STR_SOUND2 "Soundkarte 2:" +#define STR_SOUND3 "Soundkarte 3:" +#define STR_SOUND4 "Soundkarte 4:" #define STR_MIDI_OUT "MIDI Out-Gerät:" #define STR_MIDI_IN "MIDI In-Gerät:" #define STR_MPU401 "Standalone-MPU-401-Gerät" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32-Wiedergabe benutzen" #define STR_FM_DRIVER "FM-Synth-Treiber" #define STR_FM_DRV_NUKED "Nuked (genauer)" diff --git a/src/win/languages/dialogs.rc b/src/win/languages/dialogs.rc index 0f74ef10b..30c3e4e50 100644 --- a/src/win/languages/dialogs.rc +++ b/src/win/languages/dialogs.rc @@ -320,58 +320,64 @@ DLG_CFG_SOUND DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, C STYLE DS_CONTROL | WS_CHILD FONT FONT_SIZE, FONT_NAME BEGIN - LTEXT STR_SOUND, IDT_SOUND, + LTEXT STR_SOUND1, IDT_SOUND1, CFG_HMARGIN, CFG_VMARGIN, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT - COMBOBOX IDC_COMBO_SOUND, + COMBOBOX IDC_COMBO_SOUND1, CFG_COMBO_BOX_LEFT, 7, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_SND, + PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_SND1, CFG_COMBO_BTN_LEFT, 6, CFG_BTN_WIDTH, CFG_BTN_HEIGHT - LTEXT STR_MIDI_OUT, IDT_MIDI_OUT, + LTEXT STR_SOUND2, IDT_SOUND2, CFG_HMARGIN, 28, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT - COMBOBOX IDC_COMBO_MIDI_OUT, + COMBOBOX IDC_COMBO_SOUND2, CFG_COMBO_BOX_LEFT, 26, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_SND2, + CFG_COMBO_BTN_LEFT, 25, CFG_BTN_WIDTH, CFG_BTN_HEIGHT + + LTEXT STR_SOUND3, IDT_SOUND3, + CFG_HMARGIN, 48, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT + COMBOBOX IDC_COMBO_SOUND3, + CFG_COMBO_BOX_LEFT, 46, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_SND3, + CFG_COMBO_BTN_LEFT, 45, CFG_BTN_WIDTH, CFG_BTN_HEIGHT + + LTEXT STR_SOUND4, IDT_SOUND4, + CFG_HMARGIN, 68, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT + COMBOBOX IDC_COMBO_SOUND4, + CFG_COMBO_BOX_LEFT, 66, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_SND4, + CFG_COMBO_BTN_LEFT, 65, CFG_BTN_WIDTH, CFG_BTN_HEIGHT + + LTEXT STR_MIDI_OUT, IDT_MIDI_OUT, + CFG_HMARGIN, 88, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT + COMBOBOX IDC_COMBO_MIDI_OUT, + CFG_COMBO_BOX_LEFT, 86, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_MIDI_OUT, - CFG_COMBO_BTN_LEFT, 25, CFG_BTN_WIDTH, CFG_BTN_HEIGHT + CFG_COMBO_BTN_LEFT, 85, CFG_BTN_WIDTH, CFG_BTN_HEIGHT LTEXT STR_MIDI_IN, IDT_MIDI_IN, - CFG_HMARGIN, 47, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT + CFG_HMARGIN, 108, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_MIDI_IN, - CFG_COMBO_BOX_LEFT, 45, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, + CFG_COMBO_BOX_LEFT, 105, CFG_COMBO_BTN_WIDTH, CFG_COMBO_HEIGHT, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_MIDI_IN, - CFG_COMBO_BTN_LEFT, 44, CFG_BTN_WIDTH, CFG_BTN_HEIGHT + CFG_COMBO_BTN_LEFT, 105, CFG_BTN_WIDTH, CFG_BTN_HEIGHT CONTROL STR_MPU401,IDC_CHECK_MPU401, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - CFG_HMARGIN, 66, 199, CFG_CHECKBOX_HEIGHT + CFG_HMARGIN, 126, 199, CFG_CHECKBOX_HEIGHT PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_MPU401, - CFG_COMBO_BTN_LEFT, 64, CFG_BTN_WIDTH, CFG_BTN_HEIGHT + CFG_COMBO_BTN_LEFT, 125, CFG_BTN_WIDTH, CFG_BTN_HEIGHT - CONTROL STR_SSI,IDC_CHECK_SSI, - "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - CFG_HMARGIN, 84, 95, CFG_CHECKBOX_HEIGHT - PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_SSI, - CFG_COMBO_BTN_LEFT, 82, CFG_BTN_WIDTH, CFG_BTN_HEIGHT - - CONTROL STR_CMS,IDC_CHECK_CMS, - "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - CFG_HMARGIN, 102, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT - PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_CMS, - CFG_COMBO_BTN_LEFT, 100, CFG_BTN_WIDTH, CFG_BTN_HEIGHT - - CONTROL STR_GUS,IDC_CHECK_GUS, - "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - CFG_HMARGIN, 120, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT - PUSHBUTTON STR_CONFIGURE, IDC_CONFIGURE_GUS, - CFG_COMBO_BTN_LEFT, 118, CFG_BTN_WIDTH, CFG_BTN_HEIGHT - CONTROL STR_FLOAT, IDC_CHECK_FLOAT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - CFG_HMARGIN, 138, 104, CFG_CHECKBOX_HEIGHT + CFG_HMARGIN, 138, 194, CFG_CHECKBOX_HEIGHT GROUPBOX STR_FM_DRIVER, IDC_FM_DRIVER, CFG_HMARGIN, 154, 110, 42 @@ -958,13 +964,13 @@ END #undef STR_JOY3 #undef STR_JOY4 -#undef STR_SOUND +#undef STR_SOUND1 +#undef STR_SOUND2 +#undef STR_SOUND3 +#undef STR_SOUND4 #undef STR_MIDI_OUT #undef STR_MIDI_IN #undef STR_MPU401 -#undef STR_SSI -#undef STR_CMS -#undef STR_GUS #undef STR_FLOAT #undef STR_FM_DRIVER #undef STR_FM_DRV_NUKED diff --git a/src/win/languages/en-GB.rc b/src/win/languages/en-GB.rc index 0cc4a8f5a..25724a210 100644 --- a/src/win/languages/en-GB.rc +++ b/src/win/languages/en-GB.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Sound card:" +#define STR_SOUND1 "Sound card 1:" +#define STR_SOUND2 "Sound card 2:" +#define STR_SOUND3 "Sound card 3:" +#define STR_SOUND4 "Sound card 4:" #define STR_MIDI_OUT "MIDI Out Device:" #define STR_MIDI_IN "MIDI In Device:" #define STR_MPU401 "Standalone MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Use FLOAT32 sound" #define STR_FM_DRIVER "FM synth driver" #define STR_FM_DRV_NUKED "Nuked (more accurate)" diff --git a/src/win/languages/en-US.rc b/src/win/languages/en-US.rc index 12100b0bf..ce7e3fc26 100644 --- a/src/win/languages/en-US.rc +++ b/src/win/languages/en-US.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Sound card:" +#define STR_SOUND1 "Sound card 1:" +#define STR_SOUND2 "Sound card 2:" +#define STR_SOUND3 "Sound card 3:" +#define STR_SOUND4 "Sound card 4:" #define STR_MIDI_OUT "MIDI Out Device:" #define STR_MIDI_IN "MIDI In Device:" #define STR_MPU401 "Standalone MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Use FLOAT32 sound" #define STR_FM_DRIVER "FM synth driver" #define STR_FM_DRV_NUKED "Nuked (more accurate)" diff --git a/src/win/languages/es-ES.rc b/src/win/languages/es-ES.rc index cf9c03371..03cedff7e 100644 --- a/src/win/languages/es-ES.rc +++ b/src/win/languages/es-ES.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Mando 3..." #define STR_JOY4 "Mando 4..." -#define STR_SOUND "Tarjeta de sonido:" +#define STR_SOUND1 "Tarjeta de sonido 1:" +#define STR_SOUND2 "Tarjeta de sonido 2:" +#define STR_SOUND3 "Tarjeta de sonido 3:" +#define STR_SOUND4 "Tarjeta de sonido 4:" #define STR_MIDI_OUT "Dispositivo MIDI de salida:" #define STR_MIDI_IN "Dispositivo MIDI de entrada:" #define STR_MPU401 "MPU-401 independiente" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Usar sonido FLOAT32" #define STR_FM_DRIVER "Controlador de sintet. FM" #define STR_FM_DRV_NUKED "Nuked (más preciso)" diff --git a/src/win/languages/fi-FI.rc b/src/win/languages/fi-FI.rc index 852778a96..b08ceeb23 100644 --- a/src/win/languages/fi-FI.rc +++ b/src/win/languages/fi-FI.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Peliohjain 3..." #define STR_JOY4 "Peliohjain 4..." -#define STR_SOUND "Äänikortti:" +#define STR_SOUND1 "Äänikortti 1:" +#define STR_SOUND2 "Äänikortti 2:" +#define STR_SOUND3 "Äänikortti 3:" +#define STR_SOUND4 "Äänikortti 4:" #define STR_MIDI_OUT "MIDI-ulostulo:" #define STR_MIDI_IN "MIDI-sisääntulo:" #define STR_MPU401 "Erillinen MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Käytä FLOAT32-ääntä" #define STR_FM_DRIVER "FM-syntetisaattoriohjain" #define STR_FM_DRV_NUKED "Nuked (tarkempi)" diff --git a/src/win/languages/fr-FR.rc b/src/win/languages/fr-FR.rc index 8e005ebcd..376829398 100644 --- a/src/win/languages/fr-FR.rc +++ b/src/win/languages/fr-FR.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Manette 3..." #define STR_JOY4 "Manette 4..." -#define STR_SOUND "Carte son:" +#define STR_SOUND1 "Carte son 1:" +#define STR_SOUND2 "Carte son 2:" +#define STR_SOUND3 "Carte son 3:" +#define STR_SOUND4 "Carte son 4:" #define STR_MIDI_OUT "Sortie MIDI:" #define STR_MIDI_IN "Entrée MIDI:" #define STR_MPU401 "MPU-401 autonome" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Utiliser le son FLOAT32" #define STR_FM_DRIVER "Pilote de synthétiseur FM" #define STR_FM_DRV_NUKED "Nuked (plus précis)" diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index b1b4a3524..451470aca 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Palica za igru 3..." #define STR_JOY4 "Palica za igru 4..." -#define STR_SOUND "Zvučna kartica:" +#define STR_SOUND1 "Zvučna kartica 1:" +#define STR_SOUND2 "Zvučna kartica 2:" +#define STR_SOUND3 "Zvučna kartica 3:" +#define STR_SOUND4 "Zvučna kartica 4:" #define STR_MIDI_OUT "Izlazni uređaj MIDI:" #define STR_MIDI_IN "Ulazni uređaj MIDI:" #define STR_MPU401 "Samostalni MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Koristi FLOAT32 za zvuk" #define STR_FM_DRIVER "Drajver za FM sintisajzer" #define STR_FM_DRV_NUKED "Nuked (precizniji)" diff --git a/src/win/languages/hu-HU.rc b/src/win/languages/hu-HU.rc index 0692c1cdd..2b9025413 100644 --- a/src/win/languages/hu-HU.rc +++ b/src/win/languages/hu-HU.rc @@ -289,13 +289,13 @@ END #define STR_JOY3 "Játékvez. 3..." #define STR_JOY4 "Játékvez. 4..." -#define STR_SOUND "Hangkártya:" +#define STR_SOUND1 "Hangkártya 1:" +#define STR_SOUND2 "Hangkártya 2:" +#define STR_SOUND3 "Hangkártya 3:" +#define STR_SOUND4 "Hangkártya 4:" #define STR_MIDI_OUT "MIDI-kimenet:" #define STR_MIDI_IN "MIDI-bemenet:" #define STR_MPU401 "Különálló MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 használata" #define STR_FM_DRIVER "FM szintetizátor meghajtó" #define STR_FM_DRV_NUKED "Nuked (pontosabb)" diff --git a/src/win/languages/it-IT.rc b/src/win/languages/it-IT.rc index bf82c116f..302e4b599 100644 --- a/src/win/languages/it-IT.rc +++ b/src/win/languages/it-IT.rc @@ -285,13 +285,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Scheda audio:" +#define STR_SOUND1 "Scheda audio 1:" +#define STR_SOUND2 "Scheda audio 2:" +#define STR_SOUND3 "Scheda audio 3:" +#define STR_SOUND4 "Scheda audio 4:" #define STR_MIDI_OUT "Uscita MIDI:" #define STR_MIDI_IN "Entrata MIDI:" #define STR_MPU401 "MPU-401 autonomo" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Usa suono FLOAT32" #define STR_FM_DRIVER "Driver sint. FM" #define STR_FM_DRV_NUKED "Nuked (più accurato)" diff --git a/src/win/languages/ja-JP.rc b/src/win/languages/ja-JP.rc index e1fc2bae9..9c1eadf9b 100644 --- a/src/win/languages/ja-JP.rc +++ b/src/win/languages/ja-JP.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "ジョイスティック3..." #define STR_JOY4 "ジョイスティック4..." -#define STR_SOUND "サウンドカード:" +#define STR_SOUND1 "サウンドカード 1:" +#define STR_SOUND2 "サウンドカード 2:" +#define STR_SOUND3 "サウンドカード 3:" +#define STR_SOUND4 "サウンドカード 4:" #define STR_MIDI_OUT "MIDI出力デバイス:" #define STR_MIDI_IN "MIDI入力デバイス:" #define STR_MPU401 "独立型MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32サウンドを使用する" #define STR_FM_DRIVER "FMシンセドライバー" #define STR_FM_DRV_NUKED "Nuked (高精度化)" diff --git a/src/win/languages/ko-KR.rc b/src/win/languages/ko-KR.rc index 9379205fe..ed282653e 100644 --- a/src/win/languages/ko-KR.rc +++ b/src/win/languages/ko-KR.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "조이스틱 3..." #define STR_JOY4 "조이스틱 4..." -#define STR_SOUND "사운드 카드:" +#define STR_SOUND1 "사운드 카드 1:" +#define STR_SOUND2 "사운드 카드 2:" +#define STR_SOUND3 "사운드 카드 3:" +#define STR_SOUND4 "사운드 카드 4:" #define STR_MIDI_OUT "MIDI 출력 장치:" #define STR_MIDI_IN "MIDI 입력 장치:" #define STR_MPU401 "MPU-401 단독 사용" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 사운드 사용" #define STR_FM_DRIVER "FM 신디사이저 드라이버" #define STR_FM_DRV_NUKED "Nuked (더 정확한)" diff --git a/src/win/languages/pl-PL.rc b/src/win/languages/pl-PL.rc index 054428e5b..acdf558ab 100644 --- a/src/win/languages/pl-PL.rc +++ b/src/win/languages/pl-PL.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Karta dźwiękowa:" +#define STR_SOUND1 "Karta dźwiękowa 1:" +#define STR_SOUND2 "Karta dźwiękowa 2:" +#define STR_SOUND3 "Karta dźwiękowa 3:" +#define STR_SOUND4 "Karta dźwiękowa 4:" #define STR_MIDI_OUT "Urządzenie wyjściowe MIDI:" #define STR_MIDI_IN "Urządzenie wejściowe MIDI:" #define STR_MPU401 "Samodzielne urządzenie MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Użyj dźwięku FLOAT32" #define STR_FM_DRIVER "Sterownik syntezy FM" #define STR_FM_DRV_NUKED "Nuked (dokładniejszy)" diff --git a/src/win/languages/pt-BR.rc b/src/win/languages/pt-BR.rc index 7147854bc..fc63f0047 100644 --- a/src/win/languages/pt-BR.rc +++ b/src/win/languages/pt-BR.rc @@ -287,13 +287,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Placa de som:" +#define STR_SOUND1 "Placa de som 1:" +#define STR_SOUND2 "Placa de som 2:" +#define STR_SOUND3 "Placa de som 3:" +#define STR_SOUND4 "Placa de som 4:" #define STR_MIDI_OUT "Disp. saída MIDI:" #define STR_MIDI_IN "Disp. entrada MIDI:" #define STR_MPU401 "MPU-401 autônomo" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Usar som FLOAT32" #define STR_FM_DRIVER "Controlador de sint. FM" #define STR_FM_DRV_NUKED "Nuked (mais preciso)" diff --git a/src/win/languages/pt-PT.rc b/src/win/languages/pt-PT.rc index 0deeebc41..f3ff9eb3d 100644 --- a/src/win/languages/pt-PT.rc +++ b/src/win/languages/pt-PT.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Joystick 3..." #define STR_JOY4 "Joystick 4..." -#define STR_SOUND "Placa de som:" +#define STR_SOUND1 "Placa de som 1:" +#define STR_SOUND2 "Placa de som 2:" +#define STR_SOUND3 "Placa de som 3:" +#define STR_SOUND4 "Placa de som 4:" #define STR_MIDI_OUT "Disp. saída MIDI:" #define STR_MIDI_IN "Disp. entrada MIDI:" #define STR_MPU401 "MPU-401 autónomo" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Utilizar som FLOAT32" #define STR_FM_DRIVER "Controlador de sint. FM" #define STR_FM_DRV_NUKED "Nuked (mais exacto)" diff --git a/src/win/languages/ru-RU.rc b/src/win/languages/ru-RU.rc index 7cb75fb48..a3ba6f496 100644 --- a/src/win/languages/ru-RU.rc +++ b/src/win/languages/ru-RU.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Джойстик 3..." #define STR_JOY4 "Джойстик 4..." -#define STR_SOUND "Звуковая карта:" +#define STR_SOUND1 "Звуковая карта 1:" +#define STR_SOUND2 "Звуковая карта 2:" +#define STR_SOUND3 "Звуковая карта 3:" +#define STR_SOUND4 "Звуковая карта 4:" #define STR_MIDI_OUT "MIDI Out устр-во:" #define STR_MIDI_IN "MIDI In устр-во:" #define STR_MPU401 "Отдельный MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 звук" #define STR_FM_DRIVER "Драйвер FM-синтезатора" #define STR_FM_DRV_NUKED "Nuked (более точный)" diff --git a/src/win/languages/sl-SI.rc b/src/win/languages/sl-SI.rc index 7a56d4cc5..6bd892e77 100644 --- a/src/win/languages/sl-SI.rc +++ b/src/win/languages/sl-SI.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Igralna palica 3..." #define STR_JOY4 "Igralna palica 4..." -#define STR_SOUND "Zvočna kartica:" +#define STR_SOUND1 "Zvočna kartica 1:" +#define STR_SOUND2 "Zvočna kartica 2:" +#define STR_SOUND3 "Zvočna kartica 3:" +#define STR_SOUND4 "Zvočna kartica 4:" #define STR_MIDI_OUT "Izhodna naprava MIDI:" #define STR_MIDI_IN "Vhodna naprava MIDI:" #define STR_MPU401 "Samostojen MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Uporabi FLOAT32 za zvok" #define STR_FM_DRIVER "Gonilnik sintetizacije FM" #define STR_FM_DRV_NUKED "Nuked (točnejši)" diff --git a/src/win/languages/tr-TR.rc b/src/win/languages/tr-TR.rc index 896f6a300..a28fdb2a2 100644 --- a/src/win/languages/tr-TR.rc +++ b/src/win/languages/tr-TR.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Oyun kolu 3..." #define STR_JOY4 "Oyun kolu 4..." -#define STR_SOUND "Ses kartı:" +#define STR_SOUND1 "Ses kartı 1:" +#define STR_SOUND2 "Ses kartı 2:" +#define STR_SOUND3 "Ses kartı 3:" +#define STR_SOUND4 "Ses kartı 4:" #define STR_MIDI_OUT "MIDI Çıkış Cihazı:" #define STR_MIDI_IN "MIDI Giriş Cihazı:" #define STR_MPU401 "Bağımsız MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 ses kullan" #define STR_FM_DRIVER "FM sentez sürücüsü" #define STR_FM_DRV_NUKED "Nuked (daha doğru)" diff --git a/src/win/languages/uk-UA.rc b/src/win/languages/uk-UA.rc index 332966686..383752f25 100644 --- a/src/win/languages/uk-UA.rc +++ b/src/win/languages/uk-UA.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "Джойстик 3..." #define STR_JOY4 "Джойстик 4..." -#define STR_SOUND "Звукова карта:" +#define STR_SOUND1 "Звукова карта 1:" +#define STR_SOUND2 "Звукова карта 2:" +#define STR_SOUND3 "Звукова карта 3:" +#define STR_SOUND4 "Звукова карта 4:" #define STR_MIDI_OUT "MIDI Out при-ій:" #define STR_MIDI_IN "MIDI In при-ій:" #define STR_MPU401 "Окремий MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 звук" #define STR_FM_DRIVER "Драйвер FM-синтезатора" #define STR_FM_DRV_NUKED "Nuked (більш точний)" diff --git a/src/win/languages/zh-CN.rc b/src/win/languages/zh-CN.rc index 13f878cb6..d46077246 100644 --- a/src/win/languages/zh-CN.rc +++ b/src/win/languages/zh-CN.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "操纵杆 3..." #define STR_JOY4 "操纵杆 4..." -#define STR_SOUND "声卡:" +#define STR_SOUND1 "声卡 1:" +#define STR_SOUND2 "声卡 2:" +#define STR_SOUND3 "声卡 3:" +#define STR_SOUND4 "声卡 4:" #define STR_MIDI_OUT "MIDI 输出设备:" #define STR_MIDI_IN "MIDI 输入设备:" #define STR_MPU401 "独立 MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "使用单精度浮点 (FLOAT32)" #define STR_FM_DRIVER "调频合成器驱动器" #define STR_FM_DRV_NUKED "Nuked (更准确)" diff --git a/src/win/languages/zh-TW.rc b/src/win/languages/zh-TW.rc index f922c950b..5a746d272 100644 --- a/src/win/languages/zh-TW.rc +++ b/src/win/languages/zh-TW.rc @@ -284,13 +284,13 @@ END #define STR_JOY3 "搖桿 3..." #define STR_JOY4 "搖桿 4..." -#define STR_SOUND "音訊卡:" +#define STR_SOUND1 "音訊卡 1:" +#define STR_SOUND2 "音訊卡 2:" +#define STR_SOUND3 "音訊卡 3:" +#define STR_SOUND4 "音訊卡 4:" #define STR_MIDI_OUT "MIDI 輸出裝置:" #define STR_MIDI_IN "MIDI 輸入裝置:" #define STR_MPU401 "獨立 MPU-401" -#define STR_SSI "Innovation SSI-2001" -#define STR_CMS "CMS / Game Blaster" -#define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "使用單精度浮點 (FLOAT32)" #define STR_FM_DRIVER "調頻合成器驅動器" #define STR_FM_DRV_NUKED "Nuked (更準確)" diff --git a/src/win/win_settings.c b/src/win/win_settings.c index 40501c77c..eaeaed7fa 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -99,7 +99,8 @@ static int temp_gfxcard, temp_gfxcard_2, temp_ibm8514, temp_voodoo, temp_xga; static int temp_mouse, temp_joystick; /* Sound category */ -static int temp_sound_card, temp_midi_output_device, temp_midi_input_device, temp_mpu401, temp_SSI2001, temp_GAMEBLASTER, temp_GUS; +static int temp_sound_card[SOUND_CARD_MAX]; +static int temp_midi_output_device, temp_midi_input_device, temp_mpu401; static int temp_float, temp_fm_driver; /* Network category */ @@ -335,13 +336,11 @@ win_settings_init(void) temp_joystick = joystick_type; /* Sound category */ - temp_sound_card = sound_card_current; + for (i = 0; i < SOUND_CARD_MAX; i++) + temp_sound_card[i] = sound_card_current[i]; temp_midi_output_device = midi_output_device_current; temp_midi_input_device = midi_input_device_current; temp_mpu401 = mpu401_standalone_enable; - temp_SSI2001 = SSI2001; - temp_GAMEBLASTER = GAMEBLASTER; - temp_GUS = GUS; temp_float = sound_is_float; temp_fm_driver = fm_driver; @@ -462,13 +461,11 @@ win_settings_changed(void) i = i || (joystick_type != temp_joystick); /* Sound category */ - i = i || (sound_card_current != temp_sound_card); + for (j = 0; j < SOUND_CARD_MAX; j++) + i = i || (sound_card_current[j] != temp_sound_card[j]); i = i || (midi_output_device_current != temp_midi_output_device); i = i || (midi_input_device_current != temp_midi_input_device); i = i || (mpu401_standalone_enable != temp_mpu401); - i = i || (SSI2001 != temp_SSI2001); - i = i || (GAMEBLASTER != temp_GAMEBLASTER); - i = i || (GUS != temp_GUS); i = i || (sound_is_float != temp_float); i = i || (fm_driver != temp_fm_driver); @@ -555,13 +552,11 @@ win_settings_save(void) joystick_type = temp_joystick; /* Sound category */ - sound_card_current = temp_sound_card; + for (i = 0; i < SOUND_CARD_MAX; i++) + sound_card_current[i] = temp_sound_card[i]; midi_output_device_current = temp_midi_output_device; midi_input_device_current = temp_midi_input_device; mpu401_standalone_enable = temp_mpu401; - SSI2001 = temp_SSI2001; - GAMEBLASTER = temp_GAMEBLASTER; - GUS = temp_GUS; sound_is_float = temp_float; fm_driver = temp_fm_driver; @@ -1396,16 +1391,16 @@ static BOOL CALLBACK #endif win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) { - int c, d; + uint16_t c, d; LPTSTR lptsTemp; - const device_t *sound_dev; + const device_t *sound_dev[SOUND_CARD_MAX]; switch (message) { case WM_INITDIALOG: lptsTemp = (LPTSTR) malloc(512 * sizeof(WCHAR)); c = d = 0; - settings_reset_content(hdlg, IDC_COMBO_SOUND); + settings_reset_content(hdlg, IDC_COMBO_SOUND1); while (1) { /* Skip "internal" if machine doesn't have it. */ if ((c == 1) && !machine_has_flags(temp_machine, MACHINE_SOUND)) { @@ -1419,18 +1414,18 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) break; if (sound_card_available(c)) { - sound_dev = sound_card_getdevice(c); + sound_dev[0] = sound_card_getdevice(c); - if (device_is_valid(sound_dev, temp_machine)) { + if (device_is_valid(sound_dev[0], temp_machine)) { if (c == 0) - settings_add_string(hdlg, IDC_COMBO_SOUND, win_get_string(IDS_2104)); + settings_add_string(hdlg, IDC_COMBO_SOUND1, win_get_string(IDS_2104)); else if (c == 1) - settings_add_string(hdlg, IDC_COMBO_SOUND, win_get_string(IDS_2119)); + settings_add_string(hdlg, IDC_COMBO_SOUND1, win_get_string(IDS_2119)); else - settings_add_string(hdlg, IDC_COMBO_SOUND, (LPARAM) device_name); + settings_add_string(hdlg, IDC_COMBO_SOUND1, (LPARAM) device_name); settings_list_to_device[0][d] = c; - if ((c == 0) || (c == temp_sound_card)) - settings_set_cur_sel(hdlg, IDC_COMBO_SOUND, d); + if ((c == 0) || (c == temp_sound_card[0])) + settings_set_cur_sel(hdlg, IDC_COMBO_SOUND1, d); d++; } } @@ -1438,8 +1433,119 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) c++; } - settings_enable_window(hdlg, IDC_COMBO_SOUND, d); - settings_enable_window(hdlg, IDC_CONFIGURE_SND, sound_card_has_config(temp_sound_card)); + settings_enable_window(hdlg, IDC_COMBO_SOUND1, d); + settings_enable_window(hdlg, IDC_CONFIGURE_SND1, sound_card_has_config(temp_sound_card[0])); + + c = d = 0; + settings_reset_content(hdlg, IDC_COMBO_SOUND2); + while (1) { + /* Skip "internal" */ + if (c == 1) { + c++; + continue; + } + + generate_device_name(sound_card_getdevice(c), sound_card_get_internal_name(c), 1); + + if (!device_name[0]) + break; + + if (sound_card_available(c)) { + sound_dev[1] = sound_card_getdevice(c); + + if (device_is_valid(sound_dev[1], temp_machine)) { + if (c == 0) + settings_add_string(hdlg, IDC_COMBO_SOUND2, win_get_string(IDS_2104)); + else if (c == 1) + settings_add_string(hdlg, IDC_COMBO_SOUND2, win_get_string(IDS_2119)); + else + settings_add_string(hdlg, IDC_COMBO_SOUND2, (LPARAM) device_name); + settings_list_to_device[0][d] = c; + if ((c == 0) || (c == temp_sound_card[1])) + settings_set_cur_sel(hdlg, IDC_COMBO_SOUND2, d); + d++; + } + } + + c++; + } + + settings_enable_window(hdlg, IDC_COMBO_SOUND2, d); + settings_enable_window(hdlg, IDC_CONFIGURE_SND2, sound_card_has_config(temp_sound_card[1])); + + c = d = 0; + settings_reset_content(hdlg, IDC_COMBO_SOUND3); + while (1) { + /* Skip "internal" */ + if (c == 1) { + c++; + continue; + } + + generate_device_name(sound_card_getdevice(c), sound_card_get_internal_name(c), 1); + + if (!device_name[0]) + break; + + if (sound_card_available(c)) { + sound_dev[2] = sound_card_getdevice(c); + + if (device_is_valid(sound_dev[2], temp_machine)) { + if (c == 0) + settings_add_string(hdlg, IDC_COMBO_SOUND3, win_get_string(IDS_2104)); + else if (c == 1) + settings_add_string(hdlg, IDC_COMBO_SOUND3, win_get_string(IDS_2119)); + else + settings_add_string(hdlg, IDC_COMBO_SOUND3, (LPARAM) device_name); + settings_list_to_device[0][d] = c; + if ((c == 0) || (c == temp_sound_card[2])) + settings_set_cur_sel(hdlg, IDC_COMBO_SOUND3, d); + d++; + } + } + + c++; + } + + settings_enable_window(hdlg, IDC_COMBO_SOUND3, d); + settings_enable_window(hdlg, IDC_CONFIGURE_SND3, sound_card_has_config(temp_sound_card[2])); + + c = d = 0; + settings_reset_content(hdlg, IDC_COMBO_SOUND4); + while (1) { + /* Skip "internal" */ + if (c == 1) { + c++; + continue; + } + + generate_device_name(sound_card_getdevice(c), sound_card_get_internal_name(c), 1); + + if (!device_name[0]) + break; + + if (sound_card_available(c)) { + sound_dev[3] = sound_card_getdevice(c); + + if (device_is_valid(sound_dev[3], temp_machine)) { + if (c == 0) + settings_add_string(hdlg, IDC_COMBO_SOUND4, win_get_string(IDS_2104)); + else if (c == 1) + settings_add_string(hdlg, IDC_COMBO_SOUND4, win_get_string(IDS_2119)); + else + settings_add_string(hdlg, IDC_COMBO_SOUND4, (LPARAM) device_name); + settings_list_to_device[0][d] = c; + if ((c == 0) || (c == temp_sound_card[3])) + settings_set_cur_sel(hdlg, IDC_COMBO_SOUND4, d); + d++; + } + } + + c++; + } + + settings_enable_window(hdlg, IDC_COMBO_SOUND4, d); + settings_enable_window(hdlg, IDC_CONFIGURE_SND4, sound_card_has_config(temp_sound_card[3])); c = d = 0; settings_reset_content(hdlg, IDC_COMBO_MIDI_OUT); @@ -1491,15 +1597,6 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) settings_set_check(hdlg, IDC_CHECK_MPU401, temp_mpu401); settings_enable_window(hdlg, IDC_CHECK_MPU401, mpu401_standalone_allow()); settings_enable_window(hdlg, IDC_CONFIGURE_MPU401, mpu401_standalone_allow() && temp_mpu401); - settings_enable_window(hdlg, IDC_CHECK_CMS, machine_has_bus(temp_machine, MACHINE_BUS_ISA)); - settings_set_check(hdlg, IDC_CHECK_CMS, temp_GAMEBLASTER); - settings_enable_window(hdlg, IDC_CONFIGURE_CMS, machine_has_bus(temp_machine, MACHINE_BUS_ISA) && temp_GAMEBLASTER); - settings_enable_window(hdlg, IDC_CHECK_GUS, machine_has_bus(temp_machine, MACHINE_BUS_ISA16)); - settings_set_check(hdlg, IDC_CHECK_GUS, temp_GUS); - settings_enable_window(hdlg, IDC_CONFIGURE_GUS, machine_has_bus(temp_machine, MACHINE_BUS_ISA16) && temp_GUS); - settings_enable_window(hdlg, IDC_CHECK_SSI, machine_has_bus(temp_machine, MACHINE_BUS_ISA)); - settings_set_check(hdlg, IDC_CHECK_SSI, temp_SSI2001); - settings_enable_window(hdlg, IDC_CONFIGURE_SSI, machine_has_bus(temp_machine, MACHINE_BUS_ISA) && temp_SSI2001); settings_set_check(hdlg, IDC_CHECK_FLOAT, temp_float); if (temp_fm_driver == FM_DRV_YMFM) @@ -1513,17 +1610,56 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) case WM_COMMAND: switch (LOWORD(wParam)) { - case IDC_COMBO_SOUND: - temp_sound_card = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND)]; - settings_enable_window(hdlg, IDC_CONFIGURE_SND, sound_card_has_config(temp_sound_card)); + case IDC_COMBO_SOUND1: + temp_sound_card[0] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND1)]; + settings_enable_window(hdlg, IDC_CONFIGURE_SND1, sound_card_has_config(temp_sound_card[0])); settings_set_check(hdlg, IDC_CHECK_MPU401, temp_mpu401); settings_enable_window(hdlg, IDC_CHECK_MPU401, mpu401_standalone_allow()); settings_enable_window(hdlg, IDC_CONFIGURE_MPU401, mpu401_standalone_allow() && temp_mpu401); break; - case IDC_CONFIGURE_SND: - temp_sound_card = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND)]; - temp_deviceconfig |= deviceconfig_open(hdlg, (void *) sound_card_getdevice(temp_sound_card)); + case IDC_CONFIGURE_SND1: + temp_sound_card[0] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND1)]; + temp_deviceconfig |= deviceconfig_open(hdlg, (void *) sound_card_getdevice(temp_sound_card[0])); + break; + + case IDC_COMBO_SOUND2: + temp_sound_card[1] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND2)]; + settings_enable_window(hdlg, IDC_CONFIGURE_SND2, sound_card_has_config(temp_sound_card[1])); + settings_set_check(hdlg, IDC_CHECK_MPU401, temp_mpu401); + settings_enable_window(hdlg, IDC_CHECK_MPU401, mpu401_standalone_allow()); + settings_enable_window(hdlg, IDC_CONFIGURE_MPU401, mpu401_standalone_allow() && temp_mpu401); + break; + + case IDC_CONFIGURE_SND2: + temp_sound_card[1] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND2)]; + temp_deviceconfig |= deviceconfig_open(hdlg, (void *) sound_card_getdevice(temp_sound_card[1])); + break; + + case IDC_COMBO_SOUND3: + temp_sound_card[2] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND3)]; + settings_enable_window(hdlg, IDC_CONFIGURE_SND3, sound_card_has_config(temp_sound_card[2])); + settings_set_check(hdlg, IDC_CHECK_MPU401, temp_mpu401); + settings_enable_window(hdlg, IDC_CHECK_MPU401, mpu401_standalone_allow()); + settings_enable_window(hdlg, IDC_CONFIGURE_MPU401, mpu401_standalone_allow() && temp_mpu401); + break; + + case IDC_CONFIGURE_SND3: + temp_sound_card[2] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND3)]; + temp_deviceconfig |= deviceconfig_open(hdlg, (void *) sound_card_getdevice(temp_sound_card[2])); + break; + + case IDC_COMBO_SOUND4: + temp_sound_card[3] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND4)]; + settings_enable_window(hdlg, IDC_CONFIGURE_SND4, sound_card_has_config(temp_sound_card[3])); + settings_set_check(hdlg, IDC_CHECK_MPU401, temp_mpu401); + settings_enable_window(hdlg, IDC_CHECK_MPU401, mpu401_standalone_allow()); + settings_enable_window(hdlg, IDC_CONFIGURE_MPU401, mpu401_standalone_allow() && temp_mpu401); + break; + + case IDC_CONFIGURE_SND4: + temp_sound_card[3] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND4)]; + temp_deviceconfig |= deviceconfig_open(hdlg, (void *) sound_card_getdevice(temp_sound_card[3])); break; case IDC_COMBO_MIDI_OUT: @@ -1561,46 +1697,17 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) case IDC_CONFIGURE_MPU401: temp_deviceconfig |= deviceconfig_open(hdlg, machine_has_bus(temp_machine, MACHINE_BUS_MCA) ? (void *) &mpu401_mca_device : (void *) &mpu401_device); break; - - case IDC_CHECK_CMS: - temp_GAMEBLASTER = settings_get_check(hdlg, IDC_CHECK_CMS); - - settings_enable_window(hdlg, IDC_CONFIGURE_CMS, temp_GAMEBLASTER); - break; - - case IDC_CONFIGURE_CMS: - temp_deviceconfig |= deviceconfig_open(hdlg, &cms_device); - break; - - case IDC_CHECK_GUS: - temp_GUS = settings_get_check(hdlg, IDC_CHECK_GUS); - settings_enable_window(hdlg, IDC_CONFIGURE_GUS, temp_GUS); - break; - - case IDC_CONFIGURE_GUS: - temp_deviceconfig |= deviceconfig_open(hdlg, (void *) &gus_device); - break; - - case IDC_CHECK_SSI: - temp_SSI2001 = settings_get_check(hdlg, IDC_CHECK_SSI); - - settings_enable_window(hdlg, IDC_CONFIGURE_SSI, temp_SSI2001); - break; - - case IDC_CONFIGURE_SSI: - temp_deviceconfig |= deviceconfig_open(hdlg, &ssi2001_device); - break; } return FALSE; case WM_SAVESETTINGS: - temp_sound_card = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND)]; + temp_sound_card[0] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND1)]; + temp_sound_card[1] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND2)]; + temp_sound_card[2] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND3)]; + temp_sound_card[3] = settings_list_to_device[0][settings_get_cur_sel(hdlg, IDC_COMBO_SOUND4)]; temp_midi_output_device = settings_list_to_midi[settings_get_cur_sel(hdlg, IDC_COMBO_MIDI_OUT)]; temp_midi_input_device = settings_list_to_midi_in[settings_get_cur_sel(hdlg, IDC_COMBO_MIDI_IN)]; temp_mpu401 = settings_get_check(hdlg, IDC_CHECK_MPU401); - temp_GAMEBLASTER = settings_get_check(hdlg, IDC_CHECK_CMS); - temp_GUS = settings_get_check(hdlg, IDC_CHECK_GUS); - temp_SSI2001 = settings_get_check(hdlg, IDC_CHECK_SSI); temp_float = settings_get_check(hdlg, IDC_CHECK_FLOAT); if (settings_get_check(hdlg, IDC_RADIO_FM_DRV_NUKED)) temp_fm_driver = FM_DRV_NUKED;