diff options
| author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-11 14:33:12 +0100 | 
|---|---|---|
| committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-11 14:33:12 +0100 | 
| commit | 68bf20b491b4b7673c2ece7a6497b9faffd44eb1 (patch) | |
| tree | ec0aa56081bc744b595f1665f048c4d26242884f /src/crepe/facade/SoundContext.cpp | |
| parent | f64b793ad8e796458c8e175f298e8d13eb3b3459 (diff) | |
| parent | 78c4a8772526f40c531b5402b56932b0a41e22e8 (diff) | |
feedback but error after conflict
Diffstat (limited to 'src/crepe/facade/SoundContext.cpp')
| -rw-r--r-- | src/crepe/facade/SoundContext.cpp | 30 | 
1 files changed, 23 insertions, 7 deletions
| diff --git a/src/crepe/facade/SoundContext.cpp b/src/crepe/facade/SoundContext.cpp index deb2b62..b1f8cb3 100644 --- a/src/crepe/facade/SoundContext.cpp +++ b/src/crepe/facade/SoundContext.cpp @@ -4,17 +4,33 @@  using namespace crepe; -SoundContext & SoundContext::get_instance() { -	static SoundContext instance; -	return instance; -} -  SoundContext::SoundContext() {  	dbg_trace(); -	engine.init(); +	this->engine.init(); +	this->engine.setMaxActiveVoiceCount(this->config.audio.voices);  }  SoundContext::~SoundContext() {  	dbg_trace(); -	engine.deinit(); +	this->engine.deinit(); +} + +SoundHandle SoundContext::play(Sound & resource) { +	SoLoud::handle real_handle = this->engine.play(resource.sample, 1.0f); +	SoundHandle handle = this->next_handle; +	this->registry[handle] = real_handle; +	this->next_handle++; +	return handle; +} + +void SoundContext::stop(const SoundHandle & handle) { +	this->engine.stop(this->registry[handle]); +} + +void SoundContext::set_volume(const SoundHandle & handle, float volume) { +	this->engine.setVolume(this->registry[handle], volume); +} + +void SoundContext::set_loop(const SoundHandle & handle, bool loop) { +	this->engine.setLooping(this->registry[handle], loop);  } |