From 7b6e2ff3388c12544fbd0ef3623f2724e40d20b9 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 15 Jun 2023 22:03:10 +0200 Subject: Get rid of old MIDI control stuff --- guile/starlet/midi-control/button-utils.scm | 104 ---------------------------- 1 file changed, 104 deletions(-) delete mode 100644 guile/starlet/midi-control/button-utils.scm (limited to 'guile/starlet/midi-control/button-utils.scm') diff --git a/guile/starlet/midi-control/button-utils.scm b/guile/starlet/midi-control/button-utils.scm deleted file mode 100644 index 0786cab..0000000 --- a/guile/starlet/midi-control/button-utils.scm +++ /dev/null @@ -1,104 +0,0 @@ -;; -;; starlet/midi-control/button-utils.scm -;; -;; Copyright © 2020-2021 Thomas White -;; -;; This file is part of Starlet. -;; -;; Starlet is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . -;; -(define-module (starlet midi-control button-utils) - #:use-module (starlet midi-control base) - #:use-module (starlet state) - #:use-module (starlet playback) - #:use-module (starlet utils) - #:export (make-go-button - make-stop-button - make-back-button - select-on-button)) - - -(define* (make-go-button controller pb button - #:key - (ready-note #f) - (pause-note #f) - (min-time-between-presses 0.2)) - (let ((time-last-press 0)) - (register-midi-note-callback! - controller - #:note-number button - #:func (lambda () - (let ((time-this-press (hirestime))) - (if (> time-this-press (+ time-last-press min-time-between-presses)) - (go! pb) - (display "Too soon after last press!\n")) - (set! time-last-press time-this-press))))) - - (when (or ready-note pause-note) - (let ((state-change-func - (lambda (new-state) - (cond - ((eq? new-state 'pause) - (send-note-on controller pause-note)) - ((eq? new-state 'ready) - (send-note-on controller ready-note)) - ((eq? new-state 'running) - (send-note-on controller ready-note)) - (else - (send-note-off controller ready-note)))))) - (add-hook! - (state-change-hook pb) - state-change-func) - (state-change-func (playback-state pb))))) - - -(define* (make-stop-button controller pb button - #:key - (ready-note #f)) - (register-midi-note-callback! - controller - #:note-number button - #:func (lambda () (stop! pb))) - - (when ready-note - (add-hook! - (state-change-hook pb) - (lambda (new-state) - (if (eq? new-state 'running) - (send-note-on controller ready-note) - (send-note-off controller ready-note)))))) - - -(define* (make-back-button controller pb button - #:key - (ready-note #f)) - (register-midi-note-callback! - controller - #:note-number button - #:func (lambda () (back! pb))) - - (when ready-note - (send-note-on controller ready-note))) - - -(define* (select-on-button controller button fixture - #:key - (ready-note #f)) - (register-midi-note-callback! - controller - #:note-number button - #:func (lambda () (sel fixture))) - - (when ready-note - (send-note-on controller ready-note))) -- cgit v1.2.3