1#ifndef NW_SND_SEQUENCE_SOUND_H_
2#define NW_SND_SEQUENCE_SOUND_H_
4#include <nw/snd/snd_BasicSound.h>
5#include <nw/snd/snd_BasicSoundPlayer.h>
6#include <nw/snd/snd_SequenceSoundPlayer.h>
7#include <nw/snd/snd_SoundInstanceManager.h>
8#include <nw/snd/snd_Task.h>
9#include <nw/snd/snd_PlayerHeapDataManager.h>
11namespace nw {
namespace snd {
13class SoundDataManager;
33 NW_UT_RUNTIME_TYPEINFO(BasicSound)
46 const SoundDataManager*
mgr;
50 static_assert(
sizeof(
LoadInfo) == 0x10);
58 const bool warcIsIndividuals[],
112 for (u32 i = 0; i < SoundArchive::SEQ_BANK_MAX; i++)
116 warcIsIndividuals[i] =
false;
120 static_assert(
sizeof(
Resource) == 0x28);
139 void SetTrackSilence(u32 trackBitFlag,
bool silenceFlag,
int fadeTimes);
192 const bool warcIsIndividuals[],
Definition snd_SequenceSoundHandle.h:9
Definition snd_SoundArchive.h:11
Definition snd_BasicSound.h:146
Definition snd_PlayerHeapDataManager.h:12
Definition snd_SequenceSound.h:63
PlayerHeapDataManager * m_pDataManager
Definition snd_SequenceSound.h:68
PlayerHeap * m_pAllocator
Definition snd_SequenceSound.h:69
LoadItemInfo m_LoadInfoBanks[SoundArchive::SEQ_BANK_MAX]
Definition snd_SequenceSound.h:77
void * m_CallbackData
Definition snd_SequenceSound.h:71
const SoundArchive * m_pSoundArchive
Definition snd_SequenceSound.h:74
LoadItemInfo m_LoadInfoSeq
Definition snd_SequenceSound.h:76
const SoundDataManager * m_pSoundDataManager
Definition snd_SequenceSound.h:73
NotifyAsyncLoadFinished m_Callback
Definition snd_SequenceSound.h:70
Definition snd_SequenceSound.h:29
static void NotifyAsyncLoadFinishedFunc(bool result, const LoadItemInfo *seq, const LoadItemInfo banks[], const LoadItemInfo warcs[], const bool warcIsIndividuals[], void *userData)
void SetTrackDrcMainSend(u32 drcIndex, u32 trackBitFlag, f32 send)
void Skip(driver::SequenceSoundPlayer::OffsetType offsetType, int offset)
void SetTrackDrcOutVolume(u32 drcIndex, u32 trackBitFlag, f32 volume)
static const int BANK_INDEX_MIN
Definition snd_SequenceSound.h:82
void SetTrackOutputLine(u32 trackBitFlag, u32 lineFlag)
void SetTrackPanRange(u32 trackBitFlag, f32 panRange)
void WriteTrackVariable(int trackNo, int varNo, s16 var)
SequenceSound(SequenceSoundInstanceManager &manager)
void SetTrackDrcSurroundPan(u32 drcIndex, u32 trackBitFlag, f32 span)
static bool ReadGlobalVariable(int varNo, s16 *var)
void SetTrackMainSend(u32 trackBitFlag, f32 send)
void SetChannelPriority(int priority)
StartInfo m_StartInfo
Definition snd_SequenceSound.h:202
void SetTrackLpfFreq(u32 trackBitFlag, f32 lpfFreq)
void SetTrackTranspose(u32 trackBitFlag, s8 transpose)
void SetTrackPitch(u32 trackBitFlag, f32 pitch)
static void WriteGlobalVariable(int varNo, s16 var)
void SetTrackBiquadFilter(u32 trackBitFlag, int type, f32 value)
void Prepare(const Resource &res, const StartInfo &startInfo)
bool IsAttachedTempSpecialHandle() override
bool IsPrepared() const override
Definition snd_SequenceSound.h:128
void SetTrackModDepth(u32 trackBitFlag, f32 depth)
void SetTrackMainOutVolume(u32 trackBitFlag, f32 volume)
static const u8 VELOCITY_RANGE_MAX
Definition snd_SequenceSound.h:87
bool RegisterDataLoadTask(const LoadInfo &loadInfo, const StartInfo &startInfo)
Resource m_Res
Definition snd_SequenceSound.h:209
static const int BANK_INDEX_MAX
Definition snd_SequenceSound.h:83
bool ReadTrackVariable(int trackNo, int varNo, s16 *var) const
int m_TaskCommandId
Definition snd_SequenceSound.h:207
void DetachTempSpecialHandle() override
static const s8 TRANSPOSE_MAX
Definition snd_SequenceSound.h:85
PlayerHeapDataManager m_DataManager
Definition snd_SequenceSound.h:205
DataLoadTask m_DataLoadTask
Definition snd_SequenceSound.h:204
void SetTrackPan(u32 trackBitFlag, f32 pan)
void Setup(driver::SequenceTrackAllocator *trackAllocator, u32 allocTracks, driver::NoteOnCallback *callback)
static const s8 TRANSPOSE_MIN
Definition snd_SequenceSound.h:84
void ResetTrackOutputLine(u32 trackBitFlag)
bool ReadVariable(int varNo, s16 *var) const
void OnUpdatePlayerPriority() override
void Initialize() override
s8 m_LoadState
Definition snd_SequenceSound.h:211
void OnUpdate() override
Definition snd_SequenceSound.h:182
void SetReleasePriorityFix(bool fix)
SequenceSoundHandle * m_pTempSpecialHandle
Definition snd_SequenceSound.h:199
void SetTrackModSpeed(u32 trackBitFlag, f32 speed)
bool m_PreparedFlag
Definition snd_SequenceSound.h:213
void SetTrackSilence(u32 trackBitFlag, bool silenceFlag, int fadeTimes)
Definition snd_SequenceSound.cpp:54
void SetTrackDrcPan(u32 drcIndex, u32 trackBitFlag, f32 pan)
bool m_InitializeFlag
Definition snd_SequenceSound.h:212
void WriteVariable(int varNo, s16 var)
void SetSequenceUserprocCallback(SequenceUserprocCallback callback, void *arg)
static const u8 VELOCITY_RANGE_MIN
Definition snd_SequenceSound.h:86
void SetTrackVolume(u32 trackBitFlag, f32 volume)
SequenceSoundInstanceManager & m_Manager
Definition snd_SequenceSound.h:200
void SetTrackDrcFxSend(u32 drcIndex, u32 trackBitFlag, AuxBus bus, f32 send)
void SetTempoRatio(f32 tempoRatio)
driver::BasicSoundPlayer * GetBasicSoundPlayerHandle() override
Definition snd_SequenceSound.h:179
void SetTrackSurroundPan(u32 trackBitFlag, f32 surroundPan)
void SetTrackVelocityRange(u32 trackBitFlag, u8 range)
void SetTrackMute(u32 trackBitFlag, bool muteFlag)
void(* NotifyAsyncLoadFinished)(bool result, const LoadItemInfo *seq, const LoadItemInfo banks[], const LoadItemInfo warcs[], const bool warcIsIndividuals[], void *userData)
Definition snd_SequenceSound.h:53
void SetTrackBankIndex(u32 trackBitFlag, int bankIndex)
void SetTrackFxSend(u32 trackBitFlag, AuxBus bus, f32 send)
driver::SequenceSoundPlayer m_SequenceSoundPlayerInstance
Definition snd_SequenceSound.h:198
void SetTrackMute(u32 trackBitFlag, SeqMute mute)
Definition snd_SoundInstanceManager.h:11
Definition snd_BasicSoundPlayer.h:35
Definition snd_NoteOnCallback.h:25
Definition snd_SequenceSoundPlayer.h:35
OffsetType
Definition snd_SequenceSoundPlayer.h:60
Definition snd_SequenceTrackAllocator.h:12
Definition snd_BasicSound.h:136
Definition snd_BasicSound.cpp:3
SoundInstanceManager< SequenceSound > SequenceSoundInstanceManager
Definition snd_SequenceSound.h:26
Definition snd_BasicSound.cpp:3
SeqMute
Definition snd_Global.h:33
AuxBus
Definition snd_Global.h:25
void(* SequenceUserprocCallback)(u16 procId, SequenceUserprocCallbackParam *param, void *arg)
Definition snd_SequenceSoundPlayer.h:23
Definition snd_SoundArchiveLoader.h:14
Definition snd_SequenceSound.h:44
const SoundArchive * arc
Definition snd_SequenceSound.h:45
const LoadItemInfo * banks
Definition snd_SequenceSound.h:48
const SoundDataManager * mgr
Definition snd_SequenceSound.h:46
const LoadItemInfo * seq
Definition snd_SequenceSound.h:47
Definition snd_SequenceSound.h:98
bool warcIsIndividuals[SoundArchive::SEQ_BANK_MAX]
Definition snd_SequenceSound.h:102
void Initialize()
Definition snd_SequenceSound.h:109
const void * warcs[SoundArchive::SEQ_BANK_MAX]
Definition snd_SequenceSound.h:101
const void * banks[SoundArchive::SEQ_BANK_MAX]
Definition snd_SequenceSound.h:100
const void * seq
Definition snd_SequenceSound.h:99
Resource()
Definition snd_SequenceSound.h:104