- BBT_Time last_bbt;
- mutable Glib::RWLock lock;
-
- void timestamp_metrics (bool use_bbt);
-
- nframes64_t round_to_type (nframes64_t fr, int dir, BBTPointType);
-
- nframes64_t frame_time_unlocked (const BBT_Time&) const;
-
- void bbt_time_unlocked (nframes64_t, BBT_Time&) const;
-
- nframes64_t bbt_duration_at_unlocked (const BBT_Time& when, const BBT_Time& bbt, int dir) const;
-
+ Timecode::BBT_Time last_bbt;
+ mutable Glib::RWLock metrics_lock;
+ mutable Glib::RWLock map_lock;
+ BBTPointList* _map;
+
+ void recompute_map (bool reassign_tempo_bbt, framepos_t end = -1);
+ void require_map_to (framepos_t pos);
+ void require_map_to (const Timecode::BBT_Time&);
+
+ BBTPointList::const_iterator bbt_before_or_at (framepos_t);
+ BBTPointList::const_iterator bbt_after_or_at (framepos_t);
+ BBTPointList::const_iterator bbt_point_for (const Timecode::BBT_Time&);
+
+ void timestamp_metrics_from_audio_time ();
+
+ framepos_t round_to_type (framepos_t fr, int dir, BBTPointType);
+
+ void bbt_time_unlocked (framepos_t, Timecode::BBT_Time&, const BBTPointList::const_iterator&);
+
+ framecnt_t bbt_duration_at_unlocked (const Timecode::BBT_Time& when, const Timecode::BBT_Time& bbt, int dir);
+