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

#include <KwidgetAudioProcessor.h>

Inheritance diagram for krotos::KwidgetAudioProcessor:
krotos::Kwidget_CoreEngine::Listener krotos::Kwidget_Reformer::Listener krotos::Kwidget_TriggerButton::Listener

Classes

struct  KListener
 

Public Types

using KType = KwidgetFactory::KwidgetType
 
using KMod = KwidgetFactory::KwidgetModifiers
 

Public Member Functions

 KwidgetAudioProcessor (const BusesProperties &ioLayouts, size_t numBusses, size_t channelsPerStereoBus, size_t numRecorders, size_t numInputChannels, size_t numOutputChannels)
 
 ~KwidgetAudioProcessor () override
 
void addKListener (KListener *l)
 
void removeKListener (KListener *l)
 
void prepareToPlay (double sampleRate, int samplesPerBlock) override
 
void processBlock (AudioBuffer< float > &, MidiBuffer &) override
 
void releaseResources () override
 
void removeEngines ()
 
KwidgetaddUserKwidget (const String &kwidgetType, const String &idModifier="", int typeInstanceLimit=0)
 
KwidgetaddChildKwidget (const String &kwidgetType, const String &parentID="", const String &childID="", int typeInstanceLimit=0)
 
KwidgetaddKwidgetFromState (const ValueTree &kwidgetTree)
 
void removeKwidget (const String &kwidgetID)
 
void removeDynamicKwidgets ()
 
void removeKwidgetsExcluding (const StringArray &kwidgetsToExclude)
 
void removeKwidgetsOfType (const StringArray &kwidgetTypesToRemove)
 
bool addConnection (const String &sourceID, const String &destID)
 
bool makeStaticConnectionsForKwidget (Kwidget *kwidget)
 
void clearModulation ()
 
bool setState (const ValueTree &newState)
 
void loadBundle (const File &bundleDirectory)
 Load a preset bundle from a directory.
 
bool validateState (const ValueTree &newState, bool repairEnabled)
 
void notifyAllKwidgetsParametersListeners ()
 
ValueTree getState ()
 
const Array< Kwidget * > & getKwidgets ()
 
KwidgetgetKwidget (const String &kwidgetID)
 Attempt to find a kwidget by its ID.
 
const Array< Kwidget * > getKwidgetsOfType (const String kwidgetType)
 Get a list of all Kwidgets of type m_kwidgetType that have been added.
 
const Array< Kwidget * > getKwidgetsOfTypeWithAccessPermission (const StringRef kwidgetType, const StringRef reqId)
 Get a list of all Kwidgets of type m_kwidgetType that have been added for which access permission can be granted.
 
KwidgetgetKwidgetWithAccessPermission (const String &kwidgetID, const StringRef reqId)
 Attempt to find a kwidget by its ID, and use its ResourceLock to guarantee access.
 
void getStateInformation (MemoryBlock &destData) override
 
void setStateInformation (const void *data, int sizeInBytes) override
 
void setLastPresetPath (String inLastPresetPath)
 
String & getLastPresetPath ()
 
const String getName () const override
 
bool acceptsMidi () const override
 
bool producesMidi () const override
 
bool isMidiEffect () const override
 
double getTailLengthSeconds () const override
 
int getNumPrograms () override
 
int getCurrentProgram () override
 
void setCurrentProgram (int index) override
 
const String getProgramName (int index) override
 
void changeProgramName (int index, const String &newName) override
 
bool isBusesLayoutSupported (const BusesLayout &) const override
 
void timerCallback () override
 
bool isRecording ()
 
const bool isRecordingTriggerStarted ()
 
const bool isAStaticKwidgetType (const String &kType)
 
const bool isAStaticKwidget (const Kwidget &kwidget)
 
void setReadSpecificFiles (bool canRead)
 
bool isKwidgetAddedFromState () const
 
void setAddedFromState (bool isAddedFromState)
 
- Public Member Functions inherited from krotos::Kwidget_CoreEngine::Listener
virtual ~Listener ()=default
 
- Public Member Functions inherited from krotos::Kwidget_Reformer::Listener
virtual ~Listener ()=default
 
- Public Member Functions inherited from krotos::Kwidget_TriggerButton::Listener
virtual ~Listener ()=default
 

Public Attributes

std::function< void()> onAutoplayTimerStop
 
ParameterManager parameterManager
 
PresetManager presetManager
 
AssetManager assetManager
 
PluginHostType host
 
std::unique_ptr< ValueTree > presetInfoTree
 
const bool unitTest {false}
 

Static Public Attributes

static const StringArray StaticKwidgetTypes
 
static const StringArray StaticKwidgetIDs
 
static SettingsFile settingsFile
 
static const String autoPlayMaxDuration {"autoplay_max_duration"}
 
static const String recorderReleaseTime {"recorder_release_time"}
 
static const String DroppedFileNameFormat
 
static const String DefaultDroppedFileNameFormat
 
static const String T2PStrictMode
 

Protected Attributes

bool bypassPostFx {false}
 

Private Member Functions

void initialiseSettingsFileValues ()
 
void initialiseAudioOutConfiguration ()
 
void initialiseRecorders ()
 
void initialiseMasterFX ()
 
void setInitialState ()
 
KwidgetaddKwidgetWithID (const String &kwidgetType, const String &kwidgetID, bool useEndParams=false, bool isChildKwidget=false)
 
void addKwidgetInternal (std::unique_ptr< Kwidget > kwidget)
 
void initialiseStateListeners ()
 
void triggerRecordingStart ()
 
void triggerRecordingStop ()
 
virtual void parameterValueChanged (int, float newValue) override
 
void parameterGestureChanged (int, bool) override
 
virtual void soloActivated (Kwidget_CoreEngine *engine) override
 
virtual void soloDeActivated (Kwidget_CoreEngine *engine) override
 
virtual void autoPlayChanged (Kwidget_CoreEngine *engine, float newValue) override
 
virtual void loopEnableChanged (Kwidget_CoreEngine *engine, float newValue) override
 
virtual void soloActivated (Kwidget_Reformer *engine) override
 
virtual void soloDeActivated (Kwidget_Reformer *engine) override
 
virtual void autoPlayChanged (Kwidget_Reformer *engine, float newValue) override
 
virtual void loopEnableChanged (Kwidget_Reformer *engine, float newValue) override
 
void soloActivatedAllEngines (const String &callingID)
 
void soloDeActivatedAllEngines (const String &callingID)
 
virtual void onClickChanged (Kwidget_TriggerButton *triggerButton, float newValue, MIDIMode midiModeValue) override
 
void autoPlayGlobalChanged (bool newVal)
 
void recordOutput (AudioBuffer< float > &buffer, MidiBuffer &midiMessages)
 
void setRecordersNameData (String currentPresetName)
 
AudioBuffer< float > extractStereoBuffer (int numChannel1, int numChannel2, AudioBuffer< float > &multiChannelBuffer)
 

Private Attributes

size_t m_numBusses
 
size_t m_channelsPerStereoBus
 
size_t m_numRecorders
 
std::vector< Kwidget * > m_audioOuts
 
const String m_masterAudioOutID {"Master"}
 
Kwidgetm_masterAudioOut {nullptr}
 
std::unique_ptr< Kwidgetm_masterFilter
 
std::unique_ptr< Kwidgetm_masterReverb
 
std::unique_ptr< Kwidgetm_intensityMacro
 
std::vector< std::unique_ptr< Kwidget > > m_recorders {m_numRecorders}
 
KParameterm_audioOutFxEnabledParameter
 
Array< Kwidget_Recorder * > m_recorderPtrs
 
String m_initPresetPath
 
String m_lastLoadedPresetPath
 
const int m_numVoices
 
bool m_globalAutoplayOn {false}
 
std::map< juce::String, bool > m_autoplay
 
bool m_xypadTriggerOn {false}
 
bool m_addedFromState {false}
 
bool m_isRecording {false}
 
bool m_recordingTriggerStarted {false}
 
float m_previousTriggerValue {0.0f}
 
KwidgetProcessorGraph m_mainGraph
 
KwidgetProcessorGraph m_modulatorGraph
 
KwidgetSynth m_synthPoly
 
KwidgetSynth m_synthDrone
 
std::unique_ptr< ValueTreeAttachmentm_connectionAttachment
 
std::unique_ptr< ValueTreeAttachmentm_modulationAttachment
 
OwnedArray< CustomParameterm_modulationInstances
 
Array< Kwidget * > m_kwidgets
 
std::map< String, Kwidget * > m_kwidgetLookup
 
ListenerList< KListenerm_listeners
 
std::atomic< bool > m_shouldInit {true}
 
bool m_editorShouldShowWelcomeDialog {false}
 
bool m_readSpecificFiles {false}
 
PresetEventMiddleware m_presetEventMiddleware
 
CriticalSection m_lock
 
WeakReference< KwidgetAudioProcessor >::Master masterReference
 

Friends

class WeakReference< KwidgetAudioProcessor >
 

Member Typedef Documentation

◆ KMod

◆ KType

Constructor & Destructor Documentation

◆ KwidgetAudioProcessor()

krotos::KwidgetAudioProcessor::KwidgetAudioProcessor ( const BusesProperties & ioLayouts,
size_t numBusses,
size_t channelsPerStereoBus,
size_t numRecorders,
size_t numInputChannels,
size_t numOutputChannels )

◆ ~KwidgetAudioProcessor()

krotos::KwidgetAudioProcessor::~KwidgetAudioProcessor ( )
override

Member Function Documentation

◆ acceptsMidi()

bool krotos::KwidgetAudioProcessor::acceptsMidi ( ) const
override

◆ addChildKwidget()

Kwidget * krotos::KwidgetAudioProcessor::addChildKwidget ( const String & kwidgetType,
const String & parentID = "",
const String & childID = "",
int typeInstanceLimit = 0 )

Add a Child Kwidget to the Audio Processor - this method used internally to create new Kwidgets specifically to be childed to parents

Parameters
kwidgetTypeThe type of Kwidget you wish to create - it will be created and added to state
  • A unique Kwidget ID will be generated based on parentID, childID and typeInstanceLimit
parentIDSpecify the ID of the parent Kwidget you want to be a child of
childIDSpecify the name you want to give this child for inclusion in the final ID for this child
typeInstanceLimitSpecify the maximum range of the numerical suffix on the eventual Kwidget ID
  • this effectively controls the max instances of this Kwidget Type within any given parent
Returns
Returns a pointer to the new Kwidget if succeeds, otherwise returns a nullptr

◆ addConnection()

bool krotos::KwidgetAudioProcessor::addConnection ( const String & sourceID,
const String & destID )

Attempt to connect the audio of two Kwidgets.

Returns
True if the Kwidgets were successfully connected, false if not.

◆ addKListener()

void krotos::KwidgetAudioProcessor::addKListener ( KListener * l)

◆ addKwidgetFromState()

Kwidget * krotos::KwidgetAudioProcessor::addKwidgetFromState ( const ValueTree & kwidgetTree)

Add a Kwidget to the Audio Processor - Use this method to create a new Kwidgets from a value tree representation

Parameters
kwidgetTreeA ValueTree specifying the Kwidget you wish to create - it will be created and added to state
Returns
Returns a pointer to the new Kwidget if succeeds, otherwise returns a nullptr

When loading a Kwidget from the state, its parameters will be linked to the same GenericParameters that were linked when the state was saved.

Due to that, this function should probably only be used when switching the entire state of the plugin.

◆ addKwidgetInternal()

void krotos::krotos::KwidgetAudioProcessor::addKwidgetInternal ( std::unique_ptr< Kwidget > kwidget)
private

◆ addKwidgetWithID()

Kwidget * krotos::KwidgetAudioProcessor::addKwidgetWithID ( const String & kwidgetType,
const String & kwidgetID,
bool useEndParams = false,
bool isChildKwidget = false )
private

Internal use. Create & add a new kwidget to the processor, with a specified ID and arguments for static kwidgets to specify exceptions to parameter / state handling

◆ addUserKwidget()

Kwidget * krotos::KwidgetAudioProcessor::addUserKwidget ( const String & kwidgetType,
const String & idModifier = "",
int typeInstanceLimit = 0 )

Create & add a new Kwidget of a given type to the audio processor with a uniquely generated unique ID. The kwidget & its parameters will be managed by the processor. Additional arguments may be given to modify ID generation.

Parameters
kwidgetTypeThe type of Kwidget you wish to create. See KType.
idModifierA short string to add extra info into the eventual Kwidget ID - the ID manager will incorporate this into the ID - eg as a prefix to indicate tab - T1, T2 etc Example of use: baseID = "CoreEngine", idModifier = "Tab1", typeInstanceLimit = 100 returns "Tab1CoreEngine<0-99>" Worth noting that although the example above is typical, this method might choose to apply different schemas to different baseIDs.
typeInstanceLimitSpecify the maximum range of the numerical suffix on the Kwidget ID
  • this effectively controls the max instances of this Kwidget Type
Returns
Returns a pointer to the new Kwidget if succeeds, otherwise returns a nullptr

◆ autoPlayChanged() [1/2]

void krotos::KwidgetAudioProcessor::autoPlayChanged ( Kwidget_CoreEngine * engine,
float newValue )
overrideprivatevirtual

◆ autoPlayChanged() [2/2]

virtual void krotos::KwidgetAudioProcessor::autoPlayChanged ( Kwidget_Reformer * engine,
float newValue )
inlineoverrideprivatevirtual

◆ autoPlayGlobalChanged()

void krotos::KwidgetAudioProcessor::autoPlayGlobalChanged ( bool newVal)
private

◆ changeProgramName()

void krotos::KwidgetAudioProcessor::changeProgramName ( int index,
const String & newName )
override

◆ clearModulation()

void krotos::KwidgetAudioProcessor::clearModulation ( )

Clear all modulation instances.

◆ extractStereoBuffer()

AudioBuffer< float > krotos::KwidgetAudioProcessor::extractStereoBuffer ( int numChannel1,
int numChannel2,
AudioBuffer< float > & multiChannelBuffer )
private

Helper function that creates a stereo Buffer from a multichannel one, without copy

◆ getCurrentProgram()

int krotos::KwidgetAudioProcessor::getCurrentProgram ( )
override

◆ getKwidget()

Kwidget * krotos::KwidgetAudioProcessor::getKwidget ( const String & kwidgetID)

Attempt to find a kwidget by its ID.

Parameters
kwidgetIDId of the kwidget you wish to find
Returns
returns a pointer to the kwidget if found, or nullptr if not found

◆ getKwidgets()

const Array< Kwidget * > & krotos::KwidgetAudioProcessor::getKwidgets ( )

Get a list of all Kwidgets that have been added.

◆ getKwidgetsOfType()

const Array< Kwidget * > krotos::KwidgetAudioProcessor::getKwidgetsOfType ( const String kwidgetType)

Get a list of all Kwidgets of type m_kwidgetType that have been added.

Parameters
kwidgetType
Returns
returns an array of kwidget pointers

◆ getKwidgetsOfTypeWithAccessPermission()

const Array< Kwidget * > krotos::KwidgetAudioProcessor::getKwidgetsOfTypeWithAccessPermission ( const StringRef kwidgetType,
const StringRef reqId )

Get a list of all Kwidgets of type m_kwidgetType that have been added for which access permission can be granted.

Parameters
kwidgetType
Returns
returns an array of kwidget pointers

◆ getKwidgetWithAccessPermission()

Kwidget * krotos::KwidgetAudioProcessor::getKwidgetWithAccessPermission ( const String & kwidgetID,
const StringRef reqId )

Attempt to find a kwidget by its ID, and use its ResourceLock to guarantee access.

Parameters
kwidgetIDId of the kwidget you wish to find
Returns
returns a pointer to the kwidget if found and locked, or nullptr if not found

◆ getLastPresetPath()

String & krotos::KwidgetAudioProcessor::getLastPresetPath ( )

◆ getName()

const String krotos::KwidgetAudioProcessor::getName ( ) const
override

◆ getNumPrograms()

int krotos::KwidgetAudioProcessor::getNumPrograms ( )
override

◆ getProgramName()

const String krotos::KwidgetAudioProcessor::getProgramName ( int index)
override

◆ getState()

ValueTree krotos::KwidgetAudioProcessor::getState ( )

Get a copy of the plugin state.

◆ getStateInformation()

void krotos::KwidgetAudioProcessor::getStateInformation ( MemoryBlock & destData)
override

◆ getTailLengthSeconds()

double krotos::KwidgetAudioProcessor::getTailLengthSeconds ( ) const
override

◆ initialiseAudioOutConfiguration()

void krotos::KwidgetAudioProcessor::initialiseAudioOutConfiguration ( )
private

◆ initialiseMasterFX()

void krotos::KwidgetAudioProcessor::initialiseMasterFX ( )
private

◆ initialiseRecorders()

void krotos::KwidgetAudioProcessor::initialiseRecorders ( )
private

◆ initialiseSettingsFileValues()

void krotos::KwidgetAudioProcessor::initialiseSettingsFileValues ( )
private

Initalise settingsFile values required at runtime

◆ initialiseStateListeners()

void krotos::KwidgetAudioProcessor::initialiseStateListeners ( )
private

Listeners for Kwidget audio connection changes.

Listeners for Kwidget modulation changes.

◆ isAStaticKwidget()

const bool krotos::KwidgetAudioProcessor::isAStaticKwidget ( const Kwidget & kwidget)

◆ isAStaticKwidgetType()

const bool krotos::KwidgetAudioProcessor::isAStaticKwidgetType ( const String & kType)
inline

◆ isBusesLayoutSupported()

bool krotos::KwidgetAudioProcessor::isBusesLayoutSupported ( const BusesLayout & ) const
override

◆ isKwidgetAddedFromState()

bool krotos::KwidgetAudioProcessor::isKwidgetAddedFromState ( ) const
inline

Returns true if a Kwidget was just added from State.

◆ isMidiEffect()

bool krotos::KwidgetAudioProcessor::isMidiEffect ( ) const
override

◆ isRecording()

bool krotos::krotos::KwidgetAudioProcessor::isRecording ( )

Get true if a recording is taking place

◆ isRecordingTriggerStarted()

const bool krotos::KwidgetAudioProcessor::isRecordingTriggerStarted ( )
inline

◆ loadBundle()

void krotos::KwidgetAudioProcessor::loadBundle ( const File & bundleDirectory)

Load a preset bundle from a directory.

Parameters
bundleDirectoryDirectory of the uncompressed preset bundle. To open a compressed bundle,
See also
PresetBundler::openBundle

◆ loopEnableChanged() [1/2]

void krotos::KwidgetAudioProcessor::loopEnableChanged ( Kwidget_CoreEngine * engine,
float newValue )
overrideprivatevirtual

◆ loopEnableChanged() [2/2]

virtual void krotos::KwidgetAudioProcessor::loopEnableChanged ( Kwidget_Reformer * engine,
float newValue )
inlineoverrideprivatevirtual

◆ makeStaticConnectionsForKwidget()

bool krotos::KwidgetAudioProcessor::makeStaticConnectionsForKwidget ( Kwidget * kwidget)

Attempt to connect up any static connections required for the Kwidget with the supplied Kwidget ID

Returns
True if the Kwidget was successfully connected, false if not.

◆ notifyAllKwidgetsParametersListeners()

void krotos::KwidgetAudioProcessor::notifyAllKwidgetsParametersListeners ( )

Sends out a value changed message for every parameter.

◆ onClickChanged()

void krotos::KwidgetAudioProcessor::onClickChanged ( Kwidget_TriggerButton * triggerButton,
float newValue,
MIDIMode midiModeValue )
overrideprivatevirtual

◆ parameterGestureChanged()

void krotos::KwidgetAudioProcessor::parameterGestureChanged ( int ,
bool  )
inlineoverrideprivate

◆ parameterValueChanged()

void krotos::KwidgetAudioProcessor::parameterValueChanged ( int ,
float newValue )
overrideprivatevirtual

Sets boolean to true whenever the parameter Value changes

◆ prepareToPlay()

void krotos::KwidgetAudioProcessor::prepareToPlay ( double sampleRate,
int samplesPerBlock )
override

◆ processBlock()

void krotos::KwidgetAudioProcessor::processBlock ( AudioBuffer< float > & buffer,
MidiBuffer & midiMessages )
override

◆ producesMidi()

bool krotos::KwidgetAudioProcessor::producesMidi ( ) const
override

◆ recordOutput()

void krotos::KwidgetAudioProcessor::recordOutput ( AudioBuffer< float > & buffer,
MidiBuffer & midiMessages )
private

◆ releaseResources()

void krotos::KwidgetAudioProcessor::releaseResources ( )
inlineoverride

◆ removeDynamicKwidgets()

void krotos::KwidgetAudioProcessor::removeDynamicKwidgets ( )

Remove all Kwidgets, except static kwidgets.

◆ removeEngines()

void krotos::KwidgetAudioProcessor::removeEngines ( )

◆ removeKListener()

void krotos::KwidgetAudioProcessor::removeKListener ( KListener * l)

◆ removeKwidget()

void krotos::KwidgetAudioProcessor::removeKwidget ( const String & kwidgetID)

Remove a Kwidget.

◆ removeKwidgetsExcluding()

void krotos::KwidgetAudioProcessor::removeKwidgetsExcluding ( const StringArray & kwidgetsToExclude)

Remove all Kwidgets except for those whose IDs are included in the input array, and static kwidgets.

◆ removeKwidgetsOfType()

void krotos::KwidgetAudioProcessor::removeKwidgetsOfType ( const StringArray & kwidgetTypesToRemove)

Remove all kwidgets of a given type

◆ setAddedFromState()

void krotos::KwidgetAudioProcessor::setAddedFromState ( bool isAddedFromState)
inline

◆ setCurrentProgram()

void krotos::KwidgetAudioProcessor::setCurrentProgram ( int index)
override

◆ setInitialState()

void krotos::KwidgetAudioProcessor::setInitialState ( )
private

◆ setLastPresetPath()

void krotos::KwidgetAudioProcessor::setLastPresetPath ( String inLastPresetPath)

◆ setReadSpecificFiles()

void krotos::KwidgetAudioProcessor::setReadSpecificFiles ( bool canRead)

Can coreEngine/Reformer kwidget read kaf files (licensing related)

◆ setRecordersNameData()

void krotos::KwidgetAudioProcessor::setRecordersNameData ( String currentPresetName)
private

◆ setState()

bool krotos::KwidgetAudioProcessor::setState ( const ValueTree & newState)

Set the state of the plugin. Return success of state change.

◆ setStateInformation()

void krotos::KwidgetAudioProcessor::setStateInformation ( const void * data,
int sizeInBytes )
override

◆ soloActivated() [1/2]

void krotos::KwidgetAudioProcessor::soloActivated ( Kwidget_CoreEngine * engine)
overrideprivatevirtual

◆ soloActivated() [2/2]

void krotos::KwidgetAudioProcessor::soloActivated ( Kwidget_Reformer * engine)
overrideprivatevirtual

◆ soloActivatedAllEngines()

void krotos::KwidgetAudioProcessor::soloActivatedAllEngines ( const String & callingID)
private

This method is called when either Reformer or Core Engine mute buttons activate And allows cross-soloing logic between the different kwidget types ie Core engines can mute Reformers and vice versa

◆ soloDeActivated() [1/2]

void krotos::KwidgetAudioProcessor::soloDeActivated ( Kwidget_CoreEngine * engine)
overrideprivatevirtual

◆ soloDeActivated() [2/2]

void krotos::KwidgetAudioProcessor::soloDeActivated ( Kwidget_Reformer * engine)
overrideprivatevirtual

◆ soloDeActivatedAllEngines()

void krotos::KwidgetAudioProcessor::soloDeActivatedAllEngines ( const String & callingID)
private

This method is called when either Reformer or Core Engine mute buttons de-activate And allows cross-soloing logic between the different kwidget types ie Core engines can mute Reformers and vice versa

◆ timerCallback()

void krotos::KwidgetAudioProcessor::timerCallback ( )
override

Periodic Timer Callback.

◆ triggerRecordingStart()

void krotos::KwidgetAudioProcessor::triggerRecordingStart ( )
private

◆ triggerRecordingStop()

void krotos::KwidgetAudioProcessor::triggerRecordingStop ( )
private

◆ validateState()

bool krotos::KwidgetAudioProcessor::validateState ( const ValueTree & newState,
bool repairEnabled )

Validate and repair incoming state before loading/calling setState. Return validation success status.

Friends And Related Symbol Documentation

◆ WeakReference< KwidgetAudioProcessor >

friend class WeakReference< KwidgetAudioProcessor >
friend

Member Data Documentation

◆ assetManager

AssetManager krotos::KwidgetAudioProcessor::assetManager

◆ autoPlayMaxDuration

const String krotos::KwidgetAudioProcessor::autoPlayMaxDuration {"autoplay_max_duration"}
static

◆ bypassPostFx

bool krotos::KwidgetAudioProcessor::bypassPostFx {false}
protected

◆ DefaultDroppedFileNameFormat

const String krotos::KwidgetAudioProcessor::DefaultDroppedFileNameFormat
static

◆ DroppedFileNameFormat

const String krotos::KwidgetAudioProcessor::DroppedFileNameFormat
static

◆ host

PluginHostType krotos::KwidgetAudioProcessor::host

◆ m_addedFromState

bool krotos::KwidgetAudioProcessor::m_addedFromState {false}
private

◆ m_audioOutFxEnabledParameter

KParameter* krotos::KwidgetAudioProcessor::m_audioOutFxEnabledParameter
private

◆ m_audioOuts

std::vector<Kwidget*> krotos::KwidgetAudioProcessor::m_audioOuts
private

◆ m_autoplay

std::map<juce::String, bool> krotos::KwidgetAudioProcessor::m_autoplay
private

◆ m_channelsPerStereoBus

size_t krotos::KwidgetAudioProcessor::m_channelsPerStereoBus
private

◆ m_connectionAttachment

std::unique_ptr<ValueTreeAttachment> krotos::KwidgetAudioProcessor::m_connectionAttachment
private

◆ m_editorShouldShowWelcomeDialog

bool krotos::KwidgetAudioProcessor::m_editorShouldShowWelcomeDialog {false}
private

◆ m_globalAutoplayOn

bool krotos::KwidgetAudioProcessor::m_globalAutoplayOn {false}
private

◆ m_initPresetPath

String krotos::KwidgetAudioProcessor::m_initPresetPath
private

◆ m_intensityMacro

std::unique_ptr<Kwidget> krotos::KwidgetAudioProcessor::m_intensityMacro
private

◆ m_isRecording

bool krotos::KwidgetAudioProcessor::m_isRecording {false}
private

◆ m_kwidgetLookup

std::map<String, Kwidget*> krotos::KwidgetAudioProcessor::m_kwidgetLookup
private

◆ m_kwidgets

Array<Kwidget*> krotos::KwidgetAudioProcessor::m_kwidgets
private

◆ m_lastLoadedPresetPath

String krotos::KwidgetAudioProcessor::m_lastLoadedPresetPath
private

◆ m_listeners

ListenerList<KListener> krotos::KwidgetAudioProcessor::m_listeners
private

◆ m_lock

CriticalSection krotos::KwidgetAudioProcessor::m_lock
private

◆ m_mainGraph

KwidgetProcessorGraph krotos::KwidgetAudioProcessor::m_mainGraph
private

◆ m_masterAudioOut

Kwidget* krotos::KwidgetAudioProcessor::m_masterAudioOut {nullptr}
private

◆ m_masterAudioOutID

const String krotos::KwidgetAudioProcessor::m_masterAudioOutID {"Master"}
private

◆ m_masterFilter

std::unique_ptr<Kwidget> krotos::KwidgetAudioProcessor::m_masterFilter
private

◆ m_masterReverb

std::unique_ptr<Kwidget> krotos::KwidgetAudioProcessor::m_masterReverb
private

◆ m_modulationAttachment

std::unique_ptr<ValueTreeAttachment> krotos::KwidgetAudioProcessor::m_modulationAttachment
private

◆ m_modulationInstances

OwnedArray<CustomParameter> krotos::KwidgetAudioProcessor::m_modulationInstances
private

◆ m_modulatorGraph

KwidgetProcessorGraph krotos::KwidgetAudioProcessor::m_modulatorGraph
private

◆ m_numBusses

size_t krotos::KwidgetAudioProcessor::m_numBusses
private

◆ m_numRecorders

size_t krotos::KwidgetAudioProcessor::m_numRecorders
private

◆ m_numVoices

const int krotos::KwidgetAudioProcessor::m_numVoices
private

◆ m_presetEventMiddleware

PresetEventMiddleware krotos::KwidgetAudioProcessor::m_presetEventMiddleware
private

◆ m_previousTriggerValue

float krotos::KwidgetAudioProcessor::m_previousTriggerValue {0.0f}
private

◆ m_readSpecificFiles

bool krotos::KwidgetAudioProcessor::m_readSpecificFiles {false}
private

◆ m_recorderPtrs

Array<Kwidget_Recorder*> krotos::KwidgetAudioProcessor::m_recorderPtrs
private

◆ m_recorders

std::vector<std::unique_ptr<Kwidget> > krotos::KwidgetAudioProcessor::m_recorders {m_numRecorders}
private

◆ m_recordingTriggerStarted

bool krotos::KwidgetAudioProcessor::m_recordingTriggerStarted {false}
private

◆ m_shouldInit

std::atomic<bool> krotos::KwidgetAudioProcessor::m_shouldInit {true}
private

◆ m_synthDrone

KwidgetSynth krotos::KwidgetAudioProcessor::m_synthDrone
private

◆ m_synthPoly

KwidgetSynth krotos::KwidgetAudioProcessor::m_synthPoly
private

◆ m_xypadTriggerOn

bool krotos::KwidgetAudioProcessor::m_xypadTriggerOn {false}
private

◆ masterReference

WeakReference<KwidgetAudioProcessor>::Master krotos::KwidgetAudioProcessor::masterReference
private

◆ onAutoplayTimerStop

std::function<void()> krotos::KwidgetAudioProcessor::onAutoplayTimerStop

Callback on recorder timer cutoff being hit.

◆ parameterManager

ParameterManager krotos::KwidgetAudioProcessor::parameterManager

◆ presetInfoTree

std::unique_ptr<ValueTree> krotos::KwidgetAudioProcessor::presetInfoTree

◆ presetManager

PresetManager krotos::KwidgetAudioProcessor::presetManager

◆ recorderReleaseTime

const String krotos::KwidgetAudioProcessor::recorderReleaseTime {"recorder_release_time"}
static

◆ settingsFile

SettingsFile krotos::KwidgetAudioProcessor::settingsFile
static
Initial value:
=
File(AssetManager::getPluginDirectory().getFullPathName() + File::getSeparatorString() + "settings.json")
static File getPluginDirectory()
Definition AssetManager.cpp:392

◆ StaticKwidgetIDs

const StringArray krotos::KwidgetAudioProcessor::StaticKwidgetIDs
static
Initial value:
= {
}
static const String MasterFX
Definition KwidgetFactory.h:40
static const String MacroSlider
Definition KwidgetFactory.h:22

◆ StaticKwidgetTypes

const StringArray krotos::KwidgetAudioProcessor::StaticKwidgetTypes
static
Initial value:
= {
}
static const String ConvolutionReverb
Definition KwidgetFactory.h:15
static const String AudioOut
Definition KwidgetFactory.h:11
static const String Recorder
Definition KwidgetFactory.h:24
static const String Filter
Definition KwidgetFactory.h:18

◆ T2PStrictMode

const String krotos::KwidgetAudioProcessor::T2PStrictMode
static

◆ unitTest

const bool krotos::KwidgetAudioProcessor::unitTest {false}

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