21#include <JuceHeader.h>
60 virtual void paint(Graphics&) = 0;
70 virtual void setIOCount(
const std::pair<int, int>& ioCount);
79 virtual void setCrosspointStates(
const std::map<std::uint16_t, std::map<std::uint16_t, bool>>& crosspointStates);
82 virtual void setCrosspointValues(
const std::map<std::uint16_t, std::map<std::uint16_t, float>>& crosspointValues);
85 virtual void addCrosspointStates(
const std::map<std::uint16_t, std::map<std::uint16_t, bool>>& crosspointStates);
86 virtual void addCrosspointValues(
const std::map<std::uint16_t, std::map<std::uint16_t, float>>& crosspointValues);
107 std::pair<int, int> m_ioCount = { 0, 0 };
108 std::map<std::uint16_t, bool> m_inputMuteStates = {};
109 std::map<std::uint16_t, bool> m_outputMuteStates = {};
110 std::map<std::uint16_t, std::map<std::uint16_t, bool>> m_crosspointStates = {};
111 std::map<std::uint16_t, std::map<std::uint16_t, float>> m_crosspointValues = {};
Abstract base for all Mema.Re client control panels.
MemaClientControlComponentBase()
const std::map< std::uint16_t, bool > & getInputMuteStates()
virtual void addCrosspointValues(const std::map< std::uint16_t, std::map< std::uint16_t, float > > &crosspointValues)
ControlsSize m_controlsSize
ControlDirection
Direction of a control strip within the panel layout.
@ None
No directional context.
@ Input
Strip controls input channels.
@ Output
Strip controls output channels.
const ControlsSize & getControlsSize()
const std::map< std::uint16_t, bool > & getOutputMuteStates()
std::function< void(const std::map< std::uint16_t, bool > &)> onInputMutesChanged
const juce::String getIOCountParametersAsString()
virtual void setControlsSize(const ControlsSize &ctrlsSize)
static constexpr int s_gap
const juce::String getOutputMuteParametersAsString()
virtual void resetCtrl()=0
std::function< void(const std::map< std::uint16_t, bool > &)> onOutputMutesChanged
virtual void paint(Graphics &)=0
std::function< void(const std::map< std::uint16_t, std::map< std::uint16_t, float > > &)> onCrosspointValuesChanged
const std::map< std::uint16_t, std::map< std::uint16_t, bool > > & getCrosspointStates()
const juce::String getClientControlParametersAsString()
virtual void addCrosspointStates(const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &crosspointStates)
virtual void setIOCount(const std::pair< int, int > &ioCount)
virtual ~MemaClientControlComponentBase()
const juce::String getCrosspointParametersAsString()
virtual void setCrosspointStates(const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &crosspointStates)
virtual void setCrosspointValues(const std::map< std::uint16_t, std::map< std::uint16_t, float > > &crosspointValues)
const std::pair< int, int > & getIOCount()
virtual void setInputMuteStates(const std::map< std::uint16_t, bool > &inputMuteStates)
const juce::String getInputMuteParametersAsString()
const std::map< std::uint16_t, std::map< std::uint16_t, float > > & getCrosspointValues()
virtual void setOutputMuteStates(const std::map< std::uint16_t, bool > &outputMuteStates)
std::function< void(const std::map< std::uint16_t, std::map< std::uint16_t, bool > > &)> onCrosspointStatesChanged
static constexpr int s_scrollbarsize
ControlsSize
Size category for rendered control elements.
@ S
Small — suited for desktop with many channels.
@ L
Large — suited for touch screens.