Flanger reformat, convert spaces to tabs

This commit is contained in:
Dave French
2014-12-22 22:25:55 +00:00
parent b982fa4b4c
commit 7f47fc955d
11 changed files with 236 additions and 236 deletions

View File

@@ -32,17 +32,17 @@
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, 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" ) )
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, 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" ) )
{
connect( Engine::mixer(), SIGNAL( sampleRateChanged() ), this, SLOT( changedSampleRate() ) );
connect( Engine::mixer(), SIGNAL( sampleRateChanged() ), this, SLOT( changedSampleRate() ) );
}
@@ -50,12 +50,12 @@ FlangerControls::FlangerControls( FlangerEffect *effect ) :
void FlangerControls::loadSettings( const QDomElement &_this )
{
m_delayTimeModel.loadSettings( _this, "DelayTimeSamples" );
m_lfoFrequencyModel.loadSettings( _this, "LfoFrequency" );
m_lfoAmountModel.loadSettings( _this, "LfoAmount" );
m_feedbackModel.loadSettings( _this, "Feedback" );
m_whiteNoiseAmountModel.loadSettings( _this, "WhiteNoise" );
m_invertFeedbackModel.loadSettings( _this, "Invert" );
m_delayTimeModel.loadSettings( _this, "DelayTimeSamples" );
m_lfoFrequencyModel.loadSettings( _this, "LfoFrequency" );
m_lfoAmountModel.loadSettings( _this, "LfoAmount" );
m_feedbackModel.loadSettings( _this, "Feedback" );
m_whiteNoiseAmountModel.loadSettings( _this, "WhiteNoise" );
m_invertFeedbackModel.loadSettings( _this, "Invert" );
}
@@ -64,12 +64,12 @@ void FlangerControls::loadSettings( const QDomElement &_this )
void FlangerControls::saveSettings( QDomDocument &doc, QDomElement &parent )
{
m_delayTimeModel.saveSettings( doc , parent, "DelayTimeSamples" );
m_lfoFrequencyModel.saveSettings( doc, parent , "LfoFrequency" );
m_lfoAmountModel.saveSettings( doc, parent , "LfoAmount" );
m_feedbackModel.saveSettings( doc, parent, "Feedback" ) ;
m_whiteNoiseAmountModel.saveSettings( doc, parent , "WhiteNoise" ) ;
m_invertFeedbackModel.saveSettings( doc, parent, "Invert" );
m_delayTimeModel.saveSettings( doc , parent, "DelayTimeSamples" );
m_lfoFrequencyModel.saveSettings( doc, parent , "LfoFrequency" );
m_lfoAmountModel.saveSettings( doc, parent , "LfoAmount" );
m_feedbackModel.saveSettings( doc, parent, "Feedback" ) ;
m_whiteNoiseAmountModel.saveSettings( doc, parent , "WhiteNoise" ) ;
m_invertFeedbackModel.saveSettings( doc, parent, "Invert" );
}
@@ -77,7 +77,7 @@ void FlangerControls::saveSettings( QDomDocument &doc, QDomElement &parent )
void FlangerControls::changedSampleRate()
{
m_effect->changeSampleRate();
m_effect->changeSampleRate();
}

View File

@@ -34,41 +34,41 @@ class FlangerEffect;
class FlangerControls : public EffectControls
{
Q_OBJECT
Q_OBJECT
public:
FlangerControls( FlangerEffect* effect );
virtual ~FlangerControls()
{
}
virtual void saveSettings ( QDomDocument& doc, QDomElement& parent );
virtual void loadSettings ( const QDomElement &_this );
inline virtual QString nodeName() const
{
return "Flanger";
}
virtual int controlCount()
{
return 5;
}
virtual EffectControlDialog* createView()
{
return new FlangerControlsDialog( this );
}
FlangerControls( FlangerEffect* effect );
virtual ~FlangerControls()
{
}
virtual void saveSettings ( QDomDocument& doc, QDomElement& parent );
virtual void loadSettings ( const QDomElement &_this );
inline virtual QString nodeName() const
{
return "Flanger";
}
virtual int controlCount()
{
return 5;
}
virtual EffectControlDialog* createView()
{
return new FlangerControlsDialog( this );
}
private slots:
void changedSampleRate();
void changedSampleRate();
private:
FlangerEffect* m_effect;
FloatModel m_delayTimeModel;
TempoSyncKnobModel m_lfoFrequencyModel;
FloatModel m_lfoAmountModel;
FloatModel m_feedbackModel;
FloatModel m_whiteNoiseAmountModel;
BoolModel m_invertFeedbackModel;
FlangerEffect* m_effect;
FloatModel m_delayTimeModel;
TempoSyncKnobModel m_lfoFrequencyModel;
FloatModel m_lfoAmountModel;
FloatModel m_feedbackModel;
FloatModel m_whiteNoiseAmountModel;
BoolModel m_invertFeedbackModel;
friend class FlangerControlsDialog;
friend class FlangerEffect;
friend class FlangerControlsDialog;
friend class FlangerEffect;
};

View File

@@ -32,10 +32,10 @@ class FlangerControls;
class FlangerControlsDialog : public EffectControlDialog
{
public:
FlangerControlsDialog( FlangerControls* controls );
virtual ~FlangerControlsDialog()
{
}
FlangerControlsDialog( FlangerControls* controls );
virtual ~FlangerControlsDialog()
{
}
};
#endif // FLANGERCONTROLSDIALOG_H

View File

@@ -31,28 +31,28 @@ extern "C"
Plugin::Descriptor PLUGIN_EXPORT flanger_plugin_descriptor =
{
STRINGIFY( PLUGIN_NAME ),
"Flanger",
QT_TRANSLATE_NOOP( "pluginBrowser", "A native flanger plugin" ),
"Dave French <contact/dot/dave/dot/french3/at/googlemail/dot/com>",
0x0100,
Plugin::Effect,
new PluginPixmapLoader( "logo" ),
NULL,
NULL
STRINGIFY( PLUGIN_NAME ),
"Flanger",
QT_TRANSLATE_NOOP( "pluginBrowser", "A native flanger plugin" ),
"Dave French <contact/dot/dave/dot/french3/at/googlemail/dot/com>",
0x0100,
Plugin::Effect,
new PluginPixmapLoader( "logo" ),
NULL,
NULL
} ;
FlangerEffect::FlangerEffect( Model *parent, const Plugin::Descriptor::SubPluginFeatures::Key *key ) :
Effect( &flanger_plugin_descriptor, parent, key ),
m_flangerControls( this )
Effect( &flanger_plugin_descriptor, parent, key ),
m_flangerControls( this )
{
m_lfo = new QuadratureLfo( Engine::mixer()->processingSampleRate() );
m_lDelay = new MonoDelay( 1, Engine::mixer()->processingSampleRate() );
m_rDelay = new MonoDelay( 1, Engine::mixer()->processingSampleRate() );
m_noise = new Noise;
m_lfo = new QuadratureLfo( Engine::mixer()->processingSampleRate() );
m_lDelay = new MonoDelay( 1, Engine::mixer()->processingSampleRate() );
m_rDelay = new MonoDelay( 1, Engine::mixer()->processingSampleRate() );
m_noise = new Noise;
}
@@ -60,22 +60,22 @@ FlangerEffect::FlangerEffect( Model *parent, const Plugin::Descriptor::SubPlugin
FlangerEffect::~FlangerEffect()
{
if(m_lDelay )
{
delete m_lDelay;
}
if( m_rDelay )
{
delete m_rDelay;
}
if(m_lfo )
{
delete m_lfo;
}
if(m_noise)
{
delete m_noise;
}
if(m_lDelay )
{
delete m_lDelay;
}
if( m_rDelay )
{
delete m_rDelay;
}
if(m_lfo )
{
delete m_lfo;
}
if(m_noise)
{
delete m_noise;
}
}
@@ -83,48 +83,48 @@ FlangerEffect::~FlangerEffect()
bool FlangerEffect::processAudioBuffer( sampleFrame *buf, const fpp_t frames )
{
if( !isEnabled() || !isRunning () )
{
return( false );
}
double outSum = 0.0;
const float d = dryLevel();
const float w = wetLevel();
const float length = m_flangerControls.m_delayTimeModel.value() * Engine::mixer()->processingSampleRate();
const float noise = m_flangerControls.m_whiteNoiseAmountModel.value();
float amplitude = m_flangerControls.m_lfoAmountModel.value() * Engine::mixer()->processingSampleRate();
bool invertFeedback = m_flangerControls.m_invertFeedbackModel.value();
m_lfo->setFrequency( m_flangerControls.m_lfoFrequencyModel.value() );
m_lDelay->setFeedback( m_flangerControls.m_feedbackModel.value() );
m_rDelay->setFeedback( m_flangerControls.m_feedbackModel.value() );
sample_t dryS[2];
float leftLfo;
float rightLfo;
for( fpp_t f = 0; f < frames; ++f )
{
buf[f][0] += m_noise->tick() * noise;
buf[f][1] += m_noise->tick() * noise;
dryS[0] = buf[f][0];
dryS[1] = buf[f][1];
m_lfo->tick(&leftLfo, &rightLfo);
m_lDelay->setLength( ( float )length + ( amplitude * leftLfo ) );
m_rDelay->setLength( ( float )length+ ( amplitude * rightLfo ) );
if(invertFeedback)
{
m_lDelay->tick( &buf[f][1] );
m_rDelay->tick(&buf[f][0] );
} else
{
m_lDelay->tick( &buf[f][0] );
m_rDelay->tick( &buf[f][1] );
}
if( !isEnabled() || !isRunning () )
{
return( false );
}
double outSum = 0.0;
const float d = dryLevel();
const float w = wetLevel();
const float length = m_flangerControls.m_delayTimeModel.value() * Engine::mixer()->processingSampleRate();
const float noise = m_flangerControls.m_whiteNoiseAmountModel.value();
float amplitude = m_flangerControls.m_lfoAmountModel.value() * Engine::mixer()->processingSampleRate();
bool invertFeedback = m_flangerControls.m_invertFeedbackModel.value();
m_lfo->setFrequency( m_flangerControls.m_lfoFrequencyModel.value() );
m_lDelay->setFeedback( m_flangerControls.m_feedbackModel.value() );
m_rDelay->setFeedback( m_flangerControls.m_feedbackModel.value() );
sample_t dryS[2];
float leftLfo;
float rightLfo;
for( fpp_t f = 0; f < frames; ++f )
{
buf[f][0] += m_noise->tick() * noise;
buf[f][1] += m_noise->tick() * noise;
dryS[0] = buf[f][0];
dryS[1] = buf[f][1];
m_lfo->tick(&leftLfo, &rightLfo);
m_lDelay->setLength( ( float )length + ( amplitude * leftLfo ) );
m_rDelay->setLength( ( float )length+ ( amplitude * rightLfo ) );
if(invertFeedback)
{
m_lDelay->tick( &buf[f][1] );
m_rDelay->tick(&buf[f][0] );
} else
{
m_lDelay->tick( &buf[f][0] );
m_rDelay->tick( &buf[f][1] );
}
buf[f][0] = ( d * dryS[0] ) + ( w * buf[f][0] );
buf[f][1] = ( d * dryS[1] ) + ( w * buf[f][1] );
outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1];
}
checkGate( outSum / frames );
return isRunning();
buf[f][0] = ( d * dryS[0] ) + ( w * buf[f][0] );
buf[f][1] = ( d * dryS[1] ) + ( w * buf[f][1] );
outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1];
}
checkGate( outSum / frames );
return isRunning();
}
@@ -132,9 +132,9 @@ bool FlangerEffect::processAudioBuffer( sampleFrame *buf, const fpp_t frames )
void FlangerEffect::changeSampleRate()
{
m_lfo->setSampleRate( Engine::mixer()->processingSampleRate() );
m_lDelay->setSampleRate( Engine::mixer()->processingSampleRate() );
m_rDelay->setSampleRate( Engine::mixer()->processingSampleRate() );
m_lfo->setSampleRate( Engine::mixer()->processingSampleRate() );
m_lDelay->setSampleRate( Engine::mixer()->processingSampleRate() );
m_rDelay->setSampleRate( Engine::mixer()->processingSampleRate() );
}
@@ -145,7 +145,7 @@ extern "C"
//needed for getting plugin out of shared lib
Plugin * PLUGIN_EXPORT lmms_plugin_main( Model* parent, void* data )
{
return new FlangerEffect( parent , static_cast<const Plugin::Descriptor::SubPluginFeatures::Key *>( data ) );
return new FlangerEffect( parent , static_cast<const Plugin::Descriptor::SubPluginFeatures::Key *>( data ) );
}
}}

View File

@@ -36,21 +36,21 @@
class FlangerEffect : public Effect
{
public:
FlangerEffect( Model* parent , const Descriptor::SubPluginFeatures::Key* key );
virtual ~FlangerEffect();
virtual bool processAudioBuffer( sampleFrame *buf, const fpp_t frames );
virtual EffectControls* controls()
{
return &m_flangerControls;
}
void changeSampleRate();
FlangerEffect( Model* parent , const Descriptor::SubPluginFeatures::Key* key );
virtual ~FlangerEffect();
virtual bool processAudioBuffer( sampleFrame *buf, const fpp_t frames );
virtual EffectControls* controls()
{
return &m_flangerControls;
}
void changeSampleRate();
private:
FlangerControls m_flangerControls;
MonoDelay* m_lDelay;
MonoDelay* m_rDelay;
QuadratureLfo* m_lfo;
Noise* m_noise;
FlangerControls m_flangerControls;
MonoDelay* m_lDelay;
MonoDelay* m_rDelay;
QuadratureLfo* m_lfo;
Noise* m_noise;
};

View File

@@ -28,14 +28,14 @@
MonoDelay::MonoDelay( int maxTime , int sampleRate )
{
m_buffer = 0;
m_maxTime = maxTime;
m_maxLength = maxTime * sampleRate;
m_length = m_maxLength;
m_buffer = 0;
m_maxTime = maxTime;
m_maxLength = maxTime * sampleRate;
m_length = m_maxLength;
m_index = 0;
m_feedback = 0.0f;
setSampleRate( sampleRate );
m_index = 0;
m_feedback = 0.0f;
setSampleRate( sampleRate );
}
@@ -43,10 +43,10 @@ MonoDelay::MonoDelay( int maxTime , int sampleRate )
MonoDelay::~MonoDelay()
{
if( m_buffer )
{
delete m_buffer;
}
if( m_buffer )
{
delete m_buffer;
}
}
@@ -54,24 +54,24 @@ MonoDelay::~MonoDelay()
void MonoDelay::tick( sample_t* sample )
{
m_buffer[m_index] = *sample;
int readIndex = m_index - ( int )m_length;
if(readIndex < 0)
{
readIndex += m_maxLength;
}
m_buffer[m_index] = *sample;
int readIndex = m_index - ( int )m_length;
if(readIndex < 0)
{
readIndex += m_maxLength;
}
float fract = 1.0f - fraction( m_length );
if(readIndex != m_maxLength-1 )
{
*sample = linearInterpolate(m_buffer[readIndex] ,
m_buffer[readIndex+1], fract );
} else
{
*sample = linearInterpolate(m_buffer[readIndex] ,
m_buffer[0], fract );
}
m_buffer[m_index] += *sample * m_feedback;
m_index = ( m_index +1 ) % m_maxLength;
if(readIndex != m_maxLength-1 )
{
*sample = linearInterpolate(m_buffer[readIndex] ,
m_buffer[readIndex+1], fract );
} else
{
*sample = linearInterpolate(m_buffer[readIndex] ,
m_buffer[0], fract );
}
m_buffer[m_index] += *sample * m_feedback;
m_index = ( m_index +1 ) % m_maxLength;
}
@@ -79,11 +79,11 @@ void MonoDelay::tick( sample_t* sample )
void MonoDelay::setSampleRate( int sampleRate )
{
if( m_buffer )
{
delete m_buffer;
}
if( m_buffer )
{
delete m_buffer;
}
m_buffer = new sample_t[( int )( sampleRate * m_maxTime )];
m_buffer = new sample_t[( int )( sampleRate * m_maxTime )];
}

View File

@@ -30,31 +30,31 @@
class MonoDelay
{
public:
MonoDelay( int maxTime , int sampleRate );
~MonoDelay();
inline void setLength( float length )
{
if( length <= m_maxLength && length >= 0 )
{
m_length = length;
}
}
MonoDelay( int maxTime , int sampleRate );
~MonoDelay();
inline void setLength( float length )
{
if( length <= m_maxLength && length >= 0 )
{
m_length = length;
}
}
inline void setFeedback( float feedback )
{
m_feedback = feedback;
}
inline void setFeedback( float feedback )
{
m_feedback = feedback;
}
void tick( sample_t* sample );
void setSampleRate( int sampleRate );
void tick( sample_t* sample );
void setSampleRate( int sampleRate );
private:
sample_t* m_buffer;
int m_maxLength;
float m_length;
int m_index;
float m_feedback;
float m_maxTime;
sample_t* m_buffer;
int m_maxLength;
float m_length;
int m_index;
float m_feedback;
float m_maxTime;
};
#endif // MONODELAY_H

View File

@@ -27,7 +27,7 @@
Noise::Noise()
{
inv_randmax = 1.0/FAST_RAND_MAX; /* for range of 0 - 1.0 */
inv_randmax = 1.0/FAST_RAND_MAX; /* for range of 0 - 1.0 */
}
@@ -35,5 +35,5 @@ Noise::Noise()
float Noise::tick()
{
return (float) ((2.0 * fast_rand() * inv_randmax) - 1.0);
return (float) ((2.0 * fast_rand() * inv_randmax) - 1.0);
}

View File

@@ -28,10 +28,10 @@
class Noise
{
public:
Noise();
float tick();
Noise();
float tick();
private:
double inv_randmax;
double inv_randmax;
};
#endif // NOISE_H

View File

@@ -26,13 +26,13 @@
QuadratureLfo::QuadratureLfo( int sampleRate )
{
setSampleRate(sampleRate);
setSampleRate(sampleRate);
}
void QuadratureLfo::tick( float *s, float *c )
{
*s = sinf( m_phase );
*c = cosf( m_phase );
m_phase += m_increment;
*s = sinf( m_phase );
*c = cosf( m_phase );
m_phase += m_increment;
}

View File

@@ -30,44 +30,44 @@
class QuadratureLfo
{
public:
QuadratureLfo( int sampleRate );
~QuadratureLfo()
{
}
QuadratureLfo( int sampleRate );
~QuadratureLfo()
{
}
inline void setFrequency( double frequency )
{
if( frequency < 0 || frequency > ( m_samplerate / 2.0 ) || frequency == m_frequency )
{
return;
}
m_frequency = frequency;
m_increment = m_frequency * m_twoPiOverSr;
inline void setFrequency( double frequency )
{
if( frequency < 0 || frequency > ( m_samplerate / 2.0 ) || frequency == m_frequency )
{
return;
}
m_frequency = frequency;
m_increment = m_frequency * m_twoPiOverSr;
if( m_phase >= F_2PI )
{
m_phase -= F_2PI;
}
}
if( m_phase >= F_2PI )
{
m_phase -= F_2PI;
}
}
inline void setSampleRate ( int samplerate )
{
m_samplerate = samplerate;
m_twoPiOverSr = F_2PI / samplerate;
m_increment = m_frequency * m_twoPiOverSr;
}
inline void setSampleRate ( int samplerate )
{
m_samplerate = samplerate;
m_twoPiOverSr = F_2PI / samplerate;
m_increment = m_frequency * m_twoPiOverSr;
}
void tick( float *s, float *c );
void tick( float *s, float *c );
private:
double m_frequency;
double m_phase;
double m_increment;
double m_twoPiOverSr;
int m_samplerate;
double m_frequency;
double m_phase;
double m_increment;
double m_twoPiOverSr;
int m_samplerate;
};