surfaces & event loops: i really mean no more request buffer factories

This commit is contained in:
Paul Davis 2023-04-21 13:55:58 -06:00
parent b0586763ba
commit f718279949
41 changed files with 1 additions and 262 deletions

View file

@ -62,17 +62,6 @@ MidiControlUI::~MidiControlUI ()
_instance = 0; _instance = 0;
} }
void*
MidiControlUI::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use when registering the factory, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
void void
MidiControlUI::do_request (MidiUIRequest* req) MidiControlUI::do_request (MidiUIRequest* req)
{ {

View file

@ -180,15 +180,6 @@ public:
bool (*probe) (ControlProtocolDescriptor*); bool (*probe) (ControlProtocolDescriptor*);
ControlProtocol* (*initialize) (ControlProtocolDescriptor*, Session*); ControlProtocol* (*initialize) (ControlProtocolDescriptor*, Session*);
void (*destroy) (ControlProtocolDescriptor*, ControlProtocol*); void (*destroy) (ControlProtocolDescriptor*, ControlProtocol*);
/* this is required if the control protocol connects to signals
* from libardour. they all do. It should allocate a
* type-specific request buffer for the calling thread, and
* store it in a thread-local location that will be used to
* find it when sending the event loop a message
* (e.g. call_slot()). It should also return the allocated
* buffer as a void*.
*/
void* (*request_buffer_factory) (uint32_t);
}; };
} }
} }

View file

@ -437,14 +437,3 @@ MIDISurface::bundles ()
return b; return b;
} }
void*
MIDISurface::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}

View file

@ -48,8 +48,6 @@ class MIDISurface : public ARDOUR::ControlProtocol
MIDISurface (ARDOUR::Session&, std::string const & name, std::string const & port_name_prefix, bool use_pad_filter); MIDISurface (ARDOUR::Session&, std::string const & name, std::string const & port_name_prefix, bool use_pad_filter);
~MIDISurface (); ~MIDISurface ();
static void* request_factory (uint32_t num_requests);
std::shared_ptr<ARDOUR::Port> input_port(); std::shared_ptr<ARDOUR::Port> input_port();
std::shared_ptr<ARDOUR::Port> output_port(); std::shared_ptr<ARDOUR::Port> output_port();

View file

@ -513,9 +513,3 @@ AbstractUI<RequestObject>::call_slot (InvalidationRecord* invalidation, const bo
return true; return true;
} }
template<typename RequestObject> void*
AbstractUI<RequestObject>::request_buffer_factory (uint32_t num_requests)
{
RequestBuffer* mcr = new RequestBuffer (num_requests); // XXX leaks
return mcr;
}

View file

@ -65,8 +65,6 @@ public:
Glib::Threads::RWLock request_buffer_map_lock; Glib::Threads::RWLock request_buffer_map_lock;
static void* request_buffer_factory (uint32_t num_requests);
protected: protected:
struct RequestBuffer : public PBD::RingBufferNPT<RequestObject> { struct RequestBuffer : public PBD::RingBufferNPT<RequestObject> {
bool dead; bool dead;

View file

@ -202,17 +202,6 @@ CC121::~CC121 ()
BaseUI::quit (); BaseUI::quit ();
} }
void*
CC121::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
void void
CC121::start_midi_handling () CC121::start_midi_handling ()
{ {

View file

@ -87,7 +87,6 @@ class CC121 : public ARDOUR::ControlProtocol, public AbstractUI<CC121Request> {
there's no way to know if the device exists or not. there's no way to know if the device exists or not.
*/ */
static bool probe() { return true; } static bool probe() { return true; }
static void* request_factory (uint32_t);
XMLNode& get_state () const; XMLNode& get_state () const;
int set_state (const XMLNode&, int version); int set_state (const XMLNode&, int version);

View file

@ -56,12 +56,6 @@ probe_cc121_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
return CC121::probe (); return CC121::probe ();
} }
static void*
cc121_request_buffer_factory (uint32_t num_requests)
{
return CC121::request_factory (num_requests);
}
static ControlProtocolDescriptor cc121_midi_descriptor = { static ControlProtocolDescriptor cc121_midi_descriptor = {
/*name : */ "Steinberg CC121", /*name : */ "Steinberg CC121",
/*id : */ "uri://ardour.org/surfaces/cc121:0", /*id : */ "uri://ardour.org/surfaces/cc121:0",
@ -72,7 +66,6 @@ static ControlProtocolDescriptor cc121_midi_descriptor = {
/*probe : */ probe_cc121_midi_protocol, /*probe : */ probe_cc121_midi_protocol,
/*initialize : */ new_cc121_midi_protocol, /*initialize : */ new_cc121_midi_protocol,
/*destroy : */ delete_cc121_midi_protocol, /*destroy : */ delete_cc121_midi_protocol,
/*request_buffer_factory */ cc121_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &cc121_midi_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &cc121_midi_descriptor; }

View file

@ -97,17 +97,6 @@ ContourDesignControlProtocol::probe ()
return rv; return rv;
} }
void*
ContourDesignControlProtocol::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
* instantiated in this source module. To provide something visible for
* use in the interface/descriptor, we have this static method that is
* template-free.
*/
return request_buffer_factory (num_requests);
}
int int
ContourDesignControlProtocol::set_active (bool yn) ContourDesignControlProtocol::set_active (bool yn)
{ {

View file

@ -85,7 +85,6 @@ public:
DeviceType device_type() const { return _device_type; } DeviceType device_type() const { return _device_type; }
static bool probe (); static bool probe ();
static void* request_factory (uint32_t);
int set_active (bool yn); int set_active (bool yn);

View file

@ -49,12 +49,6 @@ probe_contourdesign_protocol (ControlProtocolDescriptor*)
return ContourDesignControlProtocol::probe (); return ContourDesignControlProtocol::probe ();
} }
static void*
contourdesign_request_buffer_factory (uint32_t num_requests)
{
return ContourDesignControlProtocol::request_factory (num_requests);
}
static ControlProtocolDescriptor contourdesign_descriptor = { static ControlProtocolDescriptor contourdesign_descriptor = {
/* name : */ "ContourDesign", /* name : */ "ContourDesign",
/* id : */ "uri://ardour.org/surfaces/contourdesign:0", /* id : */ "uri://ardour.org/surfaces/contourdesign:0",
@ -65,7 +59,6 @@ static ControlProtocolDescriptor contourdesign_descriptor = {
/* probe : */ probe_contourdesign_protocol, /* probe : */ probe_contourdesign_protocol,
/* initialize : */ new_contourdesign_protocol, /* initialize : */ new_contourdesign_protocol,
/* destroy : */ delete_contourdesign_protocol, /* destroy : */ delete_contourdesign_protocol,
/* request_buffer_factory : */ contourdesign_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &contourdesign_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &contourdesign_descriptor; }

View file

@ -56,13 +56,6 @@ probe_faderport_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
return FaderPort::probe (); return FaderPort::probe ();
} }
static void*
faderport_request_buffer_factory (uint32_t num_requests)
{
return MIDISurface::request_factory (num_requests);
}
static ControlProtocolDescriptor faderport_midi_descriptor = { static ControlProtocolDescriptor faderport_midi_descriptor = {
/*name : */ "PreSonus FaderPort", /*name : */ "PreSonus FaderPort",
/*id : */ "uri://ardour.org/surfaces/faderport:0", /*id : */ "uri://ardour.org/surfaces/faderport:0",
@ -73,7 +66,6 @@ static ControlProtocolDescriptor faderport_midi_descriptor = {
/*probe : */ probe_faderport_midi_protocol, /*probe : */ probe_faderport_midi_protocol,
/*initialize : */ new_faderport_midi_protocol, /*initialize : */ new_faderport_midi_protocol,
/*destroy : */ delete_faderport_midi_protocol, /*destroy : */ delete_faderport_midi_protocol,
/*request_buffer_factory */ faderport_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &faderport_midi_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &faderport_midi_descriptor; }

View file

@ -55,12 +55,6 @@ probe_faderport16_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
return FaderPort8::probe (); return FaderPort8::probe ();
} }
static void*
faderport16_request_buffer_factory (uint32_t num_requests)
{
return FaderPort8::request_factory (num_requests);
}
static ControlProtocolDescriptor faderport16_midi_descriptor = { static ControlProtocolDescriptor faderport16_midi_descriptor = {
/*name : */ "PreSonus FaderPort16", /*name : */ "PreSonus FaderPort16",
/*id : */ "uri://ardour.org/surfaces/faderport16:0", /*id : */ "uri://ardour.org/surfaces/faderport16:0",
@ -71,7 +65,6 @@ static ControlProtocolDescriptor faderport16_midi_descriptor = {
/*probe : */ probe_faderport16_midi_protocol, /*probe : */ probe_faderport16_midi_protocol,
/*initialize : */ new_faderport16_midi_protocol, /*initialize : */ new_faderport16_midi_protocol,
/*destroy : */ delete_faderport16_midi_protocol, /*destroy : */ delete_faderport16_midi_protocol,
/*request_buffer_factory */ faderport16_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API extern "C" ARDOURSURFACE_API

View file

@ -55,12 +55,6 @@ probe_faderport2_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
return FaderPort8::probe (); return FaderPort8::probe ();
} }
static void*
faderport2_request_buffer_factory (uint32_t num_requests)
{
return FaderPort8::request_factory (num_requests);
}
static ControlProtocolDescriptor faderport2_midi_descriptor = { static ControlProtocolDescriptor faderport2_midi_descriptor = {
/*name : */ "PreSonus FaderPort2", /*name : */ "PreSonus FaderPort2",
/*id : */ "uri://ardour.org/surfaces/faderport2:0", /*id : */ "uri://ardour.org/surfaces/faderport2:0",
@ -71,7 +65,6 @@ static ControlProtocolDescriptor faderport2_midi_descriptor = {
/*probe : */ probe_faderport2_midi_protocol, /*probe : */ probe_faderport2_midi_protocol,
/*initialize : */ new_faderport2_midi_protocol, /*initialize : */ new_faderport2_midi_protocol,
/*destroy : */ delete_faderport2_midi_protocol, /*destroy : */ delete_faderport2_midi_protocol,
/*request_buffer_factory */ faderport2_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API extern "C" ARDOURSURFACE_API

View file

@ -215,17 +215,6 @@ FaderPort8::~FaderPort8 ()
* Event Loop * Event Loop
*/ */
void*
FaderPort8::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
* instantiated in this source module. To provide something visible for
* use in the interface/descriptor, we have this static method that is
* template-free.
*/
return request_buffer_factory (num_requests);
}
void void
FaderPort8::do_request (FaderPort8Request* req) FaderPort8::do_request (FaderPort8Request* req)
{ {

View file

@ -73,7 +73,6 @@ public:
* there's no way to know if the device exists or not. * there's no way to know if the device exists or not.
*/ */
static bool probe() { return true; } static bool probe() { return true; }
static void* request_factory (uint32_t);
XMLNode& get_state () const; XMLNode& get_state () const;
int set_state (const XMLNode&, int version); int set_state (const XMLNode&, int version);

View file

@ -55,12 +55,6 @@ probe_faderport8_midi_protocol (ControlProtocolDescriptor* /*descriptor*/)
return FaderPort8::probe (); return FaderPort8::probe ();
} }
static void*
faderport8_request_buffer_factory (uint32_t num_requests)
{
return FaderPort8::request_factory (num_requests);
}
static ControlProtocolDescriptor faderport8_midi_descriptor = { static ControlProtocolDescriptor faderport8_midi_descriptor = {
/*name : */ "PreSonus FaderPort8", /*name : */ "PreSonus FaderPort8",
/*id : */ "uri://ardour.org/surfaces/faderport8:0", /*id : */ "uri://ardour.org/surfaces/faderport8:0",
@ -71,7 +65,6 @@ static ControlProtocolDescriptor faderport8_midi_descriptor = {
/*probe : */ probe_faderport8_midi_protocol, /*probe : */ probe_faderport8_midi_protocol,
/*initialize : */ new_faderport8_midi_protocol, /*initialize : */ new_faderport8_midi_protocol,
/*destroy : */ delete_faderport8_midi_protocol, /*destroy : */ delete_faderport8_midi_protocol,
/*request_buffer_factory */ faderport8_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API extern "C" ARDOURSURFACE_API

View file

@ -66,10 +66,6 @@ static ControlProtocolDescriptor generic_midi_descriptor = {
/*probe : */ probe_generic_midi_protocol, /*probe : */ probe_generic_midi_protocol,
/*initialize : */ new_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; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &generic_midi_descriptor; }

View file

@ -74,12 +74,6 @@ probe_launch_control_xl (ControlProtocolDescriptor*)
return LaunchControlXL::probe(); return LaunchControlXL::probe();
} }
static void*
lcxl_request_buffer_factory (uint32_t num_requests)
{
return LaunchControlXL::request_factory (num_requests);
}
static ControlProtocolDescriptor launch_control_xl_descriptor = { static ControlProtocolDescriptor launch_control_xl_descriptor = {
/*name : */ "Novation Launch Control XL", /*name : */ "Novation Launch Control XL",
/*id : */ "uri://ardour.org/surfaces/launch_control_xl:0", /*id : */ "uri://ardour.org/surfaces/launch_control_xl:0",
@ -94,7 +88,6 @@ static ControlProtocolDescriptor launch_control_xl_descriptor = {
/*probe : */ probe_launch_control_xl, /*probe : */ probe_launch_control_xl,
/*initialize : */ new_launch_control_xl, /*initialize : */ new_launch_control_xl,
/*destroy : */ delete_launch_control_xl, /*destroy : */ delete_launch_control_xl,
/*request_buffer_factory */ lcxl_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &launch_control_xl_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &launch_control_xl_descriptor; }

View file

@ -427,17 +427,6 @@ LaunchControlXL::probe ()
return true; return true;
} }
void*
LaunchControlXL::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
void void
LaunchControlXL::do_request (LaunchControlRequest * req) LaunchControlXL::do_request (LaunchControlRequest * req)
{ {

View file

@ -358,7 +358,6 @@ public:
static bool probe(); static bool probe();
static void *request_factory(uint32_t);
std::list<std::shared_ptr<ARDOUR::Bundle> > bundles(); std::list<std::shared_ptr<ARDOUR::Bundle> > bundles();

View file

@ -77,12 +77,6 @@ probe_mackie_protocol (ControlProtocolDescriptor*)
return MackieControlProtocol::probe(); return MackieControlProtocol::probe();
} }
static void*
mackie_request_buffer_factory (uint32_t num_requests)
{
return MackieControlProtocol::request_factory (num_requests);
}
// Field names commented out by JE - 06-01-2010 // Field names commented out by JE - 06-01-2010
static ControlProtocolDescriptor mackie_descriptor = { static ControlProtocolDescriptor mackie_descriptor = {
/*name : */ "Mackie", /*name : */ "Mackie",
@ -98,7 +92,6 @@ static ControlProtocolDescriptor mackie_descriptor = {
/*probe : */ probe_mackie_protocol, /*probe : */ probe_mackie_protocol,
/*initialize : */ new_mackie_protocol, /*initialize : */ new_mackie_protocol,
/*destroy : */ delete_mackie_protocol, /*destroy : */ delete_mackie_protocol,
/*request_buffer_factory */ mackie_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &mackie_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &mackie_descriptor; }

View file

@ -2505,17 +2505,6 @@ MackieControlProtocol::global_index_locked (Strip& strip)
return global; return global;
} }
void*
MackieControlProtocol::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
void void
MackieControlProtocol::set_automation_state (AutoState as) MackieControlProtocol::set_automation_state (AutoState as)
{ {

View file

@ -161,7 +161,6 @@ class MackieControlProtocol
*/ */
static bool probe(); static bool probe();
static void* request_factory (uint32_t);
mutable Glib::Threads::Mutex surfaces_lock; mutable Glib::Threads::Mutex surfaces_lock;
typedef std::list<std::shared_ptr<Mackie::Surface> > Surfaces; typedef std::list<std::shared_ptr<Mackie::Surface> > Surfaces;

View file

@ -57,12 +57,6 @@ probe_maschine2 (ControlProtocolDescriptor*)
return true; return true;
} }
static void*
maschine2_request_buffer_factory (uint32_t num_requests)
{
return Maschine2::request_factory (num_requests);
}
static ControlProtocolDescriptor maschine2_descriptor = { static ControlProtocolDescriptor maschine2_descriptor = {
/*name : */ "NI Maschine2", /*name : */ "NI Maschine2",
/*id : */ "uri://ardour.org/surfaces/maschine2:0", /*id : */ "uri://ardour.org/surfaces/maschine2:0",
@ -73,7 +67,6 @@ static ControlProtocolDescriptor maschine2_descriptor = {
/*probe : */ probe_maschine2, /*probe : */ probe_maschine2,
/*initialize : */ new_maschine2, /*initialize : */ new_maschine2,
/*destroy : */ delete_maschine2, /*destroy : */ delete_maschine2,
/*request_buffer_factory */ maschine2_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &maschine2_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &maschine2_descriptor; }

View file

@ -125,12 +125,6 @@ Maschine2::~Maschine2 ()
hid_exit (); hid_exit ();
} }
void*
Maschine2::request_factory (uint32_t num_requests)
{
return request_buffer_factory (num_requests);
}
void void
Maschine2::do_request (Maschine2Request* req) Maschine2::do_request (Maschine2Request* req)
{ {

View file

@ -64,7 +64,6 @@ class Maschine2: public ARDOUR::ControlProtocol, public AbstractUI<Maschine2Requ
Maschine2 (ARDOUR::Session&); Maschine2 (ARDOUR::Session&);
~Maschine2 (); ~Maschine2 ();
static void* request_factory (uint32_t);
#if 0 #if 0
bool has_editor () const { return false; } bool has_editor () const { return false; }

View file

@ -46,12 +46,6 @@ probe_osc_protocol (ControlProtocolDescriptor* /*descriptor*/)
return true; // we can always do OSC return true; // we can always do OSC
} }
static void*
osc_request_buffer_factory (uint32_t num_requests)
{
return OSC::request_factory (num_requests);
}
static ControlProtocolDescriptor osc_descriptor = { static ControlProtocolDescriptor osc_descriptor = {
/*name : */ "Open Sound Control (OSC)", /*name : */ "Open Sound Control (OSC)",
/*id : */ "uri://ardour.org/surfaces/osc:0", /*id : */ "uri://ardour.org/surfaces/osc:0",
@ -62,7 +56,6 @@ static ControlProtocolDescriptor osc_descriptor = {
/*probe : */ probe_osc_protocol, /*probe : */ probe_osc_protocol,
/*initialize : */ new_osc_protocol, /*initialize : */ new_osc_protocol,
/*destroy : */ delete_osc_protocol, /*destroy : */ delete_osc_protocol,
/*request_buffer_factory */ osc_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &osc_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &osc_descriptor; }

View file

@ -141,17 +141,6 @@ OSC::~OSC()
_instance = 0; _instance = 0;
} }
void*
OSC::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
void void
OSC::do_request (OSCUIRequest* req) OSC::do_request (OSCUIRequest* req)
{ {

View file

@ -108,8 +108,6 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest>
int start (); int start ();
int stop (); int stop ();
static void* request_factory (uint32_t);
enum OSCDebugMode { enum OSCDebugMode {
Off, Off,
Unhandled, Unhandled,

View file

@ -72,12 +72,6 @@ probe_push2 (ControlProtocolDescriptor*)
return Push2::probe(); return Push2::probe();
} }
static void*
push2_request_buffer_factory (uint32_t num_requests)
{
return MIDISurface::request_factory (num_requests);
}
static ControlProtocolDescriptor push2_descriptor = { static ControlProtocolDescriptor push2_descriptor = {
/*name : */ "Ableton Push 2", /*name : */ "Ableton Push 2",
/*id : */ "uri://ardour.org/surfaces/push2:0", /*id : */ "uri://ardour.org/surfaces/push2:0",
@ -92,7 +86,6 @@ static ControlProtocolDescriptor push2_descriptor = {
/*probe : */ probe_push2, /*probe : */ probe_push2,
/*initialize : */ new_push2, /*initialize : */ new_push2,
/*destroy : */ delete_push2, /*destroy : */ delete_push2,
/*request_buffer_factory */ push2_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &push2_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &push2_descriptor; }

View file

@ -74,12 +74,6 @@ probe_us2400_protocol (ControlProtocolDescriptor*)
return US2400Protocol::probe(); return US2400Protocol::probe();
} }
static void*
us2400_request_buffer_factory (uint32_t num_requests)
{
return US2400Protocol::request_factory (num_requests);
}
// Field names commented out by JE - 06-01-2010 // Field names commented out by JE - 06-01-2010
static ControlProtocolDescriptor us2400_descriptor = { static ControlProtocolDescriptor us2400_descriptor = {
/*name : */ "Tascam US-2400", /*name : */ "Tascam US-2400",
@ -95,7 +89,6 @@ static ControlProtocolDescriptor us2400_descriptor = {
/*probe : */ probe_us2400_protocol, /*probe : */ probe_us2400_protocol,
/*initialize : */ new_us2400_protocol, /*initialize : */ new_us2400_protocol,
/*destroy : */ delete_us2400_protocol, /*destroy : */ delete_us2400_protocol,
/*request_buffer_factory */ us2400_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &us2400_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &us2400_descriptor; }

View file

@ -1962,17 +1962,6 @@ US2400Protocol::global_index_locked (Strip& strip)
return global; return global;
} }
void*
US2400Protocol::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
void void
US2400Protocol::set_automation_state (AutoState as) US2400Protocol::set_automation_state (AutoState as)
{ {

View file

@ -139,7 +139,6 @@ class US2400Protocol
*/ */
static bool probe(); static bool probe();
static void* request_factory (uint32_t);
mutable Glib::Threads::Mutex surfaces_lock; mutable Glib::Threads::Mutex surfaces_lock;
typedef std::list<std::shared_ptr<US2400::Surface> > Surfaces; typedef std::list<std::shared_ptr<US2400::Surface> > Surfaces;

View file

@ -55,17 +55,6 @@ ArdourWebsockets::~ArdourWebsockets ()
stop (); stop ();
} }
void*
ArdourWebsockets::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}
int int
ArdourWebsockets::set_active (bool yn) ArdourWebsockets::set_active (bool yn)
{ {

View file

@ -57,8 +57,6 @@ public:
ArdourWebsockets (ARDOUR::Session&); ArdourWebsockets (ARDOUR::Session&);
virtual ~ArdourWebsockets (); virtual ~ArdourWebsockets ();
static void* request_factory (uint32_t);
int set_active (bool); int set_active (bool);
ARDOUR::Session& ardour_session () ARDOUR::Session& ardour_session ()

View file

@ -49,12 +49,6 @@ probe_ardour_websockets_protocol (ControlProtocolDescriptor* /*descriptor*/)
return true; return true;
} }
static void*
ardour_websockets_request_buffer_factory (uint32_t num_requests)
{
return ArdourWebsockets::request_factory (num_requests);
}
static ControlProtocolDescriptor ardour_websockets_descriptor = { static ControlProtocolDescriptor ardour_websockets_descriptor = {
/*name : */ surface_name, /*name : */ surface_name,
/*id : */ surface_id, /*id : */ surface_id,
@ -65,7 +59,6 @@ static ControlProtocolDescriptor ardour_websockets_descriptor = {
/*probe : */ probe_ardour_websockets_protocol, /*probe : */ probe_ardour_websockets_protocol,
/*initialize : */ new_ardour_websockets_protocol, /*initialize : */ new_ardour_websockets_protocol,
/*destroy : */ delete_ardour_websockets_protocol, /*destroy : */ delete_ardour_websockets_protocol,
/*request_buffer_factory */ ardour_websockets_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* extern "C" ARDOURSURFACE_API ControlProtocolDescriptor*

View file

@ -46,12 +46,6 @@ probe_wiimote_protocol (ControlProtocolDescriptor*)
{ {
return WiimoteControlProtocol::probe (); return WiimoteControlProtocol::probe ();
} }
static void*
wiimote_request_buffer_factory (uint32_t num_requests)
{
return WiimoteControlProtocol::request_factory (num_requests);
}
static ControlProtocolDescriptor wiimote_descriptor = { static ControlProtocolDescriptor wiimote_descriptor = {
name : "Wiimote", name : "Wiimote",
@ -63,7 +57,6 @@ static ControlProtocolDescriptor wiimote_descriptor = {
probe : probe_wiimote_protocol, probe : probe_wiimote_protocol,
initialize : new_wiimote_protocol, initialize : new_wiimote_protocol,
destroy : delete_wiimote_protocol, destroy : delete_wiimote_protocol,
request_buffer_factory : wiimote_request_buffer_factory
}; };
extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &wiimote_descriptor; } extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &wiimote_descriptor; }

View file

@ -455,14 +455,3 @@ wiimote_control_protocol_mesg_callback (cwiid_wiimote_t *wiimote, int mesg_count
DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::mesg_callback done\n"); DEBUG_TRACE (DEBUG::WiimoteControl, "WiimoteControlProtocol::mesg_callback done\n");
} }
void*
WiimoteControlProtocol::request_factory (uint32_t num_requests)
{
/* AbstractUI<T>::request_buffer_factory() is a template method only
instantiated in this source module. To provide something visible for
use in the interface/descriptor, we have this static method that is
template-free.
*/
return request_buffer_factory (num_requests);
}

View file

@ -41,7 +41,6 @@ public:
virtual ~WiimoteControlProtocol (); virtual ~WiimoteControlProtocol ();
static bool probe (); static bool probe ();
static void* request_factory (uint32_t);
int set_active (bool yn); int set_active (bool yn);