* got MIDI clock working really smoothly (29 frames until sync, ardour transport...
[ardour.git] / libs / surfaces / generic_midi / interface.cc
index c6c59c658992ec49e5f793074ed968ba184dddb6..c70b5b6b6182d872e3ab59280ae68a62383e139a 100644 (file)
@@ -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;
@@ -34,6 +42,7 @@ static ControlProtocolDescriptor generic_midi_descriptor = {
        ptr : 0,
        module : 0,
        mandatory : 0,
+       supports_feedback : true,
        probe : probe_generic_midi_protocol,
        initialize : new_generic_midi_protocol,
        destroy : delete_generic_midi_protocol