Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
sound_chef.h
Go to the documentation of this file.
1#ifndef SOUND_CHEF_H
2#define SOUND_CHEF_H
3
11#include "sound_chef_common.h"
12#include "sound_chef_dsp.h"
13
14#ifdef __cplusplus
15extern "C"
16{
17#endif
18
23 sc_result SC_API sc_system_create(sc_system** outSystem);
24
29 sc_result SC_API sc_system_release(sc_system* system);
30
36 sc_result SC_API sc_system_log_init(sc_system* system, ma_log_callback_proc logCallback);
37
45 sc_result SC_API sc_system_init(sc_system* system);
46
52 sc_result SC_API sc_system_close(sc_system* system);
53
55
56 sc_result SC_API sc_system_create_sound(sc_system* system,
57 const char* fileName,
58 sc_sound_mode mode,
59 sc_sound** sound);
60
61 sc_result SC_API sc_system_create_sound_memory(
62 sc_system* system, void* memoryLocation, size_t soundSize, sc_sound_mode mode, sc_sound** sound);
63
81 sc_result SC_API sc_system_play_sound(
82 sc_system* system, sc_sound* sound, sc_sound_instance** instance, sc_node_group* parent, sc_bool paused);
83
90 sc_result SC_API sc_system_create_node_group(sc_system* system, sc_node_group** nodeGroup);
91
108 sc_result SC_API sc_system_create_dsp(sc_system* system, const sc_dsp_config* config, sc_dsp** dsp);
109
110 sc_result SC_API sc_sound_release(sc_sound* sound);
111 sc_result SC_API sc_sound_instance_is_playing(sc_sound_instance* instance, sc_bool* isPlaying);
112 sc_result SC_API sc_sound_instance_release(sc_sound_instance* instance);
113
120 sc_dsp_config SC_API sc_dsp_config_init(sc_dsp_type type);
121
122 sc_result SC_API sc_dsp_get_parameter_float(sc_dsp* dsp, int index, float* value);
123 sc_result SC_API sc_dsp_set_parameter_float(sc_dsp* dsp, int index, float value);
124 sc_result SC_API sc_dsp_get_metering_info(sc_dsp* dsp,
125 ma_uint32 channelIndex,
126 sc_dsp_meter meterType,
127 float* value);
128 sc_result SC_API sc_dsp_release(sc_dsp* dsp);
129
130 sc_result SC_API sc_node_group_set_volume(sc_node_group* nodeGroup, float volume);
131 sc_result SC_API sc_node_group_get_volume(sc_node_group* nodeGroup, float* volume);
132
133 sc_result SC_API sc_node_group_set_parent(sc_node_group* nodeGroup, sc_node_group* parent);
134 sc_result SC_API sc_node_group_set_parent_endpoint(sc_node_group* nodeGroup);
135
136 sc_result SC_API sc_node_group_get_dsp(sc_node_group* nodeGroup, sc_dsp_type type, sc_dsp** dsp);
137
138 sc_result SC_API sc_node_group_add_dsp(sc_node_group* nodeGroup, sc_dsp* dsp, sc_dsp_index index);
139 sc_result SC_API sc_node_group_remove_dsp(sc_node_group* nodeGroup, sc_dsp* dsp);
140
141 sc_result SC_API sc_node_group_release(sc_node_group* nodeGroup);
142
143#ifdef __cplusplus
144}
145#endif
146
147#endif // #ifndef SOUND_CHEF_H
sc_result SC_API sc_system_close(sc_system *system)
Closes the system.
Definition sound_chef.c:319
sc_result SC_API sc_system_create(sc_system **outSystem)
Creates a new System object.
Definition sound_chef.c:216
sc_dsp_config SC_API sc_dsp_config_init(sc_dsp_type type)
Returns a valid sc_dsp_config object for the DSP type.
Definition sound_chef.c:1019
sc_result SC_API sc_system_init(sc_system *system)
Initialises the system.
Definition sound_chef.c:263
sc_result SC_API sc_system_log_init(sc_system *system, ma_log_callback_proc logCallback)
Sets up logging.
Definition sound_chef.c:247
sc_result SC_API sc_system_release(sc_system *system)
Releases the system memory.
Definition sound_chef.c:232
sc_result SC_API sc_system_create_dsp(sc_system *system, const sc_dsp_config *config, sc_dsp **dsp)
Creates a new DSP based on the config.
Definition sound_chef.c:474
sc_result SC_API sc_system_play_sound(sc_system *system, sc_sound *sound, sc_sound_instance **instance, sc_node_group *parent, sc_bool paused)
Plays a sound and returns the playing instance.
Definition sound_chef.c:403
sc_result SC_API sc_system_create_node_group(sc_system *system, sc_node_group **nodeGroup)
Creates a new Node Group.
Definition sound_chef.c:446
DSP object definitions.
Definition sound_chef_common.h:167
ma_node with an additional enum descriptor.
Definition sound_chef_common.h:179
Groups nodes/DSPs together into one.
Definition sound_chef_common.h:205
Definition sound_chef_common.h:188
Object that manages the node graph, sounds, output etc.
Definition sound_chef_common.h:226