1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-04 17:49:45 +02:00
2010-01-24 09:19:39 +00:00

138 lines
3.7 KiB
C

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