From 72ed785940221692ea2260944477eca82ada9268 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 9 Mar 2015 00:26:01 +0100 Subject: [PATCH] allow hotplugging CoreMidi devices. --- libs/backends/coreaudio/coreaudio_backend.cc | 11 +++++------ 1 file 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(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(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(port_buffer)->size (); } void CoreAudioBackend::midi_clear (void* port_buffer) { - assert (port_buffer); + if (port_buffer) return; CoreMidiBuffer * buf = static_cast(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(port)->get_buffer (nframes); }