/**************************************************************************** File : sosmfnct.h Programmer(s) : Don Fowler, Nick Skrepetos Date : Purpose : Include Files For Zortech C++ Compiler Last Updated : **************************************************************************** Copyright(c) 1993,1994 Human Machine Interfaces All Rights Reserved ****************************************************************************/ #ifndef _SOS_MIDI_FUNCTIONS #define _SOS_MIDI_FUNCTIONS #ifdef __cplusplus // ECH extern "C" { #endif #pragma pack(4) VOID interrupt far sosMIDITimerHandler ( VOID ); WORD sosMIDILockMemory ( VOID ); WORD sosMIDIUnLockMemory ( VOID ); WORD sosMIDIGetDeviceCaps ( WORD, LPSOSMIDIDEVICECAPS ); WORD sosMIDIInitSystem ( LPSTR, WORD ); WORD sosMIDIUnInitSystem ( VOID ); WORD sosMIDIInitDriver ( WORD, _SOS_MIDI_HARDWARE far *, _SOS_MIDI_INIT_DRIVER far *, WORD far * ); WORD sosMIDIUnInitDriver ( WORD, BOOL ); WORD sosMIDILoadDriver ( WORD, WORD, LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * ); WORD sosMIDIUnLoadDriver ( WORD ); WORD sosMIDIInitSong ( _SOS_MIDI_INIT_SONG far *, _SOS_MIDI_TRACK_DEVICE far *, WORD far * ); WORD sosMIDIUnInitSong ( WORD ); WORD sosMIDIResetSong ( WORD, _SOS_MIDI_INIT_SONG far * ); WORD sosMIDIStartSong ( WORD ); WORD sosMIDIStopSong ( WORD ); WORD sosMIDIPauseSong ( WORD, WORD ); WORD sosMIDIMuteSong ( WORD ); WORD sosMIDIUnMuteSong ( WORD ); WORD sosMIDIResumeSong ( WORD ); BOOL sosMIDISongDone ( WORD ); WORD sosMIDISongAlterTempo ( WORD, WORD ); WORD sosMIDIGetDeltaTime ( LPSTR, DWORD far * ); WORD sosMIDISongGetTimeToPlay ( WORD ); BYTE _huge * sosMIDINormalizePtr ( BYTE _huge * ); WORD sosMIDISetInsData ( WORD, LPSTR, WORD ); WORD sosMIDIResetDriver ( WORD ); BOOL sosMIDIHandleMIDIData ( WORD, LPSTR, WORD, WORD ); WORD sosMIDISendMIDIData ( WORD, LPSTR, WORD ); // NEW VOID sosMIDISetTrackState ( WORD, WORD, WORD ); // END // compiled in drivers function interface LPSTR digiGetCallTable ( VOID ); LPSTR callbackGetCallTable ( VOID ); LPSTR aweGetCallTable ( VOID ); WORD cdecl far callbackSendData ( LPSTR, WORD, WORD ); WORD cdecl far callbackInit ( LPSTR, WORD, WORD ); WORD cdecl far callbackUnInit ( LPSTR, WORD, WORD ); WORD cdecl far callbackReset ( LPSTR, WORD, WORD ); WORD cdecl far callbackSetInstrumentData ( LPSTR, WORD, WORD ); WORD cdecl far aweSendData ( LPSTR, WORD, WORD ); WORD cdecl far aweInit ( LPSTR, WORD, WORD ); WORD cdecl far aweUnInit ( LPSTR, WORD, WORD ); WORD cdecl far aweReset ( LPSTR, WORD, WORD ); WORD cdecl far aweSetInstrumentData ( LPSTR, WORD, WORD ); // function prototypes WORD cdecl far digiSendData ( LPSTR, WORD, WORD ); WORD cdecl far digiInit ( LPSTR, WORD, WORD ); WORD cdecl far digiUnInit ( LPSTR, WORD, WORD ); WORD cdecl far digiReset ( LPSTR, WORD, WORD ); WORD cdecl far digiSetInstrumentData ( LPSTR, WORD, WORD ); LPSTR waveGetCallTable ( VOID ); WORD cdecl far waveSendData ( LPSTR, WORD, WORD ); WORD cdecl far waveInit ( LPSTR, WORD, WORD ); WORD cdecl far waveUnInit ( LPSTR, WORD, WORD ); WORD cdecl far waveReset ( LPSTR, WORD, WORD ); WORD cdecl far waveSetInstrumentData ( LPSTR, WORD, WORD ); VOID cdecl far waveSampleCallback( WORD, WORD, WORD ); VOID digiQueueInit ( WORD, WORD ); VOID digiQueueUnInit ( WORD ); WORD digiQueueAddItem ( WORD, WORD, WORD, WORD, WORD ); WORD digiQueueGetItem ( WORD, WORD ); WORD digiQueueGetItemWAVE ( WORD ); WORD digiQueueDeleteItem ( WORD, WORD ); WORD digiQueueDeleteItemWAVE ( WORD, WORD ); WORD digiQueueDeleteItemMIDI ( WORD, WORD, WORD ); WORD digiQueueFindItemMIDI ( WORD, WORD, WORD ); // function prototypes VOID cdecl far digiSampleCallback( WORD, WORD, WORD ); WORD sosMIDIRegisterBranchFunction ( WORD, WORD ( far * )( WORD, BYTE, BYTE ) ); WORD sosMIDIRegisterLoopFunction ( WORD, WORD ( far * )( WORD, BYTE, BYTE, BYTE ) ); WORD sosMIDIRegisterTriggerFunction( WORD, BYTE, WORD ( far * )( WORD, BYTE, BYTE ) ); WORD sosMIDIBranchToTrackLocation ( WORD, BYTE, BYTE ); WORD sosMIDIBranchToSongLocation ( WORD, BYTE ); //#ifdef __cplusplus // ECH //extern "C" { //#endif extern void cdecl sosMIDIDRVGetCapsInfo( LPSTR, LPSTR, _SOS_MIDI_CAPABILITIES far * ); extern void cdecl sosMIDIDRVGetCapsPtr ( LPSTR, LPSTR, _SOS_MIDI_CAPABILITIES far * ); extern void cdecl sosMIDIDRVGetFuncsPtr( LPSTR, LPSTR, LPSTR ); extern LPSTR cdecl sosMIDIDRVSpecialFunction( LPSTR, LPSTR, WORD ); extern WORD cdecl xgetES( void ); //#ifdef __cplusplus // ECH //} //#endif BOOL sosMIDIResetChannelStealing ( WORD ); WORD sosMIDIEnableChannelStealing( WORD ); VOID far sosMIDISongHandler( VOID ); WORD sosMIDISetMT32InsData ( WORD, LPSTR, WORD ); WORD sosMIDISetMasterVolume ( BYTE ); VOID far sosMIDIMT32Timer ( VOID ); WORD sosMIDISetSongVolume ( WORD, BYTE ); WORD sosMIDIFadeSong ( WORD, WORD, WORD, BYTE, BYTE, WORD ); // functions for memory locking VOID sosMIDICaps_Start( VOID ); VOID sosMIDICaps_End( VOID ); VOID sosMIDICbck_Start( VOID ); VOID sosMIDICbck_End( VOID ); VOID sosMIDIDigi_Start( VOID ); VOID sosMIDIDigi_End( VOID ); VOID sosMIDIDone_Start( VOID ); VOID sosMIDIDone_End( VOID ); VOID sosMIDIDq_Start( VOID ); VOID sosMIDIDq_End( VOID ); VOID sosMIDIInit_Start( VOID ); VOID sosMIDIInit_End( VOID ); VOID sosMIDIIns_Start( VOID ); VOID sosMIDIIns_End( VOID ); VOID sosMIDILoad_Start( VOID ); VOID sosMIDILoad_End( VOID ); VOID sosMIDIPause_Start( VOID ); VOID sosMIDIPause_End( VOID ); VOID sosMIDIPtr_Start( VOID ); VOID sosMIDIPtr_End( VOID ); VOID sosMIDISong_Start( VOID ); VOID sosMIDISong_End( VOID ); VOID sosMIDISt_Start( VOID ); VOID sosMIDISt_End( VOID ); VOID sosMIDITmpo_Start( VOID ); VOID sosMIDITmpo_End( VOID ); VOID sosMIDITmr_Start( VOID ); VOID sosMIDITmr_End( VOID ); void StringOut( BYTE X, BYTE Y, BYTE * String, BYTE Color ); #pragma pack() #ifdef __cplusplus // ECH } #endif #endif