summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_region.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-12-11 14:50:36 +0000
committerCarl Hetherington <carl@carlh.net>2011-12-11 14:50:36 +0000
commit1bbe08af1a44f46c13873b762decc7629274929d (patch)
treec7516ca9e7bdce095a906002f354e8e04dfa94bf /libs/ardour/ardour/midi_region.h
parented360080d0e7a4505eb3e90f3f9946754f0c779b (diff)
Keep track of MIDI region's start positions in beats, to
match the source, so that starts are not corrupted when tempos change (#4494). git-svn-id: svn://localhost/ardour2/branches/3.0@10976 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_region.h')
-rw-r--r--libs/ardour/ardour/midi_region.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h
index 9e8c7441fc..a5c9e23a0f 100644
--- a/libs/ardour/ardour/midi_region.h
+++ b/libs/ardour/ardour/midi_region.h
@@ -35,6 +35,7 @@ namespace ARDOUR {
MidiModel used by the MidiRegion
*/
extern PBD::PropertyDescriptor<void*> midi_data;
+ extern PBD::PropertyDescriptor<Evoral::MusicalTime> start_beats;
extern PBD::PropertyDescriptor<Evoral::MusicalTime> length_beats;
}
}
@@ -111,6 +112,7 @@ class MidiRegion : public Region
private:
friend class RegionFactory;
+ PBD::Property<Evoral::MusicalTime> _start_beats;
PBD::Property<Evoral::MusicalTime> _length_beats;
MidiRegion (const SourceList&);
@@ -138,6 +140,9 @@ class MidiRegion : public Region
void model_automation_state_changed (Evoral::Parameter const &);
void model_contents_changed ();
+ void set_start_beats_from_start_frames ();
+ void update_after_tempo_map_change ();
+
std::set<Evoral::Parameter> _filtered_parameters; ///< parameters that we ask our source not to return when reading
PBD::ScopedConnection _model_connection;
PBD::ScopedConnection _source_connection;