comparison src/modplug/snd_dsp.cxx @ 2337:107c1fed3d92

Port Schism modplug core.
author "Tony Vroon <chainsaw@gentoo.org>"
date Thu, 24 Jan 2008 12:05:59 +0000
parents 6907fc39b53f
children
comparison
equal deleted inserted replaced
2336:ad45d65e9ae7 2337:107c1fed3d92
41 UINT CSoundFile::m_nXBassRange = XBASS_DELAY; 41 UINT CSoundFile::m_nXBassRange = XBASS_DELAY;
42 UINT CSoundFile::m_nReverbDepth = 1; 42 UINT CSoundFile::m_nReverbDepth = 1;
43 UINT CSoundFile::m_nReverbDelay = 100; 43 UINT CSoundFile::m_nReverbDelay = 100;
44 UINT CSoundFile::m_nProLogicDepth = 12; 44 UINT CSoundFile::m_nProLogicDepth = 12;
45 UINT CSoundFile::m_nProLogicDelay = 20; 45 UINT CSoundFile::m_nProLogicDelay = 20;
46
47 void (*CSoundFile::_midi_out_note)(int chan, const MODCOMMAND *m) = NULL;
48 void (*CSoundFile::_midi_out_raw)(unsigned char *,unsigned int, unsigned int) = NULL;
46 49
47 //////////////////////////////////////////////////////////////////// 50 ////////////////////////////////////////////////////////////////////
48 // DSP Effects internal state 51 // DSP Effects internal state
49 52
50 // Bass Expansion: low-pass filter 53 // Bass Expansion: low-pass filter
166 memset(ReverbBuffer, 0, sizeof(ReverbBuffer)); 169 memset(ReverbBuffer, 0, sizeof(ReverbBuffer));
167 memset(ReverbBuffer2, 0, sizeof(ReverbBuffer2)); 170 memset(ReverbBuffer2, 0, sizeof(ReverbBuffer2));
168 memset(ReverbBuffer3, 0, sizeof(ReverbBuffer3)); 171 memset(ReverbBuffer3, 0, sizeof(ReverbBuffer3));
169 memset(ReverbBuffer4, 0, sizeof(ReverbBuffer4)); 172 memset(ReverbBuffer4, 0, sizeof(ReverbBuffer4));
170 memset(gRvbLowPass, 0, sizeof(gRvbLowPass)); 173 memset(gRvbLowPass, 0, sizeof(gRvbLowPass));
174 /* mrsb: libmodplug bug hahahah */
175 memset(MixSoundBuffer,0,sizeof(MixSoundBuffer));
176 memset(MixReverbBuffer,0,sizeof(MixReverbBuffer));
171 } 177 }
172 } else nReverbSize = 0; 178 } else nReverbSize = 0;
173 #endif 179 #endif
174 BOOL bResetBass = FALSE; 180 BOOL bResetBass = FALSE;
175 // Bass Expansion Reset 181 // Bass Expansion Reset
466 if (nDelay > 50) nDelay = 50; 472 if (nDelay > 50) nDelay = 50;
467 m_nProLogicDelay = nDelay; 473 m_nProLogicDelay = nDelay;
468 return TRUE; 474 return TRUE;
469 } 475 }
470 476
471 BOOL CSoundFile::SetWaveConfigEx(BOOL bSurround,BOOL bNoOverSampling,BOOL bReverb,BOOL hqido,BOOL bMegaBass,BOOL bNR,BOOL bEQ) 477 BOOL CSoundFile::SetWaveConfigEx(BOOL bSurround,BOOL /*bNoOverSampling*/,BOOL bReverb,BOOL hqido,BOOL bMegaBass,BOOL bNR,BOOL bEQ)
472 //---------------------------------------------------------------------------------------------------------------------------- 478 //----------------------------------------------------------------------------------------------------------------------------
473 { 479 {
474 DWORD d = gdwSoundSetup & ~(SNDMIX_SURROUND | SNDMIX_NORESAMPLING | SNDMIX_REVERB | SNDMIX_HQRESAMPLER | SNDMIX_MEGABASS | SNDMIX_NOISEREDUCTION | SNDMIX_EQ); 480 DWORD d = gdwSoundSetup & ~(SNDMIX_SURROUND | SNDMIX_NORESAMPLING | SNDMIX_REVERB | SNDMIX_HQRESAMPLER | SNDMIX_MEGABASS | SNDMIX_NOISEREDUCTION | SNDMIX_EQ);
475 if (bSurround) d |= SNDMIX_SURROUND; 481 if (bSurround) d |= SNDMIX_SURROUND;
476 if (bNoOverSampling) d |= SNDMIX_NORESAMPLING; 482 // if (bNoOverSampling) d |= SNDMIX_NORESAMPLING;
477 if (bReverb) d |= SNDMIX_REVERB; 483 if (bReverb) d |= SNDMIX_REVERB;
478 if (hqido) d |= SNDMIX_HQRESAMPLER; 484 if (hqido) d |= SNDMIX_HQRESAMPLER;
479 if (bMegaBass) d |= SNDMIX_MEGABASS; 485 if (bMegaBass) d |= SNDMIX_MEGABASS;
480 if (bNR) d |= SNDMIX_NOISEREDUCTION; 486 if (bNR) d |= SNDMIX_NOISEREDUCTION;
481 if (bEQ) d |= SNDMIX_EQ; 487 if (bEQ) d |= SNDMIX_EQ;