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
13#ifdef __cplusplus
14extern "C"
15{
16#endif
17
22 sc_result SC_API sc_system_create(sc_system** outSystem);
23
28 sc_result SC_API sc_system_release(sc_system* system);
29
35 sc_result SC_API sc_system_log_init(sc_system* system, ma_log_callback_proc logCallback);
36
44 sc_result SC_API sc_system_init(sc_system* system);
45
51 sc_result SC_API sc_system_close(sc_system* system);
52
54
55 sc_result SC_API sc_system_create_sound(sc_system* system,
56 const char* fileName,
57 sc_sound_mode mode,
58 sc_sound** sound);
59
77 sc_result SC_API sc_system_play_sound(
78 sc_system* system, sc_sound* sound, sc_sound_instance** instance, sc_node_group* parent, sc_bool paused);
79
86 sc_result SC_API sc_system_create_node_group(sc_system* system, sc_node_group** nodeGroup);
87
104 sc_result SC_API sc_system_create_dsp(sc_system* system, const sc_dsp_config* config, sc_dsp** dsp);
105
106 sc_result SC_API sc_sound_release(sc_sound* sound);
107 sc_result SC_API sc_sound_instance_is_playing(sc_sound_instance* instance, sc_bool* isPlaying);
108 sc_result SC_API sc_sound_instance_release(sc_sound_instance* instance);
109
116 sc_dsp_config SC_API sc_dsp_config_init(sc_dsp_type type);
117
118 sc_result SC_API sc_dsp_get_parameter_float(sc_dsp* dsp, int index, float* value);
119 sc_result SC_API sc_dsp_set_parameter_float(sc_dsp* dsp, int index, float value);
120 sc_result SC_API sc_dsp_release(sc_dsp* dsp);
121
122 sc_result SC_API sc_node_group_set_volume(sc_node_group* nodeGroup, float volume);
123 sc_result SC_API sc_node_group_get_volume(sc_node_group* nodeGroup, float* volume);
124
125 sc_result SC_API sc_node_group_set_parent(sc_node_group* nodeGroup, sc_node_group* parent);
126
127 sc_result SC_API sc_node_group_add_dsp(sc_node_group* nodeGroup, sc_dsp* dsp, sc_dsp_index index);
128 sc_result SC_API sc_node_group_remove_dsp(sc_node_group* nodeGroup, sc_dsp* dsp);
129
130 sc_result SC_API sc_node_group_release(sc_node_group* nodeGroup);
131
132#include "sound_chef_dsp.h"
133
134#ifdef __cplusplus
135}
136#endif
137
138#endif // #ifndef SOUND_CHEF_H
sc_result SC_API sc_system_close(sc_system *system)
Closes the system.
Definition sound_chef.c:304
sc_result SC_API sc_system_create(sc_system **outSystem)
Creates a new System object.
Definition sound_chef.c:214
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_dsp.c:192
sc_result SC_API sc_system_init(sc_system *system)
Initialises the system.
Definition sound_chef.c:261
sc_result SC_API sc_system_log_init(sc_system *system, ma_log_callback_proc logCallback)
Sets up logging.
Definition sound_chef.c:245
sc_result SC_API sc_system_release(sc_system *system)
Releases the system memory.
Definition sound_chef.c:230
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:412
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:357
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:386
DSP object definitions.
Definition sound_chef_common.h:140
ma_node with an additional enum descriptor.
Definition sound_chef_common.h:152
Groups nodes/DSPs together into one.
Definition sound_chef_common.h:177
Definition sound_chef_common.h:161
Object that manages the node graph, sounds, output etc.
Definition sound_chef_common.h:198