15 #define AUDIO_CHANNEL_MAX_COUNT 16
17 struct kaudio_system_state;
KAPI void kaudio_release(struct kaudio_system_state *state, kaudio_instance *instance)
KAPI b8 kaudio_resume(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_emitter_create(struct kaudio_system_state *state, f32 inner_radius, f32 outer_radius, f32 volume, f32 falloff, b8 is_looping, b8 is_streaming, kname audio_resource_name, kname package_name, khandle *out_emitter)
KAPI b8 kaudio_pitch_set(struct kaudio_system_state *state, kaudio_instance instance, f32 pitch)
KAPI b8 kaudio_emitter_unload(struct kaudio_system_state *state, khandle emitter_handle)
KAPI b8 kaudio_channel_looping_get(struct kaudio_system_state *state, u8 channel_index)
KAPI b8 kaudio_channel_is_paused(struct kaudio_system_state *state, u8 channel_index)
KAPI b8 kaudio_falloff_set(struct kaudio_system_state *state, kaudio_instance instance, f32 falloff)
KAPI void kaudio_system_listener_orientation_set(struct kaudio_system_state *state, vec3 position, vec3 forward, vec3 up)
KAPI b8 kaudio_channel_pause(struct kaudio_system_state *state, u8 channel_index)
KAPI b8 kaudio_stop(struct kaudio_system_state *state, kaudio_instance instance)
void kaudio_system_shutdown(struct kaudio_system_state *state)
KAPI f32 kaudio_falloff_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI f32 kaudio_inner_radius_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_channel_is_playing(struct kaudio_system_state *state, u8 channel_index)
KAPI b8 kaudio_channel_play(struct kaudio_system_state *state, u8 channel_index)
b8 kaudio_system_initialize(u64 *memory_requirement, void *memory, const char *config_str)
KAPI b8 kaudio_channel_stop(struct kaudio_system_state *state, u8 channel_index)
KAPI b8 kaudio_looping_set(struct kaudio_system_state *state, kaudio_instance instance, b8 looping)
KAPI i8 kaudio_category_id_get(struct kaudio_system_state *state, kname name)
KAPI b8 kaudio_channel_resume(struct kaudio_system_state *state, u8 channel_index)
KAPI b8 kaudio_emitter_world_position_set(struct kaudio_system_state *state, khandle emitter_handle, vec3 world_position)
KAPI b8 kaudio_play_in_category_by_name(struct kaudio_system_state *state, kaudio_instance instance, kname category_name)
KAPI kaudio_instance kaudio_acquire(struct kaudio_system_state *state, kname asset_name, b8 is_streaming, kaudio_space audio_space)
KAPI b8 kaudio_position_set(struct kaudio_system_state *state, kaudio_instance instance, vec3 position)
KAPI f32 kaudio_system_master_volume_get(struct kaudio_system_state *state)
KAPI b8 kaudio_volume_set(struct kaudio_system_state *state, kaudio_instance instance, f32 volume)
KAPI b8 kaudio_channel_is_stopped(struct kaudio_system_state *state, u8 channel_index)
KAPI kaudio_instance kaudio_acquire_from_package(struct kaudio_system_state *state, kname asset_name, kname package_name, b8 is_streaming, kaudio_space audio_space)
KAPI b8 kaudio_is_valid(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_inner_radius_set(struct kaudio_system_state *state, kaudio_instance instance, f32 inner_radius)
KAPI void kaudio_master_volume_set(struct kaudio_system_state *state, f32 volume)
KAPI b8 kaudio_channel_volume_set(struct kaudio_system_state *state, u8 channel_index, f32 volume)
Sets the volume for the given channel id.
KAPI b8 kaudio_play_in_category(struct kaudio_system_state *state, kaudio_instance instance, u8 category_index)
KAPI f32 kaudio_channel_volume_get(struct kaudio_system_state *state, u8 channel_index)
Queries the given channel's volume volume.
KAPI b8 kaudio_emitter_load(struct kaudio_system_state *state, khandle emitter)
KAPI f32 kaudio_pitch_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_pause(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_looping_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_outer_radius_set(struct kaudio_system_state *state, kaudio_instance instance, f32 outer_radius)
b8 kaudio_system_update(struct kaudio_system_state *state, struct frame_data *p_frame_data)
Updates the audio system. Should happen once an update cycle.
KAPI b8 kaudio_channel_looping_set(struct kaudio_system_state *state, u8 channel_index, b8 looping)
KAPI f32 kaudio_outer_radius_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI vec3 kaudio_position_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI f32 kaudio_volume_get(struct kaudio_system_state *state, kaudio_instance instance)
KAPI b8 kaudio_play(struct kaudio_system_state *state, kaudio_instance instance, i8 channel_index)
kaudio_space
Describes the dimensionality of audio.
Definition: core_audio_types.h:26
This file contains global type definitions which are used throughout the entire engine and applicatio...
#define KAPI
Import/export qualifier.
Definition: defines.h:205
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
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
unsigned char u8
Unsigned 8-bit integer.
Definition: defines.h:19
A global handle system for Kohi. Handles are used to obtain various resources using a unique handle i...
This files contains an implementation of knames.
u64 kname
A kname is a string hash made for quick comparisons versus traditional string comparisons.
Definition: kname.h:36
Contains various math types required for the engine.
Engine-level current frame-specific data.
Definition: frame_data.h:11
Definition: kaudio_types.h:13
A handle is a unique identifier used a system in the engine to avoid using raw pointers where possibl...
Definition: khandle.h:25
A 3-element vector.
Definition: math_types.h:49