Add some basic dsound configuration on Audio panel.
This commit is contained in:
parent
9ccea1149b
commit
8d9d1fb17b
|
@ -153,6 +153,13 @@ BEGIN
|
||||||
PUSHBUTTON "Autodetect",IDC_AUDIO_AUTODETECT,170,20,49,14
|
PUSHBUTTON "Autodetect",IDC_AUDIO_AUTODETECT,170,20,49,14
|
||||||
PUSHBUTTON "Configure",IDC_AUDIO_CONFIGURE,170,40,49,14
|
PUSHBUTTON "Configure",IDC_AUDIO_CONFIGURE,170,40,49,14
|
||||||
PUSHBUTTON "Control Panel",IDC_AUDIO_CONTROL_PANEL,170,60,49,14
|
PUSHBUTTON "Control Panel",IDC_AUDIO_CONTROL_PANEL,170,60,49,14
|
||||||
|
|
||||||
|
GROUPBOX " DirectSound ",IDC_STATIC,8,75,244,120
|
||||||
|
|
||||||
|
LTEXT "Hardware Acceleration: ",IDC_STATIC,15,85,90,10
|
||||||
|
COMBOBOX IDC_DSOUND_HW_ACCEL,100,83,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
|
CONTROL "Driver Emulation",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,100,230,10
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -139,6 +139,13 @@ BEGIN
|
||||||
PUSHBUTTON "Autodétection",IDC_AUDIO_AUTODETECT,170,20,85,14
|
PUSHBUTTON "Autodétection",IDC_AUDIO_AUTODETECT,170,20,85,14
|
||||||
PUSHBUTTON "Configurer",IDC_AUDIO_CONFIGURE,170,40,85,14
|
PUSHBUTTON "Configurer",IDC_AUDIO_CONFIGURE,170,40,85,14
|
||||||
PUSHBUTTON "Panneau de configuration",IDC_AUDIO_CONTROL_PANEL,170,60,85,14
|
PUSHBUTTON "Panneau de configuration",IDC_AUDIO_CONTROL_PANEL,170,60,85,14
|
||||||
|
|
||||||
|
GROUPBOX " DirectSound ",IDC_STATIC,8,75,244,120
|
||||||
|
|
||||||
|
LTEXT "Hardware Acceleration: ",IDC_STATIC,15,85,90,10
|
||||||
|
COMBOBOX IDC_DSOUND_HW_ACCEL,100,83,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
|
CONTROL "Driver Emulation",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,100,230,10
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
|
|
@ -44,6 +44,14 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(winecfg);
|
WINE_DEFAULT_DEBUG_CHANNEL(winecfg);
|
||||||
|
|
||||||
|
static const char* DSound_HW_Accels[] = {
|
||||||
|
"Full",
|
||||||
|
"Standard",
|
||||||
|
"Basic",
|
||||||
|
"Emulation",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
/* Select the correct entry in the combobox based on drivername */
|
/* Select the correct entry in the combobox based on drivername */
|
||||||
static void selectAudioDriver(HWND hDlg, const char *drivername)
|
static void selectAudioDriver(HWND hDlg, const char *drivername)
|
||||||
{
|
{
|
||||||
|
@ -113,6 +121,7 @@ static void initAudioDlg (HWND hDlg)
|
||||||
char *curAudioDriver = get_reg_key(config_key, "Drivers", "Audio", "alsa");
|
char *curAudioDriver = get_reg_key(config_key, "Drivers", "Audio", "alsa");
|
||||||
const AUDIO_DRIVER *pAudioDrv = NULL;
|
const AUDIO_DRIVER *pAudioDrv = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
char* buf = NULL;
|
||||||
|
|
||||||
WINE_TRACE("\n");
|
WINE_TRACE("\n");
|
||||||
|
|
||||||
|
@ -124,6 +133,31 @@ static void initAudioDlg (HWND hDlg)
|
||||||
SendDlgItemMessage(hDlg, IDC_AUDIO_DRIVER, CB_SETCURSEL, i, 0);
|
SendDlgItemMessage(hDlg, IDC_AUDIO_DRIVER, CB_SETCURSEL, i, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SendDlgItemMessage(hDlg, IDC_DSOUND_HW_ACCEL, CB_RESETCONTENT, 0, 0);
|
||||||
|
for (i = 0; NULL != DSound_HW_Accels[i]; ++i) {
|
||||||
|
SendDlgItemMessage(hDlg, IDC_DSOUND_HW_ACCEL, CB_ADDSTRING, 0, (LPARAM) DSound_HW_Accels[i]);
|
||||||
|
}
|
||||||
|
buf = get_reg_key(config_key, keypath("DirectSound"), "HardwareAcceleration", "Full");
|
||||||
|
for (i = 0; NULL != DSound_HW_Accels[i]; ++i) {
|
||||||
|
if (strcmp(buf, DSound_HW_Accels[i]) == 0) {
|
||||||
|
SendDlgItemMessage(hDlg, IDC_DSOUND_HW_ACCEL, CB_SETCURSEL, i, 0);
|
||||||
|
break ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (NULL == DSound_HW_Accels[i]) {
|
||||||
|
WINE_ERR("Invalid Direct Sound HW Accel read from registry (%s)\n", buf);
|
||||||
|
}
|
||||||
|
HeapFree(GetProcessHeap(), 0, buf);
|
||||||
|
|
||||||
|
buf = get_reg_key(config_key, keypath("DirectSound"), "EmulDriver", "N");
|
||||||
|
if (IS_OPTION_TRUE(*buf))
|
||||||
|
CheckDlgButton(hDlg, IDC_DSOUND_DRV_EMUL, BST_CHECKED);
|
||||||
|
else
|
||||||
|
CheckDlgButton(hDlg, IDC_DSOUND_DRV_EMUL, BST_UNCHECKED);
|
||||||
|
HeapFree(GetProcessHeap(), 0, buf);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *audioAutoDetect(void)
|
static const char *audioAutoDetect(void)
|
||||||
|
@ -226,6 +260,23 @@ AudioDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
case IDC_AUDIO_CONTROL_PANEL:
|
case IDC_AUDIO_CONTROL_PANEL:
|
||||||
MessageBox(NULL, "Launching audio control panel not implemented yet!", "Fixme", MB_OK | MB_ICONERROR);
|
MessageBox(NULL, "Launching audio control panel not implemented yet!", "Fixme", MB_OK | MB_ICONERROR);
|
||||||
break;
|
break;
|
||||||
|
case IDC_DSOUND_HW_ACCEL:
|
||||||
|
if (HIWORD(wParam) == CBN_SELCHANGE) {
|
||||||
|
int selected_dsound_accel;
|
||||||
|
SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
||||||
|
selected_dsound_accel = SendDlgItemMessage(hDlg, IDC_DSOUND_HW_ACCEL, CB_GETCURSEL, 0, 0);
|
||||||
|
set_reg_key(config_key, keypath("DirectSound"), "HardwareAcceleration", DSound_HW_Accels[selected_dsound_accel]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case IDC_DSOUND_DRV_EMUL:
|
||||||
|
if (HIWORD(wParam) == BN_CLICKED) {
|
||||||
|
SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
||||||
|
if (IsDlgButtonChecked(hDlg, IDC_DSOUND_DRV_EMUL) == BST_CHECKED)
|
||||||
|
set_reg_key(config_key, keypath("DirectSound"), "EmulDriver", "Y");
|
||||||
|
else
|
||||||
|
set_reg_key(config_key, keypath("DirectSound"), "EmulDriver", "N");
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -127,3 +127,5 @@
|
||||||
#define IDC_AUDIO_DRIVER 1301
|
#define IDC_AUDIO_DRIVER 1301
|
||||||
#define IDC_AUDIO_CONFIGURE 1302
|
#define IDC_AUDIO_CONFIGURE 1302
|
||||||
#define IDC_AUDIO_CONTROL_PANEL 1303
|
#define IDC_AUDIO_CONTROL_PANEL 1303
|
||||||
|
#define IDC_DSOUND_HW_ACCEL 1304
|
||||||
|
#define IDC_DSOUND_DRV_EMUL 1305
|
||||||
|
|
Loading…
Reference in New Issue