diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 01beac525..b1349b811 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -299,7 +299,7 @@ void SfxrSynth::update( sampleFrame * buffer, const fpp_t frameNum ) { if(ssample>1.0f) ssample=1.0f; if(ssample<-1.0f) ssample=-1.0f; - for( ch_cnt_t j=0; j < DEFAULT_CHANNELS; j++ ) + for( ch_cnt_t j=0; j void sfxrInstrument::playNote(notePlayHandle * _n, sampleFrame * _working_buffer ) { m_synthMutex.lock(); @@ -458,7 +458,19 @@ void sfxrInstrument::playNote(notePlayHandle * _n, sampleFrame * _working_buffer _n->noteOff(); } - static_cast(_n->m_pluginData)->update( _working_buffer, frameNum ); + fpp_t pitchedFrameNum = (_n->frequency()/BaseFreq)*frameNum; + printf("%i", pitchedFrameNum); fflush(stdout); + sampleFrame * pitchedBuffer = new sampleFrame[pitchedFrameNum]; + static_cast(_n->m_pluginData)->update( pitchedBuffer, pitchedFrameNum ); + for( fpp_t i=0; iprocessAudioBuffer( _working_buffer, frameNum, NULL );