fmodex include

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

fmodex include

Beitrag von Kai »

Habe mal meine fmodex include auf denn aktuellsten Stand gebracht und hochgeladen, vieleicht benötigt es ja jemand.
Hoffe habe keine Fehler eingebaut.

Download

Code: Alles auswählen

;fmodex 4.20.00 Include
;fmodex.dll
;fmodex.lib
;fmodex.pbi

;LastEdit: 31.08.2008, Kai

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Enumeration
Enumeration ; FMOD_CHANNELINDEX
 #FMOD_CHANNEL_FREE  = -1
 #FMOD_CHANNEL_REUSE = -2
EndEnumeration

Enumeration ; FMOD_CHANNEL_CALLBACKTYPE
 #FMOD_CHANNEL_CALLBACKTYPE_END
 #FMOD_CHANNEL_CALLBACKTYPE_VIRTUALVOICE
 #FMOD_CHANNEL_CALLBACKTYPE_SYNCPOINT
 #FMOD_CHANNEL_CALLBACKTYPE_OCCLUSION
 #FMOD_CHANNEL_CALLBACKTYPE_MAX
EndEnumeration

Enumeration ; FMOD_DELAYTYPE
 #FMOD_DELAYTYPE_END_MS
 #FMOD_DELAYTYPE_DSPCLOCK_START
 #FMOD_DELAYTYPE_DSPCLOCK_END
 #FMOD_DELAYTYPE_DSPCLOCK_PAUSE
 #FMOD_DELAYTYPE_MAX
EndEnumeration

Enumeration ; FMOD_DSP_CHORUS
 #FMOD_DSP_CHORUS_DRYMIX
 #FMOD_DSP_CHORUS_WETMIX1
 #FMOD_DSP_CHORUS_WETMIX2
 #FMOD_DSP_CHORUS_WETMIX3
 #FMOD_DSP_CHORUS_DELAY
 #FMOD_DSP_CHORUS_RATE
 #FMOD_DSP_CHORUS_DEPTH
 #FMOD_DSP_CHORUS_FEEDBACK
EndEnumeration

Enumeration ; FMOD_DSP_COMPRESSOR
 #FMOD_DSP_COMPRESSOR_THRESHOLD
 #FMOD_DSP_COMPRESSOR_ATTACK
 #FMOD_DSP_COMPRESSOR_RELEASE
 #FMOD_DSP_COMPRESSOR_GAINMAKEUP
EndEnumeration

Enumeration ; FMOD_DSP_DISTORTION
 #FMOD_DSP_DISTORTION_LEVEL
EndEnumeration

Enumeration ; FMOD_DSP_ECHO
 #FMOD_DSP_ECHO_DELAY
 #FMOD_DSP_ECHO_DECAYRATIO
 #FMOD_DSP_ECHO_MAXCHANNELS
 #FMOD_DSP_ECHO_DRYMIX
 #FMOD_DSP_ECHO_WETMIX
EndEnumeration

Enumeration ; FMOD_DSP_FFT_WINDOW
 #FMOD_DSP_FFT_WINDOW_RECT
 #FMOD_DSP_FFT_WINDOW_TRIANGLE
 #FMOD_DSP_FFT_WINDOW_HAMMING
 #FMOD_DSP_FFT_WINDOW_HANNING
 #FMOD_DSP_FFT_WINDOW_BLACKMAN
 #FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
 #FMOD_DSP_FFT_WINDOW_MAX
EndEnumeration

Enumeration ; FMOD_DSP_FLANGE
 #FMOD_DSP_FLANGE_DRYMIX
 #FMOD_DSP_FLANGE_WETMIX
 #FMOD_DSP_FLANGE_DEPTH
 #FMOD_DSP_FLANGE_RATE
EndEnumeration

Enumeration ; FMOD_DSP_HIGHPASS
 #FMOD_DSP_HIGHPASS_CUTOFF
 #FMOD_DSP_HIGHPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_ITECHO
 #FMOD_DSP_ITECHO_WETDRYMIX
 #FMOD_DSP_ITECHO_FEEDBACK
 #FMOD_DSP_ITECHO_LEFTDELAY
 #FMOD_DSP_ITECHO_RIGHTDELAY
 #FMOD_DSP_ITECHO_PANDELAY
EndEnumeration

Enumeration ; FMOD_DSP_ITLOWPASS
 #FMOD_DSP_ITLOWPASS_CUTOFF
 #FMOD_DSP_ITLOWPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_LOWPASS
 #FMOD_DSP_LOWPASS_CUTOFF
 #FMOD_DSP_LOWPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_LOWPASS_SIMPLE
 #FMOD_DSP_LOWPASS_SIMPLE_CUTOFF
EndEnumeration

Enumeration ; FMOD_DSP_NORMALIZE
 #FMOD_DSP_NORMALIZE_FADETIME
 #FMOD_DSP_NORMALIZE_THRESHHOLD
 #FMOD_DSP_NORMALIZE_MAXAMP
EndEnumeration

Enumeration ; FMOD_DSP_OSCILLATOR
 #FMOD_DSP_OSCILLATOR_TYPE
 #FMOD_DSP_OSCILLATOR_RATE
EndEnumeration

Enumeration ; FMOD_DSP_PARAMEQ
 #FMOD_DSP_PARAMEQ_CENTER
 #FMOD_DSP_PARAMEQ_BANDWIDTH
 #FMOD_DSP_PARAMEQ_GAIN
EndEnumeration

Enumeration ; FMOD_DSP_PITCHSHIFT
 #FMOD_DSP_PITCHSHIFT_PITCH
 #FMOD_DSP_PITCHSHIFT_FFTSIZE
 #FMOD_DSP_PITCHSHIFT_OVERLAP
 #FMOD_DSP_PITCHSHIFT_MAXCHANNELS
EndEnumeration

Enumeration ; FMOD_DSP_RESAMPLER
 #FMOD_DSP_RESAMPLER_NOINTERP
 #FMOD_DSP_RESAMPLER_LINEAR
 #FMOD_DSP_RESAMPLER_CUBIC
 #FMOD_DSP_RESAMPLER_SPLINE
 #FMOD_DSP_RESAMPLER_MAX
EndEnumeration

Enumeration ; FMOD_DSP_REVERB
 #FMOD_DSP_REVERB_ROOMSIZE
 #FMOD_DSP_REVERB_DAMP
 #FMOD_DSP_REVERB_WETMIX
 #FMOD_DSP_REVERB_DRYMIX
 #FMOD_DSP_REVERB_WIDTH
 #FMOD_DSP_REVERB_MODE
EndEnumeration

Enumeration ; FMOD_DSP_SFXREVERB
 #FMOD_DSP_SFXREVERB_DRYLEVEL
 #FMOD_DSP_SFXREVERB_ROOM
 #FMOD_DSP_SFXREVERB_ROOMHF
 #FMOD_DSP_SFXREVERB_ROOMROLLOFFFACTOR
 #FMOD_DSP_SFXREVERB_DECAYTIME
 #FMOD_DSP_SFXREVERB_DECAYHFRATIO
 #FMOD_DSP_SFXREVERB_REFLECTIONSLEVEL
 #FMOD_DSP_SFXREVERB_REFLECTIONSDELAY
 #FMOD_DSP_SFXREVERB_REVERBLEVEL
 #FMOD_DSP_SFXREVERB_REVERBDELAY
 #FMOD_DSP_SFXREVERB_DIFFUSION
 #FMOD_DSP_SFXREVERB_DENSITY
 #FMOD_DSP_SFXREVERB_HFREFERENCE
 #FMOD_DSP_SFXREVERB_ROOMLF
 #FMOD_DSP_SFXREVERB_LFREFERENCE
EndEnumeration

Enumeration ; FMOD_DSP_TYPE
 #FMOD_DSP_TYPE_UNKNOWN
 #FMOD_DSP_TYPE_MIXER
 #FMOD_DSP_TYPE_OSCILLATOR
 #FMOD_DSP_TYPE_LOWPASS
 #FMOD_DSP_TYPE_ITLOWPASS
 #FMOD_DSP_TYPE_HIGHPASS
 #FMOD_DSP_TYPE_ECHO
 #FMOD_DSP_TYPE_FLANGE
 #FMOD_DSP_TYPE_DISTORTION
 #FMOD_DSP_TYPE_NORMALIZE
 #FMOD_DSP_TYPE_PARAMEQ
 #FMOD_DSP_TYPE_PITCHSHIFT
 #FMOD_DSP_TYPE_CHORUS
 #FMOD_DSP_TYPE_REVERB
 #FMOD_DSP_TYPE_VSTPLUGIN
 #FMOD_DSP_TYPE_WINAMPPLUGIN
 #FMOD_DSP_TYPE_ITECHO
 #FMOD_DSP_TYPE_COMPRESSOR
 #FMOD_DSP_TYPE_SFXREVERB
 #FMOD_DSP_TYPE_LOWPASS_SIMPLE
EndEnumeration

Enumeration ; FMOD_EVENTPROPERTY_TYPE
 #FMOD_EVENTPROPERTY_TYPE_INT
 #FMOD_EVENTPROPERTY_TYPE_FLOAT
 #FMOD_EVENTPROPERTY_TYPE_STRING
EndEnumeration

Enumeration ; FMOD_MEMTYPE
 #FMOD_MEMTYPE_OTHER
 #FMOD_MEMTYPE_STRING
 #FMOD_MEMTYPE_SYSTEM
 #FMOD_MEMTYPE_RECORDBUFFER
 #FMOD_MEMTYPE_PLUGINS
 #FMOD_MEMTYPE_OUTPUTMODULE
 #FMOD_MEMTYPE_SPEAKERLEVELSPOOL
 #FMOD_MEMTYPE_CHANNELI
 #FMOD_MEMTYPE_CHANNELPOOL
 #FMOD_MEMTYPE_CHANNELREAL
 #FMOD_MEMTYPE_CHANNELGROUP
 #FMOD_MEMTYPE_SOUNDI
 #FMOD_MEMTYPE_SOUNDGROUP
 #FMOD_MEMTYPE_SAMPLE
 #FMOD_MEMTYPE_DSPCONNECTION
 #FMOD_MEMTYPE_DSPCONNECTIONPOOL
 #FMOD_MEMTYPE_DSPI
 #FMOD_MEMTYPE_DSPCODEC
 #FMOD_MEMTYPE_DSPUNIT
 #FMOD_MEMTYPE_REVERBI
 #FMOD_MEMTYPE_REVERBCHANNELPROPS
 #FMOD_MEMTYPE_GEOMETRY
 #FMOD_MEMTYPE_EVENTSYSTEM
 #FMOD_MEMTYPE_MUSICSYSTEM
 #FMOD_MEMTYPE_FEV
 #FMOD_MEMTYPE_MEMORYFSB
 #FMOD_MEMTYPE_EVENTPROJECT
 #FMOD_MEMTYPE_EVENTGROUPI
 #FMOD_MEMTYPE_SOUNDBANKCLASS
 #FMOD_MEMTYPE_SOUNDBANKLIST
 #FMOD_MEMTYPE_STREAMINSTANCE
 #FMOD_MEMTYPE_SOUNDDEFCLASS
 #FMOD_MEMTYPE_SOUNDDEFDEFCLASS
 #FMOD_MEMTYPE_SOUNDDEFPOOL
 #FMOD_MEMTYPE_REVERBDEF
 #FMOD_MEMTYPE_EVENTREVERB
 #FMOD_MEMTYPE_USERPROPERTY
 #FMOD_MEMTYPE_EVENTINSTANCE
 #FMOD_MEMTYPE_EVENTINSTANCE_COMPLEX
 #FMOD_MEMTYPE_EVENTINSTANCE_SIMPLE
 #FMOD_MEMTYPE_EVENTINSTANCE_LAYER
 #FMOD_MEMTYPE_EVENTINSTANCE_SOUND
 #FMOD_MEMTYPE_EVENTENVELOPE
 #FMOD_MEMTYPE_EVENTENVELOPEDEF
 #FMOD_MEMTYPE_EVENTPARAMETER
 #FMOD_MEMTYPE_EVENTCATEGORY
 #FMOD_MEMTYPE_EVENTENVELOPEPOINT
 #FMOD_MEMTYPE_MAX
EndEnumeration

Enumeration ; FMOD_OPENSTATE
 #FMOD_OPENSTATE_READY
 #FMOD_OPENSTATE_LOADING
 #FMOD_OPENSTATE_ERROR
 #FMOD_OPENSTATE_CONNECTING
 #FMOD_OPENSTATE_BUFFERING
 #FMOD_OPENSTATE_SEEKING
 #FMOD_OPENSTATE_STREAMING
 #FMOD_OPENSTATE_MAX
EndEnumeration

Enumeration ; FMOD_OUTPUTTYPE
 #FMOD_OUTPUTTYPE_AUTODETECT
 #FMOD_OUTPUTTYPE_UNKNOWN
 #FMOD_OUTPUTTYPE_NOSOUND
 #FMOD_OUTPUTTYPE_WAVWRITER
 #FMOD_OUTPUTTYPE_NOSOUND_NRT
 #FMOD_OUTPUTTYPE_WAVWRITER_NRT
 #FMOD_OUTPUTTYPE_DSOUND
 #FMOD_OUTPUTTYPE_WINMM
 #FMOD_OUTPUTTYPE_OPENAL
 #FMOD_OUTPUTTYPE_WASAPI
 #FMOD_OUTPUTTYPE_ASIO
 #FMOD_OUTPUTTYPE_OSS
 #FMOD_OUTPUTTYPE_ALSA
 #FMOD_OUTPUTTYPE_ESD
 #FMOD_OUTPUTTYPE_SOUNDMANAGER
 #FMOD_OUTPUTTYPE_COREAUDIO
 #FMOD_OUTPUTTYPE_XBOX
 #FMOD_OUTPUTTYPE_PS2
 #FMOD_OUTPUTTYPE_PS3
 #FMOD_OUTPUTTYPE_GC
 #FMOD_OUTPUTTYPE_XBOX360
 #FMOD_OUTPUTTYPE_PSP
 #FMOD_OUTPUTTYPE_WII
 #FMOD_OUTPUTTYPE_MAX
EndEnumeration

Enumeration ; FMOD_PLUGINTYPE
 #FMOD_PLUGINTYPE_OUTPUT
 #FMOD_PLUGINTYPE_CODEC
 #FMOD_PLUGINTYPE_DSP
 #FMOD_PLUGINTYPE_MAX
EndEnumeration

Enumeration ; FMOD_RESULT
 #FMOD_OK
 #FMOD_ERR_ALREADYLOCKED
 #FMOD_ERR_BADCOMMAND
 #FMOD_ERR_CDDA_DRIVERS
 #FMOD_ERR_CDDA_INIT
 #FMOD_ERR_CDDA_INVALID_DEVICE
 #FMOD_ERR_CDDA_NOAUDIO
 #FMOD_ERR_CDDA_NODEVICES
 #FMOD_ERR_CDDA_NODISC
 #FMOD_ERR_CDDA_READ
 #FMOD_ERR_CHANNEL_ALLOC
 #FMOD_ERR_CHANNEL_STOLEN
 #FMOD_ERR_COM
 #FMOD_ERR_DMA
 #FMOD_ERR_DSP_CONNECTION
 #FMOD_ERR_DSP_FORMAT
 #FMOD_ERR_DSP_NOTFOUND
 #FMOD_ERR_DSP_RUNNING
 #FMOD_ERR_DSP_TOOMANYCONNECTIONS
 #FMOD_ERR_FILE_BAD
 #FMOD_ERR_FILE_COULDNOTSEEK
 #FMOD_ERR_FILE_EOF
 #FMOD_ERR_FILE_NOTFOUND
 #FMOD_ERR_FILE_UNWANTED
 #FMOD_ERR_FORMAT
 #FMOD_ERR_HTTP
 #FMOD_ERR_HTTP_ACCESS
 #FMOD_ERR_HTTP_PROXY_AUTH
 #FMOD_ERR_HTTP_SERVER_ERROR
 #FMOD_ERR_HTTP_TIMEOUT
 #FMOD_ERR_INITIALIZATION
 #FMOD_ERR_INITIALIZED
 #FMOD_ERR_INTERNAL
 #FMOD_ERR_INVALID_ADDRESS
 #FMOD_ERR_INVALID_FLOAT
 #FMOD_ERR_INVALID_HANDLE
 #FMOD_ERR_INVALID_PARAM
 #FMOD_ERR_INVALID_SPEAKER
 #FMOD_ERR_INVALID_VECTOR
 #FMOD_ERR_IRX
 #FMOD_ERR_MEMORY
 #FMOD_ERR_MEMORY_IOP
 #FMOD_ERR_MEMORY_SRAM
 #FMOD_ERR_MEMORY_CANTPOINT
 #FMOD_ERR_NEEDS2D
 #FMOD_ERR_NEEDS3D
 #FMOD_ERR_NEEDSHARDWARE
 #FMOD_ERR_NEEDSSOFTWARE
 #FMOD_ERR_NET_CONNECT
 #FMOD_ERR_NET_SOCKET_ERROR
 #FMOD_ERR_NET_URL
 #FMOD_ERR_NOTREADY
 #FMOD_ERR_OUTPUT_ALLOCATED
 #FMOD_ERR_OUTPUT_CREATEBUFFER
 #FMOD_ERR_OUTPUT_DRIVERCALL
 #FMOD_ERR_OUTPUT_FORMAT
 #FMOD_ERR_OUTPUT_INIT
 #FMOD_ERR_OUTPUT_NOHARDWARE
 #FMOD_ERR_OUTPUT_NOSOFTWARE
 #FMOD_ERR_PAN
 #FMOD_ERR_PLUGIN
 #FMOD_ERR_PLUGIN_MISSING
 #FMOD_ERR_PLUGIN_RESOURCE
 #FMOD_ERR_RECORD
 #FMOD_ERR_REVERB_INSTANCE
 #FMOD_ERR_SUBSOUNDS
 #FMOD_ERR_SUBSOUND_ALLOCATED
 #FMOD_ERR_TAGNOTFOUND
 #FMOD_ERR_TOOMANYCHANNELS
 #FMOD_ERR_UNIMPLEMENTED
 #FMOD_ERR_UNINITIALIZED
 #FMOD_ERR_UNSUPPORTED
 #FMOD_ERR_UPDATE
 #FMOD_ERR_VERSION
 #FMOD_ERR_EVENT_FAILED
 #FMOD_ERR_EVENT_INTERNAL
 #FMOD_ERR_EVENT_NAMECONFLICT
 #FMOD_ERR_EVENT_NOTFOUND
EndEnumeration

Enumeration ; FMOD_SOUNDGROUP_BEHAVIOR
 #FMOD_SOUNDGROUP_BEHAVIOR_FAIL
 #FMOD_SOUNDGROUP_BEHAVIOR_MUTE
 #FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST
 #FMOD_SOUNDGROUP_BEHAVIOR_MAX
EndEnumeration

Enumeration ; FMOD_SOUND_FORMAT
 #FMOD_SOUND_FORMAT_NONE
 #FMOD_SOUND_FORMAT_PCM8
 #FMOD_SOUND_FORMAT_PCM16
 #FMOD_SOUND_FORMAT_PCM24
 #FMOD_SOUND_FORMAT_PCM32
 #FMOD_SOUND_FORMAT_PCMFLOAT
 #FMOD_SOUND_FORMAT_GCADPCM
 #FMOD_SOUND_FORMAT_IMAADPCM
 #FMOD_SOUND_FORMAT_VAG
 #FMOD_SOUND_FORMAT_XMA
 #FMOD_SOUND_FORMAT_MPEG
 #FMOD_SOUND_FORMAT_MAX
EndEnumeration

Enumeration ; FMOD_SOUND_TYPE
 #FMOD_SOUND_TYPE_UNKNOWN
 #FMOD_SOUND_TYPE_AAC
 #FMOD_SOUND_TYPE_AIFF
 #FMOD_SOUND_TYPE_ASF
 #FMOD_SOUND_TYPE_AT3
 #FMOD_SOUND_TYPE_CDDA
 #FMOD_SOUND_TYPE_DLS
 #FMOD_SOUND_TYPE_FLAC
 #FMOD_SOUND_TYPE_FSB
 #FMOD_SOUND_TYPE_GCADPCM
 #FMOD_SOUND_TYPE_IT
 #FMOD_SOUND_TYPE_MIDI
 #FMOD_SOUND_TYPE_MOD
 #FMOD_SOUND_TYPE_MPEG
 #FMOD_SOUND_TYPE_OGGVORBIS
 #FMOD_SOUND_TYPE_PLAYLIST
 #FMOD_SOUND_TYPE_RAW
 #FMOD_SOUND_TYPE_S3M
 #FMOD_SOUND_TYPE_SF2
 #FMOD_SOUND_TYPE_USER
 #FMOD_SOUND_TYPE_WAV
 #FMOD_SOUND_TYPE_XM
 #FMOD_SOUND_TYPE_XMA
 #FMOD_SOUND_TYPE_VAG
EndEnumeration

Enumeration ; FMOD_SPEAKER
 #FMOD_SPEAKER_FRONT_LEFT
 #FMOD_SPEAKER_FRONT_RIGHT
 #FMOD_SPEAKER_FRONT_CENTER
 #FMOD_SPEAKER_LOW_FREQUENCY
 #FMOD_SPEAKER_BACK_LEFT
 #FMOD_SPEAKER_BACK_RIGHT
 #FMOD_SPEAKER_SIDE_LEFT
 #FMOD_SPEAKER_SIDE_RIGHT
 #FMOD_SPEAKER_MAX
 #FMOD_SPEAKER_MONO
 #FMOD_SPEAKER_NULL
 #FMOD_SPEAKER_SBL
 #FMOD_SPEAKER_SBR
EndEnumeration

Enumeration ; FMOD_SPEAKERMAPTYPE
 #FMOD_SPEAKERMAPTYPE_DEFAULT
 #FMOD_SPEAKERMAPTYPE_ALLMONO
 #FMOD_SPEAKERMAPTYPE_ALLSTEREO
 #FMOD_SPEAKERMAPTYPE_51_PROTOOLS
EndEnumeration

Enumeration ; FMOD_SPEAKERMODE
 #FMOD_SPEAKERMODE_RAW
 #FMOD_SPEAKERMODE_MONO
 #FMOD_SPEAKERMODE_STEREO
 #FMOD_SPEAKERMODE_QUAD
 #FMOD_SPEAKERMODE_SURROUND
 #FMOD_SPEAKERMODE_5POINT1
 #FMOD_SPEAKERMODE_7POINT1
 #FMOD_SPEAKERMODE_PROLOGIC
 #FMOD_SPEAKERMODE_MAX
EndEnumeration

Enumeration ; FMOD_SYSTEM_CALLBACKTYPE
 #FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED
 #FMOD_SYSTEM_CALLBACKTYPE_MEMORYALLOCATIONFAILED
 #FMOD_SYSTEM_CALLBACKTYPE_THREADCREATED
 #FMOD_SYSTEM_CALLBACKTYPE_BADDSPCONNECTION
 #FMOD_SYSTEM_CALLBACKTYPE_BADDSPLEVEL
 #FMOD_SYSTEM_CALLBACKTYPE_MAX
EndEnumeration

Enumeration ; FMOD_TAGDATATYPE
 #FMOD_TAGDATATYPE_BINARY
 #FMOD_TAGDATATYPE_INT
 #FMOD_TAGDATATYPE_FLOAT
 #FMOD_TAGDATATYPE_STRING
 #FMOD_TAGDATATYPE_STRING_UTF16
 #FMOD_TAGDATATYPE_STRING_UTF16BE
 #FMOD_TAGDATATYPE_STRING_UTF8
 #FMOD_TAGDATATYPE_CDTOC
 #FMOD_TAGDATATYPE_MAX
EndEnumeration

Enumeration ; FMOD_TAGTYPE
 #FMOD_TAGTYPE_UNKNOWN
 #FMOD_TAGTYPE_ID3V1
 #FMOD_TAGTYPE_ID3V2
 #FMOD_TAGTYPE_VORBISCOMMENT
 #FMOD_TAGTYPE_SHOUTCAST
 #FMOD_TAGTYPE_ICECAST
 #FMOD_TAGTYPE_ASF
 #FMOD_TAGTYPE_MIDI
 #FMOD_TAGTYPE_PLAYLIST
 #FMOD_TAGTYPE_FMOD
 #FMOD_TAGTYPE_USER
 #FMOD_TAGTYPE_MAX
EndEnumeration

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Defines
#FMOD_VERSION = $42000

Enumeration ; FMOD_CAPS
 #FMOD_CAPS_NONE                   = $0
 #FMOD_CAPS_HARDWARE               = $1
 #FMOD_CAPS_HARDWARE_EMULATED      = $2
 #FMOD_CAPS_OUTPUT_MULTICHANNEL    = $4
 #FMOD_CAPS_OUTPUT_FORMAT_PCM8     = $8
 #FMOD_CAPS_OUTPUT_FORMAT_PCM16    = $10
 #FMOD_CAPS_OUTPUT_FORMAT_PCM24    = $20
 #FMOD_CAPS_OUTPUT_FORMAT_PCM32    = $40
 #FMOD_CAPS_OUTPUT_FORMAT_PCMFLOAT = $80
 #FMOD_CAPS_REVERB_EAX2            = $100
 #FMOD_CAPS_REVERB_EAX3            = $200
 #FMOD_CAPS_REVERB_EAX4            = $400
 #FMOD_CAPS_REVERB_EAX5            = $800
 #FMOD_CAPS_REVERB_I3DL2           = $1000
 #FMOD_CAPS_REVERB_LIMITED         = $2000
EndEnumeration

Enumeration ; FMOD_DEBUGLEVEL
 #FMOD_DEBUG_LEVEL_NONE          = $0
 #FMOD_DEBUG_LEVEL_LOG           = $1
 #FMOD_DEBUG_LEVEL_ERROR         = $2
 #FMOD_DEBUG_LEVEL_WARNING       = $4
 #FMOD_DEBUG_LEVEL_HINT          = $8
 #FMOD_DEBUG_LEVEL_ALL           = $FF
 #FMOD_DEBUG_TYPE_MEMORY         = $100
 #FMOD_DEBUG_TYPE_THREAD         = $200
 #FMOD_DEBUG_TYPE_FILE           = $400
 #FMOD_DEBUG_TYPE_NET            = $800
 #FMOD_DEBUG_TYPE_EVENT          = $1000
 #FMOD_DEBUG_TYPE_ALL            = $FFFF
 #FMOD_DEBUG_DISPLAY_TIMESTAMPS  = $1000000
 #FMOD_DEBUG_DISPLAY_LINENUMBERS = $2000000
 #FMOD_DEBUG_DISPLAY_COMPRESS    = $4000000
 #FMOD_DEBUG_DISPLAY_ALL         = $F000000
 #FMOD_DEBUG_ALL                 = $FFFFFFFF
EndEnumeration

Enumeration ; FMOD_INITFLAGS
 #FMOD_INIT_NORMAL                   = $0
 #FMOD_INIT_STREAM_FROM_UPDATE       = $1
 #FMOD_INIT_3D_RIGHTHANDED           = $2
 #FMOD_INIT_SOFTWARE_DISABLE         = $4
 #FMOD_INIT_SOFTWARE_OCCLUSION       = $8
 #FMOD_INIT_SOFTWARE_HRTF            = $10
 #FMOD_INIT_SOFTWARE_REVERB_LOWMEM   = $40
 #FMOD_INIT_ENABLE_PROFILE           = $20
 #FMOD_INIT_VOL0_BECOMES_VIRTUAL     = $80
 #FMOD_INIT_WASAPI_EXCLUSIVE         = $100
 #FMOD_INIT_DSOUND_HRTFNONE          = $200
 #FMOD_INIT_DSOUND_HRTFLIGHT         = $400
 #FMOD_INIT_DSOUND_HRTFFULL          = $800
 #FMOD_INIT_PS2_DISABLECORE0REVERB   = $10000
 #FMOD_INIT_PS2_DISABLECORE1REVERB   = $20000
 #FMOD_INIT_PS2_DONTUSESCRATCHPAD    = $40000
 #FMOD_INIT_PS2_SWAPDMACHANNELS      = $80000
 #FMOD_INIT_PS3_PREFERDTS            = $800000
 #FMOD_INIT_PS3_FORCE2CHLPCM         = $1000000
 #FMOD_INIT_XBOX_REMOVEHEADROOM      = $100000
 #FMOD_INIT_360_MUSICMUTENOTPAUSE    = $200000
 #FMOD_INIT_SYNCMIXERWITHUPDATE      = $400000
EndEnumeration

Enumeration ; FMOD_MEMBITS
 #FMOD_MEMBITS_OTHER              = (1 << #FMOD_MEMTYPE_OTHER)
 #FMOD_MEMBITS_STRING             = (1 << #FMOD_MEMTYPE_STRING)
 #FMOD_MEMBITS_SYSTEM             = (1 << #FMOD_MEMTYPE_SYSTEM)
 #FMOD_MEMBITS_RECORDBUFFER       = (1 << #FMOD_MEMTYPE_RECORDBUFFER)
 #FMOD_MEMBITS_PLUGINS            = (1 << #FMOD_MEMTYPE_PLUGINS)
 #FMOD_MEMBITS_OUTPUTMODULE       = (1 << #FMOD_MEMTYPE_OUTPUTMODULE)
 #FMOD_MEMBITS_SPEAKERLEVELSPOOL  = (1 << #FMOD_MEMTYPE_SPEAKERLEVELSPOOL)
 #FMOD_MEMBITS_CHANNELI           = (1 << #FMOD_MEMTYPE_CHANNELI)
 #FMOD_MEMBITS_CHANNELPOOL        = (1 << #FMOD_MEMTYPE_CHANNELPOOL)
 #FMOD_MEMBITS_CHANNELREAL        = (1 << #FMOD_MEMTYPE_CHANNELREAL)
 #FMOD_MEMBITS_CHANNELGROUP       = (1 << #FMOD_MEMTYPE_CHANNELGROUP)
 #FMOD_MEMBITS_SOUNDI             = (1 << #FMOD_MEMTYPE_SOUNDI)
 #FMOD_MEMBITS_SOUNDGROUP         = (1 << #FMOD_MEMTYPE_SOUNDGROUP)
 #FMOD_MEMBITS_SAMPLE             = (1 << #FMOD_MEMTYPE_SAMPLE)
 #FMOD_MEMBITS_DSPCONNECTION      = (1 << #FMOD_MEMTYPE_DSPCONNECTION)
 #FMOD_MEMBITS_DSPCONNECTIONPOOL  = (1 << #FMOD_MEMTYPE_DSPCONNECTIONPOOL)
 #FMOD_MEMBITS_DSPI               = (1 << #FMOD_MEMTYPE_DSPI)
 #FMOD_MEMBITS_DSPCODEC           = (1 << #FMOD_MEMTYPE_DSPCODEC)
 #FMOD_MEMBITS_DSPUNIT            = (1 << #FMOD_MEMTYPE_DSPUNIT)
 #FMOD_MEMBITS_REVERBI            = (1 << #FMOD_MEMTYPE_REVERBI)
 #FMOD_MEMBITS_REVERBCHANNELPROPS = (1 << #FMOD_MEMTYPE_REVERBCHANNELPROPS)
 #FMOD_MEMBITS_GEOMETRY           = (1 << #FMOD_MEMTYPE_GEOMETRY)
 #FMOD_MEMBITS_ALL                = $FFFFFFFF
EndEnumeration

Enumeration ; FMOD_MEMORY_TYPE
 #FMOD_MEMORY_NORMAL            = $0
 #FMOD_MEMORY_XBOX360_PHYSICAL  = $100000
 #FMOD_MEMORY_PERSISTENT        = $200000
 #FMOD_MEMORY_SECONDARY         = $400000
EndEnumeration

Enumeration ; FMOD_MODE
 #FMOD_DEFAULT                = $0
 #FMOD_LOOP_OFF               = $1
 #FMOD_LOOP_NORMAL            = $2
 #FMOD_LOOP_BIDI              = $4
 #FMOD_2D                     = $8
 #FMOD_3D                     = $10
 #FMOD_HARDWARE               = $20
 #FMOD_SOFTWARE               = $40
 #FMOD_CREATESTREAM           = $80
 #FMOD_CREATESAMPLE           = $100
 #FMOD_CREATECOMPRESSEDSAMPLE = $200
 #FMOD_OPENUSER               = $400
 #FMOD_OPENMEMORY             = $800
 #FMOD_OPENMEMORY_POINT       = $10000000
 #FMOD_OPENRAW                = $1000
 #FMOD_OPENONLY               = $2000
 #FMOD_ACCURATETIME           = $4000
 #FMOD_MPEGSEARCH             = $8000
 #FMOD_NONBLOCKING            = $10000
 #FMOD_UNIQUE                 = $20000
 #FMOD_3D_HEADRELATIVE        = $40000
 #FMOD_3D_WORLDRELATIVE       = $80000
 #FMOD_3D_LOGROLLOFF          = $100000
 #FMOD_3D_LINEARROLLOFF       = $200000
 #FMOD_3D_CUSTOMROLLOFF       = $4000000
 #FMOD_3D_IGNOREGEOMETRY      = $40000000
 #FMOD_CDDA_FORCEASPI         = $400000
 #FMOD_CDDA_JITTERCORRECT     = $800000
 #FMOD_UNICODE                = $1000000
 #FMOD_IGNORETAGS             = $2000000
 #FMOD_LOWMEM                 = $8000000
 #FMOD_LOADSECONDARYRAM       = $20000000
 #FMOD_VIRTUAL_PLAYFROMSTART  = $80000000
EndEnumeration

Enumeration ; FMOD_REVERB_CHANNELFLAGS
 #FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO = $1
 #FMOD_REVERB_CHANNELFLAGS_ROOMAUTO     = $2
 #FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO   = $4
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE0    = $10
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE1    = $20
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE2    = $40
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE3    = $80
 #FMOD_REVERB_CHANNELFLAGS_DEFAULT      = #FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO|#FMOD_REVERB_CHANNELFLAGS_ROOMAUTO|#FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO|#FMOD_REVERB_CHANNELFLAGS_INSTANCE0
EndEnumeration

Enumeration ; FMOD_REVERB_FLAGS
 #FMOD_REVERB_FLAGS_DECAYTIMESCALE        = $1
 #FMOD_REVERB_FLAGS_REFLECTIONSSCALE      = $2
 #FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE = $4
 #FMOD_REVERB_FLAGS_REVERBSCALE           = $8
 #FMOD_REVERB_FLAGS_REVERBDELAYSCALE      = $10
 #FMOD_REVERB_FLAGS_DECAYHFLIMIT          = $20
 #FMOD_REVERB_FLAGS_ECHOTIMESCALE         = $40
 #FMOD_REVERB_FLAGS_MODULATIONTIMESCALE   = $80
 #FMOD_REVERB_FLAGS_CORE0                 = $100
 #FMOD_REVERB_FLAGS_CORE1                 = $200
 #FMOD_REVERB_FLAGS_HIGHQUALITYREVERB     = $400
 #FMOD_REVERB_FLAGS_HIGHQUALITYDPL2REVERB = $800
 #FMOD_REVERB_FLAGS_DEFAULT               = #FMOD_REVERB_FLAGS_DECAYTIMESCALE  |#FMOD_REVERB_FLAGS_REFLECTIONSSCALE  |#FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE | #FMOD_REVERB_FLAGS_REVERBSCALE | #FMOD_REVERB_FLAGS_REVERBDELAYSCALE | #FMOD_REVERB_FLAGS_DECAYHFLIMIT | #FMOD_REVERB_FLAGS_CORE0 | #FMOD_REVERB_FLAGS_CORE1
EndEnumeration

Enumeration ; FMOD_TIMEUNIT
 #FMOD_TIMEUNIT_MS                = $1
 #FMOD_TIMEUNIT_PCM               = $2
 #FMOD_TIMEUNIT_PCMBYTES          = $4
 #FMOD_TIMEUNIT_RAWBYTES          = $8
 #FMOD_TIMEUNIT_MODORDER          = $100
 #FMOD_TIMEUNIT_MODROW            = $200
 #FMOD_TIMEUNIT_MODPATTERN        = $400
 #FMOD_TIMEUNIT_SENTENCE_MS       = $10000
 #FMOD_TIMEUNIT_SENTENCE_PCM      = $20000
 #FMOD_TIMEUNIT_SENTENCE_PCMBYTES = $40000
 #FMOD_TIMEUNIT_SENTENCE          = $80000
 #FMOD_TIMEUNIT_SENTENCE_SUBSOUND = $100000
 #FMOD_TIMEUNIT_BUFFERED          = $10000000
EndEnumeration

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Structures

Structure FMOD_ADVANCEDSETTINGS
 cbSize.i
 maxMPEGcodecs.i
 maxADPCMcodecs.i
 maxXMAcodecs.i
 maxPCMcodecs.i
 ASIONumChannels.i
 ASIOChannelList.i
 ASIOSpeakerList.i
 max3DReverbDSPs.i
 HRTFMinAngle.f
 HRTFMaxAngle.f
 HRTFFreq.f
 vol0virtualvol.f
 eventqueuesize.i
 defaultDecodeBufferSize.i
 debugLogFilename.b
 profileport.i
EndStructure

Structure FMOD_CDTOC
 numtracks.i
 min.i[100]
 sec.i[100]
 frame.i[100]
EndStructure

Structure FMOD_CODEC_DESCRIPTION
 name.s
 version.i
 defaultasstream.i
 timeunits.i
 open.i
 close.i
 _read.i
 getlength.i
 setposition.i
 getposition.i
 soundcreate.i
 getwaveformat.i
EndStructure

Structure FMOD_CODEC_STATE
 numsubsounds.i
 waveformat.i
 plugindata.i
 filehandle.i
 filesize.i
 fileread.i

 fileseek.i
 metadata.i
EndStructure

Structure FMOD_CODEC_WAVEFORMAT
 name.b[256]
 format.i
 channels.i
 frequency.i
 lengthbytes.i
 lengthpcm.i
 blockalign.i
 loopstart.i
 loopend.i
 mode.i
 channelmask.i
EndStructure

Structure FMOD_CREATESOUNDEXINFO
 cbSize.i
 length.i
 fileoffset.i
 Numchannels.i
 defaultfrequency.i
 Format.i
 decodebuffersize.i
 initialsubsound.i
 Numsubsounds.i
 inclusionlist.i
 inclusionlistnum.i
 pcmreadcallback.i
 pcmsetposcallback.i
 nonblockcallback.i
 dlsname.s
 encryptionkey.s
 maxpolyphony.i
 userdata.i
 suggestedsoundtype.i
 useropen.i
 userclose.i
 userread.i
 userseek.i
 speakermap.i
 initialsoundgroup.i
 initialseekposition.i
 initialseekpostype.i
EndStructure

Structure FMOD_DSP_DESCRIPTION
 name.b[32]
 Version.i
 Channels.i
 create.i
 release.i
 reset.i
 _read.i
 setpos.i
 numparameters.i
 paramdesc.i
 setparameter.i
 getparameter.i
 config.i
 Configwidth.i
 Configheight.i
 userdata.i
EndStructure

Structure FMOD_DSP_PARAMETERDESC
 min.f
 max.f
 defaultval.f
 name.s[16]
 label.s[16]
 description.s
EndStructure

Structure FMOD_DSP_STATE
 instance.i
 plugindata.i
 speakermask.i
EndStructure

Structure FMOD_GUID
 Data1.i
 Data2.i
 Data3.i
 Data4.b [8]
EndStructure

Structure FMOD_OUTPUT_DESCRIPTION
 name.s
 version.i
 polling.i
 getnumdrivers.i
 getdrivername.i
 getdrivercaps.i
 init.i
 close.i
 update.i
 gethandle.i
 getposition.i
 lock.i
 unlock.i
EndStructure

Structure FMOD_OUTPUT_STATE
 plugindata.i
 readfrommixer.i
EndStructure

Structure FMOD_REVERB_CHANNELPROPERTIES
 Direct.i
 DirectHF.i
 Room.i
 RoomHF.i
 Obstruction.i
 ObstructionLFRatio.f
 Occlusion.i
 OcclusionLFRatio.f
 OcclusionRoomRatio.f
 OcclusionDirectRatio.f
 Exclusion.i
 ExclusionLFRatio.f
 OutsideVolumeHF.i
 DopplerFactor.f
 RolloffFactor.f
 RoomRolloffFactor.f
 AirAbsorptionFactor.f
 flags.i
 ConnectionPoint.i
EndStructure

Structure FMOD_REVERB_PROPERTIES
 Instance.i
 Environment.i
 EnvSize.f
 EnvDiffusion.f
 Room.i
 RoomHF.i
 RoomLF.i
 DecayTime.f
 DecayHFRatio.f
 DecayLFRatio.f
 Reflections.i
 ReflectionsDelay.f
 ReflectionsPan.f[3]
 Reverb.i
 ReverbDelay.f
 ReverbPan.f[3]
 EchoTime.f
 EchoDepth.f
 ModulationTime.f
 ModulationDepth.f
 AirAbsorptionHF.f
 HFReference.f
 LFReference.f
 RoomRolloffFactor.f
 Diffusion.f
 Density.f
 flags.i
EndStructure

Structure FMOD_TAG
 type.i
 datatype.i
 name.i
 _data.i
 datalen.i
 udated.i
EndStructure

Structure FMOD_VECTOR
 x.f
 y.f
 z.f
EndStructure

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Functions
Import "fmodex_vc.lib"
 ;- System
 FMOD_System_AddDSP( system.i, dsp.i, connect.i )
 FMOD_System_AttachFileSystem( system.i, useropen.i, userclose.i, userread.i, userseek.i )
 FMOD_System_Close( system.i )
 FMOD_System_CreateChannelGroup( system.i, name.s, *channelgroup.i )
 FMOD_System_CreateCodec( system.i, CodecDescription.i, priority.i )
 FMOD_System_CreateDSP( system.i, *description.i, *dsp.i )
 FMOD_System_CreateDSPByPlugin( system.i, handle.i, *dsp.i )
 FMOD_System_CreateDSPByType( system.i, type.i, *dsp.l )
 FMOD_System_CreateGeometry( system.i, maxpolygons.i, maxvertices.i, *geometry.i )
 FMOD_System_CreateReverb( system.i, *reverb.i )
 FMOD_System_CreateSound( system.i, name_or_data.i, mode.i, *exinfo.i, *sound.i )
 FMOD_System_CreateSoundGroup( system.i, name.s, *soundgroup.i )
 FMOD_System_CreateStream( system.i, name_or_data.i, mode.i, *exinfo.i, *sound.i )
 FMOD_System_Get3DListenerAttributes( system.i, listener.i, *pos.i, *vel.i, *forward.i, *up.i )
 FMOD_System_Get3DNumListeners( system.i, *numlisteners.i )
 FMOD_System_Get3DSettings( system.i, *dopplerscale.f, *distancefactor.f, *rolloffscale.f )
 FMOD_System_GetSpeakerPosition( system.i, *speaker.i, *x.f, *y.f, *active.i )
 FMOD_System_GetAdvancedSettings( system.i, *settings.i )
 FMOD_System_GetCDROMDriveName( system.i, drive.i, *drivename.b, drivenamelen.i, *scsiname.b, scsinamelen.i, *devicename.b, devicenamelen.i )
 FMOD_System_GetCPUUsage( system.i, *dsp.f, *stream.f, *update.f, *total.f )
 FMOD_System_GetChannel( system.i, channelid.i, *channel.i )
 FMOD_System_GetChannelsPlaying( system.i, *channels.i )
 FMOD_System_GetDSPBufferSize( system.i, *bufferlength.i, *numbuffers.i )
 FMOD_System_GetDSPClock( system.i, hi.i, lo.i )
 FMOD_System_GetDSPHead( system.i, *dsp.i )
 FMOD_System_GetDriver( system.i, *driver.i )
 FMOD_System_GetDriverCaps( system.i, id.i, *caps.i, *minfrequency.i, *maxfrequency.i, *controlpanelspeakermode.i )
 FMOD_System_GetDriverInfo( system.i, id.i, *name.s, namelen.i, *guid.FMOD_GUID )
 FMOD_System_GetGeometrySettings( system.i, *maxworldsize.f )
 FMOD_System_GetHardwareChannels( system.i, *num2d.i, *num3d.i, *total.i )
 FMOD_System_GetMasterChannelGroup( system.i, *channelgroup.i )
 FMOD_System_GetMasterSoundGroup( system.i, *soundgroup.i )
 FMOD_System_GetMemoryInfo( system.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_System_GetNetworkProxy( system.i, *proxy.b, Proxylen.i )
 FMOD_System_GetNetworkTimeout( system.i, *timeout.i )
 FMOD_System_GetNumCDROMDrives( system.i, *numdrives.i )
 FMOD_System_GetNumDrivers( system.i, *numdrivers.i )
 FMOD_System_GetNumPlugins( system.i, plugintype.i, *numplugins.i )
 FMOD_System_GetOutput( system.i, *output.i )
 FMOD_System_GetOutputByPlugin( system.i, *index.i )
 FMOD_System_GetOutputHandle( system.i, *handle.i )
 FMOD_System_GetPluginHandle( system.i, plugintype.i, index.i, *handle.i )
 FMOD_System_GetPluginInfo( system.i, handle.i, plugintype.i, *name.b, namelen.i, *version.i )
 FMOD_System_GetRecordDriver( system.i, *driver.i )
 FMOD_System_GetRecordDriverCaps( system.i, *id.i, *caps.i, *minfrequency.i, *maxfrequency.i )
 FMOD_System_GetRecordDriverInfo( system.i, id.i, *name.b, namelen.i, *guid.FMOD_GUID )
 FMOD_System_GetRecordNumDrivers( system.i, *numdrivers.i )
 FMOD_System_GetRecordPosition( system.i, *position.i )
 FMOD_System_GetReverbAmbientProperties( system.i, *prop.i )
 FMOD_System_GetReverbProperties( system.i, *prop.i )
 FMOD_System_GetSoftwareChannels( system.i, *numsoftwarechannels.i )
 FMOD_System_GetSoftwareFormat( system.i, *samplerate.i, *format.i, *numoutputchannels.i, *maxinputchannels.i, *resamplemethod.i, *bits.i )
 FMOD_System_GetSoundRAM( system.i, *currentalloced.i, *maxalloced.i, *total.i )
 FMOD_System_GetSpeakerMode( system.i, *speakermode.i )
 FMOD_System_GetSpectrum( system.i, *spectrumarray.f, numvalues.i, channeloffset.i, *windowtype.i )
 FMOD_System_GetStreamBufferSize( system.i, *filebuffersize.i, *filebuffersizetype.i )
 FMOD_System_GetUserData( system.i, *userdata.i )
 FMOD_System_GetVersion( system.i, *version.i )
 FMOD_System_GetWaveData( system.i, *wavearray.f, numvalues.i, channeloffset.i )
 FMOD_System_Init( system.i, maxchannels.i, flags.i, extradriverdata.i )
 FMOD_System_IsRecording( system.i, *recording.i )
 FMOD_System_LoadGeometry( system.i, _data.i, dataSize.i, *geometry.i )
 FMOD_System_LoadPlugin( system.i, filename.s, *handle.i, priority.i )
 FMOD_System_LockDSP( system.i )
 FMOD_System_PlayDSP( system.i, channelid.i, dsp.i, paused.i, *channel.i )
 FMOD_System_PlaySound( system.i, channelid.i, sound.i, paused.i, *channel.i )
 FMOD_System_RecordStart( system.i, sound.i, loop_.i )
 FMOD_System_RecordStop( system.i )
 FMOD_System_Release( system.i )
 FMOD_System_Set3DListenerAttributes( system.i, listener.i, *pos.i, *vel.i, *forward.i, *up.i )
 FMOD_System_Set3DNumListeners( system.i, numlisteners.i )
 FMOD_System_Set3DRolloffCallback( system.i, callback.i )
 FMOD_System_Set3DSettings( system.i, dopplerscale.f, distancefactor.f, rolloffscale.f )
 FMOD_System_SetSpeakerPosition( system.i, speaker.i, x.f, y.f, active.i )
 FMOD_System_SetAdvancedSettings( system.i, *settings.i )
 FMOD_System_SetCallback( system.i, callback.i )
 FMOD_System_SetDSPBufferSize( system.i, bufferlength.i, numbuffers.i )
 FMOD_System_SetDriver( system.i, driver.i )
 FMOD_System_SetFileSystem( system.i, useropen.i, userclose.i, userread.i, userseek.i, blockalign.i )
 FMOD_System_SetGeometrySettings( system.i, maxworldsize.f )
 FMOD_System_SetHardwareChannels( system.i, min2d.i, max2d.i, min3d.i, max3d.i )
 FMOD_System_SetNetworkProxy( system.i, proxy.s )
 FMOD_System_SetNetworkTimeout( system.i, timeout.i )
 FMOD_System_SetOutput( system.i, output.i )
 FMOD_System_SetOutputByPlugin( system.i, handle.i )
 FMOD_System_SetPluginPath( system.i, path.s )
 FMOD_System_SetRecordDriver( system.i, driver.i )
 FMOD_System_SetReverbAmbientProperties( system.i, *prop.i )
 FMOD_System_SetReverbProperties( system.i, *prop.i )
 FMOD_System_SetSoftwareChannels( system.i, numsoftwarechannels.i )
 FMOD_System_SetSoftwareFormat( system.i, samplerate.i, format.i, numoutputchannels.i, maxinputchannels.i, resamplemethod.i )
 FMOD_System_SetSpeakerMode( system.i, speakermode.i )
 FMOD_System_SetStreamBufferSize( system.i, filebuffersize.i, filebuffersizetype.i )
 FMOD_System_SetUserData( system.i, userdata.i )
 FMOD_System_UnloadPlugin( system.i, handle.i )
 FMOD_System_UnlockDSP( system.i )
 FMOD_System_Update( system.i )
 ;- Sound
 FMOD_Sound_AddSyncPoint( sound.i, offset.i, offsettype.i, name.s, *point.i )
 FMOD_Sound_DeleteSyncPoint( sound.i, point.i )
 FMOD_Sound_Get3DConeSettings( sound.i, *insideconeangle.f, *outsideconeangle.f, *outsidevolume.f )
 FMOD_Sound_Get3DCustomRolloff( sound.i, *points.i, *numpoints.i )
 FMOD_Sound_Get3DMinMaxDistance( sound.i, *min.f, *max.f )
 FMOD_Sound_GetDefaults( sound.i, *frequency.f, *volume.f, *pan.f, *priority.i )
 FMOD_Sound_GetFormat( sound.i, *soundtype.i, *format.i, *channels.i, *bits.i )
 FMOD_Sound_GetLength( sound.i, *length.i, lengthtype.i )
 FMOD_Sound_GetLoopCount( sound.i, *loopcount.i )
 FMOD_Sound_GetLoopPoints( sound.i, *loopstart.i, loopstarttype.i, *loopend.i, loopendtype.i )
 FMOD_Sound_GetMemoryInfo( sound.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_Sound_GetMode( sound.i, *mode.i )
 FMOD_Sound_GetMusicChannelVolume( sound.i, channel.i, *volume.f )
 FMOD_Sound_GetMusicNumChannels( sound.i, *numchannels.i )
 FMOD_Sound_GetName( sound.i, *name.b, namelen.i )
 FMOD_Sound_GetNumSubSounds( sound.i, *numsubsounds.i )
 FMOD_Sound_GetNumSyncPoints( sound.i, *numsyncpoints.i )
 FMOD_Sound_GetNumTags( sound.i, *numtags.i, *numtagsupdated.i )
 FMOD_Sound_GetOpenState( sound.i, *openstate.i, *percentbuffered.i, *starving.i )
 FMOD_Sound_GetSoundGroup( sound.i, *soundgroup.i )
 FMOD_Sound_GetSubSound( sound.i, index.i, *subsound.i )
 FMOD_Sound_GetSyncPoint( sound.i, index.i, *point.i )
 FMOD_Sound_GetSyncPointInfo( sound.i, point.i, *name.b, namelen.i, *offset.i, offsettype.i )
 FMOD_Sound_GetSystemObject( sound.i, *system.i )
 FMOD_Sound_GetTag( sound.i, name.i, index.i, *tag.i )
 FMOD_Sound_GetUserData( sound.i, *userdata.i )
 FMOD_Sound_GetVariations( sound.i, *frequencyvar.f, *volumevar.f, *panvar.f )
 FMOD_Sound_Lock( sound.i, offset.i, length.i, *ptr1.i, *ptr2.i, *len1.i, *len2.i )
 FMOD_Sound_ReadData( sound.i, buffer.i, lenbytes.i, *_read.i )
 FMOD_Sound_Release( sound.i )
 FMOD_Sound_SeekData( sound.i, pcm.i )
 FMOD_Sound_Set3DConeSettings( sound.i, insideconeangle.f, outsideconeangle.f, outsidevolume.f )
 FMOD_Sound_Set3DCustomRolloff( sound.i, *points.i, numpoints.i )
 FMOD_Sound_Set3DMinMaxDistance( sound.i, min.f, max.f )
 FMOD_Sound_SetDefaults( sound.i, frequency.f, volume.f, pan.f, priority.i )
 FMOD_Sound_SetLoopCount( sound.i, loopcount.i )
 FMOD_Sound_SetLoopPoints( sound.i, loopstart.i, loopstarttype.i, loopend.i, loopendtype.i )
 FMOD_Sound_SetMode( sound.i, mode.i )
 FMOD_Sound_SetMusicChannelVolume( sound.i, channel.i, volume.f )
 FMOD_Sound_SetSoundGroup( sound.i, soundgroup.i )
 FMOD_Sound_SetSubSound( sound.i, index.i, subsound.i )
 FMOD_Sound_SetSubSoundSentence( sound.i, *subsoundlist.i, numsubsounds.i )
 FMOD_Sound_SetUserData( sound.i, userdata.i )
 FMOD_Sound_SetVariations( sound.i, frequencyvar.f, volumevar.f, panvar.f )
 FMOD_Sound_Unlock( sound.i, ptr1.i, ptr2.i, len1.i, len2.i )
 ;- Channel
 FMOD_Channel_AddDSP( channel.i, dsp.i, *dspconnection.i )
 FMOD_Channel_Get3DAttributes( channel.i, *pos.i, *vel.i )
 FMOD_Channel_Get3DConeOrientation( channel.i, *orientation.i )
 FMOD_Channel_Get3DConeSettings( channel.i, *insideconeangle.f, *outsideconeangle.f, *outsidevolume.f )
 FMOD_Channel_Get3DCustomRolloff( channel.i, *points.i, *numpoints.i )
 FMOD_Channel_Get3DDopplerLevel( channel.i, *level.f )
 FMOD_Channel_Get3DMinMaxDistance( channel.i, *mindistance.f, *maxdistance.f )
 FMOD_Channel_Get3DOcclusion( channel.i, *directocclusion.f, *reverbocclusion.f )
 FMOD_Channel_Get3DPanLevel( channel.i, *float.f )
 FMOD_Channel_Get3DSpread( channel.i, *angle.f )
 FMOD_Channel_GetAudibility( channel.i, *audibility.f )
 FMOD_Channel_GetChannelGroup( channel.i, *channelgroup.i )
 FMOD_Channel_GetCurrentSound( channel.i, *sound.i )
 FMOD_Channel_GetDSPHead( channel.i, *dsp.i )
 FMOD_Channel_GetDelay( channel.i, delaytype.i, *delayhi.i, *delaylo.i )
 FMOD_Channel_GetFrequency( channel.i, *frequency.f )
 FMOD_Channel_GetIndex( channel.i, *index.i )
 FMOD_Channel_GetInputChannelMix( channel.i, *levels.f, numlevels.i )
 FMOD_Channel_GetLoopCount( channel.i, *loopcount.i )
 FMOD_Channel_GetLoopPoints( channel.i, *loopstart.i, loopstarttype.i, *loopend.i, loopendtype.i )
 FMOD_Channel_GetLowPassGain( channel.i, *gain.f )
 FMOD_Channel_GetMemoryInfo( channel.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_Channel_GetMode( channel.i, *mode.i )
 FMOD_Channel_GetMute( channel.i, *mute.i )
 FMOD_Channel_GetPan( channel.i, *pan.f )
 FMOD_Channel_GetPaused( channel.i, *paused.i )
 FMOD_Channel_GetPosition( channel.i, *position.i, postype.i )
 FMOD_Channel_GetPriority( channel.i, *priority.i )
 FMOD_Channel_GetReverbProperties( channel.i, *prop.i )
 FMOD_Channel_GetSpeakerLevels( channel.i, speaker.i, *levels.f, numlevels.i )
 FMOD_Channel_GetSpeakerMix( channel.i, *frontleft.f, *frontright.f, *center.f, *lfe.f, *backleft.f, *backright.f, *sideleft.f, *sideright.f )
 FMOD_Channel_GetSpectrum( channel.i, *spectrumarray.f, numvalues.i, channeloffset.i, windowtype.i )
 FMOD_Channel_GetSystemObject( channel.i, *system.i )
 FMOD_Channel_GetUserData( channel.i, *userdata.i )
 FMOD_Channel_GetVolume( channel.i, *volume.f )
 FMOD_Channel_GetWaveData( channel.i, *wavearray.f, numvalues.i, channeloffset.i )
 FMOD_Channel_IsPlaying( channel.i, *isplaying.i )
 FMOD_Channel_IsVirtual( channel.i, *isvirtual.i )
 FMOD_Channel_Set3DAttributes( channel.i, *pos.i, *vel.i )
 FMOD_Channel_Set3DConeOrientation( channel.i, *orientation.i )
 FMOD_Channel_Set3DConeSettings( channel.i, insideconeangle.f, outsideconeangle.f, outsidevolume.f )
 FMOD_Channel_Set3DCustomRolloff( channel.i, *points.i, numpoints.i )
 FMOD_Channel_Set3DDopplerLevel( channel.i, level.f )
 FMOD_Channel_Set3DMinMaxDistance( channel.i, mindistance.f, maxdistance.f )
 FMOD_Channel_Set3DOcclusion( channel.i, directocclusion.f, reverbocclusion.f )
 FMOD_Channel_Set3DPanLevel( channel.i, float.f )
 FMOD_Channel_Set3DSpread( channel.i, angle.f )
 FMOD_Channel_SetCallback( channel.i, callback.i )
 FMOD_Channel_SetChannelGroup( channel.i, channelgroup.i )
 FMOD_Channel_SetDelay( channel.i, delaytype.i, delayhi.i, delaylo.i )
 FMOD_Channel_SetFrequency( channel.i, frequency.f )
 FMOD_Channel_SetInputChannelMix( channel.i, *levels.f, numlevels.i )
 FMOD_Channel_SetLoopCount( channel.i, loopcount.i )
 FMOD_Channel_SetLoopPoints( channel.i, loopstart.i, loopstarttype.i, loopend.i, loopendtype.i )
 FMOD_Channel_SetLowPassGain( channel.i, gain.f )
 FMOD_Channel_SetMode( channel.i, mode.i )
 FMOD_Channel_SetMute( channel.i, mute.i )
 FMOD_Channel_SetPan( channel.i, pan.f )
 FMOD_Channel_SetPaused( channel.i, paused.i )
 FMOD_Channel_SetPosition( channel.i, position.i, postype.i )
 FMOD_Channel_SetPriority( channel.i, priority.i )
 FMOD_Channel_SetReverbProperties( channel.i, *prop.i )
 FMOD_Channel_SetSpeakerLevels( channel.i, speaker.i, *levels.f, numlevels.i )
 FMOD_Channel_SetSpeakerMix( channel.i, frontleft.f, frontright.f, center.f, lfe.f, backleft.f, backright.f, sideleft.f, sideright.f )
 FMOD_Channel_SetUserData( channel.i, userdata.i )
 FMOD_Channel_SetVolume( channel.i, volume.f )
 FMOD_Channel_Stop( channel.i )
 ;- ChannelGroup
 FMOD_ChannelGroup_AddDSP( channelgroup.i, dsp.i, *connection.i )
 FMOD_ChannelGroup_AddGroup( channelgroup.i, group.i )
 FMOD_ChannelGroup_Get3DOcclusion( channelgroup.i, *directocclusion.f, *reverbocclusion.f )
 FMOD_ChannelGroup_GetChannel( channelgroup.i, index.i, *channel.i )
 FMOD_ChannelGroup_GetDSPHead( channelgroup.i, *dsp.i )
 FMOD_ChannelGroup_GetGroup( channelgroup.i, index.i, *group.i )
 FMOD_ChannelGroup_GetMemoryInfo( channelgroup.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_ChannelGroup_GetMute( channelgroup.i, *mute.i )
 FMOD_ChannelGroup_GetName( channelgroup.i, *name.b, namelen.i )
 FMOD_ChannelGroup_GetNumChannels( channelgroup.i, *numchannels.i )
 FMOD_ChannelGroup_GetNumGroups( channelgroup.i, *numgroups.i )
 FMOD_ChannelGroup_GetParentGroup( channelgroup.i, *group.i )
 FMOD_ChannelGroup_GetPaused( channelgroup.i, *paused.i )
 FMOD_ChannelGroup_GetPitch( channelgroup.i, *pitch.f )
 FMOD_ChannelGroup_GetSpectrum( channelgroup.i, *spectrumarray.f, numvalues.i, channeloffset.i, windowtype.i )
 FMOD_ChannelGroup_GetSystemObject( channelgroup.i, *system.i )
 FMOD_ChannelGroup_GetUserData( channelgroup.i, *userdata.i )
 FMOD_ChannelGroup_GetVolume( channelgroup.i, *volume.f )
 FMOD_ChannelGroup_GetWaveData( channelgroup.i, *wavearray.f, numvalues.i, channeloffset.i )
 FMOD_ChannelGroup_Override3DAttributes( channelgroup.i, *pos.i, *vel.i )
 FMOD_ChannelGroup_OverrideFrequency( channelgroup.i, frequency.f )
 FMOD_ChannelGroup_OverridePan( channelgroup.i, pan.f )
 FMOD_ChannelGroup_OverrideReverbProperties( channelgroup.i, *prop.i )
 FMOD_ChannelGroup_OverrideSpeakerMix( channelgroup.i, frontleft.f, frontright.f, center.f, lfe.f, backleft.f, backright.f, sideleft.f, sideright.f )
 FMOD_ChannelGroup_OverrideVolume( channelgroup.i, volume.f )
 FMOD_ChannelGroup_Release( channelgroup.i )
 FMOD_ChannelGroup_Set3DOcclusion( channelgroup.i, directocclusion.f, reverbocclusion.f )
 FMOD_ChannelGroup_SetMute( channelgroup.i, mute.i )
 FMOD_ChannelGroup_SetPaused( channelgroup.i, paused.i )
 FMOD_ChannelGroup_SetPitch( channelgroup.i, pitch.f )
 FMOD_ChannelGroup_SetUserData( channelgroup.i, *userdata.i )
 FMOD_ChannelGroup_SetVolume( channelgroup.i, volume.f )
 FMOD_ChannelGroup_Stop( channelgroup.i )
 ;- SoundGroup
 FMOD_SoundGroup_GetMaxAudible( soundgroup.i, *maxaudible.i )
 FMOD_SoundGroup_GetMaxAudibleBehavior( soundgroup.i, *behavior.i )
 FMOD_SoundGroup_GetMemoryInfo( soundgroup.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_SoundGroup_GetMuteFadeSpeed( soundgroup.i, *speed.f )
 FMOD_SoundGroup_GetName( soundgroup.i, *name.i, namelen.i )
 FMOD_SoundGroup_GetNumPlaying( soundgroup.i, *numplaying.i )
 FMOD_SoundGroup_GetNumSounds( soundgroup.i, *numsounds.i )
 FMOD_SoundGroup_GetSound( soundgroup.i, index.i, *sound.i )
 FMOD_SoundGroup_GetSystemObject( soundgroup.i, *system.i )
 FMOD_SoundGroup_GetUserData( soundgroup.i, *userdata.i )
 FMOD_SoundGroup_GetVolume( soundgroup.i, *volume.f )
 FMOD_SoundGroup_Release( soundgroup.i )
 FMOD_SoundGroup_SetMaxAudible( soundgroup.i, maxaudible.i )
 FMOD_SoundGroup_SetMaxAudibleBehavior( soundgroup.i, behavior.i )
 FMOD_SoundGroup_SetMuteFadeSpeed( soundgroup.i, speed.f )
 FMOD_SoundGroup_SetUserData( soundgroup.i, *userdata.i )
 FMOD_SoundGroup_SetVolume( soundgroup.i, volume.f )
 FMOD_SoundGroup_Stop( soundgroup.i )
 ;- DSP
 FMOD_DSP_AddInput( dsp.i, target.i )
 FMOD_DSP_DisconnectAll( dsp.i, inputs.i, outputs.i )
 FMOD_DSP_DisconnectFrom( dsp.i, target.i )
 FMOD_DSP_GetActive( dsp.i, *active.i )
 FMOD_DSP_GetBypass( dsp.i, *bypass.i )
 FMOD_DSP_GetDefaults( dsp.i, *frequency.f, *volume.f, *pan.f, *priority.i )
 FMOD_DSP_GetInfo( dsp.i, *name.b, *version.i, *channels.i, *configwidth.i, *configheight.i )
 FMOD_DSP_GetInput( dsp.i, index.i, *input_.i, *inputconnection.i )
 FMOD_DSP_GetMemoryInfo( dsp.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_DSP_GetNumInputs( dsp.i, *numinputs.i )
 FMOD_DSP_GetNumOutputs( dsp.i, *numoutputs.i )
 FMOD_DSP_GetNumParameters( dsp.i, *numparams.i )
 FMOD_DSP_GetOutput( dsp.i, index.i, *output.i, outputconnection.i )
 FMOD_DSP_GetParameter( dsp.i, index.i, *value.f, *valuestr.b, valuestrlen.i )
 FMOD_DSP_GetParameterInfo( dsp.i, index.i, *name.b, *label.b, *description.b, descriptionlen.i, *min.f, *max.f )
 FMOD_DSP_GetSpeakerActive( dsp.i, speaker.i, *active.i )
 FMOD_DSP_GetSystemObject( dsp.i, *system.i )
 FMOD_DSP_GetType( dsp.i, *type.i )
 FMOD_DSP_GetUserData( dsp.i, *userdata.i )
 FMOD_DSP_Release( dsp.i )
 FMOD_DSP_Remove( dsp.i )
 FMOD_DSP_Reset( dsp.i )
 FMOD_DSP_SetActive( dsp.i, active.i )
 FMOD_DSP_SetBypass( dsp.i, bypass.i )
 FMOD_DSP_SetDefaults( dsp.i, frequency.f, volume.f, pan.f, priority.i )
 FMOD_DSP_SetParameter( dsp.i, index.i, value.f )
 FMOD_DSP_SetSpeakerActive( dsp.i, speaker.i, active.i )
 FMOD_DSP_SetUserData( dsp.i, userdata.i )
 FMOD_DSP_ShowConfigDialog( dsp.i, hwnd.i, show.i )
 ;- DSP_Connection
 FMOD_DSPConnection_GetInput( dspconnection.i, *input.i )
 FMOD_DSPConnection_GetLevels( dspconnection.i, speaker.i, *levels.f, numlevels.i )
 FMOD_DSPConnection_GetMemoryInfo( dspconnection.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_DSPConnection_GetMix( dspconnection.i, *volume.f )
 FMOD_DSPConnection_GetOutput( dspconnection.i, *output.i )
 FMOD_DSPConnection_GetUserData( dspconnection.i, *userdata.i )
 FMOD_DSPConnection_SetLevels( dspconnection.i, speaker.i, *levels.f, numlevels.i )
 FMOD_DSPConnection_SetMix( dspconnection.i, volume.f )
 FMOD_DSPConnection_SetUserData( dspconnection.i, *userdata.i )
 ;- Geometry
 FMOD_Geometry_AddPolygon( geometry.i, directocclusion.f, reverbocclusion.f, doublesided.i, numvertices.i, *vertices.i, *polygonindex.i )
 FMOD_Geometry_GetActive( geometry.i, *active.i )
 FMOD_Geometry_GetMaxPolygons( geometry.i, *maxPolygons.i, *maxvertices.i )
 Geometry_GetMemoryInfo( geometry.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_Geometry_GetNumPolygons( geometry.i, *numPolygons.i )
 FMOD_Geometry_GetPolygonAttributes( geometry.i, index.i, *directocclusion.f, *reverbocclusion.f, *doublesided.i )
 FMOD_Geometry_GetPolygonNumVertices( geometry.i, index.i, *numvertices.i )
 FMOD_Geometry_GetPolygonVertex( geometry.i, index.i, vertexindex.i, *vertex.i )
 FMOD_Geometry_GetPosition( geometry.i, *position.i )
 FMOD_Geometry_GetRotation( geometry.i, *forward.i, *up.i )
 FMOD_Geometry_GetScale( geometry.i, *scale_.i )
 FMOD_Geometry_GetUserData( geometry.i, *userdata.i )
 FMOD_Geometry_Release( gemoetry.i )
 FMOD_Geometry_Save( geometry.i, _data.i, *dataSize.i )
 FMOD_Geometry_SetActive( geometry.i, active.i )
 FMOD_Geometry_SetPolygonAttributes( geometry.i, index.i, directocclusion.f, reverbocclusion.f, doublesided.i )
 FMOD_Geometry_SetPolygonVertex( geometry.i, index.i, vertexindex.i, *vertex.i )
 FMOD_Geometry_SetPosition( geometry.i, *position.i )
 FMOD_Geometry_SetRotation( geometry.i, *forward.i, *up.i )
 FMOD_Geometry_SetScale( geometry.i, *scale_.i )
 FMOD_Geometry_SetUserData( geometry.i, userdata.i )
 ;- Reverb
 FMOD_Reverb_Get3DAttributes( reverb.i, *position.i, *mindistance.f, *maxdistance.f )
 FMOD_Reverb_GetActive( reverb.i, *active.i )
 FMOD_Reverb_GetMemoryInfo( reverb.i, memorybits.i, event_memorybits.i, *memoryused.i, *memoryused_array.i )
 FMOD_Reverb_GetProperties( reverb.i, *properties.i )
 FMOD_Reverb_GetUserData( reverb.i, *userdata.i )
 FMOD_Reverb_Release( reverb.i )
 FMOD_Reverb_Set3DAttributes( reverb.i, position.i, mindistance.f, maxdistance.f )
 FMOD_Reverb_SetActive( reverb.i, active.i )
 FMOD_Reverb_SetProperties( reverb.i, *properties.i )
 FMOD_Reverb_SetUserData( reverb.i, *userdata.i )
 ;- Misc
 FMOD_Debug_GetLevel( *level.i )
 FMOD_Debug_SetLevel( level.i )
 FMOD_File_GetDiskBusy( *busy.i )
 FMOD_File_SetDiskBusy( busy.i )
 FMOD_Memory_GetStats( memory.i, *currentalloced.i, *maxalloced.i )
 FMOD_Memory_Initialize( poolmem.i, poollen.i, useralloc.i, userrealloc.i, userfree.i, memtypeflags.i )
 FMOD_System_Create( *system.i )
EndImport

Procedure.s FMOD_ErrorString( error.i )
 Protected result.s
 Select error
  Case #FMOD_OK:                         result = "OK"
  Case #FMOD_ERR_ALREADYLOCKED:          result = "Tried to call lock a second time before unlock was called. "
  Case #FMOD_ERR_BADCOMMAND:             result = "Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound). "
  Case #FMOD_ERR_CDDA_DRIVERS:           result = "Neither NTSCSI nor ASPI could be initialised. "
  Case #FMOD_ERR_CDDA_INIT:              result = "An error occurred while initialising the CDDA subsystem. "
  Case #FMOD_ERR_CDDA_INVALID_DEVICE:    result = "Couldn;t find the specified device. "
  Case #FMOD_ERR_CDDA_NOAUDIO:           result = "No audio tracks on the specified disc. "
  Case #FMOD_ERR_CDDA_NODEVICES:         result = "No CD/DVD devices were found. "
  Case #FMOD_ERR_CDDA_NODISC:            result = "No disc present in the specified drive. "
  Case #FMOD_ERR_CDDA_READ:              result = "A CDDA read error occurred. "
  Case #FMOD_ERR_CHANNEL_ALLOC:          result = "Error trying to allocate a channel. "
  Case #FMOD_ERR_CHANNEL_STOLEN:         result = "The specified channel has been reused to play another sound. "
  Case #FMOD_ERR_COM:                    result = "A Win32 COM related error occured. COM failed to initialize or a QueryInterface failed meaning a Windows codec or driver was not installed properly. "
  Case #FMOD_ERR_DMA:                    result = "DMA Failure.  See debug output for more information. "
  Case #FMOD_ERR_DSP_CONNECTION:         result = "DSP connection error.  Connection possibly caused a cyclic dependancy. "
  Case #FMOD_ERR_DSP_FORMAT:             result = "DSP Format error.  A DSP unit may have attempted to connect to this network with the wrong format. "
  Case #FMOD_ERR_DSP_NOTFOUND:           result = "DSP connection error.  Couldn;t find the DSP unit specified. "
  Case #FMOD_ERR_DSP_RUNNING:            result = "DSP error.  Cannot perform this operation while the network is in the middle of running.  This will most likely happen if a connection or disconnection is attempted in a DSP callback. "
  Case #FMOD_ERR_DSP_TOOMANYCONNECTIONS: result = "DSP connection error.  The unit being connected to or disconnected should only have 1 input or output. "
  Case #FMOD_ERR_FILE_BAD:               result = "Error loading file. "
  Case #FMOD_ERR_FILE_COULDNOTSEEK:      result = "Couldn;t perform seek operation.  This is a limitation of the medium (ie netstreams) or the file format. "
  Case #FMOD_ERR_FILE_EOF:               result = "End of file unexpectedly reached while trying to read essential data (truncated data?). "
  Case #FMOD_ERR_FILE_NOTFOUND:          result = "File not found. "
  Case #FMOD_ERR_FILE_UNWANTED:          result = "Unwanted file access occured."
  Case #FMOD_ERR_FORMAT:                 result = "Unsupported file or audio format. "
  Case #FMOD_ERR_HTTP:                   result = "A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere. "
  Case #FMOD_ERR_HTTP_ACCESS:            result = "The specified resource requires authentication or is forbidden. "
  Case #FMOD_ERR_HTTP_PROXY_AUTH:        result = "Proxy authentication is required to access the specified resource. "
  Case #FMOD_ERR_HTTP_SERVER_ERROR:      result = "A HTTP server error occurred. "
  Case #FMOD_ERR_HTTP_TIMEOUT:           result = "The HTTP request timed out. "
  Case #FMOD_ERR_INITIALIZATION:         result = "FMOD was not initialized correctly to support this function. "
  Case #FMOD_ERR_INITIALIZED:            result = "Cannot call this command after System::init. "
  Case #FMOD_ERR_INTERNAL:               result = "An error occured that wasnt supposed to.  Contact support. "
  Case #FMOD_ERR_INVALID_ADDRESS:        result = "On Xbox 360, this memory address passed to FMOD must be physical, (ie allocated with XPhysicalAlloc.)"
  Case #FMOD_ERR_INVALID_FLOAT:          result = "Value passed in was a NaN, Inf or denormalized float."
  Case #FMOD_ERR_INVALID_HANDLE:         result = "An invalid object handle was used. "
  Case #FMOD_ERR_INVALID_PARAM:          result = "An invalid parameter was passed to this function. "
  Case #FMOD_ERR_INVALID_SPEAKER:        result = "An invalid speaker was passed to this function based on the current speaker mode. "
  Case #FMOD_ERR_INVALID_VECTOR:         result = "The vectors passed in are not unit length, or perpendicular."
  Case #FMOD_ERR_IRX:                    result = "PS2 only.  fmodex.irx failed to initialize.  This is most likely because you forgot to load it. "
  Case #FMOD_ERR_MEMORY:                 result = "Not enough memory or resources. "
  Case #FMOD_ERR_MEMORY_IOP:             result = "PS2 only.  Not enough memory or resources on PlayStation 2 IOP ram. "
  Case #FMOD_ERR_MEMORY_SRAM:            result = "Not enough memory or resources on console sound ram. "
  Case #FMOD_ERR_MEMORY_CANTPOINT:       result = "Can;t use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used."
  Case #FMOD_ERR_NEEDS2D:                result = "Tried to call a command on a 3d sound when the command was meant for 2d sound. "
  Case #FMOD_ERR_NEEDS3D:                result = "Tried to call a command on a 2d sound when the command was meant for 3d sound. "
  Case #FMOD_ERR_NEEDSHARDWARE:          result = "Tried to use a feature that requires hardware support.  (ie trying to play a VAG compressed sound in software on PS2). "
  Case #FMOD_ERR_NEEDSSOFTWARE:          result = "Tried to use a feature that requires the software engine.  Software engine has either been turned off, or command was executed on a hardware channel which does not support this feature. "
  Case #FMOD_ERR_NET_CONNECT:            result = "Couldn;t connect to the specified host. "
  Case #FMOD_ERR_NET_SOCKET_ERROR:       result = "A socket error occurred.  This is a catch-all for socket-related errors not listed elsewhere. "
  Case #FMOD_ERR_NET_URL:                result = "The specified URL couldn;t be resolved. "
  Case #FMOD_ERR_NOTREADY:               result = "Operation could not be performed because specified sound is not ready. "
  Case #FMOD_ERR_OUTPUT_ALLOCATED:       result = "Error initializing output device, but more specifically, the output device is already in use and cannot be reused. "
  Case #FMOD_ERR_OUTPUT_CREATEBUFFER:    result = "Error creating hardware sound buffer. "
  Case #FMOD_ERR_OUTPUT_DRIVERCALL:      result = "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted. "
  Case #FMOD_ERR_OUTPUT_FORMAT:          result = "Soundcard does not support the minimum features needed for this soundsystem (16bit stereo output). "
  Case #FMOD_ERR_OUTPUT_INIT:            result = "Error initializing output device. "
  Case #FMOD_ERR_OUTPUT_NOHARDWARE:      result = "FMOD_HARDWARE was specified but the sound card does not have the resources nescessary to play it. "
  Case #FMOD_ERR_OUTPUT_NOSOFTWARE:      result = "Attempted to create a software sound but no software channels were specified in System::init. "
  Case #FMOD_ERR_PAN:                    result = "Panning only works with mono or stereo sound sources. "
  Case #FMOD_ERR_PLUGIN:                 result = "An unspecified error has been  = ed from a 3rd party plugin. "
  Case #FMOD_ERR_PLUGIN_MISSING:         result = "A requested output, dsp unit type or codec was not available. "
  Case #FMOD_ERR_PLUGIN_RESOURCE:        result = "A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback) "
  Case #FMOD_ERR_RECORD:                 result = "An error occured trying to initialize the recording device. "
  Case #FMOD_ERR_REVERB_INSTANCE:        result = "Specified Instance in FMOD_REVERB_PROPERTIES couldn;t be set. Most likely because another application has locked the EAX4 FX slot. "
  Case #FMOD_ERR_SUBSOUNDS:              result = "The error occured because the sound referenced contains subsounds.  (ie you cannot play the parent sound as a static sample, only its subsounds.) "
  Case #FMOD_ERR_SUBSOUND_ALLOCATED:     result = "This subsound is already being used by another sound, you cannot have more than one parent to a sound.  Null out the other parent;s entry first. "
  Case #FMOD_ERR_TAGNOTFOUND:            result = "The specified tag could not be found or there are no tags. "
  Case #FMOD_ERR_TOOMANYCHANNELS:        result = "The sound created exceeds the allowable input channel count.  This can be increased using the maxinputchannels parameter in System::setSoftwareFormat."
  Case #FMOD_ERR_UNIMPLEMENTED:          result = "Something in FMOD hasn;t been implemented when it should be! contact support! "
  Case #FMOD_ERR_UNINITIALIZED:          result = "This command failed because System::init or System::setDriver was not called. "
  Case #FMOD_ERR_UNSUPPORTED:            result = "A command issued was not supported by this object.  Possibly a plugin without certain callbacks specified. "
  Case #FMOD_ERR_UPDATE:                 result = "On PS2, System::update was called twice in a row when System::updateFinished must be called first. "
  Case #FMOD_ERR_VERSION:                result = "The version number of this file format is not supported. "
  Case #FMOD_ERR_EVENT_FAILED:           result = "An Event failed to be retrieved, most likely due to ;just fail' being specified as the max playbacks behaviour."
  Case #FMOD_ERR_EVENT_INTERNAL:         result = "An error occured that wasn;t supposed to.  See debug log for reason."
  Case #FMOD_ERR_EVENT_NAMECONFLICT:     result = "A category with the same name already exists."
  Case #FMOD_ERR_EVENT_NOTFOUND:         result = "The requested event, event group, event category or event property could not be found."
  Default:                               result = "Unknown error."
 EndSelect
 ProcedureReturn result
EndProcedure
__________________________________________________
Leerzeichen hinzugefügt, so dass umgebrochen wird
19.03.2015
RSBasic
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
BSP
Beiträge: 188
Registriert: 01.02.2009 14:04

Re: fmodex include

Beitrag von BSP »

Hallo.

Ich habe die Include von Kai mal ein wenig an die neueste fmodex.dll , fmodex_vc % PB.51 angepasst.
Allerdings nicht vollständig.
Und ich hoffe, ich habe es soweit richtig gemacht.
Sollte Kai oder jemannd anderes die Datei mal vollständig überarbeitet haben,
nehme ich meine Version hier wieder heraus.
Bei der bisherigen include hat PB bei Zeigern immer gemeldet:
"Native Typen können nicht mit Zeigern verwendet werden."
Darum habe ich hauptsächlich die Zusätze .i , .f usw. heraus genommen.
Ausserdem gibt es in der neuen fmodex anscheinend Erweiterungen in den Funktionen.
Weitere Parameter und so.
Bitte nich schimpfen, das nicht alles perfekt ist.
Ich bin halt kein Profi in solchen dingen.

Gruß: Bernd

Code: Alles auswählen

; Forum:
;http://forums.purebasic.com/german/viewtopic.php?f=8&t=18082&hilit=fmod+include+file&sid=f8554dcf49dc8ea4db14c5e531e2e91c

;fmodex 4.20.00 Include
;fmodex.dll
;fmodex.lib
;fmodex.pbi

;LastEdit: 31.08.2008, Kai

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Enumeration
Enumeration ; FMOD_CHANNELINDEX
 #FMOD_CHANNEL_FREE  = -1
 #FMOD_CHANNEL_REUSE = -2
EndEnumeration

Enumeration ; FMOD_CHANNEL_CALLBACKTYPE
 #FMOD_CHANNEL_CALLBACKTYPE_END
 #FMOD_CHANNEL_CALLBACKTYPE_VIRTUALVOICE
 #FMOD_CHANNEL_CALLBACKTYPE_SYNCPOINT
 #FMOD_CHANNEL_CALLBACKTYPE_OCCLUSION
 #FMOD_CHANNEL_CALLBACKTYPE_MAX
EndEnumeration

Enumeration ; FMOD_DELAYTYPE
 #FMOD_DELAYTYPE_END_MS
 #FMOD_DELAYTYPE_DSPCLOCK_START
 #FMOD_DELAYTYPE_DSPCLOCK_END
 #FMOD_DELAYTYPE_DSPCLOCK_PAUSE
 #FMOD_DELAYTYPE_MAX
EndEnumeration

Enumeration ; FMOD_DSP_CHORUS
 #FMOD_DSP_CHORUS_DRYMIX
 #FMOD_DSP_CHORUS_WETMIX1
 #FMOD_DSP_CHORUS_WETMIX2
 #FMOD_DSP_CHORUS_WETMIX3
 #FMOD_DSP_CHORUS_DELAY
 #FMOD_DSP_CHORUS_RATE
 #FMOD_DSP_CHORUS_DEPTH
 #FMOD_DSP_CHORUS_FEEDBACK
EndEnumeration

Enumeration ; FMOD_DSP_COMPRESSOR
 #FMOD_DSP_COMPRESSOR_THRESHOLD
 #FMOD_DSP_COMPRESSOR_ATTACK
 #FMOD_DSP_COMPRESSOR_RELEASE
 #FMOD_DSP_COMPRESSOR_GAINMAKEUP
EndEnumeration

Enumeration ; FMOD_DSP_DISTORTION
 #FMOD_DSP_DISTORTION_LEVEL
EndEnumeration

Enumeration ; FMOD_DSP_ECHO
 #FMOD_DSP_ECHO_DELAY
 #FMOD_DSP_ECHO_DECAYRATIO
 #FMOD_DSP_ECHO_MAXCHANNELS
 #FMOD_DSP_ECHO_DRYMIX
 #FMOD_DSP_ECHO_WETMIX
EndEnumeration

Enumeration ; FMOD_DSP_FFT_WINDOW
 #FMOD_DSP_FFT_WINDOW_RECT
 #FMOD_DSP_FFT_WINDOW_TRIANGLE
 #FMOD_DSP_FFT_WINDOW_HAMMING
 #FMOD_DSP_FFT_WINDOW_HANNING
 #FMOD_DSP_FFT_WINDOW_BLACKMAN
 #FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
 #FMOD_DSP_FFT_WINDOW_MAX
EndEnumeration

Enumeration ; FMOD_DSP_FLANGE
 #FMOD_DSP_FLANGE_DRYMIX
 #FMOD_DSP_FLANGE_WETMIX
 #FMOD_DSP_FLANGE_DEPTH
 #FMOD_DSP_FLANGE_RATE
EndEnumeration

Enumeration ; FMOD_DSP_HIGHPASS
 #FMOD_DSP_HIGHPASS_CUTOFF
 #FMOD_DSP_HIGHPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_ITECHO
 #FMOD_DSP_ITECHO_WETDRYMIX
 #FMOD_DSP_ITECHO_FEEDBACK
 #FMOD_DSP_ITECHO_LEFTDELAY
 #FMOD_DSP_ITECHO_RIGHTDELAY
 #FMOD_DSP_ITECHO_PANDELAY
EndEnumeration

Enumeration ; FMOD_DSP_ITLOWPASS
 #FMOD_DSP_ITLOWPASS_CUTOFF
 #FMOD_DSP_ITLOWPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_LOWPASS
 #FMOD_DSP_LOWPASS_CUTOFF
 #FMOD_DSP_LOWPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_LOWPASS_SIMPLE
 #FMOD_DSP_LOWPASS_SIMPLE_CUTOFF
EndEnumeration

Enumeration ; FMOD_DSP_NORMALIZE
 #FMOD_DSP_NORMALIZE_FADETIME
 #FMOD_DSP_NORMALIZE_THRESHHOLD
 #FMOD_DSP_NORMALIZE_MAXAMP
EndEnumeration

Enumeration ; FMOD_DSP_OSCILLATOR
 #FMOD_DSP_OSCILLATOR_TYPE
 #FMOD_DSP_OSCILLATOR_RATE
EndEnumeration

Enumeration ; FMOD_DSP_PARAMEQ
 #FMOD_DSP_PARAMEQ_CENTER
 #FMOD_DSP_PARAMEQ_BANDWIDTH
 #FMOD_DSP_PARAMEQ_GAIN
EndEnumeration

Enumeration ; FMOD_DSP_PITCHSHIFT
 #FMOD_DSP_PITCHSHIFT_PITCH
 #FMOD_DSP_PITCHSHIFT_FFTSIZE
 #FMOD_DSP_PITCHSHIFT_OVERLAP
 #FMOD_DSP_PITCHSHIFT_MAXCHANNELS
EndEnumeration

Enumeration ; FMOD_DSP_RESAMPLER
 #FMOD_DSP_RESAMPLER_NOINTERP
 #FMOD_DSP_RESAMPLER_LINEAR
 #FMOD_DSP_RESAMPLER_CUBIC
 #FMOD_DSP_RESAMPLER_SPLINE
 #FMOD_DSP_RESAMPLER_MAX
EndEnumeration

Enumeration ; FMOD_DSP_REVERB
 #FMOD_DSP_REVERB_ROOMSIZE
 #FMOD_DSP_REVERB_DAMP
 #FMOD_DSP_REVERB_WETMIX
 #FMOD_DSP_REVERB_DRYMIX
 #FMOD_DSP_REVERB_WIDTH
 #FMOD_DSP_REVERB_MODE
EndEnumeration

Enumeration ; FMOD_DSP_SFXREVERB
 #FMOD_DSP_SFXREVERB_DRYLEVEL
 #FMOD_DSP_SFXREVERB_ROOM
 #FMOD_DSP_SFXREVERB_ROOMHF
 #FMOD_DSP_SFXREVERB_ROOMROLLOFFFACTOR
 #FMOD_DSP_SFXREVERB_DECAYTIME
 #FMOD_DSP_SFXREVERB_DECAYHFRATIO
 #FMOD_DSP_SFXREVERB_REFLECTIONSLEVEL
 #FMOD_DSP_SFXREVERB_REFLECTIONSDELAY
 #FMOD_DSP_SFXREVERB_REVERBLEVEL
 #FMOD_DSP_SFXREVERB_REVERBDELAY
 #FMOD_DSP_SFXREVERB_DIFFUSION
 #FMOD_DSP_SFXREVERB_DENSITY
 #FMOD_DSP_SFXREVERB_HFREFERENCE
 #FMOD_DSP_SFXREVERB_ROOMLF
 #FMOD_DSP_SFXREVERB_LFREFERENCE
EndEnumeration

Enumeration ; FMOD_DSP_TYPE
 #FMOD_DSP_TYPE_UNKNOWN
 #FMOD_DSP_TYPE_MIXER
 #FMOD_DSP_TYPE_OSCILLATOR
 #FMOD_DSP_TYPE_LOWPASS
 #FMOD_DSP_TYPE_ITLOWPASS
 #FMOD_DSP_TYPE_HIGHPASS
 #FMOD_DSP_TYPE_ECHO
 #FMOD_DSP_TYPE_FLANGE
 #FMOD_DSP_TYPE_DISTORTION
 #FMOD_DSP_TYPE_NORMALIZE
 #FMOD_DSP_TYPE_PARAMEQ
 #FMOD_DSP_TYPE_PITCHSHIFT
 #FMOD_DSP_TYPE_CHORUS
 #FMOD_DSP_TYPE_REVERB
 #FMOD_DSP_TYPE_VSTPLUGIN
 #FMOD_DSP_TYPE_WINAMPPLUGIN
 #FMOD_DSP_TYPE_ITECHO
 #FMOD_DSP_TYPE_COMPRESSOR
 #FMOD_DSP_TYPE_SFXREVERB
 #FMOD_DSP_TYPE_LOWPASS_SIMPLE
EndEnumeration

Enumeration ; FMOD_EVENTPROPERTY_TYPE
 #FMOD_EVENTPROPERTY_TYPE_INT
 #FMOD_EVENTPROPERTY_TYPE_FLOAT
 #FMOD_EVENTPROPERTY_TYPE_STRING
EndEnumeration

Enumeration ; FMOD_MEMTYPE
 #FMOD_MEMTYPE_OTHER
 #FMOD_MEMTYPE_STRING
 #FMOD_MEMTYPE_SYSTEM
 #FMOD_MEMTYPE_RECORDBUFFER
 #FMOD_MEMTYPE_PLUGINS
 #FMOD_MEMTYPE_OUTPUTMODULE
 #FMOD_MEMTYPE_SPEAKERLEVELSPOOL
 #FMOD_MEMTYPE_CHANNELI
 #FMOD_MEMTYPE_CHANNELPOOL
 #FMOD_MEMTYPE_CHANNELREAL
 #FMOD_MEMTYPE_CHANNELGROUP
 #FMOD_MEMTYPE_SOUNDI
 #FMOD_MEMTYPE_SOUNDGROUP
 #FMOD_MEMTYPE_SAMPLE
 #FMOD_MEMTYPE_DSPCONNECTION
 #FMOD_MEMTYPE_DSPCONNECTIONPOOL
 #FMOD_MEMTYPE_DSPI
 #FMOD_MEMTYPE_DSPCODEC
 #FMOD_MEMTYPE_DSPUNIT
 #FMOD_MEMTYPE_REVERBI
 #FMOD_MEMTYPE_REVERBCHANNELPROPS
 #FMOD_MEMTYPE_GEOMETRY
 #FMOD_MEMTYPE_EVENTSYSTEM
 #FMOD_MEMTYPE_MUSICSYSTEM
 #FMOD_MEMTYPE_FEV
 #FMOD_MEMTYPE_MEMORYFSB
 #FMOD_MEMTYPE_EVENTPROJECT
 #FMOD_MEMTYPE_EVENTGROUPI
 #FMOD_MEMTYPE_SOUNDBANKCLASS
 #FMOD_MEMTYPE_SOUNDBANKLIST
 #FMOD_MEMTYPE_STREAMINSTANCE
 #FMOD_MEMTYPE_SOUNDDEFCLASS
 #FMOD_MEMTYPE_SOUNDDEFDEFCLASS
 #FMOD_MEMTYPE_SOUNDDEFPOOL
 #FMOD_MEMTYPE_REVERBDEF
 #FMOD_MEMTYPE_EVENTREVERB
 #FMOD_MEMTYPE_USERPROPERTY
 #FMOD_MEMTYPE_EVENTINSTANCE
 #FMOD_MEMTYPE_EVENTINSTANCE_COMPLEX
 #FMOD_MEMTYPE_EVENTINSTANCE_SIMPLE
 #FMOD_MEMTYPE_EVENTINSTANCE_LAYER
 #FMOD_MEMTYPE_EVENTINSTANCE_SOUND
 #FMOD_MEMTYPE_EVENTENVELOPE
 #FMOD_MEMTYPE_EVENTENVELOPEDEF
 #FMOD_MEMTYPE_EVENTPARAMETER
 #FMOD_MEMTYPE_EVENTCATEGORY
 #FMOD_MEMTYPE_EVENTENVELOPEPOINT
 #FMOD_MEMTYPE_MAX
EndEnumeration

Enumeration ; FMOD_OPENSTATE
 #FMOD_OPENSTATE_READY
 #FMOD_OPENSTATE_LOADING
 #FMOD_OPENSTATE_ERROR
 #FMOD_OPENSTATE_CONNECTING
 #FMOD_OPENSTATE_BUFFERING
 #FMOD_OPENSTATE_SEEKING
 #FMOD_OPENSTATE_STREAMING
 #FMOD_OPENSTATE_MAX
EndEnumeration

Enumeration ; FMOD_OUTPUTTYPE
 #FMOD_OUTPUTTYPE_AUTODETECT
 #FMOD_OUTPUTTYPE_UNKNOWN
 #FMOD_OUTPUTTYPE_NOSOUND
 #FMOD_OUTPUTTYPE_WAVWRITER
 #FMOD_OUTPUTTYPE_NOSOUND_NRT
 #FMOD_OUTPUTTYPE_WAVWRITER_NRT
 #FMOD_OUTPUTTYPE_DSOUND
 #FMOD_OUTPUTTYPE_WINMM
 #FMOD_OUTPUTTYPE_OPENAL
 #FMOD_OUTPUTTYPE_WASAPI
 #FMOD_OUTPUTTYPE_ASIO
 #FMOD_OUTPUTTYPE_OSS
 #FMOD_OUTPUTTYPE_ALSA
 #FMOD_OUTPUTTYPE_ESD
 #FMOD_OUTPUTTYPE_SOUNDMANAGER
 #FMOD_OUTPUTTYPE_COREAUDIO
 #FMOD_OUTPUTTYPE_XBOX
 #FMOD_OUTPUTTYPE_PS2
 #FMOD_OUTPUTTYPE_PS3
 #FMOD_OUTPUTTYPE_GC
 #FMOD_OUTPUTTYPE_XBOX360
 #FMOD_OUTPUTTYPE_PSP
 #FMOD_OUTPUTTYPE_WII
 #FMOD_OUTPUTTYPE_MAX
EndEnumeration

Enumeration ; FMOD_PLUGINTYPE
 #FMOD_PLUGINTYPE_OUTPUT
 #FMOD_PLUGINTYPE_CODEC
 #FMOD_PLUGINTYPE_DSP
 #FMOD_PLUGINTYPE_MAX
EndEnumeration

Enumeration ; FMOD_RESULT
  #FMOD_OK
  #FMOD_ERR_ALREADYLOCKED
  #FMOD_ERR_BADCOMMAND
  #FMOD_ERR_CDDA_DRIVERS
  #FMOD_ERR_CDDA_INIT
  #FMOD_ERR_CDDA_INVALID_DEVICE
  #FMOD_ERR_CDDA_NOAUDIO
  #FMOD_ERR_CDDA_NODEVICES
  #FMOD_ERR_CDDA_NODISC
  #FMOD_ERR_CDDA_READ
  #FMOD_ERR_CHANNEL_ALLOC
  #FMOD_ERR_CHANNEL_STOLEN
  #FMOD_ERR_COM
  #FMOD_ERR_DMA
  #FMOD_ERR_DSP_CONNECTION
  #FMOD_ERR_DSP_FORMAT
  #FMOD_ERR_DSP_NOTFOUND
  #FMOD_ERR_DSP_RUNNING
  #FMOD_ERR_DSP_TOOMANYCONNECTIONS
  #FMOD_ERR_FILE_BAD
  #FMOD_ERR_FILE_COULDNOTSEEK
  #FMOD_ERR_FILE_DISKEJECTED
  #FMOD_ERR_FILE_EOF
  #FMOD_ERR_FILE_NOTFOUND
  #FMOD_ERR_FILE_UNWANTED
  #FMOD_ERR_FORMAT
  #FMOD_ERR_HTTP
  #FMOD_ERR_HTTP_ACCESS
  #FMOD_ERR_HTTP_PROXY_AUTH
  #FMOD_ERR_HTTP_SERVER_ERROR
  #FMOD_ERR_HTTP_TIMEOUT
  #FMOD_ERR_INITIALIZATION
  #FMOD_ERR_INITIALIZED
  #FMOD_ERR_INTERNAL
  #FMOD_ERR_INVALID_ADDRESS
  #FMOD_ERR_INVALID_FLOAT
  #FMOD_ERR_INVALID_HANDLE
  #FMOD_ERR_INVALID_PARAM
  #FMOD_ERR_INVALID_POSITION
  #FMOD_ERR_INVALID_SPEAKER
  #FMOD_ERR_INVALID_SYNCPOINT
  #FMOD_ERR_INVALID_VECTOR
  #FMOD_ERR_MAXAUDIBLE
  #FMOD_ERR_MEMORY
  #FMOD_ERR_MEMORY_CANTPOINT
  #FMOD_ERR_MEMORY_SRAM
  #FMOD_ERR_NEEDS2D
  #FMOD_ERR_NEEDS3D
  #FMOD_ERR_NEEDSHARDWARE
  #FMOD_ERR_NEEDSSOFTWARE
  #FMOD_ERR_NET_CONNECT
  #FMOD_ERR_NET_SOCKET_ERROR
  #FMOD_ERR_NET_URL
  #FMOD_ERR_NET_WOULD_BLOCK
  #FMOD_ERR_NOTREADY
  #FMOD_ERR_OUTPUT_ALLOCATED
  #FMOD_ERR_OUTPUT_CREATEBUFFER
  #FMOD_ERR_OUTPUT_DRIVERCALL
  #FMOD_ERR_OUTPUT_ENUMERATION
  #FMOD_ERR_OUTPUT_FORMAT
  #FMOD_ERR_OUTPUT_INIT
  #FMOD_ERR_OUTPUT_NOHARDWARE
  #FMOD_ERR_OUTPUT_NOSOFTWARE
  #FMOD_ERR_PAN
  #FMOD_ERR_PLUGIN
  #FMOD_ERR_PLUGIN_INSTANCES
  #FMOD_ERR_PLUGIN_MISSING
  #FMOD_ERR_PLUGIN_RESOURCE
  #FMOD_ERR_PRELOADED
  #FMOD_ERR_PROGRAMMERSOUND
  #FMOD_ERR_RECORD
  #FMOD_ERR_REVERB_INSTANCE
  #FMOD_ERR_SUBSOUND_ALLOCATED
  #FMOD_ERR_SUBSOUND_CANTMOVE
  #FMOD_ERR_SUBSOUND_MODE
  #FMOD_ERR_SUBSOUNDS
  #FMOD_ERR_TAGNOTFOUND
  #FMOD_ERR_TOOMANYCHANNELS
  #FMOD_ERR_UNIMPLEMENTED
  #FMOD_ERR_UNINITIALIZED
  #FMOD_ERR_UNSUPPORTED
  #FMOD_ERR_UPDATE
  #FMOD_ERR_VERSION
  #FMOD_ERR_EVENT_FAILED
  #FMOD_ERR_EVENT_INFOONLY
  #FMOD_ERR_EVENT_INTERNAL
  #FMOD_ERR_EVENT_MAXSTREAMS
  #FMOD_ERR_EVENT_MISMATCH
  #FMOD_ERR_EVENT_NAMECONFLICT
  #FMOD_ERR_EVENT_NOTFOUND
  #FMOD_ERR_EVENT_NEEDSSIMPLE
  #FMOD_ERR_EVENT_GUIDCONFLICT
  #FMOD_ERR_EVENT_ALREADY_LOADED
  #FMOD_ERR_MUSIC_UNINITIALIZED
  #FMOD_ERR_MUSIC_NOTFOUND
  #FMOD_ERR_MUSIC_NOCALLBACK


;  #FMOD_OK
;  #FMOD_ERR_ALREADYLOCKED
;  #FMOD_ERR_BADCOMMAND
;  #FMOD_ERR_CDDA_DRIVERS
;  #FMOD_ERR_CDDA_INIT
;  #FMOD_ERR_CDDA_INVALID_DEVICE
;  #FMOD_ERR_CDDA_NOAUDIO
;  #FMOD_ERR_CDDA_NODEVICES
;  #FMOD_ERR_CDDA_NODISC
;  #FMOD_ERR_CDDA_READ
;  #FMOD_ERR_CHANNEL_ALLOC
;  #FMOD_ERR_CHANNEL_STOLEN
;  #FMOD_ERR_COM
;  #FMOD_ERR_DMA
;  #FMOD_ERR_DSP_CONNECTION
;  #FMOD_ERR_DSP_FORMAT
;  #FMOD_ERR_DSP_NOTFOUND
;  #FMOD_ERR_DSP_RUNNING
;  #FMOD_ERR_DSP_TOOMANYCONNECTIONS
;  #FMOD_ERR_FILE_BAD
;  #FMOD_ERR_FILE_COULDNOTSEEK
;  #FMOD_ERR_FILE_EOF
;  #FMOD_ERR_FILE_NOTFOUND
;  #FMOD_ERR_FILE_UNWANTED
;  #FMOD_ERR_FORMAT
;  #FMOD_ERR_HTTP
;  #FMOD_ERR_HTTP_ACCESS
;  #FMOD_ERR_HTTP_PROXY_AUTH
;  #FMOD_ERR_HTTP_SERVER_ERROR
;  #FMOD_ERR_HTTP_TIMEOUT
;  #FMOD_ERR_INITIALIZATION
;  #FMOD_ERR_INITIALIZED
;  #FMOD_ERR_INTERNAL
;  #FMOD_ERR_INVALID_ADDRESS
;  #FMOD_ERR_INVALID_FLOAT
;  #FMOD_ERR_INVALID_HANDLE
;  #FMOD_ERR_INVALID_PARAM
;  #FMOD_ERR_INVALID_SPEAKER
;  #FMOD_ERR_INVALID_VECTOR
;  #FMOD_ERR_IRX
;  #FMOD_ERR_MEMORY
;  #FMOD_ERR_MEMORY_IOP
;  #FMOD_ERR_MEMORY_SRAM
;  #FMOD_ERR_MEMORY_CANTPOINT
;  #FMOD_ERR_NEEDS2D
;  #FMOD_ERR_NEEDS3D
;  #FMOD_ERR_NEEDSHARDWARE
;  #FMOD_ERR_NEEDSSOFTWARE
;  #FMOD_ERR_NET_CONNECT
;  #FMOD_ERR_NET_SOCKET_ERROR
;  #FMOD_ERR_NET_URL
;  #FMOD_ERR_NOTREADY
;  #FMOD_ERR_OUTPUT_ALLOCATED
;  #FMOD_ERR_OUTPUT_CREATEBUFFER
;  #FMOD_ERR_OUTPUT_DRIVERCALL
;  #FMOD_ERR_OUTPUT_FORMAT
;  #FMOD_ERR_OUTPUT_INIT
;  #FMOD_ERR_OUTPUT_NOHARDWARE
;  #FMOD_ERR_OUTPUT_NOSOFTWARE
;  #FMOD_ERR_PAN
;  #FMOD_ERR_PLUGIN
;  #FMOD_ERR_PLUGIN_MISSING
;  #FMOD_ERR_PLUGIN_RESOURCE
;  #FMOD_ERR_RECORD
;  #FMOD_ERR_REVERB_INSTANCE
;  #FMOD_ERR_SUBSOUNDS
;  #FMOD_ERR_SUBSOUND_ALLOCATED
;  #FMOD_ERR_TAGNOTFOUND
;  #FMOD_ERR_TOOMANYCHANNELS
;  #FMOD_ERR_UNIMPLEMENTED
;  #FMOD_ERR_UNINITIALIZED
;  #FMOD_ERR_UNSUPPORTED
;  #FMOD_ERR_UPDATE
;  #FMOD_ERR_VERSION
;  #FMOD_ERR_EVENT_FAILED
;  #FMOD_ERR_EVENT_INTERNAL
;  #FMOD_ERR_EVENT_NAMECONFLICT
;  #FMOD_ERR_EVENT_NOTFOUND
EndEnumeration

Enumeration ; FMOD_SOUNDGROUP_BEHAVIOR
 #FMOD_SOUNDGROUP_BEHAVIOR_FAIL
 #FMOD_SOUNDGROUP_BEHAVIOR_MUTE
 #FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST
 #FMOD_SOUNDGROUP_BEHAVIOR_MAX
EndEnumeration

Enumeration ; FMOD_SOUND_FORMAT
 #FMOD_SOUND_FORMAT_NONE
 #FMOD_SOUND_FORMAT_PCM8
 #FMOD_SOUND_FORMAT_PCM16
 #FMOD_SOUND_FORMAT_PCM24
 #FMOD_SOUND_FORMAT_PCM32
 #FMOD_SOUND_FORMAT_PCMFLOAT
 #FMOD_SOUND_FORMAT_GCADPCM
 #FMOD_SOUND_FORMAT_IMAADPCM
 #FMOD_SOUND_FORMAT_VAG
 #FMOD_SOUND_FORMAT_XMA
 #FMOD_SOUND_FORMAT_MPEG
 #FMOD_SOUND_FORMAT_MAX
EndEnumeration

Enumeration ; FMOD_SOUND_TYPE
 #FMOD_SOUND_TYPE_UNKNOWN
 #FMOD_SOUND_TYPE_AAC
 #FMOD_SOUND_TYPE_AIFF
 #FMOD_SOUND_TYPE_ASF
 #FMOD_SOUND_TYPE_AT3
 #FMOD_SOUND_TYPE_CDDA
 #FMOD_SOUND_TYPE_DLS
 #FMOD_SOUND_TYPE_FLAC
 #FMOD_SOUND_TYPE_FSB
 #FMOD_SOUND_TYPE_GCADPCM
 #FMOD_SOUND_TYPE_IT
 #FMOD_SOUND_TYPE_MIDI
 #FMOD_SOUND_TYPE_MOD
 #FMOD_SOUND_TYPE_MPEG
 #FMOD_SOUND_TYPE_OGGVORBIS
 #FMOD_SOUND_TYPE_PLAYLIST
 #FMOD_SOUND_TYPE_RAW
 #FMOD_SOUND_TYPE_S3M
 #FMOD_SOUND_TYPE_SF2
 #FMOD_SOUND_TYPE_USER
 #FMOD_SOUND_TYPE_WAV
 #FMOD_SOUND_TYPE_XM
 #FMOD_SOUND_TYPE_XMA
 #FMOD_SOUND_TYPE_VAG
EndEnumeration

Enumeration ; FMOD_SPEAKER
 #FMOD_SPEAKER_FRONT_LEFT
 #FMOD_SPEAKER_FRONT_RIGHT
 #FMOD_SPEAKER_FRONT_CENTER
 #FMOD_SPEAKER_LOW_FREQUENCY
 #FMOD_SPEAKER_BACK_LEFT
 #FMOD_SPEAKER_BACK_RIGHT
 #FMOD_SPEAKER_SIDE_LEFT
 #FMOD_SPEAKER_SIDE_RIGHT
 #FMOD_SPEAKER_MAX
 #FMOD_SPEAKER_MONO
 #FMOD_SPEAKER_NULL
 #FMOD_SPEAKER_SBL
 #FMOD_SPEAKER_SBR
EndEnumeration

Enumeration ; FMOD_SPEAKERMAPTYPE
 #FMOD_SPEAKERMAPTYPE_DEFAULT
 #FMOD_SPEAKERMAPTYPE_ALLMONO
 #FMOD_SPEAKERMAPTYPE_ALLSTEREO
 #FMOD_SPEAKERMAPTYPE_51_PROTOOLS
EndEnumeration

Enumeration ; FMOD_SPEAKERMODE
 #FMOD_SPEAKERMODE_RAW
 #FMOD_SPEAKERMODE_MONO
 #FMOD_SPEAKERMODE_STEREO
 #FMOD_SPEAKERMODE_QUAD
 #FMOD_SPEAKERMODE_SURROUND
 #FMOD_SPEAKERMODE_5POINT1
 #FMOD_SPEAKERMODE_7POINT1
 #FMOD_SPEAKERMODE_PROLOGIC
 #FMOD_SPEAKERMODE_MAX
EndEnumeration

Enumeration ; FMOD_SYSTEM_CALLBACKTYPE
 #FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED
 #FMOD_SYSTEM_CALLBACKTYPE_MEMORYALLOCATIONFAILED
 #FMOD_SYSTEM_CALLBACKTYPE_THREADCREATED
 #FMOD_SYSTEM_CALLBACKTYPE_BADDSPCONNECTION
 #FMOD_SYSTEM_CALLBACKTYPE_BADDSPLEVEL
 #FMOD_SYSTEM_CALLBACKTYPE_MAX
EndEnumeration

Enumeration ; FMOD_TAGDATATYPE
 #FMOD_TAGDATATYPE_BINARY
 #FMOD_TAGDATATYPE_INT
 #FMOD_TAGDATATYPE_FLOAT
 #FMOD_TAGDATATYPE_STRING
 #FMOD_TAGDATATYPE_STRING_UTF16
 #FMOD_TAGDATATYPE_STRING_UTF16BE
 #FMOD_TAGDATATYPE_STRING_UTF8
 #FMOD_TAGDATATYPE_CDTOC
 #FMOD_TAGDATATYPE_MAX
EndEnumeration

Enumeration ; FMOD_TAGTYPE
 #FMOD_TAGTYPE_UNKNOWN
 #FMOD_TAGTYPE_ID3V1
 #FMOD_TAGTYPE_ID3V2
 #FMOD_TAGTYPE_VORBISCOMMENT
 #FMOD_TAGTYPE_SHOUTCAST
 #FMOD_TAGTYPE_ICECAST
 #FMOD_TAGTYPE_ASF
 #FMOD_TAGTYPE_MIDI
 #FMOD_TAGTYPE_PLAYLIST
 #FMOD_TAGTYPE_FMOD
 #FMOD_TAGTYPE_USER
 #FMOD_TAGTYPE_MAX
EndEnumeration

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Defines
#FMOD_VERSION = $42000

Enumeration ; FMOD_CAPS
 #FMOD_CAPS_NONE                   = $0
 #FMOD_CAPS_HARDWARE               = $1
 #FMOD_CAPS_HARDWARE_EMULATED      = $2
 #FMOD_CAPS_OUTPUT_MULTICHANNEL    = $4
 #FMOD_CAPS_OUTPUT_FORMAT_PCM8     = $8
 #FMOD_CAPS_OUTPUT_FORMAT_PCM16    = $10
 #FMOD_CAPS_OUTPUT_FORMAT_PCM24    = $20
 #FMOD_CAPS_OUTPUT_FORMAT_PCM32    = $40
 #FMOD_CAPS_OUTPUT_FORMAT_PCMFLOAT = $80
 #FMOD_CAPS_REVERB_EAX2            = $100
 #FMOD_CAPS_REVERB_EAX3            = $200
 #FMOD_CAPS_REVERB_EAX4            = $400
 #FMOD_CAPS_REVERB_EAX5            = $800
 #FMOD_CAPS_REVERB_I3DL2           = $1000
 #FMOD_CAPS_REVERB_LIMITED         = $2000
EndEnumeration

Enumeration ; FMOD_DEBUGLEVEL
 #FMOD_DEBUG_LEVEL_NONE          = $0
 #FMOD_DEBUG_LEVEL_LOG           = $1
 #FMOD_DEBUG_LEVEL_ERROR         = $2
 #FMOD_DEBUG_LEVEL_WARNING       = $4
 #FMOD_DEBUG_LEVEL_HINT          = $8
 #FMOD_DEBUG_LEVEL_ALL           = $FF
 #FMOD_DEBUG_TYPE_MEMORY         = $100
 #FMOD_DEBUG_TYPE_THREAD         = $200
 #FMOD_DEBUG_TYPE_FILE           = $400
 #FMOD_DEBUG_TYPE_NET            = $800
 #FMOD_DEBUG_TYPE_EVENT          = $1000
 #FMOD_DEBUG_TYPE_ALL            = $FFFF
 #FMOD_DEBUG_DISPLAY_TIMESTAMPS  = $1000000
 #FMOD_DEBUG_DISPLAY_LINENUMBERS = $2000000
 #FMOD_DEBUG_DISPLAY_COMPRESS    = $4000000
 #FMOD_DEBUG_DISPLAY_ALL         = $F000000
 #FMOD_DEBUG_ALL                 = $FFFFFFFF
EndEnumeration

Enumeration ; FMOD_INITFLAGS
 #FMOD_INIT_NORMAL                   = $0
 #FMOD_INIT_STREAM_FROM_UPDATE       = $1
 #FMOD_INIT_3D_RIGHTHANDED           = $2
 #FMOD_INIT_SOFTWARE_DISABLE         = $4
 #FMOD_INIT_SOFTWARE_OCCLUSION       = $8
 #FMOD_INIT_SOFTWARE_HRTF            = $10
 #FMOD_INIT_SOFTWARE_REVERB_LOWMEM   = $40
 #FMOD_INIT_ENABLE_PROFILE           = $20
 #FMOD_INIT_VOL0_BECOMES_VIRTUAL     = $80
 #FMOD_INIT_WASAPI_EXCLUSIVE         = $100
 #FMOD_INIT_DSOUND_HRTFNONE          = $200
 #FMOD_INIT_DSOUND_HRTFLIGHT         = $400
 #FMOD_INIT_DSOUND_HRTFFULL          = $800
 #FMOD_INIT_PS2_DISABLECORE0REVERB   = $10000
 #FMOD_INIT_PS2_DISABLECORE1REVERB   = $20000
 #FMOD_INIT_PS2_DONTUSESCRATCHPAD    = $40000
 #FMOD_INIT_PS2_SWAPDMACHANNELS      = $80000
 #FMOD_INIT_PS3_PREFERDTS            = $800000
 #FMOD_INIT_PS3_FORCE2CHLPCM         = $1000000
 #FMOD_INIT_XBOX_REMOVEHEADROOM      = $100000
 #FMOD_INIT_360_MUSICMUTENOTPAUSE    = $200000
 #FMOD_INIT_SYNCMIXERWITHUPDATE      = $400000
EndEnumeration

Enumeration ; FMOD_MEMBITS
 #FMOD_MEMBITS_OTHER              = (1 << #FMOD_MEMTYPE_OTHER)
 #FMOD_MEMBITS_STRING             = (1 << #FMOD_MEMTYPE_STRING)
 #FMOD_MEMBITS_SYSTEM             = (1 << #FMOD_MEMTYPE_SYSTEM)
 #FMOD_MEMBITS_RECORDBUFFER       = (1 << #FMOD_MEMTYPE_RECORDBUFFER)
 #FMOD_MEMBITS_PLUGINS            = (1 << #FMOD_MEMTYPE_PLUGINS)
 #FMOD_MEMBITS_OUTPUTMODULE       = (1 << #FMOD_MEMTYPE_OUTPUTMODULE)
 #FMOD_MEMBITS_SPEAKERLEVELSPOOL  = (1 << #FMOD_MEMTYPE_SPEAKERLEVELSPOOL)
 #FMOD_MEMBITS_CHANNELI           = (1 << #FMOD_MEMTYPE_CHANNELI)
 #FMOD_MEMBITS_CHANNELPOOL        = (1 << #FMOD_MEMTYPE_CHANNELPOOL)
 #FMOD_MEMBITS_CHANNELREAL        = (1 << #FMOD_MEMTYPE_CHANNELREAL)
 #FMOD_MEMBITS_CHANNELGROUP       = (1 << #FMOD_MEMTYPE_CHANNELGROUP)
 #FMOD_MEMBITS_SOUNDI             = (1 << #FMOD_MEMTYPE_SOUNDI)
 #FMOD_MEMBITS_SOUNDGROUP         = (1 << #FMOD_MEMTYPE_SOUNDGROUP)
 #FMOD_MEMBITS_SAMPLE             = (1 << #FMOD_MEMTYPE_SAMPLE)
 #FMOD_MEMBITS_DSPCONNECTION      = (1 << #FMOD_MEMTYPE_DSPCONNECTION)
 #FMOD_MEMBITS_DSPCONNECTIONPOOL  = (1 << #FMOD_MEMTYPE_DSPCONNECTIONPOOL)
 #FMOD_MEMBITS_DSPI               = (1 << #FMOD_MEMTYPE_DSPI)
 #FMOD_MEMBITS_DSPCODEC           = (1 << #FMOD_MEMTYPE_DSPCODEC)
 #FMOD_MEMBITS_DSPUNIT            = (1 << #FMOD_MEMTYPE_DSPUNIT)
 #FMOD_MEMBITS_REVERBI            = (1 << #FMOD_MEMTYPE_REVERBI)
 #FMOD_MEMBITS_REVERBCHANNELPROPS = (1 << #FMOD_MEMTYPE_REVERBCHANNELPROPS)
 #FMOD_MEMBITS_GEOMETRY           = (1 << #FMOD_MEMTYPE_GEOMETRY)
 #FMOD_MEMBITS_ALL                = $FFFFFFFF
EndEnumeration

Enumeration ; FMOD_MEMORY_TYPE
 #FMOD_MEMORY_NORMAL            = $0
 #FMOD_MEMORY_XBOX360_PHYSICAL  = $100000
 #FMOD_MEMORY_PERSISTENT        = $200000
 #FMOD_MEMORY_SECONDARY         = $400000
EndEnumeration

Enumeration ; FMOD_MODE
 #FMOD_DEFAULT                = $0
 #FMOD_LOOP_OFF               = $1
 #FMOD_LOOP_NORMAL            = $2
 #FMOD_LOOP_BIDI              = $4
 #FMOD_2D                     = $8
 #FMOD_3D                     = $10
 #FMOD_HARDWARE               = $20
 #FMOD_SOFTWARE               = $40
 #FMOD_CREATESTREAM           = $80
 #FMOD_CREATESAMPLE           = $100
 #FMOD_CREATECOMPRESSEDSAMPLE = $200
 #FMOD_OPENUSER               = $400
 #FMOD_OPENMEMORY             = $800
 #FMOD_OPENMEMORY_POINT       = $10000000
 #FMOD_OPENRAW                = $1000
 #FMOD_OPENONLY               = $2000
 #FMOD_ACCURATETIME           = $4000
 #FMOD_MPEGSEARCH             = $8000
 #FMOD_NONBLOCKING            = $10000
 #FMOD_UNIQUE                 = $20000
 #FMOD_3D_HEADRELATIVE        = $40000
 #FMOD_3D_WORLDRELATIVE       = $80000
 #FMOD_3D_LOGROLLOFF          = $100000
 #FMOD_3D_LINEARROLLOFF       = $200000
 #FMOD_3D_CUSTOMROLLOFF       = $4000000
 #FMOD_3D_IGNOREGEOMETRY      = $40000000
 #FMOD_CDDA_FORCEASPI         = $400000
 #FMOD_CDDA_JITTERCORRECT     = $800000
 #FMOD_UNICODE                = $1000000
 #FMOD_IGNORETAGS             = $2000000
 #FMOD_LOWMEM                 = $8000000
 #FMOD_LOADSECONDARYRAM       = $20000000
 #FMOD_VIRTUAL_PLAYFROMSTART  = $80000000
EndEnumeration

Enumeration ; FMOD_REVERB_CHANNELFLAGS
 #FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO = $1
 #FMOD_REVERB_CHANNELFLAGS_ROOMAUTO     = $2
 #FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO   = $4
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE0    = $10
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE1    = $20
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE2    = $40
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE3    = $80
 #FMOD_REVERB_CHANNELFLAGS_DEFAULT      = #FMOD_REVERB_CHANNELFLAGS_DIRECTHFAUTO|#FMOD_REVERB_CHANNELFLAGS_ROOMAUTO|#FMOD_REVERB_CHANNELFLAGS_ROOMHFAUTO|#FMOD_REVERB_CHANNELFLAGS_INSTANCE0
EndEnumeration

Enumeration ; FMOD_REVERB_FLAGS
 #FMOD_REVERB_FLAGS_DECAYTIMESCALE        = $1
 #FMOD_REVERB_FLAGS_REFLECTIONSSCALE      = $2
 #FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE = $4
 #FMOD_REVERB_FLAGS_REVERBSCALE           = $8
 #FMOD_REVERB_FLAGS_REVERBDELAYSCALE      = $10
 #FMOD_REVERB_FLAGS_DECAYHFLIMIT          = $20
 #FMOD_REVERB_FLAGS_ECHOTIMESCALE         = $40
 #FMOD_REVERB_FLAGS_MODULATIONTIMESCALE   = $80
 #FMOD_REVERB_FLAGS_CORE0                 = $100
 #FMOD_REVERB_FLAGS_CORE1                 = $200
 #FMOD_REVERB_FLAGS_HIGHQUALITYREVERB     = $400
 #FMOD_REVERB_FLAGS_HIGHQUALITYDPL2REVERB = $800
 #FMOD_REVERB_FLAGS_DEFAULT               = #FMOD_REVERB_FLAGS_DECAYTIMESCALE | #FMOD_REVERB_FLAGS_REFLECTIONSSCALE | #FMOD_REVERB_FLAGS_REFLECTIONSDELAYSCALE | #FMOD_REVERB_FLAGS_REVERBSCALE | #FMOD_REVERB_FLAGS_REVERBDELAYSCALE | #FMOD_REVERB_FLAGS_DECAYHFLIMIT | #FMOD_REVERB_FLAGS_CORE0 | #FMOD_REVERB_FLAGS_CORE1
EndEnumeration

Enumeration ; FMOD_TIMEUNIT
 #FMOD_TIMEUNIT_MS                = $1
 #FMOD_TIMEUNIT_PCM               = $2
 #FMOD_TIMEUNIT_PCMBYTES          = $4
 #FMOD_TIMEUNIT_RAWBYTES          = $8
 #FMOD_TIMEUNIT_MODORDER          = $100
 #FMOD_TIMEUNIT_MODROW            = $200
 #FMOD_TIMEUNIT_MODPATTERN        = $400
 #FMOD_TIMEUNIT_SENTENCE_MS       = $10000
 #FMOD_TIMEUNIT_SENTENCE_PCM      = $20000
 #FMOD_TIMEUNIT_SENTENCE_PCMBYTES = $40000
 #FMOD_TIMEUNIT_SENTENCE          = $80000
 #FMOD_TIMEUNIT_SENTENCE_SUBSOUND = $100000
 #FMOD_TIMEUNIT_BUFFERED          = $10000000
EndEnumeration

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Structures

Structure FMOD_ADVANCEDSETTINGS
 cbSize.i
 maxMPEGcodecs.i
 maxADPCMcodecs.i
 maxXMAcodecs.i
 maxPCMcodecs.i
 ASIONumChannels.i
 ASIOChannelList.i
 ASIOSpeakerList.i
 max3DReverbDSPs.i
 HRTFMinAngle.f
 HRTFMaxAngle.f
 HRTFFreq.f
 vol0virtualvol.f
 eventqueuesize.i
 defaultDecodeBufferSize.i
 debugLogFilename.b
 profileport.i
EndStructure

Structure FMOD_CDTOC
 numtracks.i
 min.i[100]
 sec.i[100]
 frame.i[100]
EndStructure

Structure FMOD_CODEC_DESCRIPTION
 name.s
 version.i
 defaultasstream.i
 timeunits.i
 open.i
 close.i
 _read.i
 getlength.i
 setposition.i
 getposition.i
 soundcreate.i
 getwaveformat.i
EndStructure

Structure FMOD_CODEC_STATE
 numsubsounds.i
 waveformat.i
 plugindata.i
 filehandle.i
 filesize.i
 fileread.i

 fileseek.i
 metadata.i
EndStructure

Structure FMOD_CODEC_WAVEFORMAT
 name.b[256]
 format.i
 channels.i
 frequency.i
 lengthbytes.i
 lengthpcm.i
 blockalign.i
 loopstart.i
 loopend.i
 mode.i
 channelmask.i
EndStructure

Structure FMOD_CREATESOUNDEXINFO
 cbSize.i
 length.i
 fileoffset.i
 Numchannels.i
 defaultfrequency.i
 Format.i
 decodebuffersize.i
 initialsubsound.i
 Numsubsounds.i
 inclusionlist.i
 inclusionlistnum.i
 pcmreadcallback.i
 pcmsetposcallback.i
 nonblockcallback.i
 dlsname.s
 encryptionkey.s
 maxpolyphony.i
 userdata.i
 suggestedsoundtype.i
 useropen.i
 userclose.i
 userread.i
 userseek.i
 speakermap.i
 initialsoundgroup.i
 initialseekposition.i
 initialseekpostype.i
EndStructure

Structure FMOD_DSP_DESCRIPTION
 name.b[32]
 Version.i
 Channels.i
 create.i
 release.i
 reset.i
 _read.i
 setpos.i
 numparameters.i
 paramdesc.i
 setparameter.i
 getparameter.i
 config.i
 Configwidth.i
 Configheight.i
 userdata.i
EndStructure

Structure FMOD_DSP_PARAMETERDESC
 min.f
 max.f
 defaultval.f
 name.s[16]
 label.s[16]
 description.s
EndStructure

Structure FMOD_DSP_STATE
 instance.i
 plugindata.i
 speakermask.i
EndStructure

Structure FMOD_GUID
 Data1.i
 Data2.i
 Data3.i
 Data4.b [8]
EndStructure

Structure FMOD_OUTPUT_DESCRIPTION
 name.s
 version.i
 polling.i
 getnumdrivers.i
 getdrivername.i
 getdrivercaps.i
 init.i
 close.i
 update.i
 gethandle.i
 getposition.i
 lock.i
 unlock.i
EndStructure

Structure FMOD_OUTPUT_STATE
 plugindata.i
 readfrommixer.i
EndStructure

Structure FMOD_REVERB_CHANNELPROPERTIES
 Direct.i
 DirectHF.i
 Room.i
 RoomHF.i
 Obstruction.i
 ObstructionLFRatio.f
 Occlusion.i
 OcclusionLFRatio.f
 OcclusionRoomRatio.f
 OcclusionDirectRatio.f
 Exclusion.i
 ExclusionLFRatio.f
 OutsideVolumeHF.i
 DopplerFactor.f
 RolloffFactor.f
 RoomRolloffFactor.f
 AirAbsorptionFactor.f
 flags.i
 ConnectionPoint.i
EndStructure

Structure FMOD_REVERB_PROPERTIES
 Instance.i
 Environment.i
 EnvSize.f
 EnvDiffusion.f
 Room.i
 RoomHF.i
 RoomLF.i
 DecayTime.f
 DecayHFRatio.f
 DecayLFRatio.f
 Reflections.i
 ReflectionsDelay.f
 ReflectionsPan.f[3]
 Reverb.i
 ReverbDelay.f
 ReverbPan.f[3]
 EchoTime.f
 EchoDepth.f
 ModulationTime.f
 ModulationDepth.f
 AirAbsorptionHF.f
 HFReference.f
 LFReference.f
 RoomRolloffFactor.f
 Diffusion.f
 Density.f
 flags.i
EndStructure

Structure FMOD_TAG
 type.i
 datatype.i
 name.i
 _data.i
 datalen.i
 udated.i
EndStructure

Structure FMOD_VECTOR
 x.f
 y.f
 z.f
EndStructure

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Functions
Import "fmodex_vc.lib"
 ;- System
 FMOD_System_AddDSP( system.i, dsp.i, connect.i )
 FMOD_System_AttachFileSystem( system.i, useropen.i, userclose.i, userread.i, userseek.i )
 FMOD_System_Close( system.i )
 FMOD_System_CreateChannelGroup( system.i, name.s, *channelgroup )
 FMOD_System_CreateCodec( system.i, CodecDescription.i, priority.i )
 FMOD_System_CreateDSP( system.i, *description, *dsp )
 FMOD_System_CreateDSPByPlugin( system.i, handle.i, *dsp )
 FMOD_System_CreateDSPByType( system.i, type.i, *dsp )
 FMOD_System_CreateGeometry( system.i, maxpolygons.i, maxvertices.i, *geometry )
 FMOD_System_CreateReverb( system.i, *reverb )
 FMOD_System_CreateSound( system.i, name_or_data.i, mode.i, *exinfo, *sound )
 FMOD_System_CreateSoundGroup( system.i, name.s, *soundgroup )
 FMOD_System_CreateStream( system.i, name_or_data.i, mode.i, *exinfo, *sound )
 FMOD_System_Get3DListenerAttributes( system.i, listener.i, *pos, *vel, *forward, *up )
 FMOD_System_Get3DNumListeners( system.i, *numlisteners )
 FMOD_System_Get3DSettings( system.i, *dopplerscale, *distancefactor, *rolloffscale )
 FMOD_System_GetSpeakerPosition( system.i, *speaker, *x, *y, *active )
 FMOD_System_GetAdvancedSettings( system.i, *settings )
 FMOD_System_GetCDROMDriveName( system.i, drive.i, *drivename, drivenamelen.i, *scsiname, scsinamelen.i, *devicename, devicenamelen.i )
 FMOD_System_GetCPUUsage( system.i, *dsp, *stream, *update, *total )
 FMOD_System_GetChannel( system.i, channelid.i, *channel )
 FMOD_System_GetChannelsPlaying( system.i, *channels )
 FMOD_System_GetDSPBufferSize( system.i, *bufferlength, *numbuffers )
 FMOD_System_GetDSPClock( system.i, hi.i, lo.i )
 FMOD_System_GetDSPHead( system.i, *dsp )
 FMOD_System_GetDriver( system.i, *driver)
 FMOD_System_GetDriverCaps( system.i, id.i, *caps, *controlpaneloutputrate, *controlpanelspeakermode )
 FMOD_System_GetDriverInfo( system.i, id.i, *name, namelen.i, *guid.FMOD_GUID )
 FMOD_System_GetGeometrySettings( system.i, *maxworldsize )
 FMOD_System_GetHardwareChannels( system.i, *num2d, *num3d, *total )
 FMOD_System_GetMasterChannelGroup( system.i, *channelgroup )
 FMOD_System_GetMasterSoundGroup( system.i, *soundgroup )
 FMOD_System_GetMemoryInfo( system.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_System_GetNetworkProxy( system.i, *proxy, Proxylen.i )
 FMOD_System_GetNetworkTimeout( system.i, *timeout )
 FMOD_System_GetNumCDROMDrives( system.i, *numdrives )
 FMOD_System_GetNumDrivers( system.i, *numdrivers )
 FMOD_System_GetNumPlugins( system.i, plugintype.i, *numplugins )
 FMOD_System_GetOutput( system.i, *output )
 FMOD_System_GetOutputByPlugin( system.i, *index )
 FMOD_System_GetOutputHandle( system.i, *handle )
 FMOD_System_GetPluginHandle( system.i, plugintype.i, index.i, *handle )
 FMOD_System_GetPluginInfo( system.i, handle.i, plugintype.i, *name, namelen.i, *version )
 FMOD_System_GetRecordDriver( system.i, *driver )
 FMOD_System_GetRecordDriverCaps( system.i, *id, *caps, *minfrequency, *maxfrequency )
 FMOD_System_GetRecordDriverInfo( system.i, id.i, *name, namelen.i, *guid.FMOD_GUID )
 FMOD_System_GetRecordNumDrivers( system.i, *numdrivers )
 FMOD_System_GetRecordPosition( system.i, id, *position )
 FMOD_System_GetReverbAmbientProperties( system.i, *prop )
 FMOD_System_GetReverbProperties( system.i, *prop )
 FMOD_System_GetSoftwareChannels( system.i, *numsoftwarechannels )
 FMOD_System_GetSoftwareFormat( system.i, *samplerate, *format, *numoutputchannels, *maxinputchannels, *resamplemethod, *bits )
 FMOD_System_GetSoundRAM( system.i, *currentalloced, *maxalloced, *total )
 FMOD_System_GetSpeakerMode( system.i, *speakermode )
 FMOD_System_GetSpectrum( system.i, *spectrumarray, numvalues.i, channeloffset.i, *windowtype )
 FMOD_System_GetStreamBufferSize( system.i, *filebuffersize, *filebuffersizetype )
 FMOD_System_GetUserData( system.i, *userdata )
 FMOD_System_GetVersion( system.i, *version )
 FMOD_System_GetWaveData( system.i, *wavearray, numvalues.i, channeloffset.i )
 FMOD_System_Init( system.i, maxchannels.i, flags.i, extradriverdata.i )
 FMOD_System_IsRecording( system.i, id, *recording )
 FMOD_System_LoadGeometry( system.i, _data.i, dataSize.i, *geometry )
 FMOD_System_LoadPlugin( system.i, filename.s, *handle, priority.i )
 FMOD_System_LockDSP( system.i )
 FMOD_System_PlayDSP( system.i, channelid.i, dsp.i, paused.i, *channel )
 FMOD_System_PlaySound( system.i, channelid.i, sound.i, paused.i, *channel )
 FMOD_System_RecordStart( system.i, id, sound.i, loop_.i )
 FMOD_System_RecordStop( system.i )
 FMOD_System_Release( system.i )
 FMOD_System_Set3DListenerAttributes( system.i, listener.i, *pos, *vel, *forward, *up )
 FMOD_System_Set3DNumListeners( system.i, numlisteners.i )
 FMOD_System_Set3DRolloffCallback( system.i, callback.i )
 FMOD_System_Set3DSettings( system.i, dopplerscale.f, distancefactor.f, rolloffscale.f )
 FMOD_System_SetSpeakerPosition( system.i, speaker.i, x.f, y.f, active.i )
 FMOD_System_SetAdvancedSettings( system.i, *settings )
 FMOD_System_SetCallback( system.i, callback.i )
 FMOD_System_SetDSPBufferSize( system.i, bufferlength.i, numbuffers.i )
 FMOD_System_SetDriver( system.i, driver.i )
 FMOD_System_SetFileSystem( system.i, useropen.i, userclose.i, userread.i, userseek.i, blockalign.i )
 FMOD_System_SetGeometrySettings( system.i, maxworldsize.f )
 FMOD_System_SetHardwareChannels( system.i, min2d.i, max2d.i, min3d.i, max3d.i )
 FMOD_System_SetNetworkProxy( system.i, proxy.s )
 FMOD_System_SetNetworkTimeout( system.i, timeout.i )
 FMOD_System_SetOutput( system.i, output.i )
 FMOD_System_SetOutputByPlugin( system.i, handle.i )
 FMOD_System_SetPluginPath( system.i, path.s )
 FMOD_System_SetRecordDriver( system.i, driver.i )
 FMOD_System_SetReverbAmbientProperties( system.i, *prop )
 FMOD_System_SetReverbProperties( system.i, *prop )
 FMOD_System_SetSoftwareChannels( system.i, numsoftwarechannels.i )
 FMOD_System_SetSoftwareFormat( system.i, samplerate.i, format.i, numoutputchannels.i, maxinputchannels.i, resamplemethod.i )
 FMOD_System_SetSpeakerMode( system.i, speakermode.i )
 FMOD_System_SetStreamBufferSize( system.i, filebuffersize.i, filebuffersizetype.i )
 FMOD_System_SetUserData( system.i, userdata.i )
 FMOD_System_UnloadPlugin( system.i, handle.i )
 FMOD_System_UnlockDSP( system.i )
 FMOD_System_Update( system.i )
 ;- Sound
 FMOD_Sound_AddSyncPoint( sound.i, offset.i, offsettype.i, name.s, *point )
 FMOD_Sound_DeleteSyncPoint( sound.i, point.i )
 FMOD_Sound_Get3DConeSettings( sound.i, *insideconeangle, *outsideconeangle, *outsidevolume )
 FMOD_Sound_Get3DCustomRolloff( sound.i, *points, *numpoints )
 FMOD_Sound_Get3DMinMaxDistance( sound.i, *min, *max )
 FMOD_Sound_GetDefaults( sound.i, *frequency, *volume, *pan, *priority )
 FMOD_Sound_GetFormat( sound.i, *soundtype, *format, *channels, *bits )
 FMOD_Sound_GetLength( sound.i, *length, lengthtype.i )
 FMOD_Sound_GetLoopCount( sound.i, *loopcount )
 FMOD_Sound_GetLoopPoints( sound.i, *loopstart, loopstarttype.i, *loopend, loopendtype.i )
 FMOD_Sound_GetMemoryInfo( sound.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_Sound_GetMode( sound.i, *mode )
 FMOD_Sound_GetMusicChannelVolume( sound.i, channel.i, *volume )
 FMOD_Sound_GetMusicNumChannels( sound.i, *numchannels )
 FMOD_Sound_GetName( sound.i, *name, namelen.i )
 FMOD_Sound_GetNumSubSounds( sound.i, *numsubsounds )
 FMOD_Sound_GetNumSyncPoints( sound.i, *numsyncpoints )
 FMOD_Sound_GetNumTags( sound.i, *numtags, *numtagsupdated )
 FMOD_Sound_GetOpenState( sound.i, *openstate, *percentbuffered, *starving )
 FMOD_Sound_GetSoundGroup( sound.i, *soundgroup )
 FMOD_Sound_GetSubSound( sound.i, index.i, *subsound )
 FMOD_Sound_GetSyncPoint( sound.i, index.i, *point )
 FMOD_Sound_GetSyncPointInfo( sound.i, point.i, *name, namelen.i, *offset, offsettype.i )
 FMOD_Sound_GetSystemObject( sound.i, *system )
 FMOD_Sound_GetTag( sound.i, name.i, index.i, *tag )
 FMOD_Sound_GetUserData( sound.i, *userdata )
 FMOD_Sound_GetVariations( sound.i, *frequencyvar, *volumevar, *panvar )
 FMOD_Sound_Lock( sound.i, offset.i, length.i, *ptr1, *ptr2, *len1, *len2 )
 FMOD_Sound_ReadData( sound.i, buffer.i, lenbytes.i, *_read )
 FMOD_Sound_Release( sound.i )
 FMOD_Sound_SeekData( sound.i, pcm.i )
 FMOD_Sound_Set3DConeSettings( sound.i, insideconeangle.f, outsideconeangle.f, outsidevolume.f )
 FMOD_Sound_Set3DCustomRolloff( sound.i, *points, numpoints.i )
 FMOD_Sound_Set3DMinMaxDistance( sound.i, min.f, max.f )
 FMOD_Sound_SetDefaults( sound.i, frequency.f, volume.f, pan.f, priority.i )
 FMOD_Sound_SetLoopCount( sound.i, loopcount.i )
 FMOD_Sound_SetLoopPoints( sound.i, loopstart.i, loopstarttype.i, loopend.i, loopendtype.i )
 FMOD_Sound_SetMode( sound.i, mode.i )
 FMOD_Sound_SetMusicChannelVolume( sound.i, channel.i, volume.f )
 FMOD_Sound_SetSoundGroup( sound.i, soundgroup.i )
 FMOD_Sound_SetSubSound( sound.i, index.i, subsound.i )
 FMOD_Sound_SetSubSoundSentence( sound.i, *subsoundlist, numsubsounds.i )
 FMOD_Sound_SetUserData( sound.i, userdata.i )
 FMOD_Sound_SetVariations( sound.i, frequencyvar.f, volumevar.f, panvar.f )
 FMOD_Sound_Unlock( sound.i, ptr1.i, ptr2.i, len1.i, len2.i )
 ;- Channel
 FMOD_Channel_AddDSP( channel.i, dsp.i, *dspconnection )
 FMOD_Channel_Get3DAttributes( channel.i, *pos, *vel )
 FMOD_Channel_Get3DConeOrientation( channel.i, *orientation )
 FMOD_Channel_Get3DConeSettings( channel.i, *insideconeangle, *outsideconeangle, *outsidevolume )
 FMOD_Channel_Get3DCustomRolloff( channel.i, *points, *numpoints )
 FMOD_Channel_Get3DDopplerLevel( channel.i, *level )
 FMOD_Channel_Get3DMinMaxDistance( channel.i, *mindistance, *maxdistance )
 FMOD_Channel_Get3DOcclusion( channel.i, *directocclusion, *reverbocclusion )
 FMOD_Channel_Get3DPanLevel( channel.i, *float )
 FMOD_Channel_Get3DSpread( channel.i, *angle )
 FMOD_Channel_GetAudibility( channel.i, *audibility )
 FMOD_Channel_GetChannelGroup( channel.i, *channelgroup )
 FMOD_Channel_GetCurrentSound( channel.i, *sound )
 FMOD_Channel_GetDSPHead( channel.i, *dsp )
 FMOD_Channel_GetDelay( channel.i, delaytype.i, *delayhi, *delaylo )
 FMOD_Channel_GetFrequency( channel.i, *frequency )
 FMOD_Channel_GetIndex( channel.i, *index )
 FMOD_Channel_GetInputChannelMix( channel.i, *levels, numlevels.i )
 FMOD_Channel_GetLoopCount( channel.i, *loopcount )
 FMOD_Channel_GetLoopPoints( channel.i, *loopstart, loopstarttype.i, *loopend, loopendtype.i )
 FMOD_Channel_GetLowPassGain( channel.i, *gain )
 FMOD_Channel_GetMemoryInfo( channel.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_Channel_GetMode( channel.i, *mode )
 FMOD_Channel_GetMute( channel.i, *mute )
 FMOD_Channel_GetPan( channel.i, *pan )
 FMOD_Channel_GetPaused( channel.i, *paused )
 FMOD_Channel_GetPosition( channel.i, *position, postype.i )
 FMOD_Channel_GetPriority( channel.i, *priority )
 FMOD_Channel_GetReverbProperties( channel.i, *prop )
 FMOD_Channel_GetSpeakerLevels( channel.i, speaker.i, *levels, numlevels.i )
 FMOD_Channel_GetSpeakerMix( channel.i, *frontleft, *frontright, *center, *lfe, *backleft, *backright, *sideleft, *sideright )
 FMOD_Channel_GetSpectrum( channel.i, *spectrumarray, numvalues.i, channeloffset.i, windowtype.i )
 FMOD_Channel_GetSystemObject( channel.i, *system )
 FMOD_Channel_GetUserData( channel.i, *userdata )
 FMOD_Channel_GetVolume( channel.i, *volume )
 FMOD_Channel_GetWaveData( channel.i, *wavearray, numvalues.i, channeloffset.i )
 FMOD_Channel_IsPlaying( channel.i, *isplaying )
 FMOD_Channel_IsVirtual( channel.i, *isvirtual )
 FMOD_Channel_Set3DAttributes( channel.i, *pos, *vel )
 FMOD_Channel_Set3DConeOrientation( channel.i, *orientation )
 FMOD_Channel_Set3DConeSettings( channel.i, insideconeangle.f, outsideconeangle.f, outsidevolume.f )
 FMOD_Channel_Set3DCustomRolloff( channel.i, *points, numpoints.i )
 FMOD_Channel_Set3DDopplerLevel( channel.i, level.f )
 FMOD_Channel_Set3DMinMaxDistance( channel.i, mindistance.f, maxdistance.f )
 FMOD_Channel_Set3DOcclusion( channel.i, directocclusion.f, reverbocclusion.f )
 FMOD_Channel_Set3DPanLevel( channel.i, float.f )
 FMOD_Channel_Set3DSpread( channel.i, angle.f )
 FMOD_Channel_SetCallback( channel.i, callback.i )
 FMOD_Channel_SetChannelGroup( channel.i, channelgroup.i )
 FMOD_Channel_SetDelay( channel.i, delaytype.i, delayhi.i, delaylo.i )
 FMOD_Channel_SetFrequency( channel.i, frequency.f )
 FMOD_Channel_SetInputChannelMix( channel.i, *levels, numlevels.i )
 FMOD_Channel_SetLoopCount( channel.i, loopcount.i )
 FMOD_Channel_SetLoopPoints( channel.i, loopstart.i, loopstarttype.i, loopend.i, loopendtype.i )
 FMOD_Channel_SetLowPassGain( channel.i, gain.f )
 FMOD_Channel_SetMode( channel.i, mode.i )
 FMOD_Channel_SetMute( channel.i, mute.i )
 FMOD_Channel_SetPan( channel.i, pan.f )
 FMOD_Channel_SetPaused( channel.i, paused.i )
 FMOD_Channel_SetPosition( channel.i, position.i, postype.i )
 FMOD_Channel_SetPriority( channel.i, priority.i )
 FMOD_Channel_SetReverbProperties( channel.i, *prop )
 FMOD_Channel_SetSpeakerLevels( channel.i, speaker.i, *levels, numlevels.i )
 FMOD_Channel_SetSpeakerMix( channel.i, frontleft.f, frontright.f, center.f, lfe.f, backleft.f, backright.f, sideleft.f, sideright.f )
 FMOD_Channel_SetUserData( channel.i, userdata.i )
 FMOD_Channel_SetVolume( channel.i, volume.f )
 FMOD_Channel_Stop( channel.i )
 ;- ChannelGroup
 FMOD_ChannelGroup_AddDSP( channelgroup.i, dsp.i, *connection )
 FMOD_ChannelGroup_AddGroup( channelgroup.i, group.i )
 FMOD_ChannelGroup_Get3DOcclusion( channelgroup.i, *directocclusion, *reverbocclusion )
 FMOD_ChannelGroup_GetChannel( channelgroup.i, index.i, *channel )
 FMOD_ChannelGroup_GetDSPHead( channelgroup.i, *dsp )
 FMOD_ChannelGroup_GetGroup( channelgroup.i, index.i, *group )
 FMOD_ChannelGroup_GetMemoryInfo( channelgroup.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_ChannelGroup_GetMute( channelgroup.i, *mute )
 FMOD_ChannelGroup_GetName( channelgroup.i, *name, namelen.i )
 FMOD_ChannelGroup_GetNumChannels( channelgroup.i, *numchannels )
 FMOD_ChannelGroup_GetNumGroups( channelgroup.i, *numgroups )
 FMOD_ChannelGroup_GetParentGroup( channelgroup.i, *group )
 FMOD_ChannelGroup_GetPaused( channelgroup.i, *paused )
 FMOD_ChannelGroup_GetPitch( channelgroup.i, *pitch )
 FMOD_ChannelGroup_GetSpectrum( channelgroup.i, *spectrumarray, numvalues.i, channeloffset.i, windowtype.i )
 FMOD_ChannelGroup_GetSystemObject( channelgroup.i, *system )
 FMOD_ChannelGroup_GetUserData( channelgroup.i, *userdata )
 FMOD_ChannelGroup_GetVolume( channelgroup.i, *volume )
 FMOD_ChannelGroup_GetWaveData( channelgroup.i, *wavearray, numvalues.i, channeloffset.i )
 FMOD_ChannelGroup_Override3DAttributes( channelgroup.i, *pos, *vel )
 FMOD_ChannelGroup_OverrideFrequency( channelgroup.i, frequency.f )
 FMOD_ChannelGroup_OverridePan( channelgroup.i, pan.f )
 FMOD_ChannelGroup_OverrideReverbProperties( channelgroup.i, *prop )
 FMOD_ChannelGroup_OverrideSpeakerMix( channelgroup.i, frontleft.f, frontright.f, center.f, lfe.f, backleft.f, backright.f, sideleft.f, sideright.f )
 FMOD_ChannelGroup_OverrideVolume( channelgroup.i, volume.f )
 FMOD_ChannelGroup_Release( channelgroup.i )
 FMOD_ChannelGroup_Set3DOcclusion( channelgroup.i, directocclusion.f, reverbocclusion.f )
 FMOD_ChannelGroup_SetMute( channelgroup.i, mute.i )
 FMOD_ChannelGroup_SetPaused( channelgroup.i, paused.i )
 FMOD_ChannelGroup_SetPitch( channelgroup.i, pitch.f )
 FMOD_ChannelGroup_SetUserData( channelgroup.i, *userdata )
 FMOD_ChannelGroup_SetVolume( channelgroup.i, volume.f )
 FMOD_ChannelGroup_Stop( channelgroup.i )
 ;- SoundGroup
 FMOD_SoundGroup_GetMaxAudible( soundgroup.i, *maxaudible )
 FMOD_SoundGroup_GetMaxAudibleBehavior( soundgroup.i, *behavior )
 FMOD_SoundGroup_GetMemoryInfo( soundgroup.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_SoundGroup_GetMuteFadeSpeed( soundgroup.i, *speed )
 FMOD_SoundGroup_GetName( soundgroup.i, *name, namelen.i )
 FMOD_SoundGroup_GetNumPlaying( soundgroup.i, *numplaying )
 FMOD_SoundGroup_GetNumSounds( soundgroup.i, *numsounds )
 FMOD_SoundGroup_GetSound( soundgroup.i, index.i, *sound )
 FMOD_SoundGroup_GetSystemObject( soundgroup.i, *system )
 FMOD_SoundGroup_GetUserData( soundgroup.i, *userdata )
 FMOD_SoundGroup_GetVolume( soundgroup.i, *volume )
 FMOD_SoundGroup_Release( soundgroup.i )
 FMOD_SoundGroup_SetMaxAudible( soundgroup.i, maxaudible.i )
 FMOD_SoundGroup_SetMaxAudibleBehavior( soundgroup.i, behavior.i )
 FMOD_SoundGroup_SetMuteFadeSpeed( soundgroup.i, speed.f )
 FMOD_SoundGroup_SetUserData( soundgroup.i, *userdata )
 FMOD_SoundGroup_SetVolume( soundgroup.i, volume.f )
 FMOD_SoundGroup_Stop( soundgroup.i )
 ;- DSP
 FMOD_DSP_AddInput( dsp.i, target.i )
 FMOD_DSP_DisconnectAll( dsp.i, inputs.i, outputs.i )
 FMOD_DSP_DisconnectFrom( dsp.i, target.i )
 FMOD_DSP_GetActive( dsp.i, *active )
 FMOD_DSP_GetBypass( dsp.i, *bypass )
 FMOD_DSP_GetDefaults( dsp.i, *frequency, *volume, *pan, *priority )
 FMOD_DSP_GetInfo( dsp.i, *name, *version, *channels, *configwidth, *configheight )
 FMOD_DSP_GetInput( dsp.i, index.i, *input_, *inputconnection )
 FMOD_DSP_GetMemoryInfo( dsp.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_DSP_GetNumInputs( dsp.i, *numinputs )
 FMOD_DSP_GetNumOutputs( dsp.i, *numoutputs )
 FMOD_DSP_GetNumParameters( dsp.i, *numparams )
 FMOD_DSP_GetOutput( dsp.i, index.i, *output, outputconnection.i )
 FMOD_DSP_GetParameter( dsp.i, index.i, *value, *valuestr, valuestrlen.i )
 FMOD_DSP_GetParameterInfo( dsp.i, index.i, *name, *label, *description, descriptionlen.i, *min, *max )
 FMOD_DSP_GetSpeakerActive( dsp.i, speaker.i, *active )
 FMOD_DSP_GetSystemObject( dsp.i, *system )
 FMOD_DSP_GetType( dsp.i, *type )
 FMOD_DSP_GetUserData( dsp.i, *userdata )
 FMOD_DSP_Release( dsp.i )
 FMOD_DSP_Remove( dsp.i )
 FMOD_DSP_Reset( dsp.i )
 FMOD_DSP_SetActive( dsp.i, active.i )
 FMOD_DSP_SetBypass( dsp.i, bypass.i )
 FMOD_DSP_SetDefaults( dsp.i, frequency.f, volume.f, pan.f, priority.i )
 FMOD_DSP_SetParameter( dsp.i, index.i, value.f )
 FMOD_DSP_SetSpeakerActive( dsp.i, speaker.i, active.i )
 FMOD_DSP_SetUserData( dsp.i, userdata.i )
 FMOD_DSP_ShowConfigDialog( dsp.i, hwnd.i, show.i )
 ;- DSP_Connection
 FMOD_DSPConnection_GetInput( dspconnection.i, *input )
 FMOD_DSPConnection_GetLevels( dspconnection.i, speaker.i, *levels, numlevels.i )
 FMOD_DSPConnection_GetMemoryInfo( dspconnection.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_DSPConnection_GetMix( dspconnection.i, *volume )
 FMOD_DSPConnection_GetOutput( dspconnection.i, *output )
 FMOD_DSPConnection_GetUserData( dspconnection.i, *userdata )
 FMOD_DSPConnection_SetLevels( dspconnection.i, speaker.i, *levels, numlevels.i )
 FMOD_DSPConnection_SetMix( dspconnection.i, volume.f )
 FMOD_DSPConnection_SetUserData( dspconnection.i, *userdata )
 ;- Geometry
 FMOD_Geometry_AddPolygon( geometry.i, directocclusion.f, reverbocclusion.f, doublesided.i, numvertices.i, *vertices, *polygonindex )
 FMOD_Geometry_GetActive( geometry.i, *active )
 FMOD_Geometry_GetMaxPolygons( geometry.i, *maxPolygons, *maxvertices )
 Geometry_GetMemoryInfo( geometry.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_Geometry_GetNumPolygons( geometry.i, *numPolygons )
 FMOD_Geometry_GetPolygonAttributes( geometry.i, index.i, *directocclusion, *reverbocclusion, *doublesided )
 FMOD_Geometry_GetPolygonNumVertices( geometry.i, index.i, *numvertices )
 FMOD_Geometry_GetPolygonVertex( geometry.i, index.i, vertexindex.i, *vertex )
 FMOD_Geometry_GetPosition( geometry.i, *position )
 FMOD_Geometry_GetRotation( geometry.i, *forward, *up )
 FMOD_Geometry_GetScale( geometry.i, *scale_ )
 FMOD_Geometry_GetUserData( geometry.i, *userdata )
 FMOD_Geometry_Release( gemoetry.i )
 FMOD_Geometry_Save( geometry.i, _data.i, *dataSize )
 FMOD_Geometry_SetActive( geometry.i, active.i )
 FMOD_Geometry_SetPolygonAttributes( geometry.i, index.i, directocclusion.f, reverbocclusion.f, doublesided.i )
 FMOD_Geometry_SetPolygonVertex( geometry.i, index.i, vertexindex.i, *vertex )
 FMOD_Geometry_SetPosition( geometry.i, *position )
 FMOD_Geometry_SetRotation( geometry.i, *forward, *up )
 FMOD_Geometry_SetScale( geometry.i, *scale_ )
 FMOD_Geometry_SetUserData( geometry.i, userdata.i )
 ;- Reverb
 FMOD_Reverb_Get3DAttributes( reverb.i, *position, *mindistance, *maxdistance )
 FMOD_Reverb_GetActive( reverb.i, *active )
 FMOD_Reverb_GetMemoryInfo( reverb.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_array )
 FMOD_Reverb_GetProperties( reverb.i, *properties )
 FMOD_Reverb_GetUserData( reverb.i, *userdata )
 FMOD_Reverb_Release( reverb.i )
 FMOD_Reverb_Set3DAttributes( reverb.i, position.i, mindistance.f, maxdistance.f )
 FMOD_Reverb_SetActive( reverb.i, active.i )
 FMOD_Reverb_SetProperties( reverb.i, *properties )
 FMOD_Reverb_SetUserData( reverb.i, *userdata )
 ;- Misc
 FMOD_Debug_GetLevel( *level )
 FMOD_Debug_SetLevel( level.i )
 FMOD_File_GetDiskBusy( *busy )
 FMOD_File_SetDiskBusy( busy.i )
 FMOD_Memory_GetStats( memory.i, *currentalloced, *maxalloced )
 FMOD_Memory_Initialize( poolmem.i, poollen.i, useralloc.i, userrealloc.i, userfree.i, memtypeflags.i )
 FMOD_System_Create( *system )
EndImport

Procedure.s FMOD_ErrorString( error.i )
 Protected result.s
 Select error
  Case #FMOD_OK:                         result = "OK"
  Case #FMOD_ERR_ALREADYLOCKED:          result = "Tried to call lock a second time before unlock was called. "
  Case #FMOD_ERR_BADCOMMAND:             result = "Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound). "
  Case #FMOD_ERR_CDDA_DRIVERS:           result = "Neither NTSCSI nor ASPI could be initialised. "
  Case #FMOD_ERR_CDDA_INIT:              result = "An error occurred while initialising the CDDA subsystem. "
  Case #FMOD_ERR_CDDA_INVALID_DEVICE:    result = "Couldn;t find the specified device. "
  Case #FMOD_ERR_CDDA_NOAUDIO:           result = "No audio tracks on the specified disc. "
  Case #FMOD_ERR_CDDA_NODEVICES:         result = "No CD/DVD devices were found. "
  Case #FMOD_ERR_CDDA_NODISC:            result = "No disc present in the specified drive. "
  Case #FMOD_ERR_CDDA_READ:              result = "A CDDA read error occurred. "
  Case #FMOD_ERR_CHANNEL_ALLOC:          result = "Error trying to allocate a channel. "
  Case #FMOD_ERR_CHANNEL_STOLEN:         result = "The specified channel has been reused to play another sound. "
  Case #FMOD_ERR_COM:                    result = "A Win32 COM related error occured. COM failed to initialize or a QueryInterface failed meaning a Windows codec or driver was not installed properly. "
  Case #FMOD_ERR_DMA:                    result = "DMA Failure.  See debug output for more information. "
  Case #FMOD_ERR_DSP_CONNECTION:         result = "DSP connection error.  Connection possibly caused a cyclic dependancy. "
  Case #FMOD_ERR_DSP_FORMAT:             result = "DSP Format error.  A DSP unit may have attempted to connect to this network with the wrong format. "
  Case #FMOD_ERR_DSP_NOTFOUND:           result = "DSP connection error.  Couldn;t find the DSP unit specified. "
  Case #FMOD_ERR_DSP_RUNNING:            result = "DSP error.  Cannot perform this operation while the network is in the middle of running.  This will most likely happen if a connection or disconnection is attempted in a DSP callback. "
  Case #FMOD_ERR_DSP_TOOMANYCONNECTIONS: result = "DSP connection error.  The unit being connected to or disconnected should only have 1 input or output. "
  Case #FMOD_ERR_FILE_BAD:               result = "Error loading file. "
  Case #FMOD_ERR_FILE_COULDNOTSEEK:      result = "Couldn;t perform seek operation.  This is a limitation of the medium (ie netstreams) or the file format. "
  Case #FMOD_ERR_FILE_EOF:               result = "End of file unexpectedly reached while trying to read essential data (truncated data?). "
  Case #FMOD_ERR_FILE_NOTFOUND:          result = "File not found. "
  Case #FMOD_ERR_FILE_UNWANTED:          result = "Unwanted file access occured."
  Case #FMOD_ERR_FORMAT:                 result = "Unsupported file or audio format. "
  Case #FMOD_ERR_HTTP:                   result = "A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere. "
  Case #FMOD_ERR_HTTP_ACCESS:            result = "The specified resource requires authentication or is forbidden. "
  Case #FMOD_ERR_HTTP_PROXY_AUTH:        result = "Proxy authentication is required to access the specified resource. "
  Case #FMOD_ERR_HTTP_SERVER_ERROR:      result = "A HTTP server error occurred. "
  Case #FMOD_ERR_HTTP_TIMEOUT:           result = "The HTTP request timed out. "
  Case #FMOD_ERR_INITIALIZATION:         result = "FMOD was not initialized correctly to support this function. "
  Case #FMOD_ERR_INITIALIZED:            result = "Cannot call this command after System::init. "
  Case #FMOD_ERR_INTERNAL:               result = "An error occured that wasnt supposed to.  Contact support. "
  Case #FMOD_ERR_INVALID_ADDRESS:        result = "On Xbox 360, this memory address passed to FMOD must be physical, (ie allocated with XPhysicalAlloc.)"
  Case #FMOD_ERR_INVALID_FLOAT:          result = "Value passed in was a NaN, Inf or denormalized float."
  Case #FMOD_ERR_INVALID_HANDLE:         result = "An invalid object handle was used. "
  Case #FMOD_ERR_INVALID_PARAM:          result = "An invalid parameter was passed to this function. "
  Case #FMOD_ERR_INVALID_SPEAKER:        result = "An invalid speaker was passed to this function based on the current speaker mode. "
  Case #FMOD_ERR_INVALID_VECTOR:         result = "The vectors passed in are not unit length, or perpendicular."
  ;Case #FMOD_ERR_IRX:                    result = "PS2 only.  fmodex.irx failed to initialize.  This is most likely because you forgot to load it. "
  Case #FMOD_ERR_MEMORY:                 result = "Not enough memory or resources. "
  ;Case #FMOD_ERR_MEMORY_IOP:             result = "PS2 only.  Not enough memory or resources on PlayStation 2 IOP ram. "
  Case #FMOD_ERR_MEMORY_SRAM:            result = "Not enough memory or resources on console sound ram. "
  Case #FMOD_ERR_MEMORY_CANTPOINT:       result = "Can;t use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used."
  Case #FMOD_ERR_NEEDS2D:                result = "Tried to call a command on a 3d sound when the command was meant for 2d sound. "
  Case #FMOD_ERR_NEEDS3D:                result = "Tried to call a command on a 2d sound when the command was meant for 3d sound. "
  Case #FMOD_ERR_NEEDSHARDWARE:          result = "Tried to use a feature that requires hardware support.  (ie trying to play a VAG compressed sound in software on PS2). "
  Case #FMOD_ERR_NEEDSSOFTWARE:          result = "Tried to use a feature that requires the software engine.  Software engine has either been turned off, or command was executed on a hardware channel which does not support this feature. "
  Case #FMOD_ERR_NET_CONNECT:            result = "Couldn;t connect to the specified host. "
  Case #FMOD_ERR_NET_SOCKET_ERROR:       result = "A socket error occurred.  This is a catch-all for socket-related errors not listed elsewhere. "
  Case #FMOD_ERR_NET_URL:                result = "The specified URL couldn;t be resolved. "
  Case #FMOD_ERR_NOTREADY:               result = "Operation could not be performed because specified sound is not ready. "
  Case #FMOD_ERR_OUTPUT_ALLOCATED:       result = "Error initializing output device, but more specifically, the output device is already in use and cannot be reused. "
  Case #FMOD_ERR_OUTPUT_CREATEBUFFER:    result = "Error creating hardware sound buffer. "
  Case #FMOD_ERR_OUTPUT_DRIVERCALL:      result = "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted. "
  Case #FMOD_ERR_OUTPUT_FORMAT:          result = "Soundcard does not support the minimum features needed for this soundsystem (16bit stereo output). "
  Case #FMOD_ERR_OUTPUT_INIT:            result = "Error initializing output device. "
  Case #FMOD_ERR_OUTPUT_NOHARDWARE:      result = "FMOD_HARDWARE was specified but the sound card does not have the resources nescessary to play it. "
  Case #FMOD_ERR_OUTPUT_NOSOFTWARE:      result = "Attempted to create a software sound but no software channels were specified in System::init. "
  Case #FMOD_ERR_PAN:                    result = "Panning only works with mono or stereo sound sources. "
  Case #FMOD_ERR_PLUGIN:                 result = "An unspecified error has been  = ed from a 3rd party plugin. "
  Case #FMOD_ERR_PLUGIN_MISSING:         result = "A requested output, dsp unit type or codec was not available. "
  Case #FMOD_ERR_PLUGIN_RESOURCE:        result = "A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback) "
  Case #FMOD_ERR_RECORD:                 result = "An error occured trying to initialize the recording device. "
  Case #FMOD_ERR_REVERB_INSTANCE:        result = "Specified Instance in FMOD_REVERB_PROPERTIES couldn;t be set. Most likely because another application has locked the EAX4 FX slot. "
  Case #FMOD_ERR_SUBSOUNDS:              result = "The error occured because the sound referenced contains subsounds.  (ie you cannot play the parent sound as a static sample, only its subsounds.) "
  Case #FMOD_ERR_SUBSOUND_ALLOCATED:     result = "This subsound is already being used by another sound, you cannot have more than one parent to a sound.  Null out the other parent;s entry first. "
  Case #FMOD_ERR_TAGNOTFOUND:            result = "The specified tag could not be found or there are no tags. "
  Case #FMOD_ERR_TOOMANYCHANNELS:        result = "The sound created exceeds the allowable input channel count.  This can be increased using the maxinputchannels parameter in System::setSoftwareFormat."
  Case #FMOD_ERR_UNIMPLEMENTED:          result = "Something in FMOD hasn;t been implemented when it should be! contact support! "
  Case #FMOD_ERR_UNINITIALIZED:          result = "This command failed because System::init or System::setDriver was not called. "
  Case #FMOD_ERR_UNSUPPORTED:            result = "A command issued was not supported by this object.  Possibly a plugin without certain callbacks specified. "
  Case #FMOD_ERR_UPDATE:                 result = "On PS2, System::update was called twice in a row when System::updateFinished must be called first. "
  Case #FMOD_ERR_VERSION:                result = "The version number of this file format is not supported. "
  Case #FMOD_ERR_EVENT_FAILED:           result = "An Event failed to be retrieved, most likely due to ;just fail' being specified as the max playbacks behaviour."
  Case #FMOD_ERR_EVENT_INTERNAL:         result = "An error occured that wasn;t supposed to.  See debug log for reason."
  Case #FMOD_ERR_EVENT_NAMECONFLICT:     result = "A category with the same name already exists."
  Case #FMOD_ERR_EVENT_NOTFOUND:         result = "The requested event, event group, event category or event property could not be found."
  Default:                               result = "Unknown error."
 EndSelect
 ProcedureReturn result
EndProcedure
__________________________________________________
Leerzeichen hinzugefügt, so dass umgebrochen wird
19.03.2015
RSBasic
PB 5.31 (x86) & (x64) Win10
Benutzeravatar
Grillmeister
Beiträge: 23
Registriert: 17.04.2008 09:54
Wohnort: Hannover
Kontaktdaten:

Re: fmodex include

Beitrag von Grillmeister »

Moin !

Habe die Include noch mal auf die letzte fmodex.dll angepasst, vielleicht kann es ja jemand gebrauchen:

Code: Alles auswählen

; Erneuert am 19.März 2015
; Author: Grillmeister
; fmod.dll Version: 0.4.44.51
; PB Version: 5.24 LTS(x86)
;
; Zusätzlich benötigt werden:
; fmodex.dll     Download hier: http://www.fmod.org/download/fmodex/tool/win/fmoddesigner44451win-installer.exe
; fmodex_vc.lib  Ist im Fmod Ex Designer enthalten.
; 
;fmodex 4.44.51 Include
;fmodex.dll
;fmodex_vc.lib
;fmodex.pbi

; Forum:
;http://forums.purebasic.com/german/viewtopic.php?f=8&t=18082&hilit=fmod+include+file&sid=f8554dcf49dc8ea4db14c5e531e2e91c

;fmodex 4.20.00 Include
;fmodex.dll
;fmodex.lib
;fmodex.pbi

;LastEdit: 31.08.2008, Kai

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Enumeration
Enumeration ; FMOD_CHANNELINDEX
 #FMOD_CHANNEL_FREE  = -1
 #FMOD_CHANNEL_REUSE = -2
EndEnumeration

Enumeration ; FMOD_CHANNEL_CALLBACKTYPE
 #FMOD_CHANNEL_CALLBACKTYPE_END
 #FMOD_CHANNEL_CALLBACKTYPE_VIRTUALVOICE
 #FMOD_CHANNEL_CALLBACKTYPE_SYNCPOINT
 #FMOD_CHANNEL_CALLBACKTYPE_OCCLUSION
 #FMOD_CHANNEL_CALLBACKTYPE_MAX
EndEnumeration

Enumeration ; FMOD_DELAYTYPE
 #FMOD_DELAYTYPE_END_MS
 #FMOD_DELAYTYPE_DSPCLOCK_START
 #FMOD_DELAYTYPE_DSPCLOCK_END
 #FMOD_DELAYTYPE_DSPCLOCK_PAUSE
 #FMOD_DELAYTYPE_MAX
EndEnumeration

Enumeration ; FMOD_DSP_CHORUS
 #FMOD_DSP_CHORUS_DRYMIX
 #FMOD_DSP_CHORUS_WETMIX1
 #FMOD_DSP_CHORUS_WETMIX2
 #FMOD_DSP_CHORUS_WETMIX3
 #FMOD_DSP_CHORUS_DELAY
 #FMOD_DSP_CHORUS_RATE
 #FMOD_DSP_CHORUS_DEPTH
EndEnumeration

Enumeration ; FMOD_DSP_COMPRESSOR
 #FMOD_DSP_COMPRESSOR_THRESHOLD
 #FMOD_DSP_COMPRESSOR_ATTACK
 #FMOD_DSP_COMPRESSOR_RELEASE
 #FMOD_DSP_COMPRESSOR_GAINMAKEUP
EndEnumeration

Enumeration ; FMOD_DSP_DISTORTION
 #FMOD_DSP_DISTORTION_LEVEL
EndEnumeration

Enumeration ; FMOD_DSP_ECHO
 #FMOD_DSP_ECHO_DELAY
 #FMOD_DSP_ECHO_DECAYRATIO
 #FMOD_DSP_ECHO_MAXCHANNELS
 #FMOD_DSP_ECHO_DRYMIX
 #FMOD_DSP_ECHO_WETMIX
EndEnumeration

Enumeration ; FMOD_DSP_FFT_WINDOW
 #FMOD_DSP_FFT_WINDOW_RECT
 #FMOD_DSP_FFT_WINDOW_TRIANGLE
 #FMOD_DSP_FFT_WINDOW_HAMMING
 #FMOD_DSP_FFT_WINDOW_HANNING
 #FMOD_DSP_FFT_WINDOW_BLACKMAN
 #FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
 #FMOD_DSP_FFT_WINDOW_MAX
EndEnumeration

Enumeration ; FMOD_DSP_FLANGE
 #FMOD_DSP_FLANGE_DRYMIX
 #FMOD_DSP_FLANGE_WETMIX
 #FMOD_DSP_FLANGE_DEPTH
 #FMOD_DSP_FLANGE_RATE
EndEnumeration

Enumeration ; FMOD_DSP_HIGHPASS
 #FMOD_DSP_HIGHPASS_CUTOFF
EndEnumeration

Enumeration ; FMOD_DSP_ITECHO
 #FMOD_DSP_ITECHO_WETDRYMIX
 #FMOD_DSP_ITECHO_FEEDBACK
 #FMOD_DSP_ITECHO_LEFTDELAY
 #FMOD_DSP_ITECHO_RIGHTDELAY
 #FMOD_DSP_ITECHO_PANDELAY
EndEnumeration

Enumeration ; FMOD_DSP_ITLOWPASS
 #FMOD_DSP_ITLOWPASS_CUTOFF
 #FMOD_DSP_ITLOWPASS_RESONANCE
EndEnumeration

Enumeration ; FMOD_DSP_LOWPASS
 #FMOD_DSP_LOWPASS_CUTOFF
EndEnumeration

Enumeration ; FMOD_DSP_LOWPASS_SIMPLE
 #FMOD_DSP_LOWPASS_SIMPLE_CUTOFF
EndEnumeration

Enumeration ; FMOD_DSP_NORMALIZE
 #FMOD_DSP_NORMALIZE_FADETIME
 #FMOD_DSP_NORMALIZE_THRESHHOLD
 #FMOD_DSP_NORMALIZE_MAXAMP
EndEnumeration

Enumeration ; FMOD_DSP_OSCILLATOR
 #FMOD_DSP_OSCILLATOR_TYPE
 #FMOD_DSP_OSCILLATOR_RATE
EndEnumeration

Enumeration ; FMOD_DSP_PARAMEQ
 #FMOD_DSP_PARAMEQ_CENTER
 #FMOD_DSP_PARAMEQ_BANDWIDTH
 #FMOD_DSP_PARAMEQ_GAIN
EndEnumeration

Enumeration ; FMOD_DSP_PITCHSHIFT
 #FMOD_DSP_PITCHSHIFT_PITCH
 #FMOD_DSP_PITCHSHIFT_FFTSIZE
 #FMOD_DSP_PITCHSHIFT_OVERLAP
 #FMOD_DSP_PITCHSHIFT_MAXCHANNELS
EndEnumeration

Enumeration ; FMOD_DSP_RESAMPLER
 #FMOD_DSP_RESAMPLER_NOINTERP
 #FMOD_DSP_RESAMPLER_LINEAR
 #FMOD_DSP_RESAMPLER_CUBIC
 #FMOD_DSP_RESAMPLER_SPLINE
 #FMOD_DSP_RESAMPLER_MAX
EndEnumeration

Enumeration ; FMOD_DSP_REVERB
 #FMOD_DSP_REVERB_ROOMSIZE
 #FMOD_DSP_REVERB_DAMP
 #FMOD_DSP_REVERB_WETMIX
 #FMOD_DSP_REVERB_DRYMIX
 #FMOD_DSP_REVERB_WIDTH
 #FMOD_DSP_REVERB_MODE
EndEnumeration

Enumeration ; FMOD_DSP_SFXREVERB
 #FMOD_DSP_SFXREVERB_DRYLEVEL
 #FMOD_DSP_SFXREVERB_ROOM
 #FMOD_DSP_SFXREVERB_ROOMHF
 #FMOD_DSP_SFXREVERB_DECAYTIME
 #FMOD_DSP_SFXREVERB_DECAYHFRATIO
 #FMOD_DSP_SFXREVERB_REFLECTIONSLEVEL
 #FMOD_DSP_SFXREVERB_REFLECTIONSDELAY
 #FMOD_DSP_SFXREVERB_REVERBLEVEL
 #FMOD_DSP_SFXREVERB_REVERBDELAY
 #FMOD_DSP_SFXREVERB_DIFFUSION
 #FMOD_DSP_SFXREVERB_DENSITY
 #FMOD_DSP_SFXREVERB_HFREFERENCE
 #FMOD_DSP_SFXREVERB_ROOMLF
 #FMOD_DSP_SFXREVERB_LFREFERENCE
EndEnumeration

Enumeration ; FMOD_DSP_TYPE
 #FMOD_DSP_TYPE_UNKNOWN
 #FMOD_DSP_TYPE_MIXER
 #FMOD_DSP_TYPE_OSCILLATOR
 #FMOD_DSP_TYPE_LOWPASS
 #FMOD_DSP_TYPE_ITLOWPASS
 #FMOD_DSP_TYPE_HIGHPASS
 #FMOD_DSP_TYPE_ECHO
 #FMOD_DSP_TYPE_FLANGE
 #FMOD_DSP_TYPE_DISTORTION
 #FMOD_DSP_TYPE_NORMALIZE
 #FMOD_DSP_TYPE_PARAMEQ
 #FMOD_DSP_TYPE_PITCHSHIFT
 #FMOD_DSP_TYPE_CHORUS
 #FMOD_DSP_TYPE_REVERB
 #FMOD_DSP_TYPE_VSTPLUGIN
 #FMOD_DSP_TYPE_WINAMPPLUGIN
 #FMOD_DSP_TYPE_ITECHO
 #FMOD_DSP_TYPE_COMPRESSOR
 #FMOD_DSP_TYPE_SFXREVERB
 #FMOD_DSP_TYPE_LOWPASS_SIMPLE
EndEnumeration

Enumeration ; FMOD_EVENTPROPERTY_TYPE
 #FMOD_EVENTPROPERTY_TYPE_INT
 #FMOD_EVENTPROPERTY_TYPE_FLOAT
 #FMOD_EVENTPROPERTY_TYPE_STRING
EndEnumeration

Enumeration ; FMOD_MEMTYPE
 #FMOD_MEMTYPE_OTHER
 #FMOD_MEMTYPE_STRING
 #FMOD_MEMTYPE_SYSTEM
 #FMOD_MEMTYPE_RECORDBUFFER
 #FMOD_MEMTYPE_PLUGINS
 #FMOD_MEMTYPE_OUTPUTMODULE
 #FMOD_MEMTYPE_SPEAKERLEVELSPOOL
 #FMOD_MEMTYPE_CHANNELI
 #FMOD_MEMTYPE_CHANNELPOOL
 #FMOD_MEMTYPE_CHANNELREAL
 #FMOD_MEMTYPE_CHANNELGROUP
 #FMOD_MEMTYPE_SOUNDI
 #FMOD_MEMTYPE_SOUNDGROUP
 #FMOD_MEMTYPE_SAMPLE
 #FMOD_MEMTYPE_DSPCONNECTION
 #FMOD_MEMTYPE_DSPCONNECTIONPOOL
 #FMOD_MEMTYPE_DSPI
 #FMOD_MEMTYPE_DSPCODEC
 #FMOD_MEMTYPE_DSPUNIT
 #FMOD_MEMTYPE_REVERBI
 #FMOD_MEMTYPE_REVERBCHANNELPROPS
 #FMOD_MEMTYPE_GEOMETRY
 #FMOD_MEMTYPE_EVENTSYSTEM
 #FMOD_MEMTYPE_MUSICSYSTEM
 #FMOD_MEMTYPE_FEV
 #FMOD_MEMTYPE_MEMORYFSB
 #FMOD_MEMTYPE_EVENTPROJECT
 #FMOD_MEMTYPE_EVENTGROUPI
 #FMOD_MEMTYPE_SOUNDBANKCLASS
 #FMOD_MEMTYPE_SOUNDBANKLIST
 #FMOD_MEMTYPE_STREAMINSTANCE
 #FMOD_MEMTYPE_SOUNDDEFCLASS
 #FMOD_MEMTYPE_SOUNDDEFDEFCLASS
 #FMOD_MEMTYPE_SOUNDDEFPOOL
 #FMOD_MEMTYPE_REVERBDEF
 #FMOD_MEMTYPE_EVENTREVERB
 #FMOD_MEMTYPE_USERPROPERTY
 #FMOD_MEMTYPE_EVENTINSTANCE
 #FMOD_MEMTYPE_EVENTINSTANCE_COMPLEX
 #FMOD_MEMTYPE_EVENTINSTANCE_SIMPLE
 #FMOD_MEMTYPE_EVENTINSTANCE_LAYER
 #FMOD_MEMTYPE_EVENTINSTANCE_SOUND
 #FMOD_MEMTYPE_EVENTENVELOPE
 #FMOD_MEMTYPE_EVENTENVELOPEDEF
 #FMOD_MEMTYPE_EVENTPARAMETER
 #FMOD_MEMTYPE_EVENTCATEGORY
 #FMOD_MEMTYPE_EVENTENVELOPEPOINT
 #FMOD_MEMTYPE_MAX
EndEnumeration

Enumeration ; FMOD_OPENSTATE
 #FMOD_OPENSTATE_READY
 #FMOD_OPENSTATE_LOADING
 #FMOD_OPENSTATE_ERROR
 #FMOD_OPENSTATE_CONNECTING
 #FMOD_OPENSTATE_BUFFERING
 #FMOD_OPENSTATE_SEEKING
 #FMOD_OPENSTATE_PLAYING
 #FMOD_OPENSTATE_SETPOSITION
 #FMOD_OPENSTATE_MAX
EndEnumeration

Enumeration ; FMOD_OUTPUTTYPE
 #FMOD_OUTPUTTYPE_AUTODETECT
 #FMOD_OUTPUTTYPE_UNKNOWN
 #FMOD_OUTPUTTYPE_NOSOUND
 #FMOD_OUTPUTTYPE_WAVWRITER
 #FMOD_OUTPUTTYPE_NOSOUND_NRT
 #FMOD_OUTPUTTYPE_WAVWRITER_NRT
 #FMOD_OUTPUTTYPE_DSOUND
 #FMOD_OUTPUTTYPE_WINMM
 #FMOD_OUTPUTTYPE_WASAPI
 #FMOD_OUTPUTTYPE_ASIO
 #FMOD_OUTPUTTYPE_OSS
 #FMOD_OUTPUTTYPE_ALSA
 #FMOD_OUTPUTTYPE_ESD
 #FMOD_OUTPUTTYPE_PULSEAUDIO
 #FMOD_OUTPUTTYPE_COREAUDIO
 #FMOD_OUTPUTTYPE_XBOX360
 #FMOD_OUTPUTTYPE_PSP
 #FMOD_OUTPUTTYPE_PS3
 #FMOD_OUTPUTTYPE_NGP
 #FMOD_OUTPUTTYPE_WII
 #FMOD_OUTPUTTYPE_3DS
 #FMOD_OUTPUTTYPE_AUDIOTRACK
 #FMOD_OUTPUTTYPE_OPENSL
 #FMOD_OUTPUTTYPE_NACL
 #FMOD_OUTPUTTYPE_WIIU
 #FMOD_OUTPUTTYPE_ASOUND
 #FMOD_OUTPUTTYPE_AUDIOOUT
 #FMOD_OUTPUTTYPE_XAUDIO
 #FMOD_OUTPUTTYPE_MAX
EndEnumeration

Enumeration ; FMOD_PLUGINTYPE
 #FMOD_PLUGINTYPE_OUTPUT
 #FMOD_PLUGINTYPE_CODEC
 #FMOD_PLUGINTYPE_DSP
 #FMOD_PLUGINTYPE_MAX
EndEnumeration

Global fmodLib.l
Procedure Init_FMOD()
  fmodLib = OpenLibrary(#PB_Any, "fmodex.dll")
  ProcedureReturn IsLibrary(fmodLib)
EndProcedure

Enumeration ; FMOD_RESULT
  #FMOD_OK
  #FMOD_ERR_ALREADYLOCKED
  #FMOD_ERR_BADCOMMAND
  #FMOD_ERR_CDDA_DRIVERS
  #FMOD_ERR_CDDA_INIT
  #FMOD_ERR_CDDA_INVALID_DEVICE
  #FMOD_ERR_CDDA_NOAUDIO
  #FMOD_ERR_CDDA_NODEVICES
  #FMOD_ERR_CDDA_NODISC
  #FMOD_ERR_CDDA_READ
  #FMOD_ERR_CHANNEL_ALLOC
  #FMOD_ERR_CHANNEL_STOLEN
  #FMOD_ERR_COM
  #FMOD_ERR_DMA
  #FMOD_ERR_DSP_CONNECTION
  #FMOD_ERR_DSP_FORMAT
  #FMOD_ERR_DSP_NOTFOUND
  #FMOD_ERR_DSP_RUNNING
  #FMOD_ERR_DSP_TOOMANYCONNECTIONS
  #FMOD_ERR_FILE_BAD
  #FMOD_ERR_FILE_COULDNOTSEEK
  #FMOD_ERR_FILE_DISKEJECTED
  #FMOD_ERR_FILE_EOF
  #FMOD_ERR_FILE_NOTFOUND
  #FMOD_ERR_FILE_UNWANTED
  #FMOD_ERR_FORMAT
  #FMOD_ERR_HTTP
  #FMOD_ERR_HTTP_ACCESS
  #FMOD_ERR_HTTP_PROXY_AUTH
  #FMOD_ERR_HTTP_SERVER_ERROR
  #FMOD_ERR_HTTP_TIMEOUT
  #FMOD_ERR_INITIALIZATION
  #FMOD_ERR_INITIALIZED
  #FMOD_ERR_INTERNAL
  #FMOD_ERR_INVALID_ADDRESS
  #FMOD_ERR_INVALID_FLOAT
  #FMOD_ERR_INVALID_HANDLE
  #FMOD_ERR_INVALID_PARAM
  #FMOD_ERR_INVALID_POSITION
  #FMOD_ERR_INVALID_SPEAKER
  #FMOD_ERR_INVALID_SYNCPOINT
  #FMOD_ERR_INVALID_VECTOR
  #FMOD_ERR_MAXAUDIBLE
  #FMOD_ERR_MEMORY
  #FMOD_ERR_MEMORY_CANTPOINT
  #FMOD_ERR_MEMORY_SRAM
  #FMOD_ERR_NEEDS2D
  #FMOD_ERR_NEEDS3D
  #FMOD_ERR_NEEDSHARDWARE
  #FMOD_ERR_NEEDSSOFTWARE
  #FMOD_ERR_NET_CONNECT
  #FMOD_ERR_NET_SOCKET_ERROR
  #FMOD_ERR_NET_URL
  #FMOD_ERR_NET_WOULD_BLOCK
  #FMOD_ERR_NOTREADY
  #FMOD_ERR_OUTPUT_ALLOCATED
  #FMOD_ERR_OUTPUT_CREATEBUFFER
  #FMOD_ERR_OUTPUT_DRIVERCALL
  #FMOD_ERR_OUTPUT_ENUMERATION
  #FMOD_ERR_OUTPUT_FORMAT
  #FMOD_ERR_OUTPUT_INIT
  #FMOD_ERR_OUTPUT_NOHARDWARE
  #FMOD_ERR_OUTPUT_NOSOFTWARE
  #FMOD_ERR_PAN
  #FMOD_ERR_PLUGIN
  #FMOD_ERR_PLUGIN_INSTANCES
  #FMOD_ERR_PLUGIN_MISSING
  #FMOD_ERR_PLUGIN_RESOURCE
  #FMOD_ERR_PRELOADED
  #FMOD_ERR_PROGRAMMERSOUND
  #FMOD_ERR_RECORD
  #FMOD_ERR_REVERB_INSTANCE
  #FMOD_ERR_SUBSOUND_ALLOCATED
  #FMOD_ERR_SUBSOUND_CANTMOVE
  #FMOD_ERR_SUBSOUND_MODE
  #FMOD_ERR_SUBSOUNDS
  #FMOD_ERR_TAGNOTFOUND
  #FMOD_ERR_TOOMANYCHANNELS
  #FMOD_ERR_UNIMPLEMENTED
  #FMOD_ERR_UNINITIALIZED
  #FMOD_ERR_UNSUPPORTED
  #FMOD_ERR_UPDATE
  #FMOD_ERR_VERSION
  #FMOD_ERR_EVENT_FAILED
  #FMOD_ERR_EVENT_INFOONLY
  #FMOD_ERR_EVENT_INTERNAL
  #FMOD_ERR_EVENT_MAXSTREAMS
  #FMOD_ERR_EVENT_MISMATCH
  #FMOD_ERR_EVENT_NAMECONFLICT
  #FMOD_ERR_EVENT_NOTFOUND
  #FMOD_ERR_EVENT_NEEDSSIMPLE
  #FMOD_ERR_EVENT_GUIDCONFLICT
  #FMOD_ERR_EVENT_ALREADY_LOADED
  #FMOD_ERR_MUSIC_UNINITIALIZED
  #FMOD_ERR_MUSIC_NOTFOUND
  #FMOD_ERR_MUSIC_NOCALLBACK
EndEnumeration

Enumeration ; FMOD_SOUNDGROUP_BEHAVIOR
 #FMOD_SOUNDGROUP_BEHAVIOR_FAIL
 #FMOD_SOUNDGROUP_BEHAVIOR_MUTE
 #FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST
 #FMOD_SOUNDGROUP_BEHAVIOR_MAX
EndEnumeration

Enumeration ; FMOD_SOUND_FORMAT
 #FMOD_SOUND_FORMAT_NONE
 #FMOD_SOUND_FORMAT_PCM8
 #FMOD_SOUND_FORMAT_PCM16
 #FMOD_SOUND_FORMAT_PCM24
 #FMOD_SOUND_FORMAT_PCM32
 #FMOD_SOUND_FORMAT_PCMFLOAT
 #FMOD_SOUND_FORMAT_GCADPCM
 #FMOD_SOUND_FORMAT_IMAADPCM
 #FMOD_SOUND_FORMAT_VAG
 #FMOD_SOUND_FORMAT_HEVAG
 #FMOD_SOUND_FORMAT_XMA
 #FMOD_SOUND_FORMAT_MPEG
 #FMOD_SOUND_FORMAT_CELT
 #FMOD_SOUND_FORMAT_AT9
 #FMOD_SOUND_FORMAT_XWMA
 #FMOD_SOUND_FORMAT_VORBIS
 #FMOD_SOUND_FORMAT_MAX
EndEnumeration

Enumeration ; FMOD_SOUND_TYPE
 #FMOD_SOUND_TYPE_UNKNOWN
 #FMOD_SOUND_TYPE_AIFF
 #FMOD_SOUND_TYPE_ASF
 #FMOD_SOUND_TYPE_AT3
 #FMOD_SOUND_TYPE_CDDA
 #FMOD_SOUND_TYPE_DLS
 #FMOD_SOUND_TYPE_FLAC
 #FMOD_SOUND_TYPE_FSB
 #FMOD_SOUND_TYPE_GCADPCM
 #FMOD_SOUND_TYPE_IT
 #FMOD_SOUND_TYPE_MIDI
 #FMOD_SOUND_TYPE_MOD
 #FMOD_SOUND_TYPE_MPEG
 #FMOD_SOUND_TYPE_OGGVORBIS
 #FMOD_SOUND_TYPE_PLAYLIST
 #FMOD_SOUND_TYPE_RAW
 #FMOD_SOUND_TYPE_S3M
 #FMOD_SOUND_TYPE_SF2
 #FMOD_SOUND_TYPE_USER
 #FMOD_SOUND_TYPE_WAV
 #FMOD_SOUND_TYPE_XM
 #FMOD_SOUND_TYPE_XMA
 #FMOD_SOUND_TYPE_VAG
 #FMOD_SOUND_TYPE_AUDIOQUEUE
 #FMOD_SOUND_TYPE_XWMA
 #FMOD_SOUND_TYPE_BCWAV
 #FMOD_SOUND_TYPE_AT9
 #FMOD_SOUND_TYPE_VORBIS
 #FMOD_SOUND_TYPE_MEDIA_FOUNDATION
 #FMOD_SOUND_TYPE_MAX
EndEnumeration

Enumeration ; FMOD_SPEAKER
 #FMOD_SPEAKER_FRONT_LEFT
 #FMOD_SPEAKER_FRONT_RIGHT
 #FMOD_SPEAKER_FRONT_CENTER
 #FMOD_SPEAKER_LOW_FREQUENCY
 #FMOD_SPEAKER_BACK_LEFT
 #FMOD_SPEAKER_BACK_RIGHT
 #FMOD_SPEAKER_SIDE_LEFT
 #FMOD_SPEAKER_SIDE_RIGHT
 #FMOD_SPEAKER_MAX
 #FMOD_SPEAKER_MONO
 #FMOD_SPEAKER_NULL
 #FMOD_SPEAKER_SBL
 #FMOD_SPEAKER_SBR
EndEnumeration

Enumeration ; FMOD_SPEAKERMAPTYPE
 #FMOD_SPEAKERMAPTYPE_DEFAULT
 #FMOD_SPEAKERMAPTYPE_ALLMONO
 #FMOD_SPEAKERMAPTYPE_ALLSTEREO
 #FMOD_SPEAKERMAPTYPE_51_PROTOOLS
EndEnumeration

Enumeration ; FMOD_SPEAKERMODE
 #FMOD_SPEAKERMODE_RAW
 #FMOD_SPEAKERMODE_MONO
 #FMOD_SPEAKERMODE_STEREO
 #FMOD_SPEAKERMODE_QUAD
 #FMOD_SPEAKERMODE_SURROUND
 #FMOD_SPEAKERMODE_5POINT1
 #FMOD_SPEAKERMODE_7POINT1
 #FMOD_SPEAKERMODE_SRS5_1_MATRIX
 #FMOD_SPEAKERMODE_DOLBY5_1_MATRIX
 #FMOD_SPEAKERMODE_MYEARS
 #FMOD_SPEAKERMODE_MAX
EndEnumeration

Enumeration ; FMOD_SYSTEM_CALLBACKTYPE
 #FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED
 #FMOD_SYSTEM_CALLBACKTYPE_DEVICELOST
 #FMOD_SYSTEM_CALLBACKTYPE_MEMORYALLOCATIONFAILED
 #FMOD_SYSTEM_CALLBACKTYPE_THREADCREATED
 #FMOD_SYSTEM_CALLBACKTYPE_BADDSPCONNECTION
 #FMOD_SYSTEM_CALLBACKTYPE_BADDSPLEVEL
 #FMOD_SYSTEM_CALLBACKTYPE_THREADDESTROYED
 #FMOD_SYSTEM_CALLBACKTYPE_MAX
EndEnumeration

Enumeration ; FMOD_TAGDATATYPE
 #FMOD_TAGDATATYPE_BINARY
 #FMOD_TAGDATATYPE_INT
 #FMOD_TAGDATATYPE_FLOAT
 #FMOD_TAGDATATYPE_STRING
 #FMOD_TAGDATATYPE_STRING_UTF16
 #FMOD_TAGDATATYPE_STRING_UTF16BE
 #FMOD_TAGDATATYPE_STRING_UTF8
 #FMOD_TAGDATATYPE_CDTOC
 #FMOD_TAGDATATYPE_MAX
EndEnumeration

Enumeration ; FMOD_TAGTYPE
 #FMOD_TAGTYPE_UNKNOWN
 #FMOD_TAGTYPE_ID3V1
 #FMOD_TAGTYPE_ID3V2
 #FMOD_TAGTYPE_VORBISCOMMENT
 #FMOD_TAGTYPE_SHOUTCAST
 #FMOD_TAGTYPE_ICECAST
 #FMOD_TAGTYPE_ASF
 #FMOD_TAGTYPE_MIDI
 #FMOD_TAGTYPE_PLAYLIST
 #FMOD_TAGTYPE_FMOD
 #FMOD_TAGTYPE_USER
 #FMOD_TAGTYPE_MAX
EndEnumeration

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Defines
#FMOD_VERSION = $42000

Enumeration ; FMOD_CAPS
 #FMOD_CAPS_NONE                   = $0
 #FMOD_CAPS_HARDWARE               = $1
 #FMOD_CAPS_HARDWARE_EMULATED      = $2
 #FMOD_CAPS_OUTPUT_MULTICHANNEL    = $4
 #FMOD_CAPS_OUTPUT_FORMAT_PCM8     = $8
 #FMOD_CAPS_OUTPUT_FORMAT_PCM16    = $10
 #FMOD_CAPS_OUTPUT_FORMAT_PCM24    = $20
 #FMOD_CAPS_OUTPUT_FORMAT_PCM32    = $40
 #FMOD_CAPS_OUTPUT_FORMAT_PCMFLOAT = $80
 #FMOD_CAPS_REVERB_LIMITED         = $2000
 #FMOD_CAPS_LOOPBACK               = $4000
EndEnumeration

Enumeration ; FMOD_DEBUGLEVEL
 #FMOD_DEBUG_LEVEL_NONE          = $0
 #FMOD_DEBUG_LEVEL_LOG           = $1
 #FMOD_DEBUG_LEVEL_ERROR         = $2
 #FMOD_DEBUG_LEVEL_WARNING       = $4
 #FMOD_DEBUG_LEVEL_HINT          = $8
 #FMOD_DEBUG_LEVEL_ALL           = $FF
 #FMOD_DEBUG_TYPE_MEMORY         = $100
 #FMOD_DEBUG_TYPE_THREAD         = $200
 #FMOD_DEBUG_TYPE_FILE           = $400
 #FMOD_DEBUG_TYPE_NET            = $800
 #FMOD_DEBUG_TYPE_EVENT          = $1000
 #FMOD_DEBUG_TYPE_ALL            = $FFFF
 #FMOD_DEBUG_DISPLAY_TIMESTAMPS  = $1000000
 #FMOD_DEBUG_DISPLAY_LINENUMBERS = $2000000
 #FMOD_DEBUG_DISPLAY_COMPRESS    = $4000000
 #FMOD_DEBUG_DISPLAY_THREAD      = $8000000
 #FMOD_DEBUG_DISPLAY_ALL         = $F000000
 #FMOD_DEBUG_ALL                 = $FFFFFFFF
EndEnumeration

Enumeration ; FMOD_INITFLAGS
 #FMOD_INIT_NORMAL                     = $0
 #FMOD_INIT_STREAM_FROM_UPDATE         = $1
 #FMOD_INIT_3D_RIGHTHANDED             = $2
 #FMOD_INIT_SOFTWARE_DISABLE           = $4
 #FMOD_INIT_OCCLUSION_LOWPASS          = $8
 #FMOD_INIT_HRTF_LOWPASS               = $10
 #FMOD_INIT_DISTANCE_FILTERING         = $200
 #FMOD_INIT_REVERB_PREALLOCBUFFERS     = $40
 #FMOD_INIT_ENABLE_PROFILE             = $20
 #FMOD_INIT_VOL0_BECOMES_VIRTUAL       = $80
 #FMOD_INIT_WASAPI_EXCLUSIVE           = $100
 #FMOD_INIT_PS3_PREFERDTS              = $800000
 #FMOD_INIT_PS3_FORCE2CHLPCM           = $1000000
 #FMOD_INIT_DISABLEDOLBY               = $100000
 #FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE   = $200000
 #FMOD_INIT_SYNCMIXERWITHUPDATE        = $400000
 #FMOD_INIT_GEOMETRY_USECLOSEST        = $4000000
 #FMOD_INIT_DISABLE_MYEARS_AUTODETECT  = $8000000
 #FMOD_INIT_PS3_DISABLEDTS             = $10000000
 #FMOD_INIT_PS3_DISABLEDOLBYDIGITAL    = $20000000
 #FMOD_INIT_7POINT1_DOLBYMAPPING       = $40000000
 #FMOD_INIT_ASYNCREAD_FAST             = $80000000
EndEnumeration

;Enumeration ; FMOD_MEMBITS
; #FMOD_MEMBITS_OTHER              = (1 << #FMOD_MEMTYPE_OTHER)
; #FMOD_MEMBITS_STRING             = (1 << #FMOD_MEMTYPE_STRING)
; #FMOD_MEMBITS_SYSTEM             = (1 << #FMOD_MEMTYPE_SYSTEM)
; #FMOD_MEMBITS_RECORDBUFFER       = (1 << #FMOD_MEMTYPE_RECORDBUFFER)
; #FMOD_MEMBITS_PLUGINS            = (1 << #FMOD_MEMTYPE_PLUGINS)
; #FMOD_MEMBITS_OUTPUTMODULE       = (1 << #FMOD_MEMTYPE_OUTPUTMODULE)
; #FMOD_MEMBITS_SPEAKERLEVELSPOOL  = (1 << #FMOD_MEMTYPE_SPEAKERLEVELSPOOL)
: #FMOD_MEMBITS_CHANNELI           = (1 << #FMOD_MEMTYPE_CHANNELI)
; #FMOD_MEMBITS_CHANNELPOOL        = (1 << #FMOD_MEMTYPE_CHANNELPOOL)
; #FMOD_MEMBITS_CHANNELREAL        = (1 << #FMOD_MEMTYPE_CHANNELREAL)
; #FMOD_MEMBITS_CHANNELGROUP       = (1 << #FMOD_MEMTYPE_CHANNELGROUP)
; #FMOD_MEMBITS_SOUNDI             = (1 << #FMOD_MEMTYPE_SOUNDI)
; #FMOD_MEMBITS_SOUNDGROUP         = (1 << #FMOD_MEMTYPE_SOUNDGROUP)
; #FMOD_MEMBITS_SAMPLE             = (1 << #FMOD_MEMTYPE_SAMPLE)
; #FMOD_MEMBITS_DSPCONNECTION      = (1 << #FMOD_MEMTYPE_DSPCONNECTION)
; #FMOD_MEMBITS_DSPCONNECTIONPOOL  = (1 << #FMOD_MEMTYPE_DSPCONNECTIONPOOL)
; #FMOD_MEMBITS_DSPI               = (1 << #FMOD_MEMTYPE_DSPI)
; #FMOD_MEMBITS_DSPCODEC           = (1 << #FMOD_MEMTYPE_DSPCODEC)
; #FMOD_MEMBITS_DSPUNIT            = (1 << #FMOD_MEMTYPE_DSPUNIT)
; #FMOD_MEMBITS_REVERBI            = (1 << #FMOD_MEMTYPE_REVERBI)
; #FMOD_MEMBITS_REVERBCHANNELPROPS = (1 << #FMOD_MEMTYPE_REVERBCHANNELPROPS)
; #FMOD_MEMBITS_GEOMETRY           = (1 << #FMOD_MEMTYPE_GEOMETRY)
; #FMOD_MEMBITS_ALL                = $FFFFFFFF
;EndEnumeration

Enumeration ; FMOD_MEMBITS
#FMOD_MEMBITS_OTHER                       = $1
#FMOD_MEMBITS_STRING                      = $2
#FMOD_MEMBITS_SYSTEM                      = $4
#FMOD_MEMBITS_PLUGINS                     = $8
#FMOD_MEMBITS_OUTPUT                      = $10
#FMOD_MEMBITS_CHANNEL                     = $20
#FMOD_MEMBITS_CHANNELGROUP                = $40
#FMOD_MEMBITS_CODEC                       = $80
#FMOD_MEMBITS_FILE                        = $100
#FMOD_MEMBITS_SOUND                       = $200 
#FMOD_MEMBITS_SOUND_SECONDARYRAM          = $400
#FMOD_MEMBITS_SOUNDGROUP                  = $800
#FMOD_MEMBITS_STREAMBUFFER                = $1000
#FMOD_MEMBITS_DSPCONNECTION               = $2000
#FMOD_MEMBITS_DSP                         = $4000
#FMOD_MEMBITS_DSPCODEC                    = $8000
#FMOD_MEMBITS_PROFILE                     = $10000
#FMOD_MEMBITS_RECORDBUFFER                = $20000
#FMOD_MEMBITS_REVERB                      = $40000
#FMOD_MEMBITS_REVERBCHANNELPROPS          = $80000
#FMOD_MEMBITS_GEOMETRY                    = $100000
#FMOD_MEMBITS_SYNCPOINT                   = $200000
#FMOD_MEMBITS_ALL                         = $ffffffff
EndEnumeration

Enumeration ; FMOD_MEMORY_TYPE
 #FMOD_MEMORY_NORMAL            = $0
 #FMOD_MEMORY_STREAM_FILE       = $1
 #FMOD_MEMORY_STREAM_DECODE     = $2
 #FMOD_MEMORY_SAMPLEDATA        = $4
 #FMOD_MEMORY_DSP_OUTPUTBUFFER  = $8
 #FMOD_MEMORY_XBOX360_PHYSICAL  = $100000
 #FMOD_MEMORY_PERSISTENT        = $200000
 #FMOD_MEMORY_SECONDARY         = $400000
 #FMOD_MEMORY_ALL               = $FFFFFFFF
EndEnumeration

Enumeration ; FMOD_MODE
 #FMOD_DEFAULT                   = $0
 #FMOD_LOOP_OFF                  = $1
 #FMOD_LOOP_NORMAL               = $2
 #FMOD_LOOP_BIDI                 = $4
 #FMOD_2D                        = $8
 #FMOD_3D                        = $10
 #FMOD_HARDWARE                  = $20
 #FMOD_SOFTWARE                  = $40
 #FMOD_CREATESTREAM              = $80
 #FMOD_CREATESAMPLE              = $100
 #FMOD_OPENUSER                  = $400
 #FMOD_OPENMEMORY                = $800
 #FMOD_OPENMEMORY_POINT          = $10000000
 #FMOD_OPENRAW                   = $1000
 #FMOD_OPENONLY                  = $2000
 #FMOD_ACCURATETIME              = $4000
 #FMOD_MPEGSEARCH                = $8000
 #FMOD_NONBLOCKING               = $10000
 #FMOD_UNIQUE                    = $20000
 #FMOD_3D_HEADRELATIVE           = $40000
 #FMOD_3D_WORLDRELATIVE          = $80000
 #FMOD_3D_INVERSEROLLOFF         = $100000
 #FMOD_3D_LINEARROLLOFF          = $200000
 #FMOD_3D_LINEARSQUAREROLLOFF    = $400000
 #FMOD_3D_CUSTOMROLLOFF          = $4000000
 #FMOD_3D_IGNOREGEOMETRY         = $40000000
 #FMOD_UNICODE                   = $1000000
 #FMOD_IGNORETAGS                = $2000000
 #FMOD_LOWMEM                    = $8000000
 #FMOD_LOADSECONDARYRAM          = $20000000
 #FMOD_VIRTUAL_PLAYFROMSTART     = $80000000
EndEnumeration

Enumeration ; FMOD_REVERB_CHANNELFLAGS
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE0     = $10
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE1     = $20
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE2     = $40
 #FMOD_REVERB_CHANNELFLAGS_INSTANCE3     = $80
 #FMOD_REVERB_CHANNELFLAGS_DEFAULT       = #FMOD_REVERB_CHANNELFLAGS_INSTANCE0
EndEnumeration

Enumeration ; FMOD_REVERB_FLAGS
 #FMOD_REVERB_FLAGS_HIGHQUALITYREVERB     = $400
 #FMOD_REVERB_FLAGS_HIGHQUALITYDPL2REVERB = $800
 #FMOD_REVERB_FLAGS_HARDWAREONLY          = $1000
 #FMOD_REVERB_FLAGS_DEFAULT               = $0
EndEnumeration

Enumeration ; FMOD_TIMEUNIT
 #FMOD_TIMEUNIT_MS                = $1
 #FMOD_TIMEUNIT_PCM               = $2
 #FMOD_TIMEUNIT_PCMBYTES          = $4
 #FMOD_TIMEUNIT_RAWBYTES          = $8
 #FMOD_TIMEUNIT_PCMFRACTION       = $10
 #FMOD_TIMEUNIT_MODORDER          = $100
 #FMOD_TIMEUNIT_MODROW            = $200
 #FMOD_TIMEUNIT_MODPATTERN        = $400
 #FMOD_TIMEUNIT_SENTENCE_MS       = $10000
 #FMOD_TIMEUNIT_SENTENCE_PCM      = $20000
 #FMOD_TIMEUNIT_SENTENCE_PCMBYTES = $40000
 #FMOD_TIMEUNIT_SENTENCE          = $80000
 #FMOD_TIMEUNIT_SENTENCE_SUBSOUND = $100000
 #FMOD_TIMEUNIT_BUFFERED          = $10000000
EndEnumeration

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Structures

Structure FMOD_ADVANCEDSETTINGS
 cbSize.i
 maxMPEGcodecs.i
 maxADPCMcodecs.i
 maxXMAcodecs.i
 maxCELTcodecs.i
 maxVORBIScodecs.i
 maxAT9Codecs.i
 maxPCMcodecs.i
 ASIONumChannels.i
 ASIOChannelList.i
 ASIOSpeakerList.i
 max3DReverbDSPs.i
 HRTFMinAngle.f
 HRTFMaxAngle.f
 HRTFFreq.f
 vol0virtualvol.f
 eventqueuesize.i
 defaultDecodeBufferSize.i
 debugLogFilename.b
 profileport.i
 geometryMaxFadeTime.i
 maxSpectrumWaveDataBuffers.i
 musicSystemCacheDelay.i
 distanceFilterCenterFreq.f
 stackSizeStream.i
 stackSizeNonBlocking.i
 stackSizeMixer.i
EndStructure

Structure FMOD_CDTOC
 numtracks.i
 min.i[100]
 sec.i[100]
 frame.i[100]
EndStructure

Structure FMOD_CODEC_DESCRIPTION
 name.s
 version.i
 defaultasstream.i
 timeunits.i
 open.i
 close.i
 Read.i
 getlength.i
 setposition.i
 getposition.i
 soundcreate.i
 getwaveformat.i
EndStructure

Structure FMOD_CODEC_STATE
 numsubsounds.i
 waveformat.i
 plugindata.i
 filehandle.i
 filesize.i
 fileread.i
 fileseek.i
 metadata.i
EndStructure

Structure FMOD_CODEC_WAVEFORMAT
 name.b[256]
 format.i
 channels.i
 frequency.i
 lengthbytes.i
 lengthpcm.i
 blockalign.i
 loopstart.i
 loopend.i
 mode.i
 channelmask.i
EndStructure

Structure FMOD_CREATESOUNDEXINFO
 cbSize.i
 length.i
 fileoffset.i
 numchannels.i
 defaultfrequency.i
 format.i
 decodebuffersize.i
 initialsubsound.i
 numsubsounds.i
 inclusionlist.i
 inclusionlistnum.i
 pcmreadcallback.i
 pcmsetposcallback.i
 nonblockcallback.i
 dlsname.s
 encryptionkey.s
 maxpolyphony.i
 userdata.i
 suggestedsoundtype.i
 useropen.i
 userclose.i
 userread.i
 userseek.i
 userasyncread.i
 userasynccancel.i
 speakermap.i
 initialsoundgroup.i
 initialseekposition.i
 initialseekpostype.i
 ignoresetfilesystem.i
 cddaforceaspi.i
 audioqueuepolicy.i
 minmidigranularity.i
 nonblockthreadid.i
EndStructure

Structure FMOD_DSP_DESCRIPTION
 name.b[32]
 version.i
 channels.i
 create.i
 release.i
 reset.i
 Read.i
 setposition.i
 numparameters.i
 paramdesc.i
 setparameter.i
 getparameter.i
 config.i
 configwidth.i
 configheight.i
 userdata.i
EndStructure

Structure FMOD_DSP_PARAMETERDESC
 min.f
 max.f
 defaultval.f
 name.s[16]
 label.s[16]
 description.s
EndStructure

Structure FMOD_DSP_STATE
 instance.i
 plugindata.i
 speakermask.i
EndStructure

Structure FMOD_GUID
 Data1.i
 Data2.i
 Data3.i
 Data4.b [8]
EndStructure

Structure FMOD_OUTPUT_DESCRIPTION
 name.s
 version.i
 polling.i
 getnumdrivers.i
 getdrivername.i
 getdrivercaps.i
 init.i
 close.i
 update.i
 gethandle.i
 getposition.i
 lock.i
 unlock.i
EndStructure

Structure FMOD_OUTPUT_STATE
 plugindata.i
 readfrommixer.i
EndStructure

Structure FMOD_REVERB_CHANNELPROPERTIES
 Direct.i
 Room.i
 flags.i
 ConnectionPoint.i
EndStructure

Structure FMOD_REVERB_PROPERTIES
 Instance.i
 Environment.i
 EnvDiffusion.f
 Room.i
 RoomHF.i
 RoomLF.i
 DecayTime.f
 DecayHFRatio.f
 DecayLFRatio.f
 Reflections.i
 ReflectionsDelay.f
 Reverb.i
 ReverbDelay.f
 ModulationTime.f
 ModulationDepth.f
 HFReference.f
 LFReference.f
 Diffusion.f
 Density.f
 flags.i
EndStructure

Structure FMOD_TAG
 type.i
 datatype.i
 name.i
 Data.i
 datalen.i
 udated.i
EndStructure

Structure FMOD_VECTOR
 x.f
 y.f
 z.f
EndStructure

;//////////////////////////////////////////////////////////////////////////////////////////////////
;- Functions
Import "fmodex_vc.lib"

;    FMOD global system functions (optional).

FMOD_Memory_Initialize ( poolmem.i, poollen.i, useralloc.i, userrealloc.i, userfree.i, memtypeflags.i )
FMOD_Memory_GetStats ( *currentalloced, *maxalloced, blocking.i )
FMOD_Debug_SetLevel( level.i )
FMOD_Debug_GetLevel( *level )
FMOD_File_SetDiskBusy( busy.i )
FMOD_File_GetDiskBusy( *busy )

;    FMOD System factory functions.Use this to create an FMOD System Instance.below you will see FMOD_System_Init/Close to get started.

FMOD_System_Create ( *system ) 
FMOD_System_Release( system.i ) 

;    'System' API

;   Pre-init functions.

FMOD_System_SetOutput( system.i, output.i )
FMOD_System_GetOutput( system.i, *output )
FMOD_System_GetNumDrivers( system.i, *numdrivers )
FMOD_System_GetDriverInfo( system.i, id, *name, namelen.i, *guid )
FMOD_System_GetDriverInfoW ( system.i, id, *name, namelen.i, *guid )
FMOD_System_GetDriverCaps( system.i, id, *caps, *controlpaneloutputrate, *controlpanelspeakermode )
FMOD_System_SetDriver( system.i, driver.i )
FMOD_System_GetDriver( system.i, *driver )
FMOD_System_SetHardwareChannels( system.i, numhardwarechannels.i )
FMOD_System_SetSoftwareChannels( system.i, numsoftwarechannels.i )
FMOD_System_GetSoftwareChannels( system.i, *numsoftwarechannels )
FMOD_System_SetSoftwareFormat( system.i, samplerate.i, format.i, numoutputchannels.i, maxinputchannels.i, resamplemethod.i )
FMOD_System_GetSoftwareFormat( system.i, *samplerate, *format, *numoutputchannels, *maxinputchannels, *resamplemethod, *bits )
FMOD_System_SetDSPBufferSize ( system.i, bufferlength.i, numbuffers.i )
FMOD_System_GetDSPBufferSize ( system.i, *bufferlength, *numbuffers )
FMOD_System_SetFileSystem( system.i, useropen.i, userclose.i, userread.i, userseek.i, userasyncread.i, userasynccancel.i, blockalign.i )
FMOD_System_AttachFileSystem ( system.i, useropen.i, userclose.i, userread.i, userseek.i )
FMOD_System_SetAdvancedSettings( system.i, settings.i )
FMOD_System_GetAdvancedSettings( system.i, *settings )
FMOD_System_SetSpeakerMode ( system.i, speakermode.i )
FMOD_System_GetSpeakerMode ( system.i, *speakermode )
FMOD_System_SetCallback( system.i, callback.i )

;   Plug-in support 

FMOD_System_SetPluginPath( system.i, path.s )
FMOD_System_LoadPlugin ( system.i, filename.s, *handle, priority.i )
FMOD_System_UnloadPlugin ( system.i, handle.i )
FMOD_System_GetNumPlugins( system.i, plugintype.i, *numplugins )
FMOD_System_GetPluginHandle( system.i, plugintype.i, index.i, *handle )
FMOD_System_GetPluginInfo( system.i, handle.i, *plugintype, *name, namelen.i, *version )
FMOD_System_SetOutputByPlugin( system.i, handle.i )
FMOD_System_GetOutputByPlugin( system.i, *handle )
FMOD_System_CreateDSPByPlugin( system.i, handle.i, *dsp )
FMOD_System_RegisterCodec( system.i, *description, *handle, priority.i )
FMOD_System_RegisterDSP( system.i, *description, *handle )

;   Init/Close

FMOD_System_Init ( system.i, maxchannels.i, flags.i, extradriverdata.i )
FMOD_System_Close( system.i )

;   General post-init system functions

FMOD_System_Update ( system.i )
FMOD_System_Set3DSettings( system.i, dopplerscale.f, distancefactor.f, rolloffscale.f )
FMOD_System_Get3DSettings( system.i, *dopplerscale, *distancefactor, *rolloffscale )
FMOD_System_Set3DNumListeners( system.i, numlisteners.i )
FMOD_System_Get3DNumListeners( system.i, *numlisteners )
FMOD_System_Set3DListenerAttributes( system.i, listener.i, *pos, *vel, *forward, *up )
FMOD_System_Get3DListenerAttributes( system.i, listener.i, *pos, *vel, *forward, *up )
FMOD_System_Set3DRolloffCallback ( system.i, callback.i )
FMOD_System_Set3DSpeakerPosition ( system.i, speaker.i, x.f, y.f, active.i )
FMOD_System_Get3DSpeakerPosition ( system.i, speaker.i, *x, *y, *active )
FMOD_System_SetStreamBufferSize( system.i, filebuffersize.i, filebuffersizetype.i )
FMOD_System_GetStreamBufferSize( system.i, *filebuffersize, *filebuffersizetype )

;   System information functions.

FMOD_System_GetVersion ( system.i, *version )
FMOD_System_GetOutputHandle( system.i, *handle )
FMOD_System_GetChannelsPlaying ( system.i, *channels )
FMOD_System_GetHardwareChannels( system.i, *numhardwarechannels )
FMOD_System_GetCPUUsage( system.i, *dsp, *stream, *geometry, *update, *total )
FMOD_System_GetSoundRAM( system.i, *currentalloced, *maxalloced, *total )
FMOD_System_GetNumCDROMDrives( system.i, *numdrives )
FMOD_System_GetCDROMDriveName( system.i, drive.i, *drivename, drivenamelen.i, *scsiname, scsinamelen.i, *devicename, devicenamelen.i )
FMOD_System_GetSpectrum( system.i, *spectrumarray, numvalues.i, channeloffset.i, windowtype.i )
FMOD_System_GetWaveData( system.i, *wavearray, numvalues.i, channeloffset.i )

;   Sound/DSP/Channel/FX creation and retrieval. 

FMOD_System_CreateSound( system.i, name_or_data.i, mode.i, *exinfo, *sound )
FMOD_System_CreateStream ( system.i, name_or_data.i, mode.i, *exinfo, *sound )
FMOD_System_CreateDSP( system.i, *description, *dsp )
FMOD_System_CreateDSPByType( system.i, type.i, *dsp )
FMOD_System_CreateChannelGroup ( system.i, name.s, *channelgroup )
FMOD_System_CreateSoundGroup ( system.i, name.s, *soundgroup )
FMOD_System_CreateReverb ( system.i, *reverb )
FMOD_System_PlaySound( system.i, channelid.i, *sound, paused.i, *channel )
FMOD_System_PlayDSP( system.i, channelid.i, *dsp, paused.i, *channel )
FMOD_System_GetChannel ( system.i, channelid.i, *channel )
FMOD_System_GetMasterChannelGroup( system.i, *channelgroup )
FMOD_System_GetMasterSoundGroup( system.i, *soundgroup )

;   Reverb API 

FMOD_System_SetReverbProperties( system.i, *prop )
FMOD_System_GetReverbProperties( system.i, *prop )
FMOD_System_SetReverbAmbientProperties( system.i, *prop )
FMOD_System_GetReverbAmbientProperties( system.i, *prop )

;   System level DSP access.

FMOD_System_GetDSPHead ( system.i, *dsp )
FMOD_System_AddDSP ( system.i, *dsp, *connection )
FMOD_System_LockDSP( system.i )
FMOD_System_UnlockDSP( system.i )
FMOD_System_GetDSPClock( system.i, *hi, *lo )

;   Recording API.

FMOD_System_GetRecordNumDrivers( system.i, *numdrivers )
FMOD_System_GetRecordDriverInfo( system.i, id, *name, namelen.i, *guid )
FMOD_System_GetRecordDriverInfoW ( system.i, id, *name, namelen.i, *guid )
FMOD_System_GetRecordDriverCaps( system.i, id, *caps, *minfrequency, *maxfrequency )
FMOD_System_GetRecordPosition( system.i, id, *position )

FMOD_System_RecordStart( system.i, id, *sound, loop.i )
FMOD_System_RecordStop ( system.i, id )
FMOD_System_IsRecording( system.i, id, *recording )

;   Geometry API.

FMOD_System_CreateGeometry ( system.i, maxpolygons.i, maxvertices.i, *geometry )
FMOD_System_SetGeometrySettings( system.i, maxworldsize.f )
FMOD_System_GetGeometrySettings( system.i, *maxworldsize )
FMOD_System_LoadGeometry ( system.i, *data, datasize.i, *geometry )
FMOD_System_GetGeometryOcclusion ( system.i, *listener, *source, *direct, *reverb )

;   Network functions.

FMOD_System_SetNetworkProxy( system.i, proxy.s )
FMOD_System_GetNetworkProxy( system.i, *proxy, proxylen.i )
FMOD_System_SetNetworkTimeout( system.i, timeout.i )
FMOD_System_GetNetworkTimeout( system.i, *timeout )

;   Userdata set/get.

FMOD_System_SetUserData( system.i, userdata.i )
FMOD_System_GetUserData( system.i, *userdata )
FMOD_System_GetMemoryInfo( system.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'Sound' API

FMOD_Sound_Release ( sound.i )
FMOD_Sound_GetSystemObject ( sound.i, *system )

;   Standard sound manipulation functions.

FMOD_Sound_Lock( sound.i, offset.i, length.i, *ptr1, *ptr2, *len1, *len2 )
FMOD_Sound_Unlock( sound.i, ptr1.i, ptr2.i, len1.i, len2.i )
FMOD_Sound_SetDefaults ( sound.i, frequency.f, volume.f, pan.f, priority.i )
FMOD_Sound_GetDefaults ( sound.i, *frequency, *volume, *pan, *priority )
FMOD_Sound_SetVariations ( sound.i, frequencyvar.f, volumevar.f, panvar.f )
FMOD_Sound_GetVariations ( sound.i, *frequencyvar, *volumevar, *panvar )
FMOD_Sound_Set3DMinMaxDistance ( sound.i, min.f, max.f )
FMOD_Sound_Get3DMinMaxDistance ( sound.i, *min, *max )
FMOD_Sound_Set3DConeSettings ( sound.i, insideconeangle.f, outsideconeangle.f, outsidevolume.f )
FMOD_Sound_Get3DConeSettings ( sound.i, *insideconeangle, *outsideconeangle, *outsidevolume )
FMOD_Sound_Set3DCustomRolloff( sound.i, *points, numpoints.i )
FMOD_Sound_Get3DCustomRolloff( sound.i, *points, *numpoints )
FMOD_Sound_SetSubSound ( sound.i, index.i, subsound.i )
FMOD_Sound_GetSubSound ( sound.i, index.i, *subsound )
FMOD_Sound_GetSubSoundParent ( sound.i, *parentsound )
FMOD_Sound_SetSubSoundSentence ( sound.i, *subsoundlist, numsubsounds.i )
FMOD_Sound_GetName ( sound.i, *name, namelen.i )
FMOD_Sound_GetLength ( sound.i, *length, lengthtype.i )
FMOD_Sound_GetFormat ( sound.i, *type, *format, *channels, *bits )
FMOD_Sound_GetNumSubSounds ( sound.i, *numsubsounds )
FMOD_Sound_GetNumTags( sound.i, *numtags, *numtagsupdated )
FMOD_Sound_GetTag( sound.i, name.s, index.i, *tag )
FMOD_Sound_GetOpenState( sound.i, *openstate, *percentbuffered, *starving, *diskbusy )
FMOD_Sound_ReadData( sound.i, buffer.i, lenbytes.i, *read )
FMOD_Sound_SeekData( sound.i, pcm.i )
FMOD_Sound_SetSoundGroup ( sound.i, soundgroup.i )
FMOD_Sound_GetSoundGroup ( sound.i, *soundgroup )

;   Synchronization point API.These points can come from markers embedded in wav files, and can also generate channel callbacks.

FMOD_Sound_GetNumSyncPoints( sound.i, *numsyncpoints )
FMOD_Sound_GetSyncPoint( sound.i, index.i, *point )
FMOD_Sound_GetSyncPointInfo( sound.i, *point, *name, namelen.i, *offset, offsettype.i )
FMOD_Sound_AddSyncPoint( sound.i, offset.i, offsettype.i, name.s, *point )
FMOD_Sound_DeleteSyncPoint ( sound.i, *point )

;   Functions also in Channel class but here they are the 'default' to save having to change it in Channel all the time.

FMOD_Sound_SetMode ( sound.i, mode.i )
FMOD_Sound_GetMode ( sound.i, *mode )
FMOD_Sound_SetLoopCount( sound.i, loopcount.i )
FMOD_Sound_GetLoopCount( sound.i, *loopcount )
FMOD_Sound_SetLoopPoints ( sound.i, loopstart.i, loopstarttype.i, loopend.i, loopendtype.i )
FMOD_Sound_GetLoopPoints ( sound.i, *loopstart, loopstarttype.i, *loopend, loopendtype.i )

;   For MOD/S3M/XM/IT/MID sequenced formats only.

FMOD_Sound_GetMusicNumChannels ( sound.i, *numchannels )
FMOD_Sound_SetMusicChannelVolume ( sound.i, channel.i, volume.f )
FMOD_Sound_GetMusicChannelVolume ( sound.i, channel.i, *volume )
FMOD_Sound_SetMusicSpeed ( sound.i, speed.f )
FMOD_Sound_GetMusicSpeed ( sound.i, *speed )

;   Userdata set/get.

FMOD_Sound_SetUserData ( sound.i, userdata.i )
FMOD_Sound_GetUserData ( sound.i, *userdata )
FMOD_Sound_GetMemoryInfo ( sound.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'Channel' API

FMOD_Channel_GetSystemObject ( channel.i, *system )
FMOD_Channel_Stop( channel.i )
FMOD_Channel_SetPaused ( channel.i, paused.i )
FMOD_Channel_GetPaused ( channel.i, *paused )
FMOD_Channel_SetVolume ( channel.i, volume.f )
FMOD_Channel_GetVolume ( channel.i, *volume )
FMOD_Channel_SetFrequency( channel.i, frequency.f )
FMOD_Channel_GetFrequency( channel.i, *frequency )
FMOD_Channel_SetPan( channel.i, pan.f )
FMOD_Channel_GetPan( channel.i, *pan )
FMOD_Channel_SetDelay( channel.i, delaytype.i, delayhi.i, delaylo.i )
FMOD_Channel_GetDelay( channel.i, delaytype.i, *delayhi, *delaylo )
FMOD_Channel_SetSpeakerMix ( channel.i, frontleft.f,frontright.f, center.f, lfe.f, backleft.f, backright.f, sideleft.f, sideright.f )
FMOD_Channel_GetSpeakerMix ( channel.i, *frontleft, *frontright, *center, *lfe, *backleft, *backright, *sideleft, *sideright )
FMOD_Channel_SetSpeakerLevels( channel.i, speaker.i, *levels, numlevels.i )
FMOD_Channel_GetSpeakerLevels( channel.i, speaker.i, *levels, numlevels.i )
FMOD_Channel_SetInputChannelMix( channel.i, *levels, numlevels.i )
FMOD_Channel_GetInputChannelMix( channel.i, *levels, numlevels.i )
FMOD_Channel_SetMute ( channel.i, mute.i )
FMOD_Channel_GetMute ( channel.i, *mute )
FMOD_Channel_SetPriority ( channel.i, priority.i )
FMOD_Channel_GetPriority ( channel.i, *priority )
FMOD_Channel_SetPosition ( channel.i, position.i, postype.i )
FMOD_Channel_GetPosition ( channel.i, *position, postype.i )
FMOD_Channel_SetReverbProperties ( channel.i, prop.i )
FMOD_Channel_GetReverbProperties ( channel.i, *prop )
FMOD_Channel_SetLowPassGain( channel.i, gain.f )
FMOD_Channel_GetLowPassGain( channel.i, *gain )
FMOD_Channel_SetChannelGroup ( channel.i, channelgroup.i )
FMOD_Channel_GetChannelGroup ( channel.i, *channelgroup )
FMOD_Channel_SetCallback ( channel.i, callback.i )

;   3D functionality.

FMOD_Channel_Set3DAttributes ( channel.i, *pos, *vel )
FMOD_Channel_Get3DAttributes ( channel.i, *pos, *vel )
FMOD_Channel_Set3DMinMaxDistance ( channel.i, mindistance.f, maxdistance.f )
FMOD_Channel_Get3DMinMaxDistance ( channel.i, *mindistance, *maxdistance )
FMOD_Channel_Set3DConeSettings ( channel.i, insideconeangle.f, outsideconeangle.f, outsidevolume.f )
FMOD_Channel_Get3DConeSettings ( channel.i, *insideconeangle, *outsideconeangle, *outsidevolume )
FMOD_Channel_Set3DConeOrientation( channel.i, *orientation )
FMOD_Channel_Get3DConeOrientation( channel.i, *orientation )
FMOD_Channel_Set3DCustomRolloff( channel.i, points.i, numpoints.i )
FMOD_Channel_Get3DCustomRolloff( channel.i, *points, *numpoints )
FMOD_Channel_Set3DOcclusion( channel.i, directocclusion.f, reverbocclusion.f )
FMOD_Channel_Get3DOcclusion( channel.i, *directocclusion, *reverbocclusion )
FMOD_Channel_Set3DSpread ( channel.i, angle.f )
FMOD_Channel_Get3DSpread ( channel.i, *angle )
FMOD_Channel_Set3DPanLevel ( channel.i, level.f )
FMOD_Channel_Get3DPanLevel ( channel.i, *level )
FMOD_Channel_Set3DDopplerLevel ( channel.i, level.f )
FMOD_Channel_Get3DDopplerLevel ( channel.i, *level )
FMOD_Channel_Set3DDistanceFilter ( channel.i, custom.i, customLevel.f, centerFreq.f )
FMOD_Channel_Get3DDistanceFilter ( channel.i, *custom, *customLevel, *centerFreq )

;   DSP functionality only for channels playing sounds created with FMOD_SOFTWARE.

FMOD_Channel_GetDSPHead( channel.i, *dsp )
FMOD_Channel_AddDSP( channel.i, dsp.i, *connection )

;   Information only functions.

FMOD_Channel_IsPlaying ( channel.i, *isplaying )
FMOD_Channel_IsVirtual ( channel.i, *isvirtual )
FMOD_Channel_GetAudibility ( channel.i, *audibility )
FMOD_Channel_GetCurrentSound ( channel.i, *sound )
FMOD_Channel_GetSpectrum ( channel.i, *spectrumarray, numvalues.i, channeloffset.i, windowtype.i )
FMOD_Channel_GetWaveData ( channel.i, *wavearray, numvalues.i, channeloffset.i )
FMOD_Channel_GetIndex( channel.i, *index )

;   Functions also found in Sound class but here they can be set per channel.

FMOD_Channel_SetMode ( channel.i, mode )
FMOD_Channel_GetMode ( channel.i, *mode )
FMOD_Channel_SetLoopCount( channel.i, loopcount.i )
FMOD_Channel_GetLoopCount( channel.i, *loopcount )
FMOD_Channel_SetLoopPoints ( channel.i, loopstart.i, loopstarttype.i, loopend.i, loopendtype.i )
FMOD_Channel_GetLoopPoints ( channel.i, *loopstart, loopstarttype.i, *loopend, loopendtype.i )

;   Userdata set/get.

FMOD_Channel_SetUserData ( channel.i, userdata.i )
FMOD_Channel_GetUserData ( channel.i, *userdata )
FMOD_Channel_GetMemoryInfo ( channel.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'ChannelGroup' API

FMOD_ChannelGroup_Release( channelgroup.i )
FMOD_ChannelGroup_GetSystemObject( channelgroup.i, *system )

;   Channelgroup scale values.(changes attributes relative to the channels, doesn't overwrite them)

FMOD_ChannelGroup_SetVolume( channelgroup.i, volume.f )
FMOD_ChannelGroup_GetVolume( channelgroup.i, *volume )
FMOD_ChannelGroup_SetPitch ( channelgroup.i, pitch.f )
FMOD_ChannelGroup_GetPitch ( channelgroup.i, *pitch )
FMOD_ChannelGroup_Set3DOcclusion ( channelgroup.i, directocclusion.f, reverbocclusion.f )
FMOD_ChannelGroup_Get3DOcclusion ( channelgroup.i, *directocclusion, *reverbocclusion )
FMOD_ChannelGroup_SetPaused( channelgroup.i, paused.i )
FMOD_ChannelGroup_GetPaused( channelgroup.i, *paused )
FMOD_ChannelGroup_SetMute( channelgroup.i, mute.i )
FMOD_ChannelGroup_GetMute( channelgroup.i, *mute )

;   Channelgroup override values.(recursively overwrites whatever settings the channels had)

FMOD_ChannelGroup_Stop ( channelgroup.i )
FMOD_ChannelGroup_OverrideVolume ( channelgroup.i, volume.f )
FMOD_ChannelGroup_OverrideFrequency( channelgroup.i, frequency.f )
FMOD_ChannelGroup_OverridePan( channelgroup.i, pan.f )
FMOD_ChannelGroup_OverrideReverbProperties( channelgroup.i, *prop )
FMOD_ChannelGroup_Override3DAttributes( channelgroup.i, *pos, *vel )
FMOD_ChannelGroup_OverrideSpeakerMix( channelgroup.i, frontleft.f, frontright.f, center.f, lfe.f, backleft.f, backright.f, sideleft.f, sideright.f )

;   Nested channel groups.

FMOD_ChannelGroup_AddGroup ( channelgroup.i, *group )
FMOD_ChannelGroup_GetNumGroups ( channelgroup.i, *numgroups )
FMOD_ChannelGroup_GetGroup ( channelgroup.i, index.i, *group )
FMOD_ChannelGroup_GetParentGroup ( channelgroup.i, *group )

;   DSP functionality only for channel groups playing sounds created with FMOD_SOFTWARE.

FMOD_ChannelGroup_GetDSPHead ( channelgroup.i, *dsp )
FMOD_ChannelGroup_AddDSP ( channelgroup.i, dsp.i, *connection )

;   Information only functions.

FMOD_ChannelGroup_GetName( channelgroup.i, *name, namelen.i )
FMOD_ChannelGroup_GetNumChannels ( channelgroup.i, *numchannels )
FMOD_ChannelGroup_GetChannel ( channelgroup.i, index.i, *channel )
FMOD_ChannelGroup_GetSpectrum( channelgroup.i, *spectrumarray, numvalues.i, channeloffset.i, windowtype.i )
FMOD_ChannelGroup_GetWaveData( channelgroup.i, *wavearray, numvalues.i, channeloffset.i )

;   Userdata set/get.

FMOD_ChannelGroup_SetUserData( channelgroup.i, userdata.i )
FMOD_ChannelGroup_GetUserData( channelgroup.i, *userdata )
FMOD_ChannelGroup_GetMemoryInfo( channelgroup.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'SoundGroup' API

FMOD_SoundGroup_Release( soundgroup.i )
FMOD_SoundGroup_GetSystemObject( soundgroup.i, *system )

;   SoundGroup control functions.

FMOD_SoundGroup_SetMaxAudible( soundgroup.i, maxaudible.i )
FMOD_SoundGroup_GetMaxAudible( soundgroup.i, *maxaudible )
FMOD_SoundGroup_SetMaxAudibleBehavior( soundgroup.i, behavior.i )
FMOD_SoundGroup_GetMaxAudibleBehavior( soundgroup.i, *behavior )
FMOD_SoundGroup_SetMuteFadeSpeed ( soundgroup.i, speed.f )
FMOD_SoundGroup_GetMuteFadeSpeed ( soundgroup.i, *speed )
FMOD_SoundGroup_SetVolume( soundgroup.i, volume.f )
FMOD_SoundGroup_GetVolume( soundgroup.i, *volume )
FMOD_SoundGroup_Stop ( soundgroup.i )

;   Information only functions.

FMOD_SoundGroup_GetName( soundgroup.i, *name, namelen.i )
FMOD_SoundGroup_GetNumSounds ( soundgroup.i, *numsounds )
FMOD_SoundGroup_GetSound ( soundgroup.i, index.i, *sound )
FMOD_SoundGroup_GetNumPlaying( soundgroup.i, *numplaying )

;   Userdata set/get.

FMOD_SoundGroup_SetUserData( soundgroup.i, userdata.i )
FMOD_SoundGroup_GetUserData( soundgroup.i, *userdata )
FMOD_SoundGroup_GetMemoryInfo( soundgroup.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'DSP' API

FMOD_DSP_Release ( dsp.i )
FMOD_DSP_GetSystemObject ( dsp.i, *system )

;   Connection / disconnection / input and output enumeration.

FMOD_DSP_AddInput( dsp.i, target.i, *connection )
FMOD_DSP_DisconnectFrom( dsp.i, *target )
FMOD_DSP_DisconnectAll ( dsp.i, inputs.i, outputs.i )
FMOD_DSP_Remove( dsp.i )
FMOD_DSP_GetNumInputs( dsp.i, *numinputs )
FMOD_DSP_GetNumOutputs ( dsp.i, *numoutputs )
FMOD_DSP_GetInput( dsp.i, index.i, *input, *inputconnection )
FMOD_DSP_GetOutput ( dsp.i, index.i, *output, *outputconnection )

;   DSP unit control.

FMOD_DSP_SetActive ( dsp.i, active.i )
FMOD_DSP_GetActive ( dsp.i, *active )
FMOD_DSP_SetBypass ( dsp.i, bypass.i )
FMOD_DSP_GetBypass ( dsp.i, *bypass )
FMOD_DSP_SetSpeakerActive( dsp.i, speaker.i, active.i )
FMOD_DSP_GetSpeakerActive( dsp.i, speaker.i, *active )
FMOD_DSP_Reset ( dsp.i )

;   DSP parameter control.

FMOD_DSP_SetParameter( dsp.i, index.i, value.f )
FMOD_DSP_GetParameter( dsp.i, index.i, *value, *valuestr, valuestrlen.i )
FMOD_DSP_GetNumParameters( dsp.i, *numparams )
FMOD_DSP_GetParameterInfo( dsp.i, index.i, *name, *label, *description, descriptionlen.i, *min, *max )
FMOD_DSP_ShowConfigDialog( dsp.i, hwnd.i, show.i )

;   DSP attributes.

FMOD_DSP_GetInfo ( dsp.i, *name, *version, *channels, *configwidth, *configheight )
FMOD_DSP_GetType ( dsp.i, *type )
FMOD_DSP_SetDefaults ( dsp.i, frequency.f, volume.f, pan.f, priority.i )
FMOD_DSP_GetDefaults ( dsp.i, *frequency, *volume, *pan, *priority )

;   Userdata set/get.

FMOD_DSP_SetUserData ( dsp.i, userdata.i )
FMOD_DSP_GetUserData ( dsp.i, *userdata )
FMOD_DSP_GetMemoryInfo ( dsp.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'DSPConnection' API

FMOD_DSPConnection_GetInput( dspconnection.i, *input )
FMOD_DSPConnection_GetOutput ( dspconnection.i, *output )
FMOD_DSPConnection_SetMix( dspconnection.i, volume.f )
FMOD_DSPConnection_GetMix( dspconnection.i, *volume )
FMOD_DSPConnection_SetLevels ( dspconnection.i, speaker.i, *levels, numlevels.i )
FMOD_DSPConnection_GetLevels ( dspconnection.i, speaker.i, *levels, numlevels.i )

;   Userdata set/get.

FMOD_DSPConnection_SetUserData ( dspconnection.i, userdata.i )
FMOD_DSPConnection_GetUserData ( dspconnection.i, *userdata )
FMOD_DSPConnection_GetMemoryInfo ( dspconnection.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'Geometry' API

FMOD_Geometry_Release( geometry.i )

;   Polygon manipulation.

FMOD_Geometry_AddPolygon ( geometry.i, directocclusion.f, reverbocclusion.f, doublesided.i, numvertices.i, *vertices, *polygonindex )
FMOD_Geometry_GetNumPolygons ( geometry.i, *numpolygons )
FMOD_Geometry_GetMaxPolygons ( geometry.i, *maxpolygons, *maxvertices )
FMOD_Geometry_GetPolygonNumVertices( geometry.i, index.i, *numvertices )
FMOD_Geometry_SetPolygonVertex ( geometry.i, index.i, vertexindex.i, *vertex )
FMOD_Geometry_GetPolygonVertex ( geometry.i, index.i, vertexindex.i, *vertex )
FMOD_Geometry_SetPolygonAttributes ( geometry.i, index.i, directocclusion.f, reverbocclusion.f, doublesided.i )
FMOD_Geometry_GetPolygonAttributes ( geometry.i, index.i, *directocclusion, *reverbocclusion, *doublesided )

;   Object manipulation.

FMOD_Geometry_SetActive( geometry.i, active.i )
FMOD_Geometry_GetActive( geometry.i, *active )
FMOD_Geometry_SetRotation( geometry.i, *forward, *up )
FMOD_Geometry_GetRotation( geometry.i, *forward, *up )
FMOD_Geometry_SetPosition( geometry.i, *position )
FMOD_Geometry_GetPosition( geometry.i, *position )
FMOD_Geometry_SetScale ( geometry.i, *scale )
FMOD_Geometry_GetScale ( geometry.i, *scale )
FMOD_Geometry_Save ( geometry.i, _data.i, *datasize )

;   Userdata set/get.

FMOD_Geometry_SetUserData( geometry.i, userdata.i )
FMOD_Geometry_GetUserData( geometry.i, *userdata )
FMOD_Geometry_GetMemoryInfo( geometry.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

;    'Reverb' API

FMOD_Reverb_Release( reverb.i )

;   Reverb manipulation.

FMOD_Reverb_Set3DAttributes( reverb.i, *position, mindistance.f, maxdistance.f )
FMOD_Reverb_Get3DAttributes( reverb.i, *position, *mindistance, *maxdistance )
FMOD_Reverb_SetProperties( reverb.i, *properties )
FMOD_Reverb_GetProperties( reverb.i, *properties )
FMOD_Reverb_SetActive( reverb.i, active.i )
FMOD_Reverb_GetActive( reverb.i, *active )

;   Userdata set/get.

FMOD_Reverb_SetUserData( reverb.i, userdata.i )
FMOD_Reverb_GetUserData( reverb.i, *userdata )
FMOD_Reverb_GetMemoryInfo( reverb.i, memorybits.i, event_memorybits.i, *memoryused, *memoryused_details )

EndImport

Procedure.s FMOD_ErrorString( error.i )
 Protected result.s
 Select error
  Case #FMOD_OK:                         result = "OK"
  Case #FMOD_ERR_ALREADYLOCKED:          result = "Tried to call lock a second time before unlock was called. "
  Case #FMOD_ERR_BADCOMMAND:             result = "Tried to call a function on a data type that does not allow this type of functionality (ie calling Sound::lock on a streaming sound). "
  Case #FMOD_ERR_CDDA_DRIVERS:           result = "Neither NTSCSI nor ASPI could be initialised. "
  Case #FMOD_ERR_CDDA_INIT:              result = "An error occurred while initialising the CDDA subsystem. "
  Case #FMOD_ERR_CDDA_INVALID_DEVICE:    result = "Couldn;t find the specified device. "
  Case #FMOD_ERR_CDDA_NOAUDIO:           result = "No audio tracks on the specified disc. "
  Case #FMOD_ERR_CDDA_NODEVICES:         result = "No CD/DVD devices were found. "
  Case #FMOD_ERR_CDDA_NODISC:            result = "No disc present in the specified drive. "
  Case #FMOD_ERR_CDDA_READ:              result = "A CDDA read error occurred. "
  Case #FMOD_ERR_CHANNEL_ALLOC:          result = "Error trying to allocate a channel. "
  Case #FMOD_ERR_CHANNEL_STOLEN:         result = "The specified channel has been reused to play another sound. "
  Case #FMOD_ERR_COM:                    result = "A Win32 COM related error occured. COM failed to initialize or a QueryInterface failed meaning a Windows codec or driver was not installed properly. "
  Case #FMOD_ERR_DMA:                    result = "DMA Failure.  See debug output for more information. "
  Case #FMOD_ERR_DSP_CONNECTION:         result = "DSP connection error.  Connection possibly caused a cyclic dependancy. "
  Case #FMOD_ERR_DSP_FORMAT:             result = "DSP Format error.  A DSP unit may have attempted to connect to this network with the wrong format. "
  Case #FMOD_ERR_DSP_NOTFOUND:           result = "DSP connection error.  Couldn;t find the DSP unit specified. "
  Case #FMOD_ERR_DSP_RUNNING:            result = "DSP error.  Cannot perform this operation while the network is in the middle of running.  This will most likely happen if a connection or disconnection is attempted in a DSP callback. "
  Case #FMOD_ERR_DSP_TOOMANYCONNECTIONS: result = "DSP connection error.  The unit being connected to or disconnected should only have 1 input or output. "
  Case #FMOD_ERR_FILE_BAD:               result = "Error loading file. "
  Case #FMOD_ERR_FILE_COULDNOTSEEK:      result = "Couldn;t perform seek operation.  This is a limitation of the medium (ie netstreams) or the file format. "
  Case #FMOD_ERR_FILE_EOF:               result = "End of file unexpectedly reached while trying to read essential data (truncated data?). "
  Case #FMOD_ERR_FILE_NOTFOUND:          result = "File not found. "
  Case #FMOD_ERR_FILE_UNWANTED:          result = "Unwanted file access occured."
  Case #FMOD_ERR_FORMAT:                 result = "Unsupported file or audio format. "
  Case #FMOD_ERR_HTTP:                   result = "A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere. "
  Case #FMOD_ERR_HTTP_ACCESS:            result = "The specified resource requires authentication or is forbidden. "
  Case #FMOD_ERR_HTTP_PROXY_AUTH:        result = "Proxy authentication is required to access the specified resource. "
  Case #FMOD_ERR_HTTP_SERVER_ERROR:      result = "A HTTP server error occurred. "
  Case #FMOD_ERR_HTTP_TIMEOUT:           result = "The HTTP request timed out. "
  Case #FMOD_ERR_INITIALIZATION:         result = "FMOD was not initialized correctly to support this function. "
  Case #FMOD_ERR_INITIALIZED:            result = "Cannot call this command after System::init. "
  Case #FMOD_ERR_INTERNAL:               result = "An error occured that wasnt supposed to.  Contact support. "
  Case #FMOD_ERR_INVALID_ADDRESS:        result = "On Xbox 360, this memory address passed to FMOD must be physical, (ie allocated with XPhysicalAlloc.)"
  Case #FMOD_ERR_INVALID_FLOAT:          result = "Value passed in was a NaN, Inf or denormalized float."
  Case #FMOD_ERR_INVALID_HANDLE:         result = "An invalid object handle was used. "
  Case #FMOD_ERR_INVALID_PARAM:          result = "An invalid parameter was passed to this function. "
  Case #FMOD_ERR_INVALID_SPEAKER:        result = "An invalid speaker was passed to this function based on the current speaker mode. "
  Case #FMOD_ERR_INVALID_VECTOR:         result = "The vectors passed in are not unit length, or perpendicular."
  ;Case #FMOD_ERR_IRX:                    result = "PS2 only.  fmodex.irx failed to initialize.  This is most likely because you forgot to load it. "
  Case #FMOD_ERR_MEMORY:                 result = "Not enough memory or resources. "
  ;Case #FMOD_ERR_MEMORY_IOP:             result = "PS2 only.  Not enough memory or resources on PlayStation 2 IOP ram. "
  Case #FMOD_ERR_MEMORY_SRAM:            result = "Not enough memory or resources on console sound ram. "
  Case #FMOD_ERR_MEMORY_CANTPOINT:       result = "Can;t use FMOD_OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_CREATECOMPRESSEDSAMPLE was used."
  Case #FMOD_ERR_NEEDS2D:                result = "Tried to call a command on a 3d sound when the command was meant for 2d sound. "
  Case #FMOD_ERR_NEEDS3D:                result = "Tried to call a command on a 2d sound when the command was meant for 3d sound. "
  Case #FMOD_ERR_NEEDSHARDWARE:          result = "Tried to use a feature that requires hardware support.  (ie trying to play a VAG compressed sound in software on PS2). "
  Case #FMOD_ERR_NEEDSSOFTWARE:          result = "Tried to use a feature that requires the software engine.  Software engine has either been turned off, or command was executed on a hardware channel which does not support this feature. "
  Case #FMOD_ERR_NET_CONNECT:            result = "Couldn;t connect to the specified host. "
  Case #FMOD_ERR_NET_SOCKET_ERROR:       result = "A socket error occurred.  This is a catch-all for socket-related errors not listed elsewhere. "
  Case #FMOD_ERR_NET_URL:                result = "The specified URL couldn;t be resolved. "
  Case #FMOD_ERR_NOTREADY:               result = "Operation could not be performed because specified sound is not ready. "
  Case #FMOD_ERR_OUTPUT_ALLOCATED:       result = "Error initializing output device, but more specifically, the output device is already in use and cannot be reused. "
  Case #FMOD_ERR_OUTPUT_CREATEBUFFER:    result = "Error creating hardware sound buffer. "
  Case #FMOD_ERR_OUTPUT_DRIVERCALL:      result = "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted. "
  Case #FMOD_ERR_OUTPUT_FORMAT:          result = "Soundcard does not support the minimum features needed for this soundsystem (16bit stereo output). "
  Case #FMOD_ERR_OUTPUT_INIT:            result = "Error initializing output device. "
  Case #FMOD_ERR_OUTPUT_NOHARDWARE:      result = "FMOD_HARDWARE was specified but the sound card does not have the resources nescessary to play it. "
  Case #FMOD_ERR_OUTPUT_NOSOFTWARE:      result = "Attempted to create a software sound but no software channels were specified in System::init. "
  Case #FMOD_ERR_PAN:                    result = "Panning only works with mono or stereo sound sources. "
  Case #FMOD_ERR_PLUGIN:                 result = "An unspecified error has been  = ed from a 3rd party plugin. "
  Case #FMOD_ERR_PLUGIN_MISSING:         result = "A requested output, dsp unit type or codec was not available. "
  Case #FMOD_ERR_PLUGIN_RESOURCE:        result = "A resource that the plugin requires cannot be found. (ie the DLS file for MIDI playback) "
  Case #FMOD_ERR_RECORD:                 result = "An error occured trying to initialize the recording device. "
  Case #FMOD_ERR_REVERB_INSTANCE:        result = "Specified Instance in FMOD_REVERB_PROPERTIES couldn;t be set. Most likely because another application has locked the EAX4 FX slot. "
  Case #FMOD_ERR_SUBSOUNDS:              result = "The error occured because the sound referenced contains subsounds.  (ie you cannot play the parent sound as a static sample, only its subsounds.) "
  Case #FMOD_ERR_SUBSOUND_ALLOCATED:     result = "This subsound is already being used by another sound, you cannot have more than one parent to a sound.  Null out the other parent;s entry first. "
  Case #FMOD_ERR_TAGNOTFOUND:            result = "The specified tag could not be found or there are no tags. "
  Case #FMOD_ERR_TOOMANYCHANNELS:        result = "The sound created exceeds the allowable input channel count.  This can be increased using the maxinputchannels parameter in System::setSoftwareFormat."
  Case #FMOD_ERR_UNIMPLEMENTED:          result = "Something in FMOD hasn;t been implemented when it should be! contact support! "
  Case #FMOD_ERR_UNINITIALIZED:          result = "This command failed because System::init or System::setDriver was not called. "
  Case #FMOD_ERR_UNSUPPORTED:            result = "A command issued was not supported by this object.  Possibly a plugin without certain callbacks specified. "
  Case #FMOD_ERR_UPDATE:                 result = "On PS2, System::update was called twice in a row when System::updateFinished must be called first. "
  Case #FMOD_ERR_VERSION:                result = "The version number of this file format is not supported. "
  Case #FMOD_ERR_EVENT_FAILED:           result = "An Event failed to be retrieved, most likely due to ;just fail' being specified as the max playbacks behaviour."
  Case #FMOD_ERR_EVENT_INTERNAL:         result = "An error occured that wasn;t supposed to.  See debug log for reason."
  Case #FMOD_ERR_EVENT_NAMECONFLICT:     result = "A category with the same name already exists."
  Case #FMOD_ERR_EVENT_NOTFOUND:         result = "The requested event, event group, event category or event property could not be found."
  Default:                               result = "Unknown error."
 EndSelect
 ProcedureReturn result
EndProcedure
Antworten