Krotos Modules 3
Loading...
Searching...
No Matches
KwidgetProcessor_Sawtooth.cpp
Go to the documentation of this file.
1namespace krotos
2{
7
8 void KwidgetProcessor_Sawtooth::prepare(double sampleRate, int /*samplesPerBlock*/) { m_sampleRate = sampleRate; }
9
10 void KwidgetProcessor_Sawtooth::process(AudioBuffer<float>& buffer)
11 {
12 auto numSamples = buffer.getNumSamples();
13 auto numChannels = buffer.getNumChannels();
14 auto bufferPtr = buffer.getArrayOfWritePointers();
15
16 nextBlock(numSamples);
17
18 auto amp = getAttachment(Parameters::Amplitude)->data();
19
20 for (int i = 0; i < numSamples; i++)
21 {
22 nextSample();
23
24 // incerement phase
26 if (m_phase > 1.0f)
27 {
28 m_phase = m_phase - 1.0f;
29 }
30
31 // get output sample
32 float sample = m_phase - 0.5f;
33 for (int j = 0; j < numChannels; j++)
34 {
35 bufferPtr[j][i] = sample * amp[i];
36 }
37 }
38 }
39
41 {
42 m_frequency = f;
43 m_phaseDelta = f / static_cast<float>(m_sampleRate);
44 }
45} // namespace krotos
Definition Kwidget.h:8
void process(AudioBuffer< float > &buffer) override
Definition KwidgetProcessor_Sawtooth.cpp:10
float m_phaseDelta
Definition KwidgetProcessor_Sawtooth.h:22
void setFrequency(float f)
Definition KwidgetProcessor_Sawtooth.cpp:40
float m_phase
Definition KwidgetProcessor_Sawtooth.h:21
void prepare(double sampleRate, int samplesPerBlock) override
Definition KwidgetProcessor_Sawtooth.cpp:8
KwidgetProcessor_Sawtooth(Kwidget &owner)
Definition KwidgetProcessor_Sawtooth.cpp:3
float m_frequency
Definition KwidgetProcessor_Sawtooth.h:23
double m_sampleRate
Definition KwidgetProcessor_Sawtooth.h:19
An interface for an audio processor designed for modular use.
Definition KwidgetProcessor.h:8
std::shared_ptr< KAttachment > getAttachment(const String &paramID)
Definition KwidgetProcessor.cpp:26
void nextBlock(int numSamples)
Definition KwidgetProcessor.cpp:50
void addParameterAttachments(std::vector< AttachmentInfo >)
Definition KwidgetProcessor.cpp:65
void nextSample()
Definition KwidgetProcessor.cpp:59
Definition AirAbsorptionFilter.cpp:2
static const String Amplitude
Definition Kwidget_Sawtooth.h:8