diff options
author | Thomas White <taw@bitwiz.me.uk> | 2020-12-31 10:50:16 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.me.uk> | 2020-12-31 10:50:16 +0100 |
commit | 42f49129729e3f74244c4d752b225877cba631d2 (patch) | |
tree | 902b5076acdc0bc7e77cf95ec2dcaca371912c97 /guile/starlet/midi-control/base.scm | |
parent | 8aa3c8d107343a3e5f124989914351cdcea242ba (diff) |
Select fixture and change parameters via MIDI
Diffstat (limited to 'guile/starlet/midi-control/base.scm')
-rw-r--r-- | guile/starlet/midi-control/base.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/guile/starlet/midi-control/base.scm b/guile/starlet/midi-control/base.scm index 21692b5..fece2be 100644 --- a/guile/starlet/midi-control/base.scm +++ b/guile/starlet/midi-control/base.scm @@ -10,7 +10,8 @@ send-note-on send-note-off register-midi-note-callback! - register-midi-cc-callback!)) + register-midi-cc-callback! + remove-midi-callback!)) (define cc-arrays (make-atomic-box '())) @@ -62,6 +63,13 @@ (register-midi-callback! 'cc channel cc-number func)) +(define (remove-midi-callback! callback) + (atomic-box-set! callback-list + (remove (lambda (a) + (eq? callback a)) + (atomic-box-ref callback-list)))) + + (define enqueue-midi-bytes! (lambda bytes (unless (eq? (atomic-box-compare-and-swap! send-queue '() bytes) |