Merge branch 'master' into windows
[ardour.git] / libs / panners / 1in2out / panner_1in2out.h
index ffc67ac54dfeecc8e11a1154370cfa73b2e81b37..912072096bd282806b10714d4404b151e923f5e8 100644 (file)
@@ -33,6 +33,7 @@
 #include "ardour/types.h"
 #include "ardour/panner.h"
 
+
 namespace ARDOUR {
 
 class Panner1in2out : public Panner
@@ -41,8 +42,9 @@ class Panner1in2out : public Panner
        Panner1in2out (boost::shared_ptr<Pannable>);
        ~Panner1in2out ();
 
-        void set_position (double);
-        bool clamp_position (double&);
+    void set_position (double);
+    bool clamp_position (double&);
+       std::pair<double, double> position_range () const;
 
         double position() const;
 
@@ -51,20 +53,14 @@ class Panner1in2out : public Panner
 
         std::set<Evoral::Parameter> what_can_be_automated() const;
 
-       /* this class just leaves the pan law itself to be defined
-          by the update(), do_distribute_automated()
-          methods. derived classes also need a factory method
-          and a type name. See EqualPowerStereoPanner as an example.
-       */
-
-        static Panner* factory (boost::shared_ptr<Pannable>, Speakers&);
+        static Panner* factory (boost::shared_ptr<Pannable>, boost::shared_ptr<Speakers>);
 
         std::string describe_parameter (Evoral::Parameter);
         std::string value_as_string (boost::shared_ptr<AutomationControl>) const;
 
-       XMLNode& state (bool full_state); 
-       XMLNode& get_state (void); 
-       int      set_state (const XMLNode&, int version);
+       XMLNode& get_state ();
+
+       void reset ();
 
   protected:
        float left;