From 573a5caf0bc2267b5ebb2d699a65d432381b042a Mon Sep 17 00:00:00 2001 From: Marije Baalman Date: Wed, 24 Jul 2019 13:08:57 +0200 Subject: [PATCH 1/2] SAH: use trigger input instead of holdTime. --- src/maximilian.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/maximilian.h b/src/maximilian.h index a710d999..d9edb64e 100755 --- a/src/maximilian.h +++ b/src/maximilian.h @@ -548,18 +548,18 @@ class convert { class maxiSampleAndHold { public: - inline double sah(double sigIn, double holdTimeMs) { - double holdTimeSamples = convert::msToSamps(holdTimeMs); + inline double sah(double sigIn, double triggerIn) { - if (phase >= holdTimeSamples) { - phase -= holdTimeSamples; + if ( triggerIn != prevTrigger ){ + if ( triggerIn > 0 ){ + holdValue = sigIn; + } } - if (phase < 1.0) - holdValue = sigIn; - phase++; + prevTrigger = triggerIn; return holdValue; } private: + double prevTrigger = 0; double phase = 0; double holdValue=0; bool firstRun = 1; From 502624a856e5daa0e3a0ee7263144c567f680533 Mon Sep 17 00:00:00 2001 From: Marije Baalman Date: Wed, 24 Jul 2019 13:10:44 +0200 Subject: [PATCH 2/2] SAH: remove unused phase --- src/maximilian.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/maximilian.h b/src/maximilian.h index d9edb64e..de7661e7 100755 --- a/src/maximilian.h +++ b/src/maximilian.h @@ -560,7 +560,6 @@ class maxiSampleAndHold { } private: double prevTrigger = 0; - double phase = 0; double holdValue=0; bool firstRun = 1; };