SPU2-X: Communication error. We didn't want to remove the option; just make it a little more clear that *most* of the time it sucks and shouldn't be enabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3599 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-08-04 17:18:40 +00:00
parent f022819747
commit 70e8c3cf41
3 changed files with 11 additions and 8 deletions

View File

@ -36,6 +36,7 @@ private:
wxString m_Device;
u8 m_NumBuffers;
bool m_DisableGlobalFocus;
bool m_UseHardware;
ds_device_data m_devices[32];
int ndevs;
@ -166,23 +167,20 @@ public:
// Try a hardware buffer first, and then fall back on a software buffer if
// that one fails.
// Edit:
// Due to too many reports of issues with hardware support we drop it totally.
// It never made a good difference on anything anyway (rama)
desc.dwFlags |= /*m_UseHardware ? DSBCAPS_LOCHARDWARE :*/ DSBCAPS_LOCSOFTWARE;
desc.dwFlags |= m_UseHardware ? DSBCAPS_LOCHARDWARE : DSBCAPS_LOCSOFTWARE;
desc.dwFlags |= m_DisableGlobalFocus ? DSBCAPS_STICKYFOCUS : DSBCAPS_GLOBALFOCUS;
if( FAILED(dsound->CreateSoundBuffer(&desc, &buffer_, 0) ) )
{
/*if( m_UseHardware )
if( m_UseHardware )
{
desc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLPOSITIONNOTIFY | DSBCAPS_LOCSOFTWARE;
desc.dwFlags |= m_DisableGlobalFocus ? DSBCAPS_STICKYFOCUS : DSBCAPS_GLOBALFOCUS;
if( FAILED(dsound->CreateSoundBuffer(&desc, &buffer_, 0) ) )
throw std::runtime_error( "DirectSound Error: Buffer could not be created." );
}*/
}
throw std::runtime_error( "DirectSound Error: Buffer could not be created." );
}
@ -313,6 +311,7 @@ private:
SetWindowText(GetDlgItem(hWnd,IDC_LATENCY_LABEL),temp);
SET_CHECK( IDC_GLOBALFOCUS_DISABLE, m_DisableGlobalFocus );
SET_CHECK( IDC_USE_HARDWARE, m_UseHardware );
}
break;
@ -365,6 +364,7 @@ private:
break;
HANDLE_CHECK( IDC_GLOBALFOCUS_DISABLE, m_DisableGlobalFocus );
HANDLE_CHECK( IDC_USE_HARDWARE, m_UseHardware );
default:
return FALSE;
@ -458,6 +458,7 @@ public:
CfgReadStr( L"DSOUNDOUT", L"Device", m_Device, L"default" );
m_NumBuffers = CfgReadInt( L"DSOUNDOUT", L"Buffer_Count", 5 );
m_DisableGlobalFocus = CfgReadBool( L"DSOUNDOUT", L"Disable_Global_Focus", false );
m_UseHardware = CfgReadBool( L"DSOUNDOUT", L"Use_Hardware", false );
Clampify( m_NumBuffers, (u8)3, (u8)8 );
}
@ -467,6 +468,7 @@ public:
CfgWriteStr( L"DSOUNDOUT", L"Device", m_Device.empty() ? L"default" : m_Device );
CfgWriteInt( L"DSOUNDOUT", L"Buffer_Count", m_NumBuffers );
CfgWriteBool( L"DSOUNDOUT", L"Disable_Global_Focus", m_DisableGlobalFocus );
CfgWriteBool( L"DSOUNDOUT", L"Use_Hardware", m_UseHardware );
}
} static DS;

View File

@ -100,8 +100,9 @@ BEGIN
CONTROL "",IDC_BUFFERS_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,38,137,108,10
LTEXT "Increase the buffer count if you are experiencing loopy or studdery audio even when games run at high FPS.",IDC_STATIC,11,157,169,27
CTEXT "8 (80 ms latency)",IDC_LATENCY_LABEL,44,123,95,11
LTEXT "The options above are useful for compatibility with older and/or buggy sound drivers ONLY, and should not be checked unless you experience sound problems (such as crackly audio or silence).",IDC_STATIC,16,68,175,38
CONTROL "Disable Global Focus",IDC_GLOBALFOCUS_DISABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,4,38,140,10
LTEXT "If you have audio problems, try checking the option above. It doesn't really affect sound processing, but some drivers are picky and work nicer with different seetings.",IDC_STATIC,16,68,175,38
CONTROL "Use a crappy alternate buffering mode",IDC_USE_HARDWARE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,53,140,10
GROUPBOX "Output Buffers",IDC_STATIC,4,111,185,79
END

View File

@ -52,7 +52,7 @@
#define IDC_OPEN_CONFIG_DEBUG 1059
#define IDC_GLOBALFOCUS_DISABLE 1060
#define IDC_GLOBALFOCUS_DISABLE2 1061
#define IDC_USE_HARDWARE 1062 // not used anymore
#define IDC_USE_HARDWARE 1062
#define IDC_COMBO1 1063
#define IDC_SYNCHMODE 1064