- jack_nframes_t position () const { return _position; }
- jack_nframes_t start () const { return _start; }
- jack_nframes_t length() const { return _length; }
- layer_t layer () const { return _layer; }
-
- jack_nframes_t sync_offset(int& dir) const;
- jack_nframes_t sync_position() const;
-
- jack_nframes_t adjust_to_sync (jack_nframes_t);
+ /**
+ * Thats how the region parameters play together:
+ * <PRE>
+ * |------------------------------------------------------------------- track
+ * |..........[------------------].....| region
+ * |-----------------------------| _position
+ * |------------------| _length
+ * |----------| _start
+ * </PRE>
+ */
+ nframes_t position () const { return _position; }
+ nframes_t start () const { return _start; }
+ nframes_t length() const { return _length; }
+ layer_t layer () const { return _layer; }
+
+ /* these two are valid ONLY during a StateChanged signal handler */
+
+ nframes_t last_position() const { return _last_position; }
+ nframes_t last_length() const { return _last_length; }
+
+ 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, float shift);
+
+ nframes_t sync_offset(int& dir) const;
+ nframes_t sync_position() const;
+ nframes_t sync_point () const;
+
+ nframes_t adjust_to_sync (nframes_t) const;