[Image]  APEX AUDIO SYSTEM
Instruction Manual

intro | getting started | conv2aas | example | faq
api : index | general | sfx | mod | misc | mixer


:: General Functions
AAS_SetConfig : Sets the effective mixing rate, number of channels, volume boost, mono/stereo output and switches dynamic mixing on or off. Must be called before using any other AAS functions.
AAS_Timer1InterruptHandler : Either this or AAS_FastTimer1InterruptHandler must be quickly called when a Timer 1 interrupt occurs.
AAS_FastTimer1InterruptHandler : Either this or AAS_Timer1InterruptHandler must be quickly called when a Timer 1 interrupt occurs. AAS_DoWork must also be called 50 times per second if AAS_FastTimer1InterruptHandler is used.
AAS_DoWork : Mixes the next batch of audio. Should only be used in conjunction with AAS_FastTimer1InterruptHandler.
AAS_DoDMA3 : Allows DMA3 to be used safely.
AAS_ShowLogo : Displays the AAS splash screen.

:: SFX Functions
AAS_SFX_Play : Starts playing the specified sample.
AAS_SFX_ChannelExists : Returns AAS_TRUE only if AAS_SFX_Play will succeed for this channel, otherwise returns AAS_FALSE.
AAS_SFX_IsActive : Returns AAS_TRUE if channel is valid and active, AAS_FALSE otherwise.
AAS_SFX_EndLoop : If a looping sample was playing in this channel, it will not loop again at end of the current iteration.
AAS_SFX_SetFrequency : Changes the frequency of the sample playing in the specified channel.
AAS_SFX_SetVolume : Changes the volume of the sample playing in the specified channel.
AAS_SFX_Stop : Stops the sample currently playing in the specified channel.
AAS_SFX_Resume : Resumes a channel that has been previously stopped.
AAS_SFX_GetNumChannels : Returns the number of SFX channels that are currently available.

:: MOD Functions
AAS_MOD_Play : Starts playing the specified MOD file.
AAS_MOD_SetLoop : Specifies whether the current MOD will loop. All MODs loop by default.
AAS_MOD_Stop : Stops playing current MOD.
AAS_MOD_Pause : Pauses the current MOD. It can be continued later using AAS_MOD_Resume.
AAS_MOD_Resume : Resumes a MOD that was previously paused using AAS_MOD_Pause.
AAS_MOD_IsPlaying : Checks whether a MOD is currently playing.
AAS_MOD_HasLooped : Checks whether or not the current MOD has looped.
AAS_MOD_GetVolume : Returns the current volume for MOD tunes. 0 = silent, 256 = max.
AAS_MOD_SetVolume : Sets the current volume for MOD tunes. 0 = silent, 256 = max.
AAS_MOD_GetSongPos : Returns the current song position of the playing MOD.
AAS_MOD_SetSongPos : Immediately jumps to the specified song position.
AAS_MOD_QueueSongPos : Jumps to the specified song position when the current pattern finishes.
AAS_MOD_GetLineNum : Returns the current line number of the playing MOD.
AAS_MOD_GetLastFilterValue : Returns the value specified by the most recent "E0: Set Filter" effect. Can be used to sychronise code with the music.
AAS_MOD_GetNumChannels : Returns the number of channels that are currently being reserved by the MOD.

:: Misc Functions
AAS_GetOutputBufferAddress : Gets the address of the specified mixing buffer. Can be used to make oscilliscope displays of the current output.
AAS_GetOutputBufferLength : Gets the current length of the mixing buffer in bytes.
AAS_GetActualMixRate : Returns the current mixing rate in hertz.

:: Mixer Functions
AAS_MixAudio : Mixes multiple sounds into a single mixing buffer. This function is in IWRAM and so it must be called using AAS_INIT_BRANCH and AAS_BRANCH() as described in "AAS_Mixer.h". This function should not normally be directly called.
AAS_MixAudio_NoChange : Mixes multiple sounds into a single mixing buffer. This function should only be called if there are no changes to chans[] since a previous call to AAS_MixAudio. Do not call twice in a row. This function is in IWRAM and so it must be called using AAS_INIT_BRANCH and AAS_BRANCH() as described in "AAS_Mixer.h". This function should not normally be directly called - see AAS_MixAudio.
AAS_MixAudio_SetMode : Enable/disable volume boost and (optional) clipping. This function should only be called if you can be 100% sure that AAS_MixAudio and AAS_MixAudio_NoChange won't interrupt it. This function should not normally be directly called - see AAS_MixAudio.
AAS_MixAudio_SetMaxChans_2 : Sets the maximum number of channels in the set to 2. This function should only be called if you can be 100% sure that AAS_MixAudio and AAS_MixAudio_NoChange won't interrupt it. This function should not normally be directly called - see AAS_MixAudio.
AAS_MixAudio_SetMaxChans_4 : Sets the maximum number of channels in the set to 4 (the default). This function should only be called if you can be 100% sure that AAS_MixAudio and AAS_MixAudio_NoChange won't interrupt it. This function should not normally be directly called - see AAS_MixAudio.
AAS_MixAudio_SetMaxChans_8 : Sets the maximum number of channels in the set to 8. This function should only be called if you can be 100% sure that AAS_MixAudio and AAS_MixAudio_NoChange won't interrupt it. This function should not normally be directly called - see AAS_MixAudio.