Add support for VST effSetBypass #7266
[ardour.git] / libs / ardour / ardour / region.h
index e86db04cee931287f62af2bc7fe12da176612a3f..85e0442a41a92c8a9fe09fa6725a74d50ee273e0 100644 (file)
@@ -175,8 +175,12 @@ class LIBARDOUR_API Region
        void set_position_lock_style (PositionLockStyle ps);
        void recompute_position_from_lock_style (const int32_t sub_num);
 
+       /* meter-based beat at the region position */
        double beat () const { return _beat; }
        void set_beat (double beat) { _beat = beat; }
+       /* quarter-note at the region position */
+       double quarter_note () const { return _quarter_note; }
+       void set_quarter_note (double qn) { _quarter_note = qn; }
 
        void suspend_property_changes ();
 
@@ -211,6 +215,7 @@ class LIBARDOUR_API Region
        void set_length (framecnt_t, const int32_t sub_num);
        void set_start (framepos_t);
        void set_position (framepos_t, int32_t sub_num = 0);
+       void set_position_music (double qn);
        void set_initial_position (framepos_t);
        void special_set_position (framepos_t);
        virtual void update_after_tempo_map_change (bool send_change = true);
@@ -342,7 +347,7 @@ class LIBARDOUR_API Region
        Region (boost::shared_ptr<const Region>);
 
        /** Construct a region from another region, at an offset within that region */
-       Region (boost::shared_ptr<const Region>, frameoffset_t start_offset, const int32_t sub_num);
+       Region (boost::shared_ptr<const Region>, ARDOUR::MusicFrame start_offset);
 
        /** Construct a region as a copy of another region, but with different sources */
        Region (boost::shared_ptr<const Region>, const SourceList&);
@@ -360,6 +365,7 @@ class LIBARDOUR_API Region
        virtual int _set_state (const XMLNode&, int version, PBD::PropertyChange& what_changed, bool send_signal);
        void post_set (const PBD::PropertyChange&);
        virtual void set_position_internal (framepos_t pos, bool allow_bbt_recompute, const int32_t sub_num);
+       virtual void set_position_music_internal (double qn);
        virtual void set_length_internal (framecnt_t, const int32_t sub_num);
        virtual void set_start_internal (framecnt_t, const int32_t sub_num = 0);
        bool verify_start_and_length (framepos_t, framecnt_t&);
@@ -378,6 +384,8 @@ class LIBARDOUR_API Region
        /** Sync position relative to the start of our file */
        PBD::Property<framepos_t>  _sync_position;
 
+       double                  _quarter_note;
+
        SourceList              _sources;
        /** Used when timefx are applied, so we can always use the original source */
        SourceList              _master_sources;