aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/midi-control/faders.scm
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-04-04 12:00:48 +0200
committerThomas White <taw@physics.org>2021-04-04 12:11:03 +0200
commit6d54086fc0814e55dfb80ebe36c16e53bed3401a (patch)
tree60d63535252ceda769345463dfcb7dd433be5221 /guile/starlet/midi-control/faders.scm
parentb9b9e2c51c2dae1343eefa49f0566b6636bfe4d4 (diff)
Add the ability to make certain states unique
This allows easy re-assignment of faders with state-on-fader
Diffstat (limited to 'guile/starlet/midi-control/faders.scm')
-rw-r--r--guile/starlet/midi-control/faders.scm18
1 files changed, 17 insertions, 1 deletions
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)