- void bbt_time (framepos_t when, Timecode::BBT_Time&);
- framecnt_t frame_time (const Timecode::BBT_Time&);
+ /* TEMPO- AND METER-SENSITIVE FUNCTIONS
+
+ bbt_time(), bbt_time_rt(), frame_time() and bbt_duration_at()
+ are all sensitive to tempo and meter, and will give answers
+ that align with the grid formed by tempo and meter sections.
+
+ They SHOULD NOT be used to determine the position of events
+ whose location is canonically defined in beats.
+ */
+
+ void bbt_time (framepos_t when, Timecode::BBT_Time&);
+
+ /* realtime safe variant of ::bbt_time(), will throw
+ std::logic_error if the map is not large enough
+ to provide an answer.
+ */
+ void bbt_time_rt (framepos_t when, Timecode::BBT_Time&);
+ framepos_t frame_time (const Timecode::BBT_Time&);