zengine/include/ZE_ZAudioBase.h
2004-01-13 23:52:01 +00:00

66 lines
1.7 KiB
C++

/*******************************************************************************
This file is Part of the ZEngine Library for 2D game development.
Copyright (C) 2002-2004 James Turk
Licensed under a BSD-style license.
The maintainer of this library is James Turk (james@conceptofzero.net)
and the home of this Library is http://www.zengine.sourceforge.net
*******************************************************************************/
#ifndef __ze_zaudiobase_h__
#define __ze_zaudiobase_h__
#include "ZE_ZEngine.h"
#if SND_BACKEND == ZE_AUDIERE
namespace ZE
{
class ZAudioBase
{
protected:
ZEngine* rEngine;
audiere::AudioDevicePtr rDevice;
audiere::OutputStreamPtr rStream;
int rPausePos;
public:
ZAudioBase();
virtual ~ZAudioBase();
virtual void Open(std::string filename)=0;
virtual void OpenFromZip(std::string zipname, std::string filename)=0;
virtual void OpenFromZRF(std::string resourceId)=0;
//void Release();
void Play(bool loop=false);
void Pause();
void Unpause();
void Rewind();
void Stop();
void SetVolume(int volume);
void SetPan(float pan);
void SetPitch(float pitch);
void SetPosition(int position);
void SetPosition(float posPercent);
bool IsLoaded() const;
bool IsPlaying() const;
bool IsPaused() const;
bool IsSeekable() const;
int GetVolume() const;
float GetPan() const;
float GetPitch() const;
int GetPosition() const;
int GetLength() const;
};
}
#endif //ZE_AUDIERE
#endif //__ze_zaudiobase_h__