From 060063f5a8928b49f389cffbea2fdb828ae66d81 Mon Sep 17 00:00:00 2001 From: Vesa Date: Thu, 24 Apr 2014 13:31:51 +0300 Subject: [PATCH 1/2] Monstro changes --- plugins/monstro/Monstro.cpp | 304 +++++++++++++++++++-------------- plugins/monstro/Monstro.h | 40 +++-- plugins/monstro/artwork_op.png | Bin 59412 -> 59652 bytes 3 files changed, 200 insertions(+), 144 deletions(-) diff --git a/plugins/monstro/Monstro.cpp b/plugins/monstro/Monstro.cpp index 7ca7477d4..f9260e03a 100644 --- a/plugins/monstro/Monstro.cpp +++ b/plugins/monstro/Monstro.cpp @@ -92,19 +92,14 @@ MonstroSynth::MonstroSynth( MonstroInstrument * _i, NotePlayHandle * _nph, m_osc1l_last = 0.0f; m_osc1r_last = 0.0f; - - m_osc2l_last = 0.0f; - m_osc2r_last = 0.0f; - - m_osc3l_last = 0.0f; - m_osc3r_last = 0.0f; - + m_l_last = 0.0f; m_r_last = 0.0f; -// constants for amp delta capping - m_adcap1 = ADCAP1 / m_samplerate; - m_adcap2 = ADCAP2 / m_samplerate; + m_invert2l = false; + m_invert2r = false; + m_invert3l = false; + m_invert3r = false; } @@ -256,9 +251,10 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) const bool o1ssr = m_parent->m_osc1SSR.value(); const bool o1ssf = m_parent->m_osc1SSF.value(); - const bool o2sync = m_parent->m_osc2Sync.value(); - const bool o3sync = m_parent->m_osc3Sync.value(); - + const bool o2sync = m_parent->m_osc2SyncH.value(); + const bool o3sync = m_parent->m_osc3SyncH.value(); + const bool o2syncr = m_parent->m_osc2SyncR.value(); + const bool o3syncr = m_parent->m_osc3SyncR.value(); /////////////////////////// // // @@ -274,20 +270,20 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) float o1l_p; float o1r_p; float o1_pw; - + // osc2 vars float o2l_f; float o2r_f; float o2l_p; float o2r_p; - + // osc3 vars float o3l_f; float o3r_f; float o3l_p; float o3r_p; float sub; - + // phase delta calculation vars float pd_l; float pd_r; @@ -330,7 +326,7 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) // bounds check for phase if( o1l_p < 0 ) o1l_p -= floorf( o1l_p ); if( o1r_p < 0 ) o1r_p -= floorf( o1r_p ); - + // pulse wave osc sample_t O1L = ( fraction( o1l_p ) < o1_pw ) ? 1.0f : -1.0f; sample_t O1R = ( fraction( o1r_p ) < o1_pw ) ? 1.0f : -1.0f; @@ -339,40 +335,64 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) // sync on rise if( o1ssr ) { + // hard sync if( o2sync ) { if( O1L > m_osc1l_last ) m_osc2l_phase = 0.0f; if( O1R > m_osc1r_last ) m_osc2r_phase = 0.0f; - } + } if( o3sync ) { if( O1L > m_osc1l_last ) m_osc3l_phase = 0.0f; if( O1R > m_osc1r_last ) m_osc3r_phase = 0.0f; } + // reverse sync + if( o2syncr ) + { + if( O1L > m_osc1l_last ) m_invert2l = !m_invert2l; + if( O1R > m_osc1r_last ) m_invert2r = !m_invert2r; + } + if( o3syncr ) + { + if( O1L > m_osc1l_last ) m_invert3l = !m_invert3l; + if( O1R > m_osc1r_last ) m_invert3r = !m_invert3r; + } } // sync on fall if( o1ssf ) { + // hard sync if( o2sync ) { if( O1L < m_osc1l_last ) m_osc2l_phase = 0.0f; if( O1R < m_osc1r_last ) m_osc2r_phase = 0.0f; - } + } if( o3sync ) { if( O1L < m_osc1l_last ) m_osc3l_phase = 0.0f; if( O1R < m_osc1r_last ) m_osc3r_phase = 0.0f; } + // reverse sync + if( o2syncr ) + { + if( O1L < m_osc1l_last ) m_invert2l = !m_invert2l; + if( O1R < m_osc1r_last ) m_invert2r = !m_invert2r; + } + if( o3syncr ) + { + if( O1L < m_osc1l_last ) m_invert3l = !m_invert3l; + if( O1R < m_osc1r_last ) m_invert3r = !m_invert3r; + } } // update last before signal is touched - // also do a very simplistic amp delta cap - it's a pulse wave signal so we won't care about it too much... + // also do a very simple amp delta cap const sample_t tmpl = m_osc1l_last; const sample_t tmpr = m_osc1r_last; m_osc1l_last = O1L; m_osc1r_last = O1R; - + if( tmpl != O1L ) O1L = 0.0f; if( tmpr != O1R ) O1R = 0.0f; @@ -413,29 +433,27 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) if( pd_l > 0.5 ) pd_l = 1.0 - pd_l; pd_r = qAbs( o2r_p - m_ph2r_last ); if( pd_r > 0.5 ) pd_r = 1.0 - pd_r; - + // multi-wave DC Oscillator sample_t O2L = oscillate( o2w, o2l_p, BandLimitedWave::pdToLen( pd_l ) ); sample_t O2R = oscillate( o2w, o2r_p, BandLimitedWave::pdToLen( pd_r ) ); - // do amplitude delta cap - O2L = qBound( m_osc2l_last - m_adcap1, O2L, m_osc2l_last + m_adcap1 ); - O2R = qBound( m_osc2r_last - m_adcap1, O2R, m_osc2r_last + m_adcap1 ); - m_osc2l_last = O2L; - m_osc2r_last = O2R; - // modulate volume O2L *= o2lv; O2R *= o2rv; modulatevol( O2L, o2v ) modulatevol( O2R, o2v ) + // reverse sync - invert waveforms when needed + if( m_invert2l ) O2L *= -1.0; + if( m_invert2r ) O2R *= -1.0; + // update osc2 phases m_ph2l_last = m_osc2l_phase; m_ph2r_last = m_osc2r_phase; m_osc2l_phase = fraction( m_osc2l_phase + 1.0f / ( static_cast( m_samplerate ) / o2l_f ) ); m_osc2r_phase = fraction( m_osc2r_phase + 1.0f / ( static_cast( m_samplerate ) / o2r_f ) ); - + ///////////////////////////// // // @@ -451,8 +469,8 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) // o2 modulation? if( omod == MOD_FM ) { - o3l_f = qBound( MIN_FREQ, o3l_f * powf( 2.0f, O2L * 2 ), MAX_FREQ ); - o3r_f = qBound( MIN_FREQ, o3r_f * powf( 2.0f, O2R * 2 ), MAX_FREQ ); + o3l_f = qBound( MIN_FREQ, o3l_f * powf( 2.0f, O2L ), MAX_FREQ ); + o3r_f = qBound( MIN_FREQ, o3r_f * powf( 2.0f, O2R ), MAX_FREQ ); } // calc and modulate phase @@ -476,7 +494,7 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) if( pd_l > 0.5 ) pd_l = 1.0 - pd_l; pd_r = qAbs( o3r_p - m_ph3r_last ); if( pd_r > 0.5 ) pd_r = 1.0 - pd_r; - + // multi-wave DC Oscillator, sub-osc 1 sample_t O3AL = oscillate( o3w1, o3l_p, BandLimitedWave::pdToLen( pd_l ) ); sample_t O3AR = oscillate( o3w1, o3r_p, BandLimitedWave::pdToLen( pd_r ) ); @@ -492,12 +510,6 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) sample_t O3L = linearInterpolate( O3AL, O3BL, sub ); sample_t O3R = linearInterpolate( O3AR, O3BR, sub ); - // do amp delta capping, before volume is touched - O3L = qBound( m_osc3l_last - m_adcap1, O3L, m_osc3l_last + m_adcap1 ); - O3R = qBound( m_osc3r_last - m_adcap1, O3R, m_osc3r_last + m_adcap1 ); - m_osc3l_last = O3L; - m_osc3r_last = O3R; - // modulate volume O3L *= o3lv; O3R *= o3rv; @@ -510,22 +522,23 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf ) O3R = qBound( -MODCLIP, O3R * qMax( 0.0f, 1.0f + O2R ), MODCLIP ); } + // reverse sync - invert waveforms when needed + if( m_invert3l ) O3L *= -1.0; + if( m_invert3r ) O3R *= -1.0; + // update osc3 phases m_ph3l_last = m_osc3l_phase; - m_ph3r_last = m_osc3r_phase; + m_ph3r_last = m_osc3r_phase; m_osc3l_phase = fraction( m_osc3l_phase + 1.0f / ( static_cast( m_samplerate ) / o3l_f ) ); m_osc3r_phase = fraction( m_osc3r_phase + 1.0f / ( static_cast( m_samplerate ) / o3r_f ) ); - // amp delta caps + // integrator - very simple filter sample_t L = O1L + O3L + ( omod == MOD_MIX ? O2L : 0.0f ); sample_t R = O1R + O3R + ( omod == MOD_MIX ? O2R : 0.0f ); - L = qBound( m_l_last - m_adcap2, L, m_l_last + m_adcap2 ); - R = qBound( m_r_last - m_adcap2, R, m_r_last + m_adcap2 ); + _buf[f][0] = linearInterpolate( L, m_l_last, INTEGRATOR ); + _buf[f][1] = linearInterpolate( R, m_r_last, INTEGRATOR ); - _buf[f][0] = L; - _buf[f][1] = R; - m_l_last = L; m_r_last = R; } @@ -550,9 +563,6 @@ void MonstroSynth::renderModulators( fpp_t _frames ) const f_cnt_t tfp = m_nph->totalFramesPlayed(); // LFOs - sample_t lfo1_s; - sample_t lfo2_s; - // LFO 1 switch( m_parent->m_lfo1Wave.value() ) @@ -562,9 +572,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::sinSample( ph ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent-> m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::sinSample( ph ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent-> m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -573,9 +583,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::triangleSample( ph ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::triangleSample( ph ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -584,9 +594,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::sawSample( ph ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::sawSample( ph ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -595,9 +605,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::sawSample( ph ) * -1.0f; - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::sawSample( ph ) * -1.0f; + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -606,9 +616,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::squareSample( ph ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::squareSample( ph ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -617,9 +627,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = oscillate( WAVE_SQRSOFT, ph, lfo1_r ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = oscillate( WAVE_SQRSOFT, ph, lfo1_r ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -628,9 +638,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::moogSawSample( ph ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::moogSawSample( ph ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -639,9 +649,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = oscillate( WAVE_SINABS, ph, lfo1_r ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = oscillate( WAVE_SINABS, ph, lfo1_r ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; @@ -650,23 +660,38 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo1_phase + lfo1_po; - lfo1_s = Oscillator::expSample( ph ); - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent-> m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; + m_lfo1_s = Oscillator::expSample( ph ); + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent-> m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; m_lfo1_phase += 1.0f / lfo1_r; } break; - case WAVE_NOISE: - default: + case WAVE_RANDOM: for( f_cnt_t f = 0; f < _frames; f++ ) { const f_cnt_t t = f + tfp; if( t % static_cast( lfo1_r ) == 0 ) m_lfo1_last = Oscillator::noiseSample( 0.0f ); - lfo1_s = m_lfo1_last; - if( t < m_parent->m_lfo1_att ) lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); - m_lfo1_buf[f] = lfo1_s; - m_lfo1_phase += 1.0f / lfo1_r; + m_lfo1_s = m_lfo1_last; + if( t < m_parent->m_lfo1_att ) m_lfo1_s *= ( static_cast( t ) / m_parent->m_lfo1_att ); + m_lfo1_buf[f] = m_lfo1_s; } + m_lfo1_phase += static_cast( _frames ) / lfo1_r; + break; + case WAVE_RANDOM_SMOOTH: + default: + for( f_cnt_t f = 0; f < _frames; f++ ) + { + const f_cnt_t t = f + tfp; + const f_cnt_t tm = t % static_cast( lfo1_r ); + const float p = static_cast( tm ) / lfo1_r; + if( tm == 0 ) + { + m_lfo1_last = m_lfo1_s; + m_lfo1_s = Oscillator::noiseSample( 0.0f ); + } + m_lfo1_buf[f] = cosinusInterpolate( m_lfo1_last, m_lfo1_s, p ); + } + m_lfo1_phase += static_cast( _frames ) / lfo1_r; break; } @@ -679,9 +704,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::sinSample( ph ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent-> m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::sinSample( ph ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent-> m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -690,9 +715,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::triangleSample( ph ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::triangleSample( ph ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -701,9 +726,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::sawSample( ph ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::sawSample( ph ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -712,9 +737,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::sawSample( ph ) * -1.0f; - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::sawSample( ph ) * -1.0f; + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -723,9 +748,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::squareSample( ph ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::squareSample( ph ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -734,9 +759,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = oscillate( WAVE_SQRSOFT, ph, lfo2_r ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = oscillate( WAVE_SQRSOFT, ph, lfo2_r ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -745,9 +770,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::moogSawSample( ph ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::moogSawSample( ph ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -756,9 +781,9 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = oscillate( WAVE_SINABS, ph, lfo2_r ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = oscillate( WAVE_SINABS, ph, lfo2_r ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; @@ -767,23 +792,38 @@ void MonstroSynth::renderModulators( fpp_t _frames ) { const f_cnt_t t = f + tfp; const float ph = m_lfo2_phase + lfo2_po; - lfo2_s = Oscillator::expSample( ph ); - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent-> m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; + m_lfo2_s = Oscillator::expSample( ph ); + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent-> m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; m_lfo2_phase += 1.0f / lfo2_r; } break; - case WAVE_NOISE: - default: + case WAVE_RANDOM: for( f_cnt_t f = 0; f < _frames; f++ ) { const f_cnt_t t = f + tfp; if( t % static_cast( lfo2_r ) == 0 ) m_lfo2_last = Oscillator::noiseSample( 0.0f ); - lfo2_s = m_lfo2_last; - if( t < m_parent->m_lfo2_att ) lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); - m_lfo2_buf[f] = lfo2_s; - m_lfo2_phase += 1.0f / lfo2_r; + m_lfo2_s = m_lfo2_last; + if( t < m_parent->m_lfo2_att ) m_lfo2_s *= ( static_cast( t ) / m_parent->m_lfo2_att ); + m_lfo2_buf[f] = m_lfo2_s; } + m_lfo2_phase += static_cast( _frames ) / lfo2_r; + break; + case WAVE_RANDOM_SMOOTH: + default: + for( f_cnt_t f = 0; f < _frames; f++ ) + { + const f_cnt_t t = f + tfp; + const f_cnt_t tm = t % static_cast( lfo2_r ); + const float p = static_cast( tm ) / lfo2_r; + if( tm == 0 ) + { + m_lfo2_last = m_lfo2_s; + m_lfo2_s = Oscillator::noiseSample( 0.0f ); + } + m_lfo2_buf[f] = cosinusInterpolate( m_lfo2_last, m_lfo2_s, p ); + } + m_lfo2_phase += static_cast( _frames ) / lfo2_r; break; } @@ -929,7 +969,8 @@ MonstroInstrument::MonstroInstrument( InstrumentTrack * _instrument_track ) : m_osc2Ftr( 0.0, -100.0, 100.0, 1.0, this, tr( "Osc 2 Fine detune right" ) ), m_osc2Spo( 0.0, -180.0, 180.0, 0.1, this, tr( "Osc 2 Stereo phase offset" ) ), m_osc2Wave( this, tr( "Osc 2 Waveform" ) ), - m_osc2Sync( false, this, tr( "Osc 2 Sync" ) ), + m_osc2SyncH( false, this, tr( "Osc 2 Sync Hard" ) ), + m_osc2SyncR( false, this, tr( "Osc 2 Sync Reverse" ) ), m_osc3Vol( 33.0, 0.0, 200.0, 0.1, this, tr( "Osc 3 Volume" ) ), m_osc3Pan( 0.0, -100.0, 100.0, 0.1, this, tr( "Osc 3 Panning" ) ), @@ -938,7 +979,8 @@ MonstroInstrument::MonstroInstrument( InstrumentTrack * _instrument_track ) : m_osc3Sub( 0.0, -100.0, 100.0, 0.1, this, tr( "Osc 3 Sub-oscillator mix" ) ), m_osc3Wave1( this, tr( "Osc 3 Waveform 1" ) ), m_osc3Wave2( this, tr( "Osc 3 Waveform 2" ) ), - m_osc3Sync( false, this, tr( "Osc 3 Sync" ) ), + m_osc3SyncH( false, this, tr( "Osc 3 Sync Hard" ) ), + m_osc3SyncR( false, this, tr( "Osc 3 Sync Reverse" ) ), m_lfo1Wave( this, tr( "LFO 1 Waveform" ) ), m_lfo1Att( 0.0f, 0.0f, 2000.0f, 1.0f, 2000.0f, this, tr( "LFO 1 Attack" ) ), @@ -1027,9 +1069,9 @@ MonstroInstrument::MonstroInstrument( InstrumentTrack * _instrument_track ) : { // make sure the wavetables exist: -// generate bandlimited wavetables +// generate bandlimited wavetables BandLimitedWave::generateWaves(); - + // setup waveboxes setwavemodel( m_osc2Wave ) setwavemodel( m_osc3Wave1 ) @@ -1150,7 +1192,8 @@ void MonstroInstrument::saveSettings( QDomDocument & _doc, m_osc2Ftr.saveSettings( _doc, _this, "o2ftr" ); m_osc2Spo.saveSettings( _doc, _this, "o2spo" ); m_osc2Wave.saveSettings( _doc, _this, "o2wav" ); - m_osc2Sync.saveSettings( _doc, _this, "o2syn" ); + m_osc2SyncH.saveSettings( _doc, _this, "o2syn" ); + m_osc2SyncR.saveSettings( _doc, _this, "o2synr" ); m_osc3Vol.saveSettings( _doc, _this, "o3vol" ); m_osc3Pan.saveSettings( _doc, _this, "o3pan" ); @@ -1159,7 +1202,8 @@ void MonstroInstrument::saveSettings( QDomDocument & _doc, m_osc3Sub.saveSettings( _doc, _this, "o3sub" ); m_osc3Wave1.saveSettings( _doc, _this, "o3wav1" ); m_osc3Wave2.saveSettings( _doc, _this, "o3wav2" ); - m_osc3Sync.saveSettings( _doc, _this, "o3syn" ); + m_osc3SyncH.saveSettings( _doc, _this, "o3syn" ); + m_osc3SyncR.saveSettings( _doc, _this, "o3synr" ); m_lfo1Wave.saveSettings( _doc, _this, "l1wav" ); m_lfo1Att.saveSettings( _doc, _this, "l1att" ); @@ -1265,7 +1309,8 @@ void MonstroInstrument::loadSettings( const QDomElement & _this ) m_osc2Ftr.loadSettings( _this, "o2ftr" ); m_osc2Spo.loadSettings( _this, "o2spo" ); m_osc2Wave.loadSettings( _this, "o2wav" ); - m_osc2Sync.loadSettings( _this, "o2syn" ); + m_osc2SyncH.loadSettings( _this, "o2syn" ); + m_osc2SyncR.loadSettings( _this, "o2synr" ); m_osc3Vol.loadSettings( _this, "o3vol" ); m_osc3Pan.loadSettings( _this, "o3pan" ); @@ -1274,7 +1319,8 @@ void MonstroInstrument::loadSettings( const QDomElement & _this ) m_osc3Sub.loadSettings( _this, "o3sub" ); m_osc3Wave1.loadSettings( _this, "o3wav1" ); m_osc3Wave2.loadSettings( _this, "o3wav2" ); - m_osc3Sync.loadSettings( _this, "o3syn" ); + m_osc3SyncH.loadSettings( _this, "o3syn" ); + m_osc3SyncR.loadSettings( _this, "o3synr" ); m_lfo1Wave.loadSettings( _this, "l1wav" ); m_lfo1Att.loadSettings( _this, "l1att" ); @@ -1550,7 +1596,8 @@ void MonstroView::modelChanged() m_osc2FtrKnob-> setModel( &m-> m_osc2Ftr ); m_osc2SpoKnob-> setModel( &m-> m_osc2Spo ); m_osc2WaveBox-> setModel( &m-> m_osc2Wave ); - m_osc2SyncButton-> setModel( &m-> m_osc2Sync ); + m_osc2SyncHButton-> setModel( &m-> m_osc2SyncH ); + m_osc2SyncRButton-> setModel( &m-> m_osc2SyncR ); m_osc3VolKnob-> setModel( &m-> m_osc3Vol ); m_osc3PanKnob-> setModel( &m-> m_osc3Pan ); @@ -1559,7 +1606,8 @@ void MonstroView::modelChanged() m_osc3SubKnob-> setModel( &m-> m_osc3Sub ); m_osc3Wave1Box-> setModel( &m-> m_osc3Wave1 ); m_osc3Wave2Box-> setModel( &m-> m_osc3Wave2 ); - m_osc3SyncButton-> setModel( &m-> m_osc3Sync ); + m_osc3SyncHButton-> setModel( &m-> m_osc3SyncH ); + m_osc3SyncRButton-> setModel( &m-> m_osc3SyncR ); m_lfo1WaveBox-> setModel( &m-> m_lfo1Wave ); m_lfo1AttKnob-> setModel( &m-> m_lfo1Att ); @@ -1691,7 +1739,8 @@ QWidget * MonstroView::setupOperatorsView( QWidget * _parent ) m_osc2WaveBox -> setGeometry( 204, O2ROW + 7, 42, 22 ); m_osc2WaveBox->setFont( pointSize<8>( m_osc2WaveBox->font() ) ); - maketinyled( m_osc2SyncButton, 204, O2ROW - 3, "Sync oscillator 2" ) + maketinyled( m_osc2SyncHButton, 212, O2ROW - 3, "Hard sync oscillator 2" ) + maketinyled( m_osc2SyncRButton, 191, O2ROW - 3, "Reverse sync oscillator 2" ) makeknob( m_osc3VolKnob, KNOBCOL1, O3ROW, "Volume", "%", "osc3Knob" ) makeknob( m_osc3PanKnob, KNOBCOL2, O3ROW, "Panning", "", "osc3Knob" ) @@ -1707,8 +1756,9 @@ QWidget * MonstroView::setupOperatorsView( QWidget * _parent ) m_osc3Wave2Box -> setGeometry( 204, O3ROW + 7, 42, 22 ); m_osc3Wave2Box->setFont( pointSize<8>( m_osc3Wave2Box->font() ) ); - maketinyled( m_osc3SyncButton, 204, O3ROW - 3, "Sync oscillator 3" ) - + maketinyled( m_osc3SyncHButton, 212, O3ROW - 3, "Hard sync oscillator 3" ) + maketinyled( m_osc3SyncRButton, 191, O3ROW - 3, "Reverse sync oscillator 3" ) + m_lfo1WaveBox = new comboBox( view ); m_lfo1WaveBox -> setGeometry( 2, LFOROW + 7, 42, 22 ); m_lfo1WaveBox->setFont( pointSize<8>( m_lfo1WaveBox->font() ) ); diff --git a/plugins/monstro/Monstro.h b/plugins/monstro/Monstro.h index 4e8a3ea96..59bf5dea7 100644 --- a/plugins/monstro/Monstro.h +++ b/plugins/monstro/Monstro.h @@ -93,7 +93,8 @@ name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ name .addItem( tr( "Abs. sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ - name .addItem( tr( "Random" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); + name .addItem( tr( "Random" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); \ + name .addItem( tr( "Random smooth" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); // UI constants const int O1ROW = 22; @@ -158,6 +159,11 @@ const int WAVE_MOOG_D = 14; const int NUM_WAVES = 15; +// lfo-specific enumerators +const int WAVE_RANDOM = 9; +const int WAVE_RANDOM_SMOOTH = 10; +const int NUM_LFO_WAVES = 11; + // modulation enumerators const int MOD_MIX = 0; const int MOD_AM = 1; @@ -170,10 +176,7 @@ const float MODCLIP = 2.0; const float MIN_FREQ = 18.0f; const float MAX_FREQ = 48000.0f; -// constants for amp delta capping - these will be divided by samplerate by the synth -const float ADCAP1 = 44100 / 2; -const float ADCAP2 = 44100 / 2.25; - +const float INTEGRATOR = 3.0f / 7.0f; class MonstroInstrument; class MonstroView; @@ -302,16 +305,13 @@ private: sample_t m_lfo1_last; sample_t m_lfo2_last; + + sample_t m_lfo1_s; + sample_t m_lfo2_s; sample_t m_osc1l_last; sample_t m_osc1r_last; - sample_t m_osc2l_last; - sample_t m_osc2r_last; - - sample_t m_osc3l_last; - sample_t m_osc3r_last; - sample_t m_l_last; sample_t m_r_last; @@ -321,8 +321,10 @@ private: float m_ph3l_last; float m_ph3r_last; - float m_adcap1; - float m_adcap2; + bool m_invert2l; + bool m_invert3l; + bool m_invert2r; + bool m_invert3r; }; class MonstroInstrument : public Instrument @@ -434,7 +436,8 @@ private: FloatModel m_osc2Ftr; FloatModel m_osc2Spo; ComboBoxModel m_osc2Wave; - BoolModel m_osc2Sync; + BoolModel m_osc2SyncH; + BoolModel m_osc2SyncR; FloatModel m_osc3Vol; FloatModel m_osc3Pan; @@ -443,7 +446,8 @@ private: FloatModel m_osc3Sub; ComboBoxModel m_osc3Wave1; ComboBoxModel m_osc3Wave2; - BoolModel m_osc3Sync; + BoolModel m_osc3SyncH; + BoolModel m_osc3SyncR; ComboBoxModel m_lfo1Wave; TempoSyncKnobModel m_lfo1Att; @@ -582,7 +586,8 @@ private: knob * m_osc2FtrKnob; knob * m_osc2SpoKnob; comboBox * m_osc2WaveBox; - pixmapButton * m_osc2SyncButton; + pixmapButton * m_osc2SyncHButton; + pixmapButton * m_osc2SyncRButton; knob * m_osc3VolKnob; knob * m_osc3PanKnob; @@ -591,7 +596,8 @@ private: knob * m_osc3SubKnob; comboBox * m_osc3Wave1Box; comboBox * m_osc3Wave2Box; - pixmapButton * m_osc3SyncButton; + pixmapButton * m_osc3SyncHButton; + pixmapButton * m_osc3SyncRButton; comboBox * m_lfo1WaveBox; TempoSyncKnob * m_lfo1AttKnob; diff --git a/plugins/monstro/artwork_op.png b/plugins/monstro/artwork_op.png index 2f7b69ca0fda75a6b5ca0ce897b76daa28f26883..b68bba649ffa73421d9e1a71cefebdd74f4ebbb8 100644 GIT binary patch literal 59652 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 Y*v=b6_KwC@wh-{8EUzwCDr*w-Z`fe(`2YX_ From b36f90554784949570ca21c19b6249353db3399c Mon Sep 17 00:00:00 2001 From: Vesa Date: Thu, 24 Apr 2014 23:25:12 +0300 Subject: [PATCH 2/2] Monstro: Explicitly initialize LFO values with random, so that smooth random reliably starts from a random value --- plugins/monstro/Monstro.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/monstro/Monstro.cpp b/plugins/monstro/Monstro.cpp index f9260e03a..d9c80a3c3 100644 --- a/plugins/monstro/Monstro.cpp +++ b/plugins/monstro/Monstro.cpp @@ -89,6 +89,9 @@ MonstroSynth::MonstroSynth( MonstroInstrument * _i, NotePlayHandle * _nph, m_lfo1_phase = 0.0f; m_lfo2_phase = 0.0f; + + m_lfo1_s = Oscillator::noiseSample( 0.0f ); + m_lfo2_s = Oscillator::noiseSample( 0.0f ); m_osc1l_last = 0.0f; m_osc1r_last = 0.0f;