32 int GetPlayableSoundCount()
const {
return mPlayableCount; }
33 f32 GetVolume()
const {
return mVolume; }
34 void SetVolume(f32 volume);
35 f32 GetLpfFreq()
const {
return mLpfFreq; }
36 void SetLpfFreq(f32 freq);
37 int GetDefaultOutputLine()
const {
return mOutputLineFlag; }
38 f32 GetMainOutVolume()
const {
return mMainOutVolume; }
39 int GetBiquadFilterType()
const {
return mBiquadType; }
40 f32 GetBiquadFilterValue()
const {
return mBiquadValue; }
41 f32 GetMainSend()
const {
return mMainSend; }
42 f32 GetFxSend(
int index)
const {
return mFxSend[index]; }
43 void SetFxSend(AuxBus, f32);
45 void SetPlayableSoundCount(
int count);
46 f32 GetRemoteOutVolume(
int remote)
const;
48 int GetPlayingSoundCount()
const {
return mSoundList.GetSize(); }
51 return &mPriorityList.GetFront();
55 void PauseAllSound(
bool flag,
int fadeFrames);
56 void StopAllSound(
int fadeFrames);
61 void detail_SetPlayableSoundLimit(
int limit);
62 bool detail_CanPlaySound(
int startPriority);
67 void detail_SortPriorityList();
74 template <
typename TForEachFunc>
75 TForEachFunc ForEachSound(TForEachFunc pFunc,
bool reverse) {
77 detail::BasicSound::SoundPlayerPlayLinkList::ReverseIterator it = mSoundList.GetBeginReverseIter();
79 while (it != mSoundList.GetEndReverseIter()) {
80 detail::BasicSound::SoundPlayerPlayLinkList::ReverseIterator curr = it;
83 handle.detail_AttachSoundAsTempHandle(&*curr);
86 if (handle.IsAttachedSound()) {
91 NW4R_RANGE_FOR_NO_AUTO_INC(it, mSoundList) {
92 decltype(it) curItr = it++;
94 handle.detail_AttachSoundAsTempHandle(&*curItr);
104 detail::BasicSound::SoundPlayerPlayLinkList mSoundList;
105 detail::BasicSound::SoundPlayerPriorityLinkList mPriorityList;
106 detail::PlayerHeap::LinkList mHeapList;
115 f32 mRemoteOutVolume[4];
117 f32 mFxSend[AUX_BUS_NUM];