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

2-D spatial panning remote control for Mema.Re. More...

#include <PanningControlComponent.h>

+ Inheritance diagram for Mema::PanningControlComponent:
+ Collaboration diagram for Mema::PanningControlComponent:

Public Member Functions

 PanningControlComponent ()
 
virtual ~PanningControlComponent ()
 
void paint (Graphics &) override
 
void resized () override
 
void lookAndFeelChanged () override
 
void resetCtrl () override
 
void setControlsSize (const ControlsSize &ctrlsSize) override
 
void setIOCount (const std::pair< int, int > &ioCount) override
 
void setInputMuteStates (const std::map< std::uint16_t, bool > &inputMuteStates) override
 
void setCrosspointStates (const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &crosspointStates) override
 
void setCrosspointValues (const std::map< std::uint16_t, std::map< std::uint16_t, float > > &crosspointValues) override
 
void setChannelConfig (const juce::AudioChannelSet &channelConfiguration)
 
const juce::AudioChannelSet & getChannelConfig ()
 
void setExternalControlSettings (int ADMOSCPort, const juce::IPAddress &ADMOSCControllerIP, int ADMOSCControllerPort)
 
void handleExternalControlParameter (int objNum, std::uint16_t objType, void *sender=nullptr)
 
- Public Member Functions inherited from Mema::MemaClientControlComponentBase
 MemaClientControlComponentBase ()
 
virtual ~MemaClientControlComponentBase ()
 
const ControlsSizegetControlsSize ()
 
const std::pair< int, int > & getIOCount ()
 
const std::map< std::uint16_t, bool > & getInputMuteStates ()
 
virtual void setOutputMuteStates (const std::map< std::uint16_t, bool > &outputMuteStates)
 
const std::map< std::uint16_t, bool > & getOutputMuteStates ()
 
const std::map< std::uint16_t, std::map< std::uint16_t, bool > > & getCrosspointStates ()
 
const std::map< std::uint16_t, std::map< std::uint16_t, float > > & getCrosspointValues ()
 
virtual void addCrosspointStates (const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &crosspointStates)
 
virtual void addCrosspointValues (const std::map< std::uint16_t, std::map< std::uint16_t, float > > &crosspointValues)
 
const juce::String getClientControlParametersAsString ()
 
const juce::String getIOCountParametersAsString ()
 
const juce::String getInputMuteParametersAsString ()
 
const juce::String getOutputMuteParametersAsString ()
 
const juce::String getCrosspointParametersAsString ()
 

Protected Member Functions

void changeInputPosition (std::uint16_t channel, std::optional< float > xValOpt, std::optional< float > yValOpt, std::optional< float > sharpnessOpt, std::optional< int > layerOpt, juce::NotificationType notification=juce::dontSendNotification)
 
void processOutputDistances (std::uint16_t channel, const std::map< juce::AudioChannelSet::ChannelType, float > &channelToOutputsDists)
 
void selectInputChannel (std::uint16_t channel)
 
void rebuildControls (bool force=false)
 
void rebuildInputControls (bool force=false)
 

Additional Inherited Members

- Public Types inherited from Mema::MemaClientControlComponentBase
enum  ControlDirection {
  None = 0 ,
  Input ,
  Output
}
 Direction of a control strip within the panel layout. More...
 
enum  ControlsSize {
  S = 35 ,
  M = 50 ,
  L = 65
}
 Size category for rendered control elements. More...
 
- Public Attributes inherited from Mema::MemaClientControlComponentBase
std::function< void(const std::map< std::uint16_t, bool > &)> onInputMutesChanged
 
std::function< void(const std::map< std::uint16_t, bool > &)> onOutputMutesChanged
 
std::function< void(const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &)> onCrosspointStatesChanged
 
std::function< void(const std::map< std::uint16_t, std::map< std::uint16_t, float > > &)> onCrosspointValuesChanged
 
- Static Public Attributes inherited from Mema::MemaClientControlComponentBase
static constexpr int s_gap = 3
 
static constexpr int s_scrollbarsize = 8
 
- Protected Attributes inherited from Mema::MemaClientControlComponentBase
ControlsSize m_controlsSize = ControlsSize::S
 

Detailed Description

2-D spatial panning remote control for Mema.Re.

Hosts a TwoDFieldMultisliderComponent for interactive speaker-layout panning and an ADMOSController for receiving external ADM-OSC position/mute updates. Sends updated ControlParametersMessage payloads back to Mema via the onMessageReadyToSend callback.

Definition at line 49 of file PanningControlComponent.h.

Constructor & Destructor Documentation

◆ PanningControlComponent()

◆ ~PanningControlComponent()

Mema::PanningControlComponent::~PanningControlComponent ( )
virtual

Definition at line 79 of file PanningControlComponent.cpp.

Member Function Documentation

◆ changeInputPosition()

void Mema::PanningControlComponent::changeInputPosition ( std::uint16_t  channel,
std::optional< float >  xValOpt,
std::optional< float >  yValOpt,
std::optional< float >  sharpnessOpt,
std::optional< int >  layerOpt,
juce::NotificationType  notification = juce::dontSendNotification 
)
protected

◆ getChannelConfig()

const juce::AudioChannelSet & Mema::PanningControlComponent::getChannelConfig ( )

Definition at line 176 of file PanningControlComponent.cpp.

◆ handleExternalControlParameter()

◆ lookAndFeelChanged()

void Mema::PanningControlComponent::lookAndFeelChanged ( )
override

◆ paint()

void Mema::PanningControlComponent::paint ( Graphics &  )
overridevirtual

◆ processOutputDistances()

void Mema::PanningControlComponent::processOutputDistances ( std::uint16_t  channel,
const std::map< juce::AudioChannelSet::ChannelType, float > &  channelToOutputsDists 
)
protected

◆ rebuildControls()

void Mema::PanningControlComponent::rebuildControls ( bool  force = false)
protected

Definition at line 181 of file PanningControlComponent.cpp.

References rebuildInputControls(), and resized().

Referenced by selectInputChannel(), setControlsSize(), and setIOCount().

◆ rebuildInputControls()

◆ resetCtrl()

void Mema::PanningControlComponent::resetCtrl ( )
overridevirtual

◆ resized()

◆ selectInputChannel()

void Mema::PanningControlComponent::selectInputChannel ( std::uint16_t  channel)
protected

◆ setChannelConfig()

void Mema::PanningControlComponent::setChannelConfig ( const juce::AudioChannelSet &  channelConfiguration)

Definition at line 168 of file PanningControlComponent.cpp.

◆ setControlsSize()

void Mema::PanningControlComponent::setControlsSize ( const ControlsSize ctrlsSize)
overridevirtual

◆ setCrosspointStates()

void Mema::PanningControlComponent::setCrosspointStates ( const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &  crosspointStates)
overridevirtual

◆ setCrosspointValues()

void Mema::PanningControlComponent::setCrosspointValues ( const std::map< std::uint16_t, std::map< std::uint16_t, float > > &  crosspointValues)
overridevirtual

◆ setExternalControlSettings()

void Mema::PanningControlComponent::setExternalControlSettings ( int  ADMOSCPort,
const juce::IPAddress &  ADMOSCControllerIP,
int  ADMOSCControllerPort 
)

Definition at line 187 of file PanningControlComponent.cpp.

◆ setInputMuteStates()

void Mema::PanningControlComponent::setInputMuteStates ( const std::map< std::uint16_t, bool > &  inputMuteStates)
overridevirtual

◆ setIOCount()

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

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