Made lfo ammount control absolute
This commit is contained in:
@@ -35,8 +35,8 @@ FlangerControls::FlangerControls( FlangerEffect *effect ) :
|
||||
EffectControls ( effect ),
|
||||
m_effect ( effect ),
|
||||
m_delayTimeModel(0.001, 0.0001, 0.050, 0.0001, this, tr( "Delay Samples" ) ) ,
|
||||
m_lfoFrequencyModel( 0.25, 0.01, 5, 0.0001, this, tr( "Lfo Frequency" ) ),
|
||||
m_lfoAmountModel( 0.1, 0.0, 1.0 , 0.001 , this , tr( "Amount" ) ),
|
||||
m_lfoFrequencyModel( 0.25, 0.01, 5, 0.0001, 20000.0 ,this, tr( "Lfo Frequency" ) ),
|
||||
m_lfoAmountModel( 0.0, 0.0, 0.0025 , 0.0001 , this , tr( "Seconds" ) ),
|
||||
m_feedbackModel( 0.0 , 0.0 , 1.0 , 0.0001, this, tr( "Regen" ) ),
|
||||
m_whiteNoiseAmountModel( 0.0 , 0.0 , 0.05 , 0.0001, this, tr( "Noise" ) ),
|
||||
m_invertFeedbackModel ( false , this, tr( "Invert" ) )
|
||||
|
||||
@@ -61,7 +61,7 @@ private slots:
|
||||
private:
|
||||
FlangerEffect* m_effect;
|
||||
FloatModel m_delayTimeModel;
|
||||
FloatModel m_lfoFrequencyModel;
|
||||
TempoSyncKnobModel m_lfoFrequencyModel;
|
||||
FloatModel m_lfoAmountModel;
|
||||
FloatModel m_feedbackModel;
|
||||
FloatModel m_whiteNoiseAmountModel;
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "flangercontrols.h"
|
||||
#include "embed.h"
|
||||
#include "LedCheckbox.h"
|
||||
#include "TempoSyncKnob.h"
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +47,7 @@ FlangerControlsDialog::FlangerControlsDialog( FlangerControls *controls ) :
|
||||
delayKnob->setLabel( tr( "Delay" ) );
|
||||
delayKnob->setHintText( tr( "Delay Time :" ) + " ", "" );
|
||||
|
||||
Knob * lfoFreqKnob = new Knob( knobBright_26, this );
|
||||
TempoSyncKnob * lfoFreqKnob = new TempoSyncKnob( knobBright_26, this );
|
||||
lfoFreqKnob->move( 53,10 );
|
||||
lfoFreqKnob->setVolumeKnob( false );
|
||||
lfoFreqKnob->setModel( &controls->m_lfoFrequencyModel );
|
||||
|
||||
@@ -92,7 +92,7 @@ bool FlangerEffect::processAudioBuffer( sampleFrame *buf, const fpp_t frames )
|
||||
const float w = wetLevel();
|
||||
const float length = m_flangerControls.m_delayTimeModel.value() * Engine::mixer()->processingSampleRate();
|
||||
const float noise = m_flangerControls.m_whiteNoiseAmountModel.value();
|
||||
m_lfo->setAmplitude( m_flangerControls.m_lfoAmountModel.value() );
|
||||
float amplitude = m_flangerControls.m_lfoAmountModel.value() * Engine::mixer()->processingSampleRate();
|
||||
m_lfo->setFrequency( m_flangerControls.m_lfoFrequencyModel.value() );
|
||||
m_lDelay->setFeedback( m_flangerControls.m_feedbackModel.value() );
|
||||
m_rDelay->setFeedback( m_flangerControls.m_feedbackModel.value() );
|
||||
@@ -106,8 +106,8 @@ bool FlangerEffect::processAudioBuffer( sampleFrame *buf, const fpp_t frames )
|
||||
dryS[0] = buf[f][0];
|
||||
dryS[1] = buf[f][1];
|
||||
m_lfo->tick(&leftLfo, &rightLfo);
|
||||
m_lDelay->setLength( ( float )length * leftLfo );
|
||||
m_rDelay->setLength( ( float )length * rightLfo );
|
||||
m_lDelay->setLength( ( float )length + ( amplitude * leftLfo ) );
|
||||
m_rDelay->setLength( ( float )length+ ( amplitude * rightLfo ) );
|
||||
if(m_flangerControls.m_invertFeedbackModel.value())
|
||||
{
|
||||
m_lDelay->tick( &buf[f][1] );
|
||||
|
||||
@@ -35,15 +35,16 @@ void QuadratureLfo::tick( float *s, float *c )
|
||||
*c = cosf( m_phase );
|
||||
m_phase += m_increment;
|
||||
|
||||
if( m_amplitude < 0.0001 )
|
||||
{
|
||||
*s = 1;
|
||||
*c = 1;
|
||||
} else
|
||||
{
|
||||
*s = ( ( *s * m_amplitude + 1.0 ) * 0.5 );
|
||||
*c = ( ( *c * m_amplitude + 1.0 ) * 0.5 );
|
||||
}
|
||||
// removed to return -1 +1
|
||||
// if( m_amplitude < 0.0001 )
|
||||
// {
|
||||
// *s = 1;
|
||||
// *c = 1;
|
||||
// } else
|
||||
// {
|
||||
// *s = ( ( *s * m_amplitude + 1.0 ) * 0.5 );
|
||||
// *c = ( ( *c * m_amplitude + 1.0 ) * 0.5 );
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -50,14 +50,8 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
inline void setAmplitude( float amplitude )
|
||||
{
|
||||
if( amplitude < 0.0 || amplitude > 1.0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_amplitude = amplitude;
|
||||
}
|
||||
|
||||
|
||||
|
||||
inline void setSampleRate ( int samplerate )
|
||||
{
|
||||
@@ -72,7 +66,6 @@ private:
|
||||
double m_frequency;
|
||||
double m_phase;
|
||||
double m_increment;
|
||||
double m_amplitude;
|
||||
double m_twoPiOverSr;
|
||||
int m_samplerate;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user