From d79c75b3db76e242e0299d5d324191e3133de235 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 8 Aug 2021 17:24:09 +0200 Subject: Add hook for state updates This includes a "source", intended to be used for avoiding hook users from responding to their own changes. --- guile/starlet/midi-control/faders.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'guile/starlet/midi-control/faders.scm') diff --git a/guile/starlet/midi-control/faders.scm b/guile/starlet/midi-control/faders.scm index 8745688..dbd2a0f 100644 --- a/guile/starlet/midi-control/faders.scm +++ b/guile/starlet/midi-control/faders.scm @@ -128,7 +128,8 @@ attr (clamp-to-attr-range attr-obj - (+ old-val offset)))))) + (+ old-val offset)) + controller)))) fixtures old-vals))))))) @@ -177,13 +178,15 @@ attr-name gradients initial-vals - fixtures) + fixtures + controller) (for-each (lambda (fix initial-val gradient) (set-in-state! programmer-state fix attr-name (+ initial-val - (* gradient cc-offset)))) + (* gradient cc-offset)) + controller)) fixtures initial-vals gradients)) @@ -225,13 +228,15 @@ attr-name up-gradients initial-vals - fixtures)) + fixtures + controller)) ((<= new-cc-value congruent-val) (apply-fader (- new-cc-value congruent-val) attr-name dn-gradients initial-vals - fixtures))) + fixtures + controller))) (when (or (and (not prev-cc-val) (= new-cc-value congruent-val)) -- cgit v1.2.3