17#define NO_INSTRUMENT ((Instrument*) -1)
19#define AU_FX_DELAY_COUNT 4
20#define AU_FX_LENGTH 0xA10
25#define SAMPLE184(delta) (((delta) + (SAMPLES / 2)) / SAMPLES) * SAMPLES
26#define FIXED_SAMPLE SAMPLES
28#define N_AL_DECODER_IN 0
29#define N_AL_RESAMPLER_OUT 0
31#define N_AL_DECODER_OUT 0x170
32#define N_AL_TEMP_1 0x170
33#define N_AL_TEMP_2 0x2E0
34#define N_AL_MAIN_L_OUT 0x4E0
35#define N_AL_MAIN_R_OUT 0x650
36#define N_AL_AUX_L_OUT 0x7C0
37#define N_AL_AUX_R_OUT 0x930
39#define ALIGN16_(val) (((val) + 0xF) & 0xFFF0)
40#define AU_FILE_RELATIVE(base,offset) ((void*)((s32)(offset) + (s32)(base)))
42#define AUDIO_HEAP_SIZE 0x56000
44#define AUDIO_SAMPLES 184
45#define AUDIO_COMMAND_LIST_BUFFER_SIZE 0x4000
49#define SND_MAX_VOLUME_8 0x7F
50#define SND_MAX_VOLUME_16 0x7FFF
52#define BGM_SAMPLE_RATE 156250
53#define BGM_DEFAULT_TEMPO 15600
55#define SND_MIN_DURATION 250
56#define SND_MAX_DURATION 10000
58#define BGM_MAX_VOLUME 127
60#define BGM_SEGMENT_LABEL 3
448typedef s32 (*
ALDMAproc2)(s32 addr, s32 len,
void *state, u8 arg3);
struct SeqArgs::@80 SubTrackReverbType
MSEQHeader * mseqFiles[4]
BGMInstrumentInfo * instrumentsInfo
@ SND_MANAGER_STATE_DISABLED
@ SND_MANAGER_STATE_ENABLED
struct BGMHeader * bgmFile
struct SeqArgs::@64 MasterVolumeFade
s32 CUSTOM_ECHO_PARAMS_1[]
Instrument * sfxInstrumentRef
s32 * customReverbParams[8]
SoundManager * soundManager
struct SeqArgs::@82 EventTrigger
struct SeqArgs::@61 MasterPitchShift
volatile u8 AuSynUseStereo
struct SeqArgs::@66 TrackOverridePatch
AuSynDriver * gActiveSynDriverPtr
s32 CUSTOM_SMALL_ROOM_PARAMS[]
struct SeqArgs::@74 TrackTremolo
Instrument * defaultInstrument
struct AuResampler * resampler_28
InstrumentGroup instrumentGroup6[4]
struct AuLowPass * lowpass_24
EnvelopePreset DummyInstrumentEnvelope
struct AuGlobals * globals
MusicEventTrigger * musicEventQueue
struct SeqArgs::@68 SubTrackPan
struct SeqArgs::@75 TrackTremoloSpeed
s32 AuEnvelopeIntervals[]
SoundManager * gSoundManager
struct SeqArgs::@71 SubTrackCoarseTune
struct SeqArgs::@70 SegTrackVolume
u16 AuAmbiencePlayOnlyIndex
struct MSEQHeader * dataMSEQ[2]
SoundManager90 bgmSounds[4]
AuGlobals * gSoundGlobals
EnvelopeOffset offsets[1]
InstrumentGroup instrumentGroup3[16]
AuCallback audioThreadCallbacks[2]
struct SeqArgs::@73 SegTrackTune
struct SeqArgs::@59 MasterTempo
AuFilePos alternativeDataPos
u8 relativeReleaseVolumes
SegData * subSegmentStartPos
InstrumentGroup instrumentGroup1[4]
u8 AmbientSoundIDtoMSEQFileIndex[]
BGMInstrumentInfo * dataPRG
struct BGMPlayer * unk_74
SBNFileEntry * sbnFileList
struct SeqArgs::@69 SubTrackReverb
@ AU_VOICE_SYNC_FLAG_PARAMS
@ AU_VOICE_SYNC_FLAG_PAN_FXMIX
@ AU_VOICE_SYNC_FLAG_PITCH
s32 CUSTOM_ECHO_PARAMS_3[]
@ BGM_PLAY_STATE_NEXT_SUBSEG
s32(* ALDMAproc2)(s32 addr, s32 len, void *state, u8 arg3)
struct AuLowPass * lowpass_20
AmbienceVoiceState voiceStates[16]
struct Instrument * instrument
SoundManagerCustomCmdList customCmdList[4]
u16 DummyInstrumentPredictor[32]
struct SeqArgs::@67 SubTrackVolume
u8 DummyInstrumentBase[190]
s32 PreventBGMPlayerUpdate
struct SeqArgs::@79 TrackVolumeFade
InstrumentGroup instrumentGroup2[16]
AuSynDriver * gSynDriverPtr
AmbienceSavedVoice savedVoices[4]
ALDMAproc2(* ALDMANew2)(void *state)
struct SeqArgs::@83 Detour
s32 CUSTOM_ECHO_PARAMS_2[]
struct SeqArgs::@84 UnkCmdFF
AuFilePos loopStartPos[2]
AmbiencePlayer players[4]
struct BGMHeader * dataBGM[2]
@ SND_PLAYER_STATE_CONTINUE
struct AuResampler * resampler_2C
EnvelopePreset * envelopes
BGMInstrumentInfo defaultPRGEntry
struct BGMPlayer * unk_78
struct BGMPlayer * bgmPlayer
@ SOUND_INSTANCE_FLAG_POSITION_CHANGED
@ SOUND_INSTANCE_FLAG_ACTIVE
struct SeqArgs::@77 UnkCmdF4
struct SeqArgs::@65 MasterEffect
struct SeqArgs::@62 UnkCmdE3
SegData * segActiveLoopEndPos[4]
BGMPlayerTrack tracks[16]
SoundSFXEntry soundQueue[16]
struct SeqArgs::@76 TrackTremoloTime
InstrumentGroup instrumentGroupX[1]
SegData * segmentStartPos
s8 customReverbAmounts[8]
@ AU_PRIORITY_BGM_PLAYER_MAIN
@ AU_PRIORITY_MSEQ_MANAGER
@ AU_PRIORITY_SFX_MANAGER
@ AU_PRIORITY_BGM_PLAYER_AUX
SndGlobalsSub6C unk_globals_6C[1]
InstrumentGroup * instrumentGroups[8]
AuEffectChange effectChanges[4]
struct SeqArgs::@60 MasterVolume
@ AU_VOICE_ENV_FLAG_KEY_RELEASED
@ AU_VOICE_ENV_FLAG_VOL_CHANGED
@ AU_VOICE_ENV_FLAG_HANDLED_VOL_CHANGE
u8 * envelopCustomPressProfile
SegData * segLoopStartLabels[32]
InstrumentGroup instrumentGroup4[16]
MusicEventTrigger * musicEventQueuePos
Instrument * InstrumentGroup[16]
struct SeqArgs::@78 SetTrackVoice
struct AuVoice * curVoice
InstrumentGroup instrumentGroup5[16]
struct SeqArgs::@63 MasterTempoFade
AmbienceManager * gAuAmbienceManager
struct SeqArgs::@72 SubTrackFineTune
BGMDrumInfo defaultDrumEntry