![]() |
Umsci
Upmix Spatial Control Interface — OCA/OCP.1 spatial audio utility
|
Root JUCE component — the top-level UI that wires together the device connection, the visualisation, and user settings. More...
#include <MainComponent.h>
Inheritance diagram for MainComponent:
Collaboration diagram for MainComponent:Public Member Functions | |
| MainComponent () | |
| ~MainComponent () override | |
| void | applySettingsOption (const UmsciSettingsOption &option) |
| Applies a single settings option (called from both menu handlers and config restore). | |
| void | resized () override |
| void | paint (juce::Graphics &g) override |
| void | lookAndFeelChanged () override |
| bool | keyPressed (const juce::KeyPress &key) override |
| Handles the Escape key (exits fullscreen) and F key (toggles fullscreen). | |
| void | performConfigurationDump () override |
UmsciAppConfiguration::Dumper — serialises all current settings to XML. | |
| void | onConfigUpdated () override |
UmsciAppConfiguration::Watcher — called when the config XML changes on disk. | |
| bool | isFullscreenEnabled () |
Public Attributes | |
| std::function< void(int, bool)> | onPaletteStyleChange |
| Fired when the look-and-feel palette changes, so the host application (if this is used as a plugin) can update its own colour scheme. Parameters: (paletteIndex, isDark). | |
| std::function< void(bool)> | onSetFullscreenWindow |
| Fired when the user requests fullscreen mode; the host window applies it. | |
Root JUCE component — the top-level UI that wires together the device connection, the visualisation, and user settings.
DeviceController (singleton) and UmsciControlComponent.DeviceController::onStateChanged to switch between the three overlay states (hint / connecting / control).DeviceController::onRemoteObjectReceived and routes decoded RemoteObject values to UmsciControlComponent.UmsciAppConfiguration and implements its Dumper/Watcher interfaces so that all settings are persisted to/restored from XML automatically.UmsciSettingsOption enumerates every entry in the settings menu. The integer values are used as menu-item IDs in the JUCE popup menu and must not be reordered without updating the corresponding handleSettings* handlers.
Definition at line 75 of file MainComponent.h.
Enumerates every user-selectable setting exposed via the settings menu.
Values are split into logical groups with First/Last sentinels to allow range-based checks in the menu-result handlers.
Definition at line 86 of file MainComponent.h.
| MainComponent::MainComponent | ( | ) |
Definition at line 37 of file MainComponent.cpp.
References DeviceController::Connected, DeviceController::Connecting, UmsciConnectingComponent::Connecting, ConnectionSettings, ControlColour_Blue, ControlColour_First, ControlColour_Green, ControlColour_Laser, ControlColour_Last, ControlColour_Pink, ControlColour_Red, ControlFormat_5point0, ControlFormat_5point1, ControlFormat_5point1point2, ControlFormat_7point0, ControlFormat_7point1, ControlFormat_7point1point4, ControlFormat_9point1point6, ControlFormat_LCRS, ControlFormat_LRS, ControlFormat_Stereo, ControlSize_First, ControlSize_L, ControlSize_Last, ControlSize_M, ControlSize_S, DeviceController::Disconnected, ExternalControlSettings, FullscreenWindowMode, DeviceController::GetValues, LookAndFeel_Dark, LookAndFeel_First, LookAndFeel_FollowHost, LookAndFeel_Last, LookAndFeel_Light, lookAndFeelChanged(), UmsciConnectingComponent::Reading, resized(), DeviceController::Subscribing, UmsciConnectingComponent::Subscribing, and UpmixSettings.
|
override |
Definition at line 351 of file MainComponent.cpp.
| void MainComponent::applySettingsOption | ( | const UmsciSettingsOption & | option | ) |
Applies a single settings option (called from both menu handlers and config restore).
Definition at line 417 of file MainComponent.cpp.
| bool MainComponent::isFullscreenEnabled | ( | ) |
Definition at line 1117 of file MainComponent.cpp.
|
override |
Handles the Escape key (exits fullscreen) and F key (toggles fullscreen).
Definition at line 791 of file MainComponent.cpp.
|
override |
Definition at line 387 of file MainComponent.cpp.
Referenced by MainComponent().
|
override |
UmsciAppConfiguration::Watcher — called when the config XML changes on disk.
Definition at line 955 of file MainComponent.cpp.
References UmsciAppConfiguration::CONNECTIONCONFIG, UmsciAppConfiguration::CONTROLCOLOUR, UmsciAppConfiguration::CONTROLCONFIG, UmsciAppConfiguration::CONTROLFORMAT, UmsciAppConfiguration::CONTROLSIZE, UmsciAppConfiguration::ENABLED, UmsciAppConfiguration::EXTERNALCONTROLCONFIG, UmsciAppConfiguration::getAttributeName(), UmsciUpmixIndicatorPaintNControlComponent::getShapeForName(), UmsciAppConfiguration::getTagName(), UmsciAppConfiguration::IP, UmsciAppConfiguration::LOOKANDFEEL, UmsciAppConfiguration::MIDI_UPMIXANGLESTRETCH, UmsciAppConfiguration::MIDI_UPMIXHEIGHTSCALE, UmsciAppConfiguration::MIDI_UPMIXOFFSETX, UmsciAppConfiguration::MIDI_UPMIXOFFSETY, UmsciAppConfiguration::MIDI_UPMIXROT, UmsciAppConfiguration::MIDI_UPMIXSCALE, UmsciAppConfiguration::MIDIINPUTDEVICE, UmsciAppConfiguration::OSC_UPMIXANGLESTRETCH, UmsciAppConfiguration::OSC_UPMIXHEIGHTSCALE, UmsciAppConfiguration::OSC_UPMIXOFFSETX, UmsciAppConfiguration::OSC_UPMIXOFFSETY, UmsciAppConfiguration::OSC_UPMIXROT, UmsciAppConfiguration::OSC_UPMIXSCALE, UmsciAppConfiguration::OSCINPUTPORT, UmsciAppConfiguration::PORT, UmsciAppConfiguration::UPMIXCONFIG, UmsciAppConfiguration::UPMIXLIVEMODE, UmsciExternalControlComponent::UpmixMidiParam_COUNT, UmsciAppConfiguration::UPMIXSHAPE, UmsciAppConfiguration::UPMIXSHOWALLSOURCES, UmsciAppConfiguration::UPMIXSNAPSHOTCONFIG, UmsciAppConfiguration::UPMIXSOURCESTARTID, and UmsciAppConfiguration::VISUCONFIG.
|
override |
Definition at line 382 of file MainComponent.cpp.
|
override |
UmsciAppConfiguration::Dumper — serialises all current settings to XML.
Definition at line 803 of file MainComponent.cpp.
References UmsciUpmixIndicatorPaintNControlComponent::Circle, UmsciAppConfiguration::CONNECTIONCONFIG, UmsciAppConfiguration::CONTROLCOLOUR, ControlColour_First, ControlColour_Last, UmsciAppConfiguration::CONTROLCONFIG, UmsciAppConfiguration::CONTROLFORMAT, ControlFormat_First, ControlFormat_Last, UmsciAppConfiguration::CONTROLSIZE, ControlSize_First, ControlSize_Last, UmsciAppConfiguration::ENABLED, UmsciAppConfiguration::EXTERNALCONTROLCONFIG, UmsciAppConfiguration::getAttributeName(), UmsciUpmixIndicatorPaintNControlComponent::getShapeName(), UmsciAppConfiguration::getTagName(), UmsciAppConfiguration::IP, UmsciAppConfiguration::LOOKANDFEEL, LookAndFeel_First, LookAndFeel_Last, UmsciAppConfiguration::MIDI_UPMIXANGLESTRETCH, UmsciAppConfiguration::MIDI_UPMIXHEIGHTSCALE, UmsciAppConfiguration::MIDI_UPMIXOFFSETX, UmsciAppConfiguration::MIDI_UPMIXOFFSETY, UmsciAppConfiguration::MIDI_UPMIXROT, UmsciAppConfiguration::MIDI_UPMIXSCALE, UmsciAppConfiguration::MIDIINPUTDEVICE, UmsciAppConfiguration::OSC_UPMIXANGLESTRETCH, UmsciAppConfiguration::OSC_UPMIXHEIGHTSCALE, UmsciAppConfiguration::OSC_UPMIXOFFSETX, UmsciAppConfiguration::OSC_UPMIXOFFSETY, UmsciAppConfiguration::OSC_UPMIXROT, UmsciAppConfiguration::OSC_UPMIXSCALE, UmsciAppConfiguration::OSCINPUTPORT, UmsciAppConfiguration::PORT, UmsciAppConfiguration::UPMIXCONFIG, UmsciAppConfiguration::UPMIXLIVEMODE, UmsciExternalControlComponent::UpmixMidiParam_COUNT, UmsciAppConfiguration::UPMIXSHAPE, UmsciAppConfiguration::UPMIXSHOWALLSOURCES, UmsciAppConfiguration::UPMIXSNAPSHOTCONFIG, UmsciAppConfiguration::UPMIXSOURCESTARTID, and UmsciAppConfiguration::VISUCONFIG.
|
override |
Definition at line 356 of file MainComponent.cpp.
Referenced by MainComponent().
| std::function<void(int, bool)> MainComponent::onPaletteStyleChange |
Fired when the look-and-feel palette changes, so the host application (if this is used as a plugin) can update its own colour scheme. Parameters: (paletteIndex, isDark).
Definition at line 153 of file MainComponent.h.
| std::function<void(bool)> MainComponent::onSetFullscreenWindow |
Fired when the user requests fullscreen mode; the host window applies it.
Definition at line 157 of file MainComponent.h.