NW4F Snd
Loading...
Searching...
No Matches
nw::snd::SoundArchivePlayer Class Reference

#include <snd_SoundArchivePlayer.h>

Inherits nw::snd::SoundStartable.

Classes

struct  InitializeParam
class  SequenceNoteOnCallback

Public Member Functions

 SoundArchivePlayer ()
virtual ~SoundArchivePlayer ()
size_t GetRequiredMemSize (const SoundArchive *arc, size_t userParamSizePerSound=0) const
size_t GetRequiredStreamBufferSize (const SoundArchive *arc) const
bool Initialize (const SoundArchive *arc, const SoundDataManager *manager, void *buffer, u32 size, void *strmBuffer, u32 strmBufferSize, size_t userParamSizePerSound=0)
size_t GetRequiredStreamCacheSize (const SoundArchive *arc, size_t cacheSizePerSound) const
bool Initialize (const InitializeParam &param)
void Finalize ()
bool IsAvailable () const
void Update ()
const SoundArchiveGetSoundArchive () const
SoundPlayer & GetSoundPlayer (SoundArchive::ItemId playerId)
const SoundPlayer & GetSoundPlayer (SoundArchive::ItemId playerId) const
StartResult detail_SetupSoundImpl (SoundHandle *handle, u32 soundId, internal::BasicSound::AmbientInfo *ambientArgInfo, SoundActor *actor, bool holdFlag, const StartInfo *startInfo)
virtual SoundArchive::ItemId detail_GetItemId (const char *pString)
Public Member Functions inherited from nw::snd::SoundStartable
virtual ~SoundStartable ()
StartResult StartSound (SoundHandle *pHandle, SoundArchive::ItemId soundId, const StartInfo *pStartInfo=NULL)
StartResult StartSound (SoundHandle *pHandle, const char *pSoundName, const StartInfo *pStartInfo=NULL)
StartResult HoldSound (SoundHandle *pHandle, SoundArchive::ItemId soundId, const StartInfo *pHoldInfo=NULL)
StartResult HoldSound (SoundHandle *pHandle, const char *pSoundName, const StartInfo *pHoldInfo=NULL)
StartResult PrepareSound (SoundHandle *pHandle, SoundArchive::ItemId soundId, const StartInfo *pStartInfo=NULL)
StartResult PrepareSound (SoundHandle *pHandle, const char *pSoundName, const StartInfo *pStartInfo=NULL)

Protected Member Functions

virtual StartResult detail_SetupSound (SoundHandle *handle, u32 soundId, bool holdFlag, const StartInfo *startInfo)

Private Member Functions

StartResult PrepareSequenceSoundImpl (internal::SequenceSound *sound, const SoundArchive::SoundInfo *commonInfo, const SoundArchive::SequenceSoundInfo *info, SoundStartable::StartInfo::StartOffsetType startOffsetType, int startOffset, const StartInfo::SeqSoundInfo *externalSeqInfo)
StartResult PrepareStreamSoundImpl (internal::StreamSound *sound, const SoundArchive::SoundInfo *commonInfo, const SoundArchive::StreamSoundInfo *info, SoundStartable::StartInfo::StartOffsetType startOffsetType, int startOffset, const StartInfo::StreamSoundInfo *externalStrmInfo)
StartResult PrepareWaveSoundImpl (internal::WaveSound *sound, const SoundArchive::SoundInfo *commonInfo, const SoundArchive::WaveSoundInfo *info, SoundStartable::StartInfo::StartOffsetType startOffsetType, int startOffset, const StartInfo::WaveSoundInfo *externalWsdInfo)
internal::PlayerHeap * CreatePlayerHeap (void **ppBuffer, const void *pEndAddress, size_t heapSize)
bool SetupMram (const SoundArchive *arc, void *buffer, size_t size, size_t userParamSizePerSound)
bool SetupSoundPlayer (const SoundArchive *arc, void **buffer, const void *endp)
bool SetupSequenceSound (int numSounds, void **buffer, const void *endp)
bool SetupSequenceTrack (int numTracks, void **buffer, const void *endp)
bool SetupWaveSound (int numSounds, void **buffer, const void *endp)
bool SetupStreamSound (int numSounds, void **buffer, const void *endp)
bool SetupStreamBuffer (const SoundArchive *arc, void *buffer, size_t size)
bool SetupUserParamForBasicSound (const SoundArchive::SoundArchivePlayerInfo &info, void **buffer, const void *endp, size_t userParamSizePerSound)
void SetCommonSoundParam (internal::BasicSound *sound, const SoundArchive::SoundInfo *commonInfo)

Private Attributes

const SoundArchivem_pSoundArchive
SequenceNoteOnCallback m_SequenceCallback
SequenceUserprocCallback m_SequenceUserprocCallback
void * m_pSequenceUserprocCallbackArg
u32 m_SoundPlayerCount
SoundPlayer * m_pSoundPlayers
internal::SequenceSoundInstanceManager m_SequenceSoundInstanceManager
internal::WaveSoundInstanceManager m_WaveSoundInstanceManager
internal::StreamSoundInstanceManager m_StreamSoundInstanceManager
internal::driver::SequenceTrackAllocatorm_pSequenceTrackAllocator
internal::driver::MmlSequenceTrackAllocator m_MmlSequenceTrackAllocator
internal::driver::StreamBufferPool m_StreamBufferPool
internal::driver::MmlParser m_MmlParser
void * m_pSetupBufferAddress
u32 m_SetupBufferSize
size_t m_SoundUserParamSize
const SoundDataManager * m_pSoundDataManager
internal::SoundArchiveFilesHook * m_pSoundArchiveFilesHook
bool m_IsEnableWarningPrint

Friends

class SoundArchivePlayer::SequenceNoteOnCallback

Constructor & Destructor Documentation

◆ SoundArchivePlayer()

nw::snd::SoundArchivePlayer::SoundArchivePlayer ( )

◆ ~SoundArchivePlayer()

virtual nw::snd::SoundArchivePlayer::~SoundArchivePlayer ( )
virtual

Member Function Documentation

◆ GetRequiredMemSize()

size_t nw::snd::SoundArchivePlayer::GetRequiredMemSize ( const SoundArchive * arc,
size_t userParamSizePerSound = 0 ) const

◆ GetRequiredStreamBufferSize()

size_t nw::snd::SoundArchivePlayer::GetRequiredStreamBufferSize ( const SoundArchive * arc) const

◆ Initialize() [1/2]

bool nw::snd::SoundArchivePlayer::Initialize ( const SoundArchive * arc,
const SoundDataManager * manager,
void * buffer,
u32 size,
void * strmBuffer,
u32 strmBufferSize,
size_t userParamSizePerSound = 0 )

◆ GetRequiredStreamCacheSize()

size_t nw::snd::SoundArchivePlayer::GetRequiredStreamCacheSize ( const SoundArchive * arc,
size_t cacheSizePerSound ) const

◆ Initialize() [2/2]

bool nw::snd::SoundArchivePlayer::Initialize ( const InitializeParam & param)

◆ Finalize()

void nw::snd::SoundArchivePlayer::Finalize ( )

◆ IsAvailable()

bool nw::snd::SoundArchivePlayer::IsAvailable ( ) const

◆ Update()

void nw::snd::SoundArchivePlayer::Update ( )

◆ GetSoundArchive()

const SoundArchive & nw::snd::SoundArchivePlayer::GetSoundArchive ( ) const

◆ GetSoundPlayer() [1/2]

SoundPlayer & nw::snd::SoundArchivePlayer::GetSoundPlayer ( SoundArchive::ItemId playerId)

◆ GetSoundPlayer() [2/2]

const SoundPlayer & nw::snd::SoundArchivePlayer::GetSoundPlayer ( SoundArchive::ItemId playerId) const

◆ detail_SetupSoundImpl()

StartResult nw::snd::SoundArchivePlayer::detail_SetupSoundImpl ( SoundHandle * handle,
u32 soundId,
internal::BasicSound::AmbientInfo * ambientArgInfo,
SoundActor * actor,
bool holdFlag,
const StartInfo * startInfo )

◆ detail_GetItemId()

virtual SoundArchive::ItemId nw::snd::SoundArchivePlayer::detail_GetItemId ( const char * pString)
inlinevirtual

◆ detail_SetupSound()

virtual StartResult nw::snd::SoundArchivePlayer::detail_SetupSound ( SoundHandle * handle,
u32 soundId,
bool holdFlag,
const StartInfo * startInfo )
protectedvirtual

◆ PrepareSequenceSoundImpl()

StartResult nw::snd::SoundArchivePlayer::PrepareSequenceSoundImpl ( internal::SequenceSound * sound,
const SoundArchive::SoundInfo * commonInfo,
const SoundArchive::SequenceSoundInfo * info,
SoundStartable::StartInfo::StartOffsetType startOffsetType,
int startOffset,
const StartInfo::SeqSoundInfo * externalSeqInfo )
private

◆ PrepareStreamSoundImpl()

StartResult nw::snd::SoundArchivePlayer::PrepareStreamSoundImpl ( internal::StreamSound * sound,
const SoundArchive::SoundInfo * commonInfo,
const SoundArchive::StreamSoundInfo * info,
SoundStartable::StartInfo::StartOffsetType startOffsetType,
int startOffset,
const StartInfo::StreamSoundInfo * externalStrmInfo )
private

◆ PrepareWaveSoundImpl()

StartResult nw::snd::SoundArchivePlayer::PrepareWaveSoundImpl ( internal::WaveSound * sound,
const SoundArchive::SoundInfo * commonInfo,
const SoundArchive::WaveSoundInfo * info,
SoundStartable::StartInfo::StartOffsetType startOffsetType,
int startOffset,
const StartInfo::WaveSoundInfo * externalWsdInfo )
private

◆ CreatePlayerHeap()

internal::PlayerHeap * nw::snd::SoundArchivePlayer::CreatePlayerHeap ( void ** ppBuffer,
const void * pEndAddress,
size_t heapSize )
private

◆ SetupMram()

bool nw::snd::SoundArchivePlayer::SetupMram ( const SoundArchive * arc,
void * buffer,
size_t size,
size_t userParamSizePerSound )
private

◆ SetupSoundPlayer()

bool nw::snd::SoundArchivePlayer::SetupSoundPlayer ( const SoundArchive * arc,
void ** buffer,
const void * endp )
private

◆ SetupSequenceSound()

bool nw::snd::SoundArchivePlayer::SetupSequenceSound ( int numSounds,
void ** buffer,
const void * endp )
private

◆ SetupSequenceTrack()

bool nw::snd::SoundArchivePlayer::SetupSequenceTrack ( int numTracks,
void ** buffer,
const void * endp )
private

◆ SetupWaveSound()

bool nw::snd::SoundArchivePlayer::SetupWaveSound ( int numSounds,
void ** buffer,
const void * endp )
private

◆ SetupStreamSound()

bool nw::snd::SoundArchivePlayer::SetupStreamSound ( int numSounds,
void ** buffer,
const void * endp )
private

◆ SetupStreamBuffer()

bool nw::snd::SoundArchivePlayer::SetupStreamBuffer ( const SoundArchive * arc,
void * buffer,
size_t size )
private

◆ SetupUserParamForBasicSound()

bool nw::snd::SoundArchivePlayer::SetupUserParamForBasicSound ( const SoundArchive::SoundArchivePlayerInfo & info,
void ** buffer,
const void * endp,
size_t userParamSizePerSound )
private

◆ SetCommonSoundParam()

void nw::snd::SoundArchivePlayer::SetCommonSoundParam ( internal::BasicSound * sound,
const SoundArchive::SoundInfo * commonInfo )
private

◆ SoundArchivePlayer::SequenceNoteOnCallback

friend class SoundArchivePlayer::SequenceNoteOnCallback
friend

Member Data Documentation

◆ m_pSoundArchive

const SoundArchive* nw::snd::SoundArchivePlayer::m_pSoundArchive
private

◆ m_SequenceCallback

SequenceNoteOnCallback nw::snd::SoundArchivePlayer::m_SequenceCallback
private

◆ m_SequenceUserprocCallback

SequenceUserprocCallback nw::snd::SoundArchivePlayer::m_SequenceUserprocCallback
private

◆ m_pSequenceUserprocCallbackArg

void* nw::snd::SoundArchivePlayer::m_pSequenceUserprocCallbackArg
private

◆ m_SoundPlayerCount

u32 nw::snd::SoundArchivePlayer::m_SoundPlayerCount
private

◆ m_pSoundPlayers

SoundPlayer* nw::snd::SoundArchivePlayer::m_pSoundPlayers
private

◆ m_SequenceSoundInstanceManager

internal::SequenceSoundInstanceManager nw::snd::SoundArchivePlayer::m_SequenceSoundInstanceManager
private

◆ m_WaveSoundInstanceManager

internal::WaveSoundInstanceManager nw::snd::SoundArchivePlayer::m_WaveSoundInstanceManager
private

◆ m_StreamSoundInstanceManager

internal::StreamSoundInstanceManager nw::snd::SoundArchivePlayer::m_StreamSoundInstanceManager
private

◆ m_pSequenceTrackAllocator

internal::driver::SequenceTrackAllocator* nw::snd::SoundArchivePlayer::m_pSequenceTrackAllocator
private

◆ m_MmlSequenceTrackAllocator

internal::driver::MmlSequenceTrackAllocator nw::snd::SoundArchivePlayer::m_MmlSequenceTrackAllocator
private

◆ m_StreamBufferPool

internal::driver::StreamBufferPool nw::snd::SoundArchivePlayer::m_StreamBufferPool
private

◆ m_MmlParser

internal::driver::MmlParser nw::snd::SoundArchivePlayer::m_MmlParser
private

◆ m_pSetupBufferAddress

void* nw::snd::SoundArchivePlayer::m_pSetupBufferAddress
private

◆ m_SetupBufferSize

u32 nw::snd::SoundArchivePlayer::m_SetupBufferSize
private

◆ m_SoundUserParamSize

size_t nw::snd::SoundArchivePlayer::m_SoundUserParamSize
private

◆ m_pSoundDataManager

const SoundDataManager* nw::snd::SoundArchivePlayer::m_pSoundDataManager
private

◆ m_pSoundArchiveFilesHook

internal::SoundArchiveFilesHook* nw::snd::SoundArchivePlayer::m_pSoundArchiveFilesHook
private

◆ m_IsEnableWarningPrint

bool nw::snd::SoundArchivePlayer::m_IsEnableWarningPrint
private