summaryrefslogtreecommitdiff
path: root/src/settings.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2017-10-14 15:24:36 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2018-02-18 11:43:40 +0100
commit0dc69ba161bb0c8fce2eb0ab3c5eb897f7aa92a7 (patch)
treed33fcf6f429124cd551177e3d28aa3ac7bc29272 /src/settings.h
parent3515fe8b970bd7cd849ea44e24bc01331e894314 (diff)
Implemented engine part of the latency filter aka. humized timing.
Diffstat (limited to 'src/settings.h')
-rw-r--r--src/settings.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/settings.h b/src/settings.h
index 6bba237..cdce066 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -90,6 +90,29 @@ struct Settings
Atomic<bool> enable_bleed_control{false};
Atomic<float> master_bleed{1.0f};
+
+ Atomic<bool> enable_latency_modifier{true};
+
+ //! Maximum "early hits" introduces latency. In no. samples.
+ Atomic<std::size_t> latency_max{5000u};
+
+ //! 0 := on-beat
+ //! positive := laid back
+ //! negative := up-beat
+ Atomic<int> latency_laid_back{0};
+
+ //! 0 := Robot
+ //! 100 := Good drummer
+ //! 200 := Decent drummer
+ //! 300 := Decent drummer on a bad day
+ //! 400 := Bad drummer
+ //! 500 := Bad and drunk drummer
+ Atomic<float> latency_stddev{100.0f};
+
+ //! Regain on-beat position.
+ //! 0: instantaniously
+ //! 1: never
+ Atomic<float> latency_regain{0.9f};
};
//! Settings getter class.