summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-09-11 13:02:32 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-09-11 13:02:32 -0400
commit91e2eab01abe61be89b1860cdb2d24ca8b22c0bc (patch)
tree8dc493a55221501c677ac0f34ca3376f4ac6a44a /libs/ardour/audioengine.cc
parent18c4c9656a4c8135f97cf74fab1d861b015c6225 (diff)
make use of measured latency values to set dialog controls, and use actual port latency to compute extra delay
Diffstat (limited to 'libs/ardour/audioengine.cc')
-rw-r--r--libs/ardour/audioengine.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc
index 2a1ca2c852..329de68bee 100644
--- a/libs/ardour/audioengine.cc
+++ b/libs/ardour/audioengine.cc
@@ -79,6 +79,7 @@ AudioEngine::AudioEngine ()
, _latency_input_port (0)
, _latency_output_port (0)
, _latency_flush_frames (0)
+ , _latency_signal_latency (0)
{
g_atomic_int_set (&m_meter_exit, 0);
discover_backends ();
@@ -1012,6 +1013,15 @@ AudioEngine::start_latency_detection ()
pe.unregister_port (_latency_output_port);
return;
}
+
+ LatencyRange lr;
+ _latency_signal_latency = 0;
+ lr = pe.get_latency_range (_latency_input_port, false);
+ _latency_signal_latency = lr.max;
+ lr = pe.get_latency_range (_latency_output_port, true);
+ _latency_signal_latency += lr.max;
+
+ cerr << "latency signal pathway = " << _latency_signal_latency << endl;
/* all created and connected, lets go */