SOSMFNCT.H 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. /****************************************************************************
  2. File : sosmfnct.h
  3. Programmer(s) : Don Fowler, Nick Skrepetos
  4. Date :
  5. Purpose : Include Files For Zortech C++ Compiler
  6. Last Updated :
  7. ****************************************************************************
  8. Copyright(c) 1993,1994 Human Machine Interfaces
  9. All Rights Reserved
  10. ****************************************************************************/
  11. #ifndef _SOS_MIDI_FUNCTIONS
  12. #define _SOS_MIDI_FUNCTIONS
  13. #pragma pack(4)
  14. VOID interrupt far sosMIDITimerHandler ( VOID );
  15. WORD sosMIDILockMemory ( VOID );
  16. WORD sosMIDIUnLockMemory ( VOID );
  17. WORD sosMIDIGetDeviceCaps ( WORD, LPSOSMIDIDEVICECAPS );
  18. WORD sosMIDIInitSystem ( LPSTR, WORD );
  19. WORD sosMIDIUnInitSystem ( VOID );
  20. WORD sosMIDIInitDriver ( WORD, _SOS_MIDI_HARDWARE far *,
  21. _SOS_MIDI_INIT_DRIVER far *, WORD far * );
  22. WORD sosMIDIUnInitDriver ( WORD, BOOL );
  23. WORD sosMIDILoadDriver ( WORD, WORD, LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * );
  24. WORD sosMIDIUnLoadDriver ( WORD );
  25. WORD sosMIDIInitSong ( _SOS_MIDI_INIT_SONG far *,
  26. _SOS_MIDI_TRACK_DEVICE far *,
  27. WORD far * );
  28. WORD sosMIDIUnInitSong ( WORD );
  29. WORD sosMIDIResetSong ( WORD, _SOS_MIDI_INIT_SONG far * );
  30. WORD sosMIDIStartSong ( WORD );
  31. WORD sosMIDIStopSong ( WORD );
  32. WORD sosMIDIPauseSong ( WORD, WORD );
  33. WORD sosMIDIMuteSong ( WORD );
  34. WORD sosMIDIUnMuteSong ( WORD );
  35. WORD sosMIDIResumeSong ( WORD );
  36. BOOL sosMIDISongDone ( WORD );
  37. WORD sosMIDISongAlterTempo ( WORD, WORD );
  38. WORD sosMIDIGetDeltaTime ( LPSTR, DWORD far * );
  39. WORD sosMIDISongGetTimeToPlay ( WORD );
  40. BYTE _huge * sosMIDINormalizePtr ( BYTE _huge * );
  41. WORD sosMIDISetInsData ( WORD, LPSTR, WORD );
  42. WORD sosMIDIResetDriver ( WORD );
  43. BOOL sosMIDIHandleMIDIData ( WORD, LPSTR, WORD, WORD );
  44. WORD sosMIDISendMIDIData ( WORD, LPSTR, WORD );
  45. // NEW
  46. VOID sosMIDISetTrackState ( WORD, WORD, WORD );
  47. // END
  48. // compiled in drivers function interface
  49. LPSTR digiGetCallTable ( VOID );
  50. LPSTR callbackGetCallTable ( VOID );
  51. LPSTR aweGetCallTable ( VOID );
  52. WORD cdecl far callbackSendData ( LPSTR, WORD, WORD );
  53. WORD cdecl far callbackInit ( LPSTR, WORD, WORD );
  54. WORD cdecl far callbackUnInit ( LPSTR, WORD, WORD );
  55. WORD cdecl far callbackReset ( LPSTR, WORD, WORD );
  56. WORD cdecl far callbackSetInstrumentData ( LPSTR, WORD, WORD );
  57. WORD cdecl far aweSendData ( LPSTR, WORD, WORD );
  58. WORD cdecl far aweInit ( LPSTR, WORD, WORD );
  59. WORD cdecl far aweUnInit ( LPSTR, WORD, WORD );
  60. WORD cdecl far aweReset ( LPSTR, WORD, WORD );
  61. WORD cdecl far aweSetInstrumentData ( LPSTR, WORD, WORD );
  62. // function prototypes
  63. WORD cdecl far digiSendData ( LPSTR, WORD, WORD );
  64. WORD cdecl far digiInit ( LPSTR, WORD, WORD );
  65. WORD cdecl far digiUnInit ( LPSTR, WORD, WORD );
  66. WORD cdecl far digiReset ( LPSTR, WORD, WORD );
  67. WORD cdecl far digiSetInstrumentData ( LPSTR, WORD, WORD );
  68. LPSTR waveGetCallTable ( VOID );
  69. WORD cdecl far waveSendData ( LPSTR, WORD, WORD );
  70. WORD cdecl far waveInit ( LPSTR, WORD, WORD );
  71. WORD cdecl far waveUnInit ( LPSTR, WORD, WORD );
  72. WORD cdecl far waveReset ( LPSTR, WORD, WORD );
  73. WORD cdecl far waveSetInstrumentData ( LPSTR, WORD, WORD );
  74. VOID cdecl far waveSampleCallback( WORD, WORD, WORD );
  75. VOID digiQueueInit ( WORD, WORD );
  76. VOID digiQueueUnInit ( WORD );
  77. WORD digiQueueAddItem ( WORD, WORD, WORD, WORD, WORD );
  78. WORD digiQueueGetItem ( WORD, WORD );
  79. WORD digiQueueGetItemWAVE ( WORD );
  80. WORD digiQueueDeleteItem ( WORD, WORD );
  81. WORD digiQueueDeleteItemWAVE ( WORD, WORD );
  82. WORD digiQueueDeleteItemMIDI ( WORD, WORD, WORD );
  83. WORD digiQueueFindItemMIDI ( WORD, WORD, WORD );
  84. // function prototypes
  85. VOID cdecl far digiSampleCallback( WORD, WORD, WORD );
  86. WORD sosMIDIRegisterBranchFunction ( WORD, WORD ( far * )( WORD, BYTE, BYTE ) );
  87. WORD sosMIDIRegisterLoopFunction ( WORD, WORD ( far * )( WORD, BYTE, BYTE, BYTE ) );
  88. WORD sosMIDIRegisterTriggerFunction( WORD, BYTE, WORD ( far * )( WORD, BYTE, BYTE ) );
  89. WORD sosMIDIBranchToTrackLocation ( WORD, BYTE, BYTE );
  90. WORD sosMIDIBranchToSongLocation ( WORD, BYTE );
  91. #ifdef __cplusplus
  92. extern "C" {
  93. #endif
  94. extern void cdecl sosMIDIDRVGetCapsInfo( LPSTR, LPSTR, _SOS_MIDI_CAPABILITIES far * );
  95. extern void cdecl sosMIDIDRVGetCapsPtr ( LPSTR, LPSTR, _SOS_MIDI_CAPABILITIES far * );
  96. extern void cdecl sosMIDIDRVGetFuncsPtr( LPSTR, LPSTR, LPSTR );
  97. extern LPSTR cdecl sosMIDIDRVSpecialFunction( LPSTR, LPSTR, WORD );
  98. extern WORD cdecl xgetES( void );
  99. #ifdef __cplusplus
  100. }
  101. #endif
  102. BOOL sosMIDIResetChannelStealing ( WORD );
  103. WORD sosMIDIEnableChannelStealing( WORD );
  104. VOID far sosMIDISongHandler( VOID );
  105. WORD sosMIDISetMT32InsData ( WORD, LPSTR, WORD );
  106. WORD sosMIDISetMasterVolume ( BYTE );
  107. VOID far sosMIDIMT32Timer ( VOID );
  108. WORD sosMIDISetSongVolume ( WORD, BYTE );
  109. WORD sosMIDIFadeSong ( WORD, WORD, WORD, BYTE, BYTE, WORD );
  110. // functions for memory locking
  111. VOID sosMIDICaps_Start( VOID );
  112. VOID sosMIDICaps_End( VOID );
  113. VOID sosMIDICbck_Start( VOID );
  114. VOID sosMIDICbck_End( VOID );
  115. VOID sosMIDIDigi_Start( VOID );
  116. VOID sosMIDIDigi_End( VOID );
  117. VOID sosMIDIDone_Start( VOID );
  118. VOID sosMIDIDone_End( VOID );
  119. VOID sosMIDIDq_Start( VOID );
  120. VOID sosMIDIDq_End( VOID );
  121. VOID sosMIDIInit_Start( VOID );
  122. VOID sosMIDIInit_End( VOID );
  123. VOID sosMIDIIns_Start( VOID );
  124. VOID sosMIDIIns_End( VOID );
  125. VOID sosMIDILoad_Start( VOID );
  126. VOID sosMIDILoad_End( VOID );
  127. VOID sosMIDIPause_Start( VOID );
  128. VOID sosMIDIPause_End( VOID );
  129. VOID sosMIDIPtr_Start( VOID );
  130. VOID sosMIDIPtr_End( VOID );
  131. VOID sosMIDISong_Start( VOID );
  132. VOID sosMIDISong_End( VOID );
  133. VOID sosMIDISt_Start( VOID );
  134. VOID sosMIDISt_End( VOID );
  135. VOID sosMIDITmpo_Start( VOID );
  136. VOID sosMIDITmpo_End( VOID );
  137. VOID sosMIDITmr_Start( VOID );
  138. VOID sosMIDITmr_End( VOID );
  139. void StringOut( BYTE X, BYTE Y, BYTE * String, BYTE Color );
  140. #pragma pack()
  141. #endif