22 static const int VOICE_MAX = AX_VOICE_MAX;
23 static const int WORK_SIZE_MAX = VOICE_MAX *
sizeof(
Voice);
27 static VoiceManager &GetInstance();
30 void Setup(
void *mem, ulong memSize);
33 Voice::LinkList
const &GetVoiceList()
const {
return mPrioVoiceList; }
34 ulong GetRequiredMemSize(
int voiceCount);
36 Voice *AllocVoice(
int voiceChannelCount,
int voiceOutCount,
37 int priority, Voice::Callback *callback,
39 void FreeVoice(
Voice *voice);
43 void ChangeVoicePriority(
Voice *voice);
45 void UpdateAllVoices();
46 void UpdateAllVoicesSync(ulong syncFlag);
48 void NotifyVoiceUpdate();
55 void AppendVoiceList(
Voice *voice);
56 void RemoveVoiceList(
Voice *voice);
58 void UpdateEachVoicePriority(Voice::LinkList::Iterator
const &beginItr,
59 Voice::LinkList::Iterator
const &endItr);
61 int DropLowestPriorityVoice(
int priority);
67 Voice::LinkList mPrioVoiceList;
68 Voice::LinkList mFreeVoiceList;