summaryrefslogtreecommitdiff
path: root/libs/ardour/transport_master.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-10-04 00:40:35 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2018-10-04 00:42:14 -0400
commit22061310c0855aeb6183efddac0e20402d4e62b3 (patch)
tree4f28055c8aab9c74e19f11da687eddca38273aa6 /libs/ardour/transport_master.cc
parent1dc35d157eb45f2b28de954a7c98cc06a77c2802 (diff)
add new ::update_interval() method for transport masters, and use in shared ::speed_and_position() implementation
Diffstat (limited to 'libs/ardour/transport_master.cc')
-rw-r--r--libs/ardour/transport_master.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/transport_master.cc b/libs/ardour/transport_master.cc
index 135e022dbf..5d02eb0073 100644
--- a/libs/ardour/transport_master.cc
+++ b/libs/ardour/transport_master.cc
@@ -99,7 +99,7 @@ TransportMaster::speed_and_position (double& speed, samplepos_t& pos, samplepos_
return false;
}
- if (last.timestamp && now > last.timestamp && now - last.timestamp > labs (seekahead_distance())) {
+ if (last.timestamp && now > last.timestamp && now - last.timestamp > (2.0 * update_interval())) {
/* no timecode for two cycles - conclude that it's stopped */
if (!Config->get_transport_masters_just_roll_when_sync_lost()) {
@@ -109,7 +109,7 @@ TransportMaster::speed_and_position (double& speed, samplepos_t& pos, samplepos_
when = last.timestamp;
_current_delta = 0;
// queue_reset (false);
- DEBUG_TRACE (DEBUG::Slave, string_compose ("%1 not seen for 2 samples - reset pending, pos = %2\n", name(), pos));
+ DEBUG_TRACE (DEBUG::Slave, string_compose ("%1 not seen since %2 vs %3 (%4) with seekahead = %5 reset pending, pos = %6\n", name(), last.timestamp, now, (now - last.timestamp), update_interval(), pos));
return false;
}
}