X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpanners%2F2in2out%2Fpanner_2in2out.h;h=4c71a27c183955456f98dba41ec3a9eb2c71265a;hb=4905422a47c8068951bacb53b55884cf0dec5602;hp=0bb38fa27f79190ebc9152533fb5444eb5621d3f;hpb=15b5fce90480490455237da917167b0bcb5ce946;p=ardour.git diff --git a/libs/panners/2in2out/panner_2in2out.h b/libs/panners/2in2out/panner_2in2out.h index 0bb38fa27f..4c71a27c18 100644 --- a/libs/panners/2in2out/panner_2in2out.h +++ b/libs/panners/2in2out/panner_2in2out.h @@ -49,6 +49,9 @@ class Panner2in2out : public Panner bool clamp_position (double&); bool clamp_width (double&); + std::pair position_range () const; + std::pair width_range () const; + void set_position (double); void set_width (double); @@ -57,16 +60,18 @@ class Panner2in2out : public Panner std::set what_can_be_automated() const; - static Panner* factory (boost::shared_ptr, Speakers&); + static Panner* factory (boost::shared_ptr, boost::shared_ptr); std::string describe_parameter (Evoral::Parameter); + std::string value_as_string (boost::shared_ptr) const; - XMLNode& state (bool full_state); - XMLNode& get_state (void); - int set_state (const XMLNode&, int version); + XMLNode& get_state (); void update (); + void reset (); + void thaw (); + protected: float left[2]; float right[2]; @@ -77,7 +82,7 @@ class Panner2in2out : public Panner private: bool clamp_stereo_pan (double& direction_as_lr_fract, double& width); - + void distribute_one (AudioBuffer& srcbuf, BufferSet& obufs, gain_t gain_coeff, pframes_t nframes, uint32_t which); void distribute_one_automated (AudioBuffer& srcbuf, BufferSet& obufs, framepos_t start, framepos_t end, pframes_t nframes,