1 (* ============================================================================================= *)
2 (* FMOD Ex - Main Pascal header file. Copyright (c), Firelight Technologies Pty, Ltd. 2004-2008. *)
4 (* This header is for statically linking to the FMOD library. *)
6 (* ============================================================================================= *)
17 (* ========================================================================================== *)
18 (* FUNCTION PROTOTYPES *)
19 (* ========================================================================================== *)
22 FMOD System memory functions (optional).
25 function FMOD_Memory_Initialize (poolmem
: Pointer; poollen
: Integer; useralloc
: FMOD_MEMORY_ALLOCCALLBACK
; userrealloc
: FMOD_MEMORY_REALLOCCALLBACK
; userfree
: FMOD_MEMORY_FREECALLBACK
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
26 function FMOD_Memory_GetStats (var currentalloced
: Integer; var maxalloced
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
29 FMOD System factory functions. Use this to create an FMOD System Instance. below you will see FMOD_System_Init/Close to get started.
32 function FMOD_System_Create (var system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
33 function FMOD_System_Release (system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
43 function FMOD_System_SetOutput (system
: FMOD_SYSTEM
; output
: FMOD_OUTPUTTYPE
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
44 function FMOD_System_GetOutput (system
: FMOD_SYSTEM
; var output
: FMOD_OUTPUTTYPE
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
45 function FMOD_System_GetNumDrivers (system
: FMOD_SYSTEM
; var numdrivers
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
46 // function FMOD_System_GetDriverName (system: FMOD_SYSTEM; id: Integer; name: PChar; namelen: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
47 function FMOD_System_GetDriverCaps (system
: FMOD_SYSTEM
; id
: Integer; var caps
: Cardinal; var minfrequency
, maxfrequency
: Integer; var controlpanelspeakermode
: FMOD_SPEAKERMODE
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
48 function FMOD_System_SetDriver (system
: FMOD_SYSTEM
; driver
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
49 function FMOD_System_GetDriver (system
: FMOD_SYSTEM
; var driver
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
50 function FMOD_System_SetHardwareChannels (system
: FMOD_SYSTEM
; min2d
: Integer; max2d
: Integer; min3d
: Integer; max3d
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
51 function FMOD_System_GetHardwareChannels (system
: FMOD_SYSTEM
; var numhw2d
: Integer; var numhw3d
: Integer; var total
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
52 function FMOD_System_SetSoftwareChannels (system
: FMOD_SYSTEM
; numsoftwarechannels
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
53 function FMOD_System_GetSoftwareChannels (system
: FMOD_SYSTEM
; var numsoftwarechannels
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
54 function FMOD_System_SetSoftwareFormat (system
: FMOD_SYSTEM
; samplerate
: Integer; format
: FMOD_SOUND_FORMAT
; numoutputchannels
: Integer; maxinputchannels
: Integer; resamplemethod
: FMOD_DSP_RESAMPLER
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
55 function FMOD_System_GetSoftwareFormat (system
: FMOD_SYSTEM
; var samplerate
: Integer; var format
: FMOD_SOUND_FORMAT
; var numoutputchannels
: Integer; var maxinputchannels
: Integer; var bits
: Integer; var resamplemethod
: FMOD_DSP_RESAMPLER
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
56 function FMOD_System_SetDSPBufferSize (system
: FMOD_SYSTEM
; bufferlength
: Cardinal; numbuffers
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
57 function FMOD_System_GetDSPBufferSize (system
: FMOD_SYSTEM
; var bufferlength
: Cardinal; var numbuffers
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
58 function FMOD_System_SetFileSystem (system
: FMOD_SYSTEM
; useropen
: FMOD_FILE_OPENCALLBACK
; userclose
: FMOD_FILE_CLOSECALLBACK
; userread
: FMOD_FILE_READCALLBACK
; userseek
: FMOD_FILE_SEEKCALLBACK
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
59 function FMOD_System_AttachFileSystem (system
: FMOD_SYSTEM
; useropen
: FMOD_FILE_OPENCALLBACK
; userclose
: FMOD_FILE_CLOSECALLBACK
; userread
: FMOD_FILE_READCALLBACK
; userseek
: FMOD_FILE_SEEKCALLBACK
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
60 function FMOD_System_SetAdvancedSettings (system
: FMOD_SYSTEM
; var settings
:FMOD_ADVANCEDSETTINGS
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
61 function FMOD_System_GetAdvancedSettings (system
: FMOD_SYSTEM
; var settings
:FMOD_ADVANCEDSETTINGS
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
62 function FMOD_System_SetSpeakerMode (system
: FMOD_SYSTEM
; speakermode
: FMOD_SPEAKERMODE
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
63 function FMOD_System_GetSpeakerMode (system
: FMOD_SYSTEM
; var speakermode
: FMOD_SPEAKERMODE
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
69 function FMOD_System_SetPluginPath (system
: FMOD_SYSTEM
; const path
: PChar): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
70 function FMOD_System_LoadPlugin (system
: FMOD_SYSTEM
; const filename
: PChar; var plugintype
: FMOD_PLUGINTYPE
; var index
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
71 function FMOD_System_GetNumPlugins (system
: FMOD_SYSTEM
; plugintype
: FMOD_PLUGINTYPE
; var numplugins
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
72 function FMOD_System_GetPluginInfo (system
: FMOD_SYSTEM
; plugintype
: FMOD_PLUGINTYPE
; index
: Integer; name
: PChar; namelen
: Integer; version
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
73 function FMOD_System_UnloadPlugin (system
: FMOD_SYSTEM
; plugintype
: FMOD_PLUGINTYPE
; index
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
74 function FMOD_System_SetOutputByPlugin (system
: FMOD_SYSTEM
; index
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
75 function FMOD_System_GetOutputByPlugin (system
: FMOD_SYSTEM
; var index
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
76 // function FMOD_System_CreateCodec (system: FMOD_SYSTEM; description:FMOD_CODEC_DESCRIPTION): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
82 function FMOD_System_Init (system
: FMOD_SYSTEM
; maxchannels
: Integer; flags
: Cardinal; const extradriverdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
83 function FMOD_System_Close (system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
86 General post-init system functions
89 function FMOD_System_Update (system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
90 // function FMOD_System_UpdateFinished (system: FMOD_SYSTEM): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
92 function FMOD_System_Set3DSettings (system
: FMOD_SYSTEM
; dopplerscale
, distancefactor
, rolloffscale
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
93 function FMOD_System_Get3DSettings (system
: FMOD_SYSTEM
; var dopplerscale
: Single; var distancefactor
: Single; var rolloffscale
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
94 function FMOD_System_Set3DNumListeners (system
: FMOD_SYSTEM
; numlisteners
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
95 function FMOD_System_Get3DNumListeners (system
: FMOD_SYSTEM
; var numlisteners
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
96 function FMOD_System_Set3DListenerAttributes(system
: FMOD_SYSTEM
; listener
: Integer; const pos
: FMOD_VECTOR
; const vel
: FMOD_VECTOR
; const forward_
: FMOD_VECTOR
; const up
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
97 function FMOD_System_Get3DListenerAttributes(system
: FMOD_SYSTEM
; listener
: Integer; var pos
: FMOD_VECTOR
; var vel
: FMOD_VECTOR
; var forward_
: FMOD_VECTOR
; var up
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
99 // function FMOD_System_SetSpeakerPosition (system: FMOD_SYSTEM; speaker: FMOD_SPEAKER; x:Single; y:Single): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
100 // function FMOD_System_GetSpeakerPosition (system: FMOD_SYSTEM; speaker: FMOD_SPEAKER; var x:Single; var y:Single): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
101 function FMOD_System_SetStreamBufferSize (system
: FMOD_SYSTEM
; filebuffersize
: Cardinal; filebuffersizetype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
102 function FMOD_System_GetStreamBufferSize (system
: FMOD_SYSTEM
; var filebuffersize
: Cardinal; filebuffersizetype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
105 System information functions.
108 function FMOD_System_GetVersion (system
: FMOD_SYSTEM
; var version
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
109 function FMOD_System_GetOutputHandle (system
: FMOD_SYSTEM
; var handle
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
110 function FMOD_System_GetChannelsPlaying (system
: FMOD_SYSTEM
; var channels
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
111 function FMOD_System_GetCPUUsage (system
: FMOD_SYSTEM
; var dsp
, stream
, update
, total
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
112 function FMOD_System_GetSoundRAM (system
: FMOD_SYSTEM
; var currentalloced
: Integer; var maxalloced
: Integer; var total
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
113 function FMOD_System_GetNumCDROMDrives (system
: FMOD_SYSTEM
; var num
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
114 function FMOD_System_GetCDROMDriveName (system
: FMOD_SYSTEM
; drivenum
: Integer; name
: PChar; namelen
: Integer; scsiaddr
: PChar; scsiaddrlen
: Integer; devicename
: PChar; devicenamelen
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
115 function FMOD_System_GetSpectrum (system
: FMOD_SYSTEM
; var spectrumarray
: Single; numvalues
: Integer; channeloffset
: Integer; windowtype
: FMOD_DSP_FFT_WINDOW
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
116 function FMOD_System_GetWaveData (system
: FMOD_SYSTEM
; var wavearray
: Single; numvalues
: Integer; channeloffset
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
119 Sound/DSP/Channel/FX creation and retrieval.
122 function FMOD_System_CreateSound (system
: FMOD_SYSTEM
; const name_or_data
: PChar; mode
: Cardinal; exinfo
: PFMOD_CREATESOUNDEXINFO
; var sound
: FMOD_SOUND
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
123 function FMOD_System_CreateStream (system
: FMOD_SYSTEM
; const name_or_data
: PChar; mode
: Cardinal; exinfo
: PFMOD_CREATESOUNDEXINFO
; var sound
: FMOD_SOUND
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
124 function FMOD_System_CreateDSP (system
: FMOD_SYSTEM
; const description
: FMOD_DSP_DESCRIPTION
; var dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
125 function FMOD_System_CreateDSPByType (system
: FMOD_SYSTEM
; type_
: FMOD_DSP_TYPE
; var dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
126 // function FMOD_System_CreateDSPByIndex (system: FMOD_SYSTEM; index: Integer; var dsp: FMOD_DSP): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
127 function FMOD_System_CreateChannelGroup (system
: FMOD_SYSTEM
; const name
: PChar; var channelgroup
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
129 function FMOD_System_PlaySound (system
: FMOD_SYSTEM
; channelid
: Integer; sound
: FMOD_SOUND
; paused
: FMOD_BOOL
; var channel
: FMOD_CHANNEL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
130 function FMOD_System_PlayDSP (system
: FMOD_SYSTEM
; channelid
: Integer; dsp
: FMOD_DSP
; paused
: FMOD_BOOL
; var channel
: FMOD_CHANNEL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
131 function FMOD_System_GetChannel (system
: FMOD_SYSTEM
; channelid
: Integer; var channel
: FMOD_CHANNEL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
132 function FMOD_System_GetMasterChannelGroup (system
: FMOD_SYSTEM
; var channelgroup
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
138 function FMOD_System_SetReverbProperties (system
: FMOD_SYSTEM
; const prop
: FMOD_REVERB_PROPERTIES
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
139 function FMOD_System_GetReverbProperties (system
: FMOD_SYSTEM
; var prop
: FMOD_REVERB_PROPERTIES
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
140 Function FMOD_System_SetReverbAmbientProperties(system
:FMOD_SYSTEM
; var prop
:FMOD_REVERB_PROPERTIES
):FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
143 System level DSP access.
146 function FMOD_System_GetDSPHead (system
: FMOD_SYSTEM
; var dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
147 function FMOD_System_AddDSP (system
: FMOD_SYSTEM
; dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
148 function FMOD_System_LockDSP (system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
149 function FMOD_System_UnlockDSP (system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
155 // function FMOD_System_SetRecordDriver (system: FMOD_SYSTEM; driver: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
156 // function FMOD_System_GetRecordDriver (system: FMOD_SYSTEM; var driver: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
157 function FMOD_System_GetRecordNumDrivers (system
: FMOD_SYSTEM
; var numdrivers
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
158 // function FMOD_System_GetRecordDriverName (system: FMOD_SYSTEM; id: Integer; name: PChar; namelen: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
159 function FMOD_System_GetRecordPosition (system
: FMOD_SYSTEM
; var position
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
161 function FMOD_System_RecordStart (system
: FMOD_SYSTEM
; sound
: FMOD_SOUND
; loop
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
162 function FMOD_System_RecordStop (system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
163 function FMOD_System_IsRecording (system
: FMOD_SYSTEM
; var recording
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
169 function FMOD_System_CreateGeometry (system
: FMOD_SYSTEM
; maxPolygons
: Integer; maxVertices
: Integer; var geometry
: FMOD_GEOMETRY
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
170 function FMOD_System_SetGeometrySettings (system
: FMOD_SYSTEM
; maxWorldSize
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
171 function FMOD_System_GetGeometrySettings (system
: FMOD_SYSTEM
; var maxWorldSize
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
172 function FMOD_System_LoadGeometry (system
: FMOD_SYSTEM
; data
: Pointer; dataSize
: Integer; var geometry
: FMOD_GEOMETRY
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
178 function FMOD_System_SetNetworkProxy (system
: FMOD_SYSTEM
; const proxy
: PChar): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
179 function FMOD_System_GetNetworkProxy (system
: FMOD_SYSTEM
; proxy
: PChar; proxylen
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
180 function FMOD_System_SetNetworkTimeout (system
: FMOD_SYSTEM
; timeout
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
181 function FMOD_System_GetNetworkTimeout (system
: FMOD_SYSTEM
; var timeout
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
187 function FMOD_System_SetUserData (system
: FMOD_SYSTEM
; userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
188 function FMOD_System_GetUserData (system
: FMOD_SYSTEM
; var userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
194 function FMOD_Sound_Release (sound
: FMOD_SOUND
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
195 function FMOD_Sound_GetSystemObject (sound
: FMOD_SOUND
; var system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
198 Standard sound manipulation functions.
201 function FMOD_Sound_Lock (sound
: FMOD_SOUND
; offset
, length
: Cardinal; var ptr1
: Pointer; var ptr2
: Pointer; var len1
: Cardinal; var len2
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
202 function FMOD_Sound_Unlock (sound
: FMOD_SOUND
; ptr1
, ptr2
: Pointer; len1
, len2
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
203 function FMOD_Sound_SetDefaults (sound
: FMOD_SOUND
; frequency
, volume
, pan
: Single; const levels
: Single; priority
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
204 function FMOD_Sound_GetDefaults (sound
: FMOD_SOUND
; var frequency
: Single; var volume
: Single; var pan
: Single; var priority
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
205 function FMOD_Sound_SetVariations (sound
: FMOD_SOUND
; frequency
, volume
, pan
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
206 function FMOD_Sound_GetVariations (sound
: FMOD_SOUND
; var frequency
: Single; var volume
: Single; var pan
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
207 function FMOD_Sound_Set3DMinMaxDistance (sound
: FMOD_SOUND
; min
, max
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
208 function FMOD_Sound_Get3DMinMaxDistance (sound
: FMOD_SOUND
; var min
: Single; var max
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
209 function FMOD_Sound_Set3DConeSettings (sound
: FMOD_SOUND
; insideconeangle
: Single; outsideconeangle
: Single; outsidevolume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
210 function FMOD_Sound_Get3DConeSettings (sound
: FMOD_SOUND
; var insideconeangle
: Single; var outsideconeangle
: Single; var outsidevolume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
211 function FMOD_Sound_Set3DCustomRolloff (sound
: FMOD_SOUND
; points
: FMOD_VECTOR
; numpoints
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
212 function FMOD_Sound_Get3DCustomRolloff (sound
: FMOD_SOUND
; var points
: FMOD_VECTOR
; var numpoints
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
213 function FMOD_Sound_SetSubSound (sound
: FMOD_SOUND
; index
: Integer; subsound
: FMOD_SOUND
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
214 function FMOD_Sound_GetSubSound (sound
: FMOD_SOUND
; index
: Integer; var subsound
: FMOD_SOUND
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
215 function FMOD_Sound_SetSubSoundSentence (sound
: FMOD_SOUND
; var subsoundlist
: Integer; numsubsounds
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
216 function FMOD_Sound_GetName (sound
: FMOD_SOUND
; name
: PChar; namelen
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
217 function FMOD_Sound_GetLength (sound
: FMOD_SOUND
; var length
: Cardinal; lengthtype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
218 function FMOD_Sound_GetFormat (sound
: FMOD_SOUND
; var type_
: FMOD_SOUND_TYPE
; var format
: FMOD_SOUND_FORMAT
; var channels
: Integer; var bits
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
219 function FMOD_Sound_GetNumSubSounds (sound
: FMOD_SOUND
; var numsubsounds
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
220 function FMOD_Sound_GetNumTags (sound
: FMOD_SOUND
; var numtags
: Integer; var numtagsupdated
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
221 function FMOD_Sound_GetTag (sound
: FMOD_SOUND
; const name
: PChar; index
: Integer; var tag
: FMOD_TAG
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
222 function FMOD_Sound_GetOpenState (sound
: FMOD_SOUND
; var openstate
: FMOD_OPENSTATE
; var percentbuffered
: Cardinal; var starving
: Boolean): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
223 function FMOD_Sound_ReadData (sound
: FMOD_SOUND
; buffer
: Pointer; lenbytes
: Cardinal; var read
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
224 function FMOD_Sound_SeekData (sound
: FMOD_SOUND
; pcm
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
227 Synchronization point API. These points can come from markers embedded in wav files, and can also generate channel callbacks.
230 function FMOD_Sound_GetNumSyncPoints (sound
: FMOD_SOUND
; var numsyncpoints
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
231 function FMOD_Sound_GetSyncPoint (sound
: FMOD_SOUND
; index
: Integer; var point
: FMOD_SYNCPOINT
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
232 function FMOD_Sound_GetSyncPointInfo (sound
: FMOD_SOUND
; point
: FMOD_SYNCPOINT
; name
: PChar; namelen
: Integer; offset
: Cardinal; offsettype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
233 function FMOD_Sound_AddSyncPoint (sound
: FMOD_SOUND
; offset
: Cardinal; offsettype
: Cardinal; name
: PChar; var point
: FMOD_SYNCPOINT
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
234 function FMOD_Sound_DeleteSyncPoint (sound
: FMOD_SOUND
; point
: FMOD_SYNCPOINT
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
237 Functions also in Channel class but here they are the 'default' to save having to change it in Channel all the time.
240 function FMOD_Sound_SetMode (sound
: FMOD_SOUND
; mode
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
241 function FMOD_Sound_GetMode (sound
: FMOD_SOUND
; var mode
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
242 function FMOD_Sound_SetLoopCount (sound
: FMOD_SOUND
; loopcount
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
243 function FMOD_Sound_GetLoopCount (sound
: FMOD_SOUND
; var loopcount
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
244 function FMOD_Sound_SetLoopPoints (sound
: FMOD_SOUND
; loopstart
: Cardinal; loopstarttype
: Cardinal; loopend
: Cardinal; loopendtype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
245 function FMOD_Sound_GetLoopPoints (sound
: FMOD_SOUND
; var loopstart
: Cardinal; loopstarttype
: Cardinal; var loopend
: Cardinal; loopendtype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
251 function FMOD_Sound_SetUserData (sound
: FMOD_SOUND
; userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
252 function FMOD_Sound_GetUserData (sound
: FMOD_SOUND
; var userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
258 function FMOD_Channel_GetSystemObject (channel
: FMOD_CHANNEL
; var system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
260 function FMOD_Channel_Stop (channel
: FMOD_CHANNEL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
261 function FMOD_Channel_SetPaused (channel
: FMOD_CHANNEL
; paused
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
262 function FMOD_Channel_GetPaused (channel
: FMOD_CHANNEL
; var paused
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
263 function FMOD_Channel_SetVolume (channel
: FMOD_CHANNEL
; volume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
264 function FMOD_Channel_GetVolume (channel
: FMOD_CHANNEL
; var volume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
265 function FMOD_Channel_SetFrequency (channel
: FMOD_CHANNEL
; frequency
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
266 function FMOD_Channel_GetFrequency (channel
: FMOD_CHANNEL
; var frequency
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
267 function FMOD_Channel_SetPan (channel
: FMOD_CHANNEL
; pan
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
268 function FMOD_Channel_GetPan (channel
: FMOD_CHANNEL
; var pan
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
269 function FMOD_Channel_SetDelay (channel
: FMOD_CHANNEL
; startdelay
: Cardinal; enddelay
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
270 function FMOD_Channel_GetDelay (channel
: FMOD_CHANNEL
; var startdelay
: Cardinal; var enddelay
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
271 function FMOD_Channel_SetSpeakerMix (channel
: FMOD_CHANNEL
; frontleft
, frontright
, center
, lfe
, backleft
, backright
, sideleft
, sideright
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
272 function FMOD_Channel_GetSpeakerMix (channel
: FMOD_CHANNEL
; var frontleft
: Single; var frontright
: Single; var center
: Single; var lfe
: Single; var backleft
: Single; var backright
: Single; var sideleft
: Single; var sideright
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
273 function FMOD_Channel_SetSpeakerLevels (channel
: FMOD_CHANNEL
; speaker
: FMOD_SPEAKER
; const levels
: Single; numlevels
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
274 function FMOD_Channel_GetSpeakerLevels (channel
: FMOD_CHANNEL
; speaker
: FMOD_SPEAKER
; var levels
: Single; var numlevels
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
275 function FMOD_Channel_SetMute (channel
: FMOD_CHANNEL
; mute
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
276 function FMOD_Channel_GetMute (channel
: FMOD_CHANNEL
; var mute
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
277 function FMOD_Channel_SetPriority (channel
: FMOD_CHANNEL
; priority
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
278 function FMOD_Channel_GetPriority (channel
: FMOD_CHANNEL
; var priority
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
279 function FMOD_Channel_SetPosition (channel
: FMOD_CHANNEL
; position
: Cardinal; postype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
280 function FMOD_Channel_GetPosition (channel
: FMOD_CHANNEL
; var position
: Cardinal; postype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
281 function FMOD_Channel_SetReverbProperties (channel
: FMOD_CHANNEL
; const prop
: FMOD_REVERB_CHANNELPROPERTIES
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
282 function FMOD_Channel_GetReverbProperties (channel
: FMOD_CHANNEL
; var prop
: FMOD_REVERB_CHANNELPROPERTIES
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
283 function FMOD_Channel_SetChannelGroup (channel
: FMOD_CHANNEL
; channelgroup
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
284 function FMOD_Channel_GetChannelGroup (channel
: FMOD_CHANNEL
; var channelgroup
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
285 function FMOD_Channel_SetCallback (channel
: FMOD_CHANNEL
; callback
: FMOD_CHANNEL_CALLBACK
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
291 function FMOD_Channel_Set3DAttributes (channel
: FMOD_CHANNEL
; const pos
: FMOD_VECTOR
; const vel
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
292 function FMOD_Channel_Get3DAttributes (channel
: FMOD_CHANNEL
; var pos
: FMOD_VECTOR
; var vel
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
293 function FMOD_Channel_Set3DMinMaxDistance (channel
: FMOD_CHANNEL
; mindistance
, maxdistance
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
294 function FMOD_Channel_Get3DMinMaxDistance (channel
: FMOD_CHANNEL
; var mindistance
: Single; var maxdistance
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
295 function FMOD_Channel_Set3DConeSettings (channel
: FMOD_CHANNEL
; insideconeangle
: Single; outsideconeangle
: Single; outsidevolume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
296 function FMOD_Channel_Get3DConeSettings (channel
: FMOD_CHANNEL
; var insideconeangle
: Single; var outsideconeangle
: Single; var outsidevolume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
297 function FMOD_Channel_Set3DConeOrientation (channel
: FMOD_CHANNEL
; var orientation
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
298 function FMOD_Channel_Get3DConeOrientation (channel
: FMOD_CHANNEL
; var orientation
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
299 function FMOD_Channel_Set3DCustomRolloff (channel
: FMOD_CHANNEL
; points
: FMOD_VECTOR
; numpoints
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
300 function FMOD_Channel_Get3DCustomRolloff (channel
: FMOD_CHANNEL
; var points
: FMOD_VECTOR
; var numpoints
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
301 function FMOD_Channel_Set3DOcclusion (channel
: FMOD_CHANNEL
; directOcclusion
: Single; reverbOcclusion
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
302 function FMOD_Channel_Get3DOcclusion (channel
: FMOD_CHANNEL
; var directOcclusion
: Single; var reverbOcclusion
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
303 function FMOD_Channel_Set3DSpread (channel
: FMOD_CHANNEL
; angle
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
304 function FMOD_Channel_Get3DSpread (channel
: FMOD_CHANNEL
; var angle
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
305 function FMOD_Channel_Set3DPanLevel (channel
: FMOD_CHANNEL
; level
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
306 function FMOD_Channel_Get3DPanLevel (channel
: FMOD_CHANNEL
; var level
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
309 DSP functionality only for channels playing sounds created with FMOD_SOFTWARE.
312 function FMOD_Channel_GetDSPHead (channel
: FMOD_CHANNEL
; var dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
313 function FMOD_Channel_AddDSP (channel
: FMOD_CHANNEL
; dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
316 Information only functions.
319 function FMOD_Channel_IsPlaying (channel
: FMOD_CHANNEL
; var isplaying
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
320 function FMOD_Channel_IsVirtual (channel
: FMOD_CHANNEL
; var isvirtual
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
321 function FMOD_Channel_GetAudibility (channel
: FMOD_CHANNEL
; var audibility
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
322 function FMOD_Channel_GetCurrentSound (channel
: FMOD_CHANNEL
; var sound
: FMOD_SOUND
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
323 function FMOD_Channel_GetSpectrum (channel
: FMOD_CHANNEL
; spectrumarray
: PSingle; numvalues
: Integer; channeloffset
: Integer; windowtype
: FMOD_DSP_FFT_WINDOW
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
324 function FMOD_Channel_GetWaveData (channel
: FMOD_CHANNEL
; var wavearray
: Single; numvalues
: Integer; channeloffset
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
325 function FMOD_Channel_GetIndex (channel
: FMOD_CHANNEL
; var index
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
328 Functions also found in Sound class but here they can be set per channel.
331 function FMOD_Channel_SetMode (channel
: FMOD_CHANNEL
; mode
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
332 function FMOD_Channel_GetMode (channel
: FMOD_CHANNEL
; var mode
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
333 function FMOD_Channel_SetLoopCount (channel
: FMOD_CHANNEL
; loopcount
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
334 function FMOD_Channel_GetLoopCount (channel
: FMOD_CHANNEL
; var loopcount
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
335 function FMOD_Channel_SetLoopPoints (channel
: FMOD_CHANNEL
; loopstart
: Cardinal; loopstarttype
: Cardinal; loopend
: Cardinal; loopendtype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
336 function FMOD_Channel_GetLoopPoints (channel
: FMOD_CHANNEL
; var loopstart
: Cardinal; loopstarttype
: Cardinal; var loopend
: Cardinal; loopendtype
: Cardinal): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
342 function FMOD_Channel_SetUserData (channel
: FMOD_CHANNEL
; userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
343 function FMOD_Channel_GetUserData (channel
: FMOD_CHANNEL
; var userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
349 function FMOD_ChannelGroup_Release (channelgroup
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
350 function FMOD_ChannelGroup_GetSystemObject (channelgroup
: FMOD_CHANNELGROUP
; var system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
353 Channelgroup scale values. (scales the current volume or pitch of all channels and channel groups, DOESN'T overwrite)
356 function FMOD_ChannelGroup_SetVolume (channelgroup
: FMOD_CHANNELGROUP
; volume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
357 function FMOD_ChannelGroup_GetVolume (channelgroup
: FMOD_CHANNELGROUP
; var volume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
358 function FMOD_ChannelGroup_SetPitch (channelgroup
: FMOD_CHANNELGROUP
; pitch
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
359 function FMOD_ChannelGroup_GetPitch (channelgroup
: FMOD_CHANNELGROUP
; var pitch
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
362 Channelgroup override values. (recursively overwrites whatever settings the channels had)
365 function FMOD_ChannelGroup_Stop (channelgroup
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
366 // function FMOD_ChannelGroup_OverridePaused (channelgroup: FMOD_CHANNELGROUP; paused: FMOD_BOOL): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
367 function FMOD_ChannelGroup_OverrideVolume (channelgroup
: FMOD_CHANNELGROUP
; volume
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
368 function FMOD_ChannelGroup_OverrideFrequency (channelgroup
: FMOD_CHANNELGROUP
; frequency
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
369 function FMOD_ChannelGroup_OverridePan (channelgroup
: FMOD_CHANNELGROUP
; pan
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
370 // function FMOD_ChannelGroup_OverrideMute (channelgroup: FMOD_CHANNELGROUP; mute: FMOD_BOOL): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
371 function FMOD_ChannelGroup_OverrideReverbProperties(channelgroup
: FMOD_CHANNELGROUP
; const prop
: FMOD_REVERB_CHANNELPROPERTIES
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
372 function FMOD_ChannelGroup_Override3DAttributes (channelgroup
: FMOD_CHANNELGROUP
; const pos
: FMOD_VECTOR
; const vel
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
373 function FMOD_ChannelGroup_OverrideSpeakerMix (channelgroup
: FMOD_CHANNELGROUP
; frontleft
, frontright
, center
, lfe
, backleft
, backright
, sideleft
, sideright
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
376 Nested channel groups.
379 function FMOD_ChannelGroup_AddGroup (channelgroup
: FMOD_CHANNELGROUP
; group
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
380 function FMOD_ChannelGroup_GetNumGroups (channelgroup
: FMOD_CHANNELGROUP
; var numgroups
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
381 function FMOD_ChannelGroup_GetGroup (channelgroup
: FMOD_CHANNELGROUP
; index
: Integer; var group
: FMOD_CHANNELGROUP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
384 DSP functionality only for channel groups playing sounds created with FMOD_SOFTWARE.
387 function FMOD_ChannelGroup_GetDSPHead (channelgroup
: FMOD_CHANNELGROUP
; var dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
388 function FMOD_ChannelGroup_AddDSP (channelgroup
: FMOD_CHANNELGROUP
; dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
391 Information only functions.
394 function FMOD_ChannelGroup_GetName (channelgroup
: FMOD_CHANNELGROUP
; name
: PChar; namelen
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
395 function FMOD_ChannelGroup_GetNumChannels (channelgroup
: FMOD_CHANNELGROUP
; var numchannels
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
396 function FMOD_ChannelGroup_GetChannel (channelgroup
: FMOD_CHANNELGROUP
; index
: Integer; var channel
: FMOD_CHANNEL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
397 function FMOD_ChannelGroup_GetSpectrum (channelgroup
: FMOD_CHANNELGROUP
; var spectrumarray
: Single; numvalues
: Integer; channeloffset
: Integer; windowtype
: FMOD_DSP_FFT_WINDOW
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
398 function FMOD_ChannelGroup_GetWaveData (channelgroup
: FMOD_CHANNELGROUP
; var wavearray
: Single; numvalues
: Integer; channeloffset
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
404 function FMOD_ChannelGroup_SetUserData (channelgroup
: FMOD_CHANNELGROUP
; userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
405 function FMOD_ChannelGroup_GetUserData (channelgroup
: FMOD_CHANNELGROUP
; var userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
411 function FMOD_DSP_Release (dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
412 function FMOD_DSP_GetSystemObject (dsp
: FMOD_DSP
; var system
: FMOD_SYSTEM
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
415 Connection / disconnection / input and output enumeration.
418 function FMOD_DSP_AddInput (dsp
, target
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
419 function FMOD_DSP_DisconnectFrom (dsp
, target
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
420 function FMOD_DSP_Remove (dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
421 function FMOD_DSP_GetNumInputs (dsp
: FMOD_DSP
; var numinputs
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
422 function FMOD_DSP_GetNumOutputs (dsp
: FMOD_DSP
; var numoutputs
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
423 function FMOD_DSP_GetInput (dsp
: FMOD_DSP
; index
: Integer; var input
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
424 function FMOD_DSP_GetOutput (dsp
: FMOD_DSP
; index
: Integer; var output
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
425 // function FMOD_DSP_SetInputMix (dsp: FMOD_DSP; index: Integer; volume: Single): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
426 // function FMOD_DSP_GetInputMix (dsp: FMOD_DSP; index: Integer; var volume: Single): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
427 // function FMOD_DSP_SetInputLevels (dsp: FMOD_DSP; index: Integer; speaker: FMOD_SPEAKER; const levels: Single; numlevels: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
428 // function FMOD_DSP_GetInputLevels (dsp: FMOD_DSP; index: Integer; speaker: FMOD_SPEAKER; const levels: Single; numlevels: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
429 // function FMOD_DSP_SetOutputMix (dsp: FMOD_DSP; index: Integer; volume: Single): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
430 // function FMOD_DSP_GetOutputMix (dsp: FMOD_DSP; index: Integer; var volume: Single): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
431 // function FMOD_DSP_SetOutputLevels (dsp: FMOD_DSP; index: Integer; speaker: FMOD_SPEAKER; const levels: Single; numlevels: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
432 // function FMOD_DSP_GetOutputLevels (dsp: FMOD_DSP; index: Integer; speaker: FMOD_SPEAKER; const levels: Single; numlevels: Integer): FMOD_RESULT; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
438 function FMOD_DSP_SetActive (dsp
: FMOD_DSP
; active
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
439 function FMOD_DSP_GetActive (dsp
: FMOD_DSP
; var active
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
440 function FMOD_DSP_SetBypass (dsp
: FMOD_DSP
; bypass
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
441 function FMOD_DSP_GetBypass (dsp
: FMOD_DSP
; var bypass
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
442 function FMOD_DSP_Reset (dsp
: FMOD_DSP
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
445 DSP parameter control
448 function FMOD_DSP_SetParameter (dsp
: FMOD_DSP
; index
: Integer; value
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
449 function FMOD_DSP_GetParameter (dsp
: FMOD_DSP
; index
: Integer; var value
: Single; valuestr
: PChar; valuestrlen
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
450 function FMOD_DSP_GetNumParameters (dsp
: FMOD_DSP
; var numparams
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
451 function FMOD_DSP_GetParameterInfo (dsp
: FMOD_DSP
; index
: Integer; name
: PChar; plabel
: PChar; description
: PChar; descriptionlen
: Integer; var min
: Single; var max
: Single): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
452 function FMOD_DSP_ShowConfigDialog (dsp
: FMOD_DSP
; hwnd
: Pointer; show
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
458 function FMOD_DSP_GetInfo (dsp
: FMOD_DSP
; name
:PChar; var version
: cardinal; var channels
:integer; var configwidth
:integer; var configheight
:integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
459 function FMOD_DSP_SetDefaults (dsp
: FMOD_DSP
; frequency
: Single; volume
: Single; pan
: Single; var levels
: Single; priority
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
460 function FMOD_DSP_GetDefaults (dsp
: FMOD_DSP
; var frequency
: Single; var volume
: Single; var pan
: Single; var priority
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
466 function FMOD_DSP_SetUserData (dsp
: FMOD_DSP
; userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
467 function FMOD_DSP_GetUserData (dsp
: FMOD_DSP
; var userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
473 function FMOD_Geometry_Release (geometry
: FMOD_GEOMETRY
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
475 function FMOD_Geometry_AddPolygon (geometry
: FMOD_GEOMETRY
; directOcclusion
: Single; reverbOcclusion
: Single; doubleSided
: FMOD_BOOL
; numVertices
: Integer; vertices
: PFMOD_VECTOR
; var polygonIndex
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
476 function FMOD_Geometry_GetNumPolygons (geometry
: FMOD_GEOMETRY
; var numPolygons
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
477 function FMOD_Geometry_GetMaxPolygons (geometry
: FMOD_GEOMETRY
; var maxPolygons
: Integer; maxVertices
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
478 function FMOD_Geometry_GetPolygonNumVertices(geometry
: FMOD_GEOMETRY
; polygonIndex
: Integer; var numVertices
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
479 function FMOD_Geometry_SetPolygonVertex (geometry
: FMOD_GEOMETRY
; polygonIndex
: Integer; vertexIndex
: Integer; var vertex
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
480 function FMOD_Geometry_GetPolygonVertex (geometry
: FMOD_GEOMETRY
; polygonIndex
: Integer; vertexIndex
: Integer; var vertex
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
481 function FMOD_Geometry_SetPolygonAttributes (geometry
: FMOD_GEOMETRY
; polygonIndex
: Integer; directOcclusion
: Single; reverbOcclusion
: Single; doubleSided
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
482 function FMOD_Geometry_GetPolygonAttributes (geometry
: FMOD_GEOMETRY
; polygonIndex
: Integer; var directOcclusion
: Single; var reverbOcclusion
: Single; var doubleSided
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
484 function FMOD_Geometry_SetActive (geometry
: FMOD_GEOMETRY
; active
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
485 function FMOD_Geometry_GetActive (geometry
: FMOD_GEOMETRY
; var active
: FMOD_BOOL
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
486 function FMOD_Geometry_SetRotation (geometry
: FMOD_GEOMETRY
; var forward: FMOD_VECTOR
; var up
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
487 function FMOD_Geometry_GetRotation (geometry
: FMOD_GEOMETRY
; var forward: FMOD_VECTOR
; var up
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
488 function FMOD_Geometry_SetPosition (geometry
: FMOD_GEOMETRY
; var position
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
489 function FMOD_Geometry_GetPosition (geometry
: FMOD_GEOMETRY
; var position
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
490 function FMOD_Geometry_SetScale (geometry
: FMOD_GEOMETRY
; var scale
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
491 function FMOD_Geometry_GetScale (geometry
: FMOD_GEOMETRY
; var scale
: FMOD_VECTOR
): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
492 function FMOD_Geometry_Save (geometry
: FMOD_GEOMETRY
; data
: Pointer; var datasize
: Integer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
498 function FMOD_Geometry_SetUserData (geometry
: FMOD_GEOMETRY
; userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
499 function FMOD_Geometry_GetUserData (geometry
: FMOD_GEOMETRY
; var userdata
: Pointer): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
501 function FMOD_Load (const libname
: PChar): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
502 function FMOD_Unload (): FMOD_RESULT
; {$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF}
507 {$IF DEFINED(MSWINDOWS)}
508 FMOD_DLL
= 'fmodex.dll';
509 {$ELSEIF DEFINED(LINUX)}
510 FMOD_DLL
= 'libfmodex.so';
511 {$ELSEIF DEFINED(DARWIN)}
512 FMOD_DLL
= 'libfmodex.dylib';
516 function FMOD_Load(const libname
: PChar): FMOD_RESULT
;
518 FMOD_Load
:= FMOD_OK
;
521 function FMOD_Unload(): FMOD_RESULT
;
523 FMOD_Unload
:= FMOD_OK
;
527 FMOD System memory functions (optional).
530 function FMOD_Memory_Initialize
; external FMOD_DLL
;
531 function FMOD_Memory_GetStats
; external FMOD_DLL
;
534 FMOD System factory functions. Use this to create an FMOD System Instance. below you will see FMOD_System_Init/Close to get started.
537 function FMOD_System_Create
; external FMOD_DLL
;
538 function FMOD_System_Release
; external FMOD_DLL
;
548 function FMOD_System_SetOutput
; external FMOD_DLL
;
549 function FMOD_System_GetOutput
; external FMOD_DLL
;
550 function FMOD_System_GetNumDrivers
; external FMOD_DLL
;
551 // function FMOD_System_GetDriverName ; external FMOD_DLL;
552 function FMOD_System_GetDriverCaps
; external FMOD_DLL
;
553 function FMOD_System_SetDriver
; external FMOD_DLL
;
554 function FMOD_System_GetDriver
; external FMOD_DLL
;
555 function FMOD_System_SetHardwareChannels
; external FMOD_DLL
;
556 function FMOD_System_GetHardwareChannels
; external FMOD_DLL
;
557 function FMOD_System_SetSoftwareChannels
; external FMOD_DLL
;
558 function FMOD_System_GetSoftwareChannels
; external FMOD_DLL
;
559 function FMOD_System_SetSoftwareFormat
; external FMOD_DLL
;
560 function FMOD_System_GetSoftwareFormat
; external FMOD_DLL
;
561 function FMOD_System_SetDSPBufferSize
; external FMOD_DLL
;
562 function FMOD_System_GetDSPBufferSize
; external FMOD_DLL
;
563 function FMOD_System_SetFileSystem
; external FMOD_DLL
;
564 function FMOD_System_AttachFileSystem
; external FMOD_DLL
;
565 function FMOD_System_SetAdvancedSettings
; external FMOD_DLL
;
566 function FMOD_System_GetAdvancedSettings
; external FMOD_DLL
;
567 function FMOD_System_SetSpeakerMode
; external FMOD_DLL
;
568 function FMOD_System_GetSpeakerMode
; external FMOD_DLL
;
574 function FMOD_System_SetPluginPath
; external FMOD_DLL
;
575 function FMOD_System_LoadPlugin
; external FMOD_DLL
;
576 function FMOD_System_GetNumPlugins
; external FMOD_DLL
;
577 function FMOD_System_GetPluginInfo
; external FMOD_DLL
;
578 function FMOD_System_UnloadPlugin
; external FMOD_DLL
;
579 function FMOD_System_SetOutputByPlugin
; external FMOD_DLL
;
580 function FMOD_System_GetOutputByPlugin
; external FMOD_DLL
;
581 // function FMOD_System_CreateCodec ; external FMOD_DLL;
587 function FMOD_System_Init
; external FMOD_DLL
;
588 function FMOD_System_Close
; external FMOD_DLL
;
591 General post-init system functions
594 function FMOD_System_Update
; external FMOD_DLL
;
595 // function FMOD_System_UpdateFinished ; external FMOD_DLL;
597 function FMOD_System_Set3DSettings
; external FMOD_DLL
;
598 function FMOD_System_Get3DSettings
; external FMOD_DLL
;
599 function FMOD_System_Set3DNumListeners
; external FMOD_DLL
;
600 function FMOD_System_Get3DNumListeners
; external FMOD_DLL
;
601 function FMOD_System_Set3DListenerAttributes
; external FMOD_DLL
;
602 function FMOD_System_Get3DListenerAttributes
; external FMOD_DLL
;
604 // function FMOD_System_SetSpeakerPosition ; external FMOD_DLL;
605 // function FMOD_System_GetSpeakerPosition ; external FMOD_DLL;
606 function FMOD_System_SetStreamBufferSize
; external FMOD_DLL
;
607 function FMOD_System_GetStreamBufferSize
; external FMOD_DLL
;
610 System information functions.
613 function FMOD_System_GetVersion
; external FMOD_DLL
;
614 function FMOD_System_GetOutputHandle
; external FMOD_DLL
;
615 function FMOD_System_GetChannelsPlaying
; external FMOD_DLL
;
616 function FMOD_System_GetCPUUsage
; external FMOD_DLL
;
617 function FMOD_System_GetSoundRAM
; external FMOD_DLL
;
618 function FMOD_System_GetNumCDROMDrives
; external FMOD_DLL
;
619 function FMOD_System_GetCDROMDriveName
; external FMOD_DLL
;
620 function FMOD_System_GetSpectrum
; external FMOD_DLL
;
621 function FMOD_System_GetWaveData
; external FMOD_DLL
;
624 Sound/DSP/Channel/FX creation and retrieval.
627 function FMOD_System_CreateSound
; external FMOD_DLL
;
628 function FMOD_System_CreateStream
; external FMOD_DLL
;
629 function FMOD_System_CreateDSP
; external FMOD_DLL
;
630 function FMOD_System_CreateDSPByType
; external FMOD_DLL
;
631 // function FMOD_System_CreateDSPByIndex ; external FMOD_DLL;
632 function FMOD_System_CreateChannelGroup
; external FMOD_DLL
;
634 function FMOD_System_PlaySound
; external FMOD_DLL
;
635 function FMOD_System_PlayDSP
; external FMOD_DLL
;
636 function FMOD_System_GetChannel
; external FMOD_DLL
;
637 function FMOD_System_GetMasterChannelGroup
; external FMOD_DLL
;
643 function FMOD_System_SetReverbProperties
; external FMOD_DLL
;
644 function FMOD_System_GetReverbProperties
; external FMOD_DLL
;
645 Function FMOD_System_SetReverbAmbientProperties
; external fmod_dll
;
647 System level DSP access.
650 function FMOD_System_GetDSPHead
; external FMOD_DLL
;
651 function FMOD_System_AddDSP
; external FMOD_DLL
;
652 function FMOD_System_LockDSP
; external FMOD_DLL
;
653 function FMOD_System_UnlockDSP
; external FMOD_DLL
;
659 // function FMOD_System_SetRecordDriver ; external FMOD_DLL;
660 // function FMOD_System_GetRecordDriver ; external FMOD_DLL;
661 function FMOD_System_GetRecordNumDrivers
; external FMOD_DLL
;
662 // function FMOD_System_GetRecordDriverName ; external FMOD_DLL;
663 function FMOD_System_GetRecordPosition
; external FMOD_DLL
;
665 function FMOD_System_RecordStart
; external FMOD_DLL
;
666 function FMOD_System_RecordStop
; external FMOD_DLL
;
667 function FMOD_System_IsRecording
; external FMOD_DLL
;
673 function FMOD_System_CreateGeometry
; external FMOD_DLL
;
674 function FMOD_System_SetGeometrySettings
; external FMOD_DLL
;
675 function FMOD_System_GetGeometrySettings
; external FMOD_DLL
;
676 function FMOD_System_LoadGeometry
; external FMOD_DLL
;
682 function FMOD_System_SetNetworkProxy
; external FMOD_DLL
;
683 function FMOD_System_GetNetworkProxy
; external FMOD_DLL
;
684 function FMOD_System_SetNetworkTimeout
; external FMOD_DLL
;
685 function FMOD_System_GetNetworkTimeout
; external FMOD_DLL
;
691 function FMOD_System_SetUserData
; external FMOD_DLL
;
692 function FMOD_System_GetUserData
; external FMOD_DLL
;
698 function FMOD_Sound_Release
; external FMOD_DLL
;
699 function FMOD_Sound_GetSystemObject
; external FMOD_DLL
;
702 Standard sound manipulation functions.
705 function FMOD_Sound_Lock
; external FMOD_DLL
;
706 function FMOD_Sound_Unlock
; external FMOD_DLL
;
707 function FMOD_Sound_SetDefaults
; external FMOD_DLL
;
708 function FMOD_Sound_GetDefaults
; external FMOD_DLL
;
709 function FMOD_Sound_SetVariations
; external FMOD_DLL
;
710 function FMOD_Sound_GetVariations
; external FMOD_DLL
;
711 function FMOD_Sound_Set3DMinMaxDistance
; external FMOD_DLL
;
712 function FMOD_Sound_Get3DMinMaxDistance
; external FMOD_DLL
;
713 function FMOD_Sound_Set3DConeSettings
; external FMOD_DLL
;
714 function FMOD_Sound_Get3DConeSettings
; external FMOD_DLL
;
715 function FMOD_Sound_Set3DCustomRolloff
; external FMOD_DLL
;
716 function FMOD_Sound_Get3DCustomRolloff
; external FMOD_DLL
;
717 function FMOD_Sound_SetSubSound
; external FMOD_DLL
;
718 function FMOD_Sound_GetSubSound
; external FMOD_DLL
;
719 function FMOD_Sound_SetSubSoundSentence
; external FMOD_DLL
;
720 function FMOD_Sound_GetName
; external FMOD_DLL
;
721 function FMOD_Sound_GetLength
; external FMOD_DLL
;
722 function FMOD_Sound_GetFormat
; external FMOD_DLL
;
723 function FMOD_Sound_GetNumSubSounds
; external FMOD_DLL
;
724 function FMOD_Sound_GetNumTags
; external FMOD_DLL
;
725 function FMOD_Sound_GetTag
; external FMOD_DLL
;
726 function FMOD_Sound_GetOpenState
; external FMOD_DLL
;
727 function FMOD_Sound_ReadData
; external FMOD_DLL
;
728 function FMOD_Sound_SeekData
; external FMOD_DLL
;
731 Synchronization point API. These points can come from markers embedded in wav files, and can also generate channel callbacks.
734 function FMOD_Sound_GetNumSyncPoints
; external FMOD_DLL
;
735 function FMOD_Sound_GetSyncPoint
; external FMOD_DLL
;
736 function FMOD_Sound_GetSyncPointInfo
; external FMOD_DLL
;
737 function FMOD_Sound_AddSyncPoint
; external FMOD_DLL
;
738 function FMOD_Sound_DeleteSyncPoint
; external FMOD_DLL
;
741 Functions also in Channel class but here they are the 'default' to save having to change it in Channel all the time.
744 function FMOD_Sound_SetMode
; external FMOD_DLL
;
745 function FMOD_Sound_GetMode
; external FMOD_DLL
;
746 function FMOD_Sound_SetLoopCount
; external FMOD_DLL
;
747 function FMOD_Sound_GetLoopCount
; external FMOD_DLL
;
748 function FMOD_Sound_SetLoopPoints
; external FMOD_DLL
;
749 function FMOD_Sound_GetLoopPoints
; external FMOD_DLL
;
755 function FMOD_Sound_SetUserData
; external FMOD_DLL
;
756 function FMOD_Sound_GetUserData
; external FMOD_DLL
;
762 function FMOD_Channel_GetSystemObject
; external FMOD_DLL
;
764 function FMOD_Channel_Stop
; external FMOD_DLL
;
765 function FMOD_Channel_SetPaused
; external FMOD_DLL
;
766 function FMOD_Channel_GetPaused
; external FMOD_DLL
;
767 function FMOD_Channel_SetVolume
; external FMOD_DLL
;
768 function FMOD_Channel_GetVolume
; external FMOD_DLL
;
769 function FMOD_Channel_SetFrequency
; external FMOD_DLL
;
770 function FMOD_Channel_GetFrequency
; external FMOD_DLL
;
771 function FMOD_Channel_SetPan
; external FMOD_DLL
;
772 function FMOD_Channel_GetPan
; external FMOD_DLL
;
773 function FMOD_Channel_SetDelay
; external FMOD_DLL
;
774 function FMOD_Channel_GetDelay
; external FMOD_DLL
;
775 function FMOD_Channel_SetSpeakerMix
; external FMOD_DLL
;
776 function FMOD_Channel_GetSpeakerMix
; external FMOD_DLL
;
777 function FMOD_Channel_SetSpeakerLevels
; external FMOD_DLL
;
778 function FMOD_Channel_GetSpeakerLevels
; external FMOD_DLL
;
779 function FMOD_Channel_SetMute
; external FMOD_DLL
;
780 function FMOD_Channel_GetMute
; external FMOD_DLL
;
781 function FMOD_Channel_SetPriority
; external FMOD_DLL
;
782 function FMOD_Channel_GetPriority
; external FMOD_DLL
;
783 function FMOD_Channel_SetPosition
; external FMOD_DLL
;
784 function FMOD_Channel_GetPosition
; external FMOD_DLL
;
785 function FMOD_Channel_SetReverbProperties
; external FMOD_DLL
;
786 function FMOD_Channel_GetReverbProperties
; external FMOD_DLL
;
787 function FMOD_Channel_SetChannelGroup
; external FMOD_DLL
;
788 function FMOD_Channel_GetChannelGroup
; external FMOD_DLL
;
789 function FMOD_Channel_SetCallback
; external FMOD_DLL
;
795 function FMOD_Channel_Set3DAttributes
; external FMOD_DLL
;
796 function FMOD_Channel_Get3DAttributes
; external FMOD_DLL
;
797 function FMOD_Channel_Set3DMinMaxDistance
; external FMOD_DLL
;
798 function FMOD_Channel_Get3DMinMaxDistance
; external FMOD_DLL
;
799 function FMOD_Channel_Set3DConeSettings
; external FMOD_DLL
;
800 function FMOD_Channel_Get3DConeSettings
; external FMOD_DLL
;
801 function FMOD_Channel_Set3DConeOrientation
; external FMOD_DLL
;
802 function FMOD_Channel_Get3DConeOrientation
; external FMOD_DLL
;
803 function FMOD_Channel_Set3DCustomRolloff
; external FMOD_DLL
;
804 function FMOD_Channel_Get3DCustomRolloff
; external FMOD_DLL
;
805 function FMOD_Channel_Set3DOcclusion
; external FMOD_DLL
;
806 function FMOD_Channel_Get3DOcclusion
; external FMOD_DLL
;
807 function FMOD_Channel_Set3DSpread
; external FMOD_DLL
;
808 function FMOD_Channel_Get3DSpread
; external FMOD_DLL
;
809 function FMOD_Channel_Set3DPanLevel
; external FMOD_DLL
;
810 function FMOD_Channel_Get3DPanLevel
; external FMOD_DLL
;
813 DSP functionality only for channels playing sounds created with FMOD_SOFTWARE.
816 function FMOD_Channel_GetDSPHead
; external FMOD_DLL
;
817 function FMOD_Channel_AddDSP
; external FMOD_DLL
;
820 Information only functions.
823 function FMOD_Channel_IsPlaying
; external FMOD_DLL
;
824 function FMOD_Channel_IsVirtual
; external FMOD_DLL
;
825 function FMOD_Channel_GetAudibility
; external FMOD_DLL
;
826 function FMOD_Channel_GetCurrentSound
; external FMOD_DLL
;
827 function FMOD_Channel_GetSpectrum
; external FMOD_DLL
;
828 function FMOD_Channel_GetWaveData
; external FMOD_DLL
;
829 function FMOD_Channel_GetIndex
; external FMOD_DLL
;
832 Functions also found in Sound class but here they can be set per channel.
835 function FMOD_Channel_SetMode
; external FMOD_DLL
;
836 function FMOD_Channel_GetMode
; external FMOD_DLL
;
837 function FMOD_Channel_SetLoopCount
; external FMOD_DLL
;
838 function FMOD_Channel_GetLoopCount
; external FMOD_DLL
;
839 function FMOD_Channel_SetLoopPoints
; external FMOD_DLL
;
840 function FMOD_Channel_GetLoopPoints
; external FMOD_DLL
;
846 function FMOD_Channel_SetUserData
; external FMOD_DLL
;
847 function FMOD_Channel_GetUserData
; external FMOD_DLL
;
853 function FMOD_ChannelGroup_Release
; external FMOD_DLL
;
854 function FMOD_ChannelGroup_GetSystemObject
; external FMOD_DLL
;
857 Channelgroup scale values. (scales the current volume or pitch of all channels and channel groups, DOESN'T overwrite)
860 function FMOD_ChannelGroup_SetVolume
; external FMOD_DLL
;
861 function FMOD_ChannelGroup_GetVolume
; external FMOD_DLL
;
862 function FMOD_ChannelGroup_SetPitch
; external FMOD_DLL
;
863 function FMOD_ChannelGroup_GetPitch
; external FMOD_DLL
;
866 Channelgroup override values. (recursively overwrites whatever settings the channels had)
869 function FMOD_ChannelGroup_Stop
; external FMOD_DLL
;
870 // function FMOD_ChannelGroup_OverridePaused ; external FMOD_DLL;
871 function FMOD_ChannelGroup_OverrideVolume
; external FMOD_DLL
;
872 function FMOD_ChannelGroup_OverrideFrequency
; external FMOD_DLL
;
873 function FMOD_ChannelGroup_OverridePan
; external FMOD_DLL
;
874 // function FMOD_ChannelGroup_OverrideMute ; external FMOD_DLL;
875 function FMOD_ChannelGroup_OverrideReverbProperties
; external FMOD_DLL
;
876 function FMOD_ChannelGroup_Override3DAttributes
; external FMOD_DLL
;
877 function FMOD_ChannelGroup_OverrideSpeakerMix
; external FMOD_DLL
;
880 Nested channel groups.
883 function FMOD_ChannelGroup_AddGroup
; external FMOD_DLL
;
884 function FMOD_ChannelGroup_GetNumGroups
; external FMOD_DLL
;
885 function FMOD_ChannelGroup_GetGroup
; external FMOD_DLL
;
888 DSP functionality only for channel groups playing sounds created with FMOD_SOFTWARE.
891 function FMOD_ChannelGroup_GetDSPHead
; external FMOD_DLL
;
892 function FMOD_ChannelGroup_AddDSP
; external FMOD_DLL
;
895 Information only functions.
898 function FMOD_ChannelGroup_GetName
; external FMOD_DLL
;
899 function FMOD_ChannelGroup_GetNumChannels
; external FMOD_DLL
;
900 function FMOD_ChannelGroup_GetChannel
; external FMOD_DLL
;
901 function FMOD_ChannelGroup_GetSpectrum
; external FMOD_DLL
;
902 function FMOD_ChannelGroup_GetWaveData
; external FMOD_DLL
;
908 function FMOD_ChannelGroup_SetUserData
; external FMOD_DLL
;
909 function FMOD_ChannelGroup_GetUserData
; external FMOD_DLL
;
915 function FMOD_DSP_Release
; external FMOD_DLL
;
916 function FMOD_DSP_GetSystemObject
; external FMOD_DLL
;
919 Connection / disconnection / input and output enumeration.
922 function FMOD_DSP_AddInput
; external FMOD_DLL
;
923 function FMOD_DSP_DisconnectFrom
; external FMOD_DLL
;
924 function FMOD_DSP_Remove
; external FMOD_DLL
;
925 function FMOD_DSP_GetNumInputs
; external FMOD_DLL
;
926 function FMOD_DSP_GetNumOutputs
; external FMOD_DLL
;
927 function FMOD_DSP_GetInput
; external FMOD_DLL
;
928 function FMOD_DSP_GetOutput
; external FMOD_DLL
;
929 // function FMOD_DSP_SetInputMix ; external FMOD_DLL;
930 // function FMOD_DSP_GetInputMix ; external FMOD_DLL;
931 // function FMOD_DSP_SetInputLevels ; external FMOD_DLL;
932 // function FMOD_DSP_GetInputLevels ; external FMOD_DLL;
933 // function FMOD_DSP_SetOutputMix ; external FMOD_DLL;
934 // function FMOD_DSP_GetOutputMix ; external FMOD_DLL;
935 // function FMOD_DSP_SetOutputLevels ; external FMOD_DLL;
936 // function FMOD_DSP_GetOutputLevels ; external FMOD_DLL;
942 function FMOD_DSP_SetActive
; external FMOD_DLL
;
943 function FMOD_DSP_GetActive
; external FMOD_DLL
;
944 function FMOD_DSP_SetBypass
; external FMOD_DLL
;
945 function FMOD_DSP_GetBypass
; external FMOD_DLL
;
946 function FMOD_DSP_Reset
; external FMOD_DLL
;
949 DSP parameter control
952 function FMOD_DSP_SetParameter
; external FMOD_DLL
;
953 function FMOD_DSP_GetParameter
; external FMOD_DLL
;
954 function FMOD_DSP_GetNumParameters
; external FMOD_DLL
;
955 function FMOD_DSP_GetParameterInfo
; external FMOD_DLL
;
956 function FMOD_DSP_ShowConfigDialog
; external FMOD_DLL
;
962 function FMOD_DSP_GetInfo
; external FMOD_DLL
;
963 function FMOD_DSP_SetDefaults
; external FMOD_DLL
;
964 function FMOD_DSP_GetDefaults
; external FMOD_DLL
;
970 function FMOD_DSP_SetUserData
; external FMOD_DLL
;
971 function FMOD_DSP_GetUserData
; external FMOD_DLL
;
977 function FMOD_Geometry_Release
; external FMOD_DLL
;
979 function FMOD_Geometry_AddPolygon
; external FMOD_DLL
;
980 function FMOD_Geometry_GetNumPolygons
; external FMOD_DLL
;
981 function FMOD_Geometry_GetMaxPolygons
; external FMOD_DLL
;
982 function FMOD_Geometry_GetPolygonNumVertices
; external FMOD_DLL
;
983 function FMOD_Geometry_SetPolygonVertex
; external FMOD_DLL
;
984 function FMOD_Geometry_GetPolygonVertex
; external FMOD_DLL
;
985 function FMOD_Geometry_SetPolygonAttributes
; external FMOD_DLL
;
986 function FMOD_Geometry_GetPolygonAttributes
; external FMOD_DLL
;
988 function FMOD_Geometry_SetActive
; external FMOD_DLL
;
989 function FMOD_Geometry_GetActive
; external FMOD_DLL
;
990 function FMOD_Geometry_SetRotation
; external FMOD_DLL
;
991 function FMOD_Geometry_GetRotation
; external FMOD_DLL
;
992 function FMOD_Geometry_SetPosition
; external FMOD_DLL
;
993 function FMOD_Geometry_GetPosition
; external FMOD_DLL
;
994 function FMOD_Geometry_SetScale
; external FMOD_DLL
;
995 function FMOD_Geometry_GetScale
; external FMOD_DLL
;
996 function FMOD_Geometry_Save
; external FMOD_DLL
;
1002 function FMOD_Geometry_SetUserData
; external FMOD_DLL
;
1003 function FMOD_Geometry_GetUserData
; external FMOD_DLL
;