Skip to content

constants

Francisco Dias edited this page Feb 22, 2024 · 3 revisions

Constants

These are the constants that you can use in the FMOD extension.

Note

All items on this page are Constants. However, some are defined as macros in the extension, others as enums. See a constant's description to know its type.

Constants

This module includes a set of predefined constants that can be utilized for various purposes. Browse through the available constants to find values relevant to your needs and enhance the efficiency of your code.



Back To Top

FMOD_VERSION

FMOD Constant: FMOD_VERSION


This constant holds the current FMOD version number.

The version is a 32 bit hexadecimal value formatted as 16:8:8, with the upper 16 bits being the product version, the middle 8 bits being the major version and the bottom 8 bits being the minor version. For example a value of 0x00010203 is equal to 1.02.03.




Back To Top

FMOD_DEBUG_FLAGS

FMOD Constant: FMOD_DEBUG_FLAGS


This enum specifies the requested information to be output when using the logging version of FMOD.

These constants are referenced by the following functions:


Member Description
LEVEL_NONE Disable all messages.
LEVEL_ERROR Enable only error messages.
LEVEL_WARNING Enable warning and error messages.
LEVEL_LOG Enable informational, warning and error messages.
TYPE_MEMORY This enables verbose logging for memory operations, only use this if you are debugging a memory related issue.
TYPE_FILE This enables verbose logging for file access, only use this if you are debugging a file related issue.
TYPE_CODEC This enables verbose logging for codec initialisation, only use this if you are debugging a codec related issue.
TYPE_TRACE This enables verbose logging for internal errors, use this for tracking the origin of error codes.
DISPLAY_TIMESTAMPS This displays the time stamp of the log message in milliseconds.
DISPLAY_LINENUMBERS This displays the source code file and line number for where the message originated.
DISPLAY_THREAD This displays the thread ID of the calling function that generated the message.


Back To Top

FMOD_MEMORY_TYPE

FMOD Constant: FMOD_MEMORY_TYPE


This enum specifies the bitfields for the memory allocation type being passed into FMOD memory callbacks.


Member Description
NORMAL This value specifies standard memory allocation.
STREAM_FILE This value specifies a stream file buffer, size controllable with fmod_system_set_stream_buffer_size.
STREAM_DECODE This value specifies a stream decode buffer, size controllable with FmodSystemCreateSoundExInfo.decodebuffersize.
SAMPLEDATA This value specifies a sample data buffer. Raw audio data, usually PCM/MPEG/ADPCM/XMA data.
DSP_BUFFER Deprecated.
PLUGIN This value indicates that the memory is allocated by a third party plugin.
PERSISTENT Persistent memory. Memory will be freed when fmod_system_release is called.
ALL This is a mask specifying all memory types.


Back To Top

FMOD_INIT

FMOD Constant: FMOD_INITFLAGS


This enum specifies the configuration flags used when initialising the FMOD system.

These constants are referenced by the following functions:


Member Description
NORMAL Initialize normally.
STREAM_FROM_UPDATE No stream thread is created internally. Streams are driven from fmod_system_update. Mainly used with non-realtime outputs.
MIX_FROM_UPDATE No mixer thread is created internally. Mixing is driven from fmod_system_update. Only applies to polling based output modes such as FMOD_OUTPUTTYPE.NOSOUND, FMOD_OUTPUTTYPE.WAVWRITER.
RIGHTHANDED_3D 3D calculations will be performed in right-handed coordinates.
CLIP_OUTPUT Enables hard clipping of output values greater than 1.0 or less than -1.0.
CHANNEL_LOWPASS Enables usage of fmod_channel_control_set_low_pass_gain, fmod_channel_control_set_3d_occlusion, or automatic usage by the Geometry API. All voices will add a software lowpass filter effect into the DSP chain which is idle unless one of the previous functions/features are used.
CHANNEL_DISTANCEFILTER All FMOD_MODE.AS_3D based voices will add a software lowpass and highpass filter effect into the DSP chain which will act as a distance-automated bandpass filter. Use fmod_system_set_advanced_settings to adjust the center frequency.
PROFILE_ENABLE Enable TCP/IP based host which allows FMOD Studio or FMOD Profiler to connect to it, and view memory, CPU and the DSP network graph in real-time.
VOL0_BECOMES_VIRTUAL Any sounds that are 0 volume will go virtual and not be processed except for having their positions updated virtually. Use fmod_system_set_advanced_settings to adjust what volume besides zero to switch to virtual at.
GEOMETRY_USECLOSEST With the geometry engine, only process the closest polygon rather than accumulating all polygons the sound to listener line intersects.
PREFER_DOLBY_DOWNMIX When using FMOD_SPEAKERMODE._5POINT1 with a stereo output device, use the Dolby Pro Logic II downmix algorithm instead of the default stereo downmix algorithm.
THREAD_UNSAFE Disables thread safety for API calls. Only use this if FMOD is being called from a single thread, and if Studio API is not being used!
PROFILE_METER_ALL Slower, but adds level metering for every single DSP unit in the graph. Use fmod_dsp_set_metering_enabled to turn meters off individually. Setting this flag implies FMOD_INIT.PROFILE_ENABLE.
MEMORY_TRACKING Enables memory allocation tracking. Currently this is only useful when using the Studio API. Increases memory footprint and reduces performance. This flag is implied by FMOD_STUDIO_INIT.MEMORY_TRACKING.


Back To Top

FMOD_DRIVER_STATE

FMOD Constant: FMOD_DRIVER_STATE


This enum specifies flags that provide additional information about a particular driver.

These constants are referenced by the following structs:


Member Description
CONNECTED Device is currently plugged in.
DEFAULT Device is the user's preferred choice.


Back To Top

FMOD_TIMEUNIT

FMOD Constant: FMOD_TIMEUNIT


This enum specifies the time types used for position or length.

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
MS Milliseconds.
PCM PCM samples, related to milliseconds * samplerate / 1000.
PCMBYTES Bytes, related to PCM samples * channels * datawidth (i.e. 16bit = 2 bytes).
RAWBYTES Raw file bytes of (compressed) sound data (does not include headers). Only used by fmod_sound_get_length and fmod_channel_get_position.
PCMFRACTION Fractions of 1 PCM sample. Unsigned int range 0 to 0xFFFFFFFF. Used for sub-sample granularity for DSP purposes.
MODORDER MOD/S3M/XM/IT. Order in a sequenced module format. Use fmod_sound_get_format to determine the PCM format being decoded to.
MODROW MOD/S3M/XM/IT. Current row in a sequenced module format. Cannot use with fmod_channel_set_position. fmod_sound_get_length will return the number of rows in the currently playing or seeked to pattern.
MODPATTERN MOD/S3M/XM/IT. Current pattern in a sequenced module format. Cannot use with fmod_channel_set_position. fmod_sound_get_length will return the number of patterns in the song and fmod_channel_get_position will return the currently playing pattern.


Back To Top

FMOD_SYSTEM_CALLBACK

FMOD Constant: FMOD_SYSTEM_CALLBACK_TYPE


This enum specifies types of callback called by the FMOD system.

These constants are referenced by the following functions:


Member Description
DEVICELISTCHANGED Called from fmod_system_update when the enumerated list of devices has changed. Called from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.
DEVICELOST Deprecated.
MEMORYALLOCATIONFAILED Called directly when a memory allocation fails.
THREADCREATED Called from the game thread when a thread is created.
BADDSPCONNECTION Deprecated.
PREMIX Called from the mixer thread before it starts the next block.
POSTMIX Called from the mixer thread after it finishes a block.
ERROR Called directly when an API function returns an error, including delayed async functions.
MIDMIX Called from the mixer thread after clocks have been updated before the main mix occurs.
THREADDESTROYED Called from the game thread when a thread is destroyed.
PREUPDATE Called at start of fmod_system_update from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.
POSTUPDATE Called at end of fmod_system_update from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.
RECORDLISTCHANGED Called from fmod_system_update when the enumerated list of recording devices has changed. Called from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.
BUFFEREDNOMIX Called from the feeder thread after audio was consumed from the ring buffer, but not enough to allow another mix to run.
DEVICEREINITIALIZE Called from fmod_system_update when an output device is re-initialized. Called from the main (calling) thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.
OUTPUTUNDERRUN Called from the mixer thread when the device output attempts to read more samples than are available in the output buffer.
RECORDPOSITIONCHANGED Called from the mixer thread when the System record position changed.
ALL Mask representing all callback types.


Back To Top

FMOD_MODE

FMOD Constant: FMOD_MODE


This enum specifies sound description bitfields. You can bitwise OR them together for loading and describing sounds.

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
DEFAULT Default for all modes listed below. FMOD_MODE.LOOP_OFF, FMOD_MODE.AS_2D, FMOD_MODE.AS_3D_WORLDRELATIVE, FMOD_MODE.AS_3D_INVERSEROLLOFF
LOOP_OFF For non looping Sounds. (DEFAULT). Overrides FMOD_MODE.LOOP_NORMAL / FMOD_MODE.LOOP_BIDI.
LOOP_NORMAL For forward looping Sounds.
LOOP_BIDI For bidirectional looping Sounds. (only works on non-streaming, real voices).
AS_2D Ignores any 3D processing. (DEFAULT).
AS_3D Makes the Sound positionable in 3D. Overrides FMOD_MODE.AS_2D.
CREATESTREAM Decompress at runtime, streaming from the source provided (i.e. from disk). Overrides FMOD_MODE.CREATESAMPLE and FMOD_MODE.CREATECOMPRESSEDSAMPLE. Note a stream can only be played once at a time due to a stream only having 1 stream buffer and file handle. Open multiple streams to have them play concurrently.
CREATESAMPLE Decompress at loadtime, decompressing or decoding whole file into memory as the target sample format (i.e. PCM). Fastest for playback and most flexible.
CREATECOMPRESSEDSAMPLE Load MP2/MP3/FADPCM/IMAADPCM/Vorbis/AT9 or XMA into memory and leave it compressed. Vorbis/AT9/FADPCM encoding only supported in the .FSB container format. During playback the FMOD software mixer will decode it in realtime as a 'compressed sample'. Overrides FMOD_MODE.CREATESAMPLE. If the sound data is not one of the supported formats, it will behave as if it was created with FMOD_MODE.CREATESAMPLE and decode the sound into PCM.
OPENUSER Opens a user-created static sample or stream. When used, the first argument of fmod_system_create_sound and fmod_system_create_stream, name_or_data, is ignored, so recommended practice is to pass null or equivalent. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, length, numchannels, defaultfrequency, format, and optionally read callback. If a user-created 'sample' is created with no read callback, the sample will be empty. If this is the case, use fmod_sound_lock and fmod_sound_unlock to place sound data into the Sound.
OPENMEMORY When used, the first argument of fmod_system_create_sound and fmod_system_create_stream, name_or_buff, is interpreted as a pointer to memory instead of filename for creating sounds. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, and length. If used with FMOD_MODE.CREATESAMPLE or FMOD_MODE.CREATECOMPRESSEDSAMPLE, FMOD duplicates the memory into its own buffers. Your own buffer can be freed after open, unless you are using FMOD_MODE.NONBLOCKING then wait until the Sound is in the FMOD_OPENSTATE.READY state. If used with FMOD_MODE.CREATESTREAM, FMOD will stream out of the Buffer that you passed in. In this case, your own buffer should not be freed until you have finished with and released the stream.
OPENMEMORY_POINT When used, the first argument of fmod_system_create_sound and fmod_system_create_stream, name_or_buff, is interpreted as a pointer to memory instead of filename for creating sounds. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, and length. This differs to FMOD_MODE.OPENMEMORY in that it uses the Buffer memory as is, without duplicating the memory into its own buffers. Cannot be freed after open, only after fmod_sound_release. Will not work if the data is compressed and FMOD_MODE.CREATECOMPRESSEDSAMPLE is not used. Cannot be used in conjunction with FmodSystemCreateSoundExInfo.encryptionkey.
OPENRAW Will ignore file format and treat as raw pcm. The following data must be provided using FmodSystemCreateSoundExInfo: cbsize, numchannels, defaultfrequency, and format. Must be little endian data.
OPENONLY Just open the file, don't prebuffer or read. Good for fast opens for info, or when fmod_sound_read_data is to be used.
ACCURATETIME For fmod_system_create_sound - for accurate fmod_sound_get_length / fmod_channel_set_position on VBR MP3, and MOD/S3M/XM/IT/MIDI files. Scans file first, so takes longer to open. FMOD_MODE.OPENONLY does not affect this.
MPEGSEARCH For corrupted / bad MP3 files. This will search all the way through the file until it hits a valid MPEG header. Normally only searches for 4k.
NONBLOCKING For opening Sounds and getting streamed subsounds (seeking) asynchronously. Use fmod_sound_get_open_state to poll the state of the Sound as it opens or retrieves the subsound in the background.
UNIQUE Unique Sound, can only be played one at a time.
AS_3D_HEADRELATIVE Make the Sound's position, velocity and orientation relative to the listener.
AS_3D_WORLDRELATIVE Make the Sound's position, velocity and orientation absolute (relative to the world). (DEFAULT)
AS_3D_INVERSEROLLOFF This sound follows an inverse roll-off model. Below mindistance, the volume is unattenuated; as distance increases above mindistance, the volume attenuates using mindistance/distance as the gradient until it reaches maxdistance, where it stops attenuating. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode accurately models the way sounds attenuate over distance in the real world. (DEFAULT)
AS_3D_LINEARROLLOFF This sound follows a linear roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence using a linear gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. While this roll-off mode is not as realistic as inverse roll-off mode, it is easier to comprehend.
AS_3D_LINEARSQUAREROLLOFF This sound follows a linear-square roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence according to a linear squared gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode provides steeper volume ramping close to the mindistance, and more gradual ramping close to the maxdistance, than linear roll-off mode.
AS_3D_INVERSETAPEREDROLLOFF This sound follows a combination of the inverse and linear-square roll-off models. At short distances where inverse roll-off would provide greater attenuation, it functions as inverse roll-off mode; then at greater distances where linear-square roll-off mode would provide greater attenuation, it uses that roll-off mode instead. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. Inverse tapered roll-off mode approximates realistic behavior while still guaranteeing the sound attenuates to silence at maxdistance.
AS_3D_CUSTOMROLLOFF This sound follows a roll-off model defined by fmod_sound_set_3d_custom_rolloff / fmod_channel_control_set_3d_custom_rolloff. This roll-off mode provides greater freedom and flexibility than any other, but must be defined manually.
AS_3D_IGNOREGEOMETRY Is not affected by geometry occlusion. If not specified in fmod_sound_set_mode, or fmod_channel_control_set_mode, the flag is cleared and it is affected by geometry again.
IGNORETAGS Skips id3v2/asf/etc. tag checks when opening a Sound, to reduce seek/read overhead when opening files.
LOWMEM Removes some features from samples to give a lower memory overhead, like fmod_sound_get_name.
MODEVIRTUAL_PLAYFROMSTART For Channels that start virtual (due to being quiet or low importance), instead of swapping back to audible, and playing at the correct offset according to time, this flag makes the Channel play from the start.


Back To Top

FMOD_CHANNELMASK

FMOD Constant: FMOD_CHANNELMASK


This enum specifies flags that describe the speakers present in a given signal.

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
FRONT_LEFT Front left channel.
FRONT_RIGHT Front right channel.
FRONT_CENTER Front center channel.
LOW_FREQUENCY Low frequency channel.
SURROUND_LEFT Surround left channel.
SURROUND_RIGHT Surround right channel.
BACK_LEFT Back left channel.
BACK_RIGHT Back right channel.
BACK_CENTER Back center channel, not represented in any FMOD_SPEAKERMODE.
MONO Mono channel mask.
STEREO Stereo channel mask.
LRC Left / right / center channel mask.
QUAD Quadphonic channel mask.
SURROUND 5.0 surround channel mask.
SURROUND_5POINT1 5.1 surround channel mask.
SURROUND_5POINT1_REARS 5.1 surround channel mask, using rears instead of surrounds.
SURROUND_7POINT0 7.0 surround channel mask.
SURROUND_7POINT1 7.1 surround channel mask.


Back To Top

FMOD_PORT_INDEX

FMOD Constant: FMOD_PORT_INDEX


This enum specifies the output type specific index for when there are multiple instances or destinations for a port type.

These constants are referenced by the following functions:


Member Description
NONE Use when a port index is not required
FLAG_VR_CONTROLLER Use as a flag to indicate the intended controller is associated with a VR headset


Back To Top

FMOD_THREAD_PRIORITY

FMOD Constant: FMOD_THREAD_PRIORITY


This enum specifies the scheduling priority to assign a given thread to.

These constants are referenced by the following functions:


Member Description
PLATFORM_MIN Lower bound of platform specific priority range.
PLATFORM_MAX Upper bound of platform specific priority range.
DEFAULT For a given thread use the default listed below, i.e. FMOD_THREAD_TYPE.MIXER uses FMOD_THREAD_PRIORITY.MIXER.
LOW Low platform agnostic priority.
MEDIUM Medium platform agnostic priority.
HIGH High platform agnostic priority.
VERY_HIGH Very high platform agnostic priority.
EXTREME Extreme platform agnostic priority.
CRITICAL Critical platform agnostic priority.
MIXER Default priority for FMOD_THREAD_TYPE.MIXER.
FEEDER Default priority for FMOD_THREAD_TYPE.FEEDER.
STREAM Default priority for FMOD_THREAD_TYPE.STREAM.
FILE Default priority for FMOD_THREAD_TYPE.FILE.
NONBLOCKING Default priority for FMOD_THREAD_TYPE.NONBLOCKING.
RECORD Default priority for FMOD_THREAD_TYPE.RECORD.
GEOMETRY Default priority for FMOD_THREAD_TYPE.GEOMETRY.
PROFILER Default priority for FMOD_THREAD_TYPE.PROFILER.
STUDIO_UPDATE Default priority for FMOD_THREAD_TYPE.STUDIO_UPDATE.
STUDIO_LOAD_BANK Default priority for FMOD_THREAD_TYPE.STUDIO_LOAD_BANK.
STUDIO_LOAD_SAMPLE Default priority for FMOD_THREAD_TYPE.STUDIO_LOAD_SAMPLE.
CONVOLUTION1 Default priority for FMOD_THREAD_TYPE.CONVOLUTION1.
CONVOLUTION2 Default priority for FMOD_THREAD_TYPE.CONVOLUTION2.


Back To Top

FMOD_THREAD_STACK_SIZE

FMOD Constant: FMOD_THREAD_STACK_SIZE


This enum specifies the stack space available to the given thread.

These constants are referenced by the following functions:


Member Description
DEFAULT For a given thread use the default listed below, i.e. FMOD_THREAD_TYPE.MIXER uses FMOD_THREAD_STACK_SIZE.MIXER.
MIXER Default stack size for FMOD_THREAD_TYPE.MIXER. Set to 80 * 1024.
FEEDER Default stack size for FMOD_THREAD_TYPE.FEEDER. Set to 16 * 1024.
STREAM Default stack size for FMOD_THREAD_TYPE.STREAM. Set to 96 * 1024.
FILE Default stack size for FMOD_THREAD_TYPE.FILE. Set to 64 * 1024.
NONBLOCKING Default stack size for FMOD_THREAD_TYPE.NONBLOCKING. Set to 112 * 1024.
RECORD Default stack size for FMOD_THREAD_TYPE.RECORD. Set to 16 * 1024.
GEOMETRY Default stack size for FMOD_THREAD_TYPE.GEOMETRY. Set to 48 * 1024.
PROFILER Default stack size for FMOD_THREAD_TYPE.PROFILER. Set to 128 * 1024.
STUDIO_UPDATE Default stack size for FMOD_THREAD_TYPE.STUDIO_UPDATE. Set to 96 * 1024.
STUDIO_LOAD_BANK Default stack size for FMOD_THREAD_TYPE.STUDIO_LOAD_BANK. Set to 96 * 1024.
STUDIO_LOAD_SAMPLE Default stack size for FMOD_THREAD_TYPE.STUDIO_LOAD_SAMPLE. Set to 96 * 1024.
CONVOLUTION1 Default stack size for FMOD_THREAD_TYPE.CONVOLUTION1.
CONVOLUTION2 Default stack size for FMOD_THREAD_TYPE.CONVOLUTION2.


Back To Top

FMOD_THREAD_AFFINITY

FMOD Constant: FMOD_THREAD_AFFINITY


This enum specifies the bitfields for specifying the CPU core a given thread runs on.

These constants are referenced by the following functions:


Member Description
GROUP_DEFAULT For a given thread use the default listed below, i.e. FMOD_THREAD_TYPE.MIXER uses FMOD_THREAD_AFFINITY.MIXER.
GROUP_A Grouping A is recommended to isolate the mixer thread FMOD_THREAD_TYPE.MIXER.
GROUP_B Grouping B is recommended to isolate the Studio update thread FMOD_THREAD_TYPE.STUDIO_UPDATE.
GROUP_C Grouping C is recommended for all remaining threads.
MIXER Default affinity for FMOD_THREAD_TYPE.MIXER.
FEEDER Default affinity for FMOD_THREAD_TYPE.FEEDER.
STREAM Default affinity for FMOD_THREAD_TYPE.STREAM.
FILE Default affinity for FMOD_THREAD_TYPE.FILE.
NONBLOCKING Default affinity for FMOD_THREAD_TYPE.NONBLOCKING.
RECORD Default affinity for FMOD_THREAD_TYPE.RECORD.
GEOMETRY Default affinity for FMOD_THREAD_TYPE.GEOMETRY.
PROFILER Default affinity for FMOD_THREAD_TYPE.PROFILER.
STUDIO_UPDATE Default affinity for FMOD_THREAD_TYPE.STUDIO_UPDATE.
STUDIO_LOAD_BANK Default affinity for FMOD_THREAD_TYPE.STUDIO_LOAD_BANK.
STUDIO_LOAD_SAMPLE Default affinity for FMOD_THREAD_TYPE.STUDIO_LOAD_SAMPLE.
CONVOLUTION1 Default affinity for FMOD_THREAD_TYPE.CONVOLUTION1.
CONVOLUTION2 Default affinity for FMOD_THREAD_TYPE.CONVOLUTION2.
CORE_ALL Assign to all cores.
CORE_0 Assign to core 0.
CORE_1 Assign to core 1.
CORE_2 Assign to core 2.
CORE_3 Assign to core 3.
CORE_4 Assign to core 4.
CORE_5 Assign to core 5.
CORE_6 Assign to core 6.
CORE_7 Assign to core 7.
CORE_8 Assign to core 8.
CORE_9 Assign to core 9.
CORE_10 Assign to core 10.
CORE_11 Assign to core 11.
CORE_12 Assign to core 12.
CORE_13 Assign to core 13.
CORE_14 Assign to core 14.
CORE_15 Assign to core 15.


Back To Top

FMOD_REVERB_PRESETS

FMOD Constant: FMOD_REVERB_PRESETS


This group of macros holds predefined reverb configurations. To simplify usage, and avoid manually selecting reverb parameters, a table of common presets is supplied for ease of use.

The macros define default values for the FmodReverbProperties struct.


Member Description
FMOD_PRESET_OFF { decay_time: 1000, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 100, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 20, early_late_mix: 96, wet_level: -80.0 }
FMOD_PRESET_GENERIC { decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 83, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 14500, early_late_mix: 96, wet_level: -8.0 }
FMOD_PRESET_PADDEDCELL { decay_time: 170, early_delay: 1, late_delay: 2, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 160, early_late_mix: 84, wet_level: -7.8 }
FMOD_PRESET_ROOM { decay_time: 400, early_delay: 2, late_delay: 3, hf_reference: 5000, hf_decay_ratio: 83, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 6050, early_late_mix: 88, wet_level: -9.4 }
FMOD_PRESET_BATHROOM { decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 54, diffusion: 100, density: 60, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 2900, early_late_mix: 83, wet_level: 0.5 }
FMOD_PRESET_LIVINGROOM { decay_time: 500, early_delay: 3, late_delay: 4, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 160, early_late_mix: 58, wet_level: -19.0 }
FMOD_PRESET_STONEROOM { decay_time: 2300, early_delay: 12, late_delay: 17, hf_reference: 5000, hf_decay_ratio: 64, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 7800, early_late_mix: 71, wet_level: -8.5 }
FMOD_PRESET_AUDITORIUM { decay_time: 4300, early_delay: 20, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 59, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 5850, early_late_mix: 64, wet_level: -11.7 }
FMOD_PRESET_CONCERTHALL { decay_time: 3900, early_delay: 20, late_delay: 29, hf_reference: 5000, hf_decay_ratio: 70, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 5650, early_late_mix: 80, wet_level: -9.8 }
FMOD_PRESET_CAVE { decay_time: 2900, early_delay: 15, late_delay: 22, hf_reference: 5000, hf_decay_ratio: 100, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 20000, early_late_mix: 59, wet_level: -11.3 }
FMOD_PRESET_ARENA { decay_time: 7200, early_delay: 20, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 33, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 4500, early_late_mix: 80, wet_level: -9.6 }
FMOD_PRESET_HANGAR { decay_time: 10000, early_delay: 20, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 23, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 3400, early_late_mix: 72, wet_level: -7.4 }
FMOD_PRESET_CARPETTEDHALLWAY { decay_time: 300, early_delay: 2, late_delay: 30, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 500, early_late_mix: 56, wet_level: -24.0 }
FMOD_PRESET_HALLWAY { decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 59, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 7800, early_late_mix: 87, wet_level: -5.5 }
FMOD_PRESET_STONECORRIDOR { decay_time: 270, early_delay: 13, late_delay: 20, hf_reference: 5000, hf_decay_ratio: 79, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 9000, early_late_mix: 86, wet_level: -6.0 }
FMOD_PRESET_ALLEY { decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 86, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 8300, early_late_mix: 80, wet_level: -9.8 }
FMOD_PRESET_FOREST { decay_time: 1500, early_delay: 162, late_delay: 88, hf_reference: 5000, hf_decay_ratio: 54, diffusion: 79, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 760, early_late_mix: 94, wet_level: -12.3 }
FMOD_PRESET_CITY { decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 67, diffusion: 50, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 4050, early_late_mix: 66, wet_level: -26.0 }
FMOD_PRESET_MOUNTAINS { decay_time: 1500, early_delay: 300, late_delay: 100, hf_reference: 5000, hf_decay_ratio: 21, diffusion: 27, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 1220, early_late_mix: 82, wet_level: -24.0 }
FMOD_PRESET_QUARRY { decay_time: 1500, early_delay: 61, late_delay: 25, hf_reference: 5000, hf_decay_ratio: 83, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 3400, early_late_mix: 100, wet_level: -5.0 }
FMOD_PRESET_PLAIN { decay_time: 1500, early_delay: 179, late_delay: 100, hf_reference: 5000, hf_decay_ratio: 50, diffusion: 21, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 1670, early_late_mix: 65, wet_level: -28.0 }
FMOD_PRESET_PARKINGLOT { decay_time: 1700, early_delay: 8, late_delay: 12, hf_reference: 5000, hf_decay_ratio: 100, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 20000, early_late_mix: 56, wet_level: -19.5 }
FMOD_PRESET_SEWERPIPE { decay_time: 2800, early_delay: 14, late_delay: 21, hf_reference: 5000, hf_decay_ratio: 14, diffusion: 80, density: 60, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 3400, early_late_mix: 66, wet_level: 1.2 }
FMOD_PRESET_UNDERWATER { decay_time: 1500, early_delay: 7, late_delay: 11, hf_reference: 5000, hf_decay_ratio: 10, diffusion: 100, density: 100, low_shelf_frequency: 250, low_shelf_gain: 0, high_cut: 500, early_late_mix: 92, wet_level: 7.0 }


Back To Top

FMOD_MAX_CHANNEL_WIDTH

FMOD Constant: FMOD_MAX_CHANNEL_WIDTH


This macro holds the maximum number of channels per frame of audio supported by audio files, buffers, connections and DSPs.




Back To Top

FMOD_MAX_SYSTEMS

FMOD Constant: FMOD_MAX_SYSTEMS


This macro holds the maximum number of System objects allowed.




Back To Top

FMOD_MAX_LISTENERS

FMOD Constant: FMOD_MAX_LISTENERS


This macro holds the maximum number of listeners supported.




Back To Top

FMOD_REVERB_MAXINSTANCES

FMOD Constant: FMOD_REVERB_MAXINSTANCES


This macro holds the maximum number of global reverb instances.

Each instance of a reverb is an instance of a FMOD_DSP_SFXREVERB DSP in the mix graph. This is unrelated to the number of possible Reverb3D objects, which is unlimited.




Back To Top

FMOD_THREAD_TYPE

FMOD Constant: FMOD_THREAD_TYPE


This enum specifies named constants for threads created at runtime.

These constants are referenced by the following functions:


Member Description
MIXER Thread responsible for mixing and processing blocks of audio.
FEEDER Thread used by some output plugins for transferring buffered audio from FMOD_THREAD_TYPE.MIXER to the sound output device.
STREAM Thread that decodes compressed audio to PCM for Sounds created as FMOD_MODE.CREATESTREAM.
FILE Thread that reads compressed audio from disk to be consumed by FMOD_THREAD_TYPE.STREAM.
NONBLOCKING Thread that processes the creation of Sounds asynchronously when opened with FMOD_MODE.NONBLOCKING.
RECORD Thread used by some output plugins for transferring audio from a microphone to FMOD_THREAD_TYPE.MIXER.
GEOMETRY Thread used by the Geometry system for performing background calculations.
PROFILER Thread for network communication when using FMOD_INIT.PROFILE_ENABLE.
STUDIO_UPDATE Thread for processing Studio API commands and scheduling sound playback.
STUDIO_LOAD_BANK Thread for asynchronously loading Studio::Bank metadata.
STUDIO_LOAD_SAMPLE Thread for asynchronously loading Studio::Bank sample data.
CONVOLUTION1 Thread for processing medium size delay lines for FMOD_DSP_TYPE.CONVOLUTIONREVERB.
CONVOLUTION2 Thread for processing larger size delay lines for FMOD_DSP_TYPE.CONVOLUTIONREVERB.


Back To Top

FMOD_RESULT

FMOD Constant: FMOD_RESULT


This enum specifies the error codes returned from every function.

These constants are referenced by the following functions:


Member Description
OK No errors.
ERR_BADCOMMAND Tried to call a function on a data type that does not allow this type of functionality (i.e. calling fmod_sound_lock on a streaming Sound).
ERR_CHANNEL_ALLOC Error trying to allocate a Channel.
ERR_CHANNEL_STOLEN The specified Channel has been reused to play another Sound.
ERR_DMA DMA Failure. See debug output for more information.
ERR_DSP_CONNECTION DSP connection error. Connection possibly caused a cyclic dependency or connected dsps with incompatible buffer counts.
ERR_DSP_DONTPROCESS DSP return code from a DSP process query callback. Tells mixer not to call the process callback and therefore not consume CPU. Use this to optimize the DSP graph.
ERR_DSP_FORMAT DSP Format error. A DSP unit may have attempted to connect to this network with the wrong format, or a matrix may have been set with the wrong size if the target unit has a specified channel map.
ERR_DSP_INUSE DSP is already in the mixer's DSP network. It must be removed before being reinserted or released.
ERR_DSP_NOTFOUND DSP connection error. Couldn't find the DSP unit specified.
ERR_DSP_RESERVED DSP operation error. Cannot perform operation on this DSP as it is reserved by the system.
ERR_DSP_SILENCE DSP return code from a DSP process query callback. Tells mixer silence would be produced from read, so go idle and not consume CPU. Use this to optimize the DSP graph.
ERR_DSP_TYPE DSP operation cannot be performed on a DSP of this type.
ERR_FILE_BAD Error loading file.
ERR_FILE_COULDNOTSEEK Couldn't perform seek operation. This is a limitation of the medium (i.e. netstreams) or the file format.
ERR_FILE_DISKEJECTED Media was ejected while reading.
ERR_FILE_EOF End of file unexpectedly reached while trying to read essential data (truncated?).
ERR_FILE_ENDOFDATA End of current chunk reached while trying to read data.
ERR_FILE_NOTFOUND File not found.
ERR_FORMAT Unsupported file or audio format.
ERR_HEADER_MISMATCH There is a version mismatch between the FMOD header and either the FMOD Studio library or the FMOD Core library.
ERR_HTTP A HTTP error occurred. This is a catch-all for HTTP errors not listed elsewhere.
ERR_HTTP_ACCESS The specified resource requires authentication or is forbidden.
ERR_HTTP_PROXY_AUTH Proxy authentication is required to access the specified resource.
ERR_HTTP_SERVER_ERROR A HTTP server error occurred.
ERR_HTTP_TIMEOUT The HTTP request timed out.
ERR_INITIALIZATION FMOD was not initialized correctly to support this function.
ERR_INITIALIZED Cannot call this command after fmod_system_init.
ERR_INTERNAL An error occured in the FMOD system. Use the logging version of FMOD for more information.
ERR_INVALID_FLOAT Value passed in was a NaN, infinity or denormalized float.
ERR_INVALID_HANDLE An invalid object handle was used.
ERR_INVALID_PARAM An invalid parameter was passed to this function.
ERR_INVALID_POSITION An invalid seek position was passed to this function.
ERR_INVALID_SPEAKER An invalid speaker was passed to this function based on the current speaker mode.
ERR_INVALID_SYNCPOINT The syncpoint did not come from this Sound handle.
ERR_INVALID_THREAD Tried to call a function on a thread that is not supported.
ERR_INVALID_VECTOR The vectors passed in are not unit length, or perpendicular.
ERR_MAXAUDIBLE Reached maximum audible playback count for this Sound's SoundGroup.
ERR_MEMORY Not enough memory or resources.
ERR_MEMORY_CANTPOINT Can't use FMOD_MODE.OPENMEMORY_POINT on non PCM source data, or non mp3/xma/adpcm data if FMOD_MODE.CREATECOMPRESSEDSAMPLE was used.
ERR_NEEDS3D Tried to call a command on a 2D Sound when the command was meant for 3D Sound.
ERR_NEEDSHARDWARE Tried to use a feature that requires hardware support.
ERR_NET_CONNECT Couldn't connect to the specified host.
ERR_NET_SOCKET_ERROR A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.
ERR_NET_URL The specified URL couldn't be resolved.
ERR_NET_WOULD_BLOCK Operation on a non-blocking socket could not complete immediately.
ERR_NOTREADY Operation could not be performed because specified Sound/DSP connection is not ready.
ERR_OUTPUT_ALLOCATED Error initializing output device, but more specifically, the output device is already in use and cannot be reused.
ERR_OUTPUT_CREATEBUFFER Error creating hardware sound buffer.
ERR_OUTPUT_DRIVERCALL A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted.
ERR_OUTPUT_FORMAT Soundcard does not support the specified format.
ERR_OUTPUT_INIT Error initializing output device.
ERR_OUTPUT_NODRIVERS The output device has no drivers installed. If pre-init, FMOD_OUTPUTTYPE.NOSOUND is selected as the output mode. If post-init, the function just fails.
ERR_PLUGIN An unspecified error has been returned from a plugin.
ERR_PLUGIN_MISSING A requested output, dsp unit type or codec was not available.
ERR_PLUGIN_RESOURCE A resource that the plugin requires cannot be allocated or found. (i.e. the DLS file for MIDI playback)
ERR_PLUGIN_VERSION A plugin was built with an unsupported SDK version.
ERR_RECORD An error occurred trying to initialize the recording device.
ERR_REVERB_CHANNELGROUP Reverb properties cannot be set on this Channel because a parent ChannelGroup owns the reverb connection.
ERR_REVERB_INSTANCE Specified instance in FmodReverbProperties couldn't be set. Most likely because it is an invalid instance number or the reverb doesn't exist.
ERR_SUBSOUNDS The error occurred because the Sound referenced contains subsounds when it shouldn't have, or it doesn't contain subsounds when it should have. The operation may also not be able to be performed on a parent Sound.
ERR_SUBSOUND_ALLOCATED 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.
ERR_SUBSOUND_CANTMOVE Shared subsounds cannot be replaced or moved from their parent stream, such as when the parent stream is an FSB file.
ERR_TAGNOTFOUND The specified tag could not be found or there are no tags.
ERR_TOOMANYCHANNELS The Sound created exceeds the allowable input channel count. This can be increased using the 'maxinputchannels' parameter in fmod_system_set_software_format.
ERR_TRUNCATED The retrieved string is too long to fit in the supplied buffer and has been truncated.
ERR_UNIMPLEMENTED Something in FMOD hasn't been implemented when it should be. Contact FMOD support.
ERR_UNINITIALIZED This command failed because fmod_system_init or fmod_system_set_driver was not called.
ERR_UNSUPPORTED A command issued was not supported by this object. Possibly a plugin without certain callbacks specified.
ERR_VERSION The version number of this file format is not supported.
ERR_EVENT_ALREADY_LOADED The specified bank has already been loaded.
ERR_EVENT_LIVEUPDATE_BUSY The live update connection failed due to the game already being connected.
ERR_EVENT_LIVEUPDATE_MISMATCH The live update connection failed due to the game data being out of sync with the tool.
ERR_EVENT_LIVEUPDATE_TIMEOUT The live update connection timed out.
ERR_EVENT_NOTFOUND The requested event, parameter, bus or vca could not be found.
ERR_STUDIO_UNINITIALIZED The FMOD Studio System object is not yet initialized.
ERR_STUDIO_NOT_LOADED The specified resource is not loaded, so it can't be unloaded.
ERR_INVALID_STRING An invalid string was passed to this function.
ERR_ALREADY_LOCKED The specified resource is already locked.
ERR_NOT_LOCKED The specified resource is not locked, so it can't be unlocked.
ERR_RECORD_DISCONNECTED The specified recording driver has been disconnected.
ERR_TOOMANYSAMPLES The length provided exceeds the allowable limit.


Back To Top

FMOD_CHANNELCONTROL_TYPE

FMOD Constant: FMOD_CHANNELCONTROL_TYPE


This enum specifies built-in output types that can be used to run the mixer.


Member Description
CHANNEL Type representing Channel
CHANNELGROUP Type representing ChannelGroup


Back To Top

FMOD_OUTPUTTYPE

FMOD Constant: FMOD_OUTPUTTYPE


This enum specifies built-in output types that can be used to run the mixer.

These constants are referenced by the following functions:


Member Description
AUTODETECT Picks the best output mode for the platform. This is the default.
UNKNOWN All - 3rd party plugin, unknown. This is for use with fmod_system_get_output only.
NOSOUND All - Perform all mixing but discard the final output.
WAVWRITER All - Writes output to a .wav file.
NOSOUND_NRT All - Non-realtime version of FMOD_OUTPUTTYPE.NOSOUND, one mix per fmod_system_update.
WAVWRITER_NRT All - Non-realtime version of FMOD_OUTPUTTYPE.WAVWRITER, one mix per fmod_system_update.
WASAPI Win / UWP / Xbox One / Game Core - Windows Audio Session API. (Default on Windows, Xbox One, Game Core and UWP)
ASIO Win - Low latency ASIO 2.0.
PULSEAUDIO Linux - Pulse Audio. (Default on Linux if available)
ALSA Linux - Advanced Linux Sound Architecture. (Default on Linux if PulseAudio isn't available)
COREAUDIO Mac / iOS - Core Audio. (Default on Mac and iOS)
AUDIOTRACK Android - Java Audio Track. (Default on Android 2.2 and below)
OPENSL Android - OpenSL ES. (Default on Android 2.3 up to 7.1)
AUDIOOUT PS4 / PS5 - Audio Out. (Default on PS4, PS5)
AUDIO3D PS4 - Audio3D.
WEBAUDIO HTML5 - Web Audio ScriptProcessorNode output. (Default on HTML5 if AudioWorkletNode isn't available)
NNAUDIO Switch - nn::audio. (Default on Switch)
WINSONIC Win10 / Xbox One / Game Core - Windows Sonic.
AAUDIO Android - AAudio. (Default on Android 8.1 and above)
AUDIOWORKLET HTML5 - Web Audio AudioWorkletNode output. (Default on HTML5 if available)
PHASE iOS - PHASE framework. (Disabled)
OHAUDIO OpenHarmony - OHAudio.


Back To Top

FMOD_DEBUG_MODE

FMOD Constant: FMOD_DEBUG_MODE


This enum specifies the destination of log output when using the logging version of FMOD.

These constants are referenced by the following functions:


Member Description
TTY Default log location per platform, i.e. Visual Studio output window, stderr, LogCat, etc.
FILE Write log to specified file path.
CALLBACK Call specified callback with log information.


Back To Top

FMOD_SPEAKERMODE

FMOD Constant: FMOD_SPEAKERMODE


This enum specifies speaker mode types.

These constants are referenced by the following functions:

These constants are referenced by the following structs:


Member Description
DEFAULT Default speaker mode for the chosen output mode which will resolve after fmod_system_init.
RAW Assume there is no special mapping from a given channel to a speaker, channels map 1:1 in order. Use fmod_system_set_software_format to specify the speaker count.
MONO 1 speaker setup (monaural).
STEREO 2 speaker setup (stereo) front left, front right.
QUAD 4 speaker setup (4.0) front left, front right, surround left, surround right.
SURROUND 5 speaker setup (5.0) front left, front right, center, surround left, surround right.
_5POINT1 6 speaker setup (5.1) front left, front right, center, low frequency, surround left, surround right.
_7POINT1 8 speaker setup (7.1) front left, front right, center, low frequency, surround left, surround right, back left, back right.
_7POINT1POINT4 12 speaker setup (7.1.4) front left, front right, center, low frequency, surround left, surround right, back left, back right, top front left, top front right, top back left, top back right.


Back To Top

FMOD_SPEAKER

FMOD Constant: FMOD_SPEAKER


This enum assigns an enumeration for a speaker index.

These constants are referenced by the following functions:


Member Description
NONE No speaker
FRONT_LEFT The front left speaker
FRONT_RIGHT The front right speaker
FRONT_CENTER The front center speaker
LOW_FREQUENCY The LFE or 'subwoofer' speaker
SURROUND_LEFT The surround left (usually to the side) speaker
SURROUND_RIGHT The surround right (usually to the side) speaker
BACK_LEFT The back left speaker
BACK_RIGHT The back right speaker
TOP_FRONT_LEFT The top front left speaker
TOP_FRONT_RIGHT The top front right speaker
TOP_BACK_LEFT The top back left speaker
TOP_BACK_RIGHT The top back right speaker


Back To Top

FMOD_CHANNELORDER

FMOD Constant: FMOD_CHANNELORDER


This enum specifies speaker ordering for multi-channel signals.

These constants are referenced by the following structs:


Member Description
DEFAULT Left, Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right (see FMOD_SPEAKER enumeration)
WAVEFORMAT Left, Right, Center, LFE, Back Left, Back Right, Surround Left, Surround Right (as per Microsoft .wav WAVEFORMAT structure master order)
PROTOOLS Left, Center, Right, Surround Left, Surround Right, LFE
ALLMONO Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel up to FMOD_MAX_CHANNEL_WIDTH treated as mono)
ALLSTEREO Left, Right, Left, Right, Left, Right, ... (each pair of channels up to FMOD_MAX_CHANNEL_WIDTH treated as stereo)
ALSA Left, Right, Surround Left, Surround Right, Center, LFE (as per Linux ALSA channel order)


Back To Top

FMOD_PLUGINTYPE

FMOD Constant: FMOD_PLUGINTYPE


This enum specifies the types of plugin used to extend functionality.


Member Description
OUTPUT Audio output interface plugin represented with FMOD_OUTPUT_DESCRIPTION.
CODEC File format codec plugin represented with FMOD_CODEC_DESCRIPTION.
DSP DSP unit plugin represented with FMOD_DSP_DESCRIPTION.


Back To Top

FMOD_SOUND_TYPE

FMOD Constant: FMOD_SOUND_TYPE


This enum specifies the recognized audio formats that can be loaded into a Sound.

These constants are referenced by the following structs:


Member Description
UNKNOWN Unknown or custom codec plugin.
AIFF Audio Interchange File Format (.aif, .aiff). Uncompressed integer formats only.
ASF Microsoft Advanced Systems Format (.asf, .wma, .wmv). Platform provided decoder, available only on Windows.
DLS Downloadable Sound (.dls). Multi-sound bank format used by MIDI (.mid).
FLAC Free Lossless Audio Codec (.flac).
FSB FMOD Sample Bank (.fsb). Proprietary multi-sound bank format. Supported encodings: PCM16, FADPCM, Vorbis, AT9, XMA, Opus.
IT Impulse Tracker (.it).
MIDI Musical Instrument Digital Interface (.mid).
MOD Protracker / Fasttracker Module File (.mod).
MPEG Moving Picture Experts Group (.mp2, .mp3). Also supports .wav (RIFF) container format.
OGGVORBIS Ogg Vorbis (.ogg).
PLAYLIST Play list information container (.asx, .pls, .m3u, .wax). No audio, tags only.
RAW Raw uncompressed PCM data (.raw).
S3M ScreamTracker 3 Module (.s3m).
USER User created sound.
WAV Microsoft Waveform Audio File Format (.wav). Supported encodings: Uncompressed PCM, IMA ADPCM. Platform provided ACM decoder extensions, available only on Windows.
XM FastTracker 2 Extended Module (.xm).
XMA Microsoft XMA bit-stream supported by FSB (.fsb) container format. Platform provided decoder, available only on Xbox.
AUDIOQUEUE Apple Audio Queue decoder (.mp4, .m4a, .mp3). Supported encodings: AAC, ALAC, MP3. Platform provided decoder, available only on iOS / tvOS devices.
AT9 Sony ATRAC9 bit-stream supported by FSB (.fsb) container format. Platform provided decoder, available only on PlayStation.
VORBIS Vorbis bit-stream supported by FSB (.fsb) container format.
MEDIA_FOUNDATION Microsoft Media Foundation decoder (.asf, .wma, .wmv, .mp4, .m4a). Platform provided decoder, available only on UWP.
MEDIACODEC Google Media Codec decoder (.m4a, .mp4). Platform provided decoder, available only on Android.
FADPCM FMOD Adaptive Differential Pulse Code Modulation bit-stream supported by FSB (.fsb) container format.
OPUS Opus bit-stream supported by FSB (.fsb) container format. Platform provided decoder, available only on Xbox Series X


Back To Top

FMOD_SOUND_FORMAT

FMOD Constant: FMOD_SOUND_FORMAT


This enum specifies values describes the native format of the hardware or software buffer that will be used.

These constants are referenced by the following structs:


Member Description
NONE Uninitalized / unknown.
PCM8 8bit integer PCM data.
PCM16 16bit integer PCM data.
PCM24 24bit integer PCM data.
PCM32 32bit integer PCM data.
PCMFLOAT 32bit floating point PCM data.
BITSTREAM Sound data is in its native compressed format. See FMOD_MODE.CREATECOMPRESSEDSAMPLE


Back To Top

FMOD_OPENSTATE

FMOD Constant: FMOD_OPENSTATE


This enum specifies values describing what state a sound is in after FMOD_MODE.NONBLOCKING has been used to open it.

These constants are referenced by the following structs:


Member Description
READY Opened and ready to play.
LOADING Initial load in progress.
ERROR Failed to open - file not found, out of memory, etc. See return value of fmod_sound_get_open_state for what happened.
CONNECTING Connecting to remote host (internet sounds only).
BUFFERING Buffering data.
SEEKING Seeking to subsound and re-flushing stream buffer.
PLAYING Ready and playing, but not possible to release at this time without stalling the main thread.
SETPOSITION Seeking within a stream to a different position.


Back To Top

FMOD_SOUNDGROUP_BEHAVIOR

FMOD Constant: FMOD_SOUNDGROUP_BEHAVIOR


This enum specifies values specifying behavior when a sound group's max audible value is exceeded.

These constants are referenced by the following functions:


Member Description
FAIL Excess sounds will fail when calling fmod_system_play_sound.
MUTE Excess sounds will begin mute and will become audible when sufficient sounds are stopped.
STEALLOWEST Excess sounds will steal from the quietest Sound playing in the group.


Back To Top

FMOD_CHANNELCONTROL_CALLBACK_TYPE

FMOD Constant: FMOD_CHANNELCONTROL_CALLBACK_TYPE


This enum specifies the types of callbacks called by Channels and ChannelGroups.

These constants are referenced by the following functions:


Member Description
END Called when a sound ends. Supported by Channel only.
VIRTUALVOICE Called when a Channel is made virtual or real. Supported by Channel objects only.
SYNCPOINT Called when a syncpoint is encountered. Can be from wav file markers or user added. Supported by Channel only.
OCCLUSION Called when geometry occlusion values are calculated. Can be used to clamp or change the value. Supported by Channel and ChannelGroup.


Back To Top

FMOD_CHANNELCONTROL_DSP_INDEX

FMOD Constant: FMOD_CHANNELCONTROL_DSP_INDEX


This enum specifies references to built-in DSP positions that reside in a Channel or ChannelGroup DSP chain.


Member Description
HEAD Head of the DSP chain, equivalent of index 0.
FADER Built-in fader DSP.
TAIL Tail of the DSP chain, equivalent of the number of DSPs minus 1.


Back To Top

FMOD_ERRORCALLBACK_INSTANCETYPE

FMOD Constant: FMOD_ERRORCALLBACK_INSTANCETYPE


This enum specifies identifiers used to represent the different types of instance in the error callback.


Member Description
NONE Type representing no known instance type.
SYSTEM Type representing System.
CHANNEL Type representing Channel.
CHANNELGROUP Type representing ChannelGroup.
CHANNELCONTROL Type representing ChannelControl.https://www.fmod.com/docs/2.02/api/core-api-channelcontrol.html
SOUND Type representing Sound.
SOUNDGROUP Type representing SoundGroup.
DSP Type representing DSP.
DSPCONNECTION Type representing DSPConnection.
GEOMETRY Type representing Geometry.
REVERB3D Type representing Reverb3D.
STUDIO_SYSTEM Type representing Studio::System.
STUDIO_EVENTDESCRIPTION Type representing Studio::EventDescription.
STUDIO_EVENTINSTANCE Type representing Studio::EventInstance.
STUDIO_PARAMETERINSTANCE Deprecated.
STUDIO_BUS Type representing Studio::Bus.
STUDIO_VCA Type representing Studio::VCA.
STUDIO_BANK Type representing Studio::Bank.
STUDIO_COMMANDREPLAY Type representing Studio::CommandReplay.


Back To Top

FMOD_DSP_RESAMPLER

FMOD Constant: FMOD_DSP_RESAMPLER


This enum specifies the list of interpolation types used for resampling.

These constants are referenced by the following structs:


Member Description
DEFAULT Default interpolation method, same as FMOD_DSP_RESAMPLER.LINEAR.
NOINTERP No interpolation. High frequency aliasing hiss will be audible depending on the sample rate of the sound.
LINEAR Linear interpolation (default method). Fast and good quality, causes very slight lowpass effect on low frequency sounds.
CUBIC Cubic interpolation. Slower than linear interpolation but better quality.
SPLINE 5 point spline interpolation. Slowest resampling method but best quality.


Back To Top

FMOD_DSP_CALLBACK_TYPE

FMOD Constant: FMOD_DSP_CALLBACK_TYPE


This enum specifies the types of callbacks called by DSPs.

Callbacks are called from the game thread when set from the Core API or Studio API in synchronous mode, and from the Studio Update Thread when in default / async mode.

These constants are referenced by the following functions:


Member Description
DATAPARAMETERRELEASE Called when a DSP's data parameter can be released.
data: FMOD_DSP_DATA_PARAMETER_INFO.


Back To Top

FMOD_DSPCONNECTION_TYPE

FMOD Constant: FMOD_DSPCONNECTION_TYPE


This enum specifies the list of connection types between 2 DSP nodes.

These constants are referenced by the following functions:


Member Description
STANDARD Default connection type. Audio is mixed from the input to the output DSP's audible buffer.
SIDECHAIN Sidechain connection type. Audio is mixed from the input to the output DSP's sidechain buffer.
SEND Send connection type. Audio is mixed from the input to the output DSP's audible buffer, but the input is NOT executed, only copied from. A standard connection or sidechain needs to make an input execute to generate data.
SEND_SIDECHAIN Send sidechain connection type. Audio is mixed from the input to the output DSP's sidechain buffer, but the input is NOT executed, only copied from. A standard connection or sidechain needs to make an input execute to generate data.


Back To Top

FMOD_TAGTYPE

FMOD Constant: FMOD_TAGTYPE


This enum specifies the list of tag data / metadata types that could be stored within a sound. These include id3 tags, metadata from netstreams and vorbis/asf data.

These constants are referenced by the following structs:


Member Description
UNKNOWN Tag type that is not recognized by FMOD
ID3V1 MP3 ID3 Tag 1.0. Typically 1 tag stored 128 bytes from end of an MP3 file.
ID3V2 MP3 ID3 Tag 2.0. Variable length tags with more than 1 possible.
VORBISCOMMENT Metadata container used in Vorbis, FLAC, Theora, Speex and Opus file formats.
SHOUTCAST SHOUTcast internet stream metadata which can be issued during playback.
ICECAST Icecast internet stream metadata which can be issued during playback.
ASF Advanced Systems Format metadata typically associated with Windows Media formats such as WMA.
MIDI Metadata stored inside a MIDI file.
PLAYLIST Playlist files such as PLS,M3U,ASX and WAX will populate playlist information through this tag type.
FMOD Tag type used by FMOD's MIDI, MOD, S3M, XM, IT format support, and netstreams to notify of internet stream events like a sample rate change.
USER For codec developers, this tag type can be used with FMOD_CODEC_METADATA_FUNC to generate custom metadata.


Back To Top

FMOD_TAGDATATYPE

FMOD Constant: FMOD_TAGDATATYPE


This enum specifies the list of tag data / metadata types.

These constants are referenced by the following structs:


Member Description
BINARY Raw binary data. see FmodSoundTag structure for length of data in bytes.
INT Integer - Note this integer could be 8bit / 16bit / 32bit / 64bit. See FmodSoundTag structure for integer size (1 vs 2 vs 4 vs 8 bytes).
FLOAT IEEE floating point number. See FmodSoundTag structure to confirm if the float data is 32bit or 64bit (4 vs 8 bytes).
STRING 8bit ASCII char string. See FmodSoundTag structure for string length in bytes.
STRING_UTF16 16bit UTF string. Assume little endian byte order. See FmodSoundTag structure for string length in bytes.
STRING_UTF16BE 16bit UTF string Big endian byte order. See FmodSoundTag structure for string length in bytes.
STRING_UTF8 8 bit UTF string. See FmodSoundTag structure for string length in bytes.


Back To Top

FMOD_PORT_TYPE

FMOD Constant: FMOD_PORT_TYPE


This enum specifies the port types available for routing audio.

These constants are referenced by the following functions:


Member Description
MUSIC Background music, pass FMOD_PORT_INDEX.NONE as port index.
COPYRIGHT_MUSIC Copyright background music, pass FMOD_PORT_INDEX.NONE as port index.
VOICE Voice chat, pass platform specific user ID of desired user as port index.
CONTROLLER Controller speaker, pass platform specific user ID of desired user as port index.
PERSONAL Personal audio device, pass platform specific user ID of desired user as port index.
VIBRATION Controller vibration, pass platform specific user ID of desired user as port index.
AUX Auxiliary output port, pass FMOD_PORT_INDEX.NONE as port index.


Back To Top

FMOD_CODEC_SEEK_METHOD

FMOD Constant: FMOD_CODEC_SEEK_METHOD


This enum specifies file seek methods.


Member Description
SET Seeks from the beginning.
CURRENT Seeks from the current position.
END Seeks from the end.


Back To Top

FMOD_DSP_TYPE

FMOD Constant: FMOD_DSP_TYPE


This enum specifies DSP types.

These constants are referenced by the following functions:


Member Description
UNKNOWN Was created via a non-FMOD plugin and has an unknown purpose.
MIXER Does not process the signal, acts as a unit purely for mixing inputs.
OSCILLATOR Generates sine/square/saw/triangle or noise tones. See FMOD_DSP_OSCILLATOR for parameter information, Effect reference - Oscillator for overview.
LOWPASS Filters sound using a high quality, resonant lowpass filter algorithm but consumes more CPU time. Deprecated and will be removed in a future release. See FMOD_DSP_LOWPASS remarks for parameter information, Effect reference - Low Pass for overview.
ITLOWPASS Filters sound using a resonant lowpass filter algorithm that is used in Impulse Tracker, but with limited cutoff range (0 to 8060hz). See FMOD_DSP_ITLOWPASS for parameter information, Effect reference - IT Low Pass for overview.
HIGHPASS Filters sound using a resonant highpass filter algorithm. Deprecated and will be removed in a future release. See FMOD_DSP_HIGHPASS remarks for parameter information, Effect reference - High Pass for overview.
ECHO Produces an echo on the sound and fades out at the desired rate. See FMOD_DSP_ECHO for parameter information, Effect reference - Echo for overview.
FADER Pans and scales the volume of a unit. See FMOD_DSP_FADER for parameter information, Effect reference - Fader for overview.
FLANGE Produces a flange effect on the sound. See FMOD_DSP_FLANGE for parameter information, Effect reference - Flange for overview.
DISTORTION Distorts the sound. See FMOD_DSP_DISTORTION for parameter information, Effect reference - Distortion for overview.
NORMALIZE Normalizes or amplifies the sound to a certain level. See FMOD_DSP_NORMALIZE for parameter information, Effect reference - Normalize for overview.
LIMITER Limits the sound to a certain level. See FMOD_DSP_LIMITER for parameter information, Effect reference - Limiter for overview.
PARAMEQ Attenuates or amplifies a selected frequency range. Deprecated and will be removed in a future release. See FMOD_DSP_PARAMEQ for parameter information, Effect reference - Parametric EQ for overview.
PITCHSHIFT Bends the pitch of a sound without changing the speed of playback. See FMOD_DSP_PITCHSHIFT for parameter information, Effect reference - Pitch Shifter for overview.
CHORUS Produces a chorus effect on the sound. See FMOD_DSP_CHORUS for parameter information, Effect reference - Chorus for overview.
VSTPLUGIN Allows the use of Steinberg VST plugins. Note that plugins are currently not implemented in the extension.
WINAMPPLUGIN Allows the use of Nullsoft Winamp plugins. Note that plugins are currently not implemented in the extension.
ITECHO Produces an echo on the sound and fades out at the desired rate as is used in Impulse Tracker. See FMOD_DSP_ITECHO for parameter information, Effect reference - IT Echo for overview.
COMPRESSOR Dynamic compression (linked/unlinked multi-channel, wideband). See FMOD_DSP_COMPRESSOR for parameter information, Effect reference - Compressor for overview.
SFXREVERB I3DL2 reverb effect. See FMOD_DSP_SFXREVERB for parameter information, Effect reference - SFX Reverb for overview.
LOWPASS_SIMPLE Filters sound using a simple lowpass with no resonance, but has flexible cutoff and is fast. Deprecated and will be removed in a future release. See FMOD_DSP_LOWPASS_SIMPLE remarks for parameter information, Effect reference - Low Pass Simple for overview.
DELAY Produces different delays on individual channels of the sound. See FMOD_DSP_DELAY for parameter information, Effect reference - Delay for overview.
TREMOLO Produces a tremolo / chopper effect on the sound. See FMOD_DSP_TREMOLO for parameter information, Effect reference - Tremolo for overview.
LADSPAPLUGIN Unsupported / Deprecated.
SEND Sends a copy of the signal to a return DSP anywhere in the DSP tree. See FMOD_DSP_SEND for parameter information, Effect reference - Send for overview.
RETURN Receives signals from a number of send DSPs. See FMOD_DSP_RETURN for parameter information, Effect reference - Return for overview.
HIGHPASS_SIMPLE Filters sound using a simple highpass with no resonance, but has flexible cutoff and is fast. Deprecated and will be removed in a future release. See FMOD_DSP_HIGHPASS_SIMPLE remarks for parameter information, Effect reference - High Pass Simple for overview.
PAN Pans the signal in 2D or 3D, possibly upmixing or downmixing as well. See FMOD_DSP_PAN for parameter information, Effect reference - Pan for overview.
THREE_EQ Three-band equalizer. See FMOD_DSP_THREE_EQ for parameter information, Effect reference - Three EQ for overview.
FFT Analyzes the signal and provides spectrum information back through getParameter. See FMOD_DSP_FFT for parameter information, Effect reference - FFT for overview.
LOUDNESS_METER Analyzes the loudness and true peak of the signal.
ENVELOPEFOLLOWER Tracks the envelope of the input/sidechain signal. Deprecated and will be removed in a future release. See FMOD_DSP_ENVELOPEFOLLOWER for parameter information, Effect reference - Envelope Follower for overview.
CONVOLUTIONREVERB Convolution reverb. See FMOD_DSP_TYPE's CONVOLUTION_REVERB for parameter information, Effect reference - Convolution Reverb for overview.
CHANNELMIX Provides per channel gain, channel grouping of the input signal which also sets the speaker format for the output signal, and customizable input to output channel routing. See FMOD_DSP_CHANNELMIX for parameter information, Effect reference - Channel Mix for overview.
TRANSCEIVER 'sends' and 'receives' from a selection of up to 32 different slots. It is like a send/return but it uses global slots rather than returns as the destination. It also has other features. Multiple transceivers can receive from a single channel, or multiple transceivers can send to a single channel, or a combination of both. See FMOD_DSP_TRANSCEIVER for parameter information, Effect reference - Transceiver for overview.
OBJECTPAN Spatializes input signal by passing it to an external object mixer. See FMOD_DSP_OBJECTPAN for parameter information, Effect reference - Object Panner for overview.
MULTIBAND_EQ Five band parametric equalizer. See FMOD_DSP_MULTIBAND_EQ for parameter information, Effect reference - Multiband Equalizer for overview.


Back To Top

FMOD_DSP_OSCILLATOR

FMOD Constant: FMOD_DSP_OSCILLATOR


This enum specifies oscillator DSP parameter types.


Member Description
TYPE Waveform type. 0 = sine. 1 = square. 2 = sawup. 3 = sawdown. 4 = triangle. 5 = noise.
RATE Frequency of the tone. Does not affect the noise generator.


Back To Top

FMOD_DSP_LOWPASS

FMOD Constant: FMOD_DSP_LOWPASS


This enum specifies lowpass DSP parameter types.

Deprecated and will be removed in a future release, emulate with FMOD_DSP_TYPE.MULTIBAND_EQ.


Member Description
CUTOFF Lowpass cutoff frequency.
RESONANCE Lowpass resonance Q value.


Back To Top

FMOD_DSP_ITLOWPASS

FMOD Constant: FMOD_DSP_ITLOWPASS


This enum specifies lowpass DSP parameter types.


Member Description
CUTOFF Lowpass cutoff frequency.
RESONANCE Lowpass resonance Q value.


Back To Top

FMOD_DSP_HIGHPASS

FMOD Constant: FMOD_DSP_HIGHPASS


This enum specifies highpass DSP parameter types.


Member Description
CUTOFF Highpass cutoff frequency.
RESONANCE Highpass resonance Q value.


Back To Top

FMOD_DSP_ECHO

FMOD Constant: FMOD_DSP_ECHO


This enum specifies echo DSP parameter types.


Member Description
DELAY Echo delay.
FEEDBACK Echo decay per delay. 100.0 = No decay, 0.0 = total decay.
DRYLEVEL Original sound volume.
WETLEVEL Volume of echo signal to pass to output.


Back To Top

FMOD_DSP_FADER

FMOD Constant: FMOD_DSP_FADER


This enum specifies fader DSP parameter types.


Member Description
GAIN Signal gain.
OVERALL_GAIN Overall gain to allow FMOD to know the DSP is scaling the signal for visualization purposes.


Back To Top

FMOD_DSP_FLANGE

FMOD Constant: FMOD_DSP_FLANGE


This enum specifies flange DSP parameter types.


Member Description
MIX Percentage of wet signal in mix.
DEPTH Flange depth.
RATE Flange speed.


Back To Top

FMOD_DSP_DISTORTION

FMOD Constant: FMOD_DSP_DISTORTION


This enum specifies distortion DSP parameter types.


Member Description
LEVEL Distortion value.


Back To Top

FMOD_DSP_NORMALIZE

FMOD Constant: FMOD_DSP_NORMALIZE


This enum specifies normalize DSP parameter types.

Normalize amplifies the sound based on the maximum peaks within the signal. For example if the maximum peaks in the signal were 50% of the bandwidth, it would scale the whole sound by 2.

The lower threshold value makes the normalizer ignore peaks below a certain point, to avoid over-amplification if a loud signal suddenly came in, and also to avoid amplifying to maximum things like background hiss.

Because FMOD is a realtime audio processor, it doesn't have the luxury of knowing the peak for the whole sound (i.e. it can't see into the future), so it has to process data as it comes in.

To avoid very sudden changes in volume level based on small samples of new data, FMOD fades towards the desired amplification which makes for smooth gain control. The fadetime parameter can control this.


Member Description
FADETIME Time to ramp the silence to full.
THRESHOLD Lower volume range threshold to ignore.
MAXAMP Maximum amplification allowed.


Back To Top

FMOD_DSP_LIMITER

FMOD Constant: FMOD_DSP_LIMITER


This enum specifies limited DSP parameter types.


Member Description
RELEASETIME Time to return the gain reduction to full in ms.
CEILING Maximum level of the output signal.
MAXIMIZERGAIN Maximum amplification allowed.
MODE Channel processing mode where false is independent (limiter per channel) and true is linked (all channels are summed together before processing).


Back To Top

FMOD_DSP_PARAMEQ

FMOD Constant: FMOD_DSP_PARAMEQ


This enum specifies parametric EQ DSP parameter types.

Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE.MULTIBAND_EQ:

Parametric EQ is a single band peaking EQ filter that attenuates or amplifies a selected frequency and its neighboring frequencies.

When the gain is set to zero decibels the sound will be unaffected and represents the original signal exactly.


Member Description
CENTER Frequency center.
BANDWIDTH Octave range around the center frequency to filter.
GAIN Frequency Gain in dB.


Back To Top

FMOD_DSP_MULTIBAND_EQ

FMOD Constant: FMOD_DSP_MULTIBAND_EQ


This enum specifies multiband EQ DSP parameter types.

Flexible five band parametric equalizer.


Member Description
A_FILTER Band A: used to interpret the behavior of the remaining parameters.
A_FREQUENCY Band A: Significant frequency, cutoff [low/high pass, low/high shelf], center [notch, peaking, band-pass], phase transition point [all-pass].
A_Q Band A: Quality factor, resonance [low/high pass], bandwidth [notch, peaking, band-pass], phase transition sharpness [all-pass], unused [low/high shelf].
A_GAIN Band A: Boost or attenuation in dB [peaking, high/low shelf only]. -30 to 30. Default = 0.
B_FILTER Band B: See Band A.
B_FREQUENCY Band B: See Band A
B_Q Band B: See Band A
B_GAIN Band B: See Band A
C_FILTER Band C: See Band A.
C_FREQUENCY Band C: See Band A.
C_Q Band C: See Band A.
C_GAIN Band C: See Band A.
D_FILTER Band D: See Band A.
D_FREQUENCY Band D: See Band A.
D_Q Band D: See Band A.
D_GAIN Band D: See Band A.
E_FILTER Band E: See Band A.
E_FREQUENCY Band E: See Band A.
E_Q Band E: See Band A.
E_GAIN Band E: See Band A.


Back To Top

FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE

FMOD Constant: FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE


This enum specifies multiband EQ Filter types.


Member Description
DISABLED Disabled filter, no processing.
LOWPASS_12DB Resonant low-pass filter, attenuates frequencies (12dB per octave) above a given point (with specificed resonance) while allowing the rest to pass.
LOWPASS_24DB Resonant low-pass filter, attenuates frequencies (24dB per octave) above a given point (with specificed resonance) while allowing the rest to pass.
LOWPASS_48DB Resonant low-pass filter, attenuates frequencies (48dB per octave) above a given point (with specificed resonance) while allowing the rest to pass.
HIGHPASS_12DB Resonant high-pass filter, attenuates frequencies (12dB per octave) below a given point (with specificed resonance) while allowing the rest to pass.
HIGHPASS_24DB Resonant high-pass filter, attenuates frequencies (24dB per octave) below a given point (with specificed resonance) while allowing the rest to pass.
HIGHPASS_48DB Resonant high-pass filter, attenuates frequencies (48dB per octave) below a given point (with specificed resonance) while allowing the rest to pass.
LOWSHELF Low-shelf filter, boosts or attenuates frequencies (with specified gain) below a given point while allowing the rest to pass.
HIGHSHELF High-shelf filter, boosts or attenuates frequencies (with specified gain) above a given point while allowing the rest to pass.
PEAKING Peaking filter, boosts or attenuates frequencies (with specified gain) at a given point (with specificed bandwidth) while allowing the rest to pass.
BANDPASS Band-pass filter, allows frequencies at a given point (with specificed bandwidth) to pass while attenuating frequencies outside this range.
NOTCH Notch or band-reject filter, attenuates frequencies at a given point (with specificed bandwidth) while allowing frequencies outside this range to pass.
ALLPASS All-pass filter, allows all frequencies to pass, but changes the phase response at a given point (with specified sharpness).


Back To Top

FMOD_DSP_PITCHSHIFT

FMOD Constant: FMOD_DSP_PITCHSHIFT


This enum specifies pitch shift DSP parameter types.

FMOD_DSP_PITCHSHIFT.MAXCHANNELS dictates the amount of memory allocated. By default, the maxchannels value is 0. If FMOD is set to stereo, the pitch shift unit will allocate enough memory for 2 channels. If it is 5.1, it will allocate enough memory for a 6 channel pitch shift, etc.

If the pitch shift effect is only ever applied to the global mix (i.e. with fmod_channel_control_add_dsp on a ChannelGroup object), then 0 is the value to set as it will be enough to handle all speaker modes.

When the pitch shift is added to a Channel (i.e. with fmod_channel_control_add_dsp on a Channel object) then the signal channel count that comes in could be anything from 1 to 8 possibly. It is only in this case where you might want to increase the channel count above the output's channel count.

If a Channel pitch shift is set to a lower number than the signal's channel count that is coming in, it will not pitch shift the sound.


Member Description
PITCH Pitch value. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch.
FFTSIZE FFT window size - 256, 512, 1024, 2048, 4096. Increase this to reduce 'smearing'. This effect is a warbling sound similar to when an mp3 is encoded at very low bitrates.
OVERLAP Removed. Do not use. FMOD now uses 4 overlaps and cannot be changed.
MAXCHANNELS Maximum channels supported. 0 = same as FMOD's default output polyphony, 1 = mono, 2 = stereo etc. See remarks for more. It is recommended to leave it at 0.


Back To Top

FMOD_DSP_CHORUS

FMOD Constant: FMOD_DSP_CHORUS


This enum specifies chorus DSP parameter types.

Chorus is an effect where the sound is more 'spacious' due a copy of the signal being played along side the original, but with the delay of each copy modulating on a sine wave. As there are 2 versions of the same signal (dry vs wet), by default each signal is given 50% mix, so that the total is not louder than the original unaffected signal.


Member Description
MIX Percentage of wet signal in mix.
RATE Chorus modulation rate.
DEPTH Chorus modulation depth.


Back To Top

FMOD_DSP_ITECHO

FMOD Constant: FMOD_DSP_ITECHO


This enum specifies IT Echo DSP parameter types.

This is effectively a software based echo filter that emulates the DirectX DMO echo effect. Impulse tracker files can support this, and FMOD will produce the effect on ANY platform, not just those that support DirectX effects!

Note

Every time the delay is changed, the plugin re-allocates the echo buffer. This means the echo will dissapear at that time while it refills its new buffer. Larger echo delays result in larger amounts of memory allocated.

As this is a stereo filter made mainly for IT playback, it is targeted for stereo signals. With mono signals only the FMOD_DSP_ITECHO.LEFTDELAY is used. For multi-channel signals (>2) there will be no echo on those channels.


Member Description
WETDRYMIX Ratio of wet (processed) signal to dry (unprocessed) signal. Higher is wetter.
FEEDBACK Percentage of output fed back into input.
LEFTDELAY Delay for left channel.
RIGHTDELAY Delay for right channel.
PANDELAY Value that specifies whether to swap left and right delays with each successive echo. CURRENTLY NOT SUPPORTED.


Back To Top

FMOD_DSP_COMPRESSOR

FMOD Constant: FMOD_DSP_COMPRESSOR


This enum specifies compressor DSP parameter types.

This is a multi-channel software limiter that is uniform across the whole spectrum. The limiter is not guaranteed to catch every peak above the threshold level, because it cannot apply gain reduction instantaneously - the time delay is determined by the attack time. However setting the attack time too short will distort the sound, so it is a compromise. High level peaks can be avoided by using a short attack time - but not too short, and setting the threshold a few decibels below the critical level.


Member Description
THRESHOLD Threshold level.
RATIO Compression Ratio.
ATTACK Attack time.
RELEASE Release time.
GAINMAKEUP Make-up gain applied after limiting.
USESIDECHAIN Data of type FMOD_DSP_PARAMETER_SIDECHAIN. Whether to analyse the sidechain signal instead of the input signal. The FMOD_DSP_PARAMETER_SIDECHAIN::sidechainenable default is false.
LINKED false = Independent (compressor per channel), true = Linked.


Back To Top

FMOD_DSP_SFXREVERB

FMOD Constant: FMOD_DSP_SFXREVERB


This enum specifies SFX Reverb DSP parameter types.

This is a high quality I3DL2 based reverb. On top of the I3DL2 property set, "Dry Level" is also included to allow the dry mix to be changed. These properties can be set with presets in FMOD_REVERB_PRESETS.


Member Description
DECAYTIME Reverberation decay time at low-frequencies.
EARLYDELAY Delay time of first reflection.
LATEDELAY Late reverberation delay time relative to first reflection in milliseconds.
HFREFERENCE Reference frequency for high-frequency decay.
HFDECAYRATIO High-frequency decay time relative to decay time.
DIFFUSION Reverberation diffusion (echo density).
DENSITY Reverberation density (modal density).
LOWSHELFFREQUENCY Transition frequency of low-shelf filter.
LOWSHELFGAIN Gain of low-shelf filter.
HIGHCUT Cutoff frequency of low-pass filter.
EARLYLATEMIX Blend ratio of late reverb to early reflections.
WETLEVEL Reverb signal level.
DRYLEVEL Dry signal level.


Back To Top

FMOD_DSP_LOWPASS_SIMPLE

FMOD Constant: FMOD_DSP_LOWPASS_SIMPLE


This enum specifies simple Lowpass DSP Parameter types.

Deprecated and will be removed in a future release, emulate with FMOD_DSP_TYPE.MULTIBAND_EQ.

This is a very simple low pass filter, based on two single-pole RC time-constant modules.

The emphasis is on speed rather than accuracy, so this should not be used for task requiring critical filtering.


Member Description
CUTOFF Lowpass cutoff frequency.


Back To Top

FMOD_DSP_DELAY

FMOD Constant: FMOD_DSP_DELAY


This enum specifies delay DSP parameter types.


Member Description
CH0 Channel #0 Delay.
CH1 Channel #1 Delay.
CH2 Channel #2 Delay.
CH3 Channel #3 Delay.
CH4 Channel #4 Delay.
CH5 Channel #5 Delay.
CH6 Channel #6 Delay.
CH7 Channel #7 Delay.
CH8 Channel #8 Delay.
CH9 Channel #9 Delay.
CH10 Channel #10 Delay.
CH11 Channel #11 Delay.
CH12 Channel #12 Delay.
CH13 Channel #13 Delay.
CH14 Channel #14 Delay.
CH15 Channel #15 Delay.


Back To Top

FMOD_DSP_TREMOLO

FMOD Constant: FMOD_DSP_TREMOLO


This enum specifies tremolo DSP parameter types.

The tremolo effect varies the amplitude of a sound. Depending on the settings, this unit can produce a tremolo, chopper or auto-pan effect.

The shape of the LFO (low freq. oscillator) can be morphed between sine, triangle and sawtooth waves using the FMOD_DSP_TREMOLO.SHAPE and FMOD_DSP_TREMOLO.SKEW parameters.

FMOD_DSP_TREMOLO.DUTY and FMOD_DSP_TREMOLO.SQUARE are useful for a chopper-type effect where the first controls the on-time duration and second controls the flatness of the envelope.

FMOD_DSP_TREMOLO.SPREAD varies the LFO phase between channels to get an auto-pan effect. This works best with a sine shape LFO.

The LFO can be synchronized using the FMOD_DSP_TREMOLO.PHASE parameter which sets its instantaneous phase.


Member Description
FREQUENCY LFO frequency.
DEPTH Tremolo depth.
SHAPE LFO shape morph between triangle and sine.
SKEW Time-skewing of LFO cycle.
DUTY LFO on-time.
SQUARE Flatness of the LFO shape.
PHASE Instantaneous LFO phase.
SPREAD Rotation / auto-pan effect.


Back To Top

FMOD_DSP_SEND

FMOD Constant: FMOD_DSP_SEND


This enum specifies send DSP parameter types.


Member Description
RETURNID ID of the Return DSP this send is connected to where -1 indicates no connected return DSP.
LEVEL Send level.


Back To Top

FMOD_DSP_RETURN

FMOD Constant: FMOD_DSP_RETURN


This enum specifies return DSP parameter types.


Member Description
ID ID of this Return DSP.
INPUT_SPEAKER_MODE Input speaker mode of this return.


Back To Top

FMOD_DSP_HIGHPASS_SIMPLE

FMOD Constant: FMOD_DSP_HIGHPASS_SIMPLE


This enum specifies simple Highpass DSP parameter types.


Member Description
CUTOFF Highpass cutoff frequency.


Back To Top

FMOD_DSP_PAN_2D_STEREO_MODE_TYPE

FMOD Constant: FMOD_DSP_PAN_2D_STEREO_MODE_TYPE


This enum specifies 2D Stereo Mode values for Pan DSP.


Member Description
DISTRIBUTED The parts of a stereo sound are spread around destination speakers based on FMOD_DSP_PAN._2D_EXTENT / FMOD_DSP_PAN._2D_DIRECTION.
DISCRETE The L/R parts of a stereo sound are rotated around a circle based on FMOD_DSP_PAN._2D_STEREO_AXIS / FMOD_DSP_PAN._2D_STEREO_SEPARATION.


Back To Top

FMOD_DSP_PAN_MODE_TYPE

FMOD Constant: FMOD_DSP_PAN_MODE_TYPE


This enum specifies pan Mode values for Pan DSP.


Member Description
MONO Single channel output.
STEREO Two channel output.
SURROUND Three or more channel output. Includes common modes like quad, 5.1 or 7.1.


Back To Top

FMOD_DSP_PAN_3D_ROLLOFF_TYPE

FMOD Constant: FMOD_DSP_PAN_3D_ROLLOFF_TYPE


This enum specifies 3D roll-off values for Pan DSP.

Minimum and Maximum distance settings are controlled with FMOD_DSP_PAN._3D_MIN_DISTANCE and FMOD_DSP_PAN._3D_MAX_DISTANCE.


Member Description
LINEARSQUARED This is a linear-square roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence according to a linear squared gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode provides steeper volume ramping close to the mindistance, and more gradual ramping close to the maxdistance, than linear roll-off mode.
LINEAR This is a linear roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence using a linear gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. While this roll-off mode is not as realistic as inverse roll-off mode, it is easier to comprehend.
INVERSE This is an inverse roll-off model. Below mindistance, the volume is unattenuated; as distance increases above mindistance, the volume attenuates using mindistance/distance as the gradient until it reaches maxdistance, where it stops attenuating. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode accurately models the way sounds attenuate over distance in the real world. (DEFAULT)
INVERSETAPERED This is a combination of the inverse and linear-square roll-off models. At short distances where inverse roll-off would provide greater attenuation, it functions as inverse roll-off mode; then at greater distances where linear-square roll-off mode would provide greater attenuation, it uses that roll-off mode instead. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. Inverse tapered roll-off mode approximates realistic behavior while still guaranteeing the sound attenuates to silence at maxdistance.
CUSTOM

Custom roll-off can be defined by the programmer setting volume manually. Attenuation in the Pan DSP is turned off in this mode.



Back To Top

FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE

FMOD Constant: FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE


This enum specifies 3D Extent Mode values for Pan DSP.


Member Description
AUTO Automatically determine the extent.
USER User-defined extent.
OFF No extent.


Back To Top

FMOD_DSP_PAN

FMOD Constant: FMOD_DSP_PAN


This enum specifies pan DSP parameter types.

FMOD_DSP_PAN._3D_PAN_BLEND controls the percentage of the effect supplied by FMOD_DSP_PAN._2D_DIRECTION and FMOD_DSP_PAN._2D_EXTENT.

For FMOD_DSP_PAN._3D_POSITION, the following members in the FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI struct should be non zero.

  • numlisteners - This is typically 1, can be up to 8. Typically more than 1 is only used for split screen purposes. The FMOD Panner will average angles and produce the best compromise for panning and attenuation.
  • relative[listenernum].position - This is the delta between the listener position and the sound position. Typically the listener position is subtracted from the sound position.
  • relative[listenernum].forward - This is the sound's forward vector. Optional, set to 0, 0, 1 if not needed. This is only relevant for more than mono sounds in 3D, that are spread amongst the destination speakers at the time of panning.

For FMOD_DSP_PAN._2D_STEREO_MODE, when it is set to FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISCRETE, only FMOD_DSP_PAN._2D_STEREO_SEPARATION and FMOD_DSP_PAN._2D_STEREO_AXIS are used. When it is set to FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISTRIBUTED, then standard FMOD_DSP_PAN._2D_DIRECTION/FMOD_DSP_PAN._2D_EXTENT parameters are used.

FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE defaults to true for backwards compatibility.


Member Description
MODE Panner mode.
_2D_STEREO_POSITION 2D Stereo pan position.
_2D_DIRECTION 2D Surround pan direction. Direction from center point of panning circle where 0 is front center and -180 or +180 is rear speakers center point.
_2D_EXTENT 2D Surround pan extent.
_2D_ROTATION 2D Surround pan rotation.
_2D_LFE_LEVEL 2D Surround pan LFE level.
_2D_STEREO_MODE Stereo-To-Surround Mode.
_2D_STEREO_SEPARATION Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISCRETE mode. Separation/width of L/R parts of stereo sound.
_2D_STEREO_AXIS Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_TYPE.DISCRETE mode. Axis/rotation of L/R parts of stereo sound.
ENABLED_SPEAKERS Speakers Enabled Bitmask for each speaker from 0 to 32 to be considered by panner. Use to disable speakers from being panned to. 0 to 0xFFF. Default = 0xFFF (All on).
_3D_POSITION 3D Position of panner and listener(s).
_3D_ROLLOFF 3D volume attenuation curve shape.
_3D_MIN_DISTANCE 3D volume attenuation minimum distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true.
_3D_MAX_DISTANCE 3D volume attenuation maximum distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true.
_3D_EXTENT_MODE 3D Extent Mode.
_3D_SOUND_SIZE 3D Sound Size.
_3D_MIN_EXTENT 3D Min Extent.
_3D_PAN_BLEND 3D Pan Blend.
LFE_UPMIX_ENABLED LFE Upmix Enabled. Determines whether non-LFE source channels should mix to the LFE or leave it alone. 0 (off) to 1 (on). Default = 0 (off).
OVERALL_GAIN Overall gain to allow FMOD to know the DSP is scaling the signal for visualization purposes.
SURROUND_SPEAKER_MODE Surround speaker mode. (FMOD_SPEAKERMODE)
_2D_HEIGHT_BLEND 2D Height blend. When the input or FMOD_DSP_PAN.SURROUND_SPEAKER_MODE has height speakers, control the blend between ground and height. -1.0 (push top speakers to ground), 0.0 (preserve top / ground separation), 1.0 (push ground speakers to top).
ATTENUATION_RANGE Attenuation Range when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is false.
OVERRIDE_RANGE Override Attenuation Range with FMOD_DSP_PAN._3D_MIN_DISTANCE and FMOD_DSP_PAN._3D_MAX_DISTANCE.


Back To Top

FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE

FMOD Constant: FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE


This enum specifies crossover values for Three EQ DSP.


Member Description
_12DB 12dB/Octave crossover slope.
_24DB 24dB/Octave crossover slope.
_48DB 48dB/Octave crossover slope.


Back To Top

FMOD_DSP_THREE_EQ

FMOD Constant: FMOD_DSP_THREE_EQ


This enum specifies three EQ DSP parameter types.


Member Description
LOWGAIN Low frequency gain.
MIDGAIN Mid frequency gain.
HIGHGAIN High frequency gain.
LOWCROSSOVER Low-to-mid crossover frequency.
HIGHCROSSOVER Mid-to-high crossover frequency.
CROSSOVERSLOPE Crossover Slope type.


Back To Top

FMOD_DSP_FFT_WINDOW

FMOD Constant: FMOD_DSP_FFT_WINDOW


This enum specifies the list of windowing methods for the FFT DSP.

Used in spectrum analysis to reduce leakage / transient signals interfering with the analysis. This is a problem with analysis of continuous signals that only have a small portion of the signal sample (the FFT window size). Windowing the signal with a curve or triangle tapers the sides of the FFT window to help alleviate this problem.

Cyclic signals such as a sine wave that repeat their cycle in a multiple of the window size do not need windowing. I.e. If the sine wave repeats every 1024, 512, 256, etc. samples and the FMOD FFT window is 1024, then the signal would not need windowing.

Not windowing is the same as FMOD_DSP_FFT_WINDOW.RECT, which is the default. If the cycle of the signal (i.e. the sine wave) is not a multiple of the window size, it will cause frequency abnormalities, so a different windowing method is needed.


Member Description
RECT w[n] = 1.0
TRIANGLE w[n] = TRI(2n/N)
HAMMING w[n] = 0.54 - (0.46 * COS(n/N) )
HANNING w[n] = 0.5 * (1.0 - COS(n/N) )
BLACKMAN w[n] = 0.42 - (0.5 * COS(n/N) ) + (0.08 * COS(2.0 * n/N) )
BLACKMANHARRIS w[n] = 0.35875 - (0.48829 * COS(1.0 * n/N)) + (0.14128 * COS(2.0 * n/N)) - (0.01168 * COS(3.0 * n/N))


Back To Top

FMOD_DSP_FFT

FMOD Constant: FMOD_DSP_FFT


This enum specifies FFT DSP parameter types.

Set the attributes for the spectrum analysis with FMOD_DSP_FFT.WINDOWSIZE and FMOD_DSP_FFT.WINDOWTYPE, and retrieve the results with FMOD_DSP_FFT.SPECTRUMDATA and FMOD_DSP_FFT.DOMINANT_FREQ. FMOD_DSP_FFT.SPECTRUMDATA stores its data in the FMOD_DSP_PARAMETER_DATA_TYPE_FFT. You will need to cast to this structure to get the right data.


Member Description
WINDOWSIZE Window size. Must be a power of 2 between 128 and 16384.
WINDOWTYPE FFT Window Type.
SPECTRUMDATA Returns the current spectrum values between 0 and 1 for each 'FFT bin'. Divide the Nyquist frequency by the window size to get the Hz value per entry.
DOMINANT_FREQ Returns the dominant frequencies for each channel.


Back To Top

FMOD_DSP_LOUDNESS_METER

FMOD Constant: FMOD_DSP_LOUDNESS_METER


This enum specifies loudness meter DSP parameter types.


Member Description
STATE Update state.
WEIGHTING Channel weighting.
INFO Metering information.


Back To Top

FMOD_DSP_LOUDNESS_METER_STATE_TYPE

FMOD Constant: FMOD_DSP_LOUDNESS_METER_STATE_TYPE


This enum specifies loudness meter state indicating update behavior.


Member Description
RESET_INTEGRATED Reset loudness meter information except max peak.
RESET_MAXPEAK Reset loudness meter max peak.
RESET_ALL Reset all loudness meter information.
PAUSED Pause loudness meter.
ANALYZING Enable loudness meter recording and analyzing.


Back To Top

FMOD_DSP_ENVELOPEFOLLOWER

FMOD Constant: FMOD_DSP_ENVELOPEFOLLOWER


This enum specifies parameter types for the FMOD_DSP_TYPE.ENVELOPEFOLLOWER unit. This is a simple envelope follower for tracking the signal level. This unit does not affect the incoming signal.


Member Description
ATTACK Attack time.
RELEASE Release time.
ENVELOPE Current value of the envelope.
USESIDECHAIN Whether to analyse the sidechain signal instead of the input signal.


Back To Top

FMOD_DSP_CONVOLUTION_REVERB_PARAM

FMOD Constant: FMOD_DSP_CONVOLUTION_REVERB


This enum specifies Convolution reverb DSP parameter types.

Convolution reverb is a reverberation effect that uses a recording of a physical space known as an Impulse Response file (or IR file) to generate frequency specific reverberation.


Member Description
IR Array of signed 16-bit (short) PCM data to be used as reverb impulse response. First member of the array should be a 16 bit value (short) which specifies the number of channels. Array looks like [index 0=numchannels][index 1+ = raw 16 bit PCM data]. Data is copied internally so source can be freed.
WET Volume of echo signal to pass to output.
DRY Original sound volume.
LINKED Linked - channels are mixed together before processing through the reverb.


Back To Top

FMOD_DSP_CHANNELMIX_OUTPUT

FMOD Constant: FMOD_DSP_CHANNELMIX_OUTPUT


This enum specifies channel Mix DSP outgrouping parameter types.


Member Description
DEFAULT Output channel count = input channel count. Mapping: See FMOD_SPEAKER enumeration.
ALLMONO Output channel count = 1. Mapping: Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel all the way up to FMOD_MAX_CHANNEL_WIDTH channels are treated as if they were mono)
ALLSTEREO Output channel count = 2. Mapping: Left, Right, Left, Right, Left, Right, ... (each pair of channels is treated as stereo all the way up to FMOD_MAX_CHANNEL_WIDTH channels)
ALLQUAD Output channel count = 4. Mapping: Repeating pattern of Front Left, Front Right, Surround Left, Surround Right.
ALL5POINT1 Output channel count = 6. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right.
ALL7POINT1 Output channel count = 8. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right.
ALLLFE Output channel count = 6. Mapping: Repeating pattern of LFE in a 5.1 output signal.
ALL7POINT1POINT4 Output channel count = 12. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right, Top Front Left, Top Front Right, Top Back Left, Top Back Right.


Back To Top

FMOD_DSP_CHANNELMIX

FMOD Constant: FMOD_DSP_CHANNELMIX


This enum specifies channel Mix DSP parameter types.

For FMOD_DSP_CHANNELMIX.OUTPUTGROUPING, this value will set the output speaker format for the DSP which determines the number of output channels.

For input channels mapped to an output channel in excess of the number of output channels, it will instead be mapped to the modulo of that channel index. E.g., if there are 4 output channels, the input channel mapped to output channel index 5 will be mapped to index 1.


Member Description
OUTPUTGROUPING Channel mix output grouping. (FMOD_DSP_CHANNELMIX_OUTPUT)
GAIN_CH0 Channel #0 gain.
GAIN_CH1 Channel #1 gain.
GAIN_CH2 Channel #2 gain.
GAIN_CH3 Channel #3 gain.
GAIN_CH4 Channel #4 gain.
GAIN_CH5 Channel #5 gain.
GAIN_CH6 Channel #6 gain.
GAIN_CH7 Channel #7 gain.
GAIN_CH8 Channel #8 gain.
GAIN_CH9 Channel #9 gain.
GAIN_CH10 Channel #10 gain.
GAIN_CH11 Channel #11 gain.
GAIN_CH12 Channel #12 gain.
GAIN_CH13 Channel #13 gain.
GAIN_CH14 Channel #14 gain.
GAIN_CH15 Channel #15 gain.
GAIN_CH16 Channel #16 gain.
GAIN_CH17 Channel #17 gain.
GAIN_CH18 Channel #18 gain.
GAIN_CH19 Channel #19 gain.
GAIN_CH20 Channel #20 gain.
GAIN_CH21 Channel #21 gain.
GAIN_CH22 Channel #22 gain.
GAIN_CH23 Channel #23 gain.
GAIN_CH24 Channel #24 gain.
GAIN_CH25 Channel #25 gain.
GAIN_CH26 Channel #26 gain.
GAIN_CH27 Channel #27 gain.
GAIN_CH28 Channel #28 gain.
GAIN_CH29 Channel #29 gain.
GAIN_CH30 Channel #30 gain.
GAIN_CH31 Channel #31 gain.
OUTPUT_CH0 Output channel for Input channel #0
OUTPUT_CH1 Output channel for Input channel #1
OUTPUT_CH2 Output channel for Input channel #2
OUTPUT_CH3 Output channel for Input channel #3
OUTPUT_CH4 Output channel for Input channel #4
OUTPUT_CH5 Output channel for Input channel #5
OUTPUT_CH6 Output channel for Input channel #6
OUTPUT_CH7 Output channel for Input channel #7
OUTPUT_CH8 Output channel for Input channel #8
OUTPUT_CH9 Output channel for Input channel #9
OUTPUT_CH10 Output channel for Input channel #10
OUTPUT_CH11 Output channel for Input channel #11
OUTPUT_CH12 Output channel for Input channel #12
OUTPUT_CH13 Output channel for Input channel #13
OUTPUT_CH14 Output channel for Input channel #14
OUTPUT_CH15 Output channel for Input channel #15
OUTPUT_CH16 Output channel for Input channel #16
OUTPUT_CH17 Output channel for Input channel #17
OUTPUT_CH18 Output channel for Input channel #18
OUTPUT_CH19 Output channel for Input channel #19
OUTPUT_CH20 Output channel for Input channel #20
OUTPUT_CH21 Output channel for Input channel #21
OUTPUT_CH22 Output channel for Input channel #22
OUTPUT_CH23 Output channel for Input channel #23
OUTPUT_CH24 Output channel for Input channel #24
OUTPUT_CH25 Output channel for Input channel #25
OUTPUT_CH26 Output channel for Input channel #26
OUTPUT_CH27 Output channel for Input channel #27
OUTPUT_CH28 Output channel for Input channel #28
OUTPUT_CH29 Output channel for Input channel #29
OUTPUT_CH30 Output channel for Input channel #30
OUTPUT_CH31 Output channel for Input channel #31


Back To Top

FMOD_DSP_TRANSCEIVER_SPEAKERMODE

FMOD Constant: FMOD_DSP_TRANSCEIVER_SPEAKERMODE


This enum specifies speaker mode values for Transceiver DSP.

The speaker mode of a transceiver buffer (of which there are up to 32 of) is determined automatically depending on the signal flowing through the transceiver effect, or it can be forced. Use a smaller fixed speaker mode buffer to save memory. Only relevant for transmitter dsps, as they control the format of the transceiver channel's buffer.

If multiple transceivers transmit to a single buffer in different speaker modes, it will allocate memory for each speaker mode. This uses more memory than a single speaker mode. If there are multiple receivers reading from a channel with multiple speaker modes, it will read them all and mix them together.

If the system's speaker mode is stereo or mono, it will not create a 3rd buffer, it will just use the mono/stereo speaker mode buffer.


Member Description
AUTO A transmitter will use whatever signal channel count coming in to the transmitter, to determine which speaker mode is allocated for the transceiver channel.
MONO A transmitter will always downmix to a mono channel buffer.
STEREO A transmitter will always upmix or downmix to a stereo channel buffer.
SURROUND A transmitter will always upmix or downmix to a surround channel buffer. Surround is the speaker mode of the system above stereo, so could be quad/surround/5.1/7.1.


Back To Top

FMOD_DSP_TRANSCEIVER

FMOD Constant: FMOD_DSP_TRANSCEIVER


This enum specifies transceiver DSP parameter types.


Member Description
TRANSMIT false = Transceiver is a 'receiver' (like a return) and accepts data from a channel. true = Transceiver is a 'transmitter' (like a send).
GAIN Gain to receive or transmit.
CHANNEL Global slot that can be transmitted to or received from.
TRANSMITSPEAKERMODE Speaker mode (transmitter mode only). (FMOD_DSP_TRANSCEIVER_SPEAKERMODE)


Back To Top

FMOD_DSP_OBJECTPAN

FMOD Constant: FMOD_DSP_OBJECTPAN


This enum specifies object based spatializer parameters.

Signal processed by this DSP will be sent to the global object mixer (effectively a send), any DSP connected after this will receive silence.

For best results this DSP should be used with FMOD_OUTPUTTYPE.WINSONIC or FMOD_OUTPUTTYPE.AUDIO3D to get height spatialization. Playback with any other output will result in fallback spatialization provided by FMOD_DSP_TYPE.PAN.

FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE defaults to true for backwards compatibility.


Member Description
_3D_POSITION 3D Position.
_3D_ROLLOFF 3D Roll-off Type.
_3D_MIN_DISTANCE 3D Min Distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true.
_3D_MAX_DISTANCE 3D Max Distance when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is true.
_3D_EXTENT_MODE 3D Extent Mode.
_3D_SOUND_SIZE 3D Sound Size.
_3D_MIN_EXTENT 3D Min Extent.
OVERALL_GAIN Overall gain to allow FMOD to know the DSP is scaling the signal for virtualization purposes.
OUTPUTGAIN Output gain level.
ATTENUATION_RANGE Attenuation Range when FMOD_DSP_OBJECTPAN.OVERRIDE_RANGE is false.
OVERRIDE_RANGE Override Attenuation Range with FMOD_DSP_OBJECTPAN._3D_MIN_DISTANCE and FMOD_DSP_OBJECTPAN._3D_MAX_DISTANCE.


Back To Top

FMOD_OUTPUT_METHOD

FMOD Constant: FMOD_OUTPUT_METHOD


This enum specifies the output method used to interact with the mixer.

For hardware that presents a callback that must be filled immediately FMOD_OUTPUT_METHOD.MIX_BUFFERED is recommended as buffering occurs in a separate thread, reading from the mixer is simply a memcpy. Using FMOD_OUTPUT_METHOD_MIX.DIRECT is recommended if you want to take direct control of how and when the mixer runs.


Member Description
MIX_DIRECT Mixer will execute directly when calling FMOD_OUTPUT_READFROMMIXER_FUNC, buffering must be performed by plugin code.
MIX_BUFFERED Mixer will execute and buffer automatically (on a separate thread) and can be read from with FMOD_OUTPUT_READFROMMIXER_FUNC.


Back To Top

FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT

FMOD Constant: FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT


This macro holds the required memory alignment of banks in user memory.




Back To Top

FMOD_STUDIO_INIT

FMOD Constant: FMOD_STUDIO_INITFLAGS


This enum specifies FMOD Studio System initialization flags.

These constants are referenced by the following functions:


Member Description
NORMAL Use defaults for all initialization options.
LIVEUPDATE Enable live update.
ALLOW_MISSING_PLUGINS Load banks even if they reference plugins that have not been loaded.
SYNCHRONOUS_UPDATE Disable asynchronous processing and perform all processing on the calling thread instead.
DEFERRED_CALLBACKS Defer timeline callbacks until the main update. See fmod_studio_event_instance_set_callback for more information.
LOAD_FROM_UPDATE No additional threads are created for bank and resource loading. Loading is driven from fmod_studio_system_update.
MEMORY_TRACKING Enables detailed memory usage statistics. Increases memory footprint and impacts performance. See fmod_studio_bus_get_memory_usage and fmod_studio_event_instance_get_memory_usage for more information. Implies FMOD_INIT.MEMORY_TRACKING.


Back To Top

FMOD_STUDIO_PARAMETER_FLAGS

FMOD Constant: FMOD_STUDIO_PARAMETER_FLAGS


This enum specifies flags describing the behavior of a parameter.

These constants are referenced by the following structs:


Member Description
READONLY Read-only.
AUTOMATIC Automatic parameter.
GLOBAL Global parameter.
DISCRETE Discrete parameter that operates on integers (whole numbers) rather than continuous fractional numbers.
LABELED Labeled discrete parameter that has a label for each integer value. This flag will never be set in banks built with FMOD Studio versions prior to 2.01.10. If this flag is set, FMOD_STUDIO_PARAMETER_FLAGS.DISCRETE will also be set.


Back To Top

FMOD_STUDIO_SYSTEM_CALLBACK

FMOD Constant: FMOD_STUDIO_SYSTEM_CALLBACK_TYPE


This enum specifies the callback types for the Studio System callback.

Callbacks are called from the Studio Update Thread in default / async mode and the main (calling) thread in synchronous mode.

These constants are referenced by the following functions:


Member Description
PREUPDATE Called at the start of the main Studio update. For async mode this will be on its own thread.
POSTUPDATE Called at the end of the main Studio update. For async mode this will be on its own thread.
BANK_UNLOAD Called directly when bank has just been unloaded, after all resources are freed. The commanddata argument will be the bank handle.
LIVEUPDATE_CONNECTED Called after a live update connection has been established.
LIVEUPDATE_DISCONNECTED Called after live update session disconnects.
ALL Pass this mask to fmod_studio_system_set_callback to receive all callback types.


Back To Top

FMOD_STUDIO_EVENT_CALLBACK

FMOD Constant: FMOD_STUDIO_EVENT_CALLBACK_TYPE


This enum specifies the FMOD Studio event callback types.

Callbacks are called from the Studio Update Thread in default / async mode and the main (calling) thread in synchronous mode. If using FMOD_STUDIO_INIT.DEFERRED_CALLBACKS, FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_MARKER and FMOD_STUDIO_EVENT_CALLBACK.TIMELINE_BEAT are instead called from the main thread.

These constants are referenced by the following functions:


Member Description
CREATED Called when an instance is fully created. Parameters = unused.
DESTROYED Called when an instance is just about to be destroyed. Parameters = unused.
STARTING fmod_studio_event_instance_start has been called on an event which was not already playing. The event will remain in this state until its sample data has been loaded. Parameters = unused.
STARTED The event has commenced playing. Normally this callback will be issued immediately after FMOD_STUDIO_EVENT_CALLBACK.STARTING, but may be delayed until sample data has loaded. Parameters = unused.
RESTARTED fmod_studio_event_instance_start has been called on an event which was already playing. Parameters = unused.
STOPPED The event has stopped. Parameters = unused.
START_FAILED fmod_studio_event_instance_start has been called but the polyphony settings did not allow the event to start. In this case none of FMOD_STUDIO_EVENT_CALLBACK.STARTING, FMOD_STUDIO_EVENT_CALLBACK.STARTED and FMOD_STUDIO_EVENT_CALLBACK.STOPPED will be called. Parameters = unused.
CREATE_PROGRAMMER_SOUND A programmer sound is about to play. FMOD expects the callback to provide a Sound object for it to use. Parameters = FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES.
DESTROY_PROGRAMMER_SOUND A programmer sound has stopped playing. At this point it is safe to release the Sound object that was used. Parameters = FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES.
PLUGIN_CREATED Called when a DSP plugin instance has just been created. Parameters = FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES.
PLUGIN_DESTROYED Called when a DSP plugin instance is about to be destroyed. Parameters = FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES.
TIMELINE_MARKER Called when the timeline passes a named marker. Parameters = FMOD_STUDIO_TIMELINE_MARKER_PROPERTIES.
TIMELINE_BEAT Called when the timeline hits a beat in a tempo section. Parameters = FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES.
SOUND_PLAYED Called when the event plays a sound. Parameters = Sound.
SOUND_STOPPED Called when the event finishes playing a sound. Parameters = Sound.
REAL_TO_VIRTUAL Called when the event becomes virtual. Parameters = unused.
VIRTUAL_TO_REAL Called when the event becomes real. Parameters = unused.
START_EVENT_COMMAND Called when a new event is started by a start event command. Parameters = Studio::EventInstance.
NESTED_TIMELINE_BEAT Called when the timeline hits a beat in a tempo section of a nested event. Parameters = FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES.
ALL Pass this mask to fmod_studio_event_description_set_callback or fmod_studio_event_instance_set_callback to receive all callback types.


Back To Top

FMOD_STUDIO_LOAD_BANK

FMOD Constant: FMOD_STUDIO_LOAD_BANK


This enum specifies flags to control bank loading.

These constants are referenced by the following functions:


Member Description
NORMAL Standard behavior.
NONBLOCKING Bank loading occurs asynchronously rather than occurring immediately.
DECOMPRESS_SAMPLES Force samples to decompress into memory when they are loaded, rather than staying compressed.
UNENCRYPTED Ignore the encryption key specified by fmod_studio_system_set_advanced_settings when loading sounds from this bank (assume the sounds in the bank are not encrypted).


Back To Top

FMOD_STUDIO_COMMANDCAPTURE

FMOD Constant: FMOD_STUDIO_COMMANDCAPTURE_FLAGS


This enum specifies flags controling command capture.

These constants are referenced by the following functions:


Member Description
NORMAL Use default options.
FILEFLUSH Call file flush on every command.
SKIP_INITIAL_STATE Normally the initial state of banks and instances is captured, unless this flag is set.


Back To Top

FMOD_STUDIO_COMMANDREPLAY

FMOD Constant: FMOD_STUDIO_COMMANDREPLAY_FLAGS


This enum specifies flags controlling command replay.


Member Description
NORMAL Use default options.
SKIP_CLEANUP Do not free resources at the end of playback.
FAST_FORWARD Play back at maximum speed, ignoring the timing of the original replay.
SKIP_BANK_LOAD Skip commands related to bank loading.


Back To Top

FMOD_STUDIO_LOADING_STATE

FMOD Constant: FMOD_STUDIO_LOADING_STATE


This enum specifies the loading state of various objects.

These constants are referenced by the following functions:


Member Description
UNLOADING Currently unloading.
UNLOADED Not loaded.
LOADING Loading in progress.
LOADED Loaded and ready to play.
ERROR Failed to load.


Back To Top

FMOD_STUDIO_LOAD_MEMORY_MODE

FMOD Constant: FMOD_STUDIO_LOAD_MEMORY_MODE


This enum specifies how to use the memory buffer passed to fmod_studio_system_load_bank_memory.

These constants are referenced by the following functions:


Member Description
MEMORY Memory buffer is copied internally.
MEMORY_POINT Memory buffer is used directly in user memory.


Back To Top

FMOD_STUDIO_PARAMETER_TYPE

FMOD Constant: FMOD_STUDIO_PARAMETER_TYPE


This enum specifies event parameter types.

FMOD_STUDIO_PARAMETER_TYPE.GAME_CONTROLLED type parameters may have their values set using the API. All other parameter types have their values automatically set by FMOD Studio when the system is updated.

The horizontal angle between vectors is found by projecting both vectors onto a plane and taking the angle between the projected vectors. For FMOD_STUDIO_PARAMETER_TYPE.AUTOMATIC_EVENT_ORIENTATION and FMOD_STUDIO_PARAMETER_TYPE.AUTOMATIC_DIRECTION type parameters the vectors are projected onto the listener's XZ plane. For FMOD_STUDIO_PARAMETER_TYPE.AUTOMATIC_LISTENER_ORIENTATION type parameters the vectors are projected onto the global XZ plane.

These constants are referenced by the following structs:


Member Description
GAME_CONTROLLED API settable parameter.
AUTOMATIC_DISTANCE Distance between the event and the listener.
AUTOMATIC_EVENT_CONE_ANGLE Angle between the event's forward vector and the vector pointing from the event to the listener (0 to 180 degrees).
AUTOMATIC_EVENT_ORIENTATION Horizontal angle between the event's forward vector and listener's forward vector (-180 to 180 degrees).
AUTOMATIC_DIRECTION Horizontal angle between the listener's forward vector and the vector pointing from the listener to the event (-180 to 180 degrees).
AUTOMATIC_ELEVATION Angle between the listener's XZ plane and the vector pointing from the listener to the event (-90 to 90 degrees).
AUTOMATIC_LISTENER_ORIENTATION Horizontal angle between the listener's forward vector and the global positive Z axis (-180 to 180 degrees).
AUTOMATIC_SPEED Magnitude of the relative velocity of the event and the listener.
AUTOMATIC_SPEED_ABSOLUTE Magnitude of the absolute velocity of the event.
AUTOMATIC_DISTANCE_NORMALIZED Distance between the event and the listener in the range min distance - max distance represented as 0 - 1.


Back To Top

FMOD_STUDIO_USER_PROPERTY_TYPE

FMOD Constant: FMOD_STUDIO_USER_PROPERTY_TYPE


This enum specifies user property types.

These constants are referenced by the following structs:


Member Description
INTEGER Integer.
BOOLEAN Boolean.
FLOAT Floating point number.
STRING String.


Back To Top

FMOD_STUDIO_EVENT_PROPERTY

FMOD Constant: FMOD_STUDIO_EVENT_PROPERTY


This enum holds the definitions that describe built-in event properties.

A property that returns a value of -1 from fmod_studio_event_instance_get_property means it will use the values set in Studio, use fmod_studio_event_instance_set_property to override these values. You can revert the properties value to default by setting it to -1.

These constants are referenced by the following functions:


Member Description
CHANNELPRIORITY Priority to set on Core API Channels created by this event instance, or -1 for default.
SCHEDULE_DELAY Schedule delay in DSP clocks, or -1 for default.
SCHEDULE_LOOKAHEAD Schedule look-ahead on the timeline in DSP clocks, or -1 for default.
MINIMUM_DISTANCE Override the event's 3D minimum distance, or -1 for default.
MAXIMUM_DISTANCE Override the event's 3D maximum distance, or -1 for default.
COOLDOWN Override the event's cooldown, or -1 for default.


Back To Top

FMOD_STUDIO_PLAYBACK_STATE

FMOD Constant: FMOD_STUDIO_PLAYBACK_STATE


This enum specifies the playback state of various objects.

These constants are referenced by the following functions:


Member Description
PLAYING Playing.
SUSTAINING The timeline cursor is paused on a sustain point. (Studio::EventInstance only.)
STOPPED Stopped.
STARTING Preparing to start.
STOPPING Preparing to stop.


Back To Top

FMOD_STUDIO_STOP_MODE

FMOD Constant: FMOD_STUDIO_STOP_MODE


This enum specifies stop modes.

These constants are referenced by the following functions:


Member Description
ALLOWFADEOUT Allows AHDSR modulators to complete their release, and DSP effect tails to play out.
IMMEDIATE Stops the event instance immediately.


Back To Top

FMOD_STUDIO_INSTANCETYPE

FMOD Constant: FMOD_STUDIO_INSTANCETYPE


This enum specifies command replay command instance handle types.

These constants are referenced by the following structs:


Member Description
NONE No type, handle is unused.
SYSTEM Studio::System.
EVENTDESCRIPTION Studio::EventDescription.
EVENTINSTANCE Studio::EventInstance.
PARAMETERINSTANCE [Studio::ParameterInstance].
BUS Studio::Bus.
VCA Studio::VCA.
BANK Studio::Bank.
COMMANDREPLAY Studio::CommandReplay.

Clone this wiki locally