aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-05-22 15:03:11 +0200
committerThomas White <taw@physics.org>2021-05-22 15:03:48 +0200
commit82f75f966b1d8c02ac87b0030a724855c31881af (patch)
treeacd75677eb1564e7f0068c717a71de2151ef2289
parent9e618f370634eb578b7b14899cf892c8daddc4f2 (diff)
Add make-back-button
-rw-r--r--examples/demo.scm4
-rw-r--r--guile/starlet/midi-control/button-utils.scm11
2 files changed, 14 insertions, 1 deletions
diff --git a/examples/demo.scm b/examples/demo.scm
index a49bf7b..4ae93c6 100644
--- a/examples/demo.scm
+++ b/examples/demo.scm
@@ -266,14 +266,18 @@
;; Set up MIDI controller buttons to run cues
(make-go-button pb 12)
(make-stop-button pb 24)
+(make-back-button pb 28)
(send-note-on 20)
(send-note-on 24)
+(send-note-on 28)
;; A second set of go/stop buttons, because this works well on my controller
(make-go-button pb 15)
(make-stop-button pb 27)
+(make-back-button pb 31)
(send-note-on 23)
(send-note-on 27)
+(send-note-on 31)
;; Set up some buttons for quick access to fixtures
diff --git a/guile/starlet/midi-control/button-utils.scm b/guile/starlet/midi-control/button-utils.scm
index 051935f..859412d 100644
--- a/guile/starlet/midi-control/button-utils.scm
+++ b/guile/starlet/midi-control/button-utils.scm
@@ -24,6 +24,7 @@
#:use-module (starlet playback)
#:export (make-go-button
make-stop-button
+ make-back-button
select-on-button))
@@ -40,7 +41,15 @@
(register-midi-note-callback!
#:channel channel
#:note-number button
- #:func (lambda () (display "Stop/back!\n"))))
+ #:func (lambda () (stop! pb))))
+
+
+(define* (make-back-button pb button
+ #:key (channel #f))
+ (register-midi-note-callback!
+ #:channel channel
+ #:note-number button
+ #:func (lambda () (back! pb))))
(define* (select-on-button button fixture