X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fpanner.h;h=947baca73382cb26a68a05ef796f4d59590fcf72;hb=30b087ab3d28f1585987fa3f6ae006562ae192e3;hp=48f583c18558466b9e603c4f23f47f0f2092e88d;hpb=6fc1f270137a06115a79c6089004174c5cab5ed7;p=ardour.git diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h index 48f583c185..947baca733 100644 --- a/libs/ardour/ardour/panner.h +++ b/libs/ardour/ardour/panner.h @@ -44,7 +44,7 @@ #define ARDOURPANNER_API LIBARDOUR_DLL_EXPORT #else #define ARDOURPANNER_API LIBARDOUR_DLL_IMPORT - #endif + #endif #define ARDOURPANNER_LOCAL LIBARDOUR_DLL_LOCAL namespace ARDOUR { @@ -100,14 +100,15 @@ 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); - AutoStyle automation_style() const; 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; @@ -139,7 +140,7 @@ public: * @param ibufs Input buffers (one per panner input) * @param obufs Output buffers (one per panner output). * @param gain_coeff fixed, additional gain coefficient to apply to output samples. - * @param nframes Number of frames in the input. + * @param nframes Number of samples in the input. * * Derived panners can choose to implement these if they need to gain more * control over the panning algorithm. The default is to call @@ -151,12 +152,12 @@ public: */ virtual void distribute (BufferSet& ibufs, BufferSet& obufs, gain_t gain_coeff, pframes_t nframes); virtual void distribute_automated (BufferSet& ibufs, BufferSet& obufs, - framepos_t start, framepos_t end, pframes_t nframes, + samplepos_t start, samplepos_t end, pframes_t nframes, pan_t** buffers); 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) { @@ -168,18 +169,18 @@ public: return fabs (a.azi - b.azi) < 1.0; } - virtual void freeze (); - virtual void thaw (); + virtual void freeze (); + virtual void thaw (); protected: boost::shared_ptr _pannable; virtual void distribute_one (AudioBuffer&, BufferSet& obufs, gain_t gain_coeff, pframes_t nframes, uint32_t which) = 0; virtual void distribute_one_automated (AudioBuffer&, BufferSet& obufs, - framepos_t start, framepos_t end, pframes_t nframes, + samplepos_t start, samplepos_t end, pframes_t nframes, pan_t** buffers, uint32_t which) = 0; - int32_t _frozen; + int32_t _frozen; }; } // namespace