calling filter code from wrDsp
This commit is contained in:
@@ -70,6 +70,8 @@ void LampshadeAudioProcessor::changeProgramName (int index, const String& newNam
|
||||
void LampshadeAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock)
|
||||
{
|
||||
myYin = Yin(sampleRate, samplesPerBlock);
|
||||
aFilter = (filter_svf_t*)malloc(sizeof(filter_svf_t));
|
||||
svf_init(aFilter, 0, sampleRate);
|
||||
}
|
||||
|
||||
void LampshadeAudioProcessor::releaseResources()
|
||||
@@ -111,11 +113,13 @@ void LampshadeAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffe
|
||||
static float myPitch;
|
||||
if(pitch > 0) { myPitch = pitch; }
|
||||
|
||||
svf_set_freq(aFilter, myPitch);
|
||||
|
||||
float* channel1Data = buffer.getWritePointer (0);
|
||||
float* channel2Data = buffer.getWritePointer (1);
|
||||
for(int i=0; i < buffer.getNumSamples(); i++){
|
||||
incrementer += (myPitch / 4000);
|
||||
channel1Data[i] = sin(incrementer) * 0.1;
|
||||
channel1Data[i] = svf_step(aFilter, channel1Data[i]);
|
||||
channel2Data[i] = channel1Data[i];
|
||||
}
|
||||
printf("%f\n",channel1Data[0]);
|
||||
|
@@ -2,6 +2,10 @@
|
||||
|
||||
#include "../JuceLibraryCode/JuceHeader.h"
|
||||
#include "Yin.h"
|
||||
extern "C" {
|
||||
#include "../wrDsp/wrFilter.h"
|
||||
};
|
||||
|
||||
|
||||
class LampshadeAudioProcessor : public AudioProcessor
|
||||
{
|
||||
@@ -39,4 +43,5 @@ public:
|
||||
private:
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LampshadeAudioProcessor)
|
||||
Yin myYin;
|
||||
filter_svf_t* aFilter;
|
||||
};
|
||||
|
Reference in New Issue
Block a user