From 1deb2a5f8a1c9b44ad38eea73449250d46ec0ce7 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 21 May 2018 23:33:33 +0800 Subject: =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=9F=B3=E9=A2=91=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/audio/sdl/source.h | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'src/libjin/audio/sdl/source.h') diff --git a/src/libjin/audio/sdl/source.h b/src/libjin/audio/sdl/source.h index 052a49e..5ea2cf2 100644 --- a/src/libjin/audio/sdl/source.h +++ b/src/libjin/audio/sdl/source.h @@ -11,6 +11,50 @@ namespace audio class SDLSource : public Source { + public: + + SDLSource() {} + ~SDLSource() {} + + void generateSamples(Uint8* streamIn, int len); + + /* ISource interface */ + void play() override; + void stop() override; + void pause() override; + void resume() override; + void rewind() override; + void isStopped() const override; + void isPaused() const override; + void isFinished() const override; + void setPitch(float pitch) override; + void setVolume(float volume) override; + bool setLoop(bool loop) override; + void setRate(float rate) override; + + private: + + typedef struct Command + { + typedef enum Action + { + Nothing = 0, + Play, + Stop, + Pause, + Resume, + Rewind, + SetVolume, + }; + Action action; + union { + int _integer; + bool _boolean; + const char* _string; + } parameter; + }; + + Command command; }; } -- cgit v1.1-26-g67d0