X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fpanner.h;h=48f9ee16e9fc3b0312e20daf4948d9ac8b40ade9;hb=ace9ee194d4f6599c79242d6dc523af5099eab0f;hp=cee59923ef79feb6728d5d62865d2a9f21a8d126;hpb=b880a381523b2cfdb7ebd17c27fff1adf90fa028;p=ardour.git diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h index cee59923ef..48f9ee16e9 100644 --- a/libs/ardour/ardour/panner.h +++ b/libs/ardour/ardour/panner.h @@ -35,6 +35,18 @@ #include "ardour/automation_control.h" #include "ardour/automatable.h" + +/* This section is for actual panners to use. They will include this file, + * declare ARDOURPANNER_DLL_EXPORTS during compilation, and ... voila. + */ + +#ifdef ARDOURPANNER_DLL_EXPORTS // defined if we are building a panner implementation + #define ARDOURPANNER_API LIBARDOUR_DLL_EXPORT + #else + #define ARDOURPANNER_API LIBARDOUR_DLL_IMPORT + #endif +#define ARDOURPANNER_LOCAL LIBARDOUR_DLL_LOCAL + namespace ARDOUR { class Session; @@ -88,6 +100,9 @@ public: virtual void reset () = 0; + /* azimut, width or elevation updated -> recalc signal_position -> emit Changed */ + PBD::Signal0 SignalPositionChanged; + void set_automation_state (AutoState); AutoState automation_state() const; void set_automation_style (AutoStyle); @@ -95,7 +110,7 @@ public: virtual std::set what_can_be_automated() const; virtual std::string describe_parameter (Evoral::Parameter); - virtual std::string value_as_string (boost::shared_ptr) const; + virtual std::string value_as_string (boost::shared_ptr) const; bool touching() const; @@ -144,7 +159,7 @@ public: int set_state (const XMLNode&, int version); XMLNode& get_state (); - + boost::shared_ptr pannable() const { return _pannable; } static bool equivalent (pan_t a, pan_t b) { @@ -175,8 +190,11 @@ protected: extern "C" { struct LIBARDOUR_API PanPluginDescriptor { std::string name; + std::string panner_uri; + std::string gui_uri; int32_t in; int32_t out; + uint32_t priority; ARDOUR::Panner* (*factory)(boost::shared_ptr, boost::shared_ptr); }; }