/* 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_ */