summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2018-08-24 12:17:14 -0300
committerGitHub <noreply@github.com>2018-08-24 12:17:14 -0300
commitc6b340ea98708c27cb5a5a8380ef4072ad2fa839 (patch)
tree4b0f7f0b23641f5675c5402e860c062a2673b5c1 /core
parent77185aaf21f6235dd7aab664d191e149390ad5ee (diff)
parent05fc12ddb631c111b96bf03d84100d270f296b21 (diff)
Merge pull request #20712 from marcelofg55/midi_open_close
Add OS::open_midi_inputs and OS::close_midi_inputs
Diffstat (limited to 'core')
-rw-r--r--core/bind/core_bind.cpp10
-rw-r--r--core/bind/core_bind.h2
-rw-r--r--core/os/os.cpp12
-rw-r--r--core/os/os.h2
4 files changed, 26 insertions, 0 deletions
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 26ba28370f..2bd271205a 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -240,6 +240,14 @@ PoolStringArray _OS::get_connected_midi_inputs() {
return OS::get_singleton()->get_connected_midi_inputs();
}
+void _OS::open_midi_inputs() {
+ return OS::get_singleton()->open_midi_inputs();
+}
+
+void _OS::close_midi_inputs() {
+ return OS::get_singleton()->close_midi_inputs();
+}
+
void _OS::set_video_mode(const Size2 &p_size, bool p_fullscreen, bool p_resizeable, int p_screen) {
OS::VideoMode vm;
@@ -1085,6 +1093,8 @@ void _OS::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_audio_driver_count"), &_OS::get_audio_driver_count);
ClassDB::bind_method(D_METHOD("get_audio_driver_name", "driver"), &_OS::get_audio_driver_name);
ClassDB::bind_method(D_METHOD("get_connected_midi_inputs"), &_OS::get_connected_midi_inputs);
+ ClassDB::bind_method(D_METHOD("open_midi_inputs"), &_OS::open_midi_inputs);
+ ClassDB::bind_method(D_METHOD("close_midi_inputs"), &_OS::close_midi_inputs);
ClassDB::bind_method(D_METHOD("get_screen_count"), &_OS::get_screen_count);
ClassDB::bind_method(D_METHOD("get_current_screen"), &_OS::get_current_screen);
diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h
index b587b9257f..21aea12b23 100644
--- a/core/bind/core_bind.h
+++ b/core/bind/core_bind.h
@@ -157,6 +157,8 @@ public:
virtual String get_audio_driver_name(int p_driver) const;
virtual PoolStringArray get_connected_midi_inputs();
+ virtual void open_midi_inputs();
+ virtual void close_midi_inputs();
virtual int get_screen_count() const;
virtual int get_current_screen() const;
diff --git a/core/os/os.cpp b/core/os/os.cpp
index 97dae05919..e90d714450 100644
--- a/core/os/os.cpp
+++ b/core/os/os.cpp
@@ -689,6 +689,18 @@ PoolStringArray OS::get_connected_midi_inputs() {
return list;
}
+void OS::open_midi_inputs() {
+
+ if (MIDIDriver::get_singleton())
+ MIDIDriver::get_singleton()->open();
+}
+
+void OS::close_midi_inputs() {
+
+ if (MIDIDriver::get_singleton())
+ MIDIDriver::get_singleton()->close();
+}
+
OS::OS() {
void *volatile stack_bottom;
diff --git a/core/os/os.h b/core/os/os.h
index 12c0222ad4..6f9a72d451 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -190,6 +190,8 @@ public:
virtual const char *get_audio_driver_name(int p_driver) const;
virtual PoolStringArray get_connected_midi_inputs();
+ virtual void open_midi_inputs();
+ virtual void close_midi_inputs();
virtual int get_screen_count() const { return 1; }
virtual int get_current_screen() const { return 0; }