NW4F Snd
Loading...
Searching...
No Matches
snd_BankFileReader.h
Go to the documentation of this file.
1#ifndef NW_SND_BANK_FILE_READER_H_
2#define NW_SND_BANK_FILE_READER_H_
3
4#include <nw/snd/snd_Global.h>
5#include <nw/snd/snd_BankFile.h>
6
7namespace nw { namespace snd { namespace internal {
8
24static_assert(sizeof(VelocityRegionInfo) == 0x18);
25
27{
28public:
29 static const u32 SIGNATURE_FILE = NW_UT_MAKE_SIGWORD('F', 'B', 'N', 'K');
30
32 explicit BankFileReader(const void* bankFile);
33 void Initialize(const void* bankFile);
34 void Finalize();
35
36 bool IsInitialized() const { return m_IsInitialized; }
37
40 int programNo,
41 int key,
42 int velocity
43 ) const;
44
45 /*
46 // TODO
47 const Util::WaveIdTable* GetWaveIdTable() const;
48 */
49 const void* GetBankFileAddress() const { return m_pHeader; }
50
51 /*
52 // TODO
53 int GetInstrumentCount() const
54 {
55 if (m_IsInitialized == false)
56 return 0;
57
58 return m_pInfoBlockBody->GetInstrumentCount();
59 }
60 */
61
62private:
63 const BankFile::FileHeader* m_pHeader;
64 const BankFile::InfoBlockBody* m_pInfoBlockBody;
66};
67static_assert(sizeof(BankFileReader) == 0xC);
68
69} } } // namespace nw::snd::internal
70
71#endif // NW_SND_BANK_FILE_READER_H_
Definition snd_BankFileReader.h:27
bool m_IsInitialized
Definition snd_BankFileReader.h:65
bool IsInitialized() const
Definition snd_BankFileReader.h:36
const BankFile::FileHeader * m_pHeader
Definition snd_BankFileReader.h:63
BankFileReader(const void *bankFile)
bool ReadVelocityRegionInfo(VelocityRegionInfo *info, int programNo, int key, int velocity) const
void Initialize(const void *bankFile)
const void * GetBankFileAddress() const
Definition snd_BankFileReader.h:49
static const u32 SIGNATURE_FILE
Definition snd_BankFileReader.h:29
const BankFile::InfoBlockBody * m_pInfoBlockBody
Definition snd_BankFileReader.h:64
Definition snd_BasicSound.cpp:3
Definition snd_BasicSound.cpp:3
Definition snd_Global.h:81
Definition snd_BankFile.h:9
Definition snd_BankFileReader.h:10
AdshrCurve adshrCurve
Definition snd_BankFileReader.h:15
f32 pitch
Definition snd_BankFileReader.h:14
u8 pan
Definition snd_BankFileReader.h:19
u8 volume
Definition snd_BankFileReader.h:18
bool isIgnoreNoteOff
Definition snd_BankFileReader.h:20
u8 originalKey
Definition snd_BankFileReader.h:17
u32 waveIndex
Definition snd_BankFileReader.h:12
u8 interpolationType
Definition snd_BankFileReader.h:22
u32 waveArchiveId
Definition snd_BankFileReader.h:11
u8 keyGroup
Definition snd_BankFileReader.h:21