diff options
author | Thomas White <taw@bitwiz.me.uk> | 2021-01-19 21:05:50 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.me.uk> | 2021-01-19 21:07:31 +0100 |
commit | 581686787d86af3ed9294b29ec68f6d39cd5906d (patch) | |
tree | ff526ccaa94fb42b45fa66a0075f0927d9e9532c /guile/starlet/midi-control | |
parent | a7575b80bdd9ae5059e1c92ebc7d9b8ec452d3eb (diff) |
sel: Handle lists
Diffstat (limited to 'guile/starlet/midi-control')
-rw-r--r-- | guile/starlet/midi-control/faders.scm | 9 |
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)))) |