28        struct SoundSystemParam
 
   34                soundThreadPriority     (DEFAULT_SOUND_THREAD_PRIORITY),
 
   35                soundThreadStackSize    (DEFAULT_SOUND_THREAD_STACK_SIZE),
 
   36                dvdThreadPriority       (DEFAULT_DVD_THREAD_PRIORITY),
 
   37                dvdThreadStackSize      (DEFAULT_DVD_THREAD_STACK_SIZE)
 
   43            s32 soundThreadPriority;    
 
   44            ulong   soundThreadStackSize;   
 
   45            s32 dvdThreadPriority;      
 
   46            ulong   dvdThreadStackSize;     
 
 
   51        static int const DEFAULT_DVD_THREAD_STACK_SIZE = 0x4000;
 
   52        static int const DEFAULT_SOUND_THREAD_STACK_SIZE = 0x4000;
 
   53        static int const DEFAULT_DVD_THREAD_PRIORITY = 3;
 
   54        static int const DEFAULT_SOUND_THREAD_PRIORITY = 4;
 
   56        static int sMaxVoices;
 
   61        static void InitSoundSystem(s32 sndThreadPriority, s32 dvdThreadPriority);
 
   63                                    void *workMem, ulong workMemSize);
 
   64        static void ShutdownSoundSystem();
 
   65        static void WaitForResetReady();
 
   67        static bool IsInitializedSoundSystem();
 
   71        static void PrepareReset() {
 
   72            detail::AxManager::GetInstance().PrepareReset();
 
   76        static void SetOutputMode(OutputMode mode) {
 
   77            detail::AxManager::GetInstance().SetOutputMode(mode);
 
   81        static f32 GetMasterVolume() {
 
   82            return detail::AxManager::GetInstance().GetMasterVolume();
 
   84        static void SetMasterVolume(f32 volume, 
int frame) {
 
   85            detail::AxManager::GetInstance().SetMasterVolume(volume, frame);
 
   89        static RemoteSpeaker &GetRemoteSpeaker(
int i) {
 
   90            return detail::RemoteSpeakerManager::GetInstance().GetRemoteSpeaker(i);
 
   94        static void AppendEffect(AuxBus bus, FxBase *pFx) {
 
   95            detail::AxManager::GetInstance().AppendEffect(bus, pFx);
 
   97        static void ClearEffect(AuxBus bus, 
int frame) {
 
   98            detail::AxManager::GetInstance().ClearEffect(bus, frame);