-
Notifications
You must be signed in to change notification settings - Fork 3
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 original FMOD function returns multiple values through Out parameters. The extension groups these values into a Struct of which you can access variables by name. For example: fmod_system_get_record_driver_info returns a FmodSystemRecordDriverInfo.
- The original FMOD function returns multiple values in an FMOD "struct". The extension also groups these values into a Struct, which has the same variables as the corresponding FMOD "struct". For example: fmod_studio_system_get_sound_info returns a FmodStudioSoundInfo, which maps to FMOD's FMOD_STUDIO_SOUND_INFO struct.
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.
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.
- FmodVector
- FmodCPUUsage
- FmodCPUTimeUsage
- FmodLoopPoints
- FmodMinMaxDistance
- FmodReverbProperties
- Fmod3DConeSettings
- Fmod3DAttributes
- FmodMemoryStats
- FmodSystemCreateSoundExInfo
- FmodSystemAdvancedSettings
- FmodSystemDriverInfo
- FmodSystemSoftwareFormat
- FmodSystemDSPBufferSize
- FmodSystemStreamBufferSize
- FmodSystemSpeakerPosition
- FmodSystem3DSettings
- FmodSystemChannelsPlaying
- FmodSystemFileUsage
- FmodSystemRecordNumDrivers
- FmodSystemRecordDriverInfo
- FmodSystemGeometryOcclusion
- FmodControl3DAttributes
- FmodControl3DDistanceFilter
- FmodControl3DMinMaxDistance
- FmodControl3DOcclusion
- FmodControlMixMatrix
- FmodControlDSPClock
- FmodControlDelay
- FmodControlFadePoints
- FmodDSPConnectionData
- FmodDSPChannelFormat
- FmodDSPMeteringInfo
- FmodDSPInOutMeteringInfo
- FmodDSPMeteringEnableInfo
- FmodDSPWetDryMixInfo
- FmodDSPInfo
- FmodDSPConnectionMixMatrix
- FmodDspParameterDesc
- FmodDspParameterDescValue
- FmodGeometryPolygonAttributes
- FmodGeometryRotation
- FmodReverb3DAttributes
- FmodSoundFormat
- FmodSoundNumTags
- FmodSoundTag
- FmodSoundDefaults
- FmodSoundOpenState
- FmodSoundLockChunck
- FmodSoundLock
- FmodSyncPoint
- FmodStudioMemoryUsage
- FmodStudioParameter
- FmodStudioParameterId
- FmodCommandReplayCurrentCommand
- FmodCommandReplayCommandInfo
- FmodStudioEventInstanceVolume
- FmodStudioListenerAttributes
- FmodStudioBufferInfo
- FmodStudioBufferUsage
- FmodStudioCPUUsage
- FmodStudioSoundInfo
- FmodStudioStringInfo
- FmodStudioParameterDescription
- FmodStudioUserProperty
- FmodStudioAdvancedSettings
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:
- fmod_channel_control_set_3d_attributes
- fmod_channel_control_set_3d_cone_orientation
- fmod_channel_control_get_3d_cone_orientation
- fmod_channel_control_set_3d_custom_rolloff
- fmod_channel_control_get_3d_custom_rolloff
- fmod_geometry_set_polygon_vertex
- fmod_geometry_get_polygon_vertex
- fmod_geometry_set_position
- fmod_geometry_get_position
- fmod_geometry_set_rotation
- fmod_geometry_set_scale
- fmod_geometry_get_scale
- fmod_geometry_add_polygon
- fmod_reverb_3d_set_3d_attributes
- fmod_sound_set_3d_custom_rolloff
- fmod_sound_get_3d_custom_rolloff
- fmod_studio_system_set_listener_attributes
- fmod_system_set_3d_listener_attributes
This struct is referenced by the following structs:
- Fmod3DAttributes
- FmodSystemGeometryOcclusion
- FmodControl3DAttributes
- FmodGeometryRotation
- FmodReverb3DAttributes
- FmodStudioListenerAttributes
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. |
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 . |
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. |
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]. |
This struct stores a minimum and maximum volume distance.
This struct is referenced by the following functions:
- fmod_sound_get_3d_min_max_distance
- fmod_studio_event_description_get_min_max_distance
- fmod_studio_event_instance_get_min_max_distance
Member | Type | Description |
---|---|---|
min_distance | Real | The minimum volume distance for the sound. |
max_distance | Real | The maximum volume distance for the sound. |
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]. |
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. |
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:
- fmod_studio_event_instance_set_3d_attributes
- fmod_studio_event_instance_get_3d_attributes
- fmod_studio_system_set_listener_attributes
- fmod_system_get_3d_listener_attributes
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 . |
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. |
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. |
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]. |
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. |
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. |
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. |
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 . |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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 . |
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. |
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. |
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]. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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". |
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
|
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. |
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. |
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. |
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. |
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. |
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 . |
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. |
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. |
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. |
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. |
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). |
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. |
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) |
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:
- fmod_studio_bus_get_memory_usage
- fmod_studio_event_instance_get_memory_usage
- fmod_studio_system_get_memory_usage
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. |
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:
- fmod_studio_event_instance_get_parameter_by_name
- fmod_studio_event_instance_get_parameter_by_id
- fmod_studio_system_get_parameter_by_id
- fmod_studio_system_get_parameter_by_name
Member | Type | Description |
---|---|---|
value | Real | The parameter value as set from the public API. |
final_value | Real | The final combined parameter value. |
FMOD Struct: FMOD_STUDIO_PARAMETER_ID
This struct holds an event parameter identifier.
This struct is referenced by the following functions:
- fmod_studio_event_description_get_parameter_description_by_id
- fmod_studio_event_description_get_parameter_label_by_id
- fmod_studio_event_instance_set_parameter_by_id
- fmod_studio_event_instance_set_parameter_by_id_with_label
- fmod_studio_event_instance_get_parameter_by_id
- fmod_studio_system_get_parameter_by_id
- fmod_studio_system_set_parameter_by_id
- fmod_studio_system_set_parameter_by_id_with_label
- fmod_studio_system_get_parameter_description_by_id
- fmod_studio_system_get_parameter_label_by_id
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
FMOD Struct: FMOD_STUDIO_PARAMETER_DESCRIPTION
This struct describes an event parameter.
This struct is referenced by the following functions:
- fmod_studio_event_description_get_parameter_description_by_name
- fmod_studio_event_description_get_parameter_description_by_id
- fmod_studio_event_description_get_parameter_description_by_index
- fmod_studio_system_get_parameter_description_by_name
- fmod_studio_system_get_parameter_description_by_id
- fmod_studio_system_get_parameter_description_list
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. |
FMOD Struct: FMOD_STUDIO_USER_PROPERTY
This struct describes a user property object.
This struct is referenced by the following functions:
- fmod_studio_event_description_get_user_property
- fmod_studio_event_description_get_user_property_by_index
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 . |
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
|
YoYoGames 2024