diff options
author | Thomas White <taw@physics.org> | 2021-04-04 12:00:48 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2021-04-04 12:11:03 +0200 |
commit | 6d54086fc0814e55dfb80ebe36c16e53bed3401a (patch) | |
tree | 60d63535252ceda769345463dfcb7dd433be5221 /guile/starlet/midi-control | |
parent | b9b9e2c51c2dae1343eefa49f0566b6636bfe4d4 (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')
-rw-r--r-- | guile/starlet/midi-control/faders.scm | 18 |
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) |