MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ initialize()

void MayaFlux::Core::InputSubsystem::initialize ( SubsystemProcessingHandle handle)
overridevirtual

Initialize with a handle provided by SubsystemManager.

Parameters
handleProcessing handle providing access to buffer and node operations

The handle is borrowed - subsystem doesn't own it but uses it throughout its lifetime. This is where subsystems configure their processing resources, create initial nodes, setup buffer configurations, and prepare for operation.

The handle provides token-scoped access to both buffer processing and node graph operations, ensuring the subsystem operates within its designated processing domain with proper thread safety and resource isolation.

Implements MayaFlux::Core::ISubsystem.

Definition at line 34 of file InputSubsystem.cpp.

35{
37 "Initializing Input Subsystem...");
38
39 m_handle = &handle;
40
41 if (m_config.hid.enabled) {
43 }
44 if (m_config.midi.enabled) {
46 }
47 if (m_config.osc.enabled) {
49 }
52 }
53
55
56 m_ready.store(true);
57
59 "Input Subsystem initialized with {} backend(s)", m_backends.size());
60}
#define MF_INFO(comp, ctx,...)
SubsystemProcessingHandle * m_handle
std::unordered_map< InputType, std::unique_ptr< IInputBackend > > m_backends
@ InputSubsystem
Input subsystem operations (device management, event dispatch)
@ Core
Core engine, backend, subsystems.
HIDBackendInfo hid
HID backend configuration.
MIDIBackendInfo midi
MIDI backend configuration.
OSCBackendInfo osc
OSC backend configuration.
SerialBackendInfo serial
Serial backend configuration.
bool enabled
Enable Serial backend.

References MayaFlux::Journal::Core, MayaFlux::Core::HIDBackendInfo::enabled, MayaFlux::Core::MIDIBackendInfo::enabled, MayaFlux::Core::OSCBackendInfo::enabled, MayaFlux::Core::SerialBackendInfo::enabled, MayaFlux::Core::GlobalInputConfig::hid, initialize_hid_backend(), initialize_midi_backend(), initialize_osc_backend(), initialize_serial_backend(), MayaFlux::Journal::InputSubsystem, m_backends, m_config, m_handle, m_ready, MF_INFO, MayaFlux::Core::GlobalInputConfig::midi, MayaFlux::Core::GlobalInputConfig::osc, register_backend_service(), and MayaFlux::Core::GlobalInputConfig::serial.

+ Here is the call graph for this function: