summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audioengine.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-08 11:18:18 +0200
committerRobin Gareus <robin@gareus.org>2014-06-08 11:18:18 +0200
commit81182b5bf69e06f67b3ccbca46860ac8e6387d2f (patch)
tree23c2165f66167a0ffbafcb5de3367a5ae2266755 /libs/ardour/ardour/audioengine.h
parent6416a429a888fcb18b9aa5a4aed1d6d8c9a6da1f (diff)
prepare MIDI latency measurement (backend)
Diffstat (limited to 'libs/ardour/ardour/audioengine.h')
-rw-r--r--libs/ardour/ardour/audioengine.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index dd57f81e90..7eeae8f205 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -54,6 +54,7 @@ namespace ARDOUR {
class InternalPort;
class MidiPort;
+class MIDIDM;
class Port;
class Session;
class ProcessThread;
@@ -191,14 +192,24 @@ public:
/* latency measurement */
- MTDM* mtdm();
+ MTDM* mtdm() { return _mtdm; }
+ MIDIDM* mididm() { return _mididm; }
+
int prepare_for_latency_measurement ();
- int start_latency_detection ();
+ int start_latency_detection (bool);
void stop_latency_detection ();
void set_latency_input_port (const std::string&);
void set_latency_output_port (const std::string&);
uint32_t latency_signal_delay () const { return _latency_signal_latency; }
+ enum LatencyMeasurement {
+ MeasureNone,
+ MeasureAudio,
+ MeasureMIDI
+ };
+
+ LatencyMeasurement measuring_latency () const { return _measuring_latency; }
+
private:
AudioEngine ();
@@ -221,7 +232,8 @@ public:
Glib::Threads::Thread* m_meter_thread;
ProcessThread* _main_thread;
MTDM* _mtdm;
- bool _measuring_latency;
+ MIDIDM* _mididm;
+ LatencyMeasurement _measuring_latency;
PortEngine::PortHandle _latency_input_port;
PortEngine::PortHandle _latency_output_port;
framecnt_t _latency_flush_frames;