Sound has states on it now
This commit is contained in:
@@ -13,11 +13,14 @@ using namespace Corrade;
|
|||||||
using namespace _ma;
|
using namespace _ma;
|
||||||
class Sound {
|
class Sound {
|
||||||
public:
|
public:
|
||||||
|
enum SoundState { Idle, Playing, Paused, Finished };
|
||||||
|
|
||||||
~Sound();
|
~Sound();
|
||||||
void Play();
|
void Play();
|
||||||
void Pause();
|
void Pause();
|
||||||
void Reset();
|
void Reset();
|
||||||
|
|
||||||
|
SoundState GetState();
|
||||||
void SetPosition(Magnum::Vector3 position);
|
void SetPosition(Magnum::Vector3 position);
|
||||||
Magnum::Vector3 GetPosition();
|
Magnum::Vector3 GetPosition();
|
||||||
void SetVolume(float value);
|
void SetVolume(float value);
|
||||||
@@ -27,6 +30,7 @@ private:
|
|||||||
Sound();
|
Sound();
|
||||||
class Engine *baseEngine;
|
class Engine *baseEngine;
|
||||||
ma_sound maSound;
|
ma_sound maSound;
|
||||||
|
SoundState state = SoundState::Idle;
|
||||||
friend class Engine;
|
friend class Engine;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -6,9 +6,19 @@ using namespace ChargeAudio;
|
|||||||
Sound::Sound() {}
|
Sound::Sound() {}
|
||||||
Sound::~Sound() { ma_sound_uninit(&maSound); }
|
Sound::~Sound() { ma_sound_uninit(&maSound); }
|
||||||
|
|
||||||
|
Sound::SoundState Sound::GetState() { return state; }
|
||||||
|
|
||||||
// Controls
|
// Controls
|
||||||
void Sound::Play() { ma_sound_start(&maSound); }
|
void Sound::Play() {
|
||||||
void Sound::Pause() { ma_sound_stop(&maSound); }
|
ma_sound_start(&maSound);
|
||||||
|
state = Sound::SoundState::Playing;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Sound::Pause() {
|
||||||
|
ma_sound_stop(&maSound);
|
||||||
|
state = Sound::SoundState::Paused;
|
||||||
|
}
|
||||||
|
|
||||||
void Sound::Reset() { ma_sound_seek_to_pcm_frame(&maSound, 0); }
|
void Sound::Reset() { ma_sound_seek_to_pcm_frame(&maSound, 0); }
|
||||||
|
|
||||||
void Sound::SetPosition(Magnum::Vector3 position) {
|
void Sound::SetPosition(Magnum::Vector3 position) {
|
||||||
|
Reference in New Issue
Block a user