1#ifndef NW_SND_SOUND_ARCHIVE_PLAYER_H_
2#define NW_SND_SOUND_ARCHIVE_PLAYER_H_
4#include <nw/snd/snd_SoundStartable.h>
5#include <nw/snd/snd_NoteOnCallback.h>
6#include <nw/snd/snd_SequenceSoundPlayer.h>
7#include <nw/snd/snd_SequenceSound.h>
8#include <nw/snd/snd_WaveSound.h>
9#include <nw/snd/snd_StreamSound.h>
10#include <nw/snd/snd_MmlSequenceTrackAllocator.h>
11#include <nw/snd/snd_MmlParser.h>
13namespace nw {
namespace snd {
16class SoundDataManager;
21class SoundArchiveFilesHook;
64 const SoundDataManager* manager,
69 size_t userParamSizePerSound = 0
176 size_t userParamSizePerSound
Definition snd_SoundActor.h:13
Definition snd_SoundArchivePlayer.h:29
SequenceNoteOnCallback()
Definition snd_SoundArchivePlayer.h:33
const SoundArchivePlayer * m_pSoundArchivePlayer
Definition snd_SoundArchivePlayer.h:50
void Initialize(const SoundArchivePlayer &player)
Definition snd_SoundArchivePlayer.h:38
virtual internal::driver::Channel * NoteOn(internal::driver::SequenceSoundPlayer *seqPlayer, u8 bankIndex, const internal::driver::NoteOnInfo ¬eOnInfo)
Definition snd_SoundArchivePlayer.h:26
internal::WaveSoundInstanceManager m_WaveSoundInstanceManager
Definition snd_SoundArchivePlayer.h:192
bool m_IsEnableWarningPrint
Definition snd_SoundArchivePlayer.h:211
StartResult PrepareSequenceSoundImpl(internal::SequenceSound *sound, const SoundArchive::SoundInfo *commonInfo, const SoundArchive::SequenceSoundInfo *info, SoundStartable::StartInfo::StartOffsetType startOffsetType, int startOffset, const StartInfo::SeqSoundInfo *externalSeqInfo)
StartResult detail_SetupSoundImpl(SoundHandle *handle, u32 soundId, internal::BasicSound::AmbientInfo *ambientArgInfo, SoundActor *actor, bool holdFlag, const StartInfo *startInfo)
StartResult PrepareWaveSoundImpl(internal::WaveSound *sound, const SoundArchive::SoundInfo *commonInfo, const SoundArchive::WaveSoundInfo *info, SoundStartable::StartInfo::StartOffsetType startOffsetType, int startOffset, const StartInfo::WaveSoundInfo *externalWsdInfo)
internal::driver::MmlSequenceTrackAllocator m_MmlSequenceTrackAllocator
Definition snd_SoundArchivePlayer.h:196
const SoundPlayer & GetSoundPlayer(SoundArchive::ItemId playerId) const
internal::PlayerHeap * CreatePlayerHeap(void **ppBuffer, const void *pEndAddress, size_t heapSize)
internal::driver::StreamBufferPool m_StreamBufferPool
Definition snd_SoundArchivePlayer.h:198
bool Initialize(const InitializeParam ¶m)
bool Initialize(const SoundArchive *arc, const SoundDataManager *manager, void *buffer, u32 size, void *strmBuffer, u32 strmBufferSize, size_t userParamSizePerSound=0)
SequenceUserprocCallback m_SequenceUserprocCallback
Definition snd_SoundArchivePlayer.h:185
internal::driver::SequenceTrackAllocator * m_pSequenceTrackAllocator
Definition snd_SoundArchivePlayer.h:195
internal::SequenceSoundInstanceManager m_SequenceSoundInstanceManager
Definition snd_SoundArchivePlayer.h:191
bool SetupSequenceTrack(int numTracks, void **buffer, const void *endp)
void * m_pSequenceUserprocCallbackArg
Definition snd_SoundArchivePlayer.h:186
SoundPlayer & GetSoundPlayer(SoundArchive::ItemId playerId)
size_t m_SoundUserParamSize
Definition snd_SoundArchivePlayer.h:205
bool SetupUserParamForBasicSound(const SoundArchive::SoundArchivePlayerInfo &info, void **buffer, const void *endp, size_t userParamSizePerSound)
size_t GetRequiredStreamBufferSize(const SoundArchive *arc) const
void * m_pSetupBufferAddress
Definition snd_SoundArchivePlayer.h:202
bool SetupStreamBuffer(const SoundArchive *arc, void *buffer, size_t size)
u32 m_SoundPlayerCount
Definition snd_SoundArchivePlayer.h:188
bool SetupSoundPlayer(const SoundArchive *arc, void **buffer, const void *endp)
internal::driver::MmlParser m_MmlParser
Definition snd_SoundArchivePlayer.h:200
SoundPlayer * m_pSoundPlayers
Definition snd_SoundArchivePlayer.h:189
const SoundArchive * m_pSoundArchive
Definition snd_SoundArchivePlayer.h:182
size_t GetRequiredStreamCacheSize(const SoundArchive *arc, size_t cacheSizePerSound) const
void SetCommonSoundParam(internal::BasicSound *sound, const SoundArchive::SoundInfo *commonInfo)
bool SetupWaveSound(int numSounds, void **buffer, const void *endp)
const SoundArchive & GetSoundArchive() const
virtual StartResult detail_SetupSound(SoundHandle *handle, u32 soundId, bool holdFlag, const StartInfo *startInfo)
virtual SoundArchive::ItemId detail_GetItemId(const char *pString)
Definition snd_SoundArchivePlayer.h:123
virtual ~SoundArchivePlayer()
internal::SoundArchiveFilesHook * m_pSoundArchiveFilesHook
Definition snd_SoundArchivePlayer.h:209
size_t GetRequiredMemSize(const SoundArchive *arc, size_t userParamSizePerSound=0) const
StartResult PrepareStreamSoundImpl(internal::StreamSound *sound, const SoundArchive::SoundInfo *commonInfo, const SoundArchive::StreamSoundInfo *info, SoundStartable::StartInfo::StartOffsetType startOffsetType, int startOffset, const StartInfo::StreamSoundInfo *externalStrmInfo)
bool SetupStreamSound(int numSounds, void **buffer, const void *endp)
u32 m_SetupBufferSize
Definition snd_SoundArchivePlayer.h:203
bool SetupMram(const SoundArchive *arc, void *buffer, size_t size, size_t userParamSizePerSound)
const SoundDataManager * m_pSoundDataManager
Definition snd_SoundArchivePlayer.h:207
SequenceNoteOnCallback m_SequenceCallback
Definition snd_SoundArchivePlayer.h:184
bool SetupSequenceSound(int numSounds, void **buffer, const void *endp)
internal::StreamSoundInstanceManager m_StreamSoundInstanceManager
Definition snd_SoundArchivePlayer.h:193
Definition snd_SoundArchive.h:11
ItemId GetItemId(const char *pLabel) const
u32 ItemId
Definition snd_SoundArchive.h:13
Definition snd_SoundHandle.h:10
Definition snd_SoundStartable.h:14
Definition snd_SoundStartable.h:11
Definition snd_BasicSound.h:146
Definition snd_SequenceSound.h:9
Definition snd_StreamSound.h:10
Definition snd_WaveSound.h:9
Definition snd_Channel.h:9
Definition snd_MmlParser.h:11
Definition snd_MmlSequenceTrackAllocator.h:13
Definition snd_NoteOnCallback.h:25
Definition snd_SequenceTrackAllocator.h:12
Definition snd_StreamBufferPool.h:9
Definition snd_BasicSound.h:136
Definition snd_BasicSound.cpp:3
SoundInstanceManager< WaveSound > WaveSoundInstanceManager
Definition snd_WaveSound.h:13
SoundInstanceManager< SequenceSound > SequenceSoundInstanceManager
Definition snd_SequenceSound.h:13
SoundInstanceManager< StreamSound > StreamSoundInstanceManager
Definition snd_StreamSound.h:14
Definition snd_BasicSound.cpp:3
void(* SequenceUserprocCallback)(u16 procId, SequenceUserprocCallbackParam *param, void *arg)
Definition snd_SequenceSoundPlayer.h:17
Definition snd_SoundArchivePlayer.h:73
InitializeParam()
Definition snd_SoundArchivePlayer.h:84
size_t userParamSizePerSound
Definition snd_SoundArchivePlayer.h:82
u32 streamCacheSize
Definition snd_SoundArchivePlayer.h:81
const SoundArchive * soundArchive
Definition snd_SoundArchivePlayer.h:74
void * streamCacheBuffer
Definition snd_SoundArchivePlayer.h:80
u32 streamBufferSize
Definition snd_SoundArchivePlayer.h:79
const SoundDataManager * soundDataManager
Definition snd_SoundArchivePlayer.h:75
void * setupBuffer
Definition snd_SoundArchivePlayer.h:76
u32 setupBufferSize
Definition snd_SoundArchivePlayer.h:77
void * streamBuffer
Definition snd_SoundArchivePlayer.h:78
Definition snd_SoundArchive.h:38
Definition snd_SoundArchive.h:111
Definition snd_SoundArchive.h:20
Definition snd_SoundArchive.h:81
Definition snd_SoundArchive.h:95
Definition snd_SoundStartable.h:92
Definition snd_SoundStartable.h:108
Definition snd_SoundStartable.h:121
Definition snd_SoundStartable.h:70
StartOffsetType
Definition snd_SoundStartable.h:84
Definition snd_BasicSound.h:163
Definition snd_NoteOnCallback.h:11