Metropoli BBS
VIEWER: strmidi.h MODE: TEXT (ASCII)
/*
	MIDI.H

	Marc savary, 88-03-31

	Structures & defines for MIDI Supplement.

*/

#define MAX_MIDI_PITCH		0x3fff	/* max. pitch bend ... 2 ** 14 */

#define NR_MIDI_CHANNELS	16
#define ADLIB_CHANNEL		16

#define MPU_TICS	96				/* MPU-401 ticks par beat */

#define NR_SPLITS	N_ROLL_VOICES
#define NR_PLAGES	( 2* N_ROLL_VOICES)

#define MIDIVAR_FILL_SIZE	128
#define MIDI_VERSION		2

#define DEFAULT_MIDI_PRESET	255	/* preset # not defined */

#define LP_MEASURE	0
#define LP_BEAT	1
#define LP_TICK	2

struct plage_str {
	int	hautEntree;
	int deltaOrg;
	};

struct midi_vars {
	int		midiVersion_;
	int		recInChannel_[ N_ROLL_VOICES];
	int 	recOutChannel_[ N_ROLL_VOICES];
	int		playBackChannel_[ N_ROLL_VOICES];
	int 	hautSplits_[ NR_SPLITS];
	struct	plage_str plages_[ NR_PLAGES];
	int 	splitOfVoices_[ N_ROLL_VOICES];
	int 	busySplits_;
	int 	busyPlages_;
	char	loopLength_[ 3][ N_ROLL_VOICES];
	char	outProgChange_[ N_ROLL_VOICES];
	unsigned inQuantif_[ N_ROLL_VOICES];
	unsigned outQuantif_[ N_ROLL_VOICES];
	unsigned pitchRange_;
	float	minVelocity_;
	float	veloResolution_;
	char	inProgChange_[ N_ROLL_VOICES];
	int		syncIn_;
	char	midiFiller_[ MIDIVAR_FILL_SIZE];
	};

#define recInChannel	(midiVar.recInChannel_)
#define recOutChannel	(midiVar.recOutChannel_)
#define voiceToChannel	(midiVar.playBackChannel_)
#define hautSplits		(midiVar.hautSplits_)
#define plages			(midiVar.plages_)
#define splitOfVoices	(midiVar.splitOfVoices_)
#define busySplits		(midiVar.busySplits_)
#define busyPlages		(midiVar.busyPlages_)
#define loopLength		(midiVar.loopLength_)
#define quantif		(midiVar.inQuantif_)
#define outQuantif		(midiVar.outQuantif_)
#define outProgChange	(midiVar.outProgChange_)
#define inProgChange	(midiVar.inProgChange_)
#define pitchRange		(midiVar.pitchRange_)
#define minVelocity	(midiVar.minVelocity_)
#define veloResolution	(midiVar.veloResolution_)
#define midiVersion	(midiVar.midiVersion_)
#define syncIn			(midiVar.syncIn_)
#define midiFiller		(midiVar.midiFiller_)

extern struct midi_vars midiVar;



[ RETURN TO DIRECTORY ]