summaryrefslogtreecommitdiff
path: root/nyqsrc/seqinterf.h
diff options
context:
space:
mode:
Diffstat (limited to 'nyqsrc/seqinterf.h')
-rw-r--r--nyqsrc/seqinterf.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/nyqsrc/seqinterf.h b/nyqsrc/seqinterf.h
new file mode 100644
index 0000000..590ed84
--- /dev/null
+++ b/nyqsrc/seqinterf.h
@@ -0,0 +1,37 @@
+/* seqinterf.h -- interface to sequence data type for XLISP */
+
+boolean seq_next(seq_type seq); /* LISP: (SEQ-NEXT SEQ) */
+void seq_get(seq_type seq, long *eventtype, long *time, long *line, long *chan,
+ long *value1, long *value2, long *dur);
+ /* LISP: (SEQ-GET SEQ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^ FIXNUM^) */
+/* LISP-SRC:
+ (setfn seq-tag first)
+ (setfn seq-time second)
+ (setfn seq-line third)
+ (setfn seq-channel fourth)
+ (defun seq-value1 (e) (nth 4 e))
+ (setfn seq-pitch seq-value1) ; pitch of a note
+ (setfn seq-control seq-value1) ; control number of a control change
+ (setfn seq-program seq-value1) ; program number of a program change
+ (setfn seq-bend seq-value1) ; pitch bend amount
+ (setfn seq-touch seq-value1) ; aftertouch amount
+ (defun seq-value2 (e) (nth 5 e))
+ (setfn seq-velocity seq-value2) ; velocity of a note
+ (setfn seq-value seq-value2) ; value of a control change
+ (defun seq-duration (e) (nth 6 e))
+ */
+#define SEQ_DONE 0
+/* LISP-SRC: (setf seq-done-tag 0) */
+#define SEQ_OTHER 1
+/* LISP-SRC: (setf seq-other-tag 1) */
+#define SEQ_NOTE 2
+/* LISP-SRC: (setf seq-note-tag 2) */
+#define SEQ_CTRL 3
+/* LISP-SRC: (setf seq-ctrl-tag 3) */
+#define SEQ_PRGM 4
+/* LISP-SRC: (setf seq-prgm-tag 4) */
+#define SEQ_TOUCH 5
+/* LISP-SRC: (setf seq-touch-tag 5) */
+#define SEQ_BEND 6
+/* LISP-SRC: (setf seq-bend-tag 6) */
+