summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_clock.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-04-01 16:49:42 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-04-01 16:49:42 +0000
commitbc3b41703ef41f4dfedeb7d97570db13d6cfa23b (patch)
tree5a36a1708a24a3158ee779ad9c57138e0b27023f /gtk2_ardour/audio_clock.cc
parent9d415be53e8bc1e9b1da145bcfb3293e995cdcdb (diff)
insert time operation
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3203 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_clock.cc')
-rw-r--r--gtk2_ardour/audio_clock.cc20
1 files changed, 18 insertions, 2 deletions
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index b00a4c9214..bbdebf097d 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -83,7 +83,8 @@ AudioClock::AudioClock (std::string clock_name, bool transient, std::string widg
key_entry_state = 0;
ops_menu = 0;
dragging = false;
-
+ bbt_reference_time = -1;
+
if (with_info) {
frames_upper_info_label = manage (new Label);
frames_lower_info_label = manage (new Label);
@@ -641,7 +642,16 @@ AudioClock::set_bbt (nframes_t when, bool force)
ticks_label.set_text (buf);
if (bbt_upper_info_label) {
- TempoMap::Metric m (session->tempo_map().metric_at (when));
+ nframes64_t pos;
+
+ if (bbt_reference_time < 0) {
+ pos = when;
+ } else {
+ pos = bbt_reference_time;
+ }
+
+ TempoMap::Metric m (session->tempo_map().metric_at (pos));
+
sprintf (buf, "%-5.2f", m.tempo().beats_per_minute());
if (bbt_lower_info_label->get_text() != buf) {
bbt_lower_info_label->set_text (buf);
@@ -1995,3 +2005,9 @@ AudioClock::set_size_requests ()
}
}
+
+void
+AudioClock::set_bbt_reference (nframes64_t pos)
+{
+ bbt_reference_time = pos;
+}