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:
shadowladyngemu 2011-07-16 12:41:29 +00:00
parent ce8ee34251
commit a88863ada2
7 changed files with 20 additions and 5 deletions

View File

@ -66,6 +66,7 @@ extern int numSpeakers;
extern bool EffectsDisabled;
extern float FinalVolume;
extern bool postprocess_filter_enabled;
extern bool postprocess_filter_dealias;
extern u32 OutputModule;
extern int SndOutLatencyMS;

View File

@ -66,6 +66,7 @@ void ReadSettings()
Interpolation = CfgReadInt( L"MIXING",L"Interpolation", 4 );
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;
if ( FinalVolume > 1.0f) FinalVolume = 1.0f;
@ -108,6 +109,7 @@ void WriteSettings()
CfgWriteInt(L"MIXING",L"Interpolation",Interpolation);
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));
CfgWriteStr(L"OUTPUT",L"Output_Module", mods[OutputModule]->GetIdent() );

View File

@ -71,6 +71,7 @@ extern int Interpolation;
extern bool EffectsDisabled;
extern float FinalVolume;
extern bool postprocess_filter_enabled;
extern bool postprocess_filter_dealias;
extern int AutoDMAPlayRate[2];

View File

@ -861,9 +861,12 @@ void Mix()
#ifdef DEBUG_KEYS
if(postprocess_filter_enabled)
#endif
{
if(postprocess_filter_dealias)
{
// Dealias filter emphasizes the highs too much.
//Out = Apply_Dealias_Filter ( Out );
Out = Apply_Dealias_Filter ( Out );
}
Out = Apply_Frequency_Response_Filter ( Out );
}

View File

@ -39,6 +39,7 @@ int Interpolation = 4;
bool EffectsDisabled = false;
float FinalVolume;
bool postprocess_filter_enabled = 1;
bool postprocess_filter_dealias = false;
// OUTPUT
int SndOutLatencyMS = 150;
@ -64,6 +65,7 @@ void ReadSettings()
SynchMode = CfgReadInt( L"OUTPUT", L"Synch_Mode", 0);
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;
if ( FinalVolume > 1.0f) FinalVolume = 1.0f;
numSpeakers = CfgReadInt( L"OUTPUT", L"XAudio2_SpeakerConfiguration", 0);
@ -109,6 +111,7 @@ void WriteSettings()
CfgWriteInt(L"MIXING",L"Interpolation",Interpolation);
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));
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 );
SET_CHECK(IDC_EFFECTS_DISABLE, EffectsDisabled);
SET_CHECK(IDC_DEALIASFILTER, postprocess_filter_dealias);
SET_CHECK(IDC_DEBUG_ENABLE, DebugEnabled);
SET_CHECK(IDC_DSP_ENABLE, dspPluginEnabled);
}
@ -248,6 +252,7 @@ BOOL CALLBACK ConfigProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
break;
HANDLE_CHECK(IDC_EFFECTS_DISABLE,EffectsDisabled);
HANDLE_CHECK(IDC_DEALIASFILTER,postprocess_filter_dealias);
HANDLE_CHECK(IDC_DSP_ENABLE,dspPluginEnabled);
// Fixme : Eh, how to update this based on drop list selections? :p

View File

@ -58,7 +58,7 @@ BEGIN
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 "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 "Interpolation:",IDC_STATIC,12,16,55,10,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
CTEXT "100%",IDC_VOLUME_LABEL,224,59,58,9
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
IDD_DEBUG DIALOGEX 0, 0, 303, 473

View File

@ -22,6 +22,7 @@
#define IDC_DEBUG 1009
#define IDC_DEBUG_ENABLE 1010
#define IDC_INTERPOLATE 1011
#define IDC_DEALIASFILTER 1012
#define IDC_OUTPUT 1013
#define IDC_BUFFERS_SLIDER 1014
#define IDC_SPEAKERS 1015
@ -65,7 +66,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 119
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1067
#define _APS_NEXT_CONTROL_VALUE 1069
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif