diff options
author | Marcelo Fernandez <marcelofg55@gmail.com> | 2018-08-03 21:17:33 -0300 |
---|---|---|
committer | Marcelo Fernandez <marcelofg55@gmail.com> | 2018-08-04 10:07:46 -0300 |
commit | 05fc12ddb631c111b96bf03d84100d270f296b21 (patch) | |
tree | 71763043111b98f1a70171aa385353f2882f8620 /drivers/coremidi | |
parent | 6c569c90b666c7fb773eca3948fc76ba7a160a27 (diff) |
Add OS::open_midi_inputs and OS::close_midi_inputs
Diffstat (limited to 'drivers/coremidi')
-rw-r--r-- | drivers/coremidi/core_midi.cpp | 19 | ||||
-rw-r--r-- | drivers/coremidi/core_midi.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/drivers/coremidi/core_midi.cpp b/drivers/coremidi/core_midi.cpp index 3619be4a8e..6d4624e05b 100644 --- a/drivers/coremidi/core_midi.cpp +++ b/drivers/coremidi/core_midi.cpp @@ -92,6 +92,25 @@ void MIDIDriverCoreMidi::close() { } } +PoolStringArray MIDIDriverCoreMidi::get_connected_inputs() { + + PoolStringArray list; + + for (int i = 0; i < connected_sources.size(); i++) { + MIDIEndpointRef source = connected_sources[i]; + CFStringRef ref = NULL; + char name[256]; + + MIDIObjectGetStringProperty(source, kMIDIPropertyDisplayName, &ref); + CFStringGetCString(ref, name, sizeof(name), kCFStringEncodingUTF8); + CFRelease(ref); + + list.push_back(name); + } + + return list; +} + MIDIDriverCoreMidi::MIDIDriverCoreMidi() { client = 0; diff --git a/drivers/coremidi/core_midi.h b/drivers/coremidi/core_midi.h index fd35e12f4b..c6b443764f 100644 --- a/drivers/coremidi/core_midi.h +++ b/drivers/coremidi/core_midi.h @@ -53,6 +53,8 @@ public: virtual Error open(); virtual void close(); + PoolStringArray get_connected_inputs(); + MIDIDriverCoreMidi(); virtual ~MIDIDriverCoreMidi(); }; |