diff options
Diffstat (limited to 'src/crepe/facade/Sound.h')
-rw-r--r-- | src/crepe/facade/Sound.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/crepe/facade/Sound.h b/src/crepe/facade/Sound.h index 402482f..8342b46 100644 --- a/src/crepe/facade/Sound.h +++ b/src/crepe/facade/Sound.h @@ -4,17 +4,19 @@ #include <soloud/soloud.h> #include <soloud/soloud_wav.h> -#include "../Asset.h" +#include "../Resource.h" namespace crepe { +class SoundContext; + /** * \brief Sound resource facade * * This class is a wrapper around a \c SoLoud::Wav instance, which holds a * single sample. It is part of the sound facade. */ -class Sound { +class Sound : public Resource { public: /** * \brief Pause this sample @@ -70,15 +72,13 @@ public: bool get_looping() const { return this->looping; } public: - Sound(const char * src); - Sound(std::unique_ptr<Asset> res); - -private: - void load(std::unique_ptr<Asset> res); + Sound(SoundContext & ctx); + std::unique_ptr<Resource> clone(const Asset & src) const override; private: SoLoud::Wav sample; SoLoud::handle handle; + SoundContext & context; float volume = 1.0f; bool looping = false; |