diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-12-14 20:03:40 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-12-14 20:03:40 +0000 |
commit | e3c67bceb864adc10764e901b87ad8b6677caebd (patch) | |
tree | 98cc093e7255dc658bd839a1bbf6c92f76b58331 /libs/ardour/ardour/midi_region.h | |
parent | df5e700f90d9fd6c803e8e85c56f3fe8118bc101 (diff) |
implement methods in TempoMap for walking a given distance along a tempo map and returning the resulting time; add a new property, _length_beats, to MidiRegion; use previously mentioned methods to keep _length_beats up to date as regions are moved AND as tempo map changes occur
git-svn-id: svn://localhost/ardour2/branches/3.0@8274 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_region.h')
-rw-r--r-- | libs/ardour/ardour/midi_region.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h index dae984c331..53ffb4497c 100644 --- a/libs/ardour/ardour/midi_region.h +++ b/libs/ardour/ardour/midi_region.h @@ -117,6 +117,7 @@ class MidiRegion : public Region private: friend class RegionFactory; + PBD::Property<Evoral::MusicalTime> _length_beats; MidiRegion (const SourceList&); MidiRegion (boost::shared_ptr<const MidiRegion>, frameoffset_t offset = 0, bool offset_relative = true); @@ -134,6 +135,8 @@ class MidiRegion : public Region void recompute_at_end (); void set_position_internal (framepos_t pos, bool allow_bbt_recompute); + void set_length_internal (framecnt_t len); + void update_length_beats (); void model_changed (); void model_automation_state_changed (Evoral::Parameter const &); @@ -143,6 +146,8 @@ class MidiRegion : public Region PBD::ScopedConnection _model_connection; PBD::ScopedConnection _source_connection; PBD::ScopedConnection _model_contents_connection; + + double _last_length_beats; }; } /* namespace ARDOUR */ |