Skip to content

Commit

Permalink
Restart flanger LFO on Song::playbackStateChanged signal (#4363)
Browse files Browse the repository at this point in the history
Closes #3689
Joshua Wade authored May 18, 2018
1 parent 0caaeba commit 68a621c
Showing 5 changed files with 27 additions and 1 deletion.
7 changes: 7 additions & 0 deletions plugins/Flanger/FlangerControls.cpp
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ FlangerControls::FlangerControls( FlangerEffect *effect ) :

{
connect( Engine::mixer(), SIGNAL( sampleRateChanged() ), this, SLOT( changedSampleRate() ) );
connect( Engine::getSong(), SIGNAL( playbackStateChanged() ), this, SLOT( changedPlaybackState() ) );
}


@@ -81,3 +82,9 @@ void FlangerControls::changedSampleRate()
}




void FlangerControls::changedPlaybackState()
{
m_effect->restartLFO();
}
1 change: 1 addition & 0 deletions plugins/Flanger/FlangerControls.h
Original file line number Diff line number Diff line change
@@ -57,6 +57,7 @@ class FlangerControls : public EffectControls

private slots:
void changedSampleRate();
void changedPlaybackState();

private:
FlangerEffect* m_effect;
11 changes: 10 additions & 1 deletion plugins/Flanger/FlangerEffect.cpp
Original file line number Diff line number Diff line change
@@ -68,7 +68,7 @@ FlangerEffect::~FlangerEffect()
{
delete m_rDelay;
}
if(m_lfo )
if( m_lfo )
{
delete m_lfo;
}
@@ -139,6 +139,15 @@ void FlangerEffect::changeSampleRate()




void FlangerEffect::restartLFO()
{
m_lfo->restart();
}




extern "C"
{

1 change: 1 addition & 0 deletions plugins/Flanger/FlangerEffect.h
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@ class FlangerEffect : public Effect
return &m_flangerControls;
}
void changeSampleRate();
void restartLFO();

private:
FlangerControls m_flangerControls;
8 changes: 8 additions & 0 deletions plugins/Flanger/QuadratureLfo.h
Original file line number Diff line number Diff line change
@@ -53,6 +53,14 @@ class QuadratureLfo



inline void restart()
{
m_phase = 0;
}




inline void setSampleRate ( int samplerate )
{
m_samplerate = samplerate;

0 comments on commit 68a621c

Please sign in to comment.