8 struct audio_plugin_state;
11 struct audio_file_internal;
12 struct audio_file_plugin_data;
struct audio_plugin audio_plugin
struct audio_emitter audio_emitter
audio_file_type
Definition: audio_types.h:15
@ AUDIO_FILE_TYPE_SOUND_EFFECT
Definition: audio_types.h:16
@ AUDIO_FILE_TYPE_MUSIC_STREAM
Definition: audio_types.h:17
struct audio_file audio_file
struct audio_plugin_config audio_plugin_config
This file contains global type definitions which are used throughout the entire engine and applicatio...
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
signed char i8
Signed 8-bit integer.
Definition: defines.h:33
_Bool b8
8-bit boolean type
Definition: defines.h:58
float f32
32-bit floating point number
Definition: defines.h:47
signed int i32
Signed 32-bit integer.
Definition: defines.h:39
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
This file contains structures and functions for interacting with the file system.
Contains various math types required for the engine.
Definition: audio_types.h:41
f32 volume
Definition: audio_types.h:43
b8 looping
Definition: audio_types.h:45
vec3 position
Definition: audio_types.h:42
struct audio_file * file
Definition: audio_types.h:46
u32 source_id
Definition: audio_types.h:47
f32 falloff
Definition: audio_types.h:44
Definition: audio_types.h:20
i32 channels
Definition: audio_types.h:27
u64(* load_samples)(struct audio_file *audio, u32 chunk_size, i32 count)
Definition: audio_types.h:35
struct audio_file_plugin_data * plugin_data
Definition: audio_types.h:33
u32 total_samples_left
Definition: audio_types.h:31
struct audio_file_internal * internal_data
Definition: audio_types.h:32
audio_file_type type
Definition: audio_types.h:22
u32 format
Definition: audio_types.h:25
u32 sample_rate
Definition: audio_types.h:29
void(* rewind)(struct audio_file *audio)
Definition: audio_types.h:37
struct resource * audio_resource
Definition: audio_types.h:23
Definition: audio_types.h:50
u32 channel_count
The number of audio channels to support (i.e. 2 for stereo, 1 for mono). not to be confused with audi...
Definition: audio_types.h:61
u32 chunk_size
Definition: audio_types.h:66
u32 frequency
The frequency to output audio at.
Definition: audio_types.h:56
u32 max_sources
The maximum number of sources available. Default: 8.
Definition: audio_types.h:54
u32 max_buffers
The maximum number of buffers available. Default: 256.
Definition: audio_types.h:52
Definition: audio_types.h:69
b8(* source_pause)(struct audio_plugin *plugin, i8 source_index)
Definition: audio_types.h:121
b8(* source_play)(struct audio_plugin *plugin, i8 source_index)
Definition: audio_types.h:117
b8(* source_position_set)(struct audio_plugin *plugin, u32 source_id, vec3 position)
Definition: audio_types.h:108
b8(* source_pitch_set)(struct audio_plugin *plugin, u32 source_id, f32 pitch)
Definition: audio_types.h:105
b8(* source_stop)(struct audio_plugin *plugin, i8 source_index)
Definition: audio_types.h:120
void(* shutdown)(struct audio_plugin *plugin)
Definition: audio_types.h:74
b8(* listener_orientation_set)(struct audio_plugin *plugin, vec3 forward, vec3 up)
Definition: audio_types.h:82
b8(* source_gain_set)(struct audio_plugin *plugin, u32 source_id, f32 gain)
Definition: audio_types.h:95
void(* audio_unload)(struct audio_plugin *plugin, struct audio_file *file)
Definition: audio_types.h:115
b8(* update)(struct audio_plugin *plugin, struct frame_data *p_frame_data)
Definition: audio_types.h:76
b8(* initialize)(struct audio_plugin *plugin, audio_plugin_config config)
Definition: audio_types.h:72
b8(* play_on_source)(struct audio_plugin *plugin, struct audio_file *file, i8 source_index)
Definition: audio_types.h:118
b8(* source_looping_query)(struct audio_plugin *plugin, u32 source_id, b8 *out_looping)
Definition: audio_types.h:110
b8(* listener_orientation_query)(struct audio_plugin *plugin, vec3 *out_forward, vec3 *out_up)
Definition: audio_types.h:81
b8(* source_pitch_query)(struct audio_plugin *plugin, u32 source_id, f32 *out_pitch)
Definition: audio_types.h:97
b8(* source_gain_query)(struct audio_plugin *plugin, u32 source_id, f32 *out_gain)
Definition: audio_types.h:84
b8(* source_position_query)(struct audio_plugin *plugin, u32 source_id, vec3 *out_position)
Definition: audio_types.h:107
b8(* source_looping_set)(struct audio_plugin *plugin, u32 source_id, b8 looping)
Definition: audio_types.h:111
b8(* listener_position_query)(struct audio_plugin *plugin, vec3 *out_position)
Definition: audio_types.h:78
b8(* source_resume)(struct audio_plugin *plugin, i8 source_index)
Definition: audio_types.h:122
struct audio_plugin_state * internal_state
Definition: audio_types.h:70
b8(* listener_position_set)(struct audio_plugin *plugin, vec3 position)
Definition: audio_types.h:79
Engine-level current frame-specific data.
Definition: frame_data.h:16
A generic structure for a resource. All resource loaders load data into these.
Definition: resource_types.h:67
A 3-element vector.
Definition: math_types.h:49