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 ();
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);
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&);
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&);
/** 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;