NW4F Snd
Loading...
Searching...
No Matches
snd_WaveArchiveFileReader.h
Go to the documentation of this file.
1#ifndef NW_SND_WAVE_ARCHIVE_FILE_READER_H_
2#define NW_SND_WAVE_ARCHIVE_FILE_READER_H_
3
4#include <nw/snd/snd_WaveArchiveFile.h>
5
6namespace nw { namespace snd { namespace internal {
7
9{
10public:
11 static const u32 SIGNATURE_FILE = NW_UT_MAKE_SIGWORD('F', 'W', 'A', 'R');
12 static const u32 SIGNATURE_WARC_TABLE /* = NW_UT_MAKE_SIGWORD('F', 'W', 'A', 'T') */;
13
14 WaveArchiveFileReader(const void* pWaveArchiveFile, bool isIndividual = false);
16 void Initialize(const void* warcFile, bool isIndividual = false);
17 void Finalize();
18
20 bool IsAvailable() const { return m_pHeader != NULL; }
21
23 u32 GetWaveFileSize(u32 waveIndex) const;
24 u32 GetWaveFileOffsetFromFileHead(u32 waveIndex) const;
25
26 const void* GetWaveFile(u32 waveIndex) const;
27
28 const void* SetWaveFile(u32 waveIndex, const void* pWaveFile);
29 bool IsLoaded(u32 waveIndex) const
30 {
31 if (m_IsInitialized == false)
32 return false;
33 if (GetWaveFile(waveIndex) != NULL)
34 return true;
35 return false;
36 }
37
39
40private:
42 {
43 const void* waveFile[1];
44 };
45
46 /*
47 // TODO
48 const void* GetWaveFileForWhole(u32 waveIndex) const
49 {
50 u32 offset = m_pInfoBlockBody->GetOffsetFromFileBlockBody(waveIndex);
51 return ut::AddOffsetToPtr(&m_pHeader->GetFileBlock()->body, offset);
52 }
53 */
54 const void* GetWaveFileForIndividual(u32 waveIndex) const
55 {
56 return m_pLoadTable->waveFile[ waveIndex ];
57 }
58
59 const WaveArchiveFile::FileHeader* m_pHeader;
60 const WaveArchiveFile::InfoBlockBody* m_pInfoBlockBody;
63};
64
65} } } // namespace nw::snd::internal
66
67#endif // NW_SND_WAVE_ARCHIVE_FILE_READER_H_
Definition snd_WaveArchiveFileReader.h:9
const void * GetWaveFile(u32 waveIndex) const
static const u32 SIGNATURE_FILE
Definition snd_WaveArchiveFileReader.h:11
void Initialize(const void *warcFile, bool isIndividual=false)
u32 GetWaveFileSize(u32 waveIndex) const
IndividualLoadTable * m_pLoadTable
Definition snd_WaveArchiveFileReader.h:61
bool IsLoaded(u32 waveIndex) const
Definition snd_WaveArchiveFileReader.h:29
const WaveArchiveFile::FileHeader * m_pHeader
Definition snd_WaveArchiveFileReader.h:59
bool IsAvailable() const
Definition snd_WaveArchiveFileReader.h:20
WaveArchiveFileReader(const void *pWaveArchiveFile, bool isIndividual=false)
bool m_IsInitialized
Definition snd_WaveArchiveFileReader.h:62
u32 GetWaveFileOffsetFromFileHead(u32 waveIndex) const
const void * SetWaveFile(u32 waveIndex, const void *pWaveFile)
const void * GetWaveFileForIndividual(u32 waveIndex) const
Definition snd_WaveArchiveFileReader.h:54
const WaveArchiveFile::InfoBlockBody * m_pInfoBlockBody
Definition snd_WaveArchiveFileReader.h:60
static const u32 SIGNATURE_WARC_TABLE
Definition snd_WaveArchiveFileReader.h:12
Definition snd_BasicSound.cpp:3
Definition snd_BasicSound.cpp:3
Definition snd_WaveArchiveFileReader.h:42
const void * waveFile[1]
Definition snd_WaveArchiveFileReader.h:43
Definition snd_WaveArchiveFile.h:9