Krotos Modules 3
Loading...
Searching...
No Matches
krotos::KwidgetProcessor_CoreEngine Class Reference

#include <KwidgetProcessor_CoreEngine.h>

Inheritance diagram for krotos::KwidgetProcessor_CoreEngine:
krotos::KwidgetProcessor

Public Member Functions

 KwidgetProcessor_CoreEngine (Kwidget &owner, KrotosSampleOscillatorSound &sound)
 
void prepare (double sampleRate, int samplesPerBlock) override
 
void process (AudioBuffer< float > &buffer) override
 
void noteOn (int midiNote, float velocity, int) override
 
void noteOff (float) override
 
void noteCleared () override
 
bool isActive () override
 
- Public Member Functions inherited from krotos::KwidgetProcessor
 KwidgetProcessor (Kwidget &owner)
 
 ~KwidgetProcessor () override=default
 
void prepareToPlay (double, int) override final
 
void processBlock (AudioBuffer< float > &buffer, MidiBuffer &) override final
 
std::shared_ptr< KAttachmentgetAttachment (const String &paramID)
 
int getNumModulators () const
 
ModulatorgetModulator (int index)
 
const String & getKwidgetType () const
 
const String & getKwidgetID () const
 
void updateAttachments ()
 

Private Types

using GParam = GranularOscillator::GranularParam
 

Private Member Functions

void setDistance (float distance)
 
void processBlockInternal (AudioBuffer< float > &buffer)
 
void processMuteStereo (float currentMuteValue, int numSamples, float velocity, float **bufferPtr)
 

Private Attributes

KrotosSampleOscillatorSoundm_soSound
 
GranularOscillator m_oscillator
 
std::vector< std::shared_ptr< KAttachment > > m_attachmentCache
 
AirAbsorptionFilter m_SAFilter
 
float m_formerMuteVal {0.0f}
 

Additional Inherited Members

- Protected Member Functions inherited from krotos::KwidgetProcessor
void nextBlock (int numSamples)
 
void nextSample ()
 
void addModulator (bool useAudioRate)
 
void addParameterAttachments (std::vector< AttachmentInfo >)
 
void addParameterCallback (const String &paramID, std::function< void(float)> callback)
 
KwidgetgetOwner () const
 

Member Typedef Documentation

◆ GParam

Constructor & Destructor Documentation

◆ KwidgetProcessor_CoreEngine()

krotos::KwidgetProcessor_CoreEngine::KwidgetProcessor_CoreEngine ( Kwidget & owner,
KrotosSampleOscillatorSound & sound )

Kwidget Constructor.

Member Function Documentation

◆ isActive()

bool krotos::KwidgetProcessor_CoreEngine::isActive ( )
overridevirtual

Reimplemented from krotos::KwidgetProcessor.

◆ noteCleared()

void krotos::KwidgetProcessor_CoreEngine::noteCleared ( )
overridevirtual

Perform any necessary cleanup when a voice is cleared.

Reimplemented from krotos::KwidgetProcessor.

◆ noteOff()

void krotos::KwidgetProcessor_CoreEngine::noteOff ( float )
overridevirtual

Starts the release phase of the envelope.

Reimplemented from krotos::KwidgetProcessor.

◆ noteOn()

void krotos::KwidgetProcessor_CoreEngine::noteOn ( int midiNote,
float velocity,
int voiceIndex )
overridevirtual

Starts the attack phase of the envelope.

Reimplemented from krotos::KwidgetProcessor.

◆ prepare()

void krotos::KwidgetProcessor_CoreEngine::prepare ( double sampleRate,
int samplesPerBlock )
overridevirtual

Prepare the Kwidget for processing.

Implements krotos::KwidgetProcessor.

◆ process()

void krotos::KwidgetProcessor_CoreEngine::process ( AudioBuffer< float > & buffer)
overridevirtual

Process a block of audio through this Kwidget.

Implements krotos::KwidgetProcessor.

◆ processBlockInternal()

void krotos::KwidgetProcessor_CoreEngine::processBlockInternal ( AudioBuffer< float > & buffer)
private

◆ processMuteStereo()

void krotos::KwidgetProcessor_CoreEngine::processMuteStereo ( float currentMuteValue,
int numSamples,
float velocity,
float ** bufferPtr )
private

◆ setDistance()

void krotos::KwidgetProcessor_CoreEngine::setDistance ( float distance)
private

Member Data Documentation

◆ m_attachmentCache

std::vector<std::shared_ptr<KAttachment> > krotos::KwidgetProcessor_CoreEngine::m_attachmentCache
private

◆ m_formerMuteVal

float krotos::KwidgetProcessor_CoreEngine::m_formerMuteVal {0.0f}
private

◆ m_oscillator

GranularOscillator krotos::KwidgetProcessor_CoreEngine::m_oscillator
private

◆ m_SAFilter

AirAbsorptionFilter krotos::KwidgetProcessor_CoreEngine::m_SAFilter
private

◆ m_soSound

KrotosSampleOscillatorSound& krotos::KwidgetProcessor_CoreEngine::m_soSound
private

The documentation for this class was generated from the following files: