new tempo handling from drmoore; don't follow playhead when doing requested_return...
[ardour.git] / libs / ardour / ardour / region.h
index ca8c5855a9194f6709074dee06c40b89bc9ef9ca..3aae8c47677fd826e14caa9b1a2b8612049d2b75 100644 (file)
@@ -98,8 +98,9 @@ class Region : public PBD::StatefulDestructible, public boost::enable_shared_fro
        nframes64_t ancestral_start () const { return _ancestral_start; }
        nframes64_t ancestral_length () const { return _ancestral_length; }
        float stretch() const { return _stretch; }
+       float shift() const { return _shift; }
 
-       void set_ancestral_data (nframes64_t start, nframes64_t length, float stretch);
+       void set_ancestral_data (nframes64_t start, nframes64_t length, float stretch, float shift);
 
        nframes_t sync_offset(int& dir) const;
        nframes_t sync_position() const;
@@ -209,9 +210,9 @@ class Region : public PBD::StatefulDestructible, public boost::enable_shared_fro
        void first_edit ();
        
        virtual bool verify_start (nframes_t) = 0;
-       virtual bool verify_start_and_length (nframes_t, nframes_t) = 0;
+       virtual bool verify_start_and_length (nframes_t, nframes_t&) = 0;
        virtual bool verify_start_mutable (nframes_t&_start) = 0;
-       virtual bool verify_length (nframes_t) = 0;
+       virtual bool verify_length (nframes_t&) = 0;
        virtual void recompute_at_start () = 0;
        virtual void recompute_at_end () = 0;
        
@@ -235,6 +236,7 @@ class Region : public PBD::StatefulDestructible, public boost::enable_shared_fro
        nframes64_t             _ancestral_start;
        nframes64_t             _ancestral_length;
        float                   _stretch;
+       float                   _shift;
 };
 
 } /* namespace ARDOUR */