/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ------------------------------------------------------------------------------*/ #ifndef __NNULLMIXER__ #define __NNULLMIXER__ #include "core/mixer.h" namespace GS { namespace Audio { /*! @short Null mixer. @author Emmanuel Julien (ejulien@gsworks.fr) */ struct NullMixer : public IMixer { bool Open() { return true; } void Close() {} void SuspendWorkerThread() {} void ResumeWorkerThread() {} void SetMasterVolume(float = 1.0) {} float GetMasterVolume() { return 1; } bool StartFast(int, FutureData *) { return false; } int Start(int, FutureData *) { return 0; } bool StreamFast(int, const char *) { return false; } int Stream(int, const char *) { return 0; } void Stop(int) {} void Pause(int) {} void Resume(int) {} int LockChannel() { return 0; } void UnlockChannel(int) {} void UnlockAllChannels() {} float GetChannelPitch(int) { return 1; } float GetChannelVolume(int) { return 1; } float GetChannelPanning(int) { return 0; } Loop GetChannelLoopMode(int) { return None; } int GetChannelLoopPosition(int) { return 0; } void SetChannelPitch(int, float) {} void SetChannelVolume(int, float) {} void SetChannelPanning(int, float) {} void SetChannelLoopMode(int, Loop = None) {} void SetChannelLoopPosition(int, int ms) {} State GetState(int) { return Invalid; } FutureData *LoadSound(const char *) { return 0; } void UnloadSound(FutureData *) {} ~NullMixer() {} }; } // Audio } // GS #endif // __NNULLMIXER__