10#ifndef __SNDWRAPWAVBASE_H__
11#define __SNDWRAPWAVBASE_H__
13#include "WaveLoader.h"
28 virtual eC_Bool
SetVolume(eC_UByte ubVolume = 0xff) = 0;
54 CSound() : m_pubData(NULL), m_uiDataSize(0), m_eSoundID(SND_START_TAG) { memset(&m_kWaveformat, 0,
sizeof(m_kWaveformat)); }
70 inline void SetData(eC_UByte *data, eC_UInt datasize)
76 m_pubData =
new eC_UByte[datasize];
77 memcpy(m_pubData, data, datasize);
78 m_uiDataSize = datasize;
85 inline eC_UByte*
GetData()
const {
return m_pubData; }
100 inline void ReleaseData() {
if (m_pubData)
delete[] m_pubData; m_pubData = 0; }
114 eC_UInt m_uiDataSize;
132 m_kThreadPriority(kThreadPriority)
174 virtual void Execute(
void *pArg) = 0;
182 eC_Int Start(
void *pArg);
185 ThreadPriority_t m_kThreadPriority;
201 eC_Bool SetNOFSounds(eC_UInt uiNOFSounds);
SoundResource_t
List of sound resource ids.
Definition: GUISoundResource.h:48
This is the base class for Guiliani threads.
Definition: GUIThread.h:85
This is the Sound-Wrapper base class.
Definition: SndWrap.h:48
This class handles the playing of sound files.
Definition: SndWrapWAVBase.h:124
ThreadPriority_t GetThreadPriority() const
Definition: SndWrapWAVBase.h:165
CPlayThreadBase(const eC_UInt uiStackSize, const ThreadPriority_t kThreadPriority)
Definition: SndWrapWAVBase.h:130
const void SetSound(const CSound &kSound)
Definition: SndWrapWAVBase.h:160
const CSound & GetSound() const
Definition: SndWrapWAVBase.h:155
virtual ~CPlayThreadBase()
Destructor.
Definition: SndWrapWAVBase.h:136
virtual void Play(const CSound &kSound)=0
This class represents a sound file with filepointer, WAVE header and Sound Resource ID.
Definition: SndWrapWAVBase.h:52
eC_UByte * GetData() const
Definition: SndWrapWAVBase.h:85
SoundResource_t GetSoundID() const
Definition: SndWrapWAVBase.h:110
const FileLoader::WaveLoader::FormatChunk_t & GetWaveFormat() const
Definition: SndWrapWAVBase.h:64
void SetData(eC_UByte *data, eC_UInt datasize)
Definition: SndWrapWAVBase.h:70
void SetWaveFormat(const FileLoader::WaveLoader::FormatChunk_t &kWaveFormat)
Definition: SndWrapWAVBase.h:59
eC_UInt GetDataSize() const
Definition: SndWrapWAVBase.h:90
void SetSoundID(const SoundResource_t eSoundID)
Definition: SndWrapWAVBase.h:105
void ReleaseData()
Definition: SndWrapWAVBase.h:100
This class is the base implementation for playing WAV files using low-level interfaces.
Definition: SndWrapWAVBase.h:24
virtual eC_Bool IsSoundPlaying(const SoundResource_t &eID)
virtual eC_Bool PlaySnd(const SoundResource_t &eID, eC_UInt Flags=PLAY_ASYNC)
virtual eC_Bool SetVolume(eC_UByte ubVolume=0xff)=0
virtual eC_Bool ResumeSnd(const SoundResource_t &eID)
virtual eC_UByte GetVolume()=0
virtual void LoadSnd(const eC_String &pkPath, const SoundResource_t &eID, eC_UInt uiDeviceID=0)
virtual eC_Bool StopSnd(const SoundResource_t &eID)
CSndWrapWAVBase()
Constructor.
virtual ~CSndWrapWAVBase()
Destructor.
virtual void UnloadSnd(const SoundResource_t &eID)
CPlayThreadBase * m_pPlayThread
The play thread.
Definition: SndWrapWAVBase.h:188
eC_TArray< CSound > m_aSoundFiles
The list of the loaded soundfiles.
Definition: SndWrapWAVBase.h:189
virtual eC_Bool PauseSnd(const SoundResource_t &eID)