diff options
author | David Robillard <d@drobilla.net> | 2008-05-23 04:30:24 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-05-23 04:30:24 +0000 |
commit | 0dbcca14bcbcb3aa7e7c0ae24934463a5973a651 (patch) | |
tree | d85dd8d74e4d5ea5c8b4400255c03adb79cda2c5 /src/libs/engine/JackMidiDriver.cpp | |
parent | 9cec63d68fef0e9fd5d3ee5b99a080dbd9180a88 (diff) | |
download | ingen-0dbcca14bcbcb3aa7e7c0ae24934463a5973a651.tar.gz ingen-0dbcca14bcbcb3aa7e7c0ae24934463a5973a651.tar.bz2 ingen-0dbcca14bcbcb3aa7e7c0ae24934463a5973a651.zip |
Fix crash when trying to add multiple objects with the same path.
Handle failed jack port registrations more gracefully.
Don't assume all LADSPA plugins have minimum and maximum port range values.
git-svn-id: http://svn.drobilla.net/lad/ingen@1230 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/JackMidiDriver.cpp')
-rw-r--r-- | src/libs/engine/JackMidiDriver.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libs/engine/JackMidiDriver.cpp b/src/libs/engine/JackMidiDriver.cpp index 22db1d4b..7aba309a 100644 --- a/src/libs/engine/JackMidiDriver.cpp +++ b/src/libs/engine/JackMidiDriver.cpp @@ -22,6 +22,7 @@ #include <raul/midi_events.h> #include "types.hpp" #include "JackMidiDriver.hpp" +#include "JackAudioDriver.hpp" #include "ThreadManager.hpp" #include "AudioDriver.hpp" #include "EventBuffer.hpp" @@ -50,6 +51,11 @@ JackMidiPort::JackMidiPort(JackMidiDriver* driver, DuplexPort* patch_port) patch_port->path().c_str(), JACK_DEFAULT_MIDI_TYPE, (patch_port->is_input()) ? JackPortIsInput : JackPortIsOutput, 0); + + if (_jack_port == NULL) { + cerr << "[JackMidiPort] ERROR: Failed to register port " << patch_port->path() << endl; + throw JackAudioDriver::PortRegistrationFailedException(); + } patch_port->buffer(0)->clear(); } |