summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audioengine.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-04-05 14:02:30 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-04-05 14:02:30 -0400
commit8a5b5145cc8c7a1fcffdd8387f3f4cdc79af0911 (patch)
tree55c061e822fde35cd05658b37ae408b39ad25578 /libs/ardour/ardour/audioengine.h
parentfbceec674af1bfee07816ec709773d56240bbff7 (diff)
add libardour code for going completely silent after a compile-time defined number of seconds
Diffstat (limited to 'libs/ardour/ardour/audioengine.h')
-rw-r--r--libs/ardour/ardour/audioengine.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h
index 83df9a8760..445d299f39 100644
--- a/libs/ardour/ardour/audioengine.h
+++ b/libs/ardour/ardour/audioengine.h
@@ -232,6 +232,16 @@ class LIBARDOUR_API AudioEngine : public SessionHandlePtr, public PortManager
LatencyMeasurement measuring_latency () const { return _measuring_latency; }
+ /* These two are used only in builds where SILENCE_AFTER_SECONDS was
+ * set. BecameSilent will be emitted when the audioengine goes silent.
+ * reset_silence_countdown() can be used to reset the silence
+ * countdown, whose duration will be reduced to half of its previous
+ * value.
+ */
+
+ PBD::Signal0<void> BecameSilent;
+ void reset_silence_countdown ();
+
private:
AudioEngine ();
@@ -293,6 +303,12 @@ class LIBARDOUR_API AudioEngine : public SessionHandlePtr, public PortManager
BackendMap _backends;
AudioBackendInfo* backend_discover (const std::string&);
void drop_backend ();
+
+#ifdef SILENCE_AFTER
+ framecnt_t _silence_countdown;
+ uint32_t _silence_hit_cnt;
+#endif
+
};
} // namespace ARDOUR