Skip to content

structs

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

Structs

This module contains the structs used by the FMOD extension.

When a function of the FMOD extension returns multiple values, it returns them as a Struct or as an Array of structs. This happens in two situations:

The returned Structs are not actually created using the constructor function of their type. They do, however, have identical variable names.

Note

The FMOD extension is able to return these more complex data types (i.e. other than Real and String) by packing the values received from FMOD into a Buffer and unpacking them on the other side.

Structs

This module offers a collection of structs, which serve as custom data models for organizing and structuring data. Explore the provided structs to better understand the relationships between data elements and simplify your data manipulation tasks.



Back To Top

FmodVector

FMOD Struct: FMOD_VECTOR

This struct describes a vector in 3D space.

Important

Vectors must be provided in the correct handedness.

This struct is referenced by the following functions:

This struct is referenced by the following structs:


Member Type Description
x Real The x coordinate of the 3D vector.
y Real The y coordinate of the 3D vector.
z Real The z coordinate of the 3D vector.


Back To Top

FmodCPUUsage

FMOD Struct: FMOD_CPU_USAGE

This struct stores performance information for FMOD's Core API functionality.

This struct is referenced by the following functions:

This struct is referenced by the following structs:


Member Type Description
dsp Real The DSP mixing engine CPU usage. A percentage of FMOD_THREAD_TYPE.MIXER, or main thread if FMOD_INIT.MIX_FROM_UPDATE flag is used with fmod_system_init.
stream Real The streaming engine CPU usage. A percentage of FMOD_THREAD_TYPE.STREAM, or main thread if FMOD_INIT.STREAM_FROM_UPDATE flag is used with fmod_system_init.
geometry Real The geometry engine CPU usage. A percentage of FMOD_THREAD_TYPE.GEOMETRY.
update Real The fmod_system_update CPU usage. A percentage of the main thread.
convolution1 Real The convolution reverb processing thread #1 CPU usage. A percentage of FMOD_THREAD_TYPE.CONVOLUTION1.
convolution2 Real The convolution reverb processing thread #2 CPU usage. A percentage of FMOD_THREAD_TYPE.CONVOLUTION2.


Back To Top

FmodCPUTimeUsage

This struct stores information about CPU time spent.

This struct is referenced by the following functions:


Member Type Description
inclusive Real The CPU time spent processing just this unit during the last mixer update. Expressed in microseconds.
exclusive Real The CPU time spent processing this unit and all of its input during the last mixer update. Expressed in microseconds.


Back To Top

FmodLoopPoints

This struct stores a loop start and end point.

This struct is referenced by the following functions:


Member Type Description
loop_start Real The loop start point. A value in the range [0, fmod_sound_get_length - 1].
loop_end Real The loop end point. A value in the range [0, fmod_sound_get_length - 1].


Back To Top

FmodMinMaxDistance

This struct stores a minimum and maximum volume distance.

This struct is referenced by the following functions:


Member Type Description
min_distance Real The minimum volume distance for the sound.
max_distance Real The maximum volume distance for the sound.


Back To Top

FmodReverbProperties

FMOD Struct: FMOD_REVERB_PROPERTIES

This struct defines a reverb environment.

Note

Several presets for these properties are defined as macros in GameMaker, which you can find under FMOD_REVERB_PRESETS.

Note

the default reverb properties are the same as the FMOD_PRESET_GENERIC preset.

This struct is referenced by the following functions:


Member Type Description
decay_time Real The reverberation decay time, in milliseconds. A value in the range [0, 20000].
early_delay Real The initial reflection delay time, in milliseconds. A value in the range [0, 300].
late_delay Real The late reverberation delay time relative to initial reflection, in milliseconds. A value in the range [0, 100].
hf_reference Real The reference high frequency, in Hertz. A value in the range [20, 20000].
hf_decay_ratio Real The high-frequency to mid-frequency decay time ratio, in percent. A value in the range [10, 100].Value that controls the modal density in the late reverberation decay.
diffusion Real A (percent) value that controls the echo density in the late reverberation decay. A value in the range [10, 100].
density Real A (percent) value that controls the modal density in the late reverberation decay. A value in the range [0, 100].
low_shelf_frequency Real The reference low frequency, in Hertz. A value in the range [20, 1000].
low_shelf_gain Real The relative room effect level at low frequencies, in decibels (dB). A value in the range [-36, 12].
high_cut Real The relative room effect level at high frequencies, in Hertz. A value in the range [0, 20000].
early_late_mix Real The early reflections level relative to room effect, as a percentage. A value in the range [0, 100].
wet_level Real The room effect level at mid frequencies, in decibels (dB). A value in the range [-80, 20].


Back To Top

Fmod3DConeSettings

This struct stores the angles and attenuation levels of a 3D cone shape, for simulated occlusion which is based on direction.

This struct is referenced by the following functions:


Member Type Description
inside_cone_angle Real The inside cone angle, in degrees. This is the angle spread within which the sound is unattenuated. Default is 360.
outside_cone_angle Real The outside cone angle, in degrees. This is the angle spread outside of which the sound is attenuated to its outsidevolume. Default is 360.
outside_volume Real The cone outside volume. A value in the range [0, 1]. Default is 1.


Back To Top

Fmod3DAttributes

FMOD Struct: FMOD_3D_ATTRIBUTES

This structure describes a position, velocity and orientation.

Important

Vectors must be provided in the correct handedness.

This struct is referenced by the following functions:

This struct is referenced by the following structs:


Member Type Description
position FmodVector The position in 3D space used for panning and attenuation.
velocity FmodVector The velocity in 3D space used for doppler.
forward FmodVector The "forward" vector as the first vector that defines orientation in 3D space. Must be of unit length (1.0) and perpendicular to up.
up FmodVector The "up" vector as the second vector that defines orientation in 3D space. Must be of unit length (1.0) and perpendicular to forward.


Back To Top

FmodMemoryStats

This struct stores on the memory usage of FMOD.

This struct is referenced by the following functions:


Member Type Description
current_alloced Real The currently allocated memory at the time of the call.
max_alloced Real The maximum allocated memory since fmod_system_init.


Back To Top

FmodSystemCreateSoundExInfo

FMOD Struct: FMOD_CREATESOUNDEXINFO

This struct holds additional options for creating a Sound.

This struct is referenced by the following functions:

This struct is referenced by the following structs:


Member Type Description
length Real The number of bytes to read starting at file_offset, or the length of the Sound to create for FMOD_MODE.OPENUSER, or the length of name_or_buff for FMOD_MODE.OPENMEMORY / FMOD_MODE.OPENMEMORY_POINT.
file_offset Real The file offset (in bytes) to start reading from.
num_channels Real The number of channels in sound data for FMOD_MODE.OPENUSER / FMOD_MODE.OPENRAW. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH].
default_frequency Real The default frequency (in Hertz) of sound data for FMOD_MODE.OPENUSER / FMOD_MODE.OPENRAW.
format FMOD_SOUND_FORMAT The format of sound data for FMOD_MODE.OPENUSER / FMOD_MODE.OPENRAW.
decode_buffer_size Real The size (in samples) of the decoded buffer for FMOD_MODE.CREATESTREAM, or the block size used for FMOD_MODE.OPENUSER.
initial_subsound Real The initial subsound to seek to for FMOD_MODE.CREATESTREAM.
num_subsounds Real Number of subsounds available for FMOD_MODE.OPENUSER, or the maximum subsounds to load from file.
inclusion_list_num Real The list of subsound indices to load from file.
dls_name String The file path to a FMOD_SOUND_TYPE.DLS sample set to use when loading a FMOD_SOUND_TYPE.MIDI file, see the description for defaults.
encryption_key String Key for encrypted FMOD_SOUND_TYPE.FSB file, cannot be used in conjunction with FMOD_MODE.OPENMEMORY_POINT.
max_polyphony Real The maximum voice count for FMOD_SOUND_TYPE.MIDI / FMOD_SOUND_TYPE.IT. Default is 64.
suggested_sound_type FMOD_SOUND_TYPE Attempt to load using the specified type first instead of loading in codec priority order.
file_buffer_size Real The buffer size for reading the file, use -1 to disable buffering.
channel_order FMOD_CHANNELORDER Custom ordering of speakers for this sound data.
initial_seek_position Real The initial position to seek to for FMOD_MODE.CREATESTREAM.
initial_seek_pos_type FMOD_TIMEUNIT The time units for initial_seek_position.
ignore_set_filesystem Boolean Ignore System::setFileSystem and FMOD_CREATESOUNDEXINFO file callbacks. Not implemented.
audio_queue_policy Real The hardware / software decoding policy for FMOD_SOUND_TYPE.AUDIOQUEUE, see FMOD_AUDIOQUEUE_CODECPOLICY.
min_midi_granularity Real The mixer granularity for FMOD_SOUND_TYPE.MIDI sounds, smaller numbers give a more accurate reproduction at the cost of higher CPU usage.
non_block_thread_id Real The thread index to execute FMOD_MODE.NONBLOCKING loads on for parallel Sound loading.


Back To Top

FmodSystemAdvancedSettings

FMOD Struct: FMOD_ADVANCEDSETTINGS

This struct stores advanced configuration settings.

This is a structure to allow configuration of lesser used system level settings. These tweaks generally allow the user to set resource limits and customize settings to better fit their application.

Specifying one of the codec maximums will help determine the maximum CPU usage of playing FMOD_MODE.CREATECOMPRESSEDSAMPLE Sounds of that type as well as the memory requirements. Memory will be allocated for 'up front' (during fmod_system_init) if these values are specified as non zero. If any are zero, it allocates memory for the codec whenever a file of the type in question is loaded. So if max_mpeg_codecs is 0 for example, it will allocate memory for the MPEG codecs the first time an MP3 is loaded or an MP3 based .FSB file is loaded.

Setting dsp_buffer_pool_size will pre-allocate memory for the FMOD DSP network. See DSP architecture guide. By default 8 buffers are created up front. A large network might require more if the aim is to avoid real-time allocations from the FMOD mixer thread.

This struct is referenced by the following functions:


Member Type Description
max_mpeg_codecs Real The maximum number of MPEG Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].
max_adpcm_codecs Real The maximum number of IMA-ADPCM Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].
max_xma_codecs Real The maximum number of XMA Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].
max_vorbis_codecs Real The maximum number of Vorbis Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].
max_at9_codecs Real The maximum number of AT9 Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].
max_fadpcm_codecs Real The maximum number of FADPCM Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].
max_pcm_codecs Real Deprecated.
asio_num_channels Real The number of elements in the ASIOSpeakerList on input, the number of elements in ASIOChannelList on output. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH].
vol0_virtual_vol Real For use with FMOD_INIT.VOL0_BECOMES_VIRTUAL, Channels with audibility below this will become virtual. See the Virtual Voices guide for more information.
default_decode_buffer_size Real For use with Streams, the default size of the double buffer. A value in the range [0, 30000].
profile_port Real For use with FMOD_INIT.PROFILE_ENABLE, specify the port to listen on for connections by FMOD Studio or FMOD Profiler.
geometry_max_fade_time Real For use with Geometry, the maximum time it takes for a Channel to fade to the new volume level when its occlusion changes.
distance_filter_center_freq Real For use with FMOD_INIT.CHANNEL_DISTANCEFILTER, the default center frequency for the distance filtering effect. A value in the range [10, 22050].
reverb_3d_instance Real For use with Reverb3D, selects which global reverb instance to use. A value in the range [0, FMOD_REVERB_MAXINSTANCES].
dsp_buffer_pool_size Real The number of intermediate mixing buffers in the 'DSP buffer pool'. Each buffer in bytes will be buffer_length (See fmod_system_get_dsp_buffer_size) * sizeof(float) * output mode speaker count (See FMOD_SPEAKERMODE). i.e. 7.1 @ 1024 DSP block size = 1024 * 4 * 8 = 32kB.
resampler_method FMOD_DSP_RESAMPLER The resampling method used by Channels.
random_seed Real The seed value to initialize the internal random number generator.
max_convolution_threads Real The maximum number of CPU threads to use for FMOD_DSP_TYPE.CONVOLUTIONREVERB effect. 1 = effect is entirely processed inside the FMOD_THREAD_TYPE.MIXER thread. 2 and 3 offloads different parts of the convolution processing into different threads (FMOD_THREAD_TYPE.CONVOLUTION1 and FMOD_THREAD_TYPE.CONVOLUTION2 to increase throughput. A value in the range [0, 3].
max_opus_codecs Real The maximum number of Opus Sounds created as FMOD_MODE.CREATECOMPRESSEDSAMPLE. A value in the range [0, 256].


Back To Top

FmodSystemDriverInfo

This struct holds identification information about a sound device specified by its index, and specific to a given output mode.

This struct is referenced by the following functions:


Member Type Description
index Real The index of the sound driver device. A value in the range [0, fmod_system_get_num_drivers].
name String The name of the device.
guid String The GUID that uniquely identifies the device.
system_rate Real The sample rate this device operates at.
speaker_mode FMOD_SPEAKERMODE The speaker setup this device is currently using.
speaker_mode_channels Real The number of channels in the current speaker setup.


Back To Top

FmodSystemSoftwareFormat

This struct stores the output format for the software mixer.

This struct is referenced by the following functions:


Member Type Description
sample_rate Real The sample rate of the mixer.
speaker_mode FMOD_SPEAKERMODE The speaker setup of the mixer.
num_raw_speakers Real The number of speakers for FMOD_SPEAKERMODE.RAW mode.


Back To Top

FmodSystemDSPBufferSize

This struct stores the buffer size settings for the FMOD software mixing engine.

This struct is referenced by the following functions:


Member Type Description
buff_size Real The mixer engine block size, in samples. The default value is 1024.
num_buffers Real The number of buffers used by the mixer engine. The default value is 4.


Back To Top

FmodSystemStreamBufferSize

This struct stores the default file buffer size for newly opened streams.

This struct is referenced by the following functions:


Member Type Description
file_buffer_size Real The buffer size.
file_buffer_size_type FMOD_TIMEUNIT The type of units for file_buffer_size. The default is FMOD_TIMEUNIT.RAWBYTES.


Back To Top

FmodSystemSpeakerPosition

This struct stores the position of a speaker and its active state.

This struct is referenced by the following functions:


Member Type Description
x Real The speaker's 2D X position relative to the listener. -1 = left, 0 = middle, +1 = right.
y Real The speaker's 2D Y position relative to the listener. -1 = back, 0 = middle, +1 = front.
active Boolean The active state of the speaker. true = included in 3D calculations, false = ignored.


Back To Top

FmodSystem3DSettings

This struct stores the global doppler scale, distance factor and roll-off scale for all 3D sounds.

This struct is referenced by the following functions:


Member Type Description
doppler_scale Real This is a scaling factor for doppler shift.
distance_factor Real This is a factor for converting game distance units to FMOD distance units.
rolloff_scale Real This is a scaling factor for distance attenuation. When a sound uses a roll-off mode other than FMOD_MODE.AS_3D_CUSTOMROLLOFF and the distance is greater than the sound's minimum distance, the distance is scaled by the roll-off scale.


Back To Top

FmodSystemChannelsPlaying

This struct holds information on the number of playing Channels.

For differences between real and virtual voices see the Virtual Voices guide for more information.

This struct is referenced by the following functions:


Member Type Description
channels Real The number of playing Channels (both real and virtual).
real_channels Real The number of playing real (non-virtual) Channels.


Back To Top

FmodSystemFileUsage

This struct holds information about file reads.

This struct is referenced by the following functions:


Member Type Description
sample_bytes_read Real Total bytes read from file for loading sample data.
stream_bytes_read Real Total bytes read from file for streaming sounds.
other_bytes_read Real Total bytes read for non-audio data such as FMOD Studio banks.


Back To Top

FmodSystemRecordNumDrivers

This struct holds the number of recording devices available in a certain output mode.

This struct is referenced by the following functions:


Member Type Description
num_drivers Real The number of recording drivers available for this output mode.
num_connected Real The number of recording drivers currently plugged in.


Back To Top

FmodSystemRecordDriverInfo

This struct holds identification information about an audio device, specific to an output mode.

This struct is referenced by the following functions:


Member Type Description
name String The name of the device.
guid String A GUID that uniquely identifies the device.
system_rate Real The sample rate the device operates at.
speaker_mode FMOD_SPEAKERMODE The speaker configuration the device is currently using.
speaker_mode_channels Real The number of channels in the current speaker setup.
state FMOD_DRIVER_STATE Flags that provide additional information about the driver.


Back To Top

FmodSystemGeometryOcclusion

This struct stores geometry occlusion values between a listener and a sound source.

This struct is referenced by the following functions:


Member Type Description
direct Real The direct occlusion value. 0 = not occluded at all / full volume, 1 = fully occluded / silent.
reverb Real The reverb occlusion value. 0 = not occluded at all / wet, 1 = fully occluded / dry.
listener FmodVector The listener position.
source FmodVector The source position.


Back To Top

FmodControl3DAttributes

This struct stores the 3D position and velocity used to apply panning, attenuation and doppler.

This struct is referenced by the following functions:


Member Type Description
pos FmodVector The position in 3D space used for panning and attenuation. Expressed in Distance units.
vel FmodVector The velocity in 3D space used for doppler. Expressed in Distance units per second.


Back To Top

FmodControl3DDistanceFilter

This struct holds override values for the 3D distance filter.

This struct is referenced by the following functions:


Member Type Description
custom Boolean Whether to override automatic distance filtering and use custom_level instead.
custom_level Real The attenuation factor where 1 represents no attenuation and 0 represents complete attenuation.
center_freq Real The center frequency of the band-pass filter used to simulate distance attenuation. A value in the range [10, 22050]. 0 for default of FmodSystemAdvancedSettings.distance_filter_center_freq.


Back To Top

FmodControl3DMinMaxDistance

This struct holds the minimum and maximum distances used to calculate the 3D roll-off attenuation.

This struct is referenced by the following functions:


Member Type Description
min_dist Real The distance from the source where attenuation begins, expressed in Distance units. A value in the range [0, infinity]. Default is 1.
max_dist Real The distance from the source where attenuation ends, expressed in Distance units. A value in the range [min_dist, infinity]. Default is 1.


Back To Top

FmodControl3DOcclusion

This struct stores 3D attenuation factors for the direct and reverb paths.

This struct is referenced by the following functions:


Member Type Description
direct Real The occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion. Default is 0.
reverb Real The occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion. Default is 0.


Back To Top

FmodControlMixMatrix

This struct stores a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).

Note

Matrix element values can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.

This struct is referenced by the following functions:


Member Type Description
matrix Any A two-dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel.
out_channels Any The number of valid output channels (rows) in matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH].
in_channels Any Number of valid input channels (columns) in matrix. A value in the range [0, FMOD_MAX_CHANNEL_WIDTH].


Back To Top

FmodControlDSPClock

This struct holds the DSP clock values at a point in time.

This struct is referenced by the following functions:


Member Type Description
dsp_clock Real The DSP clock value for the tail DSP (FMOD_CHANNELCONTROL_DSP_INDEX.TAIL) node. Expressed in samples.
parent_clock Real DSP clock value for the tail DSP (FMOD_CHANNELCONTROL_DSP_INDEX.TAIL) node of the parent ChannelGroup. Expressed in samples.


Back To Top

FmodControlDelay

This struct holds a sample accurate start (and/or stop) time relative to the parent ChannelGroup DSP clock.

This struct is referenced by the following functions:


Member Type Description
dsp_clock_start Real DSP clock of the parent ChannelGroup to audibly start playing sound at, expressed in samples.
dsp_clock_end Real DSP clock of the parent ChannelGroup to audibly stop playing sound at, expressed in samples.
stop_channels Boolean True: When dspclock_end is reached, behaves like fmod_channel_control_stop has been called.
False: When dspclock_end is reached, behaves like fmod_channel_control_set_paused has been called, a subsequent dspclock_start allows it to resume.


Back To Top

FmodControlFadePoints

This struct holds information about stored fade points.

This struct is referenced by the following functions:


Member Type Description
num_points Real The number of fade points.
point_dsp_clock Array An array of DSP clock values that represent the fade point times. Expressed in samples.
point_volume Array An array of volume levels that represent the fade point values.


Back To Top

FmodDSPConnectionData

This struct holds the DSP unit at a specified index in a DSP's input list and the DSPConnection to it.

This struct is referenced by the following functions:


Member Type Description
dsp_ref Real The DSP unit at a specific index in a DSP's input list.
dsp_connection_ref Real The DSPConnection through which the two are connected.


Back To Top

FmodDSPChannelFormat

This struct holds the PCM input format a DSP will receive when processing.

This struct is referenced by the following functions:


Member Type Description
channel_mask FMOD_CHANNELMASK Deprecated.
num_channels Real The number of channels to be processed.
speaker_mode FMOD_SPEAKERMODE The speaker mode to describe the channel mapping.


Back To Top

FmodDSPMeteringInfo

FMOD Struct: FMOD_DSP_METERING_INFO

This struct stores DSP metering information.

This struct is referenced by the following structs:


Member Type Description
num_samples Real The number of samples considered for this metering info.
peak_level Array The peak level per channel.
rms_level Array The RMS level per channel.
num_channels Real The number of channels.


Back To Top

FmodDSPInOutMeteringInfo

This struct stores input and output signal metering information.

This struct is referenced by the following functions:


Member Type Description
in FmodDSPMeteringInfo Input metering information before the DSP has processed.
out FmodDSPMeteringInfo Output metering information after the DSP has processed.


Back To Top

FmodDSPMeteringEnableInfo

This struct holds information on whether input/output signal metering is enabled for a given DSP.

This struct is referenced by the following functions:


Member Type Description
enabled_in Boolean Whether metering is enabled for the input signal.
enabled_out Boolean Whether metering is enabled for the output signal.


Back To Top

FmodDSPWetDryMixInfo

This struct stores the scale of the wet and dry signal components.

This struct is referenced by the following functions:


Member Type Description
pre_wet Real The level of the 'Dry' (pre-processed signal) mix that is processed by the DSP. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1.
post_wet Real The level of the 'Wet' (post-processed signal) mix that is output. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1.
dry Real The level of the 'Dry' (pre-processed signal) mix that is output. 0 = silent, 1 = full. A negative level inverts the signal. Values larger than 1 amplify the signal. Default is 1.


Back To Top

FmodDSPInfo

This struct stores information about a DSP unit.

This struct is referenced by the following functions:


Member Type Description
name String The name of this unit will be written (null-terminated) to the provided 32 byte buffer.
version Real The version number of this unit, usually formated as hex AAAABBBB where the AAAA is the major version number and the BBBB is the minor version number.
channels Real The number of channels this unit processes where 0 represents "any".
config_width Real The configuration dialog box width where 0 represents "no dialog box".
config_height Real The configuration dialog box height where 0 represents "no dialog box".


Back To Top

FmodDSPConnectionMixMatrix

This struct stores a 2 dimensional pan matrix that maps the signal from input channels (columns) to output speakers (rows).

A matrix element is referenced from the incoming matrix data as outchannel * inchannel_hop + inchannel.

This struct is referenced by the following functions:


Member Type Description
matrix Array of Real A two-dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel.
out_channels Real The number of valid output channels (rows) in matrix.
in_channels Real The number of valid input channels (columns) in matrix


Back To Top

FmodDspParameterDesc

FMOD Struct: FMOD_DSP_PARAMETER_DESC

This struct is a base structure for DSP parameter descriptions.

This struct is referenced by the following functions:


Member Type Description
type Real The parameter type (FMOD_DSP_PARAMETER_TYPE).
name String The parameter name.
label String The unit type label.
description String The description of the parameter.
int_value FmodDspParameterDescValue The integer value in case of an integer.
float_value FmodDspParameterDescValue The floating-point value in case of a float.
bool_value FmodDspParameterDescValue The boolean value in case of a boolean.


Back To Top

FmodDspParameterDescValue

FMOD Struct: FMOD_DSP_PARAMETER_DESC_*

This struct stores a parameter description.

This struct is referenced by the following structs:


Member Type Description
default_val Real The default value.
minimum Real The minimum value.
maximum Real The maximum value.


Back To Top

FmodGeometryPolygonAttributes

This struct stores the attributes for a polygon.

This struct is referenced by the following functions:


Member Type Description
direct_occlusion Real The occlusion factor for the direct path where 0 represents no occlusion and 1 represents full occlusion.
reverb_occlusion Real The occlusion factor for the reverb path where 0 represents no occlusion and 1 represents full occlusion.
double_sided Boolean Whether the polygon is double-sided. True: Polygon is double-sided.
False: Polygon is single-sided, and the winding of the polygon (which determines the polygon's normal) determines which side of the polygon will cause occlusion.


Back To Top

FmodGeometryRotation

This struct stores the 3D orientation of and FMOD object, as a forward and up vector.

This struct is referenced by the following functions:


Member Type Description
forward FmodVector The "forward" vector as the first vector that defines orientation in 3D space. This vector must be of unit length and perpendicular to the up vector.
up FmodVector The "up" vector as the second vector that defines orientation in 3D space.This vector must be of unit length and perpendicular to the forward vector.


Back To Top

FmodReverb3DAttributes

This struct stores the 3D attributes of a reverb sphere.

See the 3D Reverb guide for more information.

This struct is referenced by the following functions:


Member Type Description
position FmodVector The position in 3D space representing the center of the reverb.
min_distance Real The distance from the centerpoint within which the reverb will have full effect.
max_distance Real The distance from the centerpoint beyond which the reverb will have no effect.


Back To Top

FmodSoundFormat

This struct stores format information about a Sound.

This struct is referenced by the following functions:


Member Type Description
type FMOD_SOUND_TYPE The type of sound.
format FMOD_SOUND_FORMAT The format of the sound.
channels Real The number of channels.
bits Real The number of bits per sample, corresponding to format.


Back To Top

FmodSoundNumTags

This struct stores the number of metadata tags of a particular Sound.

Note

'Tags' are metadata stored within a sound file. These can be things like a song's name, composer, etc.

This struct is referenced by the following functions:


Member Type Description
num_tags Real The number of tags.
num_tags_updated Real The number of tags updated since this function was last called.


Back To Top

FmodSoundTag

FMOD Struct: FMOD_TAG

This struct holds tag data / metadata description.

This struct is referenced by the following functions:


Member Type Description
name String The tag name.
type FMOD_TAGTYPE The tag type.
update Real True if this tag has been updated since last being accessed with fmod_sound_get_tag.
data_len Real The size of the binary tag data, in bytes. For example, an ID3v1 tag always consists of 128 bytes. Other tag types store more data and can have a variable size.
data_type FMOD_TAGDATATYPE Tge tag data type.


Back To Top

FmodSoundDefaults

This struct stores a sound's default playback attributes.

This struct is referenced by the following functions:


Member Type Description
frequency Real The default playback frequency, in Hertz. Default is 48000.
priority Real The default priority where 0 is the highest priority. A value in the range [0, 256]. Default is 128.


Back To Top

FmodSoundOpenState

This struct holds the state a sound is in after being opened with the non blocking flag, or the current state of the streaming buffer.

This struct is referenced by the following functions:


Member Type Description
open_state FMOD_OPENSTATE The open state of a sound.
percent_buffered Real The filled percentage of a stream's file buffer.
starving Boolean The starving state. true if a stream has decoded more than the stream file buffer has ready.
disk_busy Boolean Whether the disk is currently being accessed for this sound.


Back To Top

FmodSoundLockChunck

This struct holds information about a data chunck in an FMOD sound.

This struct is referenced by the following structs:


Member Type Description
length Real The length of the data chunk, in bytes.
patch_address Pointer The address of the data chunk in FMOD's memory (required in the later call to fmod_sound_unlock).


Back To Top

FmodSoundLock

This struct holds information about a sound lock.

This struct is referenced by the following functions:


Member Type Description
buffer1 FmodSoundLockChunck The first chunk of the sound's data in FMOD memory that's been locked.
buffer2 FmodSoundLockChunck The second chunk of the sound's data in FMOD memory that's been locked. Can be zero-length.


Back To Top

FmodSyncPoint

FMOD Struct: FMOD_SYNCPOINT

This struct stores information about a sync point.

This struct is referenced by the following functions:


Member Type Description
name String The name of the sync point.
offset Real The offset of the sync point (expressed in the units as passed to fmod_sound_get_sync_point)


Back To Top

FmodStudioMemoryUsage

FMOD Struct: FMOD_STUDIO_MEMORY_USAGE

This struct stores FMOD Studio memory usage statistics.

Note

Memory usage exclusive and inclusive values do not include sample data loaded in memory because sample data is a shared resource. Streaming sample data is not a shared resource and is included in the exclusive and inclusive values.

This struct is referenced by the following functions:


Member Type Description
inclusive Real The size of memory belonging exclusively to the bus or event plus the inclusive memory sizes of all buses and event instances which route into it.
exclusive Real The size of memory belonging to the bus or event instance.
sample_data Real The size of shared sample memory referenced by the bus or event instance, inclusive of all sample memory referenced by all buses and event instances which route into it.


Back To Top

FmodStudioParameter

This struct stores an FMOD Studio parameter value.

Note

Automatic parameters always return value as 0 since they can never have their value set from the public API.

Note

final_value is the final value of the parameter after applying adjustments due to automation, modulation, seek speed, and parameter velocity to value. This is calculated asynchronously when the Studio system updates.

This struct is referenced by the following functions:


Member Type Description
value Real The parameter value as set from the public API.
final_value Real The final combined parameter value.


Back To Top

FmodStudioParameterId

FMOD Struct: FMOD_STUDIO_PARAMETER_ID

This struct holds an event parameter identifier.

This struct is referenced by the following functions:

This struct is referenced by the following structs:


Member Type Description
data1 Real The first half of the ID.
data2 Real The second half of the ID.


Back To Top

FmodCommandReplayCurrentCommand

This struct stores the progress through a command replay.

This struct is referenced by the following functions:


Member Type Description
command_index Real The current command index.
command_time Real The current playback time.


Back To Top

FmodCommandReplayCommandInfo

FMOD Struct: FMOD_STUDIO_COMMAND_INFO

This struct describes a command replay command.

Note

The handle values in the instance_handle and output_handle are from the recorded session and are not valid handles during playback.

This struct is referenced by the following functions:


Member Type Description
command_name String The fully qualified C++ name of the API function for this command.
parent_command_index Real The index of the command that created the instance this command operates on, or -1 if the command does not operate on any instance.
frame_time Real The playback time at which this command will be executed.
instance_type FMOD_STUDIO_INSTANCETYPE The type of object that this command uses as an instance.
output_type FMOD_STUDIO_INSTANCETYPE The type of object that this command outputs.
instance_handle Real The original handle value of the instance.
output_handle Real The original handle value of the command output.


Back To Top

FmodStudioEventInstanceVolume

This struct stores a volume level.

Note

The final combined value returned in final_volume combines the volume set using the public API with the result of any automation or modulation. The final combined volume is calculated asynchronously when the Studio system updates.

This struct is referenced by the following functions:


Member Type Description
volume Real The volume as set from the public API.
final_volume Real The final combined volume.


Back To Top

FmodStudioListenerAttributes

This struct stores listener 3D attributes.

This struct is referenced by the following functions:


Member Type Description
attributes Fmod3DAttributes The 3D attributes.
attenuation FmodVector The position used for calculating attenuation.


Back To Top

FmodStudioBufferInfo

FMOD Struct: FMOD_STUDIO_BUFFER_INFO

This struct stores information for a single buffer in FMOD Studio.

This struct is referenced by the following structs:


Member Type Description
current_usage Real The current buffer usage in bytes.
peak_usage Real The peak buffer usage in bytes.
capacity Real The buffer capacity in bytes.
stall_count Real The cumulative number of stalls due to buffer overflow.
stall_time Real The cumulative amount of time stalled due to buffer overflow, in seconds.


Back To Top

FmodStudioBufferUsage

FMOD Struct: FMOD_STUDIO_BUFFER_USAGE

This struct stores information for FMOD Studio buffer usage.

This struct is referenced by the following functions:


Member Type Description
command_queue FmodStudioBufferInfo Information for the Studio Async Command buffer.
handle FmodStudioBufferInfo Information for the Studio handle table.


Back To Top

FmodStudioCPUUsage

FMOD Struct: FMOD_STUDIO_CPU_USAGE

This struct stores performance information for Studio API functionality.

This struct is referenced by the following functions:


Member Type Description
core FmodCPUUsage The CPU usage of FMOD Core.
studio Struct The CPU usage of FMOD Studio. A struct that contains a single variable update. This is the fmod_studio_system_update CPU usage. Percentage of main thread, or main thread if FMOD_STUDIO_INIT.SYNCHRONOUS_UPDATE flag is used with fmod_studio_system_init.


Back To Top

FmodStudioSoundInfo

FMOD Struct: FMOD_STUDIO_SOUND_INFO

This struct describes a sound in the audio table.

This struct is referenced by the following functions:


Member Type Description
ext_info FmodSystemCreateSoundExInfo Extra information required for loading the sound.
name_or_data String The filename or memory buffer that contains the sound.
mode FMOD_MODE The mode flags required for loading the sound. Default is FMOD_MODE.DEFAULT.
sub_sound_index Real The subsound index for loading the sound.


Back To Top

FmodStudioStringInfo

This struct stores a string table entry.

This struct is referenced by the following functions:


Member Type Description
path String The Path to an object.
guid String The GUID of an object.


Back To Top

FmodStudioParameterDescription

FMOD Struct: FMOD_STUDIO_PARAMETER_DESCRIPTION

This struct describes an event parameter.

This struct is referenced by the following functions:


Member Type Description
name String The parameter name.
parameter_id FmodStudioParameterId The parameter ID.
minimum Real The minimum parameter value.
maximum Real The maximum parameter value.
default_value Real The default parameter value.
type FMOD_STUDIO_PARAMETER_TYPE The parameter type.
flags FMOD_STUDIO_PARAMETER_FLAGS The parameter behavior flags.
guid String The parameter GUID.


Back To Top

FmodStudioUserProperty

FMOD Struct: FMOD_STUDIO_USER_PROPERTY

This struct describes a user property object.

This struct is referenced by the following functions:


Member Type Description
name String The parameter name.
type FMOD_STUDIO_USER_PROPERTY_TYPE The user property type.
string_value String String value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.STRING.
int_value Real Integer (real) value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.INTEGER.
bool_value Boolean Boolean value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.BOOLEAN.
float_value Real Float (real) value. Only valid when type is FMOD_STUDIO_USER_PROPERTY_TYPE.FLOAT.


Back To Top

FmodStudioAdvancedSettings

FMOD Struct: FMOD_STUDIO_ADVANCEDSETTINGS

This struct describes a Studio advanced settings object.

This struct is referenced by the following functions:


Member Type Description
command_queue_size Real Command queue size for studio async processing. Default: 32768
handle_initial_size Real Initial size to allocate for handles. Memory for handles will grow as needed in pages. Default: 8192 * 8
studio_update_period Real Update period of Studio when in async mode, in milliseconds. Will be quantized to the nearest multiple of mixer duration. Default: 20
idle_sampledata_pool_size Real Size in bytes of sample data to retain in memory when no longer used, to avoid repeated disk I/O. Use -1 to disable. Default: 262144
streaming_schedule_delay Real Specify the schedule delay for streams, in samples. Lower values can reduce latency when scheduling events containing streams but may cause scheduling issues if too small. Default: 8192
encryption_key String Specify the key for loading sounds from encrypted banks. (UTF-8 string). Default: pointer_null

Clone this wiki locally