Mema
Memory Matrix — multi-channel audio matrix monitor and router
Loading...
Searching...
No Matches
Mema::TwoDFieldMultisliderComponent Class Reference

#include <TwoDFieldMultisliderComponent.h>

+ Inheritance diagram for Mema::TwoDFieldMultisliderComponent:
+ Collaboration diagram for Mema::TwoDFieldMultisliderComponent:

Classes

struct  TwoDMultisliderSourcePosition
 Position data for a single source handle in the 2-D field. More...
 
struct  TwoDMultisliderValue
 

Public Member Functions

 TwoDFieldMultisliderComponent ()
 
 ~TwoDFieldMultisliderComponent ()
 
bool setChannelConfiguration (const juce::AudioChannelSet &channelLayout) override
 
void setIOCount (const std::pair< int, int > &ioCount)
 
void setControlsSize (int ctrlsSize)
 
void paint (Graphics &) override
 
void resized () override
 
void lookAndFeelChanged () override
 
std::unique_ptr< juce::ComponentTraverser > createKeyboardFocusTraverser () override
 
void mouseDown (const juce::MouseEvent &e) override
 
void mouseUp (const MouseEvent &e) override
 
void mouseDrag (const MouseEvent &e) override
 
void setInputToOutputStates (const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &inputToOutputStates)
 
void setInputToOutputLevels (const std::map< std::uint16_t, std::map< std::uint16_t, float > > &inputToOutputLevels)
 
void setInputPosition (std::uint16_t channel, const TwoDMultisliderValue &value, const float &panningSharpness, const ChannelLayer &layer, juce::NotificationType notification=juce::dontSendNotification)
 
void setInputPositionValue (std::uint16_t channel, const TwoDMultisliderValue &value, juce::NotificationType notification=juce::dontSendNotification)
 
void setInputPositionSharpness (std::uint16_t channel, const float &sharpness, juce::NotificationType notification=juce::dontSendNotification)
 
void setInputPositionLayer (std::uint16_t channel, const ChannelLayer &layer, juce::NotificationType notification=juce::dontSendNotification)
 
void selectInput (std::uint16_t channel, bool selectOn, juce::NotificationType notification=juce::dontSendNotification)
 
void triggerInputPositionsDump ()
 

Public Attributes

std::function< void(std::uint16_t channel, const TwoDMultisliderValue &value, const float &sharpness, std::optional< ChannelLayer > layer)> onInputPositionChanged
 
std::function< void(std::uint16_t channel)> onInputSelected
 
std::function< void(const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &)> onInputToOutputStatesChanged
 
std::function< void(const std::map< std::uint16_t, std::map< std::uint16_t, float > > &)> onInputToOutputValuesChanged
 

Detailed Description

2-D sound-field component with one draggable handle per input channel.

Definition at line 39 of file TwoDFieldMultisliderComponent.h.

Constructor & Destructor Documentation

◆ TwoDFieldMultisliderComponent()

Mema::TwoDFieldMultisliderComponent::TwoDFieldMultisliderComponent ( )

Definition at line 94 of file TwoDFieldMultisliderComponent.cpp.

References onInputPositionChanged.

◆ ~TwoDFieldMultisliderComponent()

Mema::TwoDFieldMultisliderComponent::~TwoDFieldMultisliderComponent ( )

Definition at line 126 of file TwoDFieldMultisliderComponent.cpp.

Member Function Documentation

◆ createKeyboardFocusTraverser()

std::unique_ptr< juce::ComponentTraverser > Mema::TwoDFieldMultisliderComponent::createKeyboardFocusTraverser ( )
override

Definition at line 130 of file TwoDFieldMultisliderComponent.cpp.

◆ lookAndFeelChanged()

void Mema::TwoDFieldMultisliderComponent::lookAndFeelChanged ( )
override

Definition at line 457 of file TwoDFieldMultisliderComponent.cpp.

◆ mouseDown()

void Mema::TwoDFieldMultisliderComponent::mouseDown ( const juce::MouseEvent &  e)
override

Definition at line 467 of file TwoDFieldMultisliderComponent.cpp.

References selectInput().

◆ mouseDrag()

void Mema::TwoDFieldMultisliderComponent::mouseDrag ( const MouseEvent &  e)
override

Definition at line 508 of file TwoDFieldMultisliderComponent.cpp.

References setInputPosition().

◆ mouseUp()

void Mema::TwoDFieldMultisliderComponent::mouseUp ( const MouseEvent &  e)
override

Definition at line 503 of file TwoDFieldMultisliderComponent.cpp.

◆ paint()

void Mema::TwoDFieldMultisliderComponent::paint ( Graphics &  )
override

Definition at line 136 of file TwoDFieldMultisliderComponent.cpp.

◆ resized()

void Mema::TwoDFieldMultisliderComponent::resized ( )
override

Definition at line 363 of file TwoDFieldMultisliderComponent.cpp.

Referenced by setControlsSize().

◆ selectInput()

void Mema::TwoDFieldMultisliderComponent::selectInput ( std::uint16_t  channel,
bool  selectOn,
juce::NotificationType  notification = juce::dontSendNotification 
)

◆ setChannelConfiguration()

bool Mema::TwoDFieldMultisliderComponent::setChannelConfiguration ( const juce::AudioChannelSet &  channelLayout)
override

Definition at line 809 of file TwoDFieldMultisliderComponent.cpp.

◆ setControlsSize()

void Mema::TwoDFieldMultisliderComponent::setControlsSize ( int  ctrlsSize)

Definition at line 758 of file TwoDFieldMultisliderComponent.cpp.

References resized().

◆ setInputPosition()

void Mema::TwoDFieldMultisliderComponent::setInputPosition ( std::uint16_t  channel,
const TwoDMultisliderValue value,
const float &  panningSharpness,
const ChannelLayer &  layer,
juce::NotificationType  notification = juce::dontSendNotification 
)

◆ setInputPositionLayer()

void Mema::TwoDFieldMultisliderComponent::setInputPositionLayer ( std::uint16_t  channel,
const ChannelLayer &  layer,
juce::NotificationType  notification = juce::dontSendNotification 
)

Definition at line 624 of file TwoDFieldMultisliderComponent.cpp.

References onInputPositionChanged.

◆ setInputPositionSharpness()

void Mema::TwoDFieldMultisliderComponent::setInputPositionSharpness ( std::uint16_t  channel,
const float &  sharpness,
juce::NotificationType  notification = juce::dontSendNotification 
)

Definition at line 608 of file TwoDFieldMultisliderComponent.cpp.

References onInputPositionChanged.

◆ setInputPositionValue()

void Mema::TwoDFieldMultisliderComponent::setInputPositionValue ( std::uint16_t  channel,
const TwoDMultisliderValue value,
juce::NotificationType  notification = juce::dontSendNotification 
)

◆ setInputToOutputLevels()

void Mema::TwoDFieldMultisliderComponent::setInputToOutputLevels ( const std::map< std::uint16_t, std::map< std::uint16_t, float > > &  inputToOutputLevels)

Definition at line 786 of file TwoDFieldMultisliderComponent.cpp.

◆ setInputToOutputStates()

void Mema::TwoDFieldMultisliderComponent::setInputToOutputStates ( const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &  inputToOutputStates)

Definition at line 768 of file TwoDFieldMultisliderComponent.cpp.

◆ setIOCount()

void Mema::TwoDFieldMultisliderComponent::setIOCount ( const std::pair< int, int > &  ioCount)

Definition at line 718 of file TwoDFieldMultisliderComponent.cpp.

◆ triggerInputPositionsDump()

void Mema::TwoDFieldMultisliderComponent::triggerInputPositionsDump ( )

Definition at line 637 of file TwoDFieldMultisliderComponent.cpp.

References onInputPositionChanged.

Member Data Documentation

◆ onInputPositionChanged

std::function<void(std::uint16_t channel, const TwoDMultisliderValue& value, const float& sharpness, std::optional<ChannelLayer> layer)> Mema::TwoDFieldMultisliderComponent::onInputPositionChanged

◆ onInputSelected

std::function<void(std::uint16_t channel)> Mema::TwoDFieldMultisliderComponent::onInputSelected

Definition at line 100 of file TwoDFieldMultisliderComponent.h.

Referenced by selectInput().

◆ onInputToOutputStatesChanged

std::function<void(const std::map<std::uint16_t, std::map<std::uint16_t, bool>>&)> Mema::TwoDFieldMultisliderComponent::onInputToOutputStatesChanged

Definition at line 101 of file TwoDFieldMultisliderComponent.h.

◆ onInputToOutputValuesChanged

std::function<void(const std::map<std::uint16_t, std::map<std::uint16_t, float>>&)> Mema::TwoDFieldMultisliderComponent::onInputToOutputValuesChanged

Definition at line 102 of file TwoDFieldMultisliderComponent.h.


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