NW4F Snd
Loading...
Searching...
No Matches
snd_MmlSequenceTrackAllocator.h
Go to the documentation of this file.
1#ifndef NW_SND_MML_SEQUENCE_TRACK_ALLOCATOR_H_
2#define NW_SND_MML_SEQUENCE_TRACK_ALLOCATOR_H_
3
4#include <nw/snd/snd_SequenceTrackAllocator.h>
5#include <nw/snd/snd_MmlSequenceTrack.h>
6#include <nw/snd/snd_InstancePool.h>
7
8namespace nw { namespace snd { namespace internal { namespace driver {
9
10class MmlParser;
11
13{
14 typedef InstancePool<MmlSequenceTrack> MmlSequenceTrackPool;
15
16public:
17 explicit MmlSequenceTrackAllocator(MmlParser* parser) : m_pParser(parser) {}
18 void SetMmlParser(MmlParser* parser) { m_pParser = parser; }
20 virtual SequenceTrack* AllocTrack(SequenceSoundPlayer* player);
21 virtual void FreeTrack(SequenceTrack* track);
22 virtual int GetAllocatableTrackCount() const { return m_TrackPool.Count(); }
23
24 unsigned long Create(void* buffer, unsigned long size);
25 void Destroy();
26
27private:
30};
31static_assert(sizeof(MmlSequenceTrackAllocator) == 0xC);
32
33} } } } // namespace nw::snd::internal::driver
34
35#endif // NW_SND_MML_SEQUENCE_TRACK_ALLOCATOR_H_
Definition snd_InstancePool.h:31
Definition snd_MmlParser.h:11
Definition snd_MmlSequenceTrackAllocator.h:13
void SetMmlParser(MmlParser *parser)
Definition snd_MmlSequenceTrackAllocator.h:18
virtual SequenceTrack * AllocTrack(SequenceSoundPlayer *player)
MmlSequenceTrackAllocator(MmlParser *parser)
Definition snd_MmlSequenceTrackAllocator.h:17
unsigned long Create(void *buffer, unsigned long size)
virtual void FreeTrack(SequenceTrack *track)
MmlParser * GetMmlParser()
Definition snd_MmlSequenceTrackAllocator.h:19
virtual int GetAllocatableTrackCount() const
Definition snd_MmlSequenceTrackAllocator.h:22
InstancePool< MmlSequenceTrack > MmlSequenceTrackPool
Definition snd_MmlSequenceTrackAllocator.h:14
MmlParser * m_pParser
Definition snd_MmlSequenceTrackAllocator.h:28
MmlSequenceTrackPool m_TrackPool
Definition snd_MmlSequenceTrackAllocator.h:29
Definition snd_SequenceTrackAllocator.h:12
Definition snd_BasicSound.h:136
Definition snd_BasicSound.cpp:3
Definition snd_BasicSound.cpp:3