libsnd.pas 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. //
  2. // Copyright (C) 1994 by Sony Computer Entertainment Inc.
  3. // All Rights Reserved.
  4. //
  5. // Sony Computer Entertainment Inc. Development Department
  6. //
  7. // Run-time Library Release 4.6$
  8. {$MODE OBJFPC}
  9. unit libsnd;
  10. interface
  11. //include <sys/types.h>
  12. const
  13. SSPLAY_INFINITY = 0;
  14. SS_NOTICK = $1000;
  15. SS_NOTICK0 = 0;
  16. SS_TICK60 = 1;
  17. SS_TICK240 = 2;
  18. SS_TICK120 = 3;
  19. SS_TICK50 = 4;
  20. SS_TICKVSYNC = 5;
  21. SS_TICKMODE_MAX = 6;
  22. SSPLAY_PAUSE = 0;
  23. SSPLAY_PLAY = 1;
  24. SS_SOFF = 0;
  25. SS_SON = 1;
  26. SS_MIX = 0;
  27. SS_REV = 1;
  28. SS_SERIAL_A = 0;
  29. SS_SERIAL_B = 1;
  30. SS_MUTE_OFF = 0;
  31. SS_MUTE_ON = 1;
  32. SS_IMEDIATE = 0;
  33. SS_IMMEDIATE = 0;
  34. SS_WAIT_COMPLETED = 1;
  35. SS_REV_TYPE_OFF = 0;
  36. SS_REV_TYPE_ROOM = 1;
  37. SS_REV_TYPE_STUDIO_A = 2;
  38. SS_REV_TYPE_STUDIO_B = 3;
  39. SS_REV_TYPE_STUDIO_C = 4;
  40. SS_REV_TYPE_HALL = 5;
  41. SS_REV_TYPE_SPACE = 6;
  42. SS_REV_TYPE_ECHO = 7;
  43. SS_REV_TYPE_DELAY = 8;
  44. SS_REV_TYPE_PIPE = 9;
  45. SSSKIP_TICK = 0;
  46. SSSKIP_NOTE4 = 1;
  47. SSSKIP_NOTE8 = 2;
  48. SSSKIP_BAR = 3;
  49. SS_SEQ_TABSIZ = 176;
  50. SND_VOLL = 1;
  51. SND_VOLR = 2;
  52. SND_ADSR1 = 4;
  53. SND_ADSR2 = 8;
  54. SND_ADDR = 16;
  55. SND_PITCH = 32;
  56. NULL = 0;
  57. // Vag & Vab Structure
  58. type
  59. VabHdr = packed record // VAB Bank Headdings
  60. form : longint; // always 'VABp'
  61. ver : longint; // VAB file version number
  62. id : longint; // VAB id
  63. fsize : dword; // VAB file size
  64. reserved0 : word; // system reserved
  65. ps : word; // # of the programs in this bank
  66. ts : word; // # of the tones in this bank
  67. vs : word; // # of the vags in this bank
  68. mvol : byte; // master volume for this bank
  69. pan : byte; // master panning for this bank
  70. attr1 : byte; // bank attributes1
  71. attr2 : byte; // bank attributes2
  72. reserved1 : dword; // system reserved
  73. end; // 32 byte
  74. PVabHdr = ^VabHdr;
  75. ProgAtr = packed record // Program Headdings
  76. tones : byte; // # of tones
  77. mvol : byte; // program volume
  78. prior : byte; // program priority
  79. mode : byte; // program mode
  80. mpan : byte; // program pan
  81. reserved0 : byte; // system reserved
  82. attr : smallint; // program attribute
  83. reserved1 : dword; // system reserved
  84. reserved2 : dword; // system reserved
  85. end; // 16 byte
  86. PProgAtr = ^ProgAtr;
  87. VagAtr = packed record // VAG Tone Headdings
  88. prior : byte; // tone priority
  89. mode : byte; // play mode
  90. vol : byte; // tone volume
  91. pan : byte; // tone panning
  92. center : byte; // center note
  93. shift : byte; // center note fine tune
  94. min : byte; // minimam note limit
  95. max : byte; // maximam note limit
  96. vibW : byte; // vibrate depth
  97. vibT : byte; // vibrate duration
  98. porW : byte; // portamento depth
  99. porT : byte; // portamento duration
  100. pbmin : byte; // under pitch bend max
  101. pbmax : byte; // upper pitch bend max
  102. reserved1 : byte; // system reserved
  103. reserved2 : byte; // system reserved
  104. adsr1 : word; // adsr1
  105. adsr2 : word; // adsr2
  106. prog : smallint; // parent program
  107. vag : smallint; // vag reference
  108. reserved : array [0..3] of smallint; // system reserved
  109. end; // 32 byte
  110. PVagAtr = ^VagAtr;
  111. // Volume Structure
  112. SndVolume = packed record
  113. left : word;
  114. right : word;
  115. end;
  116. PSndVolume = ^SndVolume;
  117. SndVolume2 = packed record
  118. left : smallint;
  119. right : smallint;
  120. end;
  121. SndRegisterAttr = packed record
  122. volume : SndVolume2;
  123. pitch : smallint;
  124. mask : smallint;
  125. addr : smallint;
  126. adsr1 : smallint;
  127. adsr2 : smallint;
  128. end;
  129. PSndRegisterAttr = ^SndRegisterAttr;
  130. SndVoiceStats = packed record
  131. vagId : smallint;
  132. vabId : smallint;
  133. pitch : word;
  134. note : smallint;
  135. tone : smallint;
  136. prog_num : smallint;
  137. prog_actual : smallint;
  138. vol : smallint;
  139. pan : smallint;
  140. end;
  141. PSndVoiceStats = ^SndVoiceStats;
  142. // CallBack
  143. SsMarkCallbackProc = procedure(ac_no, tr_no: smallint; data: smallint);
  144. function SsVabOpenHead(addr: pointer; vab_id: smallint): smallint; stdcall; external;
  145. function SsVabOpenHeadSticky(addr: pointer; vab_id: smallint; sbaddr: dword): smallint; stdcall; external;
  146. function SsVabTransBody(addr: pointer; vab_id: smallint): smallint; stdcall; external;
  147. function SsVabTransBodyPartly(addr: pointer; bufsize: dword; vab_id: smallint): smallint; stdcall; external;
  148. function SsVabTransfer(vh_add, vb_addr: pointer; vab_id: smallint; i_flag: smallint): smallint; stdcall; external;
  149. function SsVabTransCompleted(immediateFlag: smallint): smallint; stdcall; external;
  150. procedure SsVabClose(vab_id: smallint); stdcall; external;
  151. procedure SsInit; stdcall; external;
  152. procedure SsInitHot; stdcall; external;
  153. procedure SsSetTableSize(table: pointer; s_max, t_max: smallint); stdcall; external;
  154. procedure SsSetTickMode(tick_mode: longint); stdcall; external;
  155. function SsSetTickCallback(cb: pointer): longint; stdcall; external;
  156. procedure SsStart; stdcall; external;
  157. procedure SsStart2; stdcall; external;
  158. procedure SsEnd; stdcall; external;
  159. procedure SsQuit; stdcall; external;
  160. procedure SsSeqCalledTbyT; stdcall; external;
  161. function SsSeqOpen(addr: pointer; vab_id: smallint): smallint; stdcall; external;
  162. procedure SsSeqPlay(seq_access_num: smallint; play_mode: byte; l_count: smallint); stdcall; external;
  163. procedure SsSeqPlayPtoP(access_num: smallint; seq_num: smallint; start_point, end_point: pointer; play_mode: byte; l_count: smallint); stdcall; external;
  164. procedure SsSeqPause(seq_access_num: smallint); stdcall; external;
  165. procedure SsSeqReplay(seq_access_num: smallint); stdcall; external;
  166. function SsSeqSkip(access_num, seq_num: smallint; _unit: byte; count: smallint): longint; stdcall; external;
  167. procedure SsSeqStop(seq_access_num: smallint); stdcall; external;
  168. procedure SsSeqSetVol(seq_access_num: smallint; voll, volr: smallint); stdcall; external;
  169. procedure SsSeqSetNext(seq_access_num1, seq_access_num2: smallint); stdcall; external;
  170. procedure SsSeqSetCrescendo(seq_access_num: smallint; vol: smallint; v_time: longint); stdcall; external;
  171. procedure SsSeqSetDecrescendo(seq_access_num: smallint; vol: smallint; v_time: longint); stdcall; external;
  172. procedure SsSeqSetAccelerando(seq_access_num: smallint; tempo: longint; v_time: longint); stdcall; external;
  173. procedure SsSeqSetRitardando(seq_access_num: smallint; tempo: longint; v_time: longint); stdcall; external;
  174. procedure SsSeqClose(seq_access_num: smallint); stdcall; external;
  175. function SsSepOpen(addr: pointer; vab_id: smallint; seq_num: smallint): smallint; stdcall; external;
  176. procedure SsSepPlay(sep_access_num: smallint; seq_num: smallint; play_mode: byte; l_count: smallint); stdcall; external;
  177. procedure SsSepPause(sep_access_num, seq_num: smallint); stdcall; external;
  178. procedure SsSepReplay(sep_access_num, seq_num: smallint); stdcall; external;
  179. procedure SsSepStop(sep_access_num, seq_num: smallint); stdcall; external;
  180. procedure SsSepSetVol(sep_access_num, seq_num: smallint; voll, volr: smallint); stdcall; external;
  181. procedure SsSepSetCrescendo(sep_access_num, seq_num: smallint; vol: smallint; v_time: longint); stdcall; external;
  182. procedure SsSepSetDecrescendo(sep_access_num, seq_num: smallint; vol: smallint; v_time: longint); stdcall; external;
  183. procedure SsSepSetAccelerando(sep_access_num, seq_num: smallint; tempo: longint; v_time: longint); stdcall; external;
  184. procedure SsSepSetRitardando(sep_access_num, seq_num: smallint; tempo: longint; v_time: longint); stdcall; external;
  185. procedure SsSepClose(sep_access_num: smallint); stdcall; external;
  186. function SsVoKeyOn(vab_pro, pitch: longint; volL,volR: byte): longint; stdcall; external;
  187. function SsVoKeyOff(vab_pro, pitch: longint): longint; stdcall; external;
  188. procedure SsSetMVol(voll, volr: smallint); stdcall; external;
  189. procedure SsGetMVol(m_vol: PSndVolume); stdcall; external;
  190. procedure SsSetRVol(voll, volr: smallint); stdcall; external;
  191. procedure SsGetRVol(r_vol: PSndVolume); stdcall; external;
  192. procedure SsSetMute(mode: byte); stdcall; external;
  193. function SsGetMute: byte; stdcall; external;
  194. procedure SsSetSerialAttr(s_num, attr, mode: byte); stdcall; external;
  195. function SsGetSerialAttr(s_num, attr: byte): byte; stdcall; external;
  196. procedure SsSetSerialVol(s_num: byte; voll, volr: smallint); stdcall; external;
  197. procedure SsGetSerialVol(s_num: byte; s_vol: PSndVolume); stdcall; external;
  198. procedure SsSetNck(n_clock: smallint); stdcall; external;
  199. function SsGetNck: smallint; stdcall; external;
  200. procedure SsSetNoiseOn(voll, volr: smallint); stdcall; external;
  201. procedure SsSetNoiseOff; stdcall; external;
  202. procedure SsSetMono; stdcall; external;
  203. procedure SsSetStereo; stdcall; external;
  204. procedure SsSetTempo(access_num, seq_num: smallint; tempo: smallint); stdcall; external;
  205. procedure SsSetLoop(access_num, seq_num: smallint; I_count: smallint); stdcall; external;
  206. function SsIsEos(access_num, seq_num: smallint): smallint; stdcall; external;
  207. procedure SsPlayBack(access_num, seq_num: smallint; I_count: smallint); stdcall; external;
  208. procedure SsSetMarkCallback(access_num, seq_num: smallint; proc: SsMarkCallbackProc); stdcall; external;
  209. function SsSetReservedVoice(voices: byte): byte; stdcall; external;
  210. function SsUtKeyOn(vabId, prog, tone, note, fine, voll, volr: smallint): smallint; stdcall; external;
  211. function SsUtKeyOff(voice, vabId, prog, tone, note: smallint): smallint; stdcall; external;
  212. function SsUtKeyOnV(voice, vabId, prog, tone, fine, voll, volr: smallint): smallint; stdcall; external;
  213. function SsUtKeyOffV(voice: smallint): smallint; stdcall; external;
  214. function SsUtPitchBend(voice, vabId, prog, note, pbend: smallint): smallint; stdcall; external;
  215. function SsUtChangePitch(voice, vabId, prog, old_note, old_fine, new_note, new_fine: smallint): smallint; stdcall; external;
  216. function SsUtChangeADSR(vc, vabId, prog, old_note: smallint; adsr1, adsr2: word): smallint; stdcall; external;
  217. function SsUtSetVabHdr(vabId, vabhdrptr: PVabHdr): smallint; stdcall; external;
  218. function SsUtGetVabHdr(vabId, vabhdrptr: PVabHdr): smallint; stdcall; external;
  219. function SsUtSetProgAtr(vabId, progNum: smallint; progatrptr: PProgAtr): smallint; stdcall; external;
  220. function SsUtGetProgAtr(vabId, progNum: smallint; progatrptr: PProgAtr): smallint; stdcall; external;
  221. function SsUtSetVagAtr(vabId, progNum, toneNum: smallint; vagatrptr: PVagAtr): smallint; stdcall; external;
  222. function SsUtGetVagAtr(vabId, progNum, toneNum: smallint; vagatrptr: PVagAtr): smallint; stdcall; external;
  223. function SsUtSetDetVVol(vc: smallint; detvoll, detvolr: smallint): smallint; stdcall; external;
  224. function SsUtGetDetVVol(vc: smallint; detvoll, detvolr: psmallint): smallint; stdcall; external;
  225. function SsUtSetVVol(vc: smallint; detvoll, detvolr: smallint): smallint; stdcall; external;
  226. function SsUtGetVVol(vc: smallint; detvoll, detvolr: psmallint): smallint; stdcall; external;
  227. function SsUtAutoVol(vc: smallint; start_vol, end_vol, delta_time: smallint): smallint; stdcall; external;
  228. function SsUtAutoPan(vc: smallint; start_pan, end_pan, delta_time: smallint): smallint; stdcall; external;
  229. procedure SsUtReverbOn; stdcall; external;
  230. procedure SsUtReverbOff; stdcall; external;
  231. function SsUtSetReverbType(_type: smallint): smallint; stdcall; external;
  232. function SsUtGetReverbType: smallint; stdcall; external;
  233. procedure SsUtSetReverbDepth(ldepth, rdepth: smallint); stdcall; external;
  234. procedure SsUtSetReverbFeedback(feedback: smallint); stdcall; external;
  235. procedure SsUtSetReverbDelay(delay: smallint); stdcall; external;
  236. procedure SsUtAllKeyOff(mode: smallint); stdcall; external;
  237. procedure SsSetAutoKeyOffMode(mode: smallint); stdcall; external;
  238. procedure SsUtFlush; stdcall; external;
  239. function SsVabFakeHead(addr: pointer; vabid: smallint; sbaddr: dword): smallint; stdcall; external;
  240. function SsVabFakeBody(vabid: smallint): smallint; stdcall; external;
  241. function SsUtGetVBaddrInSB(vabid: smallint): dword; stdcall; external;
  242. function SsUtGetVagAddr(vabId, vagId: smallint): longint; stdcall; external;
  243. function SsUtGetVagAddrFromTone(vabId, progId, toneId: smallint): dword; stdcall; external;
  244. procedure SsSetNext(ac_no1, tr_no1, ac_no2, tr_no2: smallint); stdcall; external;
  245. procedure SsSeqGetVol(access_num, seq_num: smallint; voll, volr: psmallint); stdcall; external;
  246. procedure SsChannelMute(acn, trn: smallint; channels: longint); stdcall; external;
  247. function SsSeqOpenJ(addr: pointer; vab_id: smallint): smallint; stdcall; external;
  248. function SsSepOpenJ(addr: pointer; vab_id, seq_num: smallint): smallint; stdcall; external;
  249. function SsGetCurrentPoint(acn, trn: smallint): pointer; stdcall; external;
  250. function SsSetCurrentPoint(acn, trn: smallint; point: pointer): longint; stdcall; external;
  251. function SsGetChannelMute(sep_num, seq_num: smallint): longint; stdcall; external;
  252. procedure SsSetVoiceMask(s_voice: dword); stdcall; external;
  253. function SsGetVoiceMask: dword; stdcall; external;
  254. procedure SsQueueRegisters(voice: longint; SRA: PSndRegisterAttr); stdcall; external;
  255. procedure SsQueueKeyOn(voices: longint); stdcall; external;
  256. procedure SsQueueReverb(voices, reverb: longint); stdcall; external;
  257. function SsGetActualProgFromProg(vabId, ProgNum: smallint): smallint; stdcall; external;
  258. procedure SsSetVoiceSettings(voice: longint; Snd_v_attr: PSndVoiceStats); stdcall; external;
  259. function SsPitchFromNote(note, fine: smallint; center, shift: byte): word; stdcall; external;
  260. function SsVoiceCheck(voice, vabId: longint; note: smallint): smallint; stdcall; external;
  261. function SsBlockVoiceAllocation: byte; stdcall; external;
  262. function SsUnBlockVoiceAllocation: byte; stdcall; external;
  263. function SsAllocateVoices(voices, priority: byte): longint; stdcall; external;
  264. // for function table
  265. const
  266. CC_NUMBER = 0;
  267. CC_BANKCHANGE = 1;
  268. CC_DATAENTRY = 2;
  269. CC_MAINVOL = 3;
  270. CC_PANPOT = 4;
  271. CC_EXPRESSION = 5;
  272. CC_DAMPER = 6;
  273. CC_NRPN1 = 7;
  274. CC_NRPN2 = 8;
  275. CC_RPN1 = 9;
  276. CC_RPN2 = 10;
  277. CC_EXTERNAL = 11;
  278. CC_RESETALL = 12;
  279. DE_PRIORITY = 0;
  280. DE_MODE = 1;
  281. DE_LIMITL = 2;
  282. DE_LIMITH = 3;
  283. DE_ADSR_AR_L = 4;
  284. DE_ADSR_AR_E = 5;
  285. DE_ADSR_DR = 6;
  286. DE_ADSR_SL = 7;
  287. DE_ADSR_SR_L = 8;
  288. DE_ADSR_SR_E = 9;
  289. DE_ADSR_RR_L = 10;
  290. DE_ADSR_RR_E = 11;
  291. DE_ADSR_SR = 12;
  292. DE_VIB_TIME = 13;
  293. DE_PORTA_DEPTH = 14;
  294. DE_REV_TYPE = 15;
  295. DE_REV_DEPTH = 16;
  296. DE_ECHO_FB = 17;
  297. DE_ECHO_DELAY = 18;
  298. DE_DELAY = 19;
  299. {
  300. type
  301. _SsFCALL = packed record
  302. void (*noteon) ();
  303. void (*programchange) ();
  304. void (*pitchbend) ();
  305. void (*metaevent) ();
  306. void (*control[13]) ();
  307. void (*ccentry[20]) ();
  308. end;
  309. procedure _SsNoteOn (short, short, unsigned char, unsigned char);
  310. procedure _SsSetProgramChange(short, short, unsigned char);
  311. procedure _SsGetMetaEvent(short, short, unsigned char);
  312. procedure _SsSetPitchBend(short, short);
  313. procedure _SsSetControlChange(short, short, unsigned char);
  314. procedure _SsContBankChange(short, short);
  315. procedure _SsContDataEntry(short, short, unsigned char);
  316. procedure _SsContMainVol(short, short, unsigned char);
  317. procedure _SsContPanpot(short, short, unsigned char);
  318. procedure _SsContExpression(short, short, unsigned char);
  319. procedure _SsContDamper(short, short, unsigned char);
  320. procedure _SsContExternal(short, short, unsigned char);
  321. procedure _SsContNrpn1(short, short, unsigned char);
  322. procedure _SsContNrpn2(short, short, unsigned char);
  323. procedure _SsContRpn1(short, short, unsigned char);
  324. procedure _SsContRpn2(short, short, unsigned char);
  325. procedure _SsContResetAll(short, short);
  326. procedure _SsSetNrpnVabAttr0(short, short, short, VagAtr, short, unsigned char);
  327. procedure _SsSetNrpnVabAttr1(short, short, short, VagAtr, short, unsigned char);
  328. procedure _SsSetNrpnVabAttr2(short, short, short, VagAtr, short, unsigned char);
  329. procedure _SsSetNrpnVabAttr3(short, short, short, VagAtr, short, unsigned char);
  330. procedure _SsSetNrpnVabAttr4(short, short, short, VagAtr, short, unsigned char);
  331. procedure _SsSetNrpnVabAttr5(short, short, short, VagAtr, short, unsigned char);
  332. procedure _SsSetNrpnVabAttr6(short, short, short, VagAtr, short, unsigned char);
  333. procedure _SsSetNrpnVabAttr7(short, short, short, VagAtr, short, unsigned char);
  334. procedure _SsSetNrpnVabAttr8(short, short, short, VagAtr, short, unsigned char);
  335. procedure _SsSetNrpnVabAttr9(short, short, short, VagAtr, short, unsigned char);
  336. procedure _SsSetNrpnVabAttr10(short, short, short, VagAtr, short, unsigned char);
  337. procedure _SsSetNrpnVabAttr11(short, short, short, VagAtr, short, unsigned char);
  338. procedure _SsSetNrpnVabAttr12(short, short, short, VagAtr, short, unsigned char);
  339. procedure _SsSetNrpnVabAttr13(short, short, short, VagAtr, short, unsigned char);
  340. procedure _SsSetNrpnVabAttr14(short, short, short, VagAtr, short, unsigned char);
  341. procedure _SsSetNrpnVabAttr15(short, short, short, VagAtr, short, unsigned char);
  342. procedure _SsSetNrpnVabAttr16(short, short, short, VagAtr, short, unsigned char);
  343. procedure _SsSetNrpnVabAttr17(short, short, short, VagAtr, short, unsigned char);
  344. procedure _SsSetNrpnVabAttr18(short, short, short, VagAtr, short, unsigned char);
  345. procedure _SsSetNrpnVabAttr19(short, short, short, VagAtr, short, unsigned char);
  346. procedure dmy_nothing1(short, short, unsigned char, unsigned char);
  347. procedure dmy_SsNoteOn (short, short, unsigned char, unsigned char);
  348. procedure dmy_SsSetProgramChange(short, short, unsigned char);
  349. procedure dmy_SsGetMetaEvent(short, short, unsigned char);
  350. procedure dmy_SsSetPitchBend(short, short);
  351. procedure dmy_SsSetControlChange(short, short, unsigned char);
  352. procedure dmy_SsContBankChange(short, short);
  353. procedure dmy_SsContDataEntry(short, short, unsigned char);
  354. procedure dmy_SsContMainVol(short, short, unsigned char);
  355. procedure dmy_SsContPanpot(short, short, unsigned char);
  356. procedure dmy_SsContExpression(short, short, unsigned char);
  357. procedure dmy_SsContDamper(short, short, unsigned char);
  358. procedure dmy_SsContExternal(short, short, unsigned char);
  359. procedure dmy_SsContNrpn1(short, short, unsigned char);
  360. procedure dmy_SsContNrpn2(short, short, unsigned char);
  361. procedure dmy_SsContRpn1(short, short, unsigned char);
  362. procedure dmy_SsContRpn2(short, short, unsigned char);
  363. procedure dmy_SsContResetAll(short, short);
  364. procedure dmy_SsSetNrpnVabAttr0(short, short, short, VagAtr, short, unsigned char);
  365. procedure dmy_SsSetNrpnVabAttr1(short, short, short, VagAtr, short, unsigned char);
  366. procedure dmy_SsSetNrpnVabAttr2(short, short, short, VagAtr, short, unsigned char);
  367. procedure dmy_SsSetNrpnVabAttr3(short, short, short, VagAtr, short, unsigned char);
  368. procedure dmy_SsSetNrpnVabAttr4(short, short, short, VagAtr, short, unsigned char);
  369. procedure dmy_SsSetNrpnVabAttr5(short, short, short, VagAtr, short, unsigned char);
  370. procedure dmy_SsSetNrpnVabAttr6(short, short, short, VagAtr, short, unsigned char);
  371. procedure dmy_SsSetNrpnVabAttr7(short, short, short, VagAtr, short, unsigned char);
  372. procedure dmy_SsSetNrpnVabAttr8(short, short, short, VagAtr, short, unsigned char);
  373. procedure dmy_SsSetNrpnVabAttr9(short, short, short, VagAtr, short, unsigned char);
  374. procedure dmy_SsSetNrpnVabAttr10(short, short, short, VagAtr, short, unsigned char);
  375. procedure dmy_SsSetNrpnVabAttr11(short, short, short, VagAtr, short, unsigned char);
  376. procedure dmy_SsSetNrpnVabAttr12(short, short, short, VagAtr, short, unsigned char);
  377. procedure dmy_SsSetNrpnVabAttr13(short, short, short, VagAtr, short, unsigned char);
  378. procedure dmy_SsSetNrpnVabAttr14(short, short, short, VagAtr, short, unsigned char);
  379. procedure dmy_SsSetNrpnVabAttr15(short, short, short, VagAtr, short, unsigned char);
  380. procedure dmy_SsSetNrpnVabAttr16(short, short, short, VagAtr, short, unsigned char);
  381. procedure dmy_SsSetNrpnVabAttr17(short, short, short, VagAtr, short, unsigned char);
  382. procedure dmy_SsSetNrpnVabAttr18(short, short, short, VagAtr, short, unsigned char);
  383. procedure dmy_SsSetNrpnVabAttr19(short, short, short, VagAtr, short, unsigned char);
  384. _SsFCALL SsFCALL;
  385. procedure jt_SsInit;
  386. begin
  387. // SsFCALL.noteon = (void (*)())_SsNoteOn;
  388. // SsFCALL.programchange = (void (*)())_SsSetProgramChange;
  389. // SsFCALL.metaevent = (void (*)())_SsGetMetaEvent;
  390. // SsFCALL.pitchbend = (void (*)())_SsSetPitchBend;
  391. // SsFCALL.control [CC_NUMBER] = (void (*)())_SsSetControlChange;
  392. // SsFCALL.control [CC_BANKCHANGE] = (void (*)())_SsContBankChange;
  393. // SsFCALL.control [CC_MAINVOL] = (void (*)())_SsContMainVol;
  394. // SsFCALL.control [CC_PANPOT] = (void (*)())_SsContPanpot;
  395. // SsFCALL.control [CC_EXPRESSION] = (void (*)())_SsContExpression;
  396. // SsFCALL.control [CC_DAMPER] = (void (*)())_SsContDamper;
  397. // SsFCALL.control [CC_NRPN1] = (void (*)())_SsContNrpn1;
  398. // SsFCALL.control [CC_NRPN2] = (void (*)())_SsContNrpn2;
  399. // SsFCALL.control [CC_RPN1] = (void (*)())_SsContRpn1;
  400. // SsFCALL.control [CC_RPN2] = (void (*)())_SsContRpn2;
  401. // SsFCALL.control [CC_EXTERNAL] = (void (*)())_SsContExternal;
  402. // SsFCALL.control [CC_RESETALL] = (void (*)())_SsContResetAll;
  403. // SsFCALL.control [CC_DATAENTRY] = (void (*)())_SsContDataEntry;
  404. // SsFCALL.ccentry [DE_PRIORITY] = (void (*)())_SsSetNrpnVabAttr0;
  405. // SsFCALL.ccentry [DE_MODE] = (void (*)())_SsSetNrpnVabAttr1;
  406. // SsFCALL.ccentry [DE_LIMITL] = (void (*)())_SsSetNrpnVabAttr2;
  407. // SsFCALL.ccentry [DE_LIMITH] = (void (*)())_SsSetNrpnVabAttr3;
  408. // SsFCALL.ccentry [DE_ADSR_AR_L] = (void (*)())_SsSetNrpnVabAttr4;
  409. // SsFCALL.ccentry [DE_ADSR_AR_E] = (void (*)())_SsSetNrpnVabAttr5;
  410. // SsFCALL.ccentry [DE_ADSR_DR] = (void (*)())_SsSetNrpnVabAttr6;
  411. // SsFCALL.ccentry [DE_ADSR_SL] = (void (*)())_SsSetNrpnVabAttr7;
  412. // SsFCALL.ccentry [DE_ADSR_SR_L] = (void (*)())_SsSetNrpnVabAttr8;
  413. // SsFCALL.ccentry [DE_ADSR_SR_E] = (void (*)())_SsSetNrpnVabAttr9;
  414. // SsFCALL.ccentry [DE_ADSR_RR_L] = (void (*)())_SsSetNrpnVabAttr10;
  415. // SsFCALL.ccentry [DE_ADSR_RR_E] = (void (*)())_SsSetNrpnVabAttr11;
  416. // SsFCALL.ccentry [DE_ADSR_SR] = (void (*)())_SsSetNrpnVabAttr12;
  417. // SsFCALL.ccentry [DE_VIB_TIME] = (void (*)())_SsSetNrpnVabAttr13;
  418. // SsFCALL.ccentry [DE_PORTA_DEPTH] = (void (*)())_SsSetNrpnVabAttr14;
  419. // SsFCALL.ccentry [DE_REV_TYPE] = (void (*)())_SsSetNrpnVabAttr15;
  420. // SsFCALL.ccentry [DE_REV_DEPTH] = (void (*)())_SsSetNrpnVabAttr16;
  421. // SsFCALL.ccentry [DE_ECHO_FB] = (void (*)())_SsSetNrpnVabAttr17;
  422. // SsFCALL.ccentry [DE_ECHO_DELAY] = (void (*)())_SsSetNrpnVabAttr18;
  423. // SsFCALL.ccentry [DE_DELAY] = (void (*)())_SsSetNrpnVabAttr19;
  424. end;
  425. }
  426. implementation
  427. begin
  428. end.