zengine/include/ZE_ZSound.h

57 lines
1.4 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_zsound_h__
#define __ze_zsound_h__
#include "ZE_ZEngine.h"
#ifdef USE_SDL_MIXER
namespace ZE
{
class ZSound
{
protected:
ZEngine* rEngine;
Mix_Chunk* rSound;
int rChannelID;
public:
static const int LoopInfinite;
ZSound();
ZSound(std::string filename);
virtual ~ZSound();
void Open(std::string filename);
void OpenFromZip(std::string zipname, std::string filename);
void OpenFromZRF(std::string resourceId);
void Release();
void Play(int loopNum=0, int fadeTime=0);
void Pause() const;
void Unpause() const;
void Stop(int fadeTime=0) const;
void SetVolume(int volume);
bool IsLoaded() const;
bool IsPlaying() const;
bool IsPaused() const;
int GetVolume() const;
};
}
#endif //USE_SDL_MIXER
#endif //__ze_zsound_h__