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

◆ initialize_midi_backend()

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

Definition at line 320 of file InputSubsystem.cpp.

321{
322 MIDIBackend::Config midi_config;
323 midi_config.input_port_filters = m_config.midi.input_port_filters;
324 midi_config.output_port_filters = m_config.midi.output_port_filters;
325 midi_config.auto_open_inputs = m_config.midi.auto_open_inputs;
326 midi_config.auto_open_outputs = m_config.midi.auto_open_outputs;
327 midi_config.enable_virtual_port = m_config.midi.enable_virtual_port;
328 midi_config.virtual_port_name = m_config.midi.virtual_port_name;
329
330 auto midi = std::make_unique<MIDIBackend>(midi_config);
331
332 if (add_backend(std::move(midi))) {
334 auto* backend = dynamic_cast<MIDIBackend*>(get_backend(InputType::MIDI));
335 for (const auto& dev : backend->get_devices()) {
336 if (dev.is_input) {
337 backend->open_device(dev.id);
338 }
339 }
340 }
341 }
342}
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.
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::MIDIBackend::Config::auto_open_inputs, MayaFlux::Core::MIDIBackendInfo::auto_open_inputs, MayaFlux::Core::MIDIBackend::Config::auto_open_outputs, MayaFlux::Core::MIDIBackendInfo::auto_open_outputs, MayaFlux::Core::MIDIBackend::Config::enable_virtual_port, MayaFlux::Core::MIDIBackendInfo::enable_virtual_port, get_backend(), MayaFlux::Core::MIDIBackend::Config::input_port_filters, MayaFlux::Core::MIDIBackendInfo::input_port_filters, m_config, MayaFlux::Core::GlobalInputConfig::midi, MayaFlux::Core::MIDI, MayaFlux::Core::MIDIBackend::open_device(), MayaFlux::Core::MIDIBackend::Config::output_port_filters, MayaFlux::Core::MIDIBackendInfo::output_port_filters, MayaFlux::Core::MIDIBackend::Config::virtual_port_name, 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: