commit 810b690bb6b8124a516518fb38c9b82a39c35187
parent bfa667185d089a206c923eaf3e02ac948421532c
Author: jatinchowdhury18 <jatinchowdhury18@users.noreply.github.com>
Date: Sun, 19 Apr 2020 11:24:23 -0700
Bug fixes and efficiency improvements
Diffstat:
5 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/Plugin/Source/PluginProcessor.cpp b/Plugin/Source/PluginProcessor.cpp
@@ -171,8 +171,8 @@ void ChowtapeModelAudioProcessor::processBlock (AudioBuffer<float>& buffer, Midi
inGain.processBlock (buffer, midiMessages);
hysteresis.processBlock (buffer, midiMessages);
- degrade.processBlock (buffer, midiMessages);
chewer.processBlock (buffer);
+ degrade.processBlock (buffer, midiMessages);
flutter.processBlock (buffer, midiMessages);
@@ -203,7 +203,7 @@ void ChowtapeModelAudioProcessor::getStateInformation (MemoryBlock& destData)
void ChowtapeModelAudioProcessor::setStateInformation (const void* data, int sizeInBytes)
{
- magicState.setStateInformation (data, sizeInBytes);
+ magicState.setStateInformation (data, sizeInBytes, getActiveEditor());
}
//==============================================================================
diff --git a/Plugin/Source/Processors/Chew/ChewProcessor.cpp b/Plugin/Source/Processors/Chew/ChewProcessor.cpp
@@ -25,9 +25,6 @@ void ChewProcessor::prepare (double sr, int samplesPerBlock)
void ChewProcessor::processBlock (AudioBuffer<float>& buffer)
{
- if (*depth == 0.0f)
- return;
-
if (sampleCounter >= samplesUntilChange)
{
sampleCounter = 0;
@@ -36,7 +33,7 @@ void ChewProcessor::processBlock (AudioBuffer<float>& buffer)
if (isCrinkled) // start crinkle
{
mix = 1.0f;
- power = 0.5f; //depth->control->get();
+ power = *depth;
samplesUntilChange = getWetTime();
}
else // end crinkle
diff --git a/Plugin/Source/Processors/Degrade/DegradeProcessor.cpp b/Plugin/Source/Processors/Degrade/DegradeProcessor.cpp
@@ -27,9 +27,6 @@ void DegradeProcessor::prepareToPlay (double sampleRate, int samplesPerBlock)
void DegradeProcessor::processBlock (AudioBuffer<float>& buffer, MidiBuffer& midi)
{
- if (*amtParam == 0.0f || *depthParam == 0.0f)
- return;
-
float freqHz = 200.0f * powf (20000.0f / 200.0f, 1.0f - *amtParam);
float gainDB = -24.0f * *depthParam;
diff --git a/Plugin/Source/Processors/Loss_Effects/FIRFilter.h b/Plugin/Source/Processors/Loss_Effects/FIRFilter.h
@@ -9,10 +9,15 @@ public:
FIRFilter (int order) :
order (order)
{
- h.reset (new float[order]);
- z.reset (new float[order]);
+ h = new float[order];
+ z = new float[order];
+ }
+
+ ~FIRFilter()
+ {
+ delete[] h;
+ delete[] z;
}
- ~FIRFilter() {}
void reset()
{
@@ -36,7 +41,12 @@ public:
z[zPtr] = buffer[n];
for (int m = 0; m < order; ++m)
- y += h[m] * z[negativeAwareModulo<int> (zPtr - m, order)];
+ {
+ int idx = zPtr - m;
+ idx = (idx < 0) ? idx + order : idx;
+
+ y += h[m] * z[idx];
+ }
buffer[n] = y;
zPtr = (zPtr + 1) % order;
@@ -53,11 +63,11 @@ public:
}
protected:
- std::unique_ptr<float[]> h;
+ float* h;
const int order;
private:
- std::unique_ptr<float[]> z;
+ float* z;
int zPtr = 0;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FIRFilter)
diff --git a/Plugin/Source/gui.xml b/Plugin/Source/gui.xml
@@ -22,7 +22,7 @@
</Style>
</Styles>
<View id="root" resizable="1" resize-corner="1" flex-direction="column"
- background-color="FF7D2C2C" padding="0">
+ background-color="FF7D2C2C" padding="0" width="600" height="600">
<View max-height="100" padding="0" background-color="FF7D2C2C" margin="0">
<Label text="CHOW Tape Model" font-size="20" padding="0" background-color="FF7D2C2C"
border="" max-width="180"/>