| 1 | {============================================================================================ }
|
|---|
| 2 | { FMOD Main header file. Copyright (c), FireLight Technologies Pty, Ltd. 1999-2003. }
|
|---|
| 3 | { =========================================================================================== }
|
|---|
| 4 | {
|
|---|
| 5 | NOTE: For the demos to run you must have either fmod.dll (in Windows)
|
|---|
| 6 | or libfmod-3.75.so (in Linux) installed.
|
|---|
| 7 |
|
|---|
| 8 | In Windows, copy the fmod.dll file found in the api directory to either of
|
|---|
| 9 | the following locations (in order of preference)
|
|---|
| 10 | - your application directory
|
|---|
| 11 | - Windows\System (95/98) or WinNT\System32 (NT/2000/XP)
|
|---|
| 12 |
|
|---|
| 13 | In Linux, make sure you are signed in as root and copy the libfmod-3.75.so
|
|---|
| 14 | file from the api directory to your /usr/lib/ directory.
|
|---|
| 15 | Then via a command line, navigate to the /usr/lib/ directory and create
|
|---|
| 16 | a symbolic link between libfmod-3.75.so and libfmod.so. This is done with
|
|---|
| 17 | the following command (assuming you are in /usr/lib/)...
|
|---|
| 18 | ln -s libfmod-3.75.so libfmod.so.
|
|---|
| 19 | }
|
|---|
| 20 | { =============================================================================================== }
|
|---|
| 21 |
|
|---|
| 22 | unit fmoddyn;
|
|---|
| 23 |
|
|---|
| 24 | {
|
|---|
| 25 | Disable assertions by changing the following compiler directive to OFF.
|
|---|
| 26 | Assertions are used to check the functions are correctly loaded when using
|
|---|
| 27 | dynamic loading.
|
|---|
| 28 | }
|
|---|
| 29 | {$ASSERTIONS ON}
|
|---|
| 30 |
|
|---|
| 31 | interface
|
|---|
| 32 |
|
|---|
| 33 | {$IFDEF MSWINDOWS}
|
|---|
| 34 | {$define WINDOWS}
|
|---|
| 35 | {$ENDIF}
|
|---|
| 36 |
|
|---|
| 37 | uses
|
|---|
| 38 | {$IFDEF WINDOWS}
|
|---|
| 39 | Windows,
|
|---|
| 40 | {$ENDIF}
|
|---|
| 41 | fmodtypes;
|
|---|
| 42 |
|
|---|
| 43 | {
|
|---|
| 44 | Disable warning for unsafe types in Delphi 7
|
|---|
| 45 | }
|
|---|
| 46 | {$IFDEF VER150}
|
|---|
| 47 | {$WARN UNSAFE_TYPE OFF}
|
|---|
| 48 | {$ENDIF}
|
|---|
| 49 |
|
|---|
| 50 | //===============================================================================================
|
|---|
| 51 | // FUNCTION PROTOTYPES
|
|---|
| 52 | //===============================================================================================
|
|---|
| 53 |
|
|---|
| 54 | { ================================== }
|
|---|
| 55 | { Library load/unload functions. }
|
|---|
| 56 | { ================================== }
|
|---|
| 57 |
|
|---|
| 58 | {
|
|---|
| 59 | If no library name is passed to FMOD_Load, then the default library name
|
|---|
| 60 | used.
|
|---|
| 61 | }
|
|---|
| 62 |
|
|---|
| 63 | function FMOD_Load(LibName: PChar {$ifndef FPC}= nil{$endif}): Boolean;
|
|---|
| 64 | procedure FMOD_Unload;
|
|---|
| 65 |
|
|---|
| 66 | { ================================== }
|
|---|
| 67 | { Initialization / Global functions. }
|
|---|
| 68 | { ================================== }
|
|---|
| 69 |
|
|---|
| 70 | {
|
|---|
| 71 | Pre FSOUND_Init functions. These can't be called after FSOUND_Init is
|
|---|
| 72 | called (they will fail). They set up FMOD system functionality.
|
|---|
| 73 | }
|
|---|
| 74 |
|
|---|
| 75 | var
|
|---|
| 76 | FSOUND_SetOutput: function (OutputType: TFSoundOutputTypes): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 77 | FSOUND_SetDriver: function (Driver: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 78 | FSOUND_SetMixer: function (Mixer: TFSoundMixerTypes): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 79 | FSOUND_SetBufferSize: function (LenMs: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 80 | FSOUND_SetHWND: function (Hwnd: THandle): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 81 | FSOUND_SetMinHardwareChannels: function (Min: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 82 | FSOUND_SetMaxHardwareChannels: function (Max: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 83 | FSOUND_SetMemorySystem: function (Pool: Pointer;
|
|---|
| 84 | PoolLen: Integer;
|
|---|
| 85 | UserAlloc: TFSoundAllocCallback;
|
|---|
| 86 | UserRealloc: TFSoundReallocCallback;
|
|---|
| 87 | UserFree: TFSoundFreeCallback): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 88 |
|
|---|
| 89 | {
|
|---|
| 90 | Main initialization / closedown functions
|
|---|
| 91 | Note : Use FSOUND_INIT_USEDEFAULTMIDISYNTH with FSOUND_Init for software override with MIDI playback.
|
|---|
| 92 | : Use FSOUND_INIT_GLOBALFOCUS with FSOUND_Init to make sound audible
|
|---|
| 93 | no matter which window is in focus. (FSOUND_OUTPUT_DSOUND only)
|
|---|
| 94 | }
|
|---|
| 95 |
|
|---|
| 96 | var
|
|---|
| 97 | FSOUND_Init: function (MixRate: Integer; MaxSoftwareChannels: Integer; Flags: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 98 | FSOUND_Close: procedure; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 99 |
|
|---|
| 100 | {
|
|---|
| 101 | Runtime system level functions
|
|---|
| 102 | }
|
|---|
| 103 |
|
|---|
| 104 | var
|
|---|
| 105 | FSOUND_Update: procedure; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF}; // This is called to update 3d sound / non-realtime output
|
|---|
| 106 | FSOUND_SetSpeakerMode: procedure (SpeakerMode: Cardinal); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 107 | FSOUND_SetSFXMasterVolume: procedure (Volume: Integer); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 108 | FSOUND_SetPanSeperation: procedure (PanSep: Single); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 109 | FSOUND_File_SetCallbacks: procedure (OpenCallback: TFSoundOpenCallback;
|
|---|
| 110 | CloseCallback: TFSoundCloseCallback;
|
|---|
| 111 | ReadCallback: TFSoundReadCallback;
|
|---|
| 112 | SeekCallback: TFSoundSeekCallback;
|
|---|
| 113 | TellCallback: TFSoundTellCallback); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 114 |
|
|---|
| 115 | {
|
|---|
| 116 | System information functions
|
|---|
| 117 | }
|
|---|
| 118 |
|
|---|
| 119 | var
|
|---|
| 120 | FSOUND_GetError: function: TFModErrors; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 121 | FSOUND_GetVersion: function: Single; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 122 | FSOUND_GetOutput: function: TFSoundOutputTypes; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 123 | FSOUND_GetOutputHandle: function: Pointer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 124 | FSOUND_GetDriver: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 125 | FSOUND_GetMixer: function: TFSoundMixerTypes; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 126 | FSOUND_GetNumDrivers: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 127 | FSOUND_GetDriverName: function (Id: Integer): PChar; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 128 | FSOUND_GetDriverCaps: function (Id: Integer; var Caps: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 129 |
|
|---|
| 130 | var
|
|---|
| 131 | FSOUND_GetOutputRate: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 132 | FSOUND_GetMaxChannels: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 133 | FSOUND_GetMaxSamples: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 134 | FSOUND_GetSpeakerMode: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 135 | FSOUND_GetSFXMasterVolume: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 136 | FSOUND_GetNumHWChannels: function (var Num2D: Integer; var Num3D: Integer; var Total: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 137 | FSOUND_GetChannelsPlaying: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 138 | FSOUND_GetCPUUsage: function: Single; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 139 | FSOUND_GetMemoryStats: Procedure (var CurrentAlloced: Cardinal; var MaxAlloced: Cardinal); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 140 |
|
|---|
| 141 | { =================================== }
|
|---|
| 142 | { Sample management / load functions. }
|
|---|
| 143 | { =================================== }
|
|---|
| 144 |
|
|---|
| 145 | {
|
|---|
| 146 | Sample creation and management functions
|
|---|
| 147 | Note : Use FSOUND_LOADMEMORY flag with FSOUND_Sample_Load to load from memory.
|
|---|
| 148 | Use FSOUND_LOADRAW flag with FSOUND_Sample_Load to treat as as raw pcm data.
|
|---|
| 149 | }
|
|---|
| 150 |
|
|---|
| 151 | var
|
|---|
| 152 | FSOUND_Sample_Load: function (Index: Integer; const NameOrData: PChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundSample; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 153 | FSOUND_Sample_Alloc: function (Index: Integer; Length: Integer; Mode: Cardinal; DefFreq: Integer; DefVol: Integer; DefPan: Integer; DefPri: Integer): PFSoundSample; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 154 | FSOUND_Sample_Free: procedure (Sptr: PFSoundSample); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 155 | FSOUND_Sample_Upload: function (Sptr: PFSoundSample; SrcData: Pointer; Mode: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 156 | FSOUND_Sample_Lock: function (Sptr: PFSoundSample; Offset: Integer; Length: Integer; var Ptr1: Pointer; var Ptr2: Pointer; var Len1: Cardinal; var Len2: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 157 | FSOUND_Sample_Unlock: function (Sptr: PFSoundSample; Ptr1: Pointer; Ptr2: Pointer; Len1: Cardinal; Len2: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 158 |
|
|---|
| 159 | {
|
|---|
| 160 | Sample control functions
|
|---|
| 161 | }
|
|---|
| 162 |
|
|---|
| 163 | var
|
|---|
| 164 | FSOUND_Sample_SetMode: function (Sptr: PFSoundSample; Mode: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 165 | FSOUND_Sample_SetLoopPoints: function (Sptr: PFSoundSample; LoopStart, LoopEnd: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 166 | FSOUND_Sample_SetDefaults: function (Sptr: PFSoundSample; DefFreq, DefVol, DefPan, DefPri: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 167 | FSOUND_Sample_SetDefaultsEx: function (Sptr: PFSoundSample; DefFreq, DefVol, DefPan, DefPri, VarFreq, VarVol, VarPan: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 168 | FSOUND_Sample_SetMinMaxDistance: function (Sptr: PFSoundSample; Min, Max: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 169 | FSOUND_Sample_SetMaxPlaybacks: function (Sptr: PFSoundSample; Max: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 170 |
|
|---|
| 171 | {
|
|---|
| 172 | Sample information functions
|
|---|
| 173 | }
|
|---|
| 174 |
|
|---|
| 175 | var
|
|---|
| 176 | FSOUND_Sample_Get: function (SampNo: Integer): PFSoundSample; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 177 | FSOUND_Sample_GetName: function (Sptr: PFSoundSample): PCHAR; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 178 | FSOUND_Sample_GetLength: function (Sptr: PFSoundSample): Cardinal; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 179 | FSOUND_Sample_GetLoopPoints: function (Sptr: PFSoundSample; var LoopStart: Integer; var LoopEnd: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 180 | FSOUND_Sample_GetDefaults: function (Sptr: PFSoundSample; var DefFreq: Integer; var DefVol: Integer; var DefPan: Integer; var DefPri: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 181 | FSOUND_Sample_GetDefaultsEx: function (Sptr: PFSoundSample; var DefFreq: Integer; var DefVol: Integer; var DefPan: Integer; var DefPri: Integer; var VarFreq: Integer; var VarVol: Integer; var VarPan): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 182 | FSOUND_Sample_GetMode: function (Sptr: PFSoundSample): Cardinal; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 183 | FSOUND_Sample_GetMinMaxDistance: function (Sptr: PFSoundSample; var Min: Single; var Max: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 184 |
|
|---|
| 185 | { ============================ }
|
|---|
| 186 | { Channel control functions. }
|
|---|
| 187 | { ============================ }
|
|---|
| 188 |
|
|---|
| 189 | {
|
|---|
| 190 | Playing and stopping sounds.
|
|---|
| 191 | Note : Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you.
|
|---|
| 192 | Use FSOUND_ALL as the 'channel' variable to control ALL channels with one function call!
|
|---|
| 193 | }
|
|---|
| 194 |
|
|---|
| 195 | var
|
|---|
| 196 | FSOUND_PlaySound: function (Channel: Integer; Sptr: PFSoundSample): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 197 | FSOUND_PlaySoundEx: function (Channel: Integer; Sptr: PFSoundSample; Dsp: PFSoundDSPUnit; StartPaused: ByteBool): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 198 | FSOUND_StopSound: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 199 |
|
|---|
| 200 | {
|
|---|
| 201 | Functions to control playback of a channel.
|
|---|
| 202 | }
|
|---|
| 203 |
|
|---|
| 204 | var
|
|---|
| 205 | FSOUND_SetFrequency: function (Channel: Integer; Freq: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 206 | FSOUND_SetVolume: function (Channel: Integer; Vol: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 207 | FSOUND_SetVolumeAbsolute: function (Channel: Integer; Vol: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 208 | FSOUND_SetPan: function (Channel: Integer; Pan: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 209 | FSOUND_SetSurround: function (Channel: Integer; Surround: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 210 | FSOUND_SetMute: function (Channel: Integer; Mute: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 211 | FSOUND_SetPriority: function (Channel: Integer; Priority: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 212 | FSOUND_SetReserved: function (Channel: Integer; Reserved: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 213 | FSOUND_SetPaused: function (Channel: Integer; Paused: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 214 | FSOUND_SetLoopMode: function (Channel: Integer; LoopMode: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 215 | FSOUND_SetCurrentPosition: function (Channel: Integer; Offset: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 216 | FSOUND_3D_SetAttributes: function (Channel: Integer; Pos: PFSoundVector; Vel: PFSoundVector): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 217 | FSOUND_3D_SetMinMaxDistance: function (Channel: Integer; Min: Single; Max: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 218 |
|
|---|
| 219 | {
|
|---|
| 220 | Channel information functions
|
|---|
| 221 | }
|
|---|
| 222 |
|
|---|
| 223 | var
|
|---|
| 224 | FSOUND_IsPlaying: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 225 | FSOUND_GetFrequency: function (Channel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 226 | FSOUND_GetVolume: function (Channel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 227 | FSOUND_GetAmplitude: function (Channel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 228 | FSOUND_GetPan: function (Channel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 229 | FSOUND_GetSurround: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 230 | FSOUND_GetMute: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 231 | FSOUND_GetPriority: function (Channel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 232 | FSOUND_GetReserved: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 233 | FSOUND_GetPaused: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 234 | FSOUND_GetLoopMode: function (Channel: Integer): Cardinal; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 235 | FSOUND_GetCurrentPosition: function (Channel: Integer): Cardinal; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 236 | FSOUND_GetCurrentSample: function (Channel: Integer): PFSoundSample; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 237 | FSOUND_GetCurrentLevels: function (Channel: Integer; L, R: PSingle): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 238 | FSOUND_GetNumSubChannels: function (Channel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 239 | FSOUND_GetSubChannel: function (Channel: Integer; SubChannel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 240 | FSOUND_3D_GetAttributes: function (Channel: Integer; Pos: PFSoundVector; Vel: PFSoundVector): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 241 | FSOUND_3D_GetMinMaxDistance: function (Channel: Integer; var Min: Single; var Max: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 242 |
|
|---|
| 243 | { =================== }
|
|---|
| 244 | { 3D sound functions. }
|
|---|
| 245 | { =================== }
|
|---|
| 246 |
|
|---|
| 247 | {
|
|---|
| 248 | See also 3d sample and channel based functions above.
|
|---|
| 249 | Call FSOUND_Update once a frame to process 3d information.
|
|---|
| 250 | }
|
|---|
| 251 |
|
|---|
| 252 | var
|
|---|
| 253 | FSOUND_3D_Listener_SetCurrent: procedure (current: Integer); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 254 | FSOUND_3D_Listener_SetAttributes: procedure (Pos: PFSoundVector; Vel: PFSoundVector;
|
|---|
| 255 | fx: Single; fy: Single; fz: Single;
|
|---|
| 256 | tx: Single; ty: Single; tz: Single); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 257 | FSOUND_3D_Listener_GetAttributes: procedure (Pos: PFSoundVector; Vel: PFSoundVector;
|
|---|
| 258 | fx: PSingle; fy: PSingle; fz: PSingle;
|
|---|
| 259 | tx: PSingle; ty: PSingle; tz: PSingle); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 260 | FSOUND_3D_SetDopplerFactor: procedure (Scale: Single); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 261 | FSOUND_3D_SetDistanceFactor: procedure (Scale: Single); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 262 | FSOUND_3D_SetRolloffFactor: procedure (Scale: Single); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 263 |
|
|---|
| 264 | { =================== }
|
|---|
| 265 | { FX functions. }
|
|---|
| 266 | { =================== }
|
|---|
| 267 |
|
|---|
| 268 | {
|
|---|
| 269 | Functions to control DX8 only effects processing.
|
|---|
| 270 |
|
|---|
| 271 | - FX enabled samples can only be played once at a time, not multiple times at once.
|
|---|
| 272 | - Sounds have to be created with FSOUND_HW2D or FSOUND_HW3D for this to work.
|
|---|
| 273 | - FSOUND_INIT_ENABLESYSTEMCHANNELFX can be used to apply hardware effect processing to the
|
|---|
| 274 | global mixed output of FMOD's software channels.
|
|---|
| 275 | - FSOUND_FX_Enable returns an FX handle that you can use to alter fx parameters.
|
|---|
| 276 | - FSOUND_FX_Enable can be called multiple times in a row, even on the same FX type,
|
|---|
| 277 | it will return a unique handle for each FX.
|
|---|
| 278 | - FSOUND_FX_Enable cannot be called if the sound is playing or locked.
|
|---|
| 279 | - Stopping or starting a sound resets all FX and they must be re-enabled each time
|
|---|
| 280 | if this happens.
|
|---|
| 281 | }
|
|---|
| 282 |
|
|---|
| 283 | var
|
|---|
| 284 | FSOUND_FX_Enable: function (Channel: Integer; Fx: TFSoundFXModes): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF}; { Set bits to enable following fx }
|
|---|
| 285 | FSOUND_FX_Disable: function (Channel: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 286 |
|
|---|
| 287 | FSOUND_FX_SetChorus: function (FXId: Integer; WetDryMix, Depth, Feedback, Frequency: Single; Waveform: Integer; Delay: Single; Phase: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 288 | FSOUND_FX_SetCompressor: function (FXId: Integer; Gain, Attack, Release, Threshold, Ratio, Predelay: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 289 | FSOUND_FX_SetDistortion: function (FXId: Integer; Gain, Edge, PostEQCenterFrequency, PostEQBandwidth, PreLowpassCutoff: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 290 | FSOUND_FX_SetEcho: function (FXId: Integer; WetDryMix, Feedback, LeftDelay, RightDelay: Single; PanDelay: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 291 | FSOUND_FX_SetFlanger: function (FXId: Integer; WetDryMix, Depth, Feedback, Frequency: Single; Waveform: Integer; Delay: Single; Phase: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 292 | FSOUND_FX_SetGargle: function (FXId, RateHz, WaveShape: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 293 | FSOUND_FX_SetI3DL2Reverb: function (FXId, Room, RoomHF: Integer; RoomRolloffFactor, DecayTime, DecayHFRatio: Single; Reflections: Integer; ReflectionsDelay: Single; Reverb: Integer; ReverbDelay, Diffusion, Density, HFReference: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 294 | FSOUND_FX_SetParamEQ: function (FXId: Integer; Center, Bandwidth, Gain: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 295 | FSOUND_FX_SetWavesReverb: function (FXId: Integer; InGain, ReverbMix, ReverbTime, HighFreqRTRatio: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 296 |
|
|---|
| 297 | { ========================= }
|
|---|
| 298 | { File Streaming functions. }
|
|---|
| 299 | { ========================= }
|
|---|
| 300 |
|
|---|
| 301 | {
|
|---|
| 302 | Note : Use FSOUND_LOADMEMORY flag with FSOUND_Stream_Open to stream from memory.
|
|---|
| 303 | Use FSOUND_LOADRAW flag with FSOUND_Stream_Open to treat stream as raw pcm data.
|
|---|
| 304 | Use FSOUND_MPEGACCURATE flag with FSOUND_Stream_Open to open mpegs in 'accurate mode' for settime/gettime/getlengthms.
|
|---|
| 305 | Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you.
|
|---|
| 306 | }
|
|---|
| 307 |
|
|---|
| 308 | var
|
|---|
| 309 | // call this before opening streams, not after
|
|---|
| 310 | FSOUND_Stream_SetBufferSize: function (Ms: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 311 |
|
|---|
| 312 | FSOUND_Stream_Open: function(const name_or_data: PChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundStream; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 313 | FSOUND_Stream_Create: function (Callback: TFSoundStreamCallback; Length: Integer; Mode: Cardinal; SampleRate: Integer; UserData: Integer): PFSoundStream; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 314 | FSOUND_Stream_Close: function(Stream: PFSoundStream): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 315 |
|
|---|
| 316 | FSOUND_Stream_Play: function(Channel: Integer; Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 317 | FSOUND_Stream_PlayEx: function (Channel: Integer; Stream: PFSoundStream; Dsp: PFSoundDSPUnit; StartPaused: ByteBool): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 318 | FSOUND_Stream_Stop: function(Stream: PFSoundStream): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 319 |
|
|---|
| 320 | FSOUND_Stream_SetPosition: function (Stream: PFSoundStream; Position: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 321 | FSOUND_Stream_GetPosition: function (Stream: PFSoundStream): Cardinal; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 322 | FSOUND_Stream_SetTime: function (Stream: PFSoundStream; Ms: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 323 | FSOUND_Stream_GetTime: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 324 | FSOUND_Stream_GetLength: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 325 | FSOUND_Stream_GetLengthMs: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 326 |
|
|---|
| 327 | FSOUND_Stream_SetMode: function (Stream: PFSoundStream; mode: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 328 | FSOUND_Stream_GetMode: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 329 | FSOUND_Stream_SetLoopPoints: function (Stream: PFSoundStream; LoopStartPCM, LoopEndPCM: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 330 | FSOUND_Stream_SetLoopCount: function (Stream: PFSoundStream; Count: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 331 | FSOUND_Stream_GetOpenState: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 332 | FSOUND_Stream_GetSample: function (Stream: PFSoundStream): PFSoundSample; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF}; { Every stream contains a sample to play back on }
|
|---|
| 333 | FSOUND_Stream_CreateDSP: function (Stream: PFSoundStream; Callback: TFSoundDSPCallback; Priority: Integer; Param: Integer): PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 334 |
|
|---|
| 335 | FSOUND_Stream_SetEndCallback: function (Stream: PFSoundStream; Callback: TFSoundStreamCallback; UserData: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 336 | FSOUND_Stream_SetSyncCallback: function (Stream: PFSoundStream; Callback: TFSoundStreamCallback; UserData: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 337 |
|
|---|
| 338 | FSOUND_Stream_AddSyncPoint: function (Stream: PFSoundStream; PCMOffset: Cardinal; Name: PChar): PFSyncPoint; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 339 | FSOUND_Stream_DeleteSyncPoint: function (Point: PFSyncPoint): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 340 | FSOUND_Stream_GetNumSyncPoints: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 341 | FSOUND_Stream_GetSyncPoint: function (Stream: PFSoundStream; Index: Integer): PFSyncPoint; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 342 | FSOUND_Stream_GetSyncPointInfo: function (Point: PFSyncPoint; var PCMOffset: Cardinal): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 343 |
|
|---|
| 344 | FSOUND_Stream_SetSubStream: function (Stream: PFSoundStream; Index: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 345 | FSOUND_Stream_GetNumSubStreams: function (Stream: PFSoundStream): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 346 | FSOUND_Stream_SetSubStreamSentence: function (Stream: PFSoundStream; var sentencelist: Cardinal; numitems: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 347 |
|
|---|
| 348 | FSOUND_Stream_GetNumTagFields: function (Stream: PFSoundStream; var Num: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 349 | FSOUND_Stream_GetTagField: function (Stream: PFSoundStream; Num: Integer; var _Type: TFSoundTagFieldType; var Name: PCHAR; var Value: Pointer; var Length: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 350 | FSOUND_Stream_FindTagField: function (Stream: PFSoundStream; _Type: TFSoundTagFieldType; Name: PChar; var Value: Pointer; var Length: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 351 |
|
|---|
| 352 | FSOUND_Stream_Net_SetProxy: function (Proxy: PChar): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 353 | FSOUND_Stream_Net_GetLastServerStatus: function: PChar; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 354 | FSOUND_Stream_Net_SetBufferProperties: function (BufferSize: Integer; PreBuffer_Percent: Integer; ReBuffer_Percent: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 355 | FSOUND_Stream_Net_GetBufferProperties: function (var Buffersize: Integer; var PreBuffer_Percent: Integer; var ReBuffer_Percent: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 356 | FSOUND_Stream_Net_SetMetadataCallback: function (Stream: PFSoundStream; Callback: TFMetaDataCallback; UserData: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 357 | FSOUND_Stream_Net_GetStatus: function (Stream: PFSoundStream; var Status: TFSoundStreamNetStatus; var BufferPercentUsed: Integer; var BitRate: Integer; var Flags: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 358 |
|
|---|
| 359 | { =================== }
|
|---|
| 360 | { CD audio functions. }
|
|---|
| 361 | { =================== }
|
|---|
| 362 |
|
|---|
| 363 | {
|
|---|
| 364 | Note : 0 = default cdrom. Otherwise specify the drive letter, for example. 'D'.
|
|---|
| 365 | }
|
|---|
| 366 |
|
|---|
| 367 | var
|
|---|
| 368 | FSOUND_CD_Play: function (Drive: Byte; Track: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 369 | FSOUND_CD_SetPlayMode: procedure (Drive: Byte; Mode: Integer); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 370 | FSOUND_CD_Stop: function (Drive: Byte): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 371 | FSOUND_CD_SetPaused: function (Drive: Byte; Paused: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 372 | FSOUND_CD_SetVolume: function (Drive: Byte; Volume: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 373 | FSOUND_CD_SetTrackTime: function (Drive: Byte; ms: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 374 | FSOUND_CD_OpenTray: function (Drive: Byte; Open: Byte): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 375 |
|
|---|
| 376 | var
|
|---|
| 377 | FSOUND_CD_GetPaused: function (Drive: Byte): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 378 | FSOUND_CD_GetTrack: function (Drive: Byte): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 379 | FSOUND_CD_GetNumTracks: function (Drive: Byte): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 380 | FSOUND_CD_GetVolume: function (Drive: Byte): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 381 | FSOUND_CD_GetTrackLength: function (Drive: Byte; Track: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 382 | FSOUND_CD_GetTrackTime: function (Drive: Byte): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 383 |
|
|---|
| 384 | { ============== }
|
|---|
| 385 | { DSP functions. }
|
|---|
| 386 | { ============== }
|
|---|
| 387 |
|
|---|
| 388 | {
|
|---|
| 389 | DSP Unit control and information functions.
|
|---|
| 390 | }
|
|---|
| 391 |
|
|---|
| 392 | var
|
|---|
| 393 | FSOUND_DSP_Create: function (Callback: TFSoundDSPCallback; Priority: Integer; Param: Integer): PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 394 | FSOUND_DSP_Free: procedure (DSPUnit: PFSoundDSPUnit); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 395 | FSOUND_DSP_SetPriority: procedure (DSPUnit: PFSoundDSPUnit; Priority: Integer); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 396 | FSOUND_DSP_GetPriority: function (DSPUnit: PFSoundDSPUnit): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 397 | FSOUND_DSP_SetActive: procedure (DSPUnit: PFSoundDSPUnit; Active: ByteBool); {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 398 | FSOUND_DSP_GetActive: function (DSPUnit: PFSoundDSPUnit): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 399 |
|
|---|
| 400 | {
|
|---|
| 401 | Functions to get hold of FSOUND 'system DSP unit' handles.
|
|---|
| 402 | }
|
|---|
| 403 |
|
|---|
| 404 | var
|
|---|
| 405 | FSOUND_DSP_GetClearUnit: function: PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 406 | FSOUND_DSP_GetSFXUnit: function: PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 407 | FSOUND_DSP_GetMusicUnit: function: PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 408 | FSOUND_DSP_GetClipAndCopyUnit: function: PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 409 | FSOUND_DSP_GetFFTUnit: function: PFSoundDSPUnit; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 410 |
|
|---|
| 411 | {
|
|---|
| 412 | Miscellaneous DSP functions
|
|---|
| 413 | Note for the spectrum analysis function to work, you have to enable the FFT DSP unit with
|
|---|
| 414 | the following code FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit(), TRUE);
|
|---|
| 415 | It is off by default to save cpu usage.
|
|---|
| 416 | }
|
|---|
| 417 |
|
|---|
| 418 | var
|
|---|
| 419 | FSOUND_DSP_MixBuffers: function (DestBuffer: Pointer; SrcBuffer: Pointer; Len: Integer; Freq: Integer; Vol: Integer; Pan: Integer; Mode: Cardinal): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 420 | FSOUND_DSP_ClearMixBuffer: procedure; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 421 | FSOUND_DSP_GetBufferLength: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF}; { Length of each DSP update }
|
|---|
| 422 | FSOUND_DSP_GetBufferLengthTotal: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF}; { Total buffer length due to FSOUND_SetBufferSize }
|
|---|
| 423 | FSOUND_DSP_GetSpectrum: function: PSingle; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF}; { Array of 512 floats - call FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit(), TRUE)) for this to work. }
|
|---|
| 424 |
|
|---|
| 425 | { ========================================================================== }
|
|---|
| 426 | { Reverb functions. (eax2/eax3 reverb) (NOT SUPPORTED IN UNIX/CE) }
|
|---|
| 427 | { ========================================================================== }
|
|---|
| 428 |
|
|---|
| 429 | {
|
|---|
| 430 | See structures above for definitions and information on the reverb parameters.
|
|---|
| 431 | }
|
|---|
| 432 |
|
|---|
| 433 | var
|
|---|
| 434 | FSOUND_Reverb_SetProperties: function (const Prop: TFSoundReverbProperties): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 435 | FSOUND_Reverb_GetProperties: function (var Prop: TFSoundReverbProperties): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 436 | FSOUND_Reverb_SetChannelProperties: function (Channel: Integer; var Prop: TFSoundReverbChannelProperties): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 437 | FSOUND_Reverb_GetChannelProperties: function (Channel: Integer; var Prop: TFSoundReverbChannelProperties): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 438 |
|
|---|
| 439 | { ================================================ }
|
|---|
| 440 | { Recording functions (NOT SUPPORTED IN UNIX/MAC) }
|
|---|
| 441 | { ================================================ }
|
|---|
| 442 |
|
|---|
| 443 | {
|
|---|
| 444 | Recording initialization functions
|
|---|
| 445 | }
|
|---|
| 446 |
|
|---|
| 447 | var
|
|---|
| 448 | FSOUND_Record_SetDriver: function (OutputType: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 449 | FSOUND_Record_GetNumDrivers: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 450 | FSOUND_Record_GetDriverName: function (Id: Integer): PChar; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 451 | FSOUND_Record_GetDriver: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 452 |
|
|---|
| 453 | {
|
|---|
| 454 | Recording functionality. Only one recording session will work at a time.
|
|---|
| 455 | }
|
|---|
| 456 |
|
|---|
| 457 | var
|
|---|
| 458 | FSOUND_Record_StartSample: function (Sptr: PFSoundSample; Loop: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 459 | FSOUND_Record_Stop: function: ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 460 | FSOUND_Record_GetPosition: function: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 461 |
|
|---|
| 462 | { ============================================================================================= }
|
|---|
| 463 | { FMUSIC API (MOD,S3M,XM,IT,MIDI PLAYBACK) }
|
|---|
| 464 | { ============================================================================================= }
|
|---|
| 465 |
|
|---|
| 466 | {
|
|---|
| 467 | Song management / playback functions.
|
|---|
| 468 | }
|
|---|
| 469 |
|
|---|
| 470 | var
|
|---|
| 471 | FMUSIC_LoadSong: function (const Name: PChar): PFMusicModule; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 472 | FMUSIC_LoadSongEx: function (Name_Or_Data: Pointer; Offset: Integer; Length: Integer; Mode: Cardinal; var SampleList: Integer; SampleListNum: Integer): PFMusicModule; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 473 | FMUSIC_GetOpenState: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 474 | FMUSIC_FreeSong: function (Module: PFMusicModule): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 475 | FMUSIC_PlaySong: function (Module: PFMusicModule): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 476 | FMUSIC_StopSong: function (Module: PFMusicModule): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 477 | FMUSIC_StopAllSongs: procedure; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 478 |
|
|---|
| 479 | var
|
|---|
| 480 | FMUSIC_SetZxxCallback: function (Module: PFMusicModule; Callback: TFMusicCallback): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 481 | FMUSIC_SetRowCallback: function (Module: PFMusicModule; Callback: TFMusicCallback; RowStep: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 482 | FMUSIC_SetOrderCallback: function (Module: PFMusicModule; Callback: TFMusicCallback; OrderStep: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 483 | FMUSIC_SetInstCallback: function (Module: PFMusicModule; Callback: TFMusicCallback; Instrument: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 484 |
|
|---|
| 485 | var
|
|---|
| 486 | FMUSIC_SetSample: function (Module: PFMusicModule; SampNo: Integer; Sptr: PFSoundSample): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 487 | FMUSIC_SetUserData: function (Module: PFMusicModule; userdata: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 488 | FMUSIC_OptimizeChannels: function (Module: PFMusicModule; MaxChannels: Integer; MinVolume: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 489 |
|
|---|
| 490 | {
|
|---|
| 491 | Runtime song functions.
|
|---|
| 492 | }
|
|---|
| 493 |
|
|---|
| 494 | var
|
|---|
| 495 | FMUSIC_SetReverb: function (Reverb: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 496 | FMUSIC_SetLooping: function (Module: PFMusicModule; Looping: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 497 | FMUSIC_SetOrder: function (Module: PFMusicModule; Order: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 498 | FMUSIC_SetPaused: function (Module: PFMusicModule; Pause: ByteBool): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 499 | FMUSIC_SetMasterVolume: function (Module: PFMusicModule; Volume: Integer): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 500 | FMUSIC_SetMasterSpeed: function (Module: PFMusicModule; Speed: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 501 | FMUSIC_SetPanSeperation: function (Module: PFMusicModule; PanSep: Single): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 502 |
|
|---|
| 503 | {
|
|---|
| 504 | Static song information functions.
|
|---|
| 505 | }
|
|---|
| 506 |
|
|---|
| 507 | var
|
|---|
| 508 | FMUSIC_GetName: function (Module: PFMusicModule): PCHAR; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 509 | FMUSIC_GetType: function (Module: PFMusicModule): TFMusicTypes; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 510 | FMUSIC_GetNumOrders: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 511 | FMUSIC_GetNumPatterns: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 512 | FMUSIC_GetNumInstruments: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 513 | FMUSIC_GetNumSamples: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 514 | FMUSIC_GetNumChannels: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 515 | FMUSIC_GetSample: function (Module: PFMusicModule; SampNo: Integer): PFSoundSample; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 516 | FMUSIC_GetPatternLength: function (Module: PFMusicModule; OrderNo: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 517 |
|
|---|
| 518 | {
|
|---|
| 519 | Runtime song information.
|
|---|
| 520 | }
|
|---|
| 521 |
|
|---|
| 522 | var
|
|---|
| 523 | FMUSIC_IsFinished: function (Module: PFMusicModule): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 524 | FMUSIC_IsPlaying: function (Module: PFMusicModule): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 525 | FMUSIC_GetMasterVolume: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 526 | FMUSIC_GetGlobalVolume: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 527 | FMUSIC_GetOrder: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 528 | FMUSIC_GetPattern: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 529 | FMUSIC_GetSpeed: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 530 | FMUSIC_GetBPM: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 531 | FMUSIC_GetRow: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 532 | FMUSIC_GetPaused: function (Module: PFMusicModule): ByteBool; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 533 | FMUSIC_GetTime: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 534 | FMUSIC_GetRealChannel: function (Module: PFMusicModule; ModChannel: Integer): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 535 | FMUSIC_GetUserData: function (Module: PFMusicModule): Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
|
|---|
| 536 |
|
|---|
| 537 | implementation
|
|---|
| 538 |
|
|---|
| 539 | {$IFDEF UNIX}
|
|---|
| 540 | uses
|
|---|
| 541 | dl; //Libc;
|
|---|
| 542 | {$ENDIF}
|
|---|
| 543 |
|
|---|
| 544 | const
|
|---|
| 545 | {$IFDEF UNIX}
|
|---|
| 546 | FMOD_DLL = 'libfmod.so';
|
|---|
| 547 | {$ENDIF}
|
|---|
| 548 | {$IFDEF WINDOWS}
|
|---|
| 549 | FMOD_DLL = 'fmod.dll';
|
|---|
| 550 | {$ENDIF}
|
|---|
| 551 |
|
|---|
| 552 | type
|
|---|
| 553 | {$IFDEF UNIX}
|
|---|
| 554 | TFMODModuleHandle = Pointer;
|
|---|
| 555 | {$ELSE}
|
|---|
| 556 | TFMODModuleHandle = HINST;
|
|---|
| 557 | {$ENDIF}
|
|---|
| 558 |
|
|---|
| 559 | const
|
|---|
| 560 | {$IFDEF UNIX}
|
|---|
| 561 | INVALID_MODULEHANDLE_VALUE = TFMODModuleHandle(nil);
|
|---|
| 562 | {$ELSE}
|
|---|
| 563 | INVALID_MODULEHANDLE_VALUE = TFMODModuleHandle(0);
|
|---|
| 564 | {$ENDIF}
|
|---|
| 565 |
|
|---|
| 566 | var
|
|---|
| 567 | FMODHandle: TFMODModuleHandle;
|
|---|
| 568 |
|
|---|
| 569 | function GetAddress(Handle: TFMODModuleHandle; FuncName: PChar): Pointer;
|
|---|
| 570 | begin
|
|---|
| 571 | {$IFDEF WINDOWS}
|
|---|
| 572 | Result := GetProcAddress(Handle, FuncName);
|
|---|
| 573 | {$ELSE}
|
|---|
| 574 | Result := dlsym(Handle, FuncName);
|
|---|
| 575 | {$ENDIF}
|
|---|
| 576 | Assert(Result <> nil, 'Failed to find ' + FuncName + ' in ' + FMOD_DLL);
|
|---|
| 577 | end;
|
|---|
| 578 |
|
|---|
| 579 | function FMOD_Load(LibName: PChar): Boolean;
|
|---|
| 580 | begin
|
|---|
| 581 | Result := False;
|
|---|
| 582 |
|
|---|
| 583 | { Make sure the previous library is unloaded }
|
|---|
| 584 | FMOD_Unload;
|
|---|
| 585 |
|
|---|
| 586 | { If no library name given, use the default library names }
|
|---|
| 587 | if (LibName = nil) or (LibName='') then
|
|---|
| 588 | LibName := FMOD_DLL;
|
|---|
| 589 | writeln('loading');
|
|---|
| 590 | { Load the library }
|
|---|
| 591 | {$IFDEF WINDOWS}
|
|---|
| 592 | FMODHandle := LoadLibrary(LibName);
|
|---|
| 593 | {$ELSE}
|
|---|
| 594 | FMODHandle := dlopen(LibName, RTLD_NOW);
|
|---|
| 595 | {$ENDIF}
|
|---|
| 596 |
|
|---|
| 597 | if FMODHandle = INVALID_MODULEHANDLE_VALUE then
|
|---|
| 598 | Exit;
|
|---|
| 599 |
|
|---|
| 600 | {$IFDEF WINDOWS}
|
|---|
| 601 | { Get all the function addresses from the library }
|
|---|
| 602 | pointer(FSOUND_SetOutput) := GetAddress(FMODHandle, '_FSOUND_SetOutput@4');
|
|---|
| 603 | pointer(FSOUND_SetDriver) := GetAddress(FMODHandle, '_FSOUND_SetDriver@4');
|
|---|
| 604 | pointer(FSOUND_SetMixer) := GetAddress(FMODHandle, '_FSOUND_SetMixer@4');
|
|---|
| 605 | pointer(FSOUND_SetBufferSize) := GetAddress(FMODHandle, '_FSOUND_SetBufferSize@4');
|
|---|
| 606 | pointer(FSOUND_SetHWND) := GetAddress(FMODHandle, '_FSOUND_SetHWND@4');
|
|---|
| 607 | pointer(FSOUND_SetMinHardwareChannels) := GetAddress(FMODHandle, '_FSOUND_SetMinHardwareChannels@4');
|
|---|
| 608 | pointer(FSOUND_SetMaxHardwareChannels) := GetAddress(FMODHandle, '_FSOUND_SetMaxHardwareChannels@4');
|
|---|
| 609 | pointer(FSOUND_SetMemorySystem) := GetAddress(FMODHandle, '_FSOUND_SetMemorySystem@20');
|
|---|
| 610 | pointer(FSOUND_Init) := GetAddress(FMODHandle, '_FSOUND_Init@12');
|
|---|
| 611 | pointer(FSOUND_Close) := GetAddress(FMODHandle, '_FSOUND_Close@0');
|
|---|
| 612 | pointer(FSOUND_Update) := GetAddress(FMODHandle, '_FSOUND_Update@0');
|
|---|
| 613 | pointer(FSOUND_SetSpeakerMode) := GetAddress(FMODHandle, '_FSOUND_SetSpeakerMode@4');
|
|---|
| 614 | pointer(FSOUND_SetSFXMasterVolume) := GetAddress(FMODHandle, '_FSOUND_SetSFXMasterVolume@4');
|
|---|
| 615 | pointer(FSOUND_SetPanSeperation) := GetAddress(FMODHandle, '_FSOUND_SetPanSeperation@4');
|
|---|
| 616 | pointer(FSOUND_GetError) := GetAddress(FMODHandle, '_FSOUND_GetError@0');
|
|---|
| 617 | pointer(FSOUND_GetVersion) := GetAddress(FMODHandle, '_FSOUND_GetVersion@0');
|
|---|
| 618 | pointer(FSOUND_GetOutput) := GetAddress(FMODHandle, '_FSOUND_GetOutput@0');
|
|---|
| 619 | pointer(FSOUND_GetOutputHandle) := GetAddress(FMODHandle, '_FSOUND_GetOutputHandle@0');
|
|---|
| 620 | pointer(FSOUND_GetDriver) := GetAddress(FMODHandle, '_FSOUND_GetDriver@0');
|
|---|
| 621 | pointer(FSOUND_GetMixer) := GetAddress(FMODHandle, '_FSOUND_GetMixer@0');
|
|---|
| 622 | pointer(FSOUND_GetNumDrivers) := GetAddress(FMODHandle, '_FSOUND_GetNumDrivers@0');
|
|---|
| 623 | pointer(FSOUND_GetDriverName) := GetAddress(FMODHandle, '_FSOUND_GetDriverName@4');
|
|---|
| 624 | pointer(FSOUND_GetDriverCaps) := GetAddress(FMODHandle, '_FSOUND_GetDriverCaps@8');
|
|---|
| 625 | pointer(FSOUND_GetOutputRate) := GetAddress(FMODHandle, '_FSOUND_GetOutputRate@0');
|
|---|
| 626 | pointer(FSOUND_GetMaxChannels) := GetAddress(FMODHandle, '_FSOUND_GetMaxChannels@0');
|
|---|
| 627 | pointer(FSOUND_GetMaxSamples) := GetAddress(FMODHandle, '_FSOUND_GetMaxSamples@0');
|
|---|
| 628 | pointer(FSOUND_GetSpeakerMode) := GetAddress(FMODHandle, '_FSOUND_GetSpeakerMode@0');
|
|---|
| 629 | pointer(FSOUND_GetSFXMasterVolume) := GetAddress(FMODHandle, '_FSOUND_GetSFXMasterVolume@0');
|
|---|
| 630 | pointer(FSOUND_GetNumHWChannels) := GetAddress(FMODHandle, '_FSOUND_GetNumHWChannels@12');
|
|---|
| 631 | pointer(FSOUND_GetChannelsPlaying) := GetAddress(FMODHandle, '_FSOUND_GetChannelsPlaying@0');
|
|---|
| 632 | pointer(FSOUND_GetCPUUsage) := GetAddress(FMODHandle, '_FSOUND_GetCPUUsage@0');
|
|---|
| 633 | pointer(FSOUND_GetMemoryStats) := GetAddress(FMODHandle, '_FSOUND_GetMemoryStats@8');
|
|---|
| 634 | pointer(FSOUND_Sample_Load) := GetAddress(FMODHandle, '_FSOUND_Sample_Load@20');
|
|---|
| 635 | pointer(FSOUND_Sample_Alloc) := GetAddress(FMODHandle, '_FSOUND_Sample_Alloc@28');
|
|---|
| 636 | pointer(FSOUND_Sample_Free) := GetAddress(FMODHandle, '_FSOUND_Sample_Free@4');
|
|---|
| 637 | pointer(FSOUND_Sample_Upload) := GetAddress(FMODHandle, '_FSOUND_Sample_Upload@12');
|
|---|
| 638 | pointer(FSOUND_Sample_Lock) := GetAddress(FMODHandle, '_FSOUND_Sample_Lock@28');
|
|---|
| 639 | pointer(FSOUND_Sample_Unlock) := GetAddress(FMODHandle, '_FSOUND_Sample_Unlock@20');
|
|---|
| 640 | pointer(FSOUND_Sample_SetMode) := GetAddress(FMODHandle, '_FSOUND_Sample_SetMode@8');
|
|---|
| 641 | pointer(FSOUND_Sample_SetLoopPoints) := GetAddress(FMODHandle, '_FSOUND_Sample_SetLoopPoints@12');
|
|---|
| 642 | pointer(FSOUND_Sample_SetDefaults) := GetAddress(FMODHandle, '_FSOUND_Sample_SetDefaults@20');
|
|---|
| 643 | pointer(FSOUND_Sample_SetDefaultsEx) := GetAddress(FMODHandle, '_FSOUND_Sample_SetDefaultsEx@32');
|
|---|
| 644 | pointer(FSOUND_Sample_SetMinMaxDistance) := GetAddress(FMODHandle, '_FSOUND_Sample_SetMinMaxDistance@12');
|
|---|
| 645 | pointer(FSOUND_Sample_SetMaxPlaybacks) := GetAddress(FMODHandle, '_FSOUND_Sample_SetMaxPlaybacks@8');
|
|---|
| 646 | pointer(FSOUND_Sample_Get) := GetAddress(FMODHandle, '_FSOUND_Sample_Get@4');
|
|---|
| 647 | pointer(FSOUND_Sample_GetName) := GetAddress(FMODHandle, '_FSOUND_Sample_GetName@4');
|
|---|
| 648 | pointer(FSOUND_Sample_GetLength) := GetAddress(FMODHandle, '_FSOUND_Sample_GetLength@4');
|
|---|
| 649 | pointer(FSOUND_Sample_GetLoopPoints) := GetAddress(FMODHandle, '_FSOUND_Sample_GetLoopPoints@12');
|
|---|
| 650 | pointer(FSOUND_Sample_GetDefaults) := GetAddress(FMODHandle, '_FSOUND_Sample_GetDefaults@20');
|
|---|
| 651 | pointer(FSOUND_Sample_GetDefaultsEx) := GetAddress(FMODHandle, '_FSOUND_Sample_GetDefaultsEx@32');
|
|---|
| 652 | pointer(FSOUND_Sample_GetMode) := GetAddress(FMODHandle, '_FSOUND_Sample_GetMode@4');
|
|---|
| 653 | pointer(FSOUND_Sample_GetMinMaxDistance) := GetAddress(FMODHandle, '_FSOUND_Sample_GetMinMaxDistance@12');
|
|---|
| 654 | pointer(FSOUND_PlaySound) := GetAddress(FMODHandle, '_FSOUND_PlaySound@8');
|
|---|
| 655 | pointer(FSOUND_PlaySoundEx) := GetAddress(FMODHandle, '_FSOUND_PlaySoundEx@16');
|
|---|
| 656 | pointer(FSOUND_StopSound) := GetAddress(FMODHandle, '_FSOUND_StopSound@4');
|
|---|
| 657 | pointer(FSOUND_SetFrequency) := GetAddress(FMODHandle, '_FSOUND_SetFrequency@8');
|
|---|
| 658 | pointer(FSOUND_SetVolume) := GetAddress(FMODHandle, '_FSOUND_SetVolume@8');
|
|---|
| 659 | pointer(FSOUND_SetVolumeAbsolute) := GetAddress(FMODHandle, '_FSOUND_SetVolumeAbsolute@8');
|
|---|
| 660 | pointer(FSOUND_SetPan) := GetAddress(FMODHandle, '_FSOUND_SetPan@8');
|
|---|
| 661 | pointer(FSOUND_SetSurround) := GetAddress(FMODHandle, '_FSOUND_SetSurround@8');
|
|---|
| 662 | pointer(FSOUND_SetMute) := GetAddress(FMODHandle, '_FSOUND_SetMute@8');
|
|---|
| 663 | pointer(FSOUND_SetPriority) := GetAddress(FMODHandle, '_FSOUND_SetPriority@8');
|
|---|
| 664 | pointer(FSOUND_SetReserved) := GetAddress(FMODHandle, '_FSOUND_SetReserved@8');
|
|---|
| 665 | pointer(FSOUND_SetPaused) := GetAddress(FMODHandle, '_FSOUND_SetPaused@8');
|
|---|
| 666 | pointer(FSOUND_SetLoopMode) := GetAddress(FMODHandle, '_FSOUND_SetLoopMode@8');
|
|---|
| 667 | pointer(FSOUND_SetCurrentPosition) := GetAddress(FMODHandle, '_FSOUND_SetCurrentPosition@8');
|
|---|
| 668 | pointer(FSOUND_3D_SetAttributes) := GetAddress(FMODHandle, '_FSOUND_3D_SetAttributes@12');
|
|---|
| 669 | pointer(FSOUND_3D_SetMinMaxDistance) := GetAddress(FMODHandle, '_FSOUND_3D_SetMinMaxDistance@12');
|
|---|
| 670 | pointer(FSOUND_IsPlaying) := GetAddress(FMODHandle, '_FSOUND_IsPlaying@4');
|
|---|
| 671 | pointer(FSOUND_GetFrequency) := GetAddress(FMODHandle, '_FSOUND_GetFrequency@4');
|
|---|
| 672 | pointer(FSOUND_GetVolume) := GetAddress(FMODHandle, '_FSOUND_GetVolume@4');
|
|---|
| 673 | pointer(FSOUND_GetAmplitude) := GetAddress(FMODHandle, '_FSOUND_GetAmplitude@4');
|
|---|
| 674 | pointer(FSOUND_GetPan) := GetAddress(FMODHandle, '_FSOUND_GetPan@4');
|
|---|
| 675 | pointer(FSOUND_GetSurround) := GetAddress(FMODHandle, '_FSOUND_GetSurround@4');
|
|---|
| 676 | pointer(FSOUND_GetMute) := GetAddress(FMODHandle, '_FSOUND_GetMute@4');
|
|---|
| 677 | pointer(FSOUND_GetPriority) := GetAddress(FMODHandle, '_FSOUND_GetPriority@4');
|
|---|
| 678 | pointer(FSOUND_GetReserved) := GetAddress(FMODHandle, '_FSOUND_GetReserved@4');
|
|---|
| 679 | pointer(FSOUND_GetPaused) := GetAddress(FMODHandle, '_FSOUND_GetPaused@4');
|
|---|
| 680 | pointer(FSOUND_GetLoopMode) := GetAddress(FMODHandle, '_FSOUND_GetLoopMode@4');
|
|---|
| 681 | pointer(FSOUND_GetCurrentPosition) := GetAddress(FMODHandle, '_FSOUND_GetCurrentPosition@4');
|
|---|
| 682 | pointer(FSOUND_GetCurrentSample) := GetAddress(FMODHandle, '_FSOUND_GetCurrentSample@4');
|
|---|
| 683 | pointer(FSOUND_GetCurrentLevels) := GetAddress(FMODHandle, '_FSOUND_GetCurrentLevels@12');
|
|---|
| 684 | pointer(FSOUND_GetNumSubChannels) := GetAddress(FMODHandle, '_FSOUND_GetNumSubChannels@4');
|
|---|
| 685 | pointer(FSOUND_GetSubChannel) := GetAddress(FMODHandle, '_FSOUND_GetSubChannel@8');
|
|---|
| 686 | pointer(FSOUND_3D_GetAttributes) := GetAddress(FMODHandle, '_FSOUND_3D_GetAttributes@12');
|
|---|
| 687 | pointer(FSOUND_3D_GetMinMaxDistance) := GetAddress(FMODHandle, '_FSOUND_3D_GetMinMaxDistance@12');
|
|---|
| 688 | pointer(FSOUND_3D_Listener_SetCurrent) := GetAddress(FMODHandle, '_FSOUND_3D_Listener_SetCurrent@8');
|
|---|
| 689 | pointer(FSOUND_3D_Listener_SetAttributes) := GetAddress(FMODHandle, '_FSOUND_3D_Listener_SetAttributes@32');
|
|---|
| 690 | pointer(FSOUND_3D_Listener_GetAttributes) := GetAddress(FMODHandle, '_FSOUND_3D_Listener_GetAttributes@32');
|
|---|
| 691 | pointer(FSOUND_3D_SetDopplerFactor) := GetAddress(FMODHandle, '_FSOUND_3D_SetDopplerFactor@4');
|
|---|
| 692 | pointer(FSOUND_3D_SetDistanceFactor) := GetAddress(FMODHandle, '_FSOUND_3D_SetDistanceFactor@4');
|
|---|
| 693 | pointer(FSOUND_3D_SetRolloffFactor) := GetAddress(FMODHandle, '_FSOUND_3D_SetRolloffFactor@4');
|
|---|
| 694 | pointer(FSOUND_FX_Enable) := GetAddress(FMODHandle, '_FSOUND_FX_Enable@8');
|
|---|
| 695 | pointer(FSOUND_FX_SetChorus) := GetAddress(FMODHandle, '_FSOUND_FX_SetChorus@32');
|
|---|
| 696 | pointer(FSOUND_FX_SetCompressor) := GetAddress(FMODHandle, '_FSOUND_FX_SetCompressor@28');
|
|---|
| 697 | pointer(FSOUND_FX_SetDistortion) := GetAddress(FMODHandle, '_FSOUND_FX_SetDistortion@24');
|
|---|
| 698 | pointer(FSOUND_FX_SetEcho) := GetAddress(FMODHandle, '_FSOUND_FX_SetEcho@24');
|
|---|
| 699 | pointer(FSOUND_FX_SetFlanger) := GetAddress(FMODHandle, '_FSOUND_FX_SetFlanger@32');
|
|---|
| 700 | pointer(FSOUND_FX_SetGargle) := GetAddress(FMODHandle, '_FSOUND_FX_SetGargle@12');
|
|---|
| 701 | pointer(FSOUND_FX_SetI3DL2Reverb) := GetAddress(FMODHandle, '_FSOUND_FX_SetI3DL2Reverb@52');
|
|---|
| 702 | pointer(FSOUND_FX_SetParamEQ) := GetAddress(FMODHandle, '_FSOUND_FX_SetParamEQ@16');
|
|---|
| 703 | pointer(FSOUND_FX_SetWavesReverb) := GetAddress(FMODHandle, '_FSOUND_FX_SetWavesReverb@20');
|
|---|
| 704 | pointer(FSOUND_Stream_Open) := GetAddress(FMODHandle, '_FSOUND_Stream_Open@16');
|
|---|
| 705 | pointer(FSOUND_Stream_Create) := GetAddress(FMODHandle, '_FSOUND_Stream_Create@20');
|
|---|
| 706 | pointer(FSOUND_Stream_Close) := GetAddress(FMODHandle, '_FSOUND_Stream_Close@4');
|
|---|
| 707 | pointer(FSOUND_Stream_Play) := GetAddress(FMODHandle, '_FSOUND_Stream_Play@8');
|
|---|
| 708 | pointer(FSOUND_Stream_PlayEx) := GetAddress(FMODHandle, '_FSOUND_Stream_PlayEx@16');
|
|---|
| 709 | pointer(FSOUND_Stream_Stop) := GetAddress(FMODHandle, '_FSOUND_Stream_Stop@4');
|
|---|
| 710 | pointer(FSOUND_Stream_SetEndCallback) := GetAddress(FMODHandle, '_FSOUND_Stream_SetEndCallback@12');
|
|---|
| 711 | pointer(FSOUND_Stream_SetSyncCallback) := GetAddress(FMODHandle, '_FSOUND_Stream_SetSyncCallback@12');
|
|---|
| 712 | pointer(FSOUND_Stream_GetSample) := GetAddress(FMODHandle, '_FSOUND_Stream_GetSample@4');
|
|---|
| 713 | pointer(FSOUND_Stream_CreateDSP) := GetAddress(FMODHandle, '_FSOUND_Stream_CreateDSP@16');
|
|---|
| 714 | pointer(FSOUND_Stream_SetBufferSize) := GetAddress(FMODHandle, '_FSOUND_Stream_SetBufferSize@4');
|
|---|
| 715 | pointer(FSOUND_Stream_SetPosition) := GetAddress(FMODHandle, '_FSOUND_Stream_SetPosition@8');
|
|---|
| 716 | pointer(FSOUND_Stream_GetPosition) := GetAddress(FMODHandle, '_FSOUND_Stream_GetPosition@4');
|
|---|
| 717 | pointer(FSOUND_Stream_SetTime) := GetAddress(FMODHandle, '_FSOUND_Stream_SetTime@8');
|
|---|
| 718 | pointer(FSOUND_Stream_GetTime) := GetAddress(FMODHandle, '_FSOUND_Stream_GetTime@4');
|
|---|
| 719 | pointer(FSOUND_Stream_GetLength) := GetAddress(FMODHandle, '_FSOUND_Stream_GetLength@4');
|
|---|
| 720 | pointer(FSOUND_Stream_GetLengthMs) := GetAddress(FMODHandle, '_FSOUND_Stream_GetLengthMs@4');
|
|---|
| 721 | pointer(FSOUND_Stream_SetMode) := GetAddress(FMODHandle, '_FSOUND_Stream_SetMode@8');
|
|---|
| 722 | pointer(FSOUND_Stream_GetMode) := GetAddress(FMODHandle, '_FSOUND_Stream_GetMode@4');
|
|---|
| 723 | pointer(FSOUND_Stream_SetLoopPoints) := GetAddress(FMODHandle, '_FSOUND_Stream_SetLoopPoints@12');
|
|---|
| 724 | pointer(FSOUND_Stream_SetLoopCount) := GetAddress(FMODHandle, '_FSOUND_Stream_SetLoopCount@8');
|
|---|
| 725 | pointer(FSOUND_Stream_GetOpenState) := GetAddress(FMODHandle, '_FSOUND_Stream_GetOpenState@4');
|
|---|
| 726 | pointer(FSOUND_Stream_AddSyncPoint) := GetAddress(FMODHandle, '_FSOUND_Stream_AddSyncPoint@12');
|
|---|
| 727 | pointer(FSOUND_Stream_DeleteSyncPoint) := GetAddress(FMODHandle, '_FSOUND_Stream_DeleteSyncPoint@4');
|
|---|
| 728 | pointer(FSOUND_Stream_GetNumSyncPoints) := GetAddress(FMODHandle, '_FSOUND_Stream_GetNumSyncPoints@4');
|
|---|
| 729 | pointer(FSOUND_Stream_GetSyncPoint) := GetAddress(FMODHandle, '_FSOUND_Stream_GetSyncPoint@8');
|
|---|
| 730 | pointer(FSOUND_Stream_GetSyncPointInfo) := GetAddress(FMODHandle, '_FSOUND_Stream_GetSyncPointInfo@8');
|
|---|
| 731 | pointer(FSOUND_Stream_SetSubStream) := GetAddress(FMODHandle, '_FSOUND_Stream_SetSubStream@8');
|
|---|
| 732 | pointer(FSOUND_Stream_GetNumSubStreams) := GetAddress(FMODHandle, '_FSOUND_Stream_GetNumSubStreams@4');
|
|---|
| 733 | pointer(FSOUND_Stream_SetSubStreamSentence) := GetAddress(FMODHandle, '_FSOUND_Stream_SetSubStreamSentence@12');
|
|---|
| 734 | pointer(FSOUND_Stream_GetNumTagFields) := GetAddress(FMODHandle, '_FSOUND_Stream_GetNumTagFields@8');
|
|---|
| 735 | pointer(FSOUND_Stream_GetTagField) := GetAddress(FMODHandle, '_FSOUND_Stream_GetTagField@24');
|
|---|
| 736 | pointer(FSOUND_Stream_FindTagField) := GetAddress(FMODHandle, '_FSOUND_Stream_FindTagField@20');
|
|---|
| 737 | pointer(FSOUND_Stream_Net_SetProxy) := GetAddress(FMODHandle, '_FSOUND_Stream_Net_SetProxy@4');
|
|---|
| 738 | pointer(FSOUND_Stream_Net_GetLastServerStatus) := GetAddress(FMODHandle, '_FSOUND_Stream_Net_GetLastServerStatus@0');
|
|---|
| 739 | pointer(FSOUND_Stream_Net_SetBufferProperties) := GetAddress(FMODHandle, '_FSOUND_Stream_Net_SetBufferProperties@12');
|
|---|
| 740 | pointer(FSOUND_Stream_Net_GetBufferProperties) := GetAddress(FMODHandle, '_FSOUND_Stream_Net_GetBufferProperties@12');
|
|---|
| 741 | pointer(FSOUND_Stream_Net_SetMetadataCallback) := GetAddress(FMODHandle, '_FSOUND_Stream_Net_SetMetadataCallback@12');
|
|---|
| 742 | pointer(FSOUND_Stream_Net_GetStatus) := GetAddress(FMODHandle, '_FSOUND_Stream_Net_GetStatus@20');
|
|---|
| 743 | pointer(FSOUND_CD_Play) := GetAddress(FMODHandle, '_FSOUND_CD_Play@8');
|
|---|
| 744 | pointer(FSOUND_CD_SetPlayMode) := GetAddress(FMODHandle, '_FSOUND_CD_SetPlayMode@8');
|
|---|
| 745 | pointer(FSOUND_CD_Stop) := GetAddress(FMODHandle, '_FSOUND_CD_Stop@4');
|
|---|
| 746 | pointer(FSOUND_CD_SetPaused) := GetAddress(FMODHandle, '_FSOUND_CD_SetPaused@8');
|
|---|
| 747 | pointer(FSOUND_CD_SetVolume) := GetAddress(FMODHandle, '_FSOUND_CD_SetVolume@8');
|
|---|
| 748 | pointer(FSOUND_CD_SetTrackTime) := GetAddress(FMODHandle, '_FSOUND_CD_SetTrackTime@8');
|
|---|
| 749 | pointer(FSOUND_CD_OpenTray) := GetAddress(FMODHandle, '_FSOUND_CD_OpenTray@8');
|
|---|
| 750 | pointer(FSOUND_CD_GetPaused) := GetAddress(FMODHandle, '_FSOUND_CD_GetPaused@4');
|
|---|
| 751 | pointer(FSOUND_CD_GetTrack) := GetAddress(FMODHandle, '_FSOUND_CD_GetTrack@4');
|
|---|
| 752 | pointer(FSOUND_CD_GetNumTracks) := GetAddress(FMODHandle, '_FSOUND_CD_GetNumTracks@4');
|
|---|
| 753 | pointer(FSOUND_CD_GetVolume) := GetAddress(FMODHandle, '_FSOUND_CD_GetVolume@4');
|
|---|
| 754 | pointer(FSOUND_CD_GetTrackLength) := GetAddress(FMODHandle, '_FSOUND_CD_GetTrackLength@8');
|
|---|
| 755 | pointer(FSOUND_CD_GetTrackTime) := GetAddress(FMODHandle, '_FSOUND_CD_GetTrackTime@4');
|
|---|
| 756 | pointer(FSOUND_DSP_Create) := GetAddress(FMODHandle, '_FSOUND_DSP_Create@12');
|
|---|
| 757 | pointer(FSOUND_DSP_Free) := GetAddress(FMODHandle, '_FSOUND_DSP_Free@4');
|
|---|
| 758 | pointer(FSOUND_DSP_SetPriority) := GetAddress(FMODHandle, '_FSOUND_DSP_SetPriority@8');
|
|---|
| 759 | pointer(FSOUND_DSP_GetPriority) := GetAddress(FMODHandle, '_FSOUND_DSP_GetPriority@4');
|
|---|
| 760 | pointer(FSOUND_DSP_SetActive) := GetAddress(FMODHandle, '_FSOUND_DSP_SetActive@8');
|
|---|
| 761 | pointer(FSOUND_DSP_GetActive) := GetAddress(FMODHandle, '_FSOUND_DSP_GetActive@4');
|
|---|
| 762 | pointer(FSOUND_DSP_GetClearUnit) := GetAddress(FMODHandle, '_FSOUND_DSP_GetClearUnit@0');
|
|---|
| 763 | pointer(FSOUND_DSP_GetSFXUnit) := GetAddress(FMODHandle, '_FSOUND_DSP_GetSFXUnit@0');
|
|---|
| 764 | pointer(FSOUND_DSP_GetMusicUnit) := GetAddress(FMODHandle, '_FSOUND_DSP_GetMusicUnit@0');
|
|---|
| 765 | pointer(FSOUND_DSP_GetClipAndCopyUnit) := GetAddress(FMODHandle, '_FSOUND_DSP_GetClipAndCopyUnit@0');
|
|---|
| 766 | pointer(FSOUND_DSP_GetFFTUnit) := GetAddress(FMODHandle, '_FSOUND_DSP_GetFFTUnit@0');
|
|---|
| 767 | pointer(FSOUND_DSP_MixBuffers) := GetAddress(FMODHandle, '_FSOUND_DSP_MixBuffers@28');
|
|---|
| 768 | pointer(FSOUND_DSP_ClearMixBuffer) := GetAddress(FMODHandle, '_FSOUND_DSP_ClearMixBuffer@0');
|
|---|
| 769 | pointer(FSOUND_DSP_GetBufferLength) := GetAddress(FMODHandle, '_FSOUND_DSP_GetBufferLength@0');
|
|---|
| 770 | pointer(FSOUND_DSP_GetBufferLengthTotal) := GetAddress(FMODHandle, '_FSOUND_DSP_GetBufferLengthTotal@0');
|
|---|
| 771 | pointer(FSOUND_DSP_GetSpectrum) := GetAddress(FMODHandle, '_FSOUND_DSP_GetSpectrum@0');
|
|---|
| 772 | pointer(FSOUND_Reverb_SetProperties) := GetAddress(FMODHandle, '_FSOUND_Reverb_SetProperties@4');
|
|---|
| 773 | pointer(FSOUND_Reverb_GetProperties) := GetAddress(FMODHandle, '_FSOUND_Reverb_GetProperties@4');
|
|---|
| 774 | pointer(FSOUND_Reverb_SetChannelProperties) := GetAddress(FMODHandle, '_FSOUND_Reverb_SetChannelProperties@8');
|
|---|
| 775 | pointer(FSOUND_Reverb_GetChannelProperties) := GetAddress(FMODHandle, '_FSOUND_Reverb_GetChannelProperties@8');
|
|---|
| 776 | pointer(FSOUND_Record_SetDriver) := GetAddress(FMODHandle, '_FSOUND_Record_SetDriver@4');
|
|---|
| 777 | pointer(FSOUND_Record_GetNumDrivers) := GetAddress(FMODHandle, '_FSOUND_Record_GetNumDrivers@0');
|
|---|
| 778 | pointer(FSOUND_Record_GetDriverName) := GetAddress(FMODHandle, '_FSOUND_Record_GetDriverName@4');
|
|---|
| 779 | pointer(FSOUND_Record_GetDriver) := GetAddress(FMODHandle, '_FSOUND_Record_GetDriver@0');
|
|---|
| 780 | pointer(FSOUND_Record_StartSample) := GetAddress(FMODHandle, '_FSOUND_Record_StartSample@8');
|
|---|
| 781 | pointer(FSOUND_Record_Stop) := GetAddress(FMODHandle, '_FSOUND_Record_Stop@0');
|
|---|
| 782 | pointer(FSOUND_Record_GetPosition) := GetAddress(FMODHandle, '_FSOUND_Record_GetPosition@0');
|
|---|
| 783 | pointer(FSOUND_File_SetCallbacks) := GetAddress(FMODHandle, '_FSOUND_File_SetCallbacks@20');
|
|---|
| 784 | pointer(FMUSIC_LoadSong) := GetAddress(FMODHandle, '_FMUSIC_LoadSong@4');
|
|---|
| 785 | pointer(FMUSIC_LoadSongEx) := GetAddress(FMODHandle, '_FMUSIC_LoadSongEx@24');
|
|---|
| 786 | pointer(FMUSIC_GetOpenState) := GetAddress(FMODHandle, '_FMUSIC_GetOpenState@4');
|
|---|
| 787 | pointer(FMUSIC_FreeSong) := GetAddress(FMODHandle, '_FMUSIC_FreeSong@4');
|
|---|
| 788 | pointer(FMUSIC_PlaySong) := GetAddress(FMODHandle, '_FMUSIC_PlaySong@4');
|
|---|
| 789 | pointer(FMUSIC_StopSong) := GetAddress(FMODHandle, '_FMUSIC_StopSong@4');
|
|---|
| 790 | pointer(FMUSIC_StopAllSongs) := GetAddress(FMODHandle, '_FMUSIC_StopAllSongs@0');
|
|---|
| 791 | pointer(FMUSIC_SetZxxCallback) := GetAddress(FMODHandle, '_FMUSIC_SetZxxCallback@8');
|
|---|
| 792 | pointer(FMUSIC_SetRowCallback) := GetAddress(FMODHandle, '_FMUSIC_SetRowCallback@12');
|
|---|
| 793 | pointer(FMUSIC_SetOrderCallback) := GetAddress(FMODHandle, '_FMUSIC_SetOrderCallback@12');
|
|---|
| 794 | pointer(FMUSIC_SetInstCallback) := GetAddress(FMODHandle, '_FMUSIC_SetInstCallback@12');
|
|---|
| 795 | pointer(FMUSIC_SetSample) := GetAddress(FMODHandle, '_FMUSIC_SetSample@12');
|
|---|
| 796 | pointer(FMUSIC_SetUserData) := GetAddress(FMODHandle, '_FMUSIC_SetUserData@8');
|
|---|
| 797 | pointer(FMUSIC_OptimizeChannels) := GetAddress(FMODHandle, '_FMUSIC_OptimizeChannels@12');
|
|---|
| 798 | pointer(FMUSIC_SetReverb) := GetAddress(FMODHandle, '_FMUSIC_SetReverb@4');
|
|---|
| 799 | pointer(FMUSIC_SetLooping) := GetAddress(FMODHandle, '_FMUSIC_SetLooping@8');
|
|---|
| 800 | pointer(FMUSIC_SetOrder) := GetAddress(FMODHandle, '_FMUSIC_SetOrder@8');
|
|---|
| 801 | pointer(FMUSIC_SetPaused) := GetAddress(FMODHandle, '_FMUSIC_SetPaused@8');
|
|---|
| 802 | pointer(FMUSIC_SetMasterVolume) := GetAddress(FMODHandle, '_FMUSIC_SetMasterVolume@8');
|
|---|
| 803 | pointer(FMUSIC_SetMasterSpeed) := GetAddress(FMODHandle, '_FMUSIC_SetMasterSpeed@8');
|
|---|
| 804 | pointer(FMUSIC_SetPanSeperation) := GetAddress(FMODHandle, '_FMUSIC_SetPanSeperation@8');
|
|---|
| 805 | pointer(FMUSIC_GetName) := GetAddress(FMODHandle, '_FMUSIC_GetName@4');
|
|---|
| 806 | pointer(FMUSIC_GetType) := GetAddress(FMODHandle, '_FMUSIC_GetType@4');
|
|---|
| 807 | pointer(FMUSIC_GetNumOrders) := GetAddress(FMODHandle, '_FMUSIC_GetNumOrders@4');
|
|---|
| 808 | pointer(FMUSIC_GetNumPatterns) := GetAddress(FMODHandle, '_FMUSIC_GetNumPatterns@4');
|
|---|
| 809 | pointer(FMUSIC_GetNumInstruments) := GetAddress(FMODHandle, '_FMUSIC_GetNumInstruments@4');
|
|---|
| 810 | pointer(FMUSIC_GetNumSamples) := GetAddress(FMODHandle, '_FMUSIC_GetNumSamples@4');
|
|---|
| 811 | pointer(FMUSIC_GetNumChannels) := GetAddress(FMODHandle, '_FMUSIC_GetNumChannels@4');
|
|---|
| 812 | pointer(FMUSIC_GetSample) := GetAddress(FMODHandle, '_FMUSIC_GetSample@8');
|
|---|
| 813 | pointer(FMUSIC_GetPatternLength) := GetAddress(FMODHandle, '_FMUSIC_GetPatternLength@8');
|
|---|
| 814 | pointer(FMUSIC_IsFinished) := GetAddress(FMODHandle, '_FMUSIC_IsFinished@4');
|
|---|
| 815 | pointer(FMUSIC_IsPlaying) := GetAddress(FMODHandle, '_FMUSIC_IsPlaying@4');
|
|---|
| 816 | pointer(FMUSIC_GetMasterVolume) := GetAddress(FMODHandle, '_FMUSIC_GetMasterVolume@4');
|
|---|
| 817 | pointer(FMUSIC_GetGlobalVolume) := GetAddress(FMODHandle, '_FMUSIC_GetGlobalVolume@4');
|
|---|
| 818 | pointer(FMUSIC_GetOrder) := GetAddress(FMODHandle, '_FMUSIC_GetOrder@4');
|
|---|
| 819 | pointer(FMUSIC_GetPattern) := GetAddress(FMODHandle, '_FMUSIC_GetPattern@4');
|
|---|
| 820 | pointer(FMUSIC_GetSpeed) := GetAddress(FMODHandle, '_FMUSIC_GetSpeed@4');
|
|---|
| 821 | pointer(FMUSIC_GetBPM) := GetAddress(FMODHandle, '_FMUSIC_GetBPM@4');
|
|---|
| 822 | pointer(FMUSIC_GetRow) := GetAddress(FMODHandle, '_FMUSIC_GetRow@4');
|
|---|
| 823 | pointer(FMUSIC_GetPaused) := GetAddress(FMODHandle, '_FMUSIC_GetPaused@4');
|
|---|
| 824 | pointer(FMUSIC_GetTime) := GetAddress(FMODHandle, '_FMUSIC_GetTime@4');
|
|---|
| 825 | pointer(FMUSIC_GetRealChannel) := GetAddress(FMODHandle, '_FMUSIC_GetRealChannel@8');
|
|---|
| 826 | pointer(FMUSIC_GetUserData) := GetAddress(FMODHandle, '_FMUSIC_GetUserData@4');
|
|---|
| 827 | {$ELSE}
|
|---|
| 828 | pointer(FSOUND_SetOutput) := GetAddress(FMODHandle, 'FSOUND_SetOutput');
|
|---|
| 829 | pointer(FSOUND_SetDriver) := GetAddress(FMODHandle, 'FSOUND_SetDriver');
|
|---|
| 830 | pointer(FSOUND_SetMixer) := GetAddress(FMODHandle, 'FSOUND_SetMixer');
|
|---|
| 831 | pointer(FSOUND_SetBufferSize) := GetAddress(FMODHandle, 'FSOUND_SetBufferSize');
|
|---|
| 832 | pointer(FSOUND_SetHWND) := GetAddress(FMODHandle, 'FSOUND_SetHWND');
|
|---|
| 833 | pointer(FSOUND_SetMinHardwareChannels) := GetAddress(FMODHandle, 'FSOUND_SetMinHardwareChannels');
|
|---|
| 834 | pointer(FSOUND_SetMaxHardwareChannels) := GetAddress(FMODHandle, 'FSOUND_SetMaxHardwareChannels');
|
|---|
| 835 | pointer(FSOUND_SetMemorySystem) := GetAddress(FMODHandle, 'FSOUND_SetMemorySystem');
|
|---|
| 836 | pointer(FSOUND_Init) := GetAddress(FMODHandle, 'FSOUND_Init');
|
|---|
| 837 | pointer(FSOUND_Close) := GetAddress(FMODHandle, 'FSOUND_Close');
|
|---|
| 838 | pointer(FSOUND_Update) := GetAddress(FMODHandle, 'FSOUND_Update');
|
|---|
| 839 | pointer(FSOUND_SetSpeakerMode) := GetAddress(FMODHandle, 'FSOUND_SetSpeakerMode');
|
|---|
| 840 | pointer(FSOUND_SetSFXMasterVolume) := GetAddress(FMODHandle, 'FSOUND_SetSFXMasterVolume');
|
|---|
| 841 | pointer(FSOUND_SetPanSeperation) := GetAddress(FMODHandle, 'FSOUND_SetPanSeperation');
|
|---|
| 842 | pointer(FSOUND_GetError) := GetAddress(FMODHandle, 'FSOUND_GetError');
|
|---|
| 843 | pointer(FSOUND_GetVersion) := GetAddress(FMODHandle, 'FSOUND_GetVersion');
|
|---|
| 844 | pointer(FSOUND_GetOutput) := GetAddress(FMODHandle, 'FSOUND_GetOutput');
|
|---|
| 845 | pointer(FSOUND_GetOutputHandle) := GetAddress(FMODHandle, 'FSOUND_GetOutputHandle');
|
|---|
| 846 | pointer(FSOUND_GetDriver) := GetAddress(FMODHandle, 'FSOUND_GetDriver');
|
|---|
| 847 | pointer(FSOUND_GetMixer) := GetAddress(FMODHandle, 'FSOUND_GetMixer');
|
|---|
| 848 | pointer(FSOUND_GetNumDrivers) := GetAddress(FMODHandle, 'FSOUND_GetNumDrivers');
|
|---|
| 849 | pointer(FSOUND_GetDriverName) := GetAddress(FMODHandle, 'FSOUND_GetDriverName');
|
|---|
| 850 | pointer(FSOUND_GetDriverCaps) := GetAddress(FMODHandle, 'FSOUND_GetDriverCaps');
|
|---|
| 851 | pointer(FSOUND_GetOutputRate) := GetAddress(FMODHandle, 'FSOUND_GetOutputRate');
|
|---|
| 852 | pointer(FSOUND_GetMaxChannels) := GetAddress(FMODHandle, 'FSOUND_GetMaxChannels');
|
|---|
| 853 | pointer(FSOUND_GetMaxSamples) := GetAddress(FMODHandle, 'FSOUND_GetMaxSamples');
|
|---|
| 854 | pointer(FSOUND_GetSpeakerMode) := GetAddress(FMODHandle, 'FSOUND_GetSpeakerMode');
|
|---|
| 855 | pointer(FSOUND_GetSFXMasterVolume) := GetAddress(FMODHandle, 'FSOUND_GetSFXMasterVolume');
|
|---|
| 856 | pointer(FSOUND_GetNumHWChannels) := GetAddress(FMODHandle, 'FSOUND_GetNumHWChannels');
|
|---|
| 857 | pointer(FSOUND_GetChannelsPlaying) := GetAddress(FMODHandle, 'FSOUND_GetChannelsPlaying');
|
|---|
| 858 | pointer(FSOUND_GetCPUUsage) := GetAddress(FMODHandle, 'FSOUND_GetCPUUsage');
|
|---|
| 859 | pointer(FSOUND_GetMemoryStats) := GetAddress(FMODHandle, 'FSOUND_GetMemoryStats');
|
|---|
| 860 | pointer(FSOUND_Sample_Load) := GetAddress(FMODHandle, 'FSOUND_Sample_Load');
|
|---|
| 861 | pointer(FSOUND_Sample_Alloc) := GetAddress(FMODHandle, 'FSOUND_Sample_Alloc');
|
|---|
| 862 | pointer(FSOUND_Sample_Free) := GetAddress(FMODHandle, 'FSOUND_Sample_Free');
|
|---|
| 863 | pointer(FSOUND_Sample_Upload) := GetAddress(FMODHandle, 'FSOUND_Sample_Upload');
|
|---|
| 864 | pointer(FSOUND_Sample_Lock) := GetAddress(FMODHandle, 'FSOUND_Sample_Lock');
|
|---|
| 865 | pointer(FSOUND_Sample_Unlock) := GetAddress(FMODHandle, 'FSOUND_Sample_Unlock');
|
|---|
| 866 | pointer(FSOUND_Sample_SetMode) := GetAddress(FMODHandle, 'FSOUND_Sample_SetMode');
|
|---|
| 867 | pointer(FSOUND_Sample_SetLoopPoints) := GetAddress(FMODHandle, 'FSOUND_Sample_SetLoopPoints');
|
|---|
| 868 | pointer(FSOUND_Sample_SetDefaults) := GetAddress(FMODHandle, 'FSOUND_Sample_SetDefaults');
|
|---|
| 869 | pointer(FSOUND_Sample_SetDefaultsEx) := GetAddress(FMODHandle, 'FSOUND_Sample_SetDefaultsEx');
|
|---|
| 870 | pointer(FSOUND_Sample_SetMinMaxDistance) := GetAddress(FMODHandle, 'FSOUND_Sample_SetMinMaxDistance');
|
|---|
| 871 | pointer(FSOUND_Sample_SetMaxPlaybacks) := GetAddress(FMODHandle, 'FSOUND_Sample_SetMaxPlaybacks');
|
|---|
| 872 | pointer(FSOUND_Sample_Get) := GetAddress(FMODHandle, 'FSOUND_Sample_Get');
|
|---|
| 873 | pointer(FSOUND_Sample_GetName) := GetAddress(FMODHandle, 'FSOUND_Sample_GetName');
|
|---|
| 874 | pointer(FSOUND_Sample_GetLength) := GetAddress(FMODHandle, 'FSOUND_Sample_GetLength');
|
|---|
| 875 | pointer(FSOUND_Sample_GetLoopPoints) := GetAddress(FMODHandle, 'FSOUND_Sample_GetLoopPoints');
|
|---|
| 876 | pointer(FSOUND_Sample_GetDefaults) := GetAddress(FMODHandle, 'FSOUND_Sample_GetDefaults');
|
|---|
| 877 | pointer(FSOUND_Sample_GetDefaultsEx) := GetAddress(FMODHandle, 'FSOUND_Sample_GetDefaultsEx');
|
|---|
| 878 | pointer(FSOUND_Sample_GetMode) := GetAddress(FMODHandle, 'FSOUND_Sample_GetMode');
|
|---|
| 879 | pointer(FSOUND_Sample_GetMinMaxDistance) := GetAddress(FMODHandle, 'FSOUND_Sample_GetMinMaxDistance');
|
|---|
| 880 | pointer(FSOUND_PlaySound) := GetAddress(FMODHandle, 'FSOUND_PlaySound');
|
|---|
| 881 | pointer(FSOUND_PlaySoundEx) := GetAddress(FMODHandle, 'FSOUND_PlaySoundEx');
|
|---|
| 882 | pointer(FSOUND_StopSound) := GetAddress(FMODHandle, 'FSOUND_StopSound');
|
|---|
| 883 | pointer(FSOUND_SetFrequency) := GetAddress(FMODHandle, 'FSOUND_SetFrequency');
|
|---|
| 884 | pointer(FSOUND_SetVolume) := GetAddress(FMODHandle, 'FSOUND_SetVolume');
|
|---|
| 885 | pointer(FSOUND_SetVolumeAbsolute) := GetAddress(FMODHandle, 'FSOUND_SetVolumeAbsolute');
|
|---|
| 886 | pointer(FSOUND_SetPan) := GetAddress(FMODHandle, 'FSOUND_SetPan');
|
|---|
| 887 | pointer(FSOUND_SetSurround) := GetAddress(FMODHandle, 'FSOUND_SetSurround');
|
|---|
| 888 | pointer(FSOUND_SetMute) := GetAddress(FMODHandle, 'FSOUND_SetMute');
|
|---|
| 889 | pointer(FSOUND_SetPriority) := GetAddress(FMODHandle, 'FSOUND_SetPriority');
|
|---|
| 890 | pointer(FSOUND_SetReserved) := GetAddress(FMODHandle, 'FSOUND_SetReserved');
|
|---|
| 891 | pointer(FSOUND_SetPaused) := GetAddress(FMODHandle, 'FSOUND_SetPaused');
|
|---|
| 892 | pointer(FSOUND_SetLoopMode) := GetAddress(FMODHandle, 'FSOUND_SetLoopMode');
|
|---|
| 893 | pointer(FSOUND_SetCurrentPosition) := GetAddress(FMODHandle, 'FSOUND_SetCurrentPosition');
|
|---|
| 894 | pointer(FSOUND_3D_SetAttributes) := GetAddress(FMODHandle, 'FSOUND_3D_SetAttributes');
|
|---|
| 895 | pointer(FSOUND_3D_SetMinMaxDistance) := GetAddress(FMODHandle, 'FSOUND_3D_SetMinMaxDistance');
|
|---|
| 896 | pointer(FSOUND_IsPlaying) := GetAddress(FMODHandle, 'FSOUND_IsPlaying');
|
|---|
| 897 | pointer(FSOUND_GetFrequency) := GetAddress(FMODHandle, 'FSOUND_GetFrequency');
|
|---|
| 898 | pointer(FSOUND_GetVolume) := GetAddress(FMODHandle, 'FSOUND_GetVolume');
|
|---|
| 899 | pointer(FSOUND_GetAmplitude) := GetAddress(FMODHandle, 'FSOUND_GetAmplitude');
|
|---|
| 900 | pointer(FSOUND_GetPan) := GetAddress(FMODHandle, 'FSOUND_GetPan');
|
|---|
| 901 | pointer(FSOUND_GetSurround) := GetAddress(FMODHandle, 'FSOUND_GetSurround');
|
|---|
| 902 | pointer(FSOUND_GetMute) := GetAddress(FMODHandle, 'FSOUND_GetMute');
|
|---|
| 903 | pointer(FSOUND_GetPriority) := GetAddress(FMODHandle, 'FSOUND_GetPriority');
|
|---|
| 904 | pointer(FSOUND_GetReserved) := GetAddress(FMODHandle, 'FSOUND_GetReserved');
|
|---|
| 905 | pointer(FSOUND_GetPaused) := GetAddress(FMODHandle, 'FSOUND_GetPaused');
|
|---|
| 906 | pointer(FSOUND_GetLoopMode) := GetAddress(FMODHandle, 'FSOUND_GetLoopMode');
|
|---|
| 907 | pointer(FSOUND_GetCurrentPosition) := GetAddress(FMODHandle, 'FSOUND_GetCurrentPosition');
|
|---|
| 908 | pointer(FSOUND_GetCurrentSample) := GetAddress(FMODHandle, 'FSOUND_GetCurrentSample');
|
|---|
| 909 | pointer(FSOUND_GetCurrentLevels) := GetAddress(FMODHandle, 'FSOUND_GetCurrentLevels');
|
|---|
| 910 | pointer(FSOUND_GetNumSubChannels) := GetAddress(FMODHandle, 'FSOUND_GetNumSubChannels');
|
|---|
| 911 | pointer(FSOUND_GetSubChannel) := GetAddress(FMODHandle, 'FSOUND_GetSubChannel');
|
|---|
| 912 | pointer(FSOUND_3D_GetAttributes) := GetAddress(FMODHandle, 'FSOUND_3D_GetAttributes');
|
|---|
| 913 | pointer(FSOUND_3D_GetMinMaxDistance) := GetAddress(FMODHandle, 'FSOUND_3D_GetMinMaxDistance');
|
|---|
| 914 | pointer(FSOUND_3D_Listener_SetCurrent) := GetAddress(FMODHandle, 'FSOUND_3D_Listener_SetCurrent');
|
|---|
| 915 | pointer(FSOUND_3D_Listener_SetAttributes) := GetAddress(FMODHandle, 'FSOUND_3D_Listener_SetAttributes');
|
|---|
| 916 | pointer(FSOUND_3D_Listener_GetAttributes) := GetAddress(FMODHandle, 'FSOUND_3D_Listener_GetAttributes');
|
|---|
| 917 | pointer(FSOUND_3D_SetDopplerFactor) := GetAddress(FMODHandle, 'FSOUND_3D_SetDopplerFactor');
|
|---|
| 918 | pointer(FSOUND_3D_SetDistanceFactor) := GetAddress(FMODHandle, 'FSOUND_3D_SetDistanceFactor');
|
|---|
| 919 | pointer(FSOUND_3D_SetRolloffFactor) := GetAddress(FMODHandle, 'FSOUND_3D_SetRolloffFactor');
|
|---|
| 920 | pointer(FSOUND_FX_Enable) := GetAddress(FMODHandle, 'FSOUND_FX_Enable');
|
|---|
| 921 | pointer(FSOUND_FX_SetChorus) := GetAddress(FMODHandle, 'FSOUND_FX_SetChorus');
|
|---|
| 922 | pointer(FSOUND_FX_SetCompressor) := GetAddress(FMODHandle, 'FSOUND_FX_SetCompressor');
|
|---|
| 923 | pointer(FSOUND_FX_SetDistortion) := GetAddress(FMODHandle, 'FSOUND_FX_SetDistortion');
|
|---|
| 924 | pointer(FSOUND_FX_SetEcho) := GetAddress(FMODHandle, 'FSOUND_FX_SetEcho');
|
|---|
| 925 | pointer(FSOUND_FX_SetFlanger) := GetAddress(FMODHandle, 'FSOUND_FX_SetFlanger');
|
|---|
| 926 | pointer(FSOUND_FX_SetGargle) := GetAddress(FMODHandle, 'FSOUND_FX_SetGargle');
|
|---|
| 927 | pointer(FSOUND_FX_SetI3DL2Reverb) := GetAddress(FMODHandle, 'FSOUND_FX_SetI3DL2Reverb');
|
|---|
| 928 | pointer(FSOUND_FX_SetParamEQ) := GetAddress(FMODHandle, 'FSOUND_FX_SetParamEQ');
|
|---|
| 929 | pointer(FSOUND_FX_SetWavesReverb) := GetAddress(FMODHandle, 'FSOUND_FX_SetWavesReverb');
|
|---|
| 930 | pointer(FSOUND_Stream_Open) := GetAddress(FMODHandle, 'FSOUND_Stream_Open');
|
|---|
| 931 | pointer(FSOUND_Stream_Create) := GetAddress(FMODHandle, 'FSOUND_Stream_Create');
|
|---|
| 932 | pointer(FSOUND_Stream_Close) := GetAddress(FMODHandle, 'FSOUND_Stream_Close');
|
|---|
| 933 | pointer(FSOUND_Stream_Play) := GetAddress(FMODHandle, 'FSOUND_Stream_Play');
|
|---|
| 934 | pointer(FSOUND_Stream_PlayEx) := GetAddress(FMODHandle, 'FSOUND_Stream_PlayEx');
|
|---|
| 935 | pointer(FSOUND_Stream_Stop) := GetAddress(FMODHandle, 'FSOUND_Stream_Stop');
|
|---|
| 936 | pointer(FSOUND_Stream_SetEndCallback) := GetAddress(FMODHandle, 'FSOUND_Stream_SetEndCallback');
|
|---|
| 937 | pointer(FSOUND_Stream_SetSyncCallback) := GetAddress(FMODHandle, 'FSOUND_Stream_SetSyncCallback');
|
|---|
| 938 | pointer(FSOUND_Stream_GetSample) := GetAddress(FMODHandle, 'FSOUND_Stream_GetSample');
|
|---|
| 939 | pointer(FSOUND_Stream_CreateDSP) := GetAddress(FMODHandle, 'FSOUND_Stream_CreateDSP');
|
|---|
| 940 | pointer(FSOUND_Stream_SetBufferSize) := GetAddress(FMODHandle, 'FSOUND_Stream_SetBufferSize');
|
|---|
| 941 | pointer(FSOUND_Stream_SetPosition) := GetAddress(FMODHandle, 'FSOUND_Stream_SetPosition');
|
|---|
| 942 | pointer(FSOUND_Stream_GetPosition) := GetAddress(FMODHandle, 'FSOUND_Stream_GetPosition');
|
|---|
| 943 | pointer(FSOUND_Stream_SetTime) := GetAddress(FMODHandle, 'FSOUND_Stream_SetTime');
|
|---|
| 944 | pointer(FSOUND_Stream_GetTime) := GetAddress(FMODHandle, 'FSOUND_Stream_GetTime');
|
|---|
| 945 | pointer(FSOUND_Stream_GetLength) := GetAddress(FMODHandle, 'FSOUND_Stream_GetLength');
|
|---|
| 946 | pointer(FSOUND_Stream_GetLengthMs) := GetAddress(FMODHandle, 'FSOUND_Stream_GetLengthMs');
|
|---|
| 947 | pointer(FSOUND_Stream_SetMode) := GetAddress(FMODHandle, 'FSOUND_Stream_SetMode');
|
|---|
| 948 | pointer(FSOUND_Stream_GetMode) := GetAddress(FMODHandle, 'FSOUND_Stream_GetMode');
|
|---|
| 949 | pointer(FSOUND_Stream_SetLoopPoints) := GetAddress(FMODHandle, 'FSOUND_Stream_SetLoopPoints');
|
|---|
| 950 | pointer(FSOUND_Stream_SetLoopCount) := GetAddress(FMODHandle, 'FSOUND_Stream_SetLoopCount');
|
|---|
| 951 | pointer(FSOUND_Stream_GetOpenState) := GetAddress(FMODHandle, 'FSOUND_Stream_GetOpenState');
|
|---|
| 952 | pointer(FSOUND_Stream_AddSyncPoint) := GetAddress(FMODHandle, 'FSOUND_Stream_AddSyncPoint');
|
|---|
| 953 | pointer(FSOUND_Stream_DeleteSyncPoint) := GetAddress(FMODHandle, 'FSOUND_Stream_DeleteSyncPoint');
|
|---|
| 954 | pointer(FSOUND_Stream_GetNumSyncPoints) := GetAddress(FMODHandle, 'FSOUND_Stream_GetNumSyncPoints');
|
|---|
| 955 | pointer(FSOUND_Stream_GetSyncPoint) := GetAddress(FMODHandle, 'FSOUND_Stream_GetSyncPoint');
|
|---|
| 956 | pointer(FSOUND_Stream_GetSyncPointInfo) := GetAddress(FMODHandle, 'FSOUND_Stream_GetSyncPointInfo');
|
|---|
| 957 | pointer(FSOUND_Stream_SetSubStream) := GetAddress(FMODHandle, 'FSOUND_Stream_SetSubStream');
|
|---|
| 958 | pointer(FSOUND_Stream_GetNumSubStreams) := GetAddress(FMODHandle, 'FSOUND_Stream_GetNumSubStreams');
|
|---|
| 959 | pointer(FSOUND_Stream_SetSubStreamSentence) := GetAddress(FMODHandle, 'FSOUND_Stream_SetSubStreamSentence');
|
|---|
| 960 | pointer(FSOUND_Stream_GetNumTagFields) := GetAddress(FMODHandle, 'FSOUND_Stream_GetNumTagFields');
|
|---|
| 961 | pointer(FSOUND_Stream_GetTagField) := GetAddress(FMODHandle, 'FSOUND_Stream_GetTagField');
|
|---|
| 962 | pointer(FSOUND_Stream_FindTagField) := GetAddress(FMODHandle, 'FSOUND_Stream_FindTagField');
|
|---|
| 963 | pointer(FSOUND_Stream_Net_SetProxy) := GetAddress(FMODHandle, 'FSOUND_Stream_Net_SetProxy');
|
|---|
| 964 | pointer(FSOUND_Stream_Net_GetLastServerStatus) := GetAddress(FMODHandle, 'FSOUND_Stream_Net_GetLastServerStatus');
|
|---|
| 965 | pointer(FSOUND_Stream_Net_SetBufferProperties) := GetAddress(FMODHandle, 'FSOUND_Stream_Net_SetBufferProperties');
|
|---|
| 966 | pointer(FSOUND_Stream_Net_GetBufferProperties) := GetAddress(FMODHandle, 'FSOUND_Stream_Net_GetBufferProperties');
|
|---|
| 967 | pointer(FSOUND_Stream_Net_SetMetadataCallback) := GetAddress(FMODHandle, 'FSOUND_Stream_Net_SetMetadataCallback');
|
|---|
| 968 | pointer(FSOUND_Stream_Net_GetStatus) := GetAddress(FMODHandle, 'FSOUND_Stream_Net_GetStatus');
|
|---|
| 969 | pointer(FSOUND_CD_Play) := GetAddress(FMODHandle, 'FSOUND_CD_Play');
|
|---|
| 970 | pointer(FSOUND_CD_SetPlayMode) := GetAddress(FMODHandle, 'FSOUND_CD_SetPlayMode');
|
|---|
| 971 | pointer(FSOUND_CD_Stop) := GetAddress(FMODHandle, 'FSOUND_CD_Stop');
|
|---|
| 972 | pointer(FSOUND_CD_SetPaused) := GetAddress(FMODHandle, 'FSOUND_CD_SetPaused');
|
|---|
| 973 | pointer(FSOUND_CD_SetVolume) := GetAddress(FMODHandle, 'FSOUND_CD_SetVolume');
|
|---|
| 974 | pointer(FSOUND_CD_SetTrackTime) := GetAddress(FMODHandle, 'FSOUND_CD_SetTrackTime');
|
|---|
| 975 | pointer(FSOUND_CD_OpenTray) := GetAddress(FMODHandle, 'FSOUND_CD_OpenTray');
|
|---|
| 976 | pointer(FSOUND_CD_GetPaused) := GetAddress(FMODHandle, 'FSOUND_CD_GetPaused');
|
|---|
| 977 | pointer(FSOUND_CD_GetTrack) := GetAddress(FMODHandle, 'FSOUND_CD_GetTrack');
|
|---|
| 978 | pointer(FSOUND_CD_GetNumTracks) := GetAddress(FMODHandle, 'FSOUND_CD_GetNumTracks');
|
|---|
| 979 | pointer(FSOUND_CD_GetVolume) := GetAddress(FMODHandle, 'FSOUND_CD_GetVolume');
|
|---|
| 980 | pointer(FSOUND_CD_GetTrackLength) := GetAddress(FMODHandle, 'FSOUND_CD_GetTrackLength');
|
|---|
| 981 | pointer(FSOUND_CD_GetTrackTime) := GetAddress(FMODHandle, 'FSOUND_CD_GetTrackTime');
|
|---|
| 982 | pointer(FSOUND_DSP_Create) := GetAddress(FMODHandle, 'FSOUND_DSP_Create');
|
|---|
| 983 | pointer(FSOUND_DSP_Free) := GetAddress(FMODHandle, 'FSOUND_DSP_Free');
|
|---|
| 984 | pointer(FSOUND_DSP_SetPriority) := GetAddress(FMODHandle, 'FSOUND_DSP_SetPriority');
|
|---|
| 985 | pointer(FSOUND_DSP_GetPriority) := GetAddress(FMODHandle, 'FSOUND_DSP_GetPriority');
|
|---|
| 986 | pointer(FSOUND_DSP_SetActive) := GetAddress(FMODHandle, 'FSOUND_DSP_SetActive');
|
|---|
| 987 | pointer(FSOUND_DSP_GetActive) := GetAddress(FMODHandle, 'FSOUND_DSP_GetActive');
|
|---|
| 988 | pointer(FSOUND_DSP_GetClearUnit) := GetAddress(FMODHandle, 'FSOUND_DSP_GetClearUnit');
|
|---|
| 989 | pointer(FSOUND_DSP_GetSFXUnit) := GetAddress(FMODHandle, 'FSOUND_DSP_GetSFXUnit');
|
|---|
| 990 | pointer(FSOUND_DSP_GetMusicUnit) := GetAddress(FMODHandle, 'FSOUND_DSP_GetMusicUnit');
|
|---|
| 991 | pointer(FSOUND_DSP_GetClipAndCopyUnit) := GetAddress(FMODHandle, 'FSOUND_DSP_GetClipAndCopyUnit');
|
|---|
| 992 | pointer(FSOUND_DSP_GetFFTUnit) := GetAddress(FMODHandle, 'FSOUND_DSP_GetFFTUnit');
|
|---|
| 993 | pointer(FSOUND_DSP_MixBuffers) := GetAddress(FMODHandle, 'FSOUND_DSP_MixBuffers');
|
|---|
| 994 | pointer(FSOUND_DSP_ClearMixBuffer) := GetAddress(FMODHandle, 'FSOUND_DSP_ClearMixBuffer');
|
|---|
| 995 | pointer(FSOUND_DSP_GetBufferLength) := GetAddress(FMODHandle, 'FSOUND_DSP_GetBufferLength');
|
|---|
| 996 | pointer(FSOUND_DSP_GetBufferLengthTotal) := GetAddress(FMODHandle, 'FSOUND_DSP_GetBufferLengthTotal');
|
|---|
| 997 | pointer(FSOUND_DSP_GetSpectrum) := GetAddress(FMODHandle, 'FSOUND_DSP_GetSpectrum');
|
|---|
| 998 | pointer(FSOUND_Reverb_SetProperties) := GetAddress(FMODHandle, 'FSOUND_Reverb_SetProperties');
|
|---|
| 999 | pointer(FSOUND_Reverb_GetProperties) := GetAddress(FMODHandle, 'FSOUND_Reverb_GetProperties');
|
|---|
| 1000 | pointer(FSOUND_Reverb_SetChannelProperties) := GetAddress(FMODHandle, 'FSOUND_Reverb_SetChannelProperties');
|
|---|
| 1001 | pointer(FSOUND_Reverb_GetChannelProperties) := GetAddress(FMODHandle, 'FSOUND_Reverb_GetChannelProperties');
|
|---|
| 1002 | pointer(FSOUND_Record_SetDriver) := GetAddress(FMODHandle, 'FSOUND_Record_SetDriver');
|
|---|
| 1003 | pointer(FSOUND_Record_GetNumDrivers) := GetAddress(FMODHandle, 'FSOUND_Record_GetNumDrivers');
|
|---|
| 1004 | pointer(FSOUND_Record_GetDriverName) := GetAddress(FMODHandle, 'FSOUND_Record_GetDriverName');
|
|---|
| 1005 | pointer(FSOUND_Record_GetDriver) := GetAddress(FMODHandle, 'FSOUND_Record_GetDriver');
|
|---|
| 1006 | pointer(FSOUND_Record_StartSample) := GetAddress(FMODHandle, 'FSOUND_Record_StartSample');
|
|---|
| 1007 | pointer(FSOUND_Record_Stop) := GetAddress(FMODHandle, 'FSOUND_Record_Stop');
|
|---|
| 1008 | pointer(FSOUND_Record_GetPosition) := GetAddress(FMODHandle, 'FSOUND_Record_GetPosition');
|
|---|
| 1009 | pointer(FSOUND_File_SetCallbacks) := GetAddress(FMODHandle, 'FSOUND_File_SetCallbacks');
|
|---|
| 1010 | pointer(FMUSIC_LoadSong) := GetAddress(FMODHandle, 'FMUSIC_LoadSong');
|
|---|
| 1011 | pointer(FMUSIC_LoadSongEx) := GetAddress(FMODHandle, 'FMUSIC_LoadSongEx');
|
|---|
| 1012 | pointer(FMUSIC_GetOpenState) := GetAddress(FMODHandle, 'FMUSIC_GetOpenState');
|
|---|
| 1013 | pointer(FMUSIC_FreeSong) := GetAddress(FMODHandle, 'FMUSIC_FreeSong');
|
|---|
| 1014 | pointer(FMUSIC_PlaySong) := GetAddress(FMODHandle, 'FMUSIC_PlaySong');
|
|---|
| 1015 | pointer(FMUSIC_StopSong) := GetAddress(FMODHandle, 'FMUSIC_StopSong');
|
|---|
| 1016 | pointer(FMUSIC_StopAllSongs) := GetAddress(FMODHandle, 'FMUSIC_StopAllSongs');
|
|---|
| 1017 | pointer(FMUSIC_SetZxxCallback) := GetAddress(FMODHandle, 'FMUSIC_SetZxxCallback');
|
|---|
| 1018 | pointer(FMUSIC_SetRowCallback) := GetAddress(FMODHandle, 'FMUSIC_SetRowCallback');
|
|---|
| 1019 | pointer(FMUSIC_SetOrderCallback) := GetAddress(FMODHandle, 'FMUSIC_SetOrderCallback');
|
|---|
| 1020 | pointer(FMUSIC_SetInstCallback) := GetAddress(FMODHandle, 'FMUSIC_SetInstCallback');
|
|---|
| 1021 | pointer(FMUSIC_SetSample) := GetAddress(FMODHandle, 'FMUSIC_SetSample');
|
|---|
| 1022 | pointer(FMUSIC_SetUserData) := GetAddress(FMODHandle, 'FMUSIC_SetUserData');
|
|---|
| 1023 | pointer(FMUSIC_OptimizeChannels) := GetAddress(FMODHandle, 'FMUSIC_OptimizeChannels');
|
|---|
| 1024 | pointer(FMUSIC_SetReverb) := GetAddress(FMODHandle, 'FMUSIC_SetReverb');
|
|---|
| 1025 | pointer(FMUSIC_SetLooping) := GetAddress(FMODHandle, 'FMUSIC_SetLooping');
|
|---|
| 1026 | pointer(FMUSIC_SetOrder) := GetAddress(FMODHandle, 'FMUSIC_SetOrder');
|
|---|
| 1027 | pointer(FMUSIC_SetPaused) := GetAddress(FMODHandle, 'FMUSIC_SetPaused');
|
|---|
| 1028 | pointer(FMUSIC_SetMasterVolume) := GetAddress(FMODHandle, 'FMUSIC_SetMasterVolume');
|
|---|
| 1029 | pointer(FMUSIC_SetMasterSpeed) := GetAddress(FMODHandle, 'FMUSIC_SetMasterSpeed');
|
|---|
| 1030 | pointer(FMUSIC_SetPanSeperation) := GetAddress(FMODHandle, 'FMUSIC_SetPanSeperation');
|
|---|
| 1031 | pointer(FMUSIC_GetName) := GetAddress(FMODHandle, 'FMUSIC_GetName');
|
|---|
| 1032 | pointer(FMUSIC_GetType) := GetAddress(FMODHandle, 'FMUSIC_GetType');
|
|---|
| 1033 | pointer(FMUSIC_GetNumOrders) := GetAddress(FMODHandle, 'FMUSIC_GetNumOrders');
|
|---|
| 1034 | pointer(FMUSIC_GetNumPatterns) := GetAddress(FMODHandle, 'FMUSIC_GetNumPatterns');
|
|---|
| 1035 | pointer(FMUSIC_GetNumInstruments) := GetAddress(FMODHandle, 'FMUSIC_GetNumInstruments');
|
|---|
| 1036 | pointer(FMUSIC_GetNumSamples) := GetAddress(FMODHandle, 'FMUSIC_GetNumSamples');
|
|---|
| 1037 | pointer(FMUSIC_GetNumChannels) := GetAddress(FMODHandle, 'FMUSIC_GetNumChannels');
|
|---|
| 1038 | pointer(FMUSIC_GetSample) := GetAddress(FMODHandle, 'FMUSIC_GetSample');
|
|---|
| 1039 | pointer(FMUSIC_GetPatternLength) := GetAddress(FMODHandle, 'FMUSIC_GetPatternLength');
|
|---|
| 1040 | pointer(FMUSIC_IsFinished) := GetAddress(FMODHandle, 'FMUSIC_IsFinished');
|
|---|
| 1041 | pointer(FMUSIC_IsPlaying) := GetAddress(FMODHandle, 'FMUSIC_IsPlaying');
|
|---|
| 1042 | pointer(FMUSIC_GetMasterVolume) := GetAddress(FMODHandle, 'FMUSIC_GetMasterVolume');
|
|---|
| 1043 | pointer(FMUSIC_GetGlobalVolume) := GetAddress(FMODHandle, 'FMUSIC_GetGlobalVolume');
|
|---|
| 1044 | pointer(FMUSIC_GetOrder) := GetAddress(FMODHandle, 'FMUSIC_GetOrder');
|
|---|
| 1045 | pointer(FMUSIC_GetPattern) := GetAddress(FMODHandle, 'FMUSIC_GetPattern');
|
|---|
| 1046 | pointer(FMUSIC_GetSpeed) := GetAddress(FMODHandle, 'FMUSIC_GetSpeed');
|
|---|
| 1047 | pointer(FMUSIC_GetBPM) := GetAddress(FMODHandle, 'FMUSIC_GetBPM');
|
|---|
| 1048 | pointer(FMUSIC_GetRow) := GetAddress(FMODHandle, 'FMUSIC_GetRow');
|
|---|
| 1049 | pointer(FMUSIC_GetPaused) := GetAddress(FMODHandle, 'FMUSIC_GetPaused');
|
|---|
| 1050 | pointer(FMUSIC_GetTime) := GetAddress(FMODHandle, 'FMUSIC_GetTime');
|
|---|
| 1051 | pointer(FMUSIC_GetRealChannel) := GetAddress(FMODHandle, 'FMUSIC_GetRealChannel');
|
|---|
| 1052 | pointer(FMUSIC_GetUserData) := GetAddress(FMODHandle, 'FMUSIC_GetUserData');
|
|---|
| 1053 |
|
|---|
| 1054 | {$ENDIF}
|
|---|
| 1055 | Result := True;
|
|---|
| 1056 | end;
|
|---|
| 1057 |
|
|---|
| 1058 | procedure FMOD_Unload;
|
|---|
| 1059 | begin
|
|---|
| 1060 | { Only free the library if it was already loaded }
|
|---|
| 1061 | if FMODHandle <> INVALID_MODULEHANDLE_VALUE then
|
|---|
| 1062 | {$IFDEF WINDOWS}
|
|---|
| 1063 | FreeLibrary(FMODHandle);
|
|---|
| 1064 | {$ELSE}
|
|---|
| 1065 | dlclose(FMODHandle);
|
|---|
| 1066 | {$ENDIF}
|
|---|
| 1067 | FMODHandle := INVALID_MODULEHANDLE_VALUE;
|
|---|
| 1068 | end;
|
|---|
| 1069 |
|
|---|
| 1070 | var
|
|---|
| 1071 | Saved8087CW: Word;
|
|---|
| 1072 |
|
|---|
| 1073 | {{$ifdef FPC} //FPC do not have this function in its RTL
|
|---|
| 1074 | const
|
|---|
| 1075 | Default8087CW = $1332; //according to the FPC site it's the value used in the
|
|---|
| 1076 | //startup code.
|
|---|
| 1077 | procedure Set8087CW( value :word ); Assembler;
|
|---|
| 1078 | asm
|
|---|
| 1079 | FLDCW value
|
|---|
| 1080 | end;
|
|---|
| 1081 | {$endif}
|
|---|
| 1082 | }
|
|---|
| 1083 | initialization
|
|---|
| 1084 | FMODHandle := INVALID_MODULEHANDLE_VALUE;
|
|---|
| 1085 |
|
|---|
| 1086 | { Save the current FPU state and then disable FPU exceptions }
|
|---|
| 1087 | Saved8087CW := Default8087CW;
|
|---|
| 1088 | Set8087CW($133f); { Disable all fpu exceptions }
|
|---|
| 1089 |
|
|---|
| 1090 | finalization
|
|---|
| 1091 | { Make sure the library is unloaded }
|
|---|
| 1092 | FMOD_Unload;
|
|---|
| 1093 |
|
|---|
| 1094 | { Reset the FPU to the previous state }
|
|---|
| 1095 | Set8087CW(Saved8087CW);
|
|---|
| 1096 | end.
|
|---|