/*
- Copyright (C) 2012 Paul Davis
+ Copyright (C) 2012 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
using namespace ARDOUR;
-ControlProtocol* ARDOURSURFACE_LOCAL
+static ControlProtocol*
new_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/, Session* s)
{
GenericMidiControlProtocol* gmcp;
-
+
try {
gmcp = new GenericMidiControlProtocol (*s);
} catch (failed_constructor& err) {
return 0;
}
-
+
if (gmcp->set_active (true)) {
delete gmcp;
return 0;
return gmcp;
}
-void ARDOURSURFACE_LOCAL
+static void
delete_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/, ControlProtocol* cp)
{
delete cp;
}
-bool ARDOURSURFACE_LOCAL
+static bool
probe_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
{
return GenericMidiControlProtocol::probe ();
/*supports_feedback : */ true,
/*probe : */ probe_generic_midi_protocol,
/*initialize : */ new_generic_midi_protocol,
- /*destroy : */ delete_generic_midi_protocol
+ /*destroy : */ delete_generic_midi_protocol,
+ /*request_buffer_factory : */ 0 /* no buffer factory because this runs
+ * in the midiUI event loop (which has
+ * its own request buffer factory.
+ */
};
-
+
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &generic_midi_descriptor; }