Kohi Game Engine
audio_plugin Struct Reference

#include <audio_types.h>

Data Fields

struct audio_plugin_state * internal_state
 
b8(* initialize )(struct audio_plugin *plugin, audio_plugin_config config)
 
void(* shutdown )(struct audio_plugin *plugin)
 
b8(* update )(struct audio_plugin *plugin, struct frame_data *p_frame_data)
 
b8(* listener_position_query )(struct audio_plugin *plugin, vec3 *out_position)
 
b8(* listener_position_set )(struct audio_plugin *plugin, vec3 position)
 
b8(* listener_orientation_query )(struct audio_plugin *plugin, vec3 *out_forward, vec3 *out_up)
 
b8(* listener_orientation_set )(struct audio_plugin *plugin, vec3 forward, vec3 up)
 
b8(* source_gain_query )(struct audio_plugin *plugin, u32 source_id, f32 *out_gain)
 
b8(* source_gain_set )(struct audio_plugin *plugin, u32 source_id, f32 gain)
 
b8(* source_pitch_query )(struct audio_plugin *plugin, u32 source_id, f32 *out_pitch)
 
b8(* source_pitch_set )(struct audio_plugin *plugin, u32 source_id, f32 pitch)
 
b8(* source_position_query )(struct audio_plugin *plugin, u32 source_id, vec3 *out_position)
 
b8(* source_position_set )(struct audio_plugin *plugin, u32 source_id, vec3 position)
 
b8(* source_looping_query )(struct audio_plugin *plugin, u32 source_id, b8 *out_looping)
 
b8(* source_looping_set )(struct audio_plugin *plugin, u32 source_id, b8 looping)
 
struct audio_file *(* chunk_load )(struct audio_plugin *plugin, const char *name)
 
struct audio_file *(* stream_load )(struct audio_plugin *plugin, const char *name)
 
void(* audio_unload )(struct audio_plugin *plugin, struct audio_file *file)
 
b8(* source_play )(struct audio_plugin *plugin, i8 source_index)
 
b8(* play_on_source )(struct audio_plugin *plugin, struct audio_file *file, i8 source_index)
 
b8(* source_stop )(struct audio_plugin *plugin, i8 source_index)
 
b8(* source_pause )(struct audio_plugin *plugin, i8 source_index)
 
b8(* source_resume )(struct audio_plugin *plugin, i8 source_index)
 

Field Documentation

◆ audio_unload

void(* audio_unload) (struct audio_plugin *plugin, struct audio_file *file)

◆ chunk_load

struct audio_file*(* chunk_load) (struct audio_plugin *plugin, const char *name)

◆ initialize

b8(* initialize) (struct audio_plugin *plugin, audio_plugin_config config)

◆ internal_state

struct audio_plugin_state* internal_state

◆ listener_orientation_query

b8(* listener_orientation_query) (struct audio_plugin *plugin, vec3 *out_forward, vec3 *out_up)

◆ listener_orientation_set

b8(* listener_orientation_set) (struct audio_plugin *plugin, vec3 forward, vec3 up)

◆ listener_position_query

b8(* listener_position_query) (struct audio_plugin *plugin, vec3 *out_position)

◆ listener_position_set

b8(* listener_position_set) (struct audio_plugin *plugin, vec3 position)

◆ play_on_source

b8(* play_on_source) (struct audio_plugin *plugin, struct audio_file *file, i8 source_index)

◆ shutdown

void(* shutdown) (struct audio_plugin *plugin)

◆ source_gain_query

b8(* source_gain_query) (struct audio_plugin *plugin, u32 source_id, f32 *out_gain)

◆ source_gain_set

b8(* source_gain_set) (struct audio_plugin *plugin, u32 source_id, f32 gain)
Parameters
pluginA pointer to the plugin.
source_idThe identifier of the source to modify.
gainIndicate the gain (volume amplification) applied. Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled.
Returns
True on success; otherwise false.

◆ source_looping_query

b8(* source_looping_query) (struct audio_plugin *plugin, u32 source_id, b8 *out_looping)

◆ source_looping_set

b8(* source_looping_set) (struct audio_plugin *plugin, u32 source_id, b8 looping)

◆ source_pause

b8(* source_pause) (struct audio_plugin *plugin, i8 source_index)

◆ source_pitch_query

b8(* source_pitch_query) (struct audio_plugin *plugin, u32 source_id, f32 *out_pitch)

◆ source_pitch_set

b8(* source_pitch_set) (struct audio_plugin *plugin, u32 source_id, f32 pitch)
Parameters
pluginA pointer to the plugin.
source_idThe identifier of the source to modify.
Specifythe pitch to be applied at source. Range: [0.5f - 2.0f] Default: 1.0f
Returns
True on success; otherwise false.

◆ source_play

b8(* source_play) (struct audio_plugin *plugin, i8 source_index)

◆ source_position_query

b8(* source_position_query) (struct audio_plugin *plugin, u32 source_id, vec3 *out_position)

◆ source_position_set

b8(* source_position_set) (struct audio_plugin *plugin, u32 source_id, vec3 position)

◆ source_resume

b8(* source_resume) (struct audio_plugin *plugin, i8 source_index)

◆ source_stop

b8(* source_stop) (struct audio_plugin *plugin, i8 source_index)

◆ stream_load

struct audio_file*(* stream_load) (struct audio_plugin *plugin, const char *name)

◆ update

b8(* update) (struct audio_plugin *plugin, struct frame_data *p_frame_data)

The documentation for this struct was generated from the following file: