aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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