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

◆ initialize_midi_backend()

void MayaFlux::Core::InputSubsystem::initialize_midi_backend ( )
private

Definition at line 326 of file InputSubsystem.cpp.

327{
328 MIDIBackend::Config midi_config;
329 midi_config.input_port_filters = m_config.midi.input_port_filters;
330 midi_config.auto_open_inputs = m_config.midi.auto_open_inputs;
331 midi_config.virtual_port_name = m_config.midi.virtual_port_name;
332
333#if !defined(MAYAFLUX_PLATFORM_WINDOWS)
334 midi_config.output_port_filters = m_config.midi.output_port_filters;
335 midi_config.auto_open_outputs = m_config.midi.auto_open_outputs;
336 midi_config.enable_virtual_port = m_config.midi.enable_virtual_port;
337#endif
338
339 auto midi = std::make_unique<MIDIBackend>(midi_config);
340
341 if (add_backend(std::move(midi))) {
343 auto* backend = dynamic_cast<MIDIBackend*>(get_backend(InputType::MIDI));
344 for (const auto& dev : backend->get_devices()) {
345 if (dev.is_input) {
346 backend->open_device(dev.id);
347 }
348 }
349 }
350 }
351}
bool add_backend(std::unique_ptr< IInputBackend > backend)
Add a custom input backend.
IInputBackend * get_backend(InputType type) const
Get a backend by type.
@ MIDI
MIDI controllers and instruments.
CoreMidiBackend MIDIBackend
MIDIBackendInfo midi
MIDI backend configuration.
bool auto_open_outputs
Auto-open all MIDI output ports.
bool enable_virtual_port
Create a virtual MIDI port.
std::vector< std::string > input_port_filters
Filter input ports by name substring.
std::vector< std::string > output_port_filters
Filter output ports by name substring.
bool auto_open_inputs
Auto-open all MIDI input ports.
std::string virtual_port_name
Name for virtual port.

References add_backend(), MayaFlux::Core::MIDIBackendInfo::auto_open_inputs, MayaFlux::Core::MIDIBackendInfo::auto_open_outputs, MayaFlux::Core::MIDIBackendInfo::enable_virtual_port, get_backend(), MayaFlux::Core::MIDIBackendInfo::input_port_filters, m_config, MayaFlux::Core::GlobalInputConfig::midi, MayaFlux::Core::MIDI, MayaFlux::Core::MIDIBackendInfo::output_port_filters, and MayaFlux::Core::MIDIBackendInfo::virtual_port_name.

Referenced by initialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: