Trim dependence on evoral types.hpp and Beats.hpp
[ardour.git] / libs / surfaces / generic_midi / interface.cc
index 1f2ae7b127c5429b0943f6898faca2e741b66ba9..04254cb97454763045267fea7603b291b6121f36 100644 (file)
@@ -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
 
 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; }