X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fosc%2Finterface.cc;h=35b313945d9e5da08bfd81d2632be49f3b485a1f;hb=d7fcdbfe1d48bd74acbd8f3eb05563fb8a96da57;hp=de9154c80d1bcdf7a788d30031c10a2d0a01cda2;hpb=b3c6c4a6d589760de476ec4fef4c027be1023718;p=ardour.git diff --git a/libs/surfaces/osc/interface.cc b/libs/surfaces/osc/interface.cc index de9154c80d..35b313945d 100644 --- a/libs/surfaces/osc/interface.cc +++ b/libs/surfaces/osc/interface.cc @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Paul Davis + * Copyright (C) 2009 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 @@ -14,52 +14,56 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * + * * */ -#include +#include "ardour/rc_configuration.h" +#include "control_protocol/control_protocol.h" #include "osc.h" using namespace ARDOUR; +using namespace ArdourSurface; -ControlProtocol* -new_osc_protocol (ControlProtocolDescriptor* descriptor, Session* s) +static ControlProtocol* +new_osc_protocol (ControlProtocolDescriptor* /*descriptor*/, Session* s) { OSC* osc = new OSC (*s, Config->get_osc_port()); - + osc->set_active (true); return osc; } -void -delete_osc_protocol (ControlProtocolDescriptor* descriptor, ControlProtocol* cp) +static void +delete_osc_protocol (ControlProtocolDescriptor* /*descriptor*/, ControlProtocol* cp) { delete cp; } -bool -probe_osc_protocol (ControlProtocolDescriptor* descriptor) +static bool +probe_osc_protocol (ControlProtocolDescriptor* /*descriptor*/) { 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 = { - name : "Open Sound Control (OSC)", - id : "uri://ardour.org/surfaces/osc:0", - ptr : 0, - module : 0, - mandatory : 0, - supports_feedback : true, - probe : probe_osc_protocol, - initialize : new_osc_protocol, - destroy : delete_osc_protocol + /*name : */ "Open Sound Control (OSC)", + /*id : */ "uri://ardour.org/surfaces/osc:0", + /*ptr : */ 0, + /*module : */ 0, + /*mandatory : */ 0, + /*supports_feedback : */ true, + /*probe : */ probe_osc_protocol, + /*initialize : */ new_osc_protocol, + /*destroy : */ delete_osc_protocol, + /*request_buffer_factory */ osc_request_buffer_factory }; -extern "C" { -ControlProtocolDescriptor* -protocol_descriptor () { - return &osc_descriptor; -} -} +extern "C" ARDOURSURFACE_API ControlProtocolDescriptor* protocol_descriptor () { return &osc_descriptor; }