summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_regions.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2016-06-21 23:55:28 +1000
committernick_m <mainsbridge@gmail.com>2016-07-10 02:18:37 +1000
commitdb686cca384db7840cd242590d5c51b45788ea83 (patch)
treeb0609d43e26bca1408ab75c0fee474ba04ad8e00 /gtk2_ardour/editor_regions.cc
parent95ba43916f5e7e3421adf2629b3eae5fe63fe5de (diff)
Show correct bbt representation of region length in region list.
- fixes single-tempo assumption.
Diffstat (limited to 'gtk2_ardour/editor_regions.cc')
-rw-r--r--gtk2_ardour/editor_regions.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc
index fc946abe5d..111444ec8b 100644
--- a/gtk2_ardour/editor_regions.cc
+++ b/gtk2_ardour/editor_regions.cc
@@ -852,7 +852,15 @@ void
EditorRegions::populate_row_length (boost::shared_ptr<Region> region, TreeModel::Row const &row)
{
char buf[16];
- format_position (region->length(), buf, sizeof (buf));
+
+ if (ARDOUR_UI::instance()->secondary_clock->mode () == AudioClock::BBT) {
+ TempoMap& map (_session->tempo_map());
+ Timecode::BBT_Time bbt = map.bbt_at_beat (map.beat_at_frame (region->last_frame()) - map.beat_at_frame (region->first_frame()));
+ snprintf (buf, sizeof (buf), "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
+ } else {
+ format_position (region->length(), buf, sizeof (buf));
+ }
+
row[_columns.length] = buf;
}