/***************************************************************************** * CSynth::Activate() ***************************************************************************** * Make the synth active. */ HRESULT CSynth::Activate(DWORD dwSampleRate, DWORD dwChannels ) { m_stLastTime = 0; SetSampleRate(dwSampleRate); SetStereoMode(dwChannels); ResetPerformanceStats(); return S_OK; }
/***************************************************************************** * CSynth::Activate() ***************************************************************************** * Make the synth active. */ HRESULT CSynth::Activate(DWORD dwSampleRate, DWORD dwChannels ) { NTSTATUS status = STATUS_SUCCESS; m_stLastTime = 0; SetSampleRate(dwSampleRate); SetStereoMode(dwChannels); ResetPerformanceStats(); return status; }
/***************************************************************************** * CSynth::CSynth() ***************************************************************************** * Contructor for CSynth object. Initialize the voice list, the stereo mode, * sample rate, performance statistics, etc. */ CSynth::CSynth() { FLOATSAFE fs; DWORD nIndex; CVoice *pVoice; m_fCSInitialized = FALSE; ::InitializeCriticalSection(&m_CriticalSection); m_fCSInitialized = TRUE; for (nIndex = 0;nIndex < MAX_NUM_VOICES;nIndex++) { pVoice = new CVoice; if (pVoice != NULL) { m_VoicesFree.AddHead(pVoice); } } for (nIndex = 0;nIndex < NUM_EXTRA_VOICES;nIndex++) { pVoice = new CVoice; if (pVoice != NULL) { m_VoicesExtra.AddHead(pVoice); } } m_ppControl = NULL; m_dwControlCount = 0; m_nMaxVoices = MAX_NUM_VOICES; m_nExtraVoices = NUM_EXTRA_VOICES; m_stLastStats = 0; m_fAllowPanWhilePlayingNote = TRUE; m_fAllowVolumeChangeWhilePlayingNote = TRUE; ResetPerformanceStats(); m_dwSampleRate = 22050; m_dwStereo = 1; m_stLastTime = 0; SetSampleRate(SAMPLE_RATE_22); SetStereoMode(2); SetGainAdjust(600); }