zengine/include/ZE_ZMusic.h
2004-01-13 23:59:32 +00:00

73 lines
1.8 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_zmusic_h__
#define __ze_zmusic_h__
#include "ZE_ZEngine.h"
#include "ZE_ZAudioBase.h"
namespace ZE
{
#if SND_BACKEND == ZE_MIXER
class ZMusic
{
protected:
ZEngine* rEngine;
Mix_Music *rMusic;
public:
static const int LoopInfinite;
ZMusic();
ZMusic(std::string filename);
virtual ~ZMusic();
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) const;
void Pause() const;
void Unpause() const;
void Rewind() const;
void Stop(int fadeTime=0) const;
void SetVolume(int volume);
void SetPosition(int position);
bool IsLoaded() const;
bool IsPlaying() const;
bool IsPaused() const;
bool IsSeekable() const;
int GetVolume() const;
};
#elif SND_BACKEND == ZE_AUDIERE
class ZMusic : public ZAudioBase
{
public:
ZMusic();
ZMusic(std::string filename);
void Open(std::string filename);
void OpenFromZip(std::string zipname, std::string filename);
void OpenFromZRF(std::string resourceId);
};
#endif //SND_BACKEND
}
#endif //__ze_zmusic_h__