diff options
author | 2024-10-29 00:01:41 +0100 | |
---|---|---|
committer | 2024-10-29 00:02:35 +0100 | |
commit | dbc8f01adbf6e71580a7df25d726c20c18353a56 (patch) | |
tree | a730ffdce2033c6c2dab3171da10b71bfd38da46 /src/osd/modules/midi | |
parent | 781443d3a53f3419d7d447ebf954d88f869053ed (diff) |
file selector: Add midi connection selection to midi ports
Diffstat (limited to 'src/osd/modules/midi')
-rw-r--r-- | src/osd/modules/midi/midi_module.h | 12 | ||||
-rw-r--r-- | src/osd/modules/midi/none.cpp | 2 | ||||
-rw-r--r-- | src/osd/modules/midi/portmidi.cpp | 8 |
3 files changed, 6 insertions, 16 deletions
diff --git a/src/osd/modules/midi/midi_module.h b/src/osd/modules/midi/midi_module.h index 6ea7290805b..61eef311aa6 100644 --- a/src/osd/modules/midi/midi_module.h +++ b/src/osd/modules/midi/midi_module.h @@ -26,23 +26,13 @@ class midi_module { public: - struct port_info - { - std::string name; - bool input; - bool output; - bool default_input; - bool default_output; - }; - using port_info_vector = std::vector<port_info>; - virtual ~midi_module() = default; // specific routines virtual std::unique_ptr<osd::midi_input_port> create_input(std::string_view name) = 0; virtual std::unique_ptr<osd::midi_output_port> create_output(std::string_view name) = 0; - virtual port_info_vector list_midi_ports() = 0; + virtual std::vector<osd::midi_port_info> list_midi_ports() = 0; }; #endif // MAME_OSD_MODULES_MIDI_MIDI_MODULE_H diff --git a/src/osd/modules/midi/none.cpp b/src/osd/modules/midi/none.cpp index c3dd0aaadc5..2a50bf71a84 100644 --- a/src/osd/modules/midi/none.cpp +++ b/src/osd/modules/midi/none.cpp @@ -30,7 +30,7 @@ public: virtual std::unique_ptr<midi_input_port> create_input(std::string_view name) override { return nullptr; } virtual std::unique_ptr<midi_output_port> create_output(std::string_view name) override { return nullptr; } - virtual port_info_vector list_midi_ports() override { return port_info_vector(); } + virtual std::vector<osd::midi_port_info> list_midi_ports() override { return std::vector<osd::midi_port_info>(); } }; } // anonymous namespace diff --git a/src/osd/modules/midi/portmidi.cpp b/src/osd/modules/midi/portmidi.cpp index 3a1dbf6739d..07372af1469 100644 --- a/src/osd/modules/midi/portmidi.cpp +++ b/src/osd/modules/midi/portmidi.cpp @@ -41,7 +41,7 @@ public: virtual std::unique_ptr<midi_input_port> create_input(std::string_view name) override; virtual std::unique_ptr<midi_output_port> create_output(std::string_view name) override; - virtual port_info_vector list_midi_ports() override; + virtual std::vector<osd::midi_port_info> list_midi_ports() override; }; @@ -177,17 +177,17 @@ std::unique_ptr<midi_output_port> pm_module::create_output(std::string_view name } } -midi_module::port_info_vector pm_module::list_midi_ports() +std::vector<osd::midi_port_info> pm_module::list_midi_ports() { int const num_devs = Pm_CountDevices(); int const def_input = Pm_GetDefaultInputDeviceID(); int const def_output = Pm_GetDefaultOutputDeviceID(); - port_info_vector result; + std::vector<osd::midi_port_info> result; result.reserve(num_devs); for (int i = 0; num_devs > i; ++i) { auto const pm_info = Pm_GetDeviceInfo(i); - result.emplace_back(port_info{ + result.emplace_back(osd::midi_port_info{ pm_info->name, 0 != pm_info->input, 0 != pm_info->output, |