summaryrefslogtreecommitdiff
path: root/libs/ardour/mtc_slave.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/mtc_slave.cc
parent1dc35d157eb45f2b28de954a7c98cc06a77c2802 (diff)
add new ::update_interval() method for transport masters, and use in shared ::speed_and_position() implementation
Diffstat (limited to 'libs/ardour/mtc_slave.cc')
-rw-r--r--libs/ardour/mtc_slave.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index d89950068d..f8afe66d93 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -165,6 +165,16 @@ MTC_TransportMaster::parameter_changed (std::string const & p)
}
ARDOUR::samplecnt_t
+MTC_TransportMaster::update_interval() const
+{
+ if (timecode.rate) {
+ return AudioEngine::instance()->sample_rate() / timecode.rate;
+ }
+
+ return AudioEngine::instance()->sample_rate(); /* useless but what other answer is there? */
+}
+
+ARDOUR::samplecnt_t
MTC_TransportMaster::resolution () const
{
return (samplecnt_t) quarter_frame_duration * 4.0;