aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system/AudioSystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/system/AudioSystem.h')
-rw-r--r--src/crepe/system/AudioSystem.h29
1 files changed, 6 insertions, 23 deletions
diff --git a/src/crepe/system/AudioSystem.h b/src/crepe/system/AudioSystem.h
index 4d21883..2ddc443 100644
--- a/src/crepe/system/AudioSystem.h
+++ b/src/crepe/system/AudioSystem.h
@@ -14,30 +14,14 @@ public:
void update() override;
private:
- //! Private data stored by AudioSystem on AudioSource component
- struct ComponentPrivate {
- //! This sample's voice handle
- Sound::Handle handle;
-
- /**
- * \name State diffing variables
- * \{
- */
- typeof(AudioSource::active) last_active;
- typeof(AudioSource::volume) last_volume;
- typeof(AudioSource::loop) last_loop;
- //! \}
- };
-
/**
- * \brief Update `last_*` members of \c data
+ * \brief Update `last_*` members of \c component
*
* Copies all component properties stored for comparison between AudioSystem::update() calls
*
- * \param component Source properties
- * \param data Destination properties
+ * \param component AudioSource component to update
*/
- void update_last(const AudioSource & component, ComponentPrivate & data);
+ void update_last(AudioSource & component);
/**
* \brief Compare update component
@@ -46,10 +30,9 @@ private:
* applicable.
*
* \param component AudioSource component to update
- * \param data AudioSource's private data
* \param resource Sound instance for AudioSource's Asset
*/
- void diff_update(AudioSource & component, ComponentPrivate & data, Sound & resource);
+ void diff_update(AudioSource & component, Sound & resource);
protected:
/**
@@ -61,8 +44,8 @@ protected:
virtual SoundContext & get_context();
private:
- //! Actually stores SoundContext if the base AudioSystem::get_context implementation is used
- Private context;
+ //! SoundContext
+ std::unique_ptr<SoundContext> context = nullptr;
};
} // namespace crepe