summaryrefslogtreecommitdiff
path: root/libs/surfaces/generic_midi/interface.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-07-10 20:01:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-07-10 20:01:47 +0000
commit26843b34fdd62e6f80630868c5eb3f8fee0c17f1 (patch)
treefe4001528aa6e4e360ec6392c7b1120ca75e0aa9 /libs/surfaces/generic_midi/interface.cc
parent05f8fcd189ca714c2c18b9fb174d5813140849df (diff)
modification to make generic MIDI actually work again
git-svn-id: svn://localhost/ardour2/trunk@673 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/generic_midi/interface.cc')
-rw-r--r--libs/surfaces/generic_midi/interface.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/surfaces/generic_midi/interface.cc b/libs/surfaces/generic_midi/interface.cc
index c6c59c6589..230be694f2 100644
--- a/libs/surfaces/generic_midi/interface.cc
+++ b/libs/surfaces/generic_midi/interface.cc
@@ -1,3 +1,5 @@
+#include <pbd/failed_constructor.h>
+
#include <control_protocol/control_protocol.h>
#include "generic_midi_control_protocol.h"
@@ -6,7 +8,13 @@ using namespace ARDOUR;
ControlProtocol*
new_generic_midi_protocol (ControlProtocolDescriptor* descriptor, Session* s)
{
- GenericMidiControlProtocol* gmcp = new GenericMidiControlProtocol (*s);
+ GenericMidiControlProtocol* gmcp;
+
+ try {
+ gmcp = new GenericMidiControlProtocol (*s);
+ } catch (failed_constructor& err) {
+ return 0;
+ }
if (gmcp->set_active (true)) {
delete gmcp;