summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/midi
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2024-10-29 00:01:41 +0100
committer Olivier Galibert <galibert@pobox.com>2024-10-29 00:02:35 +0100
commitdbc8f01adbf6e71580a7df25d726c20c18353a56 (patch)
treea730ffdce2033c6c2dab3171da10b71bfd38da46 /src/osd/modules/midi
parent781443d3a53f3419d7d447ebf954d88f869053ed (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.h12
-rw-r--r--src/osd/modules/midi/none.cpp2
-rw-r--r--src/osd/modules/midi/portmidi.cpp8
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,