// license:BSD-3-Clause // copyright-holders:Couriersud /* * midi_module.h * */ #ifndef MAME_OSD_MODULES_MIDI_MIDI_MODULE_H #define MAME_OSD_MODULES_MIDI_MIDI_MODULE_H #pragma once #include "interface/midiport.h" #include #include #include #include //============================================================ // CONSTANTS //============================================================ #define OSD_MIDI_PROVIDER "midiprovider" class midi_module { public: virtual ~midi_module() = default; // specific routines virtual std::unique_ptr create_input(std::string_view name) = 0; virtual std::unique_ptr create_output(std::string_view name) = 0; virtual std::vector list_midi_ports() = 0; }; #endif // MAME_OSD_MODULES_MIDI_MIDI_MODULE_H