![]() |
Mema
Memory Matrix — multi-channel audio matrix monitor and router
|
Central remote-control panel of the Mema.Re application. More...
#include <MemaReComponent.h>
Inheritance diagram for MemaReComponent:
Collaboration diagram for MemaReComponent:Public Types | |
| enum | RunningStatus { Inactive , Standby , Active } |
| Lifecycle state of the remote-control panel driven by the network connection status. More... | |
Public Member Functions | |
| MemaReComponent () | |
| ~MemaReComponent () override | |
| void | setFaderbankCtrlActive () |
| Switches to the faderbank (crosspoint slider/mute matrix) control mode. | |
| void | setOutputPanningCtrlActive (const juce::AudioChannelSet &channelConfiguration) |
| Switches to the 2-D spatial panning control for the given speaker layout. | |
| void | setPluginCtrlActive () |
| Switches to the plugin-parameter control mode. | |
| void | resetCtrl () |
| Resets all control components to their default/empty state. | |
| void | setControlsSize (const Mema::FaderbankControlComponent::ControlsSize &ctrlsSize) |
| Propagates a control-element size change (S/M/L) to the faderbank component. | |
| const Mema::FaderbankControlComponent::ControlsSize | getControlsSize () |
| Returns the current control-element size setting. | |
| void | setExternalAdmOscSettings (const int ADMOSCport, const juce::IPAddress &ADMOSCremoteIP, const int ADMOSCremotePort) |
| Configures the ADM-OSC listener port and the remote-controller address used by the panning component. | |
| std::tuple< int, juce::IPAddress, int > | getExternalAdmOscSettings () |
| Returns the current ADM-OSC settings as {listenPort, remoteIP, remotePort}. | |
| void | resized () override |
| Lays out the active control component to fill the available area. | |
| void | paint (juce::Graphics &g) override |
| Paints the background when no control mode is active. | |
| void | handleMessage (const Message &message) override |
| Dispatches inbound network messages to the appropriate control component. | |
Public Attributes | |
| std::function< void()> | onExitClick |
| Invoked when the user triggers a disconnection. | |
| std::function< void(const juce::MemoryBlock &)> | onMessageReadyToSend |
| Invoked with a serialised message whenever a control value changes that must be sent to Mema. | |
Central remote-control panel of the Mema.Re application.
MemaReComponent is the active-state UI of the Mema.Re tool — the remote-control companion in the Mema tool suite. When a TCP connection to a Mema server has been established, this component owns three pluggable control modes and switches between them based on the settings chosen in MainComponent:
| Mode | Component | Description |
|---|---|---|
| Faderbank | FaderbankControlComponent | Slider/mute matrix for direct input × output crosspoint control. |
| 2-D panning | PanningControlComponent + TwoDFieldMultisliderComponent | Interactive spatial field for LRS up to 9.1.6 ATMOS layouts. |
| Plugin parameters | PluginControlComponent | Per-parameter controls (slider/combobox/toggle) rendered dynamically from MemaPluginParameterInfo. |
Inbound TCP messages (ControlParametersMessage, PluginParameterInfosMessage) are dispatched via handleMessage() and used to keep the control state in sync with Mema. User interactions produce updated ControlParametersMessage / PluginParameterValueMessage payloads that are sent back to Mema through the onMessageReadyToSend callback.
An ADMOSController instance (owned by PanningControlComponent) can additionally receive ADM-OSC UDP packets from an external spatial-audio controller and forward x/y/z/width/mute updates directly into the 2-D panning view.
Definition at line 58 of file MemaReComponent.h.
Lifecycle state of the remote-control panel driven by the network connection status.
| Enumerator | |
|---|---|
| Inactive | No TCP connection; component renders a placeholder. |
| Standby | Connection established but no state snapshot received yet. |
| Active | Actively receiving and sending control data to/from Mema. |
Definition at line 62 of file MemaReComponent.h.
| MemaReComponent::MemaReComponent | ( | ) |
Definition at line 24 of file MemaReComponent.cpp.
References onMessageReadyToSend, and setFaderbankCtrlActive().
|
override |
Definition at line 101 of file MemaReComponent.cpp.
| const Mema::MemaClientControlComponentBase::ControlsSize MemaReComponent::getControlsSize | ( | ) |
Returns the current control-element size setting.
Definition at line 215 of file MemaReComponent.cpp.
References Mema::MemaClientControlComponentBase::S.
| std::tuple< int, juce::IPAddress, int > MemaReComponent::getExternalAdmOscSettings | ( | ) |
Returns the current ADM-OSC settings as {listenPort, remoteIP, remotePort}.
Definition at line 236 of file MemaReComponent.cpp.
|
override |
Dispatches inbound network messages to the appropriate control component.
Definition at line 256 of file MemaReComponent.cpp.
|
override |
Paints the background when no control mode is active.
Definition at line 241 of file MemaReComponent.cpp.
| void MemaReComponent::resetCtrl | ( | ) |
Resets all control components to their default/empty state.
Definition at line 195 of file MemaReComponent.cpp.
|
override |
Lays out the active control component to fill the available area.
Definition at line 246 of file MemaReComponent.cpp.
Referenced by handleMessage(), setFaderbankCtrlActive(), setOutputPanningCtrlActive(), and setPluginCtrlActive().
| void MemaReComponent::setControlsSize | ( | const Mema::FaderbankControlComponent::ControlsSize & | ctrlsSize | ) |
Propagates a control-element size change (S/M/L) to the faderbank component.
Definition at line 205 of file MemaReComponent.cpp.
| void MemaReComponent::setExternalAdmOscSettings | ( | const int | ADMOSCport, |
| const juce::IPAddress & | ADMOSCremoteIP, | ||
| const int | ADMOSCremotePort | ||
| ) |
Configures the ADM-OSC listener port and the remote-controller address used by the panning component.
Definition at line 227 of file MemaReComponent.cpp.
| void MemaReComponent::setFaderbankCtrlActive | ( | ) |
Switches to the faderbank (crosspoint slider/mute matrix) control mode.
Definition at line 105 of file MemaReComponent.cpp.
References resized().
Referenced by MemaReComponent().
| void MemaReComponent::setOutputPanningCtrlActive | ( | const juce::AudioChannelSet & | channelConfiguration | ) |
Switches to the 2-D spatial panning control for the given speaker layout.
Definition at line 135 of file MemaReComponent.cpp.
References resized().
| void MemaReComponent::setPluginCtrlActive | ( | ) |
Switches to the plugin-parameter control mode.
Definition at line 166 of file MemaReComponent.cpp.
References resized().
| std::function<void()> MemaReComponent::onExitClick |
Invoked when the user triggers a disconnection.
Definition at line 103 of file MemaReComponent.h.
| std::function<void(const juce::MemoryBlock&)> MemaReComponent::onMessageReadyToSend |
Invoked with a serialised message whenever a control value changes that must be sent to Mema.
Definition at line 104 of file MemaReComponent.h.
Referenced by MemaReComponent().