aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/midi-control/faders.scm
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2021-01-19 21:05:50 +0100
committerThomas White <taw@bitwiz.me.uk>2021-01-19 21:07:31 +0100
commit581686787d86af3ed9294b29ec68f6d39cd5906d (patch)
treeff526ccaa94fb42b45fa66a0075f0927d9e9532c /guile/starlet/midi-control/faders.scm
parenta7575b80bdd9ae5059e1c92ebc7d9b8ec452d3eb (diff)
sel: Handle lists
Diffstat (limited to 'guile/starlet/midi-control/faders.scm')
-rw-r--r--guile/starlet/midi-control/faders.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/guile/starlet/midi-control/faders.scm b/guile/starlet/midi-control/faders.scm
index 912d9f7..d0363d7 100644
--- a/guile/starlet/midi-control/faders.scm
+++ b/guile/starlet/midi-control/faders.scm
@@ -213,6 +213,13 @@
;; Stuff to clear up when we're done with selected fixtures
(define midi-callbacks '())
+(define (flatten-sublists l)
+ (fold (lambda (a prev)
+ (if (list? a)
+ (append a prev)
+ (cons a prev)))
+ '() l))
+
(define (sel . fixture-list)
@@ -235,5 +242,5 @@
(set! midi-callbacks
(map (lambda (control-spec)
(midi-control-attr control-spec
- fixture-list))
+ (flatten-sublists fixture-list)))
control-map))))