X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fgeneric_midi%2Finterface.cc;h=04254cb97454763045267fea7603b291b6121f36;hb=eaca325ce81c63888ee70305ad384102e46757be;hp=1f2ae7b127c5429b0943f6898faca2e741b66ba9;hpb=2a6a16f980ff9181b138f7a30aedfbde4426a591;p=ardour.git diff --git a/libs/surfaces/generic_midi/interface.cc b/libs/surfaces/generic_midi/interface.cc index 1f2ae7b127..04254cb974 100644 --- a/libs/surfaces/generic_midi/interface.cc +++ b/libs/surfaces/generic_midi/interface.cc @@ -1,5 +1,5 @@ /* - 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 @@ -24,17 +24,17 @@ 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; @@ -43,13 +43,13 @@ new_generic_midi_protocol (ControlProtocolDescriptor* /*descriptor*/, Session* s 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 (); @@ -65,8 +65,12 @@ static ControlProtocolDescriptor generic_midi_descriptor = { /*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; }