Metropoli BBS
VIEWER: convert.h MODE: TEXT (ASCII)
/*
	CONVERT.H

	28-jun-88, Marc Savary, AdLib Inc.

	Header for conversion procedures of *.ROL files to
	*.MUS ( MIDI like) files.
*/

#define SYSTEM_XOR_BYTE	0xF0
#define EOX_BYTE			0xF7
#define OVERFLOW_BYTE		0xF8
#define STOP_BYTE			0xFC

#define NOTE_OFF_BYTE		0x80
#define NOTE_ON_BYTE		0x90
#define AFTER_TOUCH_BYTE	0xA0
#define CONTROL_CHANGE_BYTE	0xB0
#define PROG_CHANGE_BYTE	0xC0
#define CHANNEL_PRESSURE_BYTE	0xD0
#define PITCH_BEND_BYTE	0xE0

#define ADLIB_CTRL_BYTE	0x7F	/* for System exclusive */
#define TEMPO_CTRL_BYTE	0

#define NR_VOICES			11
#define N_ROLL_VOICES		NR_VOICES
#define TUNE_NAME_SIZE		30
#define FILLER_SIZE		8
#define FILLER2_SIZE		8
#define TIMBRE_DEF_LEN		28
#define TIMBRE_DEF_SIZE 	( TIMBRE_DEF_LEN * sizeof( int))
#define OVERFLOW			240
#define DEFAULT_TICK_BEAT	240

struct MusHeader {
	char		majorVersion;
	char		minorVersion;
	long		tuneId;
	char		tuneName[ TUNE_NAME_SIZE];
	char		tickBeat;
	char		beatMeasure;
	long		totalTick;
	long		dataSize;
	long		nrCommand;
	char		filler[ FILLER_SIZE];

	char		soundMode;			/* 0: melodic, 1: percussive */
	char		pitchBRange;			/* 1 - 12 */
	unsigned	basicTempo;
	char		filler2[ FILLER2_SIZE];

	/* char		data[]; */
	};


[ RETURN TO DIRECTORY ]