请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

ESFKAMI

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

ESFX

ESF: Xenoverse

ESF123

ESF1.2.3

EVM2.1

EVM2.1

ECXSSJ

ECX: TeamSSJ

ECX2.2

ECX RC2

ECX2.3

ECX RC3

查看: 87|回复: 0

[MetaHook]Quake FMOD Function

[复制链接]

212

主题

217

帖子

1195

积分

ESFKAMI

Rank: 8Rank: 8

积分
1195
发表于 2018-7-5 02:31:12 | 显示全部楼层 |阅读模式
QFMOD.h

  1. #ifndef QFMOD_H
  2. #define QFMOD_H

  3. #include "fmod.h"

  4. extern FMOD_RESULT (F_API *qFMOD_Memory_Initialize)(void *poolmem, int poollen, FMOD_MEMORY_ALLOCCALLBACK useralloc, FMOD_MEMORY_REALLOCCALLBACK userrealloc, FMOD_MEMORY_FREECALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags);
  5. extern FMOD_RESULT (F_API *qFMOD_Memory_GetStats)(int *currentalloced, int *maxalloced, FMOD_BOOL blocking);
  6. extern FMOD_RESULT (F_API *qFMOD_Debug_SetLevel)(FMOD_DEBUGLEVEL level);
  7. extern FMOD_RESULT (F_API *qFMOD_Debug_GetLevel)(FMOD_DEBUGLEVEL *level);
  8. extern FMOD_RESULT (F_API *qFMOD_File_SetDiskBusy)(int busy);
  9. extern FMOD_RESULT (F_API *qFMOD_File_GetDiskBusy)(int *busy);
  10. extern FMOD_RESULT (F_API *qFMOD_System_Create)(FMOD_SYSTEM **system);
  11. extern FMOD_RESULT (F_API *qFMOD_System_Release)(FMOD_SYSTEM *system);
  12. extern FMOD_RESULT (F_API *qFMOD_System_SetOutput)(FMOD_SYSTEM *system, FMOD_OUTPUTTYPE output);
  13. extern FMOD_RESULT (F_API *qFMOD_System_GetOutput)(FMOD_SYSTEM *system, FMOD_OUTPUTTYPE *output);
  14. extern FMOD_RESULT (F_API *qFMOD_System_GetNumDrivers)(FMOD_SYSTEM *system, int *numdrivers);
  15. extern FMOD_RESULT (F_API *qFMOD_System_GetDriverInfo)(FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid);
  16. extern FMOD_RESULT (F_API *qFMOD_System_GetDriverInfoW)(FMOD_SYSTEM *system, int id, short *name, int namelen, FMOD_GUID *guid);
  17. extern FMOD_RESULT (F_API *qFMOD_System_GetDriverCaps)(FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *controlpaneloutputrate, FMOD_SPEAKERMODE *controlpanelspeakermode);
  18. extern FMOD_RESULT (F_API *qFMOD_System_SetDriver)(FMOD_SYSTEM *system, int driver);
  19. extern FMOD_RESULT (F_API *qFMOD_System_GetDriver)(FMOD_SYSTEM *system, int *driver);
  20. extern FMOD_RESULT (F_API *qFMOD_System_SetHardwareChannels)(FMOD_SYSTEM *system, int numhardwarechannels);
  21. extern FMOD_RESULT (F_API *qFMOD_System_SetSoftwareChannels)(FMOD_SYSTEM *system, int numsoftwarechannels);
  22. extern FMOD_RESULT (F_API *qFMOD_System_GetSoftwareChannels)(FMOD_SYSTEM *system, int *numsoftwarechannels);
  23. extern FMOD_RESULT (F_API *qFMOD_System_SetSoftwareFormat)(FMOD_SYSTEM *system, int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinputchannels, FMOD_DSP_RESAMPLER resamplemethod);
  24. extern FMOD_RESULT (F_API *qFMOD_System_GetSoftwareFormat)(FMOD_SYSTEM *system, int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *maxinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits);
  25. extern FMOD_RESULT (F_API *qFMOD_System_SetDSPBufferSize)(FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers);
  26. extern FMOD_RESULT (F_API *qFMOD_System_GetDSPBufferSize)(FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers);
  27. extern FMOD_RESULT (F_API *qFMOD_System_SetFileSystem)(FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCREADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, int blockalign);
  28. extern FMOD_RESULT (F_API *qFMOD_System_AttachFileSystem)(FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek);
  29. extern FMOD_RESULT (F_API *qFMOD_System_SetAdvancedSettings)(FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings);
  30. extern FMOD_RESULT (F_API *qFMOD_System_GetAdvancedSettings)(FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings);
  31. extern FMOD_RESULT (F_API *qFMOD_System_SetSpeakerMode)(FMOD_SYSTEM *system, FMOD_SPEAKERMODE speakermode);
  32. extern FMOD_RESULT (F_API *qFMOD_System_GetSpeakerMode)(FMOD_SYSTEM *system, FMOD_SPEAKERMODE *speakermode);
  33. extern FMOD_RESULT (F_API *qFMOD_System_SetCallback)(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK callback);
  34. extern FMOD_RESULT (F_API *qFMOD_System_SetPluginPath)(FMOD_SYSTEM *system, const char *path);
  35. extern FMOD_RESULT (F_API *qFMOD_System_LoadPlugin)(FMOD_SYSTEM *system, const char *filename, unsigned int *handle, unsigned int priority);
  36. extern FMOD_RESULT (F_API *qFMOD_System_UnloadPlugin)(FMOD_SYSTEM *system, unsigned int handle);
  37. extern FMOD_RESULT (F_API *qFMOD_System_GetNumPlugins)(FMOD_SYSTEM *system, FMOD_PLUGINTYPE plugintype, int *numplugins);
  38. extern FMOD_RESULT (F_API *qFMOD_System_GetPluginHandle)(FMOD_SYSTEM *system, FMOD_PLUGINTYPE plugintype, int index, unsigned int *handle);
  39. extern FMOD_RESULT (F_API *qFMOD_System_GetPluginInfo)(FMOD_SYSTEM *system, unsigned int handle, FMOD_PLUGINTYPE *plugintype, char *name, int namelen, unsigned int *version);
  40. extern FMOD_RESULT (F_API *qFMOD_System_SetOutputByPlugin)(FMOD_SYSTEM *system, unsigned int handle);
  41. extern FMOD_RESULT (F_API *qFMOD_System_GetOutputByPlugin)(FMOD_SYSTEM *system, unsigned int *handle);
  42. extern FMOD_RESULT (F_API *qFMOD_System_CreateDSPByPlugin)(FMOD_SYSTEM *system, unsigned int handle, FMOD_DSP **dsp);
  43. extern FMOD_RESULT (F_API *qFMOD_System_RegisterCodec)(FMOD_SYSTEM *system, FMOD_CODEC_DESCRIPTION *description, unsigned int *handle, unsigned int priority);
  44. extern FMOD_RESULT (F_API *qFMOD_System_RegisterDSP)(FMOD_SYSTEM *system, FMOD_DSP_DESCRIPTION *description, unsigned int *handle);
  45. extern FMOD_RESULT (F_API *qFMOD_System_Init)(FMOD_SYSTEM *system, int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata);
  46. extern FMOD_RESULT (F_API *qFMOD_System_Close)(FMOD_SYSTEM *system);
  47. extern FMOD_RESULT (F_API *qFMOD_System_Update)(FMOD_SYSTEM *system);
  48. extern FMOD_RESULT (F_API *qFMOD_System_Set3DSettings)(FMOD_SYSTEM *system, float dopplerscale, float distancefactor, float rolloffscale);
  49. extern FMOD_RESULT (F_API *qFMOD_System_Get3DSettings)(FMOD_SYSTEM *system, float *dopplerscale, float *distancefactor, float *rolloffscale);
  50. extern FMOD_RESULT (F_API *qFMOD_System_Set3DNumListeners)(FMOD_SYSTEM *system, int numlisteners);
  51. extern FMOD_RESULT (F_API *qFMOD_System_Get3DNumListeners)(FMOD_SYSTEM *system, int *numlisteners);
  52. extern FMOD_RESULT (F_API *qFMOD_System_Set3DListenerAttributes)(FMOD_SYSTEM *system, int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up);
  53. extern FMOD_RESULT (F_API *qFMOD_System_Get3DListenerAttributes)(FMOD_SYSTEM *system, int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTOR *forward, FMOD_VECTOR *up);
  54. extern FMOD_RESULT (F_API *qFMOD_System_Set3DRolloffCallback)(FMOD_SYSTEM *system, FMOD_3D_ROLLOFFCALLBACK callback);
  55. extern FMOD_RESULT (F_API *qFMOD_System_Set3DSpeakerPosition)(FMOD_SYSTEM *system, FMOD_SPEAKER speaker, float x, float y, FMOD_BOOL active);
  56. extern FMOD_RESULT (F_API *qFMOD_System_Get3DSpeakerPosition)(FMOD_SYSTEM *system, FMOD_SPEAKER speaker, float *x, float *y, FMOD_BOOL *active);
  57. extern FMOD_RESULT (F_API *qFMOD_System_SetStreamBufferSize)(FMOD_SYSTEM *system, unsigned int filebuffersize, FMOD_TIMEUNIT filebuffersizetype);
  58. extern FMOD_RESULT (F_API *qFMOD_System_GetStreamBufferSize)(FMOD_SYSTEM *system, unsigned int *filebuffersize, FMOD_TIMEUNIT *filebuffersizetype);
  59. extern FMOD_RESULT (F_API *qFMOD_System_GetVersion)(FMOD_SYSTEM *system, unsigned int *version);
  60. extern FMOD_RESULT (F_API *qFMOD_System_GetOutputHandle)(FMOD_SYSTEM *system, void **handle);
  61. extern FMOD_RESULT (F_API *qFMOD_System_GetChannelsPlaying)(FMOD_SYSTEM *system, int *channels);
  62. extern FMOD_RESULT (F_API *qFMOD_System_GetHardwareChannels)(FMOD_SYSTEM *system, int *numhardwarechannels);
  63. extern FMOD_RESULT (F_API *qFMOD_System_GetCPUUsage)(FMOD_SYSTEM *system, float *dsp, float *stream, float *geometry, float *update, float *total);
  64. extern FMOD_RESULT (F_API *qFMOD_System_GetSoundRAM)(FMOD_SYSTEM *system, int *currentalloced, int *maxalloced, int *total);
  65. extern FMOD_RESULT (F_API *qFMOD_System_GetNumCDROMDrives)(FMOD_SYSTEM *system, int *numdrives);
  66. extern FMOD_RESULT (F_API *qFMOD_System_GetCDROMDriveName)(FMOD_SYSTEM *system, int drive, char *drivename, int drivenamelen, char *scsiname, int scsinamelen, char *devicename, int devicenamelen);
  67. extern FMOD_RESULT (F_API *qFMOD_System_GetSpectrum)(FMOD_SYSTEM *system, float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype);
  68. extern FMOD_RESULT (F_API *qFMOD_System_GetWaveData)(FMOD_SYSTEM *system, float *wavearray, int numvalues, int channeloffset);
  69. extern FMOD_RESULT (F_API *qFMOD_System_CreateSound)(FMOD_SYSTEM *system, const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, FMOD_SOUND **sound);
  70. extern FMOD_RESULT (F_API *qFMOD_System_CreateStream)(FMOD_SYSTEM *system, const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, FMOD_SOUND **sound);
  71. extern FMOD_RESULT (F_API *qFMOD_System_CreateDSP)(FMOD_SYSTEM *system, FMOD_DSP_DESCRIPTION *description, FMOD_DSP **dsp);
  72. extern FMOD_RESULT (F_API *qFMOD_System_CreateDSPByType)(FMOD_SYSTEM *system, FMOD_DSP_TYPE type, FMOD_DSP **dsp);
  73. extern FMOD_RESULT (F_API *qFMOD_System_CreateChannelGroup)(FMOD_SYSTEM *system, const char *name, FMOD_CHANNELGROUP **channelgroup);
  74. extern FMOD_RESULT (F_API *qFMOD_System_CreateSoundGroup)(FMOD_SYSTEM *system, const char *name, FMOD_SOUNDGROUP **soundgroup);
  75. extern FMOD_RESULT (F_API *qFMOD_System_CreateReverb)(FMOD_SYSTEM *system, FMOD_REVERB **reverb);
  76. extern FMOD_RESULT (F_API *qFMOD_System_PlaySound)(FMOD_SYSTEM *system, FMOD_CHANNELINDEX channelid, FMOD_SOUND *sound, FMOD_BOOL paused, FMOD_CHANNEL **channel);
  77. extern FMOD_RESULT (F_API *qFMOD_System_PlayDSP)(FMOD_SYSTEM *system, FMOD_CHANNELINDEX channelid, FMOD_DSP *dsp, FMOD_BOOL paused, FMOD_CHANNEL **channel);
  78. extern FMOD_RESULT (F_API *qFMOD_System_GetChannel)(FMOD_SYSTEM *system, int channelid, FMOD_CHANNEL **channel);
  79. extern FMOD_RESULT (F_API *qFMOD_System_GetMasterChannelGroup)(FMOD_SYSTEM *system, FMOD_CHANNELGROUP **channelgroup);
  80. extern FMOD_RESULT (F_API *qFMOD_System_GetMasterSoundGroup)(FMOD_SYSTEM *system, FMOD_SOUNDGROUP **soundgroup);
  81. extern FMOD_RESULT (F_API *qFMOD_System_SetReverbProperties)(FMOD_SYSTEM *system, const FMOD_REVERB_PROPERTIES *prop);
  82. extern FMOD_RESULT (F_API *qFMOD_System_GetReverbProperties)(FMOD_SYSTEM *system, FMOD_REVERB_PROPERTIES *prop);
  83. extern FMOD_RESULT (F_API *qFMOD_System_SetReverbAmbientProperties)(FMOD_SYSTEM *system, FMOD_REVERB_PROPERTIES *prop);
  84. extern FMOD_RESULT (F_API *qFMOD_System_GetReverbAmbientProperties)(FMOD_SYSTEM *system, FMOD_REVERB_PROPERTIES *prop);
  85. extern FMOD_RESULT (F_API *qFMOD_System_GetDSPHead)(FMOD_SYSTEM *system, FMOD_DSP **dsp);
  86. extern FMOD_RESULT (F_API *qFMOD_System_AddDSP)(FMOD_SYSTEM *system, FMOD_DSP *dsp, FMOD_DSPCONNECTION **connection);
  87. extern FMOD_RESULT (F_API *qFMOD_System_LockDSP)(FMOD_SYSTEM *system);
  88. extern FMOD_RESULT (F_API *qFMOD_System_UnlockDSP)(FMOD_SYSTEM *system);
  89. extern FMOD_RESULT (F_API *qFMOD_System_GetDSPClock)(FMOD_SYSTEM *system, unsigned int *hi, unsigned int *lo);
  90. extern FMOD_RESULT (F_API *qFMOD_System_GetRecordNumDrivers)(FMOD_SYSTEM *system, int *numdrivers);
  91. extern FMOD_RESULT (F_API *qFMOD_System_GetRecordDriverInfo)(FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid);
  92. extern FMOD_RESULT (F_API *qFMOD_System_GetRecordDriverInfoW)(FMOD_SYSTEM *system, int id, short *name, int namelen, FMOD_GUID *guid);
  93. extern FMOD_RESULT (F_API *qFMOD_System_GetRecordDriverCaps)(FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency);
  94. extern FMOD_RESULT (F_API *qFMOD_System_GetRecordPosition)(FMOD_SYSTEM *system, int id, unsigned int *position);
  95. extern FMOD_RESULT (F_API *qFMOD_System_RecordStart)(FMOD_SYSTEM *system, int id, FMOD_SOUND *sound, FMOD_BOOL loop);
  96. extern FMOD_RESULT (F_API *qFMOD_System_RecordStop)(FMOD_SYSTEM *system, int id);
  97. extern FMOD_RESULT (F_API *qFMOD_System_IsRecording)(FMOD_SYSTEM *system, int id, FMOD_BOOL *recording);
  98. extern FMOD_RESULT (F_API *qFMOD_System_CreateGeometry)(FMOD_SYSTEM *system, int maxpolygons, int maxvertices, FMOD_GEOMETRY **geometry);
  99. extern FMOD_RESULT (F_API *qFMOD_System_SetGeometrySettings)(FMOD_SYSTEM *system, float maxworldsize);
  100. extern FMOD_RESULT (F_API *qFMOD_System_GetGeometrySettings)(FMOD_SYSTEM *system, float *maxworldsize);
  101. extern FMOD_RESULT (F_API *qFMOD_System_LoadGeometry)(FMOD_SYSTEM *system, const void *data, int datasize, FMOD_GEOMETRY **geometry);
  102. extern FMOD_RESULT (F_API *qFMOD_System_GetGeometryOcclusion)(FMOD_SYSTEM *system, const FMOD_VECTOR *listener, const FMOD_VECTOR *source, float *direct, float *reverb);
  103. extern FMOD_RESULT (F_API *qFMOD_System_SetNetworkProxy)(FMOD_SYSTEM *system, const char *proxy);
  104. extern FMOD_RESULT (F_API *qFMOD_System_GetNetworkProxy)(FMOD_SYSTEM *system, char *proxy, int proxylen);
  105. extern FMOD_RESULT (F_API *qFMOD_System_SetNetworkTimeout)(FMOD_SYSTEM *system, int timeout);
  106. extern FMOD_RESULT (F_API *qFMOD_System_GetNetworkTimeout)(FMOD_SYSTEM *system, int *timeout);
  107. extern FMOD_RESULT (F_API *qFMOD_System_SetUserData)(FMOD_SYSTEM *system, void *userdata);
  108. extern FMOD_RESULT (F_API *qFMOD_System_GetUserData)(FMOD_SYSTEM *system, void **userdata);
  109. extern FMOD_RESULT (F_API *qFMOD_System_GetMemoryInfo)(FMOD_SYSTEM *system, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  110. extern FMOD_RESULT (F_API *qFMOD_Sound_Release)(FMOD_SOUND *sound);
  111. extern FMOD_RESULT (F_API *qFMOD_Sound_GetSystemObject)(FMOD_SOUND *sound, FMOD_SYSTEM **system);
  112. extern FMOD_RESULT (F_API *qFMOD_Sound_Lock)(FMOD_SOUND *sound, unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2);
  113. extern FMOD_RESULT (F_API *qFMOD_Sound_Unlock)(FMOD_SOUND *sound, void *ptr1, void *ptr2, unsigned int len1, unsigned int len2);
  114. extern FMOD_RESULT (F_API *qFMOD_Sound_SetDefaults)(FMOD_SOUND *sound, float frequency, float volume, float pan, int priority);
  115. extern FMOD_RESULT (F_API *qFMOD_Sound_GetDefaults)(FMOD_SOUND *sound, float *frequency, float *volume, float *pan, int *priority);
  116. extern FMOD_RESULT (F_API *qFMOD_Sound_SetVariations)(FMOD_SOUND *sound, float frequencyvar, float volumevar, float panvar);
  117. extern FMOD_RESULT (F_API *qFMOD_Sound_GetVariations)(FMOD_SOUND *sound, float *frequencyvar, float *volumevar, float *panvar);
  118. extern FMOD_RESULT (F_API *qFMOD_Sound_Set3DMinMaxDistance)(FMOD_SOUND *sound, float min, float max);
  119. extern FMOD_RESULT (F_API *qFMOD_Sound_Get3DMinMaxDistance)(FMOD_SOUND *sound, float *min, float *max);
  120. extern FMOD_RESULT (F_API *qFMOD_Sound_Set3DConeSettings)(FMOD_SOUND *sound, float insideconeangle, float outsideconeangle, float outsidevolume);
  121. extern FMOD_RESULT (F_API *qFMOD_Sound_Get3DConeSettings)(FMOD_SOUND *sound, float *insideconeangle, float *outsideconeangle, float *outsidevolume);
  122. extern FMOD_RESULT (F_API *qFMOD_Sound_Set3DCustomRolloff)(FMOD_SOUND *sound, FMOD_VECTOR *points, int numpoints);
  123. extern FMOD_RESULT (F_API *qFMOD_Sound_Get3DCustomRolloff)(FMOD_SOUND *sound, FMOD_VECTOR **points, int *numpoints);
  124. extern FMOD_RESULT (F_API *qFMOD_Sound_SetSubSound)(FMOD_SOUND *sound, int index, FMOD_SOUND *subsound);
  125. extern FMOD_RESULT (F_API *qFMOD_Sound_GetSubSound)(FMOD_SOUND *sound, int index, FMOD_SOUND **subsound);
  126. extern FMOD_RESULT (F_API *qFMOD_Sound_GetSubSoundParent)(FMOD_SOUND *sound, FMOD_SOUND **parentsound);
  127. extern FMOD_RESULT (F_API *qFMOD_Sound_SetSubSoundSentence)(FMOD_SOUND *sound, int *subsoundlist, int numsubsounds);
  128. extern FMOD_RESULT (F_API *qFMOD_Sound_GetName)(FMOD_SOUND *sound, char *name, int namelen);
  129. extern FMOD_RESULT (F_API *qFMOD_Sound_GetLength)(FMOD_SOUND *sound, unsigned int *length, FMOD_TIMEUNIT lengthtype);
  130. extern FMOD_RESULT (F_API *qFMOD_Sound_GetFormat)(FMOD_SOUND *sound, FMOD_SOUND_TYPE *type, FMOD_SOUND_FORMAT *format, int *channels, int *bits);
  131. extern FMOD_RESULT (F_API *qFMOD_Sound_GetNumSubSounds)(FMOD_SOUND *sound, int *numsubsounds);
  132. extern FMOD_RESULT (F_API *qFMOD_Sound_GetNumTags)(FMOD_SOUND *sound, int *numtags, int *numtagsupdated);
  133. extern FMOD_RESULT (F_API *qFMOD_Sound_GetTag)(FMOD_SOUND *sound, const char *name, int index, FMOD_TAG *tag);
  134. extern FMOD_RESULT (F_API *qFMOD_Sound_GetOpenState)(FMOD_SOUND *sound, FMOD_OPENSTATE *openstate, unsigned int *percentbuffered, FMOD_BOOL *starving, FMOD_BOOL *diskbusy);
  135. extern FMOD_RESULT (F_API *qFMOD_Sound_ReadData)(FMOD_SOUND *sound, void *buffer, unsigned int lenbytes, unsigned int *read);
  136. extern FMOD_RESULT (F_API *qFMOD_Sound_SeekData)(FMOD_SOUND *sound, unsigned int pcm);
  137. extern FMOD_RESULT (F_API *qFMOD_Sound_SetSoundGroup)(FMOD_SOUND *sound, FMOD_SOUNDGROUP *soundgroup);
  138. extern FMOD_RESULT (F_API *qFMOD_Sound_GetSoundGroup)(FMOD_SOUND *sound, FMOD_SOUNDGROUP **soundgroup);
  139. extern FMOD_RESULT (F_API *qFMOD_Sound_GetNumSyncPoints)(FMOD_SOUND *sound, int *numsyncpoints);
  140. extern FMOD_RESULT (F_API *qFMOD_Sound_GetSyncPoint)(FMOD_SOUND *sound, int index, FMOD_SYNCPOINT **point);
  141. extern FMOD_RESULT (F_API *qFMOD_Sound_GetSyncPointInfo)(FMOD_SOUND *sound, FMOD_SYNCPOINT *point, char *name, int namelen, unsigned int *offset, FMOD_TIMEUNIT offsettype);
  142. extern FMOD_RESULT (F_API *qFMOD_Sound_AddSyncPoint)(FMOD_SOUND *sound, unsigned int offset, FMOD_TIMEUNIT offsettype, const char *name, FMOD_SYNCPOINT **point);
  143. extern FMOD_RESULT (F_API *qFMOD_Sound_DeleteSyncPoint)(FMOD_SOUND *sound, FMOD_SYNCPOINT *point);
  144. extern FMOD_RESULT (F_API *qFMOD_Sound_SetMode)(FMOD_SOUND *sound, FMOD_MODE mode);
  145. extern FMOD_RESULT (F_API *qFMOD_Sound_GetMode)(FMOD_SOUND *sound, FMOD_MODE *mode);
  146. extern FMOD_RESULT (F_API *qFMOD_Sound_SetLoopCount)(FMOD_SOUND *sound, int loopcount);
  147. extern FMOD_RESULT (F_API *qFMOD_Sound_GetLoopCount)(FMOD_SOUND *sound, int *loopcount);
  148. extern FMOD_RESULT (F_API *qFMOD_Sound_SetLoopPoints)(FMOD_SOUND *sound, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype);
  149. extern FMOD_RESULT (F_API *qFMOD_Sound_GetLoopPoints)(FMOD_SOUND *sound, unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype);
  150. extern FMOD_RESULT (F_API *qFMOD_Sound_GetMusicNumChannels)(FMOD_SOUND *sound, int *numchannels);
  151. extern FMOD_RESULT (F_API *qFMOD_Sound_SetMusicChannelVolume)(FMOD_SOUND *sound, int channel, float volume);
  152. extern FMOD_RESULT (F_API *qFMOD_Sound_GetMusicChannelVolume)(FMOD_SOUND *sound, int channel, float *volume);
  153. extern FMOD_RESULT (F_API *qFMOD_Sound_SetMusicSpeed)(FMOD_SOUND *sound, float speed);
  154. extern FMOD_RESULT (F_API *qFMOD_Sound_GetMusicSpeed)(FMOD_SOUND *sound, float *speed);
  155. extern FMOD_RESULT (F_API *qFMOD_Sound_SetUserData)(FMOD_SOUND *sound, void *userdata);
  156. extern FMOD_RESULT (F_API *qFMOD_Sound_GetUserData)(FMOD_SOUND *sound, void **userdata);
  157. extern FMOD_RESULT (F_API *qFMOD_Sound_GetMemoryInfo)(FMOD_SOUND *sound, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  158. extern FMOD_RESULT (F_API *qFMOD_Channel_GetSystemObject)(FMOD_CHANNEL *channel, FMOD_SYSTEM **system);
  159. extern FMOD_RESULT (F_API *qFMOD_Channel_Stop)(FMOD_CHANNEL *channel);
  160. extern FMOD_RESULT (F_API *qFMOD_Channel_SetPaused)(FMOD_CHANNEL *channel, FMOD_BOOL paused);
  161. extern FMOD_RESULT (F_API *qFMOD_Channel_GetPaused)(FMOD_CHANNEL *channel, FMOD_BOOL *paused);
  162. extern FMOD_RESULT (F_API *qFMOD_Channel_SetVolume)(FMOD_CHANNEL *channel, float volume);
  163. extern FMOD_RESULT (F_API *qFMOD_Channel_GetVolume)(FMOD_CHANNEL *channel, float *volume);
  164. extern FMOD_RESULT (F_API *qFMOD_Channel_SetFrequency)(FMOD_CHANNEL *channel, float frequency);
  165. extern FMOD_RESULT (F_API *qFMOD_Channel_GetFrequency)(FMOD_CHANNEL *channel, float *frequency);
  166. extern FMOD_RESULT (F_API *qFMOD_Channel_SetPan)(FMOD_CHANNEL *channel, float pan);
  167. extern FMOD_RESULT (F_API *qFMOD_Channel_GetPan)(FMOD_CHANNEL *channel, float *pan);
  168. extern FMOD_RESULT (F_API *qFMOD_Channel_SetDelay)(FMOD_CHANNEL *channel, FMOD_DELAYTYPE delaytype, unsigned int delayhi, unsigned int delaylo);
  169. extern FMOD_RESULT (F_API *qFMOD_Channel_GetDelay)(FMOD_CHANNEL *channel, FMOD_DELAYTYPE delaytype, unsigned int *delayhi, unsigned int *delaylo);
  170. extern FMOD_RESULT (F_API *qFMOD_Channel_SetSpeakerMix)(FMOD_CHANNEL *channel, float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright);
  171. extern FMOD_RESULT (F_API *qFMOD_Channel_GetSpeakerMix)(FMOD_CHANNEL *channel, float *frontleft, float *frontright, float *center, float *lfe, float *backleft, float *backright, float *sideleft, float *sideright);
  172. extern FMOD_RESULT (F_API *qFMOD_Channel_SetSpeakerLevels)(FMOD_CHANNEL *channel, FMOD_SPEAKER speaker, float *levels, int numlevels);
  173. extern FMOD_RESULT (F_API *qFMOD_Channel_GetSpeakerLevels)(FMOD_CHANNEL *channel, FMOD_SPEAKER speaker, float *levels, int numlevels);
  174. extern FMOD_RESULT (F_API *qFMOD_Channel_SetInputChannelMix)(FMOD_CHANNEL *channel, float *levels, int numlevels);
  175. extern FMOD_RESULT (F_API *qFMOD_Channel_GetInputChannelMix)(FMOD_CHANNEL *channel, float *levels, int numlevels);
  176. extern FMOD_RESULT (F_API *qFMOD_Channel_SetMute)(FMOD_CHANNEL *channel, FMOD_BOOL mute);
  177. extern FMOD_RESULT (F_API *qFMOD_Channel_GetMute)(FMOD_CHANNEL *channel, FMOD_BOOL *mute);
  178. extern FMOD_RESULT (F_API *qFMOD_Channel_SetPriority)(FMOD_CHANNEL *channel, int priority);
  179. extern FMOD_RESULT (F_API *qFMOD_Channel_GetPriority)(FMOD_CHANNEL *channel, int *priority);
  180. extern FMOD_RESULT (F_API *qFMOD_Channel_SetPosition)(FMOD_CHANNEL *channel, unsigned int position, FMOD_TIMEUNIT postype);
  181. extern FMOD_RESULT (F_API *qFMOD_Channel_GetPosition)(FMOD_CHANNEL *channel, unsigned int *position, FMOD_TIMEUNIT postype);
  182. extern FMOD_RESULT (F_API *qFMOD_Channel_SetReverbProperties)(FMOD_CHANNEL *channel, const FMOD_REVERB_CHANNELPROPERTIES *prop);
  183. extern FMOD_RESULT (F_API *qFMOD_Channel_GetReverbProperties)(FMOD_CHANNEL *channel, FMOD_REVERB_CHANNELPROPERTIES *prop);
  184. extern FMOD_RESULT (F_API *qFMOD_Channel_SetLowPassGain)(FMOD_CHANNEL *channel, float gain);
  185. extern FMOD_RESULT (F_API *qFMOD_Channel_GetLowPassGain)(FMOD_CHANNEL *channel, float *gain);
  186. extern FMOD_RESULT (F_API *qFMOD_Channel_SetChannelGroup)(FMOD_CHANNEL *channel, FMOD_CHANNELGROUP *channelgroup);
  187. extern FMOD_RESULT (F_API *qFMOD_Channel_GetChannelGroup)(FMOD_CHANNEL *channel, FMOD_CHANNELGROUP **channelgroup);
  188. extern FMOD_RESULT (F_API *qFMOD_Channel_SetCallback)(FMOD_CHANNEL *channel, FMOD_CHANNEL_CALLBACK callback);
  189. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DAttributes)(FMOD_CHANNEL *channel, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel);
  190. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DAttributes)(FMOD_CHANNEL *channel, FMOD_VECTOR *pos, FMOD_VECTOR *vel);
  191. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DMinMaxDistance)(FMOD_CHANNEL *channel, float mindistance, float maxdistance);
  192. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DMinMaxDistance)(FMOD_CHANNEL *channel, float *mindistance, float *maxdistance);
  193. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DConeSettings)(FMOD_CHANNEL *channel, float insideconeangle, float outsideconeangle, float outsidevolume);
  194. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DConeSettings)(FMOD_CHANNEL *channel, float *insideconeangle, float *outsideconeangle, float *outsidevolume);
  195. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DConeOrientation)(FMOD_CHANNEL *channel, FMOD_VECTOR *orientation);
  196. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DConeOrientation)(FMOD_CHANNEL *channel, FMOD_VECTOR *orientation);
  197. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DCustomRolloff)(FMOD_CHANNEL *channel, FMOD_VECTOR *points, int numpoints);
  198. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DCustomRolloff)(FMOD_CHANNEL *channel, FMOD_VECTOR **points, int *numpoints);
  199. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DOcclusion)(FMOD_CHANNEL *channel, float directocclusion, float reverbocclusion);
  200. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DOcclusion)(FMOD_CHANNEL *channel, float *directocclusion, float *reverbocclusion);
  201. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DSpread)(FMOD_CHANNEL *channel, float angle);
  202. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DSpread)(FMOD_CHANNEL *channel, float *angle);
  203. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DPanLevel)(FMOD_CHANNEL *channel, float level);
  204. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DPanLevel)(FMOD_CHANNEL *channel, float *level);
  205. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DDopplerLevel)(FMOD_CHANNEL *channel, float level);
  206. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DDopplerLevel)(FMOD_CHANNEL *channel, float *level);
  207. extern FMOD_RESULT (F_API *qFMOD_Channel_Set3DDistanceFilter)(FMOD_CHANNEL *channel, FMOD_BOOL custom, float customLevel, float centerFreq);
  208. extern FMOD_RESULT (F_API *qFMOD_Channel_Get3DDistanceFilter)(FMOD_CHANNEL *channel, FMOD_BOOL *custom, float *customLevel, float *centerFreq);
  209. extern FMOD_RESULT (F_API *qFMOD_Channel_GetDSPHead)(FMOD_CHANNEL *channel, FMOD_DSP **dsp);
  210. extern FMOD_RESULT (F_API *qFMOD_Channel_AddDSP)(FMOD_CHANNEL *channel, FMOD_DSP *dsp, FMOD_DSPCONNECTION **connection);
  211. extern FMOD_RESULT (F_API *qFMOD_Channel_IsPlaying)(FMOD_CHANNEL *channel, FMOD_BOOL *isplaying);
  212. extern FMOD_RESULT (F_API *qFMOD_Channel_IsVirtual)(FMOD_CHANNEL *channel, FMOD_BOOL *isvirtual);
  213. extern FMOD_RESULT (F_API *qFMOD_Channel_GetAudibility)(FMOD_CHANNEL *channel, float *audibility);
  214. extern FMOD_RESULT (F_API *qFMOD_Channel_GetCurrentSound)(FMOD_CHANNEL *channel, FMOD_SOUND **sound);
  215. extern FMOD_RESULT (F_API *qFMOD_Channel_GetSpectrum)(FMOD_CHANNEL *channel, float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype);
  216. extern FMOD_RESULT (F_API *qFMOD_Channel_GetWaveData)(FMOD_CHANNEL *channel, float *wavearray, int numvalues, int channeloffset);
  217. extern FMOD_RESULT (F_API *qFMOD_Channel_GetIndex)(FMOD_CHANNEL *channel, int *index);
  218. extern FMOD_RESULT (F_API *qFMOD_Channel_SetMode)(FMOD_CHANNEL *channel, FMOD_MODE mode);
  219. extern FMOD_RESULT (F_API *qFMOD_Channel_GetMode)(FMOD_CHANNEL *channel, FMOD_MODE *mode);
  220. extern FMOD_RESULT (F_API *qFMOD_Channel_SetLoopCount)(FMOD_CHANNEL *channel, int loopcount);
  221. extern FMOD_RESULT (F_API *qFMOD_Channel_GetLoopCount)(FMOD_CHANNEL *channel, int *loopcount);
  222. extern FMOD_RESULT (F_API *qFMOD_Channel_SetLoopPoints)(FMOD_CHANNEL *channel, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype);
  223. extern FMOD_RESULT (F_API *qFMOD_Channel_GetLoopPoints)(FMOD_CHANNEL *channel, unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype);
  224. extern FMOD_RESULT (F_API *qFMOD_Channel_SetUserData)(FMOD_CHANNEL *channel, void *userdata);
  225. extern FMOD_RESULT (F_API *qFMOD_Channel_GetUserData)(FMOD_CHANNEL *channel, void **userdata);
  226. extern FMOD_RESULT (F_API *qFMOD_Channel_GetMemoryInfo)(FMOD_CHANNEL *channel, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  227. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_Release)(FMOD_CHANNELGROUP *channelgroup);
  228. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetSystemObject)(FMOD_CHANNELGROUP *channelgroup, FMOD_SYSTEM **system);
  229. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetVolume)(FMOD_CHANNELGROUP *channelgroup, float volume);
  230. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetVolume)(FMOD_CHANNELGROUP *channelgroup, float *volume);
  231. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetPitch)(FMOD_CHANNELGROUP *channelgroup, float pitch);
  232. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetPitch)(FMOD_CHANNELGROUP *channelgroup, float *pitch);
  233. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_Set3DOcclusion)(FMOD_CHANNELGROUP *channelgroup, float directocclusion, float reverbocclusion);
  234. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_Get3DOcclusion)(FMOD_CHANNELGROUP *channelgroup, float *directocclusion, float *reverbocclusion);
  235. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetPaused)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL paused);
  236. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetPaused)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *paused);
  237. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetMute)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL mute);
  238. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetMute)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *mute);
  239. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_Stop)(FMOD_CHANNELGROUP *channelgroup);
  240. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideVolume)(FMOD_CHANNELGROUP *channelgroup, float volume);
  241. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideFrequency)(FMOD_CHANNELGROUP *channelgroup, float frequency);
  242. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverridePan)(FMOD_CHANNELGROUP *channelgroup, float pan);
  243. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideReverbProperties)(FMOD_CHANNELGROUP *channelgroup, const FMOD_REVERB_CHANNELPROPERTIES *prop);
  244. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_Override3DAttributes)(FMOD_CHANNELGROUP *channelgroup, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel);
  245. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideSpeakerMix)(FMOD_CHANNELGROUP *channelgroup, float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright);
  246. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_AddGroup)(FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELGROUP *group);
  247. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetNumGroups)(FMOD_CHANNELGROUP *channelgroup, int *numgroups);
  248. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetGroup)(FMOD_CHANNELGROUP *channelgroup, int index, FMOD_CHANNELGROUP **group);
  249. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetParentGroup)(FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELGROUP **group);
  250. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetDSPHead)(FMOD_CHANNELGROUP *channelgroup, FMOD_DSP **dsp);
  251. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_AddDSP)(FMOD_CHANNELGROUP *channelgroup, FMOD_DSP *dsp, FMOD_DSPCONNECTION **connection);
  252. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetName)(FMOD_CHANNELGROUP *channelgroup, char *name, int namelen);
  253. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetNumChannels)(FMOD_CHANNELGROUP *channelgroup, int *numchannels);
  254. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetChannel)(FMOD_CHANNELGROUP *channelgroup, int index, FMOD_CHANNEL **channel);
  255. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetSpectrum)(FMOD_CHANNELGROUP *channelgroup, float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype);
  256. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetWaveData)(FMOD_CHANNELGROUP *channelgroup, float *wavearray, int numvalues, int channeloffset);
  257. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetUserData)(FMOD_CHANNELGROUP *channelgroup, void *userdata);
  258. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetUserData)(FMOD_CHANNELGROUP *channelgroup, void **userdata);
  259. extern FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetMemoryInfo)(FMOD_CHANNELGROUP *channelgroup, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  260. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_Release)(FMOD_SOUNDGROUP *soundgroup);
  261. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetSystemObject)(FMOD_SOUNDGROUP *soundgroup, FMOD_SYSTEM **system);
  262. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_SetMaxAudible)(FMOD_SOUNDGROUP *soundgroup, int maxaudible);
  263. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMaxAudible)(FMOD_SOUNDGROUP *soundgroup, int *maxaudible);
  264. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_SetMaxAudibleBehavior)(FMOD_SOUNDGROUP *soundgroup, FMOD_SOUNDGROUP_BEHAVIOR behavior);
  265. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMaxAudibleBehavior)(FMOD_SOUNDGROUP *soundgroup, FMOD_SOUNDGROUP_BEHAVIOR *behavior);
  266. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_SetMuteFadeSpeed)(FMOD_SOUNDGROUP *soundgroup, float speed);
  267. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMuteFadeSpeed)(FMOD_SOUNDGROUP *soundgroup, float *speed);
  268. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_SetVolume)(FMOD_SOUNDGROUP *soundgroup, float volume);
  269. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetVolume)(FMOD_SOUNDGROUP *soundgroup, float *volume);
  270. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_Stop)(FMOD_SOUNDGROUP *soundgroup);
  271. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetName)(FMOD_SOUNDGROUP *soundgroup, char *name, int namelen);
  272. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetNumSounds)(FMOD_SOUNDGROUP *soundgroup, int *numsounds);
  273. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetSound)(FMOD_SOUNDGROUP *soundgroup, int index, FMOD_SOUND **sound);
  274. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetNumPlaying)(FMOD_SOUNDGROUP *soundgroup, int *numplaying);
  275. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_SetUserData)(FMOD_SOUNDGROUP *soundgroup, void *userdata);
  276. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetUserData)(FMOD_SOUNDGROUP *soundgroup, void **userdata);
  277. extern FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMemoryInfo)(FMOD_SOUNDGROUP *soundgroup, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  278. extern FMOD_RESULT (F_API *qFMOD_DSP_Release)(FMOD_DSP *dsp);
  279. extern FMOD_RESULT (F_API *qFMOD_DSP_GetSystemObject)(FMOD_DSP *dsp, FMOD_SYSTEM **system);
  280. extern FMOD_RESULT (F_API *qFMOD_DSP_AddInput)(FMOD_DSP *dsp, FMOD_DSP *target, FMOD_DSPCONNECTION **connection);
  281. extern FMOD_RESULT (F_API *qFMOD_DSP_DisconnectFrom)(FMOD_DSP *dsp, FMOD_DSP *target);
  282. extern FMOD_RESULT (F_API *qFMOD_DSP_DisconnectAll)(FMOD_DSP *dsp, FMOD_BOOL inputs, FMOD_BOOL outputs);
  283. extern FMOD_RESULT (F_API *qFMOD_DSP_Remove)(FMOD_DSP *dsp);
  284. extern FMOD_RESULT (F_API *qFMOD_DSP_GetNumInputs)(FMOD_DSP *dsp, int *numinputs);
  285. extern FMOD_RESULT (F_API *qFMOD_DSP_GetNumOutputs)(FMOD_DSP *dsp, int *numoutputs);
  286. extern FMOD_RESULT (F_API *qFMOD_DSP_GetInput)(FMOD_DSP *dsp, int index, FMOD_DSP **input, FMOD_DSPCONNECTION **inputconnection);
  287. extern FMOD_RESULT (F_API *qFMOD_DSP_GetOutput)(FMOD_DSP *dsp, int index, FMOD_DSP **output, FMOD_DSPCONNECTION **outputconnection);
  288. extern FMOD_RESULT (F_API *qFMOD_DSP_SetActive)(FMOD_DSP *dsp, FMOD_BOOL active);
  289. extern FMOD_RESULT (F_API *qFMOD_DSP_GetActive)(FMOD_DSP *dsp, FMOD_BOOL *active);
  290. extern FMOD_RESULT (F_API *qFMOD_DSP_SetBypass)(FMOD_DSP *dsp, FMOD_BOOL bypass);
  291. extern FMOD_RESULT (F_API *qFMOD_DSP_GetBypass)(FMOD_DSP *dsp, FMOD_BOOL *bypass);
  292. extern FMOD_RESULT (F_API *qFMOD_DSP_SetSpeakerActive)(FMOD_DSP *dsp, FMOD_SPEAKER speaker, FMOD_BOOL active);
  293. extern FMOD_RESULT (F_API *qFMOD_DSP_GetSpeakerActive)(FMOD_DSP *dsp, FMOD_SPEAKER speaker, FMOD_BOOL *active);
  294. extern FMOD_RESULT (F_API *qFMOD_DSP_Reset)(FMOD_DSP *dsp);
  295. extern FMOD_RESULT (F_API *qFMOD_DSP_SetParameter)(FMOD_DSP *dsp, int index, float value);
  296. extern FMOD_RESULT (F_API *qFMOD_DSP_GetParameter)(FMOD_DSP *dsp, int index, float *value, char *valuestr, int valuestrlen);
  297. extern FMOD_RESULT (F_API *qFMOD_DSP_GetNumParameters)(FMOD_DSP *dsp, int *numparams);
  298. extern FMOD_RESULT (F_API *qFMOD_DSP_GetParameterInfo)(FMOD_DSP *dsp, int index, char *name, char *label, char *description, int descriptionlen, float *min, float *max);
  299. extern FMOD_RESULT (F_API *qFMOD_DSP_ShowConfigDialog)(FMOD_DSP *dsp, void *hwnd, FMOD_BOOL show);
  300. extern FMOD_RESULT (F_API *qFMOD_DSP_GetInfo)(FMOD_DSP *dsp, char *name, unsigned int *version, int *channels, int *configwidth, int *configheight);
  301. extern FMOD_RESULT (F_API *qFMOD_DSP_GetType)(FMOD_DSP *dsp, FMOD_DSP_TYPE *type);
  302. extern FMOD_RESULT (F_API *qFMOD_DSP_SetDefaults)(FMOD_DSP *dsp, float frequency, float volume, float pan, int priority);
  303. extern FMOD_RESULT (F_API *qFMOD_DSP_GetDefaults)(FMOD_DSP *dsp, float *frequency, float *volume, float *pan, int *priority);
  304. extern FMOD_RESULT (F_API *qFMOD_DSP_SetUserData)(FMOD_DSP *dsp, void *userdata);
  305. extern FMOD_RESULT (F_API *qFMOD_DSP_GetUserData)(FMOD_DSP *dsp, void **userdata);
  306. extern FMOD_RESULT (F_API *qFMOD_DSP_GetMemoryInfo)(FMOD_DSP *dsp, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  307. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_GetInput)(FMOD_DSPCONNECTION *dspconnection, FMOD_DSP **input);
  308. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_GetOutput)(FMOD_DSPCONNECTION *dspconnection, FMOD_DSP **output);
  309. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_SetMix)(FMOD_DSPCONNECTION *dspconnection, float volume);
  310. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_GetMix)(FMOD_DSPCONNECTION *dspconnection, float *volume);
  311. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_SetLevels)(FMOD_DSPCONNECTION *dspconnection, FMOD_SPEAKER speaker, float *levels, int numlevels);
  312. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_GetLevels)(FMOD_DSPCONNECTION *dspconnection, FMOD_SPEAKER speaker, float *levels, int numlevels);
  313. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_SetUserData)(FMOD_DSPCONNECTION *dspconnection, void *userdata);
  314. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_GetUserData)(FMOD_DSPCONNECTION *dspconnection, void **userdata);
  315. extern FMOD_RESULT (F_API *qFMOD_DSPConnection_GetMemoryInfo)(FMOD_DSPCONNECTION *dspconnection, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  316. extern FMOD_RESULT (F_API *qFMOD_Geometry_Release)(FMOD_GEOMETRY *geometry);
  317. extern FMOD_RESULT (F_API *qFMOD_Geometry_AddPolygon)(FMOD_GEOMETRY *geometry, float directocclusion, float reverbocclusion, FMOD_BOOL doublesided, int numvertices, const FMOD_VECTOR *vertices, int *polygonindex);
  318. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetNumPolygons)(FMOD_GEOMETRY *geometry, int *numpolygons);
  319. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetMaxPolygons)(FMOD_GEOMETRY *geometry, int *maxpolygons, int *maxvertices);
  320. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetPolygonNumVertices)(FMOD_GEOMETRY *geometry, int index, int *numvertices);
  321. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetPolygonVertex)(FMOD_GEOMETRY *geometry, int index, int vertexindex, const FMOD_VECTOR *vertex);
  322. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetPolygonVertex)(FMOD_GEOMETRY *geometry, int index, int vertexindex, FMOD_VECTOR *vertex);
  323. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetPolygonAttributes) (FMOD_GEOMETRY *geometry, int index, float directocclusion, float reverbocclusion, FMOD_BOOL doublesided);
  324. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetPolygonAttributes) (FMOD_GEOMETRY *geometry, int index, float *directocclusion, float *reverbocclusion, FMOD_BOOL *doublesided);
  325. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetActive)(FMOD_GEOMETRY *geometry, FMOD_BOOL active);
  326. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetActive)(FMOD_GEOMETRY *geometry, FMOD_BOOL *active);
  327. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetRotation)(FMOD_GEOMETRY *geometry, const FMOD_VECTOR *forward, const FMOD_VECTOR *up);
  328. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetRotation)(FMOD_GEOMETRY *geometry, FMOD_VECTOR *forward, FMOD_VECTOR *up);
  329. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetPosition)(FMOD_GEOMETRY *geometry, const FMOD_VECTOR *position);
  330. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetPosition)(FMOD_GEOMETRY *geometry, FMOD_VECTOR *position);
  331. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetScale)(FMOD_GEOMETRY *geometry, const FMOD_VECTOR *scale);
  332. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetScale)(FMOD_GEOMETRY *geometry, FMOD_VECTOR *scale);
  333. extern FMOD_RESULT (F_API *qFMOD_Geometry_Save)(FMOD_GEOMETRY *geometry, void *data, int *datasize);
  334. extern FMOD_RESULT (F_API *qFMOD_Geometry_SetUserData)(FMOD_GEOMETRY *geometry, void *userdata);
  335. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetUserData)(FMOD_GEOMETRY *geometry, void **userdata);
  336. extern FMOD_RESULT (F_API *qFMOD_Geometry_GetMemoryInfo)(FMOD_GEOMETRY *geometry, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);
  337. extern FMOD_RESULT (F_API *qFMOD_Reverb_Release)(FMOD_REVERB *reverb);
  338. extern FMOD_RESULT (F_API *qFMOD_Reverb_Set3DAttributes)(FMOD_REVERB *reverb, const FMOD_VECTOR *position, float mindistance, float maxdistance);
  339. extern FMOD_RESULT (F_API *qFMOD_Reverb_Get3DAttributes)(FMOD_REVERB *reverb, FMOD_VECTOR *position, float *mindistance, float *maxdistance);
  340. extern FMOD_RESULT (F_API *qFMOD_Reverb_SetProperties)(FMOD_REVERB *reverb, const FMOD_REVERB_PROPERTIES *properties);
  341. extern FMOD_RESULT (F_API *qFMOD_Reverb_GetProperties)(FMOD_REVERB *reverb, FMOD_REVERB_PROPERTIES *properties);
  342. extern FMOD_RESULT (F_API *qFMOD_Reverb_SetActive)(FMOD_REVERB *reverb, FMOD_BOOL active);
  343. extern FMOD_RESULT (F_API *qFMOD_Reverb_GetActive)(FMOD_REVERB *reverb, FMOD_BOOL *active);
  344. extern FMOD_RESULT (F_API *qFMOD_Reverb_SetUserData)(FMOD_REVERB *reverb, void *userdata);
  345. extern FMOD_RESULT (F_API *qFMOD_Reverb_GetUserData)(FMOD_REVERB *reverb, void **userdata);
  346. extern FMOD_RESULT (F_API *qFMOD_Reverb_GetMemoryInfo)(FMOD_REVERB *reverb, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details);

  347. void QFMOD_Init(void);
  348. void QFMOD_Shutdown(void);

  349. #endif
复制代码
QFMOD.cpp

  1. #include <metahook.h>

  2. #include "fmod.h"

  3. static HMODULE hFMOD = NULL;

  4. FMOD_RESULT (F_API *qFMOD_Memory_Initialize)(void *poolmem, int poollen, FMOD_MEMORY_ALLOCCALLBACK useralloc, FMOD_MEMORY_REALLOCCALLBACK userrealloc, FMOD_MEMORY_FREECALLBACK userfree, FMOD_MEMORY_TYPE memtypeflags) = 0;
  5. FMOD_RESULT (F_API *qFMOD_Memory_GetStats)(int *currentalloced, int *maxalloced, FMOD_BOOL blocking) = 0;
  6. FMOD_RESULT (F_API *qFMOD_Debug_SetLevel)(FMOD_DEBUGLEVEL level) = 0;
  7. FMOD_RESULT (F_API *qFMOD_Debug_GetLevel)(FMOD_DEBUGLEVEL *level) = 0;
  8. FMOD_RESULT (F_API *qFMOD_File_SetDiskBusy)(int busy) = 0;
  9. FMOD_RESULT (F_API *qFMOD_File_GetDiskBusy)(int *busy) = 0;
  10. FMOD_RESULT (F_API *qFMOD_System_Create)(FMOD_SYSTEM **system) = 0;
  11. FMOD_RESULT (F_API *qFMOD_System_Release)(FMOD_SYSTEM *system) = 0;
  12. FMOD_RESULT (F_API *qFMOD_System_SetOutput)(FMOD_SYSTEM *system, FMOD_OUTPUTTYPE output) = 0;
  13. FMOD_RESULT (F_API *qFMOD_System_GetOutput)(FMOD_SYSTEM *system, FMOD_OUTPUTTYPE *output) = 0;
  14. FMOD_RESULT (F_API *qFMOD_System_GetNumDrivers)(FMOD_SYSTEM *system, int *numdrivers) = 0;
  15. FMOD_RESULT (F_API *qFMOD_System_GetDriverInfo)(FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid) = 0;
  16. FMOD_RESULT (F_API *qFMOD_System_GetDriverInfoW)(FMOD_SYSTEM *system, int id, short *name, int namelen, FMOD_GUID *guid) = 0;
  17. FMOD_RESULT (F_API *qFMOD_System_GetDriverCaps)(FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *controlpaneloutputrate, FMOD_SPEAKERMODE *controlpanelspeakermode) = 0;
  18. FMOD_RESULT (F_API *qFMOD_System_SetDriver)(FMOD_SYSTEM *system, int driver) = 0;
  19. FMOD_RESULT (F_API *qFMOD_System_GetDriver)(FMOD_SYSTEM *system, int *driver) = 0;
  20. FMOD_RESULT (F_API *qFMOD_System_SetHardwareChannels)(FMOD_SYSTEM *system, int numhardwarechannels) = 0;
  21. FMOD_RESULT (F_API *qFMOD_System_SetSoftwareChannels)(FMOD_SYSTEM *system, int numsoftwarechannels) = 0;
  22. FMOD_RESULT (F_API *qFMOD_System_GetSoftwareChannels)(FMOD_SYSTEM *system, int *numsoftwarechannels) = 0;
  23. FMOD_RESULT (F_API *qFMOD_System_SetSoftwareFormat)(FMOD_SYSTEM *system, int samplerate, FMOD_SOUND_FORMAT format, int numoutputchannels, int maxinputchannels, FMOD_DSP_RESAMPLER resamplemethod) = 0;
  24. FMOD_RESULT (F_API *qFMOD_System_GetSoftwareFormat)(FMOD_SYSTEM *system, int *samplerate, FMOD_SOUND_FORMAT *format, int *numoutputchannels, int *maxinputchannels, FMOD_DSP_RESAMPLER *resamplemethod, int *bits) = 0;
  25. FMOD_RESULT (F_API *qFMOD_System_SetDSPBufferSize)(FMOD_SYSTEM *system, unsigned int bufferlength, int numbuffers) = 0;
  26. FMOD_RESULT (F_API *qFMOD_System_GetDSPBufferSize)(FMOD_SYSTEM *system, unsigned int *bufferlength, int *numbuffers) = 0;
  27. FMOD_RESULT (F_API *qFMOD_System_SetFileSystem)(FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek, FMOD_FILE_ASYNCREADCALLBACK userasyncread, FMOD_FILE_ASYNCCANCELCALLBACK userasynccancel, int blockalign) = 0;
  28. FMOD_RESULT (F_API *qFMOD_System_AttachFileSystem)(FMOD_SYSTEM *system, FMOD_FILE_OPENCALLBACK useropen, FMOD_FILE_CLOSECALLBACK userclose, FMOD_FILE_READCALLBACK userread, FMOD_FILE_SEEKCALLBACK userseek) = 0;
  29. FMOD_RESULT (F_API *qFMOD_System_SetAdvancedSettings)(FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings) = 0;
  30. FMOD_RESULT (F_API *qFMOD_System_GetAdvancedSettings)(FMOD_SYSTEM *system, FMOD_ADVANCEDSETTINGS *settings) = 0;
  31. FMOD_RESULT (F_API *qFMOD_System_SetSpeakerMode)(FMOD_SYSTEM *system, FMOD_SPEAKERMODE speakermode) = 0;
  32. FMOD_RESULT (F_API *qFMOD_System_GetSpeakerMode)(FMOD_SYSTEM *system, FMOD_SPEAKERMODE *speakermode) = 0;
  33. FMOD_RESULT (F_API *qFMOD_System_SetCallback)(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK callback) = 0;
  34. FMOD_RESULT (F_API *qFMOD_System_SetPluginPath)(FMOD_SYSTEM *system, const char *path) = 0;
  35. FMOD_RESULT (F_API *qFMOD_System_LoadPlugin)(FMOD_SYSTEM *system, const char *filename, unsigned int *handle, unsigned int priority) = 0;
  36. FMOD_RESULT (F_API *qFMOD_System_UnloadPlugin)(FMOD_SYSTEM *system, unsigned int handle) = 0;
  37. FMOD_RESULT (F_API *qFMOD_System_GetNumPlugins)(FMOD_SYSTEM *system, FMOD_PLUGINTYPE plugintype, int *numplugins) = 0;
  38. FMOD_RESULT (F_API *qFMOD_System_GetPluginHandle)(FMOD_SYSTEM *system, FMOD_PLUGINTYPE plugintype, int index, unsigned int *handle) = 0;
  39. FMOD_RESULT (F_API *qFMOD_System_GetPluginInfo)(FMOD_SYSTEM *system, unsigned int handle, FMOD_PLUGINTYPE *plugintype, char *name, int namelen, unsigned int *version) = 0;
  40. FMOD_RESULT (F_API *qFMOD_System_SetOutputByPlugin)(FMOD_SYSTEM *system, unsigned int handle) = 0;
  41. FMOD_RESULT (F_API *qFMOD_System_GetOutputByPlugin)(FMOD_SYSTEM *system, unsigned int *handle) = 0;
  42. FMOD_RESULT (F_API *qFMOD_System_CreateDSPByPlugin)(FMOD_SYSTEM *system, unsigned int handle, FMOD_DSP **dsp) = 0;
  43. FMOD_RESULT (F_API *qFMOD_System_RegisterCodec)(FMOD_SYSTEM *system, FMOD_CODEC_DESCRIPTION *description, unsigned int *handle, unsigned int priority) = 0;
  44. FMOD_RESULT (F_API *qFMOD_System_RegisterDSP)(FMOD_SYSTEM *system, FMOD_DSP_DESCRIPTION *description, unsigned int *handle) = 0;
  45. FMOD_RESULT (F_API *qFMOD_System_Init)(FMOD_SYSTEM *system, int maxchannels, FMOD_INITFLAGS flags, void *extradriverdata) = 0;
  46. FMOD_RESULT (F_API *qFMOD_System_Close)(FMOD_SYSTEM *system) = 0;
  47. FMOD_RESULT (F_API *qFMOD_System_Update)(FMOD_SYSTEM *system) = 0;
  48. FMOD_RESULT (F_API *qFMOD_System_Set3DSettings)(FMOD_SYSTEM *system, float dopplerscale, float distancefactor, float rolloffscale) = 0;
  49. FMOD_RESULT (F_API *qFMOD_System_Get3DSettings)(FMOD_SYSTEM *system, float *dopplerscale, float *distancefactor, float *rolloffscale) = 0;
  50. FMOD_RESULT (F_API *qFMOD_System_Set3DNumListeners)(FMOD_SYSTEM *system, int numlisteners) = 0;
  51. FMOD_RESULT (F_API *qFMOD_System_Get3DNumListeners)(FMOD_SYSTEM *system, int *numlisteners) = 0;
  52. FMOD_RESULT (F_API *qFMOD_System_Set3DListenerAttributes)(FMOD_SYSTEM *system, int listener, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel, const FMOD_VECTOR *forward, const FMOD_VECTOR *up) = 0;
  53. FMOD_RESULT (F_API *qFMOD_System_Get3DListenerAttributes)(FMOD_SYSTEM *system, int listener, FMOD_VECTOR *pos, FMOD_VECTOR *vel, FMOD_VECTOR *forward, FMOD_VECTOR *up) = 0;
  54. FMOD_RESULT (F_API *qFMOD_System_Set3DRolloffCallback)(FMOD_SYSTEM *system, FMOD_3D_ROLLOFFCALLBACK callback) = 0;
  55. FMOD_RESULT (F_API *qFMOD_System_Set3DSpeakerPosition)(FMOD_SYSTEM *system, FMOD_SPEAKER speaker, float x, float y, FMOD_BOOL active) = 0;
  56. FMOD_RESULT (F_API *qFMOD_System_Get3DSpeakerPosition)(FMOD_SYSTEM *system, FMOD_SPEAKER speaker, float *x, float *y, FMOD_BOOL *active) = 0;
  57. FMOD_RESULT (F_API *qFMOD_System_SetStreamBufferSize)(FMOD_SYSTEM *system, unsigned int filebuffersize, FMOD_TIMEUNIT filebuffersizetype) = 0;
  58. FMOD_RESULT (F_API *qFMOD_System_GetStreamBufferSize)(FMOD_SYSTEM *system, unsigned int *filebuffersize, FMOD_TIMEUNIT *filebuffersizetype) = 0;
  59. FMOD_RESULT (F_API *qFMOD_System_GetVersion)(FMOD_SYSTEM *system, unsigned int *version) = 0;
  60. FMOD_RESULT (F_API *qFMOD_System_GetOutputHandle)(FMOD_SYSTEM *system, void **handle) = 0;
  61. FMOD_RESULT (F_API *qFMOD_System_GetChannelsPlaying)(FMOD_SYSTEM *system, int *channels) = 0;
  62. FMOD_RESULT (F_API *qFMOD_System_GetHardwareChannels)(FMOD_SYSTEM *system, int *numhardwarechannels) = 0;
  63. FMOD_RESULT (F_API *qFMOD_System_GetCPUUsage)(FMOD_SYSTEM *system, float *dsp, float *stream, float *geometry, float *update, float *total) = 0;
  64. FMOD_RESULT (F_API *qFMOD_System_GetSoundRAM)(FMOD_SYSTEM *system, int *currentalloced, int *maxalloced, int *total) = 0;
  65. FMOD_RESULT (F_API *qFMOD_System_GetNumCDROMDrives)(FMOD_SYSTEM *system, int *numdrives) = 0;
  66. FMOD_RESULT (F_API *qFMOD_System_GetCDROMDriveName)(FMOD_SYSTEM *system, int drive, char *drivename, int drivenamelen, char *scsiname, int scsinamelen, char *devicename, int devicenamelen) = 0;
  67. FMOD_RESULT (F_API *qFMOD_System_GetSpectrum)(FMOD_SYSTEM *system, float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype) = 0;
  68. FMOD_RESULT (F_API *qFMOD_System_GetWaveData)(FMOD_SYSTEM *system, float *wavearray, int numvalues, int channeloffset) = 0;
  69. FMOD_RESULT (F_API *qFMOD_System_CreateSound)(FMOD_SYSTEM *system, const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, FMOD_SOUND **sound) = 0;
  70. FMOD_RESULT (F_API *qFMOD_System_CreateStream)(FMOD_SYSTEM *system, const char *name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO *exinfo, FMOD_SOUND **sound) = 0;
  71. FMOD_RESULT (F_API *qFMOD_System_CreateDSP)(FMOD_SYSTEM *system, FMOD_DSP_DESCRIPTION *description, FMOD_DSP **dsp) = 0;
  72. FMOD_RESULT (F_API *qFMOD_System_CreateDSPByType)(FMOD_SYSTEM *system, FMOD_DSP_TYPE type, FMOD_DSP **dsp) = 0;
  73. FMOD_RESULT (F_API *qFMOD_System_CreateChannelGroup)(FMOD_SYSTEM *system, const char *name, FMOD_CHANNELGROUP **channelgroup) = 0;
  74. FMOD_RESULT (F_API *qFMOD_System_CreateSoundGroup)(FMOD_SYSTEM *system, const char *name, FMOD_SOUNDGROUP **soundgroup) = 0;
  75. FMOD_RESULT (F_API *qFMOD_System_CreateReverb)(FMOD_SYSTEM *system, FMOD_REVERB **reverb) = 0;
  76. FMOD_RESULT (F_API *qFMOD_System_PlaySound)(FMOD_SYSTEM *system, FMOD_CHANNELINDEX channelid, FMOD_SOUND *sound, FMOD_BOOL paused, FMOD_CHANNEL **channel) = 0;
  77. FMOD_RESULT (F_API *qFMOD_System_PlayDSP)(FMOD_SYSTEM *system, FMOD_CHANNELINDEX channelid, FMOD_DSP *dsp, FMOD_BOOL paused, FMOD_CHANNEL **channel) = 0;
  78. FMOD_RESULT (F_API *qFMOD_System_GetChannel)(FMOD_SYSTEM *system, int channelid, FMOD_CHANNEL **channel) = 0;
  79. FMOD_RESULT (F_API *qFMOD_System_GetMasterChannelGroup)(FMOD_SYSTEM *system, FMOD_CHANNELGROUP **channelgroup) = 0;
  80. FMOD_RESULT (F_API *qFMOD_System_GetMasterSoundGroup)(FMOD_SYSTEM *system, FMOD_SOUNDGROUP **soundgroup) = 0;
  81. FMOD_RESULT (F_API *qFMOD_System_SetReverbProperties)(FMOD_SYSTEM *system, const FMOD_REVERB_PROPERTIES *prop) = 0;
  82. FMOD_RESULT (F_API *qFMOD_System_GetReverbProperties)(FMOD_SYSTEM *system, FMOD_REVERB_PROPERTIES *prop) = 0;
  83. FMOD_RESULT (F_API *qFMOD_System_SetReverbAmbientProperties)(FMOD_SYSTEM *system, FMOD_REVERB_PROPERTIES *prop) = 0;
  84. FMOD_RESULT (F_API *qFMOD_System_GetReverbAmbientProperties)(FMOD_SYSTEM *system, FMOD_REVERB_PROPERTIES *prop) = 0;
  85. FMOD_RESULT (F_API *qFMOD_System_GetDSPHead)(FMOD_SYSTEM *system, FMOD_DSP **dsp) = 0;
  86. FMOD_RESULT (F_API *qFMOD_System_AddDSP)(FMOD_SYSTEM *system, FMOD_DSP *dsp, FMOD_DSPCONNECTION **connection) = 0;
  87. FMOD_RESULT (F_API *qFMOD_System_LockDSP)(FMOD_SYSTEM *system) = 0;
  88. FMOD_RESULT (F_API *qFMOD_System_UnlockDSP)(FMOD_SYSTEM *system) = 0;
  89. FMOD_RESULT (F_API *qFMOD_System_GetDSPClock)(FMOD_SYSTEM *system, unsigned int *hi, unsigned int *lo) = 0;
  90. FMOD_RESULT (F_API *qFMOD_System_GetRecordNumDrivers)(FMOD_SYSTEM *system, int *numdrivers) = 0;
  91. FMOD_RESULT (F_API *qFMOD_System_GetRecordDriverInfo)(FMOD_SYSTEM *system, int id, char *name, int namelen, FMOD_GUID *guid) = 0;
  92. FMOD_RESULT (F_API *qFMOD_System_GetRecordDriverInfoW)(FMOD_SYSTEM *system, int id, short *name, int namelen, FMOD_GUID *guid) = 0;
  93. FMOD_RESULT (F_API *qFMOD_System_GetRecordDriverCaps)(FMOD_SYSTEM *system, int id, FMOD_CAPS *caps, int *minfrequency, int *maxfrequency) = 0;
  94. FMOD_RESULT (F_API *qFMOD_System_GetRecordPosition)(FMOD_SYSTEM *system, int id, unsigned int *position) = 0;
  95. FMOD_RESULT (F_API *qFMOD_System_RecordStart)(FMOD_SYSTEM *system, int id, FMOD_SOUND *sound, FMOD_BOOL loop) = 0;
  96. FMOD_RESULT (F_API *qFMOD_System_RecordStop)(FMOD_SYSTEM *system, int id) = 0;
  97. FMOD_RESULT (F_API *qFMOD_System_IsRecording)(FMOD_SYSTEM *system, int id, FMOD_BOOL *recording) = 0;
  98. FMOD_RESULT (F_API *qFMOD_System_CreateGeometry)(FMOD_SYSTEM *system, int maxpolygons, int maxvertices, FMOD_GEOMETRY **geometry) = 0;
  99. FMOD_RESULT (F_API *qFMOD_System_SetGeometrySettings)(FMOD_SYSTEM *system, float maxworldsize) = 0;
  100. FMOD_RESULT (F_API *qFMOD_System_GetGeometrySettings)(FMOD_SYSTEM *system, float *maxworldsize) = 0;
  101. FMOD_RESULT (F_API *qFMOD_System_LoadGeometry)(FMOD_SYSTEM *system, const void *data, int datasize, FMOD_GEOMETRY **geometry) = 0;
  102. FMOD_RESULT (F_API *qFMOD_System_GetGeometryOcclusion)(FMOD_SYSTEM *system, const FMOD_VECTOR *listener, const FMOD_VECTOR *source, float *direct, float *reverb) = 0;
  103. FMOD_RESULT (F_API *qFMOD_System_SetNetworkProxy)(FMOD_SYSTEM *system, const char *proxy) = 0;
  104. FMOD_RESULT (F_API *qFMOD_System_GetNetworkProxy)(FMOD_SYSTEM *system, char *proxy, int proxylen) = 0;
  105. FMOD_RESULT (F_API *qFMOD_System_SetNetworkTimeout)(FMOD_SYSTEM *system, int timeout) = 0;
  106. FMOD_RESULT (F_API *qFMOD_System_GetNetworkTimeout)(FMOD_SYSTEM *system, int *timeout) = 0;
  107. FMOD_RESULT (F_API *qFMOD_System_SetUserData)(FMOD_SYSTEM *system, void *userdata) = 0;
  108. FMOD_RESULT (F_API *qFMOD_System_GetUserData)(FMOD_SYSTEM *system, void **userdata) = 0;
  109. FMOD_RESULT (F_API *qFMOD_System_GetMemoryInfo)(FMOD_SYSTEM *system, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  110. FMOD_RESULT (F_API *qFMOD_Sound_Release)(FMOD_SOUND *sound) = 0;
  111. FMOD_RESULT (F_API *qFMOD_Sound_GetSystemObject)(FMOD_SOUND *sound, FMOD_SYSTEM **system) = 0;
  112. FMOD_RESULT (F_API *qFMOD_Sound_Lock)(FMOD_SOUND *sound, unsigned int offset, unsigned int length, void **ptr1, void **ptr2, unsigned int *len1, unsigned int *len2) = 0;
  113. FMOD_RESULT (F_API *qFMOD_Sound_Unlock)(FMOD_SOUND *sound, void *ptr1, void *ptr2, unsigned int len1, unsigned int len2) = 0;
  114. FMOD_RESULT (F_API *qFMOD_Sound_SetDefaults)(FMOD_SOUND *sound, float frequency, float volume, float pan, int priority) = 0;
  115. FMOD_RESULT (F_API *qFMOD_Sound_GetDefaults)(FMOD_SOUND *sound, float *frequency, float *volume, float *pan, int *priority) = 0;
  116. FMOD_RESULT (F_API *qFMOD_Sound_SetVariations)(FMOD_SOUND *sound, float frequencyvar, float volumevar, float panvar) = 0;
  117. FMOD_RESULT (F_API *qFMOD_Sound_GetVariations)(FMOD_SOUND *sound, float *frequencyvar, float *volumevar, float *panvar) = 0;
  118. FMOD_RESULT (F_API *qFMOD_Sound_Set3DMinMaxDistance)(FMOD_SOUND *sound, float min, float max) = 0;
  119. FMOD_RESULT (F_API *qFMOD_Sound_Get3DMinMaxDistance)(FMOD_SOUND *sound, float *min, float *max) = 0;
  120. FMOD_RESULT (F_API *qFMOD_Sound_Set3DConeSettings)(FMOD_SOUND *sound, float insideconeangle, float outsideconeangle, float outsidevolume) = 0;
  121. FMOD_RESULT (F_API *qFMOD_Sound_Get3DConeSettings)(FMOD_SOUND *sound, float *insideconeangle, float *outsideconeangle, float *outsidevolume) = 0;
  122. FMOD_RESULT (F_API *qFMOD_Sound_Set3DCustomRolloff)(FMOD_SOUND *sound, FMOD_VECTOR *points, int numpoints) = 0;
  123. FMOD_RESULT (F_API *qFMOD_Sound_Get3DCustomRolloff)(FMOD_SOUND *sound, FMOD_VECTOR **points, int *numpoints) = 0;
  124. FMOD_RESULT (F_API *qFMOD_Sound_SetSubSound)(FMOD_SOUND *sound, int index, FMOD_SOUND *subsound) = 0;
  125. FMOD_RESULT (F_API *qFMOD_Sound_GetSubSound)(FMOD_SOUND *sound, int index, FMOD_SOUND **subsound) = 0;
  126. FMOD_RESULT (F_API *qFMOD_Sound_GetSubSoundParent)(FMOD_SOUND *sound, FMOD_SOUND **parentsound) = 0;
  127. FMOD_RESULT (F_API *qFMOD_Sound_SetSubSoundSentence)(FMOD_SOUND *sound, int *subsoundlist, int numsubsounds) = 0;
  128. FMOD_RESULT (F_API *qFMOD_Sound_GetName)(FMOD_SOUND *sound, char *name, int namelen) = 0;
  129. FMOD_RESULT (F_API *qFMOD_Sound_GetLength)(FMOD_SOUND *sound, unsigned int *length, FMOD_TIMEUNIT lengthtype) = 0;
  130. FMOD_RESULT (F_API *qFMOD_Sound_GetFormat)(FMOD_SOUND *sound, FMOD_SOUND_TYPE *type, FMOD_SOUND_FORMAT *format, int *channels, int *bits) = 0;
  131. FMOD_RESULT (F_API *qFMOD_Sound_GetNumSubSounds)(FMOD_SOUND *sound, int *numsubsounds) = 0;
  132. FMOD_RESULT (F_API *qFMOD_Sound_GetNumTags)(FMOD_SOUND *sound, int *numtags, int *numtagsupdated) = 0;
  133. FMOD_RESULT (F_API *qFMOD_Sound_GetTag)(FMOD_SOUND *sound, const char *name, int index, FMOD_TAG *tag) = 0;
  134. FMOD_RESULT (F_API *qFMOD_Sound_GetOpenState)(FMOD_SOUND *sound, FMOD_OPENSTATE *openstate, unsigned int *percentbuffered, FMOD_BOOL *starving, FMOD_BOOL *diskbusy) = 0;
  135. FMOD_RESULT (F_API *qFMOD_Sound_ReadData)(FMOD_SOUND *sound, void *buffer, unsigned int lenbytes, unsigned int *read) = 0;
  136. FMOD_RESULT (F_API *qFMOD_Sound_SeekData)(FMOD_SOUND *sound, unsigned int pcm) = 0;
  137. FMOD_RESULT (F_API *qFMOD_Sound_SetSoundGroup)(FMOD_SOUND *sound, FMOD_SOUNDGROUP *soundgroup) = 0;
  138. FMOD_RESULT (F_API *qFMOD_Sound_GetSoundGroup)(FMOD_SOUND *sound, FMOD_SOUNDGROUP **soundgroup) = 0;
  139. FMOD_RESULT (F_API *qFMOD_Sound_GetNumSyncPoints)(FMOD_SOUND *sound, int *numsyncpoints) = 0;
  140. FMOD_RESULT (F_API *qFMOD_Sound_GetSyncPoint)(FMOD_SOUND *sound, int index, FMOD_SYNCPOINT **point) = 0;
  141. FMOD_RESULT (F_API *qFMOD_Sound_GetSyncPointInfo)(FMOD_SOUND *sound, FMOD_SYNCPOINT *point, char *name, int namelen, unsigned int *offset, FMOD_TIMEUNIT offsettype) = 0;
  142. FMOD_RESULT (F_API *qFMOD_Sound_AddSyncPoint)(FMOD_SOUND *sound, unsigned int offset, FMOD_TIMEUNIT offsettype, const char *name, FMOD_SYNCPOINT **point) = 0;
  143. FMOD_RESULT (F_API *qFMOD_Sound_DeleteSyncPoint)(FMOD_SOUND *sound, FMOD_SYNCPOINT *point) = 0;
  144. FMOD_RESULT (F_API *qFMOD_Sound_SetMode)(FMOD_SOUND *sound, FMOD_MODE mode) = 0;
  145. FMOD_RESULT (F_API *qFMOD_Sound_GetMode)(FMOD_SOUND *sound, FMOD_MODE *mode) = 0;
  146. FMOD_RESULT (F_API *qFMOD_Sound_SetLoopCount)(FMOD_SOUND *sound, int loopcount) = 0;
  147. FMOD_RESULT (F_API *qFMOD_Sound_GetLoopCount)(FMOD_SOUND *sound, int *loopcount) = 0;
  148. FMOD_RESULT (F_API *qFMOD_Sound_SetLoopPoints)(FMOD_SOUND *sound, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype) = 0;
  149. FMOD_RESULT (F_API *qFMOD_Sound_GetLoopPoints)(FMOD_SOUND *sound, unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype) = 0;
  150. FMOD_RESULT (F_API *qFMOD_Sound_GetMusicNumChannels)(FMOD_SOUND *sound, int *numchannels) = 0;
  151. FMOD_RESULT (F_API *qFMOD_Sound_SetMusicChannelVolume)(FMOD_SOUND *sound, int channel, float volume) = 0;
  152. FMOD_RESULT (F_API *qFMOD_Sound_GetMusicChannelVolume)(FMOD_SOUND *sound, int channel, float *volume) = 0;
  153. FMOD_RESULT (F_API *qFMOD_Sound_SetMusicSpeed)(FMOD_SOUND *sound, float speed) = 0;
  154. FMOD_RESULT (F_API *qFMOD_Sound_GetMusicSpeed)(FMOD_SOUND *sound, float *speed) = 0;
  155. FMOD_RESULT (F_API *qFMOD_Sound_SetUserData)(FMOD_SOUND *sound, void *userdata) = 0;
  156. FMOD_RESULT (F_API *qFMOD_Sound_GetUserData)(FMOD_SOUND *sound, void **userdata) = 0;
  157. FMOD_RESULT (F_API *qFMOD_Sound_GetMemoryInfo)(FMOD_SOUND *sound, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  158. FMOD_RESULT (F_API *qFMOD_Channel_GetSystemObject)(FMOD_CHANNEL *channel, FMOD_SYSTEM **system) = 0;
  159. FMOD_RESULT (F_API *qFMOD_Channel_Stop)(FMOD_CHANNEL *channel) = 0;
  160. FMOD_RESULT (F_API *qFMOD_Channel_SetPaused)(FMOD_CHANNEL *channel, FMOD_BOOL paused) = 0;
  161. FMOD_RESULT (F_API *qFMOD_Channel_GetPaused)(FMOD_CHANNEL *channel, FMOD_BOOL *paused) = 0;
  162. FMOD_RESULT (F_API *qFMOD_Channel_SetVolume)(FMOD_CHANNEL *channel, float volume) = 0;
  163. FMOD_RESULT (F_API *qFMOD_Channel_GetVolume)(FMOD_CHANNEL *channel, float *volume) = 0;
  164. FMOD_RESULT (F_API *qFMOD_Channel_SetFrequency)(FMOD_CHANNEL *channel, float frequency) = 0;
  165. FMOD_RESULT (F_API *qFMOD_Channel_GetFrequency)(FMOD_CHANNEL *channel, float *frequency) = 0;
  166. FMOD_RESULT (F_API *qFMOD_Channel_SetPan)(FMOD_CHANNEL *channel, float pan) = 0;
  167. FMOD_RESULT (F_API *qFMOD_Channel_GetPan)(FMOD_CHANNEL *channel, float *pan) = 0;
  168. FMOD_RESULT (F_API *qFMOD_Channel_SetDelay)(FMOD_CHANNEL *channel, FMOD_DELAYTYPE delaytype, unsigned int delayhi, unsigned int delaylo) = 0;
  169. FMOD_RESULT (F_API *qFMOD_Channel_GetDelay)(FMOD_CHANNEL *channel, FMOD_DELAYTYPE delaytype, unsigned int *delayhi, unsigned int *delaylo) = 0;
  170. FMOD_RESULT (F_API *qFMOD_Channel_SetSpeakerMix)(FMOD_CHANNEL *channel, float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright) = 0;
  171. FMOD_RESULT (F_API *qFMOD_Channel_GetSpeakerMix)(FMOD_CHANNEL *channel, float *frontleft, float *frontright, float *center, float *lfe, float *backleft, float *backright, float *sideleft, float *sideright) = 0;
  172. FMOD_RESULT (F_API *qFMOD_Channel_SetSpeakerLevels)(FMOD_CHANNEL *channel, FMOD_SPEAKER speaker, float *levels, int numlevels) = 0;
  173. FMOD_RESULT (F_API *qFMOD_Channel_GetSpeakerLevels)(FMOD_CHANNEL *channel, FMOD_SPEAKER speaker, float *levels, int numlevels) = 0;
  174. FMOD_RESULT (F_API *qFMOD_Channel_SetInputChannelMix)(FMOD_CHANNEL *channel, float *levels, int numlevels) = 0;
  175. FMOD_RESULT (F_API *qFMOD_Channel_GetInputChannelMix)(FMOD_CHANNEL *channel, float *levels, int numlevels) = 0;
  176. FMOD_RESULT (F_API *qFMOD_Channel_SetMute)(FMOD_CHANNEL *channel, FMOD_BOOL mute) = 0;
  177. FMOD_RESULT (F_API *qFMOD_Channel_GetMute)(FMOD_CHANNEL *channel, FMOD_BOOL *mute) = 0;
  178. FMOD_RESULT (F_API *qFMOD_Channel_SetPriority)(FMOD_CHANNEL *channel, int priority) = 0;
  179. FMOD_RESULT (F_API *qFMOD_Channel_GetPriority)(FMOD_CHANNEL *channel, int *priority) = 0;
  180. FMOD_RESULT (F_API *qFMOD_Channel_SetPosition)(FMOD_CHANNEL *channel, unsigned int position, FMOD_TIMEUNIT postype) = 0;
  181. FMOD_RESULT (F_API *qFMOD_Channel_GetPosition)(FMOD_CHANNEL *channel, unsigned int *position, FMOD_TIMEUNIT postype) = 0;
  182. FMOD_RESULT (F_API *qFMOD_Channel_SetReverbProperties)(FMOD_CHANNEL *channel, const FMOD_REVERB_CHANNELPROPERTIES *prop) = 0;
  183. FMOD_RESULT (F_API *qFMOD_Channel_GetReverbProperties)(FMOD_CHANNEL *channel, FMOD_REVERB_CHANNELPROPERTIES *prop) = 0;
  184. FMOD_RESULT (F_API *qFMOD_Channel_SetLowPassGain)(FMOD_CHANNEL *channel, float gain) = 0;
  185. FMOD_RESULT (F_API *qFMOD_Channel_GetLowPassGain)(FMOD_CHANNEL *channel, float *gain) = 0;
  186. FMOD_RESULT (F_API *qFMOD_Channel_SetChannelGroup)(FMOD_CHANNEL *channel, FMOD_CHANNELGROUP *channelgroup) = 0;
  187. FMOD_RESULT (F_API *qFMOD_Channel_GetChannelGroup)(FMOD_CHANNEL *channel, FMOD_CHANNELGROUP **channelgroup) = 0;
  188. FMOD_RESULT (F_API *qFMOD_Channel_SetCallback)(FMOD_CHANNEL *channel, FMOD_CHANNEL_CALLBACK callback) = 0;
  189. FMOD_RESULT (F_API *qFMOD_Channel_Set3DAttributes)(FMOD_CHANNEL *channel, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel) = 0;
  190. FMOD_RESULT (F_API *qFMOD_Channel_Get3DAttributes)(FMOD_CHANNEL *channel, FMOD_VECTOR *pos, FMOD_VECTOR *vel) = 0;
  191. FMOD_RESULT (F_API *qFMOD_Channel_Set3DMinMaxDistance)(FMOD_CHANNEL *channel, float mindistance, float maxdistance) = 0;
  192. FMOD_RESULT (F_API *qFMOD_Channel_Get3DMinMaxDistance)(FMOD_CHANNEL *channel, float *mindistance, float *maxdistance) = 0;
  193. FMOD_RESULT (F_API *qFMOD_Channel_Set3DConeSettings)(FMOD_CHANNEL *channel, float insideconeangle, float outsideconeangle, float outsidevolume) = 0;
  194. FMOD_RESULT (F_API *qFMOD_Channel_Get3DConeSettings)(FMOD_CHANNEL *channel, float *insideconeangle, float *outsideconeangle, float *outsidevolume) = 0;
  195. FMOD_RESULT (F_API *qFMOD_Channel_Set3DConeOrientation)(FMOD_CHANNEL *channel, FMOD_VECTOR *orientation) = 0;
  196. FMOD_RESULT (F_API *qFMOD_Channel_Get3DConeOrientation)(FMOD_CHANNEL *channel, FMOD_VECTOR *orientation) = 0;
  197. FMOD_RESULT (F_API *qFMOD_Channel_Set3DCustomRolloff)(FMOD_CHANNEL *channel, FMOD_VECTOR *points, int numpoints) = 0;
  198. FMOD_RESULT (F_API *qFMOD_Channel_Get3DCustomRolloff)(FMOD_CHANNEL *channel, FMOD_VECTOR **points, int *numpoints) = 0;
  199. FMOD_RESULT (F_API *qFMOD_Channel_Set3DOcclusion)(FMOD_CHANNEL *channel, float directocclusion, float reverbocclusion) = 0;
  200. FMOD_RESULT (F_API *qFMOD_Channel_Get3DOcclusion)(FMOD_CHANNEL *channel, float *directocclusion, float *reverbocclusion) = 0;
  201. FMOD_RESULT (F_API *qFMOD_Channel_Set3DSpread)(FMOD_CHANNEL *channel, float angle) = 0;
  202. FMOD_RESULT (F_API *qFMOD_Channel_Get3DSpread)(FMOD_CHANNEL *channel, float *angle) = 0;
  203. FMOD_RESULT (F_API *qFMOD_Channel_Set3DPanLevel)(FMOD_CHANNEL *channel, float level) = 0;
  204. FMOD_RESULT (F_API *qFMOD_Channel_Get3DPanLevel)(FMOD_CHANNEL *channel, float *level) = 0;
  205. FMOD_RESULT (F_API *qFMOD_Channel_Set3DDopplerLevel)(FMOD_CHANNEL *channel, float level) = 0;
  206. FMOD_RESULT (F_API *qFMOD_Channel_Get3DDopplerLevel)(FMOD_CHANNEL *channel, float *level) = 0;
  207. FMOD_RESULT (F_API *qFMOD_Channel_Set3DDistanceFilter)(FMOD_CHANNEL *channel, FMOD_BOOL custom, float customLevel, float centerFreq) = 0;
  208. FMOD_RESULT (F_API *qFMOD_Channel_Get3DDistanceFilter)(FMOD_CHANNEL *channel, FMOD_BOOL *custom, float *customLevel, float *centerFreq) = 0;
  209. FMOD_RESULT (F_API *qFMOD_Channel_GetDSPHead)(FMOD_CHANNEL *channel, FMOD_DSP **dsp) = 0;
  210. FMOD_RESULT (F_API *qFMOD_Channel_AddDSP)(FMOD_CHANNEL *channel, FMOD_DSP *dsp, FMOD_DSPCONNECTION **connection) = 0;
  211. FMOD_RESULT (F_API *qFMOD_Channel_IsPlaying)(FMOD_CHANNEL *channel, FMOD_BOOL *isplaying) = 0;
  212. FMOD_RESULT (F_API *qFMOD_Channel_IsVirtual)(FMOD_CHANNEL *channel, FMOD_BOOL *isvirtual) = 0;
  213. FMOD_RESULT (F_API *qFMOD_Channel_GetAudibility)(FMOD_CHANNEL *channel, float *audibility) = 0;
  214. FMOD_RESULT (F_API *qFMOD_Channel_GetCurrentSound)(FMOD_CHANNEL *channel, FMOD_SOUND **sound) = 0;
  215. FMOD_RESULT (F_API *qFMOD_Channel_GetSpectrum)(FMOD_CHANNEL *channel, float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype) = 0;
  216. FMOD_RESULT (F_API *qFMOD_Channel_GetWaveData)(FMOD_CHANNEL *channel, float *wavearray, int numvalues, int channeloffset) = 0;
  217. FMOD_RESULT (F_API *qFMOD_Channel_GetIndex)(FMOD_CHANNEL *channel, int *index) = 0;
  218. FMOD_RESULT (F_API *qFMOD_Channel_SetMode)(FMOD_CHANNEL *channel, FMOD_MODE mode) = 0;
  219. FMOD_RESULT (F_API *qFMOD_Channel_GetMode)(FMOD_CHANNEL *channel, FMOD_MODE *mode) = 0;
  220. FMOD_RESULT (F_API *qFMOD_Channel_SetLoopCount)(FMOD_CHANNEL *channel, int loopcount) = 0;
  221. FMOD_RESULT (F_API *qFMOD_Channel_GetLoopCount)(FMOD_CHANNEL *channel, int *loopcount) = 0;
  222. FMOD_RESULT (F_API *qFMOD_Channel_SetLoopPoints)(FMOD_CHANNEL *channel, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype) = 0;
  223. FMOD_RESULT (F_API *qFMOD_Channel_GetLoopPoints)(FMOD_CHANNEL *channel, unsigned int *loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int *loopend, FMOD_TIMEUNIT loopendtype) = 0;
  224. FMOD_RESULT (F_API *qFMOD_Channel_SetUserData)(FMOD_CHANNEL *channel, void *userdata) = 0;
  225. FMOD_RESULT (F_API *qFMOD_Channel_GetUserData)(FMOD_CHANNEL *channel, void **userdata) = 0;
  226. FMOD_RESULT (F_API *qFMOD_Channel_GetMemoryInfo)(FMOD_CHANNEL *channel, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  227. FMOD_RESULT (F_API *qFMOD_ChannelGroup_Release)(FMOD_CHANNELGROUP *channelgroup) = 0;
  228. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetSystemObject)(FMOD_CHANNELGROUP *channelgroup, FMOD_SYSTEM **system) = 0;
  229. FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetVolume)(FMOD_CHANNELGROUP *channelgroup, float volume) = 0;
  230. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetVolume)(FMOD_CHANNELGROUP *channelgroup, float *volume) = 0;
  231. FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetPitch)(FMOD_CHANNELGROUP *channelgroup, float pitch) = 0;
  232. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetPitch)(FMOD_CHANNELGROUP *channelgroup, float *pitch) = 0;
  233. FMOD_RESULT (F_API *qFMOD_ChannelGroup_Set3DOcclusion)(FMOD_CHANNELGROUP *channelgroup, float directocclusion, float reverbocclusion) = 0;
  234. FMOD_RESULT (F_API *qFMOD_ChannelGroup_Get3DOcclusion)(FMOD_CHANNELGROUP *channelgroup, float *directocclusion, float *reverbocclusion) = 0;
  235. FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetPaused)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL paused) = 0;
  236. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetPaused)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *paused) = 0;
  237. FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetMute)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL mute) = 0;
  238. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetMute)(FMOD_CHANNELGROUP *channelgroup, FMOD_BOOL *mute) = 0;
  239. FMOD_RESULT (F_API *qFMOD_ChannelGroup_Stop)(FMOD_CHANNELGROUP *channelgroup) = 0;
  240. FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideVolume)(FMOD_CHANNELGROUP *channelgroup, float volume) = 0;
  241. FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideFrequency)(FMOD_CHANNELGROUP *channelgroup, float frequency) = 0;
  242. FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverridePan)(FMOD_CHANNELGROUP *channelgroup, float pan) = 0;
  243. FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideReverbProperties)(FMOD_CHANNELGROUP *channelgroup, const FMOD_REVERB_CHANNELPROPERTIES *prop) = 0;
  244. FMOD_RESULT (F_API *qFMOD_ChannelGroup_Override3DAttributes)(FMOD_CHANNELGROUP *channelgroup, const FMOD_VECTOR *pos, const FMOD_VECTOR *vel) = 0;
  245. FMOD_RESULT (F_API *qFMOD_ChannelGroup_OverrideSpeakerMix)(FMOD_CHANNELGROUP *channelgroup, float frontleft, float frontright, float center, float lfe, float backleft, float backright, float sideleft, float sideright) = 0;
  246. FMOD_RESULT (F_API *qFMOD_ChannelGroup_AddGroup)(FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELGROUP *group) = 0;
  247. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetNumGroups)(FMOD_CHANNELGROUP *channelgroup, int *numgroups) = 0;
  248. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetGroup)(FMOD_CHANNELGROUP *channelgroup, int index, FMOD_CHANNELGROUP **group) = 0;
  249. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetParentGroup)(FMOD_CHANNELGROUP *channelgroup, FMOD_CHANNELGROUP **group) = 0;
  250. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetDSPHead)(FMOD_CHANNELGROUP *channelgroup, FMOD_DSP **dsp) = 0;
  251. FMOD_RESULT (F_API *qFMOD_ChannelGroup_AddDSP)(FMOD_CHANNELGROUP *channelgroup, FMOD_DSP *dsp, FMOD_DSPCONNECTION **connection) = 0;
  252. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetName)(FMOD_CHANNELGROUP *channelgroup, char *name, int namelen) = 0;
  253. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetNumChannels)(FMOD_CHANNELGROUP *channelgroup, int *numchannels) = 0;
  254. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetChannel)(FMOD_CHANNELGROUP *channelgroup, int index, FMOD_CHANNEL **channel) = 0;
  255. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetSpectrum)(FMOD_CHANNELGROUP *channelgroup, float *spectrumarray, int numvalues, int channeloffset, FMOD_DSP_FFT_WINDOW windowtype) = 0;
  256. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetWaveData)(FMOD_CHANNELGROUP *channelgroup, float *wavearray, int numvalues, int channeloffset) = 0;
  257. FMOD_RESULT (F_API *qFMOD_ChannelGroup_SetUserData)(FMOD_CHANNELGROUP *channelgroup, void *userdata) = 0;
  258. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetUserData)(FMOD_CHANNELGROUP *channelgroup, void **userdata) = 0;
  259. FMOD_RESULT (F_API *qFMOD_ChannelGroup_GetMemoryInfo)(FMOD_CHANNELGROUP *channelgroup, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  260. FMOD_RESULT (F_API *qFMOD_SoundGroup_Release)(FMOD_SOUNDGROUP *soundgroup) = 0;
  261. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetSystemObject)(FMOD_SOUNDGROUP *soundgroup, FMOD_SYSTEM **system) = 0;
  262. FMOD_RESULT (F_API *qFMOD_SoundGroup_SetMaxAudible)(FMOD_SOUNDGROUP *soundgroup, int maxaudible) = 0;
  263. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMaxAudible)(FMOD_SOUNDGROUP *soundgroup, int *maxaudible) = 0;
  264. FMOD_RESULT (F_API *qFMOD_SoundGroup_SetMaxAudibleBehavior)(FMOD_SOUNDGROUP *soundgroup, FMOD_SOUNDGROUP_BEHAVIOR behavior) = 0;
  265. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMaxAudibleBehavior)(FMOD_SOUNDGROUP *soundgroup, FMOD_SOUNDGROUP_BEHAVIOR *behavior) = 0;
  266. FMOD_RESULT (F_API *qFMOD_SoundGroup_SetMuteFadeSpeed)(FMOD_SOUNDGROUP *soundgroup, float speed) = 0;
  267. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMuteFadeSpeed)(FMOD_SOUNDGROUP *soundgroup, float *speed) = 0;
  268. FMOD_RESULT (F_API *qFMOD_SoundGroup_SetVolume)(FMOD_SOUNDGROUP *soundgroup, float volume) = 0;
  269. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetVolume)(FMOD_SOUNDGROUP *soundgroup, float *volume) = 0;
  270. FMOD_RESULT (F_API *qFMOD_SoundGroup_Stop)(FMOD_SOUNDGROUP *soundgroup) = 0;
  271. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetName)(FMOD_SOUNDGROUP *soundgroup, char *name, int namelen) = 0;
  272. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetNumSounds)(FMOD_SOUNDGROUP *soundgroup, int *numsounds) = 0;
  273. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetSound)(FMOD_SOUNDGROUP *soundgroup, int index, FMOD_SOUND **sound) = 0;
  274. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetNumPlaying)(FMOD_SOUNDGROUP *soundgroup, int *numplaying) = 0;
  275. FMOD_RESULT (F_API *qFMOD_SoundGroup_SetUserData)(FMOD_SOUNDGROUP *soundgroup, void *userdata) = 0;
  276. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetUserData)(FMOD_SOUNDGROUP *soundgroup, void **userdata) = 0;
  277. FMOD_RESULT (F_API *qFMOD_SoundGroup_GetMemoryInfo)(FMOD_SOUNDGROUP *soundgroup, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  278. FMOD_RESULT (F_API *qFMOD_DSP_Release)(FMOD_DSP *dsp) = 0;
  279. FMOD_RESULT (F_API *qFMOD_DSP_GetSystemObject)(FMOD_DSP *dsp, FMOD_SYSTEM **system) = 0;
  280. FMOD_RESULT (F_API *qFMOD_DSP_AddInput)(FMOD_DSP *dsp, FMOD_DSP *target, FMOD_DSPCONNECTION **connection) = 0;
  281. FMOD_RESULT (F_API *qFMOD_DSP_DisconnectFrom)(FMOD_DSP *dsp, FMOD_DSP *target) = 0;
  282. FMOD_RESULT (F_API *qFMOD_DSP_DisconnectAll)(FMOD_DSP *dsp, FMOD_BOOL inputs, FMOD_BOOL outputs) = 0;
  283. FMOD_RESULT (F_API *qFMOD_DSP_Remove)(FMOD_DSP *dsp) = 0;
  284. FMOD_RESULT (F_API *qFMOD_DSP_GetNumInputs)(FMOD_DSP *dsp, int *numinputs) = 0;
  285. FMOD_RESULT (F_API *qFMOD_DSP_GetNumOutputs)(FMOD_DSP *dsp, int *numoutputs) = 0;
  286. FMOD_RESULT (F_API *qFMOD_DSP_GetInput)(FMOD_DSP *dsp, int index, FMOD_DSP **input, FMOD_DSPCONNECTION **inputconnection) = 0;
  287. FMOD_RESULT (F_API *qFMOD_DSP_GetOutput)(FMOD_DSP *dsp, int index, FMOD_DSP **output, FMOD_DSPCONNECTION **outputconnection) = 0;
  288. FMOD_RESULT (F_API *qFMOD_DSP_SetActive)(FMOD_DSP *dsp, FMOD_BOOL active) = 0;
  289. FMOD_RESULT (F_API *qFMOD_DSP_GetActive)(FMOD_DSP *dsp, FMOD_BOOL *active) = 0;
  290. FMOD_RESULT (F_API *qFMOD_DSP_SetBypass)(FMOD_DSP *dsp, FMOD_BOOL bypass) = 0;
  291. FMOD_RESULT (F_API *qFMOD_DSP_GetBypass)(FMOD_DSP *dsp, FMOD_BOOL *bypass) = 0;
  292. FMOD_RESULT (F_API *qFMOD_DSP_SetSpeakerActive)(FMOD_DSP *dsp, FMOD_SPEAKER speaker, FMOD_BOOL active) = 0;
  293. FMOD_RESULT (F_API *qFMOD_DSP_GetSpeakerActive)(FMOD_DSP *dsp, FMOD_SPEAKER speaker, FMOD_BOOL *active) = 0;
  294. FMOD_RESULT (F_API *qFMOD_DSP_Reset)(FMOD_DSP *dsp) = 0;
  295. FMOD_RESULT (F_API *qFMOD_DSP_SetParameter)(FMOD_DSP *dsp, int index, float value) = 0;
  296. FMOD_RESULT (F_API *qFMOD_DSP_GetParameter)(FMOD_DSP *dsp, int index, float *value, char *valuestr, int valuestrlen) = 0;
  297. FMOD_RESULT (F_API *qFMOD_DSP_GetNumParameters)(FMOD_DSP *dsp, int *numparams) = 0;
  298. FMOD_RESULT (F_API *qFMOD_DSP_GetParameterInfo)(FMOD_DSP *dsp, int index, char *name, char *label, char *description, int descriptionlen, float *min, float *max) = 0;
  299. FMOD_RESULT (F_API *qFMOD_DSP_ShowConfigDialog)(FMOD_DSP *dsp, void *hwnd, FMOD_BOOL show) = 0;
  300. FMOD_RESULT (F_API *qFMOD_DSP_GetInfo)(FMOD_DSP *dsp, char *name, unsigned int *version, int *channels, int *configwidth, int *configheight) = 0;
  301. FMOD_RESULT (F_API *qFMOD_DSP_GetType)(FMOD_DSP *dsp, FMOD_DSP_TYPE *type) = 0;
  302. FMOD_RESULT (F_API *qFMOD_DSP_SetDefaults)(FMOD_DSP *dsp, float frequency, float volume, float pan, int priority) = 0;
  303. FMOD_RESULT (F_API *qFMOD_DSP_GetDefaults)(FMOD_DSP *dsp, float *frequency, float *volume, float *pan, int *priority) = 0;
  304. FMOD_RESULT (F_API *qFMOD_DSP_SetUserData)(FMOD_DSP *dsp, void *userdata) = 0;
  305. FMOD_RESULT (F_API *qFMOD_DSP_GetUserData)(FMOD_DSP *dsp, void **userdata) = 0;
  306. FMOD_RESULT (F_API *qFMOD_DSP_GetMemoryInfo)(FMOD_DSP *dsp, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  307. FMOD_RESULT (F_API *qFMOD_DSPConnection_GetInput)(FMOD_DSPCONNECTION *dspconnection, FMOD_DSP **input) = 0;
  308. FMOD_RESULT (F_API *qFMOD_DSPConnection_GetOutput)(FMOD_DSPCONNECTION *dspconnection, FMOD_DSP **output) = 0;
  309. FMOD_RESULT (F_API *qFMOD_DSPConnection_SetMix)(FMOD_DSPCONNECTION *dspconnection, float volume) = 0;
  310. FMOD_RESULT (F_API *qFMOD_DSPConnection_GetMix)(FMOD_DSPCONNECTION *dspconnection, float *volume) = 0;
  311. FMOD_RESULT (F_API *qFMOD_DSPConnection_SetLevels)(FMOD_DSPCONNECTION *dspconnection, FMOD_SPEAKER speaker, float *levels, int numlevels) = 0;
  312. FMOD_RESULT (F_API *qFMOD_DSPConnection_GetLevels)(FMOD_DSPCONNECTION *dspconnection, FMOD_SPEAKER speaker, float *levels, int numlevels) = 0;
  313. FMOD_RESULT (F_API *qFMOD_DSPConnection_SetUserData)(FMOD_DSPCONNECTION *dspconnection, void *userdata) = 0;
  314. FMOD_RESULT (F_API *qFMOD_DSPConnection_GetUserData)(FMOD_DSPCONNECTION *dspconnection, void **userdata) = 0;
  315. FMOD_RESULT (F_API *qFMOD_DSPConnection_GetMemoryInfo)(FMOD_DSPCONNECTION *dspconnection, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  316. FMOD_RESULT (F_API *qFMOD_Geometry_Release)(FMOD_GEOMETRY *geometry) = 0;
  317. FMOD_RESULT (F_API *qFMOD_Geometry_AddPolygon)(FMOD_GEOMETRY *geometry, float directocclusion, float reverbocclusion, FMOD_BOOL doublesided, int numvertices, const FMOD_VECTOR *vertices, int *polygonindex) = 0;
  318. FMOD_RESULT (F_API *qFMOD_Geometry_GetNumPolygons)(FMOD_GEOMETRY *geometry, int *numpolygons) = 0;
  319. FMOD_RESULT (F_API *qFMOD_Geometry_GetMaxPolygons)(FMOD_GEOMETRY *geometry, int *maxpolygons, int *maxvertices) = 0;
  320. FMOD_RESULT (F_API *qFMOD_Geometry_GetPolygonNumVertices)(FMOD_GEOMETRY *geometry, int index, int *numvertices) = 0;
  321. FMOD_RESULT (F_API *qFMOD_Geometry_SetPolygonVertex)(FMOD_GEOMETRY *geometry, int index, int vertexindex, const FMOD_VECTOR *vertex) = 0;
  322. FMOD_RESULT (F_API *qFMOD_Geometry_GetPolygonVertex)(FMOD_GEOMETRY *geometry, int index, int vertexindex, FMOD_VECTOR *vertex) = 0;
  323. FMOD_RESULT (F_API *qFMOD_Geometry_SetPolygonAttributes) (FMOD_GEOMETRY *geometry, int index, float directocclusion, float reverbocclusion, FMOD_BOOL doublesided) = 0;
  324. FMOD_RESULT (F_API *qFMOD_Geometry_GetPolygonAttributes) (FMOD_GEOMETRY *geometry, int index, float *directocclusion, float *reverbocclusion, FMOD_BOOL *doublesided) = 0;
  325. FMOD_RESULT (F_API *qFMOD_Geometry_SetActive)(FMOD_GEOMETRY *geometry, FMOD_BOOL active) = 0;
  326. FMOD_RESULT (F_API *qFMOD_Geometry_GetActive)(FMOD_GEOMETRY *geometry, FMOD_BOOL *active) = 0;
  327. FMOD_RESULT (F_API *qFMOD_Geometry_SetRotation)(FMOD_GEOMETRY *geometry, const FMOD_VECTOR *forward, const FMOD_VECTOR *up) = 0;
  328. FMOD_RESULT (F_API *qFMOD_Geometry_GetRotation)(FMOD_GEOMETRY *geometry, FMOD_VECTOR *forward, FMOD_VECTOR *up) = 0;
  329. FMOD_RESULT (F_API *qFMOD_Geometry_SetPosition)(FMOD_GEOMETRY *geometry, const FMOD_VECTOR *position) = 0;
  330. FMOD_RESULT (F_API *qFMOD_Geometry_GetPosition)(FMOD_GEOMETRY *geometry, FMOD_VECTOR *position) = 0;
  331. FMOD_RESULT (F_API *qFMOD_Geometry_SetScale)(FMOD_GEOMETRY *geometry, const FMOD_VECTOR *scale) = 0;
  332. FMOD_RESULT (F_API *qFMOD_Geometry_GetScale)(FMOD_GEOMETRY *geometry, FMOD_VECTOR *scale) = 0;
  333. FMOD_RESULT (F_API *qFMOD_Geometry_Save)(FMOD_GEOMETRY *geometry, void *data, int *datasize) = 0;
  334. FMOD_RESULT (F_API *qFMOD_Geometry_SetUserData)(FMOD_GEOMETRY *geometry, void *userdata) = 0;
  335. FMOD_RESULT (F_API *qFMOD_Geometry_GetUserData)(FMOD_GEOMETRY *geometry, void **userdata) = 0;
  336. FMOD_RESULT (F_API *qFMOD_Geometry_GetMemoryInfo)(FMOD_GEOMETRY *geometry, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;
  337. FMOD_RESULT (F_API *qFMOD_Reverb_Release)(FMOD_REVERB *reverb) = 0;
  338. FMOD_RESULT (F_API *qFMOD_Reverb_Set3DAttributes)(FMOD_REVERB *reverb, const FMOD_VECTOR *position, float mindistance, float maxdistance) = 0;
  339. FMOD_RESULT (F_API *qFMOD_Reverb_Get3DAttributes)(FMOD_REVERB *reverb, FMOD_VECTOR *position, float *mindistance, float *maxdistance) = 0;
  340. FMOD_RESULT (F_API *qFMOD_Reverb_SetProperties)(FMOD_REVERB *reverb, const FMOD_REVERB_PROPERTIES *properties) = 0;
  341. FMOD_RESULT (F_API *qFMOD_Reverb_GetProperties)(FMOD_REVERB *reverb, FMOD_REVERB_PROPERTIES *properties) = 0;
  342. FMOD_RESULT (F_API *qFMOD_Reverb_SetActive)(FMOD_REVERB *reverb, FMOD_BOOL active) = 0;
  343. FMOD_RESULT (F_API *qFMOD_Reverb_GetActive)(FMOD_REVERB *reverb, FMOD_BOOL *active) = 0;
  344. FMOD_RESULT (F_API *qFMOD_Reverb_SetUserData)(FMOD_REVERB *reverb, void *userdata) = 0;
  345. FMOD_RESULT (F_API *qFMOD_Reverb_GetUserData)(FMOD_REVERB *reverb, void **userdata) = 0;
  346. FMOD_RESULT (F_API *qFMOD_Reverb_GetMemoryInfo)(FMOD_REVERB *reverb, unsigned int memorybits, unsigned int event_memorybits, unsigned int *memoryused, FMOD_MEMORY_USAGE_DETAILS *memoryused_details) = 0;

  347. void QFMOD_Init(void)
  348. {
  349.     hFMOD = LoadLibrary("fmodex.dll");

  350.     if (hFMOD)
  351.     {
  352.         qFMOD_Memory_Initialize = (FMOD_RESULT (F_API *)(void *, int, FMOD_MEMORY_ALLOCCALLBACK, FMOD_MEMORY_REALLOCCALLBACK, FMOD_MEMORY_FREECALLBACK, FMOD_MEMORY_TYPE))GetProcAddress(hFMOD, "FMOD_Memory_Initialize");
  353.         qFMOD_Memory_GetStats = (FMOD_RESULT (F_API *)(int *, int *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_Memory_GetStats");
  354.         qFMOD_Debug_SetLevel = (FMOD_RESULT (F_API *)(FMOD_DEBUGLEVEL))GetProcAddress(hFMOD, "FMOD_Debug_SetLevel");
  355.         qFMOD_Debug_GetLevel = (FMOD_RESULT (F_API *)(FMOD_DEBUGLEVEL *))GetProcAddress(hFMOD, "FMOD_Debug_GetLevel");
  356.         qFMOD_File_SetDiskBusy = (FMOD_RESULT (F_API *)(int))GetProcAddress(hFMOD, "FMOD_File_SetDiskBusy");
  357.         qFMOD_File_GetDiskBusy = (FMOD_RESULT (F_API *)(int *))GetProcAddress(hFMOD, "FMOD_File_GetDiskBusy");
  358.         qFMOD_System_Create = (FMOD_RESULT (F_API *)(FMOD_SYSTEM **))GetProcAddress(hFMOD, "FMOD_System_Create");
  359.         qFMOD_System_Release = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *))GetProcAddress(hFMOD, "FMOD_System_Release");
  360.         qFMOD_System_SetOutput = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_OUTPUTTYPE))GetProcAddress(hFMOD, "FMOD_System_SetOutput");
  361.         qFMOD_System_GetOutput = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_OUTPUTTYPE *))GetProcAddress(hFMOD, "FMOD_System_GetOutput");
  362.         qFMOD_System_GetNumDrivers = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetNumDrivers");
  363.         qFMOD_System_GetDriverInfo = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, char *, int, FMOD_GUID *))GetProcAddress(hFMOD, "FMOD_System_GetDriverInfo");
  364.         qFMOD_System_GetDriverInfoW = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, short *, int, FMOD_GUID *))GetProcAddress(hFMOD, "FMOD_System_GetDriverInfoW");
  365.         qFMOD_System_GetDriverCaps = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_CAPS *, int *, FMOD_SPEAKERMODE *))GetProcAddress(hFMOD, "FMOD_System_GetDriverCaps");
  366.         qFMOD_System_SetDriver = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int))GetProcAddress(hFMOD, "FMOD_System_SetDriver");
  367.         qFMOD_System_GetDriver = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetDriver");
  368.         qFMOD_System_SetHardwareChannels = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int))GetProcAddress(hFMOD, "FMOD_System_SetHardwareChannels");
  369.         qFMOD_System_SetSoftwareChannels = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int))GetProcAddress(hFMOD, "FMOD_System_SetSoftwareChannels");
  370.         qFMOD_System_GetSoftwareChannels = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetSoftwareChannels");
  371.         qFMOD_System_SetSoftwareFormat = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_SOUND_FORMAT, int, int, FMOD_DSP_RESAMPLER))GetProcAddress(hFMOD, "FMOD_System_SetSoftwareFormat");
  372.         qFMOD_System_GetSoftwareFormat = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *, FMOD_SOUND_FORMAT *, int *, int *, FMOD_DSP_RESAMPLER *, int *))GetProcAddress(hFMOD, "FMOD_System_GetSoftwareFormat");
  373.         qFMOD_System_SetDSPBufferSize = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int, int))GetProcAddress(hFMOD, "FMOD_System_SetDSPBufferSize");
  374.         qFMOD_System_GetDSPBufferSize = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int *, int *))GetProcAddress(hFMOD, "FMOD_System_GetDSPBufferSize");
  375.         qFMOD_System_SetFileSystem = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_FILE_OPENCALLBACK, FMOD_FILE_CLOSECALLBACK, FMOD_FILE_READCALLBACK, FMOD_FILE_SEEKCALLBACK, FMOD_FILE_ASYNCREADCALLBACK, FMOD_FILE_ASYNCCANCELCALLBACK, int))GetProcAddress(hFMOD, "FMOD_System_SetFileSystem");
  376.         qFMOD_System_AttachFileSystem = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_FILE_OPENCALLBACK, FMOD_FILE_CLOSECALLBACK, FMOD_FILE_READCALLBACK, FMOD_FILE_SEEKCALLBACK))GetProcAddress(hFMOD, "FMOD_System_AttachFileSystem");
  377.         qFMOD_System_SetAdvancedSettings = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_ADVANCEDSETTINGS *))GetProcAddress(hFMOD, "FMOD_System_SetAdvancedSettings");
  378.         qFMOD_System_GetAdvancedSettings = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_ADVANCEDSETTINGS *))GetProcAddress(hFMOD, "FMOD_System_GetAdvancedSettings");
  379.         qFMOD_System_SetSpeakerMode = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_SPEAKERMODE))GetProcAddress(hFMOD, "FMOD_System_SetSpeakerMode");
  380.         qFMOD_System_GetSpeakerMode = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_SPEAKERMODE *))GetProcAddress(hFMOD, "FMOD_System_GetSpeakerMode");
  381.         qFMOD_System_SetCallback = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_SYSTEM_CALLBACK))GetProcAddress(hFMOD, "FMOD_System_SetCallback");
  382.         qFMOD_System_SetPluginPath = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *))GetProcAddress(hFMOD, "FMOD_System_SetPluginPath");
  383.         qFMOD_System_LoadPlugin = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *, unsigned int *, unsigned int))GetProcAddress(hFMOD, "FMOD_System_LoadPlugin");
  384.         qFMOD_System_UnloadPlugin = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int))GetProcAddress(hFMOD, "FMOD_System_UnloadPlugin");
  385.         qFMOD_System_GetNumPlugins = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_PLUGINTYPE, int *))GetProcAddress(hFMOD, "FMOD_System_GetNumPlugins");
  386.         qFMOD_System_GetPluginHandle = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_PLUGINTYPE, int, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_GetPluginHandle");
  387.         qFMOD_System_GetPluginInfo = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int, FMOD_PLUGINTYPE *, char *, int, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_GetPluginInfo");
  388.         qFMOD_System_SetOutputByPlugin = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int))GetProcAddress(hFMOD, "FMOD_System_SetOutputByPlugin");
  389.         qFMOD_System_GetOutputByPlugin = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_GetOutputByPlugin");
  390.         qFMOD_System_CreateDSPByPlugin = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_System_CreateDSPByPlugin");
  391.         qFMOD_System_RegisterCodec = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_CODEC_DESCRIPTION *, unsigned int *, unsigned int))GetProcAddress(hFMOD, "FMOD_System_RegisterCodec");
  392.         qFMOD_System_RegisterDSP = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_DSP_DESCRIPTION *, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_RegisterDSP");
  393.         qFMOD_System_Init = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_INITFLAGS, void *))GetProcAddress(hFMOD, "FMOD_System_Init");
  394.         qFMOD_System_Close = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *))GetProcAddress(hFMOD, "FMOD_System_Close");
  395.         qFMOD_System_Update = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *))GetProcAddress(hFMOD, "FMOD_System_Update");
  396.         qFMOD_System_Set3DSettings = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float, float, float))GetProcAddress(hFMOD, "FMOD_System_Set3DSettings");
  397.         qFMOD_System_Get3DSettings = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float *, float *, float *))GetProcAddress(hFMOD, "FMOD_System_Get3DSettings");
  398.         qFMOD_System_Set3DNumListeners = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int))GetProcAddress(hFMOD, "FMOD_System_Set3DNumListeners");
  399.         qFMOD_System_Get3DNumListeners = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_Get3DNumListeners");
  400.         qFMOD_System_Set3DListenerAttributes = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, const FMOD_VECTOR *, const FMOD_VECTOR *, const FMOD_VECTOR *, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_System_Set3DListenerAttributes");
  401.         qFMOD_System_Get3DListenerAttributes = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_VECTOR *, FMOD_VECTOR *, FMOD_VECTOR *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_System_Get3DListenerAttributes");
  402.         qFMOD_System_Set3DRolloffCallback = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_3D_ROLLOFFCALLBACK))GetProcAddress(hFMOD, "FMOD_System_Set3DRolloffCallback");
  403.         qFMOD_System_Set3DSpeakerPosition = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_SPEAKER, float, float, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_System_Set3DSpeakerPosition");
  404.         qFMOD_System_Get3DSpeakerPosition = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_SPEAKER, float *, float *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_System_Get3DSpeakerPosition");
  405.         qFMOD_System_SetStreamBufferSize = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_System_SetStreamBufferSize");
  406.         qFMOD_System_GetStreamBufferSize = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int *, FMOD_TIMEUNIT *))GetProcAddress(hFMOD, "FMOD_System_GetStreamBufferSize");
  407.         qFMOD_System_GetVersion = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_GetVersion");
  408.         qFMOD_System_GetOutputHandle = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, void **))GetProcAddress(hFMOD, "FMOD_System_GetOutputHandle");
  409.         qFMOD_System_GetChannelsPlaying = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetChannelsPlaying");
  410.         qFMOD_System_GetHardwareChannels = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetHardwareChannels");
  411.         qFMOD_System_GetCPUUsage = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float *, float *, float *, float *, float *))GetProcAddress(hFMOD, "FMOD_System_GetCPUUsage");
  412.         qFMOD_System_GetSoundRAM = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *, int *, int *))GetProcAddress(hFMOD, "FMOD_System_GetSoundRAM");
  413.         qFMOD_System_GetNumCDROMDrives = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetNumCDROMDrives");
  414.         qFMOD_System_GetCDROMDriveName = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, char *, int, char *, int, char *, int))GetProcAddress(hFMOD, "FMOD_System_GetCDROMDriveName");
  415.         qFMOD_System_GetSpectrum = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float *, int, int, FMOD_DSP_FFT_WINDOW))GetProcAddress(hFMOD, "FMOD_System_GetSpectrum");
  416.         qFMOD_System_GetWaveData = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float *, int, int))GetProcAddress(hFMOD, "FMOD_System_GetWaveData");
  417.         qFMOD_System_CreateSound = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *, FMOD_MODE, FMOD_CREATESOUNDEXINFO *, FMOD_SOUND **))GetProcAddress(hFMOD, "FMOD_System_CreateSound");
  418.         qFMOD_System_CreateStream = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *, FMOD_MODE, FMOD_CREATESOUNDEXINFO *, FMOD_SOUND **))GetProcAddress(hFMOD, "FMOD_System_CreateStream");
  419.         qFMOD_System_CreateDSP = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_DSP_DESCRIPTION *, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_System_CreateDSP");
  420.         qFMOD_System_CreateDSPByType = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_DSP_TYPE, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_System_CreateDSPByType");
  421.         qFMOD_System_CreateChannelGroup = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *, FMOD_CHANNELGROUP **))GetProcAddress(hFMOD, "FMOD_System_CreateChannelGroup");
  422.         qFMOD_System_CreateSoundGroup = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *, FMOD_SOUNDGROUP **))GetProcAddress(hFMOD, "FMOD_System_CreateSoundGroup");
  423.         qFMOD_System_CreateReverb = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_REVERB **))GetProcAddress(hFMOD, "FMOD_System_CreateReverb");
  424.         qFMOD_System_PlaySound = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_CHANNELINDEX, FMOD_SOUND *, FMOD_BOOL, FMOD_CHANNEL **))GetProcAddress(hFMOD, "FMOD_System_PlaySound");
  425.         qFMOD_System_PlayDSP = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_CHANNELINDEX, FMOD_DSP *, FMOD_BOOL, FMOD_CHANNEL **))GetProcAddress(hFMOD, "FMOD_System_PlayDSP");
  426.         qFMOD_System_GetChannel = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_CHANNEL **))GetProcAddress(hFMOD, "FMOD_System_GetChannel");
  427.         qFMOD_System_GetMasterChannelGroup = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_CHANNELGROUP **))GetProcAddress(hFMOD, "FMOD_System_GetMasterChannelGroup");
  428.         qFMOD_System_GetMasterSoundGroup = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_SOUNDGROUP **))GetProcAddress(hFMOD, "FMOD_System_GetMasterSoundGroup");
  429.         qFMOD_System_SetReverbProperties = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const FMOD_REVERB_PROPERTIES *))GetProcAddress(hFMOD, "FMOD_System_SetReverbProperties");
  430.         qFMOD_System_GetReverbProperties = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_REVERB_PROPERTIES *))GetProcAddress(hFMOD, "FMOD_System_GetReverbProperties");
  431.         qFMOD_System_SetReverbAmbientProperties = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_REVERB_PROPERTIES *))GetProcAddress(hFMOD, "FMOD_System_SetReverbAmbientProperties");
  432.         qFMOD_System_GetReverbAmbientProperties = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_REVERB_PROPERTIES *))GetProcAddress(hFMOD, "FMOD_System_GetReverbAmbientProperties");
  433.         qFMOD_System_GetDSPHead = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_System_GetDSPHead");
  434.         qFMOD_System_AddDSP = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, FMOD_DSP *, FMOD_DSPCONNECTION **))GetProcAddress(hFMOD, "FMOD_System_AddDSP");
  435.         qFMOD_System_LockDSP = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *))GetProcAddress(hFMOD, "FMOD_System_LockDSP");
  436.         qFMOD_System_UnlockDSP = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *))GetProcAddress(hFMOD, "FMOD_System_UnlockDSP");
  437.         qFMOD_System_GetDSPClock = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int *, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_GetDSPClock");
  438.         qFMOD_System_GetRecordNumDrivers = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetRecordNumDrivers");
  439.         qFMOD_System_GetRecordDriverInfo = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, char *, int, FMOD_GUID *))GetProcAddress(hFMOD, "FMOD_System_GetRecordDriverInfo");
  440.         qFMOD_System_GetRecordDriverInfoW = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, short *, int, FMOD_GUID *))GetProcAddress(hFMOD, "FMOD_System_GetRecordDriverInfoW");
  441.         qFMOD_System_GetRecordDriverCaps = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_CAPS *, int *, int *))GetProcAddress(hFMOD, "FMOD_System_GetRecordDriverCaps");
  442.         qFMOD_System_GetRecordPosition = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, unsigned int *))GetProcAddress(hFMOD, "FMOD_System_GetRecordPosition");
  443.         qFMOD_System_RecordStart = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_SOUND *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_System_RecordStart");
  444.         qFMOD_System_RecordStop = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int))GetProcAddress(hFMOD, "FMOD_System_RecordStop");
  445.         qFMOD_System_IsRecording = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_System_IsRecording");
  446.         qFMOD_System_CreateGeometry = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int, int, FMOD_GEOMETRY **))GetProcAddress(hFMOD, "FMOD_System_CreateGeometry");
  447.         qFMOD_System_SetGeometrySettings = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float))GetProcAddress(hFMOD, "FMOD_System_SetGeometrySettings");
  448.         qFMOD_System_GetGeometrySettings = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, float *))GetProcAddress(hFMOD, "FMOD_System_GetGeometrySettings");
  449.         qFMOD_System_LoadGeometry = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const void *, int, FMOD_GEOMETRY **))GetProcAddress(hFMOD, "FMOD_System_LoadGeometry");
  450.         qFMOD_System_GetGeometryOcclusion = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const FMOD_VECTOR *, const FMOD_VECTOR *, float *, float *))GetProcAddress(hFMOD, "FMOD_System_GetGeometryOcclusion");
  451.         qFMOD_System_SetNetworkProxy = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, const char *))GetProcAddress(hFMOD, "FMOD_System_SetNetworkProxy");
  452.         qFMOD_System_GetNetworkProxy = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, char *, int))GetProcAddress(hFMOD, "FMOD_System_GetNetworkProxy");
  453.         qFMOD_System_SetNetworkTimeout = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int))GetProcAddress(hFMOD, "FMOD_System_SetNetworkTimeout");
  454.         qFMOD_System_GetNetworkTimeout = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, int *))GetProcAddress(hFMOD, "FMOD_System_GetNetworkTimeout");
  455.         qFMOD_System_SetUserData = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, void *))GetProcAddress(hFMOD, "FMOD_System_SetUserData");
  456.         qFMOD_System_GetUserData = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, void **))GetProcAddress(hFMOD, "FMOD_System_GetUserData");
  457.         qFMOD_System_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_SYSTEM *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_System_GetMemoryInfo");
  458.         qFMOD_Sound_Release = (FMOD_RESULT (F_API *)(FMOD_SOUND *))GetProcAddress(hFMOD, "FMOD_Sound_Release");
  459.         qFMOD_Sound_GetSystemObject = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SYSTEM **))GetProcAddress(hFMOD, "FMOD_Sound_GetSystemObject");
  460.         qFMOD_Sound_Lock = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int, unsigned int, void **, void **, unsigned int *, unsigned int *))GetProcAddress(hFMOD, "FMOD_Sound_Lock");
  461.         qFMOD_Sound_Unlock = (FMOD_RESULT (F_API *)(FMOD_SOUND *, void *, void *, unsigned int, unsigned int))GetProcAddress(hFMOD, "FMOD_Sound_Unlock");
  462.         qFMOD_Sound_SetDefaults = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float, float, float, int))GetProcAddress(hFMOD, "FMOD_Sound_SetDefaults");
  463.         qFMOD_Sound_GetDefaults = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float *, float *, float *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetDefaults");
  464.         qFMOD_Sound_SetVariations = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float, float, float))GetProcAddress(hFMOD, "FMOD_Sound_SetVariations");
  465.         qFMOD_Sound_GetVariations = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float *, float *, float *))GetProcAddress(hFMOD, "FMOD_Sound_GetVariations");
  466.         qFMOD_Sound_Set3DMinMaxDistance = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float, float))GetProcAddress(hFMOD, "FMOD_Sound_Set3DMinMaxDistance");
  467.         qFMOD_Sound_Get3DMinMaxDistance = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float *, float *))GetProcAddress(hFMOD, "FMOD_Sound_Get3DMinMaxDistance");
  468.         qFMOD_Sound_Set3DConeSettings = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float, float, float))GetProcAddress(hFMOD, "FMOD_Sound_Set3DConeSettings");
  469.         qFMOD_Sound_Get3DConeSettings = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float *, float *, float *))GetProcAddress(hFMOD, "FMOD_Sound_Get3DConeSettings");
  470.         qFMOD_Sound_Set3DCustomRolloff = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_VECTOR *, int))GetProcAddress(hFMOD, "FMOD_Sound_Set3DCustomRolloff");
  471.         qFMOD_Sound_Get3DCustomRolloff = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_VECTOR **, int *))GetProcAddress(hFMOD, "FMOD_Sound_Get3DCustomRolloff");
  472.         qFMOD_Sound_SetSubSound = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int, FMOD_SOUND *))GetProcAddress(hFMOD, "FMOD_Sound_SetSubSound");
  473.         qFMOD_Sound_GetSubSound = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int, FMOD_SOUND **))GetProcAddress(hFMOD, "FMOD_Sound_GetSubSound");
  474.         qFMOD_Sound_GetSubSoundParent = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SOUND **))GetProcAddress(hFMOD, "FMOD_Sound_GetSubSoundParent");
  475.         qFMOD_Sound_SetSubSoundSentence = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int *, int))GetProcAddress(hFMOD, "FMOD_Sound_SetSubSoundSentence");
  476.         qFMOD_Sound_GetName = (FMOD_RESULT (F_API *)(FMOD_SOUND *, char *, int))GetProcAddress(hFMOD, "FMOD_Sound_GetName");
  477.         qFMOD_Sound_GetLength = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int *, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Sound_GetLength");
  478.         qFMOD_Sound_GetFormat = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SOUND_TYPE *, FMOD_SOUND_FORMAT *, int *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetFormat");
  479.         qFMOD_Sound_GetNumSubSounds = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetNumSubSounds");
  480.         qFMOD_Sound_GetNumTags = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetNumTags");
  481.         qFMOD_Sound_GetTag = (FMOD_RESULT (F_API *)(FMOD_SOUND *, const char *, int, FMOD_TAG *))GetProcAddress(hFMOD, "FMOD_Sound_GetTag");
  482.         qFMOD_Sound_GetOpenState = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_OPENSTATE *, unsigned int *, FMOD_BOOL *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Sound_GetOpenState");
  483.         qFMOD_Sound_ReadData = (FMOD_RESULT (F_API *)(FMOD_SOUND *, void *, unsigned int, unsigned int *))GetProcAddress(hFMOD, "FMOD_Sound_ReadData");
  484.         qFMOD_Sound_SeekData = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int))GetProcAddress(hFMOD, "FMOD_Sound_SeekData");
  485.         qFMOD_Sound_SetSoundGroup = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SOUNDGROUP *))GetProcAddress(hFMOD, "FMOD_Sound_SetSoundGroup");
  486.         qFMOD_Sound_GetSoundGroup = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SOUNDGROUP **))GetProcAddress(hFMOD, "FMOD_Sound_GetSoundGroup");
  487.         qFMOD_Sound_GetNumSyncPoints = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetNumSyncPoints");
  488.         qFMOD_Sound_GetSyncPoint = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int, FMOD_SYNCPOINT **))GetProcAddress(hFMOD, "FMOD_Sound_GetSyncPoint");
  489.         qFMOD_Sound_GetSyncPointInfo = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SYNCPOINT *, char *, int, unsigned int *, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Sound_GetSyncPointInfo");
  490.         qFMOD_Sound_AddSyncPoint = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int, FMOD_TIMEUNIT, const char *, FMOD_SYNCPOINT **))GetProcAddress(hFMOD, "FMOD_Sound_AddSyncPoint");
  491.         qFMOD_Sound_DeleteSyncPoint = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_SYNCPOINT *))GetProcAddress(hFMOD, "FMOD_Sound_DeleteSyncPoint");
  492.         qFMOD_Sound_SetMode = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_MODE))GetProcAddress(hFMOD, "FMOD_Sound_SetMode");
  493.         qFMOD_Sound_GetMode = (FMOD_RESULT (F_API *)(FMOD_SOUND *, FMOD_MODE *))GetProcAddress(hFMOD, "FMOD_Sound_GetMode");
  494.         qFMOD_Sound_SetLoopCount = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int))GetProcAddress(hFMOD, "FMOD_Sound_SetLoopCount");
  495.         qFMOD_Sound_GetLoopCount = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetLoopCount");
  496.         qFMOD_Sound_SetLoopPoints = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int, FMOD_TIMEUNIT, unsigned int, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Sound_SetLoopPoints");
  497.         qFMOD_Sound_GetLoopPoints = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int *, FMOD_TIMEUNIT, unsigned int *, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Sound_GetLoopPoints");
  498.         qFMOD_Sound_GetMusicNumChannels = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int *))GetProcAddress(hFMOD, "FMOD_Sound_GetMusicNumChannels");
  499.         qFMOD_Sound_SetMusicChannelVolume = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int, float))GetProcAddress(hFMOD, "FMOD_Sound_SetMusicChannelVolume");
  500.         qFMOD_Sound_GetMusicChannelVolume = (FMOD_RESULT (F_API *)(FMOD_SOUND *, int, float *))GetProcAddress(hFMOD, "FMOD_Sound_GetMusicChannelVolume");
  501.         qFMOD_Sound_SetMusicSpeed = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float))GetProcAddress(hFMOD, "FMOD_Sound_SetMusicSpeed");
  502.         qFMOD_Sound_GetMusicSpeed = (FMOD_RESULT (F_API *)(FMOD_SOUND *, float *))GetProcAddress(hFMOD, "FMOD_Sound_GetMusicSpeed");
  503.         qFMOD_Sound_SetUserData = (FMOD_RESULT (F_API *)(FMOD_SOUND *, void *))GetProcAddress(hFMOD, "FMOD_Sound_SetUserData");
  504.         qFMOD_Sound_GetUserData = (FMOD_RESULT (F_API *)(FMOD_SOUND *, void **))GetProcAddress(hFMOD, "FMOD_Sound_GetUserData");
  505.         qFMOD_Sound_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_SOUND *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_Sound_GetMemoryInfo");
  506.         qFMOD_Channel_GetSystemObject = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_SYSTEM **))GetProcAddress(hFMOD, "FMOD_Channel_GetSystemObject");
  507.         qFMOD_Channel_Stop = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *))GetProcAddress(hFMOD, "FMOD_Channel_Stop");
  508.         qFMOD_Channel_SetPaused = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_Channel_SetPaused");
  509.         qFMOD_Channel_GetPaused = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Channel_GetPaused");
  510.         qFMOD_Channel_SetVolume = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_SetVolume");
  511.         qFMOD_Channel_GetVolume = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_GetVolume");
  512.         qFMOD_Channel_SetFrequency = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_SetFrequency");
  513.         qFMOD_Channel_GetFrequency = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_GetFrequency");
  514.         qFMOD_Channel_SetPan = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_SetPan");
  515.         qFMOD_Channel_GetPan = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_GetPan");
  516.         qFMOD_Channel_SetDelay = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_DELAYTYPE, unsigned int, unsigned int))GetProcAddress(hFMOD, "FMOD_Channel_SetDelay");
  517.         qFMOD_Channel_GetDelay = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_DELAYTYPE, unsigned int *, unsigned int *))GetProcAddress(hFMOD, "FMOD_Channel_GetDelay");
  518.         qFMOD_Channel_SetSpeakerMix = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float, float, float, float, float, float, float, float))GetProcAddress(hFMOD, "FMOD_Channel_SetSpeakerMix");
  519.         qFMOD_Channel_GetSpeakerMix = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, float *, float *, float *, float *, float *, float *, float *))GetProcAddress(hFMOD, "FMOD_Channel_GetSpeakerMix");
  520.         qFMOD_Channel_SetSpeakerLevels = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_SPEAKER, float *, int))GetProcAddress(hFMOD, "FMOD_Channel_SetSpeakerLevels");
  521.         qFMOD_Channel_GetSpeakerLevels = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_SPEAKER, float *, int))GetProcAddress(hFMOD, "FMOD_Channel_GetSpeakerLevels");
  522.         qFMOD_Channel_SetInputChannelMix = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, int))GetProcAddress(hFMOD, "FMOD_Channel_SetInputChannelMix");
  523.         qFMOD_Channel_GetInputChannelMix = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, int))GetProcAddress(hFMOD, "FMOD_Channel_GetInputChannelMix");
  524.         qFMOD_Channel_SetMute = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_Channel_SetMute");
  525.         qFMOD_Channel_GetMute = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Channel_GetMute");
  526.         qFMOD_Channel_SetPriority = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, int))GetProcAddress(hFMOD, "FMOD_Channel_SetPriority");
  527.         qFMOD_Channel_GetPriority = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, int *))GetProcAddress(hFMOD, "FMOD_Channel_GetPriority");
  528.         qFMOD_Channel_SetPosition = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, unsigned int, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Channel_SetPosition");
  529.         qFMOD_Channel_GetPosition = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, unsigned int *, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Channel_GetPosition");
  530.         qFMOD_Channel_SetReverbProperties = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, const FMOD_REVERB_CHANNELPROPERTIES *))GetProcAddress(hFMOD, "FMOD_Channel_SetReverbProperties");
  531.         qFMOD_Channel_GetReverbProperties = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_REVERB_CHANNELPROPERTIES *))GetProcAddress(hFMOD, "FMOD_Channel_GetReverbProperties");
  532.         qFMOD_Channel_SetLowPassGain = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_SetLowPassGain");
  533.         qFMOD_Channel_GetLowPassGain = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_GetLowPassGain");
  534.         qFMOD_Channel_SetChannelGroup = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_CHANNELGROUP *))GetProcAddress(hFMOD, "FMOD_Channel_SetChannelGroup");
  535.         qFMOD_Channel_GetChannelGroup = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_CHANNELGROUP **))GetProcAddress(hFMOD, "FMOD_Channel_GetChannelGroup");
  536.         qFMOD_Channel_SetCallback = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_CHANNEL_CALLBACK))GetProcAddress(hFMOD, "FMOD_Channel_SetCallback");
  537.         qFMOD_Channel_Set3DAttributes = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, const FMOD_VECTOR *, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Channel_Set3DAttributes");
  538.         qFMOD_Channel_Get3DAttributes = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_VECTOR *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DAttributes");
  539.         qFMOD_Channel_Set3DMinMaxDistance = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DMinMaxDistance");
  540.         qFMOD_Channel_Get3DMinMaxDistance = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DMinMaxDistance");
  541.         qFMOD_Channel_Set3DConeSettings = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float, float, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DConeSettings");
  542.         qFMOD_Channel_Get3DConeSettings = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, float *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DConeSettings");
  543.         qFMOD_Channel_Set3DConeOrientation = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Channel_Set3DConeOrientation");
  544.         qFMOD_Channel_Get3DConeOrientation = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DConeOrientation");
  545.         qFMOD_Channel_Set3DCustomRolloff = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_VECTOR *, int))GetProcAddress(hFMOD, "FMOD_Channel_Set3DCustomRolloff");
  546.         qFMOD_Channel_Get3DCustomRolloff = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_VECTOR **, int *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DCustomRolloff");
  547.         qFMOD_Channel_Set3DOcclusion = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DOcclusion");
  548.         qFMOD_Channel_Get3DOcclusion = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DOcclusion");
  549.         qFMOD_Channel_Set3DSpread = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DSpread");
  550.         qFMOD_Channel_Get3DSpread = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DSpread");
  551.         qFMOD_Channel_Set3DPanLevel = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DPanLevel");
  552.         qFMOD_Channel_Get3DPanLevel = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DPanLevel");
  553.         qFMOD_Channel_Set3DDopplerLevel = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DDopplerLevel");
  554.         qFMOD_Channel_Get3DDopplerLevel = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DDopplerLevel");
  555.         qFMOD_Channel_Set3DDistanceFilter = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL, float, float))GetProcAddress(hFMOD, "FMOD_Channel_Set3DDistanceFilter");
  556.         qFMOD_Channel_Get3DDistanceFilter = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL *, float *, float *))GetProcAddress(hFMOD, "FMOD_Channel_Get3DDistanceFilter");
  557.         qFMOD_Channel_GetDSPHead = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_Channel_GetDSPHead");
  558.         qFMOD_Channel_AddDSP = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_DSP *, FMOD_DSPCONNECTION **))GetProcAddress(hFMOD, "FMOD_Channel_AddDSP");
  559.         qFMOD_Channel_IsPlaying = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Channel_IsPlaying");
  560.         qFMOD_Channel_IsVirtual = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Channel_IsVirtual");
  561.         qFMOD_Channel_GetAudibility = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *))GetProcAddress(hFMOD, "FMOD_Channel_GetAudibility");
  562.         qFMOD_Channel_GetCurrentSound = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_SOUND **))GetProcAddress(hFMOD, "FMOD_Channel_GetCurrentSound");
  563.         qFMOD_Channel_GetSpectrum = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, int, int, FMOD_DSP_FFT_WINDOW))GetProcAddress(hFMOD, "FMOD_Channel_GetSpectrum");
  564.         qFMOD_Channel_GetWaveData = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, float *, int, int))GetProcAddress(hFMOD, "FMOD_Channel_GetWaveData");
  565.         qFMOD_Channel_GetIndex = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, int *))GetProcAddress(hFMOD, "FMOD_Channel_GetIndex");
  566.         qFMOD_Channel_SetMode = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_MODE))GetProcAddress(hFMOD, "FMOD_Channel_SetMode");
  567.         qFMOD_Channel_GetMode = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, FMOD_MODE *))GetProcAddress(hFMOD, "FMOD_Channel_GetMode");
  568.         qFMOD_Channel_SetLoopCount = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, int))GetProcAddress(hFMOD, "FMOD_Channel_SetLoopCount");
  569.         qFMOD_Channel_GetLoopCount = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, int *))GetProcAddress(hFMOD, "FMOD_Channel_GetLoopCount");
  570.         qFMOD_Channel_SetLoopPoints = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, unsigned int, FMOD_TIMEUNIT, unsigned int, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Channel_SetLoopPoints");
  571.         qFMOD_Channel_GetLoopPoints = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, unsigned int *, FMOD_TIMEUNIT, unsigned int *, FMOD_TIMEUNIT))GetProcAddress(hFMOD, "FMOD_Channel_GetLoopPoints");
  572.         qFMOD_Channel_SetUserData = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, void *))GetProcAddress(hFMOD, "FMOD_Channel_SetUserData");
  573.         qFMOD_Channel_GetUserData = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, void **))GetProcAddress(hFMOD, "FMOD_Channel_GetUserData");
  574.         qFMOD_Channel_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_CHANNEL *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_Channel_GetMemoryInfo");
  575.         qFMOD_ChannelGroup_Release = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_Release");
  576.         qFMOD_ChannelGroup_GetSystemObject = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_SYSTEM **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetSystemObject");
  577.         qFMOD_ChannelGroup_SetVolume = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_SetVolume");
  578.         qFMOD_ChannelGroup_GetVolume = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetVolume");
  579.         qFMOD_ChannelGroup_SetPitch = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_SetPitch");
  580.         qFMOD_ChannelGroup_GetPitch = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetPitch");
  581.         qFMOD_ChannelGroup_Set3DOcclusion = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_Set3DOcclusion");
  582.         qFMOD_ChannelGroup_Get3DOcclusion = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float *, float *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_Get3DOcclusion");
  583.         qFMOD_ChannelGroup_SetPaused = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_ChannelGroup_SetPaused");
  584.         qFMOD_ChannelGroup_GetPaused = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetPaused");
  585.         qFMOD_ChannelGroup_SetMute = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_ChannelGroup_SetMute");
  586.         qFMOD_ChannelGroup_GetMute = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetMute");
  587.         qFMOD_ChannelGroup_Stop = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_Stop");
  588.         qFMOD_ChannelGroup_OverrideVolume = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_OverrideVolume");
  589.         qFMOD_ChannelGroup_OverrideFrequency = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_OverrideFrequency");
  590.         qFMOD_ChannelGroup_OverridePan = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_OverridePan");
  591.         qFMOD_ChannelGroup_OverrideReverbProperties = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, const FMOD_REVERB_CHANNELPROPERTIES *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_OverrideReverbProperties");
  592.         qFMOD_ChannelGroup_Override3DAttributes = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, const FMOD_VECTOR *, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_Override3DAttributes");
  593.         qFMOD_ChannelGroup_OverrideSpeakerMix = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float, float, float, float, float, float, float, float))GetProcAddress(hFMOD, "FMOD_ChannelGroup_OverrideSpeakerMix");
  594.         qFMOD_ChannelGroup_AddGroup = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_CHANNELGROUP *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_AddGroup");
  595.         qFMOD_ChannelGroup_GetNumGroups = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, int *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetNumGroups");
  596.         qFMOD_ChannelGroup_GetGroup = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, int, FMOD_CHANNELGROUP **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetGroup");
  597.         qFMOD_ChannelGroup_GetParentGroup = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_CHANNELGROUP **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetParentGroup");
  598.         qFMOD_ChannelGroup_GetDSPHead = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetDSPHead");
  599.         qFMOD_ChannelGroup_AddDSP = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, FMOD_DSP *, FMOD_DSPCONNECTION **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_AddDSP");
  600.         qFMOD_ChannelGroup_GetName = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, char *, int))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetName");
  601.         qFMOD_ChannelGroup_GetNumChannels = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, int *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetNumChannels");
  602.         qFMOD_ChannelGroup_GetChannel = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, int, FMOD_CHANNEL **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetChannel");
  603.         qFMOD_ChannelGroup_GetSpectrum = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float *, int, int, FMOD_DSP_FFT_WINDOW))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetSpectrum");
  604.         qFMOD_ChannelGroup_GetWaveData = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, float *, int, int))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetWaveData");
  605.         qFMOD_ChannelGroup_SetUserData = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, void *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_SetUserData");
  606.         qFMOD_ChannelGroup_GetUserData = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, void **))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetUserData");
  607.         qFMOD_ChannelGroup_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_CHANNELGROUP *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_ChannelGroup_GetMemoryInfo");
  608.         qFMOD_SoundGroup_Release = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *))GetProcAddress(hFMOD, "FMOD_SoundGroup_Release");
  609.         qFMOD_SoundGroup_GetSystemObject = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, FMOD_SYSTEM **))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetSystemObject");
  610.         qFMOD_SoundGroup_SetMaxAudible = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, int))GetProcAddress(hFMOD, "FMOD_SoundGroup_SetMaxAudible");
  611.         qFMOD_SoundGroup_GetMaxAudible = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, int *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetMaxAudible");
  612.         qFMOD_SoundGroup_SetMaxAudibleBehavior = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, FMOD_SOUNDGROUP_BEHAVIOR))GetProcAddress(hFMOD, "FMOD_SoundGroup_SetMaxAudibleBehavior");
  613.         qFMOD_SoundGroup_GetMaxAudibleBehavior = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, FMOD_SOUNDGROUP_BEHAVIOR *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetMaxAudibleBehavior");
  614.         qFMOD_SoundGroup_SetMuteFadeSpeed = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, float))GetProcAddress(hFMOD, "FMOD_SoundGroup_SetMuteFadeSpeed");
  615.         qFMOD_SoundGroup_GetMuteFadeSpeed = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, float *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetMuteFadeSpeed");
  616.         qFMOD_SoundGroup_SetVolume = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, float))GetProcAddress(hFMOD, "FMOD_SoundGroup_SetVolume");
  617.         qFMOD_SoundGroup_GetVolume = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, float *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetVolume");
  618.         qFMOD_SoundGroup_Stop = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *))GetProcAddress(hFMOD, "FMOD_SoundGroup_Stop");
  619.         qFMOD_SoundGroup_GetName = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, char *, int))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetName");
  620.         qFMOD_SoundGroup_GetNumSounds = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, int *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetNumSounds");
  621.         qFMOD_SoundGroup_GetSound = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, int, FMOD_SOUND **))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetSound");
  622.         qFMOD_SoundGroup_GetNumPlaying = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, int *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetNumPlaying");
  623.         qFMOD_SoundGroup_SetUserData = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, void *))GetProcAddress(hFMOD, "FMOD_SoundGroup_SetUserData");
  624.         qFMOD_SoundGroup_GetUserData = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, void **))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetUserData");
  625.         qFMOD_SoundGroup_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_SOUNDGROUP *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_SoundGroup_GetMemoryInfo");
  626.         qFMOD_DSP_Release = (FMOD_RESULT (F_API *)(FMOD_DSP *))GetProcAddress(hFMOD, "FMOD_DSP_Release");
  627.         qFMOD_DSP_GetSystemObject = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_SYSTEM **))GetProcAddress(hFMOD, "FMOD_DSP_GetSystemObject");
  628.         qFMOD_DSP_AddInput = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_DSP *, FMOD_DSPCONNECTION **))GetProcAddress(hFMOD, "FMOD_DSP_AddInput");
  629.         qFMOD_DSP_DisconnectFrom = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_DSP *))GetProcAddress(hFMOD, "FMOD_DSP_DisconnectFrom");
  630.         qFMOD_DSP_DisconnectAll = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_BOOL, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_DSP_DisconnectAll");
  631.         qFMOD_DSP_Remove = (FMOD_RESULT (F_API *)(FMOD_DSP *))GetProcAddress(hFMOD, "FMOD_DSP_Remove");
  632.         qFMOD_DSP_GetNumInputs = (FMOD_RESULT (F_API *)(FMOD_DSP *, int *))GetProcAddress(hFMOD, "FMOD_DSP_GetNumInputs");
  633.         qFMOD_DSP_GetNumOutputs = (FMOD_RESULT (F_API *)(FMOD_DSP *, int *))GetProcAddress(hFMOD, "FMOD_DSP_GetNumOutputs");
  634.         qFMOD_DSP_GetInput = (FMOD_RESULT (F_API *)(FMOD_DSP *, int, FMOD_DSP **, FMOD_DSPCONNECTION **))GetProcAddress(hFMOD, "FMOD_DSP_GetInput");
  635.         qFMOD_DSP_GetOutput = (FMOD_RESULT (F_API *)(FMOD_DSP *, int, FMOD_DSP **, FMOD_DSPCONNECTION **))GetProcAddress(hFMOD, "FMOD_DSP_GetOutput");
  636.         qFMOD_DSP_SetActive = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_DSP_SetActive");
  637.         qFMOD_DSP_GetActive = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_DSP_GetActive");
  638.         qFMOD_DSP_SetBypass = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_DSP_SetBypass");
  639.         qFMOD_DSP_GetBypass = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_DSP_GetBypass");
  640.         qFMOD_DSP_SetSpeakerActive = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_SPEAKER, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_DSP_SetSpeakerActive");
  641.         qFMOD_DSP_GetSpeakerActive = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_SPEAKER, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_DSP_GetSpeakerActive");
  642.         qFMOD_DSP_Reset = (FMOD_RESULT (F_API *)(FMOD_DSP *))GetProcAddress(hFMOD, "FMOD_DSP_Reset");
  643.         qFMOD_DSP_SetParameter = (FMOD_RESULT (F_API *)(FMOD_DSP *, int, float))GetProcAddress(hFMOD, "FMOD_DSP_SetParameter");
  644.         qFMOD_DSP_GetParameter = (FMOD_RESULT (F_API *)(FMOD_DSP *, int, float *, char *, int))GetProcAddress(hFMOD, "FMOD_DSP_GetParameter");
  645.         qFMOD_DSP_GetNumParameters = (FMOD_RESULT (F_API *)(FMOD_DSP *, int *))GetProcAddress(hFMOD, "FMOD_DSP_GetNumParameters");
  646.         qFMOD_DSP_GetParameterInfo = (FMOD_RESULT (F_API *)(FMOD_DSP *, int, char *, char *, char *, int, float *, float *))GetProcAddress(hFMOD, "FMOD_DSP_GetParameterInfo");
  647.         qFMOD_DSP_ShowConfigDialog = (FMOD_RESULT (F_API *)(FMOD_DSP *, void *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_DSP_ShowConfigDialog");
  648.         qFMOD_DSP_GetInfo = (FMOD_RESULT (F_API *)(FMOD_DSP *, char *, unsigned int *, int *, int *, int *))GetProcAddress(hFMOD, "FMOD_DSP_GetInfo");
  649.         qFMOD_DSP_GetType = (FMOD_RESULT (F_API *)(FMOD_DSP *, FMOD_DSP_TYPE *))GetProcAddress(hFMOD, "FMOD_DSP_GetType");
  650.         qFMOD_DSP_SetDefaults = (FMOD_RESULT (F_API *)(FMOD_DSP *, float, float, float, int))GetProcAddress(hFMOD, "FMOD_DSP_SetDefaults");
  651.         qFMOD_DSP_GetDefaults = (FMOD_RESULT (F_API *)(FMOD_DSP *, float *, float *, float *, int *))GetProcAddress(hFMOD, "FMOD_DSP_GetDefaults");
  652.         qFMOD_DSP_SetUserData = (FMOD_RESULT (F_API *)(FMOD_DSP *, void *))GetProcAddress(hFMOD, "FMOD_DSP_SetUserData");
  653.         qFMOD_DSP_GetUserData = (FMOD_RESULT (F_API *)(FMOD_DSP *, void **))GetProcAddress(hFMOD, "FMOD_DSP_GetUserData");
  654.         qFMOD_DSP_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_DSP *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_DSP_GetMemoryInfo");
  655.         qFMOD_DSPConnection_GetInput = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_DSPConnection_GetInput");
  656.         qFMOD_DSPConnection_GetOutput = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, FMOD_DSP **))GetProcAddress(hFMOD, "FMOD_DSPConnection_GetOutput");
  657.         qFMOD_DSPConnection_SetMix = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, float))GetProcAddress(hFMOD, "FMOD_DSPConnection_SetMix");
  658.         qFMOD_DSPConnection_GetMix = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, float *))GetProcAddress(hFMOD, "FMOD_DSPConnection_GetMix");
  659.         qFMOD_DSPConnection_SetLevels = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, FMOD_SPEAKER, float *, int))GetProcAddress(hFMOD, "FMOD_DSPConnection_SetLevels");
  660.         qFMOD_DSPConnection_GetLevels = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, FMOD_SPEAKER, float *, int))GetProcAddress(hFMOD, "FMOD_DSPConnection_GetLevels");
  661.         qFMOD_DSPConnection_SetUserData = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, void *))GetProcAddress(hFMOD, "FMOD_DSPConnection_SetUserData");
  662.         qFMOD_DSPConnection_GetUserData = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, void **))GetProcAddress(hFMOD, "FMOD_DSPConnection_GetUserData");
  663.         qFMOD_DSPConnection_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_DSPCONNECTION *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_DSPConnection_GetMemoryInfo");
  664.         qFMOD_Geometry_Release = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *))GetProcAddress(hFMOD, "FMOD_Geometry_Release");
  665.         qFMOD_Geometry_AddPolygon = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, float, float, FMOD_BOOL, int, const FMOD_VECTOR *, int *))GetProcAddress(hFMOD, "FMOD_Geometry_AddPolygon");
  666.         qFMOD_Geometry_GetNumPolygons = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int *))GetProcAddress(hFMOD, "FMOD_Geometry_GetNumPolygons");
  667.         qFMOD_Geometry_GetMaxPolygons = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int *, int *))GetProcAddress(hFMOD, "FMOD_Geometry_GetMaxPolygons");
  668.         qFMOD_Geometry_GetPolygonNumVertices = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int, int *))GetProcAddress(hFMOD, "FMOD_Geometry_GetPolygonNumVertices");
  669.         qFMOD_Geometry_SetPolygonVertex = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int, int, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_SetPolygonVertex");
  670.         qFMOD_Geometry_GetPolygonVertex = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int, int, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_GetPolygonVertex");
  671.         qFMOD_Geometry_SetPolygonAttributes = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int, float, float, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_Geometry_SetPolygonAttributes");
  672.         qFMOD_Geometry_GetPolygonAttributes = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, int, float *, float *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Geometry_GetPolygonAttributes");
  673.         qFMOD_Geometry_SetActive = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_Geometry_SetActive");
  674.         qFMOD_Geometry_GetActive = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Geometry_GetActive");
  675.         qFMOD_Geometry_SetRotation = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, const FMOD_VECTOR *, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_SetRotation");
  676.         qFMOD_Geometry_GetRotation = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, FMOD_VECTOR *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_GetRotation");
  677.         qFMOD_Geometry_SetPosition = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_SetPosition");
  678.         qFMOD_Geometry_GetPosition = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_GetPosition");
  679.         qFMOD_Geometry_SetScale = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, const FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_SetScale");
  680.         qFMOD_Geometry_GetScale = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, FMOD_VECTOR *))GetProcAddress(hFMOD, "FMOD_Geometry_GetScale");
  681.         qFMOD_Geometry_Save = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, void *, int *))GetProcAddress(hFMOD, "FMOD_Geometry_Save");
  682.         qFMOD_Geometry_SetUserData = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, void *))GetProcAddress(hFMOD, "FMOD_Geometry_SetUserData");
  683.         qFMOD_Geometry_GetUserData = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, void **))GetProcAddress(hFMOD, "FMOD_Geometry_GetUserData");
  684.         qFMOD_Geometry_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_GEOMETRY *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_Geometry_GetMemoryInfo");
  685.         qFMOD_Reverb_Release = (FMOD_RESULT (F_API *)(FMOD_REVERB *))GetProcAddress(hFMOD, "FMOD_Reverb_Release");
  686.         qFMOD_Reverb_Set3DAttributes = (FMOD_RESULT (F_API *)(FMOD_REVERB *, const FMOD_VECTOR *, float, float))GetProcAddress(hFMOD, "FMOD_Reverb_Set3DAttributes");
  687.         qFMOD_Reverb_Get3DAttributes = (FMOD_RESULT (F_API *)(FMOD_REVERB *, FMOD_VECTOR *, float *, float *))GetProcAddress(hFMOD, "FMOD_Reverb_Get3DAttributes");
  688.         qFMOD_Reverb_SetProperties = (FMOD_RESULT (F_API *)(FMOD_REVERB *, const FMOD_REVERB_PROPERTIES *))GetProcAddress(hFMOD, "FMOD_Reverb_SetProperties");
  689.         qFMOD_Reverb_GetProperties = (FMOD_RESULT (F_API *)(FMOD_REVERB *, FMOD_REVERB_PROPERTIES *))GetProcAddress(hFMOD, "FMOD_Reverb_GetProperties");
  690.         qFMOD_Reverb_SetActive = (FMOD_RESULT (F_API *)(FMOD_REVERB *, FMOD_BOOL))GetProcAddress(hFMOD, "FMOD_Reverb_SetActive");
  691.         qFMOD_Reverb_GetActive = (FMOD_RESULT (F_API *)(FMOD_REVERB *, FMOD_BOOL *))GetProcAddress(hFMOD, "FMOD_Reverb_GetActive");
  692.         qFMOD_Reverb_SetUserData = (FMOD_RESULT (F_API *)(FMOD_REVERB *, void *))GetProcAddress(hFMOD, "FMOD_Reverb_SetUserData");
  693.         qFMOD_Reverb_GetUserData = (FMOD_RESULT (F_API *)(FMOD_REVERB *, void **))GetProcAddress(hFMOD, "FMOD_Reverb_GetUserData");
  694.         qFMOD_Reverb_GetMemoryInfo = (FMOD_RESULT (F_API *)(FMOD_REVERB *, unsigned int, unsigned int, unsigned int *, FMOD_MEMORY_USAGE_DETAILS *))GetProcAddress(hFMOD, "FMOD_Reverb_GetMemoryInfo");
  695.     }
  696. }

  697. void QFMOD_Shutdown(void)
  698. {
  699.     if (hFMOD)
  700.         FreeLibrary(hFMOD);
  701. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ESFKAMI    

GMT+8, 2018-7-17 12:09 , Processed in 0.433063 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表