Added support for user defined sound effect implementations. #2973
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Title.
Because I found it a pity that #1708 had to be closed due to the miniaudio rewrite and all of @fallahn's work gone to waste, I went ahead and implemented equivalent (maybe even better?) support for user defined sound effects in the spirit of aforementioned PR.
The example has been accordingly extended with demonstrations of how to use the new API to implement basically any effect one can think of. I am by no means a DSP expert (the example implementations were taken from people far more knowledgeable than me 馃榿), so maybe someone can improve the example processing code or even add more interesting effects.
All of the action happens when an effect processor is attached to an
sf::SoundSource
using:The effect processor is passed the raw audio data from the engine and can manipulate it before sending it back to be output through the audio device. Refer to the
sf::SoundSource
documentation and sound effects example for detailed information on API usage.