MA_APIma_resultma_engine_play_sound(ma_engine*pEngine,constchar*pFilePath,ma_sound_group*pGroup);/* Fire and forget. Not yet implemented. */
MA_APIma_resultma_engine_play_sound(ma_engine*pEngine,constchar*pFilePath,ma_sound_group*pGroup);/* Fire and forget. */
MA_APIma_resultma_engine_sound_group_init(ma_engine*pEngine,ma_sound_group*pParentGroup,ma_sound_group*pGroup);/* Parent must be set at initialization time and cannot be changed. Not thread-safe. */
MA_APIvoidma_engine_sound_group_uninit(ma_engine*pEngine,ma_sound_group*pGroup);/* Not thread-safe. */
ma_result result = ma_effect_init(&config, &effect);
if (result != MA_SUCCESS) {
// Error.
}
```
Initializing an effect uses the same config system as all other objects in miniaudio. Initialize this with `ma_effect_config_init()`. This takes the effect
type, sample format, channel count and sample rate. Note that this alone is not enough to configure the config - you will need to set some effect type-specific
properties.
To apply the effect to some audio data, do something like the following:
```c
...
...
@@ -59,75 +42,28 @@ need to be specified when processing a chunk of audio data.
result=ma_data_source_unmap(pDataSource,framesMapped);/* Do this last because the result code is used below to determine whether or not we need to loop. */