MCPcopy Create free account
hub / github.com/LMMS/lmms / update

Method update

src/core/Oscillator.cpp:57–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55
56
57void Oscillator::update( sampleFrame * _ab, const fpp_t _frames,
58 const ch_cnt_t _chnl )
59{
60 if( m_freq >= Engine::mixer()->processingSampleRate() / 2 )
61 {
62 BufferManager::clear( _ab, _frames );
63 return;
64 }
65 if( m_subOsc != NULL )
66 {
67 switch( m_modulationAlgoModel->value() )
68 {
69 case PhaseModulation:
70 updatePM( _ab, _frames, _chnl );
71 break;
72 case AmplitudeModulation:
73 updateAM( _ab, _frames, _chnl );
74 break;
75 case SignalMix:
76 updateMix( _ab, _frames, _chnl );
77 break;
78 case SynchronizedBySubOsc:
79 updateSync( _ab, _frames, _chnl );
80 break;
81 case FrequencyModulation:
82 updateFM( _ab, _frames, _chnl );
83 }
84 }
85 else
86 {
87 updateNoSub( _ab, _frames, _chnl );
88 }
89}
90
91
92

Callers 5

syncInitMethod · 0.45
updatePMMethod · 0.45
updateAMMethod · 0.45
updateMixMethod · 0.45
updateFMMethod · 0.45

Calls 3

mixerFunction · 0.85
processingSampleRateMethod · 0.80
valueMethod · 0.45

Tested by

no test coverage detected