mirror of https://github.com/PCSX2/pcsx2.git
SPU2-X:
Adding an option for the de-alias filter implemented in r4118, currently overemphasizes the highs so it's disabled by default but I like it for some games :P git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4809 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
ce8ee34251
commit
a88863ada2
|
@ -66,6 +66,7 @@ extern int numSpeakers;
|
||||||
extern bool EffectsDisabled;
|
extern bool EffectsDisabled;
|
||||||
extern float FinalVolume;
|
extern float FinalVolume;
|
||||||
extern bool postprocess_filter_enabled;
|
extern bool postprocess_filter_enabled;
|
||||||
|
extern bool postprocess_filter_dealias;
|
||||||
|
|
||||||
extern u32 OutputModule;
|
extern u32 OutputModule;
|
||||||
extern int SndOutLatencyMS;
|
extern int SndOutLatencyMS;
|
||||||
|
|
|
@ -66,6 +66,7 @@ void ReadSettings()
|
||||||
|
|
||||||
Interpolation = CfgReadInt( L"MIXING",L"Interpolation", 4 );
|
Interpolation = CfgReadInt( L"MIXING",L"Interpolation", 4 );
|
||||||
EffectsDisabled = CfgReadBool( L"MIXING", L"Disable_Effects", false );
|
EffectsDisabled = CfgReadBool( L"MIXING", L"Disable_Effects", false );
|
||||||
|
postprocess_filter_dealias = CfgReadBool( L"MIXING", L"DealiasFilter", false );
|
||||||
FinalVolume = ((float)CfgReadInt( L"MIXING", L"FinalVolume", 100 )) / 100;
|
FinalVolume = ((float)CfgReadInt( L"MIXING", L"FinalVolume", 100 )) / 100;
|
||||||
if ( FinalVolume > 1.0f) FinalVolume = 1.0f;
|
if ( FinalVolume > 1.0f) FinalVolume = 1.0f;
|
||||||
|
|
||||||
|
@ -108,6 +109,7 @@ void WriteSettings()
|
||||||
|
|
||||||
CfgWriteInt(L"MIXING",L"Interpolation",Interpolation);
|
CfgWriteInt(L"MIXING",L"Interpolation",Interpolation);
|
||||||
CfgWriteBool(L"MIXING",L"Disable_Effects",EffectsDisabled);
|
CfgWriteBool(L"MIXING",L"Disable_Effects",EffectsDisabled);
|
||||||
|
CfgWriteBool(L"MIXING",L"DealiasFilter",postprocess_filter_dealias);
|
||||||
CfgWriteInt(L"MIXING",L"FinalVolume",(int)(FinalVolume * 100 +0.5f));
|
CfgWriteInt(L"MIXING",L"FinalVolume",(int)(FinalVolume * 100 +0.5f));
|
||||||
|
|
||||||
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
|
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
|
||||||
|
|
|
@ -71,6 +71,7 @@ extern int Interpolation;
|
||||||
extern bool EffectsDisabled;
|
extern bool EffectsDisabled;
|
||||||
extern float FinalVolume;
|
extern float FinalVolume;
|
||||||
extern bool postprocess_filter_enabled;
|
extern bool postprocess_filter_enabled;
|
||||||
|
extern bool postprocess_filter_dealias;
|
||||||
|
|
||||||
extern int AutoDMAPlayRate[2];
|
extern int AutoDMAPlayRate[2];
|
||||||
|
|
||||||
|
|
|
@ -862,8 +862,11 @@ void Mix()
|
||||||
if(postprocess_filter_enabled)
|
if(postprocess_filter_enabled)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
// Dealias filter emphasizes the highs too much.
|
if(postprocess_filter_dealias)
|
||||||
//Out = Apply_Dealias_Filter ( Out );
|
{
|
||||||
|
// Dealias filter emphasizes the highs too much.
|
||||||
|
Out = Apply_Dealias_Filter ( Out );
|
||||||
|
}
|
||||||
Out = Apply_Frequency_Response_Filter ( Out );
|
Out = Apply_Frequency_Response_Filter ( Out );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ int Interpolation = 4;
|
||||||
bool EffectsDisabled = false;
|
bool EffectsDisabled = false;
|
||||||
float FinalVolume;
|
float FinalVolume;
|
||||||
bool postprocess_filter_enabled = 1;
|
bool postprocess_filter_enabled = 1;
|
||||||
|
bool postprocess_filter_dealias = false;
|
||||||
|
|
||||||
// OUTPUT
|
// OUTPUT
|
||||||
int SndOutLatencyMS = 150;
|
int SndOutLatencyMS = 150;
|
||||||
|
@ -64,6 +65,7 @@ void ReadSettings()
|
||||||
|
|
||||||
SynchMode = CfgReadInt( L"OUTPUT", L"Synch_Mode", 0);
|
SynchMode = CfgReadInt( L"OUTPUT", L"Synch_Mode", 0);
|
||||||
EffectsDisabled = CfgReadBool( L"MIXING", L"Disable_Effects", false );
|
EffectsDisabled = CfgReadBool( L"MIXING", L"Disable_Effects", false );
|
||||||
|
postprocess_filter_dealias = CfgReadBool( L"MIXING", L"DealiasFilter", false );
|
||||||
FinalVolume = ((float)CfgReadInt( L"MIXING", L"FinalVolume", 100 )) / 100;
|
FinalVolume = ((float)CfgReadInt( L"MIXING", L"FinalVolume", 100 )) / 100;
|
||||||
if ( FinalVolume > 1.0f) FinalVolume = 1.0f;
|
if ( FinalVolume > 1.0f) FinalVolume = 1.0f;
|
||||||
numSpeakers = CfgReadInt( L"OUTPUT", L"XAudio2_SpeakerConfiguration", 0);
|
numSpeakers = CfgReadInt( L"OUTPUT", L"XAudio2_SpeakerConfiguration", 0);
|
||||||
|
@ -109,6 +111,7 @@ void WriteSettings()
|
||||||
CfgWriteInt(L"MIXING",L"Interpolation",Interpolation);
|
CfgWriteInt(L"MIXING",L"Interpolation",Interpolation);
|
||||||
|
|
||||||
CfgWriteBool(L"MIXING",L"Disable_Effects",EffectsDisabled);
|
CfgWriteBool(L"MIXING",L"Disable_Effects",EffectsDisabled);
|
||||||
|
CfgWriteBool(L"MIXING",L"DealiasFilter",postprocess_filter_dealias);
|
||||||
CfgWriteInt(L"MIXING",L"FinalVolume",(int)(FinalVolume * 100 + 0.5f));
|
CfgWriteInt(L"MIXING",L"FinalVolume",(int)(FinalVolume * 100 + 0.5f));
|
||||||
|
|
||||||
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
|
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );
|
||||||
|
@ -193,6 +196,7 @@ BOOL CALLBACK ConfigProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
|
||||||
EnableWindow( GetDlgItem( hWnd, IDC_OPEN_CONFIG_DEBUG ), DebugEnabled );
|
EnableWindow( GetDlgItem( hWnd, IDC_OPEN_CONFIG_DEBUG ), DebugEnabled );
|
||||||
|
|
||||||
SET_CHECK(IDC_EFFECTS_DISABLE, EffectsDisabled);
|
SET_CHECK(IDC_EFFECTS_DISABLE, EffectsDisabled);
|
||||||
|
SET_CHECK(IDC_DEALIASFILTER, postprocess_filter_dealias);
|
||||||
SET_CHECK(IDC_DEBUG_ENABLE, DebugEnabled);
|
SET_CHECK(IDC_DEBUG_ENABLE, DebugEnabled);
|
||||||
SET_CHECK(IDC_DSP_ENABLE, dspPluginEnabled);
|
SET_CHECK(IDC_DSP_ENABLE, dspPluginEnabled);
|
||||||
}
|
}
|
||||||
|
@ -248,6 +252,7 @@ BOOL CALLBACK ConfigProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
HANDLE_CHECK(IDC_EFFECTS_DISABLE,EffectsDisabled);
|
HANDLE_CHECK(IDC_EFFECTS_DISABLE,EffectsDisabled);
|
||||||
|
HANDLE_CHECK(IDC_DEALIASFILTER,postprocess_filter_dealias);
|
||||||
HANDLE_CHECK(IDC_DSP_ENABLE,dspPluginEnabled);
|
HANDLE_CHECK(IDC_DSP_ENABLE,dspPluginEnabled);
|
||||||
|
|
||||||
// Fixme : Eh, how to update this based on drop list selections? :p
|
// Fixme : Eh, how to update this based on drop list selections? :p
|
||||||
|
|
|
@ -58,7 +58,7 @@ BEGIN
|
||||||
COMBOBOX IDC_INTERPOLATE,14,26,114,84,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_INTERPOLATE,14,26,114,84,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
CONTROL "Slider2",IDC_LATENCY_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,166,94,116,10
|
CONTROL "Slider2",IDC_LATENCY_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,166,94,116,10
|
||||||
CONTROL "Use a Winamp DSP plugin",IDC_DSP_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,223,126,11
|
CONTROL "Use a Winamp DSP plugin",IDC_DSP_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,149,223,126,11
|
||||||
CHECKBOX "Disable Effects Processing",IDC_EFFECTS_DISABLE,14,47,112,10,NOT WS_TABSTOP
|
CHECKBOX "Disable Effects Processing",IDC_EFFECTS_DISABLE,14,47,112,10
|
||||||
LTEXT "Latency:",IDC_STATIC,189,84,29,8,NOT WS_GROUP
|
LTEXT "Latency:",IDC_STATIC,189,84,29,8,NOT WS_GROUP
|
||||||
LTEXT "Interpolation:",IDC_STATIC,12,16,55,10,NOT WS_GROUP
|
LTEXT "Interpolation:",IDC_STATIC,12,16,55,10,NOT WS_GROUP
|
||||||
LTEXT "Module:",IDC_STATIC,161,16,50,9,NOT WS_GROUP
|
LTEXT "Module:",IDC_STATIC,161,16,50,9,NOT WS_GROUP
|
||||||
|
@ -78,6 +78,8 @@ BEGIN
|
||||||
LTEXT "Volume:",IDC_STATIC,192,59,26,8,NOT WS_GROUP
|
LTEXT "Volume:",IDC_STATIC,192,59,26,8,NOT WS_GROUP
|
||||||
CTEXT "100%",IDC_VOLUME_LABEL,224,59,58,9
|
CTEXT "100%",IDC_VOLUME_LABEL,224,59,58,9
|
||||||
CONTROL "",IDC_VOLUME_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,166,69,116,10
|
CONTROL "",IDC_VOLUME_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,166,69,116,10
|
||||||
|
CONTROL "Use the de-alias filter",IDC_DEALIASFILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,92,112,10
|
||||||
|
LTEXT "(overemphasizes the highs)",IDC_STATIC,26,104,100,12,NOT WS_GROUP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_DEBUG DIALOGEX 0, 0, 303, 473
|
IDD_DEBUG DIALOGEX 0, 0, 303, 473
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#define IDC_DEBUG 1009
|
#define IDC_DEBUG 1009
|
||||||
#define IDC_DEBUG_ENABLE 1010
|
#define IDC_DEBUG_ENABLE 1010
|
||||||
#define IDC_INTERPOLATE 1011
|
#define IDC_INTERPOLATE 1011
|
||||||
|
#define IDC_DEALIASFILTER 1012
|
||||||
#define IDC_OUTPUT 1013
|
#define IDC_OUTPUT 1013
|
||||||
#define IDC_BUFFERS_SLIDER 1014
|
#define IDC_BUFFERS_SLIDER 1014
|
||||||
#define IDC_SPEAKERS 1015
|
#define IDC_SPEAKERS 1015
|
||||||
|
@ -60,12 +61,12 @@
|
||||||
#define IDC_VOLUME_SLIDER 1068
|
#define IDC_VOLUME_SLIDER 1068
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 119
|
#define _APS_NEXT_RESOURCE_VALUE 119
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1067
|
#define _APS_NEXT_CONTROL_VALUE 1069
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue