From 6d54086fc0814e55dfb80ebe36c16e53bed3401a Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 4 Apr 2021 12:00:48 +0200 Subject: Add the ability to make certain states unique This allows easy re-assignment of faders with state-on-fader --- guile/starlet/midi-control/faders.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (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 606bd72..34d9ddb 100644 --- a/guile/starlet/midi-control/faders.scm +++ b/guile/starlet/midi-control/faders.scm @@ -8,6 +8,21 @@ #:export (state-on-fader)) +(define (channel-number->string channel) + (if channel + (number->string channel) + "default")) + + +(define (name-for-fader-state channel cc-number) + (string->symbol + (string-append + "faderstate-ch" + (channel-number->string channel) + "-cc" + (number->string cc-number)))) + + (define* (state-on-fader cc-number state #:key (channel #f)) @@ -37,7 +52,8 @@ ;; Fader position unknown 'no-value))))) - state)))) + state)) + #:unique-name (name-for-fader-state channel cc-number))) (define (current-values fixture-list attr-name) -- cgit v1.2.3