ORCA-C/bin/Libraries/ORCACDefs/midisynth.h

1 line
7.2 KiB
C
Raw Normal View History

/******************************************** * * MIDI Synth Tool Set * * Copyright Apple Computer, Inc. 1991 * All Rights Reserved * * Copyright 1992, Byte Works, Inc * ********************************************/ #ifndef __TYPES__ #include <TYPES.h> #endif #ifndef __MIDISYNTH__ #define __MIDISYNTH__ /* Error Codes */ #define msAlreadyStarted 0x2301 /* MidiSynth already started */ #define msNotStarted 0x2302 /* MidiSynth never started */ #define msNoDPMem 0x2303 /* Can't get direct page memory */ #define msNoMemBlock 0x2304 /* Can't get memory block */ #define msNoMiscTool 0x2305 /* Misc Tools not started */ #define msNoSoundTool 0x2306 /* Sound Tools not started */ #define msGenInUse 0x2307 /* Ensoniq generator in use */ #define msBadPortNum 0x2308 /* Illegal port number */ #define msPortBusy 0x2309 /* Port is busy */ #define msParamRangeErr 0x230a /* Parameter range error */ #define msMsgQueueFull 0x230b /* Message queue full */ #define msRecBufFull 0x230c /* Rec buffer is full */ #define msOutputDisabled 0x230d /* MIDI output disabled */ #define msMessageError 0x230e /* Message error */ #define msOutputBufFull 0x230f /* MIDI output buffer is full */ #define msDriverNotStarted 0x2310 /* Driver not started */ #define msDriverAlreadySet 0x2311 /* Driver already set */ #define msDevNotAvail 0x2380 /* the requested device is not available */ #define msDevSlotBusy 0x2381 /* requested slot is already in use */ #define msDevBusy 0x2382 /* the requested device is already in use */ #define msDevOverrun 0x2383 /* device overrun by incoming MIDI data */ #define msDevNoConnect 0x2384 /* no connection to MIDI */ #define msDevReadErr 0x2385 /* framing error in received MIDI data */ #define msDevVersion 0x2386 /* ROM version is incompatible with device driver */ #define msDevIntHndlr 0x2387 /* conflicting interrupt handler is installed */ /* structure definitions */ typedef struct { byte reserved1[0x0c]; word MpacketStat; word MpacketData1; word MpacketData2; byte SeqClockFrac; long SeqClockInt; byte reserved2[0x31-0x16]; byte SeqItemStat; byte SeqItemData1; byte SeqItemData2; byte reserved3[0x3f-0x33]; byte MetroVol; byte reserved4[0xe4-0x3f]; word MetroFreq; byte reserved5[0xea-0xe5]; byte SeqItemTrack; byte reserved6; byte PacketBytes; byte reserved7[0x100-0xec]; } msDirectPage, *msDirectPagePtr, **msDirectPageHndl; typedef struct { msDirectPagePtr directPage; long reserved; } GetMSDataOutputRec, *GetMSDataOutputRecPtr, **GetMSDataOutputRecHndl; typedef struct { word measureNumber; word beatNumber; word msRemainder; } MeasureRec, *MeasureRecPtr, **MeasureRecHndl; typedef struct { ProcPtr EndSeq; ProcPtr UserMeter; ProcPtr Mstart; ProcPtr Mstop; ProcPtr PacketIn; ProcPtr SeqEvent; ProcPtr SysEx; ProcPtr PacketOut; ProcPtr PgmChange; ProcPtr Mcontinue; ProcPtr SMarker; ProcPtr RecBufFull; ProcPtr Reserved1; ProcPtr Reserved2; } CallBackRec, *CallBackRecPtr, **CallBackRecHndl; typedef struct { pointer PbufStart; long Reserved; pointer RbufStart; pointer RbufEnd; word SeqFlags; long theClock; } SeqPlayRec, *SeqPlayRecPtr, **SeqPlayRecHndl; typedef struct { byte AttackLevel; byte AttackRate; byte Decay1Level; byte Decay1Rate; byte Decay2Level; byte Decay2Rate; byte SustainLevel; byte Decay3Rate; byte Release1Level; byte Release1Rate; byte Release2Level; byte Release2Rate; byte Release3Rate; byte DecayGain; byte VelocityGain; byte PitchBendRange; } EnvelopeRec, *EnvelopeRecPtr, **EnvelopeRecHndl; typedef struct { byte TopKey; byte OscConfig; byte Stereo; byte Detune; byte WaveAddrA; byte WaveSizeA; byte VolumeA; byte OctaveA; byte Sem