Maxmod
Functions
NDS: ARM7 Module Playback

Functions

mm_bool mmActive (void)
 Used to determine if a module is playing. More...
 
mm_bool mmActiveSub (void)
 Check if a jingle is playing or not. More...
 
void mmJingle (mm_word module_ID)
 Plays a jingle. More...
 
void mmPause (void)
 Pauses playback of the active module. More...
 
void mmPlayModule (mm_word address, mm_word mode, mm_word layer)
 Play direct MAS file. More...
 
void mmPosition (mm_word position)
 Set the current sequence [aka order-list] position for the active module. More...
 
void mmResume (void)
 Resume module playback. More...
 
void mmSetJingleVolume (mm_word volume)
 Use this function to change the master volume scale for jingle playback. More...
 
void mmSetModuleVolume (mm_word volume)
 Use this function to change the master volume scale for module playback. More...
 
void mmStart (mm_word module_ID, mm_pmode mode)
 Begins playback of a module. More...
 
void mmStop (void)
 Stops playback of the active module. More...
 

Detailed Description

Function Documentation

◆ mmActive()

mm_bool mmActive ( void  )

Used to determine if a module is playing.

Returns
Nonzero if a module is currently playing.

◆ mmActiveSub()

mm_bool mmActiveSub ( void  )

Check if a jingle is playing or not.

Returns
Returns nonzero if a jingle is actively playing.

◆ mmJingle()

void mmJingle ( mm_word  module_ID)

Plays a jingle.

Jingles are normal modules that can be mixed with the normal module playback.

For DS, the module must be loaded into memory first (mmLoad).

Note that jingles must be limited to 4 channels only.

Parameters
module_IDIndex of module to be played. (Defined in soundbank header)

◆ mmPause()

void mmPause ( void  )

Pauses playback of the active module.

Resume with mmResume().

DS Note: The DS hardware channels do not allow actual pausing. To implement pausing, Maxmod sets the channel frequencies to the minimal value (256Hz). This may cause some problems with certain samples (such as drum-loops) drifting out of sync with the song temporarily. This is not an issue with the interpolated audio mode since the channels are fed by software.

◆ mmPlayModule()

void mmPlayModule ( mm_word  address,
mm_word  mode,
mm_word  layer 
)

Play direct MAS file.

Parameters
addressTODO
modeTODO
layerTODO

◆ mmPosition()

void mmPosition ( mm_word  position)

Set the current sequence [aka order-list] position for the active module.

Parameters
positionNew position in module sequence.

◆ mmResume()

void mmResume ( void  )

Resume module playback.

Pause with mmPause().

◆ mmSetJingleVolume()

void mmSetJingleVolume ( mm_word  volume)

Use this function to change the master volume scale for jingle playback.

Parameters
volumeNew volume level. Ranges from 0 (silent) to 1024 (normal).

◆ mmSetModuleVolume()

void mmSetModuleVolume ( mm_word  volume)

Use this function to change the master volume scale for module playback.

Parameters
volumeNew volume level. Ranges from 0 (silent) to 1024 (normal).

◆ mmStart()

void mmStart ( mm_word  module_ID,
mm_pmode  mode 
)

Begins playback of a module.

For DS, the module must be loaded into memory first (mmLoad).

Parameters
module_IDIndex of module to be played. Values are defined in the soundbank header output. (prefixed with "MOD_")
modeMode of playback. Can be MM_PLAY_LOOP (play and loop until stopped manually) or MM_PLAY_ONCE (play until end).

◆ mmStop()

void mmStop ( void  )

Stops playback of the active module.

Start again (from the beginning) with mmStart().

Any channels used by the active module will be freed.