From 9b7738dc60915d5b745a7a2912b84606c1ef0aa7 Mon Sep 17 00:00:00 2001 From: dave Date: Tue, 25 Nov 2014 22:38:49 +0000 Subject: [PATCH] changed LFO ammount to absolute value. --- plugins/delay/delaycontrols.cpp | 2 +- plugins/delay/delaycontrols.h | 2 +- plugins/delay/delaycontrolsdialog.cpp | 4 ++-- plugins/delay/delayeffect.cpp | 4 ++-- plugins/delay/lfo.cpp | 8 +------- plugins/delay/lfo.h | 13 ------------- 6 files changed, 7 insertions(+), 26 deletions(-) diff --git a/plugins/delay/delaycontrols.cpp b/plugins/delay/delaycontrols.cpp index fb86834c7..cc0aadbb5 100644 --- a/plugins/delay/delaycontrols.cpp +++ b/plugins/delay/delaycontrols.cpp @@ -35,7 +35,7 @@ DelayControls::DelayControls( DelayEffect* effect ): m_delayTimeModel( 2.0, 0.01, 20.0, 0.0001, 20000.0, this, tr( "Delay Samples" )) , m_feedbackModel(0.0f,0.0f,1.0f,0.01f,this,tr( "Feedback" ) ), m_lfoTimeModel(2.0, 0.01, 20.0, 0.0001, 20000.0, this, tr( "Lfo Frequency" ) ), - m_lfoAmountModel(0.0f,0.0f,0.1f,0.0001f, this, tr ( "Lfo Amount" ) ) + m_lfoAmountModel(0.0, 0.0, 2.0, 0.0001, 2000.0, this, tr ( "Lfo Amount" ) ) { connect( engine::mixer(), SIGNAL( sampleRateChanged() ), this, SLOT( changeSampleRate() ) ); } diff --git a/plugins/delay/delaycontrols.h b/plugins/delay/delaycontrols.h index fe7b3c3e9..76dacc811 100644 --- a/plugins/delay/delaycontrols.h +++ b/plugins/delay/delaycontrols.h @@ -63,7 +63,7 @@ private: TempoSyncKnobModel m_delayTimeModel; FloatModel m_feedbackModel; TempoSyncKnobModel m_lfoTimeModel; - FloatModel m_lfoAmountModel; + TempoSyncKnobModel m_lfoAmountModel; friend class DelayControlsDialog; friend class DelayEffect; diff --git a/plugins/delay/delaycontrolsdialog.cpp b/plugins/delay/delaycontrolsdialog.cpp index 1f5746d02..badc9f84f 100644 --- a/plugins/delay/delaycontrolsdialog.cpp +++ b/plugins/delay/delaycontrolsdialog.cpp @@ -60,9 +60,9 @@ DelayControlsDialog::DelayControlsDialog( DelayControls *controls ) : lfoFreqKnob->setLabel( tr( "Rate" ) ); lfoFreqKnob->setHintText( tr ( "Lfo Seconds:" ) + " ", "" ); - knob * lfoAmtKnob = new knob( knobBright_26, this ); + TempoSyncKnob * lfoAmtKnob = new TempoSyncKnob( knobBright_26, this ); lfoAmtKnob->move( 150,10 ); - lfoAmtKnob->setVolumeKnob( true ); + lfoAmtKnob->setVolumeKnob( false ); lfoAmtKnob->setModel( &controls->m_lfoAmountModel ); lfoAmtKnob->setLabel( tr( "Lfo" ) ); lfoAmtKnob->setHintText( tr ( "Lfo Amt:" ) + " ", "" ); diff --git a/plugins/delay/delayeffect.cpp b/plugins/delay/delayeffect.cpp index 939cae7e2..bb1cad259 100644 --- a/plugins/delay/delayeffect.cpp +++ b/plugins/delay/delayeffect.cpp @@ -83,7 +83,7 @@ bool DelayEffect::processAudioBuffer( sampleFrame* buf, const fpp_t frames ) const float d = dryLevel(); const float w = wetLevel(); const float length = m_delayControls.m_delayTimeModel.value() * engine::mixer()->processingSampleRate(); - m_lfo->setAmplitude( m_delayControls.m_lfoAmountModel.value() ); + const float amplitude = m_delayControls.m_lfoAmountModel.value() * engine::mixer()->processingSampleRate(); m_lfo->setFrequency( 1.0 / m_delayControls.m_lfoTimeModel.value() ); m_delay->setFeedback( m_delayControls.m_feedbackModel.value() ); sample_t dryS[2]; @@ -91,7 +91,7 @@ bool DelayEffect::processAudioBuffer( sampleFrame* buf, const fpp_t frames ) { dryS[0] = buf[f][0]; dryS[1] = buf[f][1]; - m_delay->setLength( ( float )length * ( float )m_lfo->tick() ); + m_delay->setLength( ( float )length + ( amplitude * ( float )m_lfo->tick() ) ); m_delay->tick( buf[f] ); buf[f][0] = ( d * dryS[0] ) + ( w * buf[f][0] ); diff --git a/plugins/delay/lfo.cpp b/plugins/delay/lfo.cpp index f0b84a089..3ae34e65b 100644 --- a/plugins/delay/lfo.cpp +++ b/plugins/delay/lfo.cpp @@ -42,11 +42,5 @@ float Lfo::tick() float output = sinf( m_phase ); m_phase += m_increment; - if( m_amplitude > 0.0001 ) - { - return ( ( output * m_amplitude + 1.0 ) * 0.5 ) ; - } else - { - return 1; - } + return output; } diff --git a/plugins/delay/lfo.h b/plugins/delay/lfo.h index 105c137b7..92b340485 100644 --- a/plugins/delay/lfo.h +++ b/plugins/delay/lfo.h @@ -56,18 +56,6 @@ public: - inline void setAmplitude( float amplitude ) - { - if( amplitude < 0.0 || amplitude > 1.0 ) - { - return; - } - m_amplitude = amplitude; - } - - - - inline void setSampleRate ( int samplerate ) { m_samplerate = samplerate; @@ -84,7 +72,6 @@ private: double m_frequency; double m_phase; double m_increment; - double m_amplitude; double m_twoPiOverSr; int m_samplerate; };