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