diff options
author | nick_m <mainsbridge@gmail.com> | 2016-06-21 23:55:28 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-07-10 02:18:37 +1000 |
commit | db686cca384db7840cd242590d5c51b45788ea83 (patch) | |
tree | b0609d43e26bca1408ab75c0fee474ba04ad8e00 /gtk2_ardour/editor_regions.cc | |
parent | 95ba43916f5e7e3421adf2629b3eae5fe63fe5de (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.cc | 10 |
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; } |