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

#include <snd_SequenceSound.h>

Inherits nw::snd::internal::BasicSound.

Classes

class  DataLoadTask
struct  LoadInfo
struct  Resource
struct  StartInfo

Public Member Functions

 SequenceSound (SequenceSoundInstanceManager &manager)
void Setup (driver::SequenceTrackAllocator *trackAllocator, u32 allocTracks, driver::NoteOnCallback *callback)
void Prepare (const Resource &res, const StartInfo &startInfo)
bool RegisterDataLoadTask (const LoadInfo &loadInfo, const StartInfo &startInfo)
void Initialize () override
void Finalize () override
bool IsPrepared () const override
void SetTempoRatio (f32 tempoRatio)
void SetChannelPriority (int priority)
void SetReleasePriorityFix (bool fix)
void SetSequenceUserprocCallback (SequenceUserprocCallback callback, void *arg)
u32 GetTick () const
void SetTrackMute (u32 trackBitFlag, SeqMute mute)
void SetTrackMute (u32 trackBitFlag, bool muteFlag)
void SetTrackSilence (u32 trackBitFlag, bool silenceFlag, int fadeTimes)
void SetTrackBiquadFilter (u32 trackBitFlag, int type, f32 value)
void SetTrackBankIndex (u32 trackBitFlag, int bankIndex)
void SetTrackVolume (u32 trackBitFlag, f32 volume)
void SetTrackPitch (u32 trackBitFlag, f32 pitch)
void SetTrackLpfFreq (u32 trackBitFlag, f32 lpfFreq)
void SetTrackPanRange (u32 trackBitFlag, f32 panRange)
void SetTrackModDepth (u32 trackBitFlag, f32 depth)
void SetTrackModSpeed (u32 trackBitFlag, f32 speed)
void SetTrackTranspose (u32 trackBitFlag, s8 transpose)
void SetTrackVelocityRange (u32 trackBitFlag, u8 range)
void SetTrackOutputLine (u32 trackBitFlag, u32 lineFlag)
void ResetTrackOutputLine (u32 trackBitFlag)
void SetTrackMainOutVolume (u32 trackBitFlag, f32 volume)
void SetTrackPan (u32 trackBitFlag, f32 pan)
void SetTrackSurroundPan (u32 trackBitFlag, f32 surroundPan)
void SetTrackMainSend (u32 trackBitFlag, f32 send)
void SetTrackFxSend (u32 trackBitFlag, AuxBus bus, f32 send)
void SetTrackDrcOutVolume (u32 drcIndex, u32 trackBitFlag, f32 volume)
void SetTrackDrcPan (u32 drcIndex, u32 trackBitFlag, f32 pan)
void SetTrackDrcSurroundPan (u32 drcIndex, u32 trackBitFlag, f32 span)
void SetTrackDrcMainSend (u32 drcIndex, u32 trackBitFlag, f32 send)
void SetTrackDrcFxSend (u32 drcIndex, u32 trackBitFlag, AuxBus bus, f32 send)
bool ReadVariable (int varNo, s16 *var) const
bool ReadTrackVariable (int trackNo, int varNo, s16 *var) const
void WriteVariable (int varNo, s16 var)
void WriteTrackVariable (int trackNo, int varNo, s16 var)
Public Member Functions inherited from nw::snd::internal::BasicSound
 BasicSound ()
virtual ~BasicSound ()
void Update ()
void StartPrepared ()
void Stop (int fadeFrames)
void Pause (bool flag, int fadeFrames)
void SetAutoStopCounter (int frames)
void FadeIn (int frames)
bool IsPause () const
bool IsStarted () const
void SetPriority (int priority, int ambientPriority)
void GetPriority (int *priority, int *ambientPriority) const
void SetInitialVolume (f32 volume)
f32 GetInitialVolume () const
void SetVolume (f32 volume, int frames=0)
f32 GetVolume () const
void SetPitch (f32 pitch)
f32 GetPitch () const
void SetOutputLine (u32 lineFlag)
u32 GetOutputLine () const
void ResetOutputLine ()
void SetPan (f32 pan)
f32 GetPan () const
void SetPanMode (PanMode mode)
void SetPanCurve (PanCurve curve)
void SetFrontBypass (bool isFrontBypass)
void SetRemoteFilter (u8 filter)
void SetVoiceRendererType (VoiceRendererType mode)
void SetOutputVolume (OutputDevice device, f32 volume)
f32 GetOutputVolume (OutputDevice device) const
void SetRemoteOutVolume (u32 remoteIndex, f32 volume)
f32 GetRemoteOutVolume (u32 remoteIndex) const
int GetPlayerPriority () const
void SetId (u32 id)
u32 GetId () const
int CalcCurrentPlayerPriority () const
SoundPlayer * GetSoundPlayer ()
const SoundPlayer * GetSoundPlayer () const
void AttachSoundPlayer (SoundPlayer *player)
void DetachSoundPlayer (SoundPlayer *player)
void AttachSoundActor (SoundActor *actor)
void DetachSoundActor (SoundActor *actor)
void AttachExternalSoundPlayer (ExternalSoundPlayer *extPlayer)
void DetachExternalSoundPlayer (ExternalSoundPlayer *extPlayer)
void AttachPlayerHeap (PlayerHeap *pHeap)
void DetachPlayerHeap (PlayerHeap *pHeap)
PlayerHeap * GetPlayerHeap ()
void SetAmbientInfo (const AmbientInfo &info)
void ClearAmbientArgUpdateCallback ()
void ClearAmbientParamUpdateCallback ()
void ClearAmbientArgAllocatorCallback ()
const SoundParam & GetAmbientParam () const
bool IsAttachedGeneralHandle ()
bool IsAttachedTempGeneralHandle ()
void DetachGeneralHandle ()
void DetachTempGeneralHandle ()
void SetUserParamBuffer (void *buffer, size_t size)
void * GetUserParam ()
PauseState GetPauseState () const

Static Public Member Functions

static bool ReadGlobalVariable (int varNo, s16 *var)
static void WriteGlobalVariable (int varNo, s16 var)
Static Public Member Functions inherited from nw::snd::internal::BasicSound
static int GetAmbientPriority (const AmbientInfo &ambientInfo, u32 soundId)

Static Public Attributes

static const int BANK_INDEX_MIN = 0
static const int BANK_INDEX_MAX = 3
static const s8 TRANSPOSE_MIN = -64
static const s8 TRANSPOSE_MAX = 63
static const u8 VELOCITY_RANGE_MIN = 0
static const u8 VELOCITY_RANGE_MAX = 127
Static Public Attributes inherited from nw::snd::internal::BasicSound
static const int PRIORITY_MIN = 0
static const int PRIORITY_MAX = 127
static const u32 INVALID_ID = 0xffffffff

Protected Member Functions

bool IsAttachedTempSpecialHandle () override
void DetachTempSpecialHandle () override
driver::BasicSoundPlayer * GetBasicSoundPlayerHandle () override
void OnUpdatePlayerPriority () override
void OnUpdate () override
Protected Member Functions inherited from nw::snd::internal::BasicSound
virtual void UpdateMoveValue ()
virtual void UpdateParam ()
bool IsPlayerAvailable () const

Private Types

typedef void(* NotifyAsyncLoadFinished) (bool result, const LoadItemInfo *seq, const LoadItemInfo banks[], const LoadItemInfo warcs[], const bool warcIsIndividuals[], void *userData)

Private Member Functions

void Skip (driver::SequenceSoundPlayer::OffsetType offsetType, int offset)
void CheckLoadState ()

Static Private Member Functions

static void NotifyAsyncLoadFinishedFunc (bool result, const LoadItemInfo *seq, const LoadItemInfo banks[], const LoadItemInfo warcs[], const bool warcIsIndividuals[], void *userData)

Private Attributes

driver::SequenceSoundPlayer m_SequenceSoundPlayerInstance
SequenceSoundHandle * m_pTempSpecialHandle
SequenceSoundInstanceManager & m_Manager
StartInfo m_StartInfo
DataLoadTask m_DataLoadTask
PlayerHeapDataManager m_DataManager
int m_TaskCommandId
Resource m_Res
s8 m_LoadState
bool m_InitializeFlag
bool m_PreparedFlag

Friends

class nw::snd::SequenceSoundHandle

Additional Inherited Members

Public Types inherited from nw::snd::internal::BasicSound
enum  PlayerState { PLAYER_STATE_INIT , PLAYER_STATE_PLAY , PLAYER_STATE_STOP }
enum  PauseState { PAUSE_STATE_NORMAL , PAUSE_STATE_PAUSING , PAUSE_STATE_PAUSED , PAUSE_STATE_UNPAUSING }
Public Attributes inherited from nw::snd::internal::BasicSound
ut::LinkListNode m_PriorityLink
ut::LinkListNode m_SoundPlayerPlayLink
ut::LinkListNode m_SoundPlayerPriorityLink
ut::LinkListNode m_ExtSoundPlayerPlayLink

Member Typedef Documentation

◆ NotifyAsyncLoadFinished

typedef void(* nw::snd::internal::SequenceSound::NotifyAsyncLoadFinished) (bool result, const LoadItemInfo *seq, const LoadItemInfo banks[], const LoadItemInfo warcs[], const bool warcIsIndividuals[], void *userData)
private

Constructor & Destructor Documentation

◆ SequenceSound()

nw::snd::internal::SequenceSound::SequenceSound ( SequenceSoundInstanceManager & manager)
explicit

Member Function Documentation

◆ Setup()

void nw::snd::internal::SequenceSound::Setup ( driver::SequenceTrackAllocator * trackAllocator,
u32 allocTracks,
driver::NoteOnCallback * callback )

◆ Prepare()

void nw::snd::internal::SequenceSound::Prepare ( const Resource & res,
const StartInfo & startInfo )

◆ RegisterDataLoadTask()

bool nw::snd::internal::SequenceSound::RegisterDataLoadTask ( const LoadInfo & loadInfo,
const StartInfo & startInfo )

◆ Initialize()

void nw::snd::internal::SequenceSound::Initialize ( )
overridevirtual

Reimplemented from nw::snd::internal::BasicSound.

◆ Finalize()

void nw::snd::internal::SequenceSound::Finalize ( )
overridevirtual

Reimplemented from nw::snd::internal::BasicSound.

◆ IsPrepared()

bool nw::snd::internal::SequenceSound::IsPrepared ( ) const
inlineoverridevirtual

◆ SetTempoRatio()

void nw::snd::internal::SequenceSound::SetTempoRatio ( f32 tempoRatio)

◆ SetChannelPriority()

void nw::snd::internal::SequenceSound::SetChannelPriority ( int priority)

◆ SetReleasePriorityFix()

void nw::snd::internal::SequenceSound::SetReleasePriorityFix ( bool fix)

◆ SetSequenceUserprocCallback()

void nw::snd::internal::SequenceSound::SetSequenceUserprocCallback ( SequenceUserprocCallback callback,
void * arg )

◆ GetTick()

u32 nw::snd::internal::SequenceSound::GetTick ( ) const

◆ SetTrackMute() [1/2]

void nw::snd::internal::SequenceSound::SetTrackMute ( u32 trackBitFlag,
SeqMute mute )

◆ SetTrackMute() [2/2]

void nw::snd::internal::SequenceSound::SetTrackMute ( u32 trackBitFlag,
bool muteFlag )

◆ SetTrackSilence()

void nw::snd::internal::SequenceSound::SetTrackSilence ( u32 trackBitFlag,
bool silenceFlag,
int fadeTimes )

◆ SetTrackBiquadFilter()

void nw::snd::internal::SequenceSound::SetTrackBiquadFilter ( u32 trackBitFlag,
int type,
f32 value )

◆ SetTrackBankIndex()

void nw::snd::internal::SequenceSound::SetTrackBankIndex ( u32 trackBitFlag,
int bankIndex )

◆ SetTrackVolume()

void nw::snd::internal::SequenceSound::SetTrackVolume ( u32 trackBitFlag,
f32 volume )

◆ SetTrackPitch()

void nw::snd::internal::SequenceSound::SetTrackPitch ( u32 trackBitFlag,
f32 pitch )

◆ SetTrackLpfFreq()

void nw::snd::internal::SequenceSound::SetTrackLpfFreq ( u32 trackBitFlag,
f32 lpfFreq )

◆ SetTrackPanRange()

void nw::snd::internal::SequenceSound::SetTrackPanRange ( u32 trackBitFlag,
f32 panRange )

◆ SetTrackModDepth()

void nw::snd::internal::SequenceSound::SetTrackModDepth ( u32 trackBitFlag,
f32 depth )

◆ SetTrackModSpeed()

void nw::snd::internal::SequenceSound::SetTrackModSpeed ( u32 trackBitFlag,
f32 speed )

◆ SetTrackTranspose()

void nw::snd::internal::SequenceSound::SetTrackTranspose ( u32 trackBitFlag,
s8 transpose )

◆ SetTrackVelocityRange()

void nw::snd::internal::SequenceSound::SetTrackVelocityRange ( u32 trackBitFlag,
u8 range )

◆ SetTrackOutputLine()

void nw::snd::internal::SequenceSound::SetTrackOutputLine ( u32 trackBitFlag,
u32 lineFlag )

◆ ResetTrackOutputLine()

void nw::snd::internal::SequenceSound::ResetTrackOutputLine ( u32 trackBitFlag)

◆ SetTrackMainOutVolume()

void nw::snd::internal::SequenceSound::SetTrackMainOutVolume ( u32 trackBitFlag,
f32 volume )

◆ SetTrackPan()

void nw::snd::internal::SequenceSound::SetTrackPan ( u32 trackBitFlag,
f32 pan )

◆ SetTrackSurroundPan()

void nw::snd::internal::SequenceSound::SetTrackSurroundPan ( u32 trackBitFlag,
f32 surroundPan )

◆ SetTrackMainSend()

void nw::snd::internal::SequenceSound::SetTrackMainSend ( u32 trackBitFlag,
f32 send )

◆ SetTrackFxSend()

void nw::snd::internal::SequenceSound::SetTrackFxSend ( u32 trackBitFlag,
AuxBus bus,
f32 send )

◆ SetTrackDrcOutVolume()

void nw::snd::internal::SequenceSound::SetTrackDrcOutVolume ( u32 drcIndex,
u32 trackBitFlag,
f32 volume )

◆ SetTrackDrcPan()

void nw::snd::internal::SequenceSound::SetTrackDrcPan ( u32 drcIndex,
u32 trackBitFlag,
f32 pan )

◆ SetTrackDrcSurroundPan()

void nw::snd::internal::SequenceSound::SetTrackDrcSurroundPan ( u32 drcIndex,
u32 trackBitFlag,
f32 span )

◆ SetTrackDrcMainSend()

void nw::snd::internal::SequenceSound::SetTrackDrcMainSend ( u32 drcIndex,
u32 trackBitFlag,
f32 send )

◆ SetTrackDrcFxSend()

void nw::snd::internal::SequenceSound::SetTrackDrcFxSend ( u32 drcIndex,
u32 trackBitFlag,
AuxBus bus,
f32 send )

◆ ReadVariable()

bool nw::snd::internal::SequenceSound::ReadVariable ( int varNo,
s16 * var ) const

◆ ReadGlobalVariable()

bool nw::snd::internal::SequenceSound::ReadGlobalVariable ( int varNo,
s16 * var )
static

◆ ReadTrackVariable()

bool nw::snd::internal::SequenceSound::ReadTrackVariable ( int trackNo,
int varNo,
s16 * var ) const

◆ WriteVariable()

void nw::snd::internal::SequenceSound::WriteVariable ( int varNo,
s16 var )

◆ WriteGlobalVariable()

void nw::snd::internal::SequenceSound::WriteGlobalVariable ( int varNo,
s16 var )
static

◆ WriteTrackVariable()

void nw::snd::internal::SequenceSound::WriteTrackVariable ( int trackNo,
int varNo,
s16 var )

◆ IsAttachedTempSpecialHandle()

bool nw::snd::internal::SequenceSound::IsAttachedTempSpecialHandle ( )
overrideprotectedvirtual

◆ DetachTempSpecialHandle()

void nw::snd::internal::SequenceSound::DetachTempSpecialHandle ( )
overrideprotectedvirtual

◆ GetBasicSoundPlayerHandle()

driver::BasicSoundPlayer * nw::snd::internal::SequenceSound::GetBasicSoundPlayerHandle ( )
inlineoverrideprotectedvirtual

◆ OnUpdatePlayerPriority()

void nw::snd::internal::SequenceSound::OnUpdatePlayerPriority ( )
overrideprotectedvirtual

Reimplemented from nw::snd::internal::BasicSound.

◆ OnUpdate()

void nw::snd::internal::SequenceSound::OnUpdate ( )
inlineoverrideprotectedvirtual

Reimplemented from nw::snd::internal::BasicSound.

◆ Skip()

void nw::snd::internal::SequenceSound::Skip ( driver::SequenceSoundPlayer::OffsetType offsetType,
int offset )
private

◆ NotifyAsyncLoadFinishedFunc()

void nw::snd::internal::SequenceSound::NotifyAsyncLoadFinishedFunc ( bool result,
const LoadItemInfo * seq,
const LoadItemInfo banks[],
const LoadItemInfo warcs[],
const bool warcIsIndividuals[],
void * userData )
staticprivate

◆ CheckLoadState()

void nw::snd::internal::SequenceSound::CheckLoadState ( )
private

◆ nw::snd::SequenceSoundHandle

friend class nw::snd::SequenceSoundHandle
friend

Member Data Documentation

◆ BANK_INDEX_MIN

const int nw::snd::internal::SequenceSound::BANK_INDEX_MIN = 0
static

◆ BANK_INDEX_MAX

const int nw::snd::internal::SequenceSound::BANK_INDEX_MAX = 3
static

◆ TRANSPOSE_MIN

const s8 nw::snd::internal::SequenceSound::TRANSPOSE_MIN = -64
static

◆ TRANSPOSE_MAX

const s8 nw::snd::internal::SequenceSound::TRANSPOSE_MAX = 63
static

◆ VELOCITY_RANGE_MIN

const u8 nw::snd::internal::SequenceSound::VELOCITY_RANGE_MIN = 0
static

◆ VELOCITY_RANGE_MAX

const u8 nw::snd::internal::SequenceSound::VELOCITY_RANGE_MAX = 127
static

◆ m_SequenceSoundPlayerInstance

driver::SequenceSoundPlayer nw::snd::internal::SequenceSound::m_SequenceSoundPlayerInstance
private

◆ m_pTempSpecialHandle

SequenceSoundHandle* nw::snd::internal::SequenceSound::m_pTempSpecialHandle
private

◆ m_Manager

SequenceSoundInstanceManager& nw::snd::internal::SequenceSound::m_Manager
private

◆ m_StartInfo

StartInfo nw::snd::internal::SequenceSound::m_StartInfo
private

◆ m_DataLoadTask

DataLoadTask nw::snd::internal::SequenceSound::m_DataLoadTask
private

◆ m_DataManager

PlayerHeapDataManager nw::snd::internal::SequenceSound::m_DataManager
private

◆ m_TaskCommandId

int nw::snd::internal::SequenceSound::m_TaskCommandId
private

◆ m_Res

Resource nw::snd::internal::SequenceSound::m_Res
private

◆ m_LoadState

s8 nw::snd::internal::SequenceSound::m_LoadState
private

◆ m_InitializeFlag

bool nw::snd::internal::SequenceSound::m_InitializeFlag
private

◆ m_PreparedFlag

bool nw::snd::internal::SequenceSound::m_PreparedFlag
private