void Oscillator::update( sampleFrame * _ab, const fpp_t _frames, const ch_cnt_t _chnl ) { if( m_freq >= Engine::mixer()->processingSampleRate() / 2 ) { Mixer::clearAudioBuffer( _ab, _frames ); return; } if( m_subOsc != NULL ) { switch( m_modulationAlgoModel->value() ) { case PhaseModulation: updatePM( _ab, _frames, _chnl ); break; case AmplitudeModulation: updateAM( _ab, _frames, _chnl ); break; case SignalMix: updateMix( _ab, _frames, _chnl ); break; case SynchronizedBySubOsc: updateSync( _ab, _frames, _chnl ); break; case FrequencyModulation: updateFM( _ab, _frames, _chnl ); } } else { updateNoSub( _ab, _frames, _chnl ); } }
void updateSingleMoleFraction(const FluidState &fs, unsigned /*compIdx*/) { updateMix(fs); }