1 #include <pbd/failed_constructor.h>
3 #include "control_protocol/control_protocol.h"
4 #include "generic_midi_control_protocol.h"
6 using namespace ARDOUR;
9 new_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/, Session* s)
11 GenericMidiControlProtocol* gmcp;
14 gmcp = new GenericMidiControlProtocol (*s);
15 } catch (failed_constructor& err) {
19 if (gmcp->set_active (true)) {
28 delete_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/, ControlProtocol* cp)
34 probe_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
36 return GenericMidiControlProtocol::probe ();
39 static ControlProtocolDescriptor generic_midi_descriptor = {
40 name : "Generic MIDI",
41 id : "uri://ardour.org/surfaces/generic_midi:0",
45 supports_feedback : true,
46 probe : probe_generic_midi_protocol,
47 initialize : new_generic_midi_protocol,
48 destroy : delete_generic_midi_protocol
53 ControlProtocolDescriptor*
54 protocol_descriptor () {
55 return &generic_midi_descriptor;