summaryrefslogtreecommitdiff
path: root/cmt/midifns.h
diff options
context:
space:
mode:
authorSteve M. Robbins <smr@debian.org>2011-10-22 04:54:51 +0200
committerSteve M. Robbins <smr@debian.org>2011-10-22 04:54:51 +0200
commitdd657ad3f1428b026486db3ec36691df17ddf515 (patch)
tree6ffb465595479fb5a76c1a6ea3ec992abaa8c1c1 /cmt/midifns.h
Import nyquist_3.05.orig.tar.gz
[dgit import orig nyquist_3.05.orig.tar.gz]
Diffstat (limited to 'cmt/midifns.h')
-rw-r--r--cmt/midifns.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/cmt/midifns.h b/cmt/midifns.h
new file mode 100644
index 0000000..99042d3
--- /dev/null
+++ b/cmt/midifns.h
@@ -0,0 +1,137 @@
+/* midifns.h -- definitions for users of midifns.c */
+
+/*****************************************************************************
+* Change Log
+* Date | Change
+*-----------+-----------------------------------------------------------------
+* 5-Mar-92 | GWL : insert definitions and logs from JMN's mpu.h
+* for LATTICE322, only variable type in prototypes
+* 28-Apr-03 | DM : random() is now named cmtrand() to avoid conflicts
+*****************************************************************************/
+
+#ifndef _MIDIFNS_H_
+#define _MIDIFNS_H_
+
+/* declaration types */
+
+typedef unsigned long time_type;
+typedef long sgnd_time_type;
+
+/* Maximum time value: */
+#define MAXTIME 0xFFFFFFFFL
+
+#define delay_type long
+
+/* controller numbers */
+
+#define MODWHEEL 1
+#define BREATH 2
+#define FOOT 4
+#define PORTARATE 5
+#define VOLUME 7
+#define SUSTAIN 64
+#define PORTASWITCH 65
+
+#include "midierr.h"
+
+extern char *midifns_syntax;
+
+/* support for allocating sysex buffer - examples in mm.c & exget.c */
+#ifdef DOS
+#define midibuff_alloc(size) (byte huge *) halloc(size, 1)
+#endif
+#ifndef midibuff_alloc
+#define midibuff_alloc (byte *) MALLOC
+#endif
+
+/* DMH: from mpu.h -- definitions for users of mpu.c */
+
+#ifdef OLD_PROTOTYPES
+
+void eventwait();
+void exclusive(boolean);
+boolean getbuf(boolean, unsigned char * );
+long get_excl();
+boolean getxbuf();
+boolean testxbuf();
+short getkey(boolean);
+ulong gettime(void); /*DMH: note- now unsigned*/
+void l_rest(long);
+void l_restuntil(long);
+void metronome(boolean);
+void midi_bend(short,short);
+boolean midi_buffer(byte * , ulong);
+void midi_cont(boolean);
+void midi_clock();
+void midi_ctrl(short, short, short);
+void midi_exclusive(unsigned char * );
+void midi_note(short, short, short);
+void midi_program(short, short);
+void midi_real();
+void midi_start();
+void midi_stop();
+#ifdef AMIGA
+/* MIDI_THRU defined means that it is really implemented. */
+#define MIDI_THRU
+#endif
+void midi_thru();/*boolean onflag*/
+void midi_touch(short, short);
+void midi_write();
+void musicinit();
+short cmtrand(short, short);
+void read_tuning();/*char *filename*/
+void settime();
+void synth_init();/*void*/
+void timereset();
+void trace();
+void tracemidi();
+boolean is_exclusive(void);
+unsigned char get_exclusive(void);
+
+#else
+
+void alloff(void);
+void eventwait(long timeout);
+void exclusive(boolean onflag);
+long get_excl(byte *buffer, long len);
+boolean getbuf(boolean waitflag, unsigned char * p);
+short getkey(boolean waitflag);
+ulong gettime(void);
+void l_rest(long time);
+void l_restuntil(long time);
+void metronome(boolean onflag);
+void midi_bend(int channel, int value);
+boolean midi_buffer(byte *buffer, ulong size);
+void midi_clock(void);
+void midi_cont(boolean onflag);
+void midi_ctrl(int channel, int control, int value);
+void midi_exclusive(unsigned char *msg);
+void midi_flush();
+void midi_note(int channel, int pitch, int velocity);
+void midi_program(int channel, int program);
+void midi_real(boolean onflag);
+void midi_start(void);
+void midi_stop(void);
+void midi_thru(boolean onflag);
+void midi_touch(int channel, int value);
+void read_tuning(char *filename);
+void midi_write(int n, int port, unsigned char c1, unsigned char c2, unsigned char c3);
+void midi_write_trace(int n, int port,
+ unsigned char c1, unsigned char c2, unsigned char c3);
+void musicinit(void);
+void settime(time_type newtime);
+void timereset(void);
+void trace(boolean flag);
+void tracemidi(boolean flag);
+
+
+boolean check_midi(void);
+#endif /* ifdef OLD_PROTOTYPES */
+
+
+#ifdef AMIGA
+byte *head_of_excl();
+byte *tail_of_excl();
+#endif
+
+#endif /* _MIDIFNS_H_ */