diff options
author | Robin Gareus <robin@gareus.org> | 2015-03-09 00:26:01 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-03-09 00:26:01 +0100 |
commit | 72ed785940221692ea2260944477eca82ada9268 (patch) | |
tree | 5ed5d869f929fb232d590bb9c9c49350717d398c /libs/backends/coreaudio/coreaudio_backend.cc | |
parent | bc7be6fd3e9cfa77848475e6a1a4d50c95a848ee (diff) |
allow hotplugging CoreMidi devices.
Diffstat (limited to 'libs/backends/coreaudio/coreaudio_backend.cc')
-rw-r--r-- | libs/backends/coreaudio/coreaudio_backend.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libs/backends/coreaudio/coreaudio_backend.cc b/libs/backends/coreaudio/coreaudio_backend.cc index f0313f91e0..8946aea0a7 100644 --- a/libs/backends/coreaudio/coreaudio_backend.cc +++ b/libs/backends/coreaudio/coreaudio_backend.cc @@ -1205,7 +1205,7 @@ CoreAudioBackend::midi_event_get ( size_t& size, uint8_t** buf, void* port_buffer, uint32_t event_index) { - assert (buf && port_buffer); + if (!buf || !port_buffer) return -1; CoreMidiBuffer& source = * static_cast<CoreMidiBuffer*>(port_buffer); if (event_index >= source.size ()) { return -1; @@ -1224,7 +1224,7 @@ CoreAudioBackend::midi_event_put ( pframes_t timestamp, const uint8_t* buffer, size_t size) { - assert (buffer && port_buffer); + if (!buffer || !port_buffer) return -1; CoreMidiBuffer& dst = * static_cast<CoreMidiBuffer*>(port_buffer); if (dst.size () && (pframes_t)dst.back ()->timestamp () > timestamp) { fprintf (stderr, "CoreMidiBuffer: it's too late for this event. %d > %d\n", @@ -1238,14 +1238,14 @@ CoreAudioBackend::midi_event_put ( uint32_t CoreAudioBackend::get_midi_event_count (void* port_buffer) { - assert (port_buffer); + if (!port_buffer) return 0; return static_cast<CoreMidiBuffer*>(port_buffer)->size (); } void CoreAudioBackend::midi_clear (void* port_buffer) { - assert (port_buffer); + if (port_buffer) return; CoreMidiBuffer * buf = static_cast<CoreMidiBuffer*>(port_buffer); assert (buf); buf->clear (); @@ -1395,8 +1395,7 @@ CoreAudioBackend::n_physical_inputs () const void* CoreAudioBackend::get_buffer (PortEngine::PortHandle port, pframes_t nframes) { - assert (port); - assert (valid_port (port)); + if (!port || !valid_port (port)) return NULL; return static_cast<CoreBackendPort*>(port)->get_buffer (nframes); } |