summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audioengine.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-09-10 22:58:33 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-09-10 22:58:33 -0400
commit676ff806970925972b165cd7621ba7ea8c82c08a (patch)
tree8a28169d0f08824c0b3ce1f5cec375a89029d9f2 /libs/ardour/ardour/audioengine.h
parent209e4bdcaed8e0f7d66fa5673f9049948e1f1d53 (diff)
basic functionality for hardware latency measurement
Diffstat (limited to 'libs/ardour/ardour/audioengine.h')
-rw-r--r--libs/ardour/ardour/audioengine.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index 4db1604345..980f507be5 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -47,6 +47,8 @@
#include <jack/session.h>
#endif
+class MTDM;
+
namespace ARDOUR {
class InternalPort;
@@ -182,6 +184,14 @@ public:
/* sets up the process callback thread */
static void thread_init_callback (void *);
+ /* latency measurement */
+
+ MTDM* mtdm();
+ void start_latency_detection ();
+ void stop_latency_detection ();
+ void set_latency_input_port (const std::string&);
+ void set_latency_output_port (const std::string&);
+
private:
AudioEngine ();
@@ -205,7 +215,12 @@ public:
framecnt_t _processed_frames;
Glib::Threads::Thread* m_meter_thread;
ProcessThread* _main_thread;
-
+ MTDM* _mtdm;
+ bool _measuring_latency;
+ PortEngine::PortHandle _latency_input_port;
+ PortEngine::PortHandle _latency_output_port;
+ framecnt_t _latency_flush_frames;
+
void meter_thread ();
void start_metering_thread ();
void stop_metering_thread ();