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

#include <Kwidget_XyPad.h>

Inheritance diagram for krotos::Kwidget_XyPad:
krotos::Kwidget krotos::ResourceLock

Classes

class  Listener
 
struct  Parameters
 

Public Types

enum  xyMode {
  Simple = 0 , Peak , FourZone , Distance ,
  Polar
}
 
- Public Types inherited from krotos::Kwidget
enum  DragID_Index { KwidgetID = 0 , ParameterID = 1 }
 

Public Member Functions

void addListener (Listener *listenerToAdd)
 
void removeListener (Listener *listenerToRemove)
 
 Kwidget_XyPad (const String &id, xyMode mode=xyMode::Simple)
 
bool isToggleOn ()
 
void setToggle (bool toggled)
 
xyMode getCurrentMode ()
 
void setKwidgetAudioProcessorReference (KwidgetAudioProcessor *ref)
 
KwidgetAudioProcessorgetKwidgetAudioProcessorReference ()
 
- Public Member Functions inherited from krotos::Kwidget
 Kwidget (const String &kwidgetType, const String &kwidgetID)
 
virtual ~Kwidget ()=default
 
void init ()
 
std::unique_ptr< KwidgetProcessorcreateVoice ()
 
std::unique_ptr< KwidgetGUIcreateControls ()
 
KwidgetProcessorgetVoice (int idx) const
 
int getNumVoices () const
 
KwidgetProcessorgetActiveVoice () const
 
virtual void noteOn (int voiceIdx, int midiNote, float velocity)
 
virtual void noteOff (int voiceIdx, float velocity)
 
virtual void noteCleared (int voiceIdx)
 
virtual bool isActive (int voiceIdx)
 
void addModulator (const String &paramID, Kwidget *modulator, int modulatorIdx, float depth=0.99f, KAttachment::Polarity=KAttachment::Polarity::Bipolar)
 
void removeModulator (const String &paramID, Kwidget *modulator, int modulatorIdx)
 
void setModulatorDepth (const String &paramID, Kwidget *modulator, int modulatorIdx, float depth)
 
void setModulatorPolarity (const String &paramID, Kwidget *modulator, int modulatorIdx, KAttachment::Polarity polarity)
 
const std::vector< std::shared_ptr< KParameter > > & getParameters () const
 
KParametergetParameter (const String &parameterID) const noexcept
 Get a raw pointer to a KParameter belonging to this Kwidget's KwidgetProcessor. Useful for low overhead direct parameter access.
 
std::shared_ptr< KParametergetParameterToAttach (const String &parameterID) const noexcept
 Get a shared pointer to a KParameter, for use with KParameter::Listener objects and situations where the parameter lifetime goes beyond local scope.
 
CustomParametergetCustomParameter (const String &parameterID)
 
CustomParameterTreegetCustomParameterTree (const Identifier &type)
 Get a CustomParameterTree belonging to this Kwidget.
 
template<typename T >
T * getCustomParameter (const Identifier &type)
 Get the CustomParameterTree subclass object of the specified type.
 
void notifyAllParametersListeners ()
 Call every parameter's value changed listeners with their current values.
 
const ValueTree & getState ()
 
virtual void setState (const ValueTree &newState, KwidgetAudioProcessor &processor)
 
void flushState ()
 
bool isModulator () const
 
int getNumModulators () const
 
const String & getKwidgetType () const
 
const String & getKwidgetID () const
 
const String & getKwidgetVersionFromCurrentState () const
 
String getKwidgetVersion () const
 
virtual const String & getKwidgetLabel ()
 
StringArray getDragID (const String &parameterID)
 
virtual size_t numGUIImplementations ()
 
virtual String getGuiName (int)
 
virtual void createNestedKwidgets (KwidgetAudioProcessor &)
 
bool isAChildKwidget ()
 
std::vector< Kwidget * > & getChildKwidgets ()
 
bool isStateChanging ()
 
void addChildKwidget (Kwidget *child)
 
void removeChildKwidgetFromTree (String kwidgetID)
 
KwidgetfindChildKwidget (String kiwdgetID)
 
void addParameterCallback (const String &paramID, std::function< void(float)> callback)
 
void addVersionedParameterCallback (StringRef kwidgetVersionTheParameterChangedIn, const String &paramID, std::function< void(float)> callback)
 Add an action to be performed when a specified parameter of a specific kwidget version changes value. This can be used to implement backwards compatibility when older versions of the kwidget state are loaded, and the parameters in newer versions may have been changed or removed.
 
int getTemplateID ()
 
- Public Member Functions inherited from krotos::ResourceLock
 ResourceLock ()
 
bool requestAccess (const StringRef id)
 Called by a client to request access to the resource.
 
bool hasAccess (const StringRef id) const
 Called by a client to enquire whether it has access to the resource.
 
void finishedAccessing (const StringRef id)
 Called by a client to inform the resource that it no longer needs access.
 
void setAccessible (bool isAccessible)
 Called by the resource to grant or deny access to clients.
 

Static Public Attributes

static const StringArray modeStrings
 

Protected Member Functions

std::vector< ParameterInfocreateParameters () override
 
std::unique_ptr< KwidgetProcessorcreateProcessor () override
 
std::unique_ptr< KwidgetGUIcreateGUI () override
 
- Protected Member Functions inherited from krotos::Kwidget
void addChildGuis (std::unique_ptr< KwidgetGUI > &parentGui)
 
CustomParametercreateAndAddCustomParameter (const String &paramID, const var &value)
 
template<typename T >
T * createAndAddCustomParameter (const Identifier &type)
 Create a highly customizable piece of state for this Kwidget by appending a subclass of CustomParameterTree to this Kwidget's state.
 
void setKwidgetVersion (const String &kwidgetVersionString)
 

Private Member Functions

void labelXChange (const String &newLabelY)
 
void labelYChange (const String &newLabelX)
 
void labelZChange (const String &newLabelX)
 
void labelWChange (const String &newLabelX)
 

Private Attributes

KwidgetAudioProcessorm_kwidgetAudioProcessorReference {nullptr}
 
xyMode m_currentMode
 
ListenerList< Listenerm_listeners
 
KParameterm_toggle {nullptr}
 

Additional Inherited Members

- Static Public Member Functions inherited from krotos::Kwidget
static String getParentID (String childKwidgetID)
 
- Protected Attributes inherited from krotos::Kwidget
std::vector< Kwidget * > m_childKwidgets
 

Member Enumeration Documentation

◆ xyMode

Enumeration which determines behaviour - value mapping and GUI of an XYPad mode.

Enumerator
Simple 
Peak 
FourZone 
Distance 
Polar 

Constructor & Destructor Documentation

◆ Kwidget_XyPad()

krotos::Kwidget_XyPad::Kwidget_XyPad ( const String & id,
xyMode mode = xyMode::Simple )

Member Function Documentation

◆ addListener()

void krotos::Kwidget_XyPad::addListener ( Listener * listenerToAdd)

◆ createGUI()

std::unique_ptr< KwidgetGUI > krotos::Kwidget_XyPad::createGUI ( )
overrideprotectedvirtual

Override this method to define the type of KwidgetGUI used by this Kwidget.

Implements krotos::Kwidget.

◆ createParameters()

std::vector< Kwidget::ParameterInfo > krotos::Kwidget_XyPad::createParameters ( )
overrideprotectedvirtual

Override this method to define the parameters used by this Kwidget.

Implements krotos::Kwidget.

◆ createProcessor()

std::unique_ptr< KwidgetProcessor > krotos::Kwidget_XyPad::createProcessor ( )
overrideprotectedvirtual

Override this method to define the type of KwidgetProcessor used by this Kwidget.

Implements krotos::Kwidget.

◆ getCurrentMode()

xyMode krotos::Kwidget_XyPad::getCurrentMode ( )
inline

Get current xyMode.

◆ getKwidgetAudioProcessorReference()

KwidgetAudioProcessor * krotos::Kwidget_XyPad::getKwidgetAudioProcessorReference ( )
inline

◆ isToggleOn()

bool krotos::Kwidget_XyPad::isToggleOn ( )
inline

◆ labelWChange()

void krotos::Kwidget_XyPad::labelWChange ( const String & newLabelX)
private

◆ labelXChange()

void krotos::Kwidget_XyPad::labelXChange ( const String & newLabelY)
private

◆ labelYChange()

void krotos::Kwidget_XyPad::labelYChange ( const String & newLabelX)
private

◆ labelZChange()

void krotos::Kwidget_XyPad::labelZChange ( const String & newLabelX)
private

◆ removeListener()

void krotos::Kwidget_XyPad::removeListener ( Listener * listenerToRemove)

◆ setKwidgetAudioProcessorReference()

void krotos::Kwidget_XyPad::setKwidgetAudioProcessorReference ( KwidgetAudioProcessor * ref)
inline

◆ setToggle()

void krotos::Kwidget_XyPad::setToggle ( bool toggled)
inline

Member Data Documentation

◆ m_currentMode

xyMode krotos::Kwidget_XyPad::m_currentMode
private

◆ m_kwidgetAudioProcessorReference

KwidgetAudioProcessor* krotos::Kwidget_XyPad::m_kwidgetAudioProcessorReference {nullptr}
private

◆ m_listeners

ListenerList<Listener> krotos::Kwidget_XyPad::m_listeners
private

◆ m_toggle

KParameter* krotos::Kwidget_XyPad::m_toggle {nullptr}
private

◆ modeStrings

const StringArray krotos::Kwidget_XyPad::modeStrings
static
Initial value:
{
}
static const String XYPadPolar
Definition KwidgetFactory.h:28
static const String XyPadPeak
Definition KwidgetFactory.h:25
static const String XyPad
Definition KwidgetFactory.h:21
static const String XYPad4Zone
Definition KwidgetFactory.h:26
static const String XYPadDistance
Definition KwidgetFactory.h:27

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