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
;