Maxmod
|
Functions | |
mm_bool | mmActive (void) |
Used to determine if a module is playing. | |
void | mmJingle (mm_word module_ID) |
Plays a jingle. | |
void | mmPause (void) |
Pauses playback of the active module. | |
void | mmPosition (mm_word position) |
Set the current sequence [aka order-list] position for the active module. | |
void | mmResume (void) |
Resume module playback. | |
void | mmSetJingleVolume (mm_word volume) |
Use this function to change the master volume scale for jingle playback. | |
void | mmSetModulePitch (mm_word pitch) |
Change the master pitch scale for module playback. | |
void | mmSetModuleTempo (mm_word tempo) |
Change the master tempo for module playback. | |
void | mmSetModuleVolume (mm_word volume) |
Use this function to change the master volume scale for module playback. | |
void | mmStart (mm_word module_ID, mm_pmode mode) |
Begins playback of a module. | |
void | mmStop (void) |
Stops playback of the active module. | |
mm_bool mmActive | ( | void | ) |
Used to determine if a module is playing.
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.
module_ID | Index of module to be played. (Defined in soundbank header) |
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.
void mmPosition | ( | mm_word | position | ) |
Set the current sequence [aka order-list] position for the active module.
position | New position in module sequence. |
void mmResume | ( | void | ) |
Resume module playback.
Pause with mmPause().
void mmSetJingleVolume | ( | mm_word | volume | ) |
Use this function to change the master volume scale for jingle playback.
volume | New volume level. Ranges from 0 (silent) to 1024 (normal). |
void mmSetModulePitch | ( | mm_word | pitch | ) |
Change the master pitch scale for module playback.
Specifying 1024 will play the module at its normal pitch. Minimum/Maximum range of the pitch change is +-1 octave.
Range = 0x200 -> 0x800 = 0.5 -> 2.0
pitch | New pitch scale. Value = 1024 * 2 ^ (semitones / 12) |
void mmSetModuleTempo | ( | mm_word | tempo | ) |
Change the master tempo for module playback.
Specifying 1024 will play the module at its normal speed. Minimum and maximum values are 50% (512) and 200% (2048). Note that increasing the tempo will also increase the module processing load.
It uses a fixed point (Q10) value representing tempo.
Range = 0x200 -> 0x800 = 0.5 -> 2.0
tempo | New tempo value. Tempo = (speed_percentage * 1024) / 100. |
void mmSetModuleVolume | ( | mm_word | volume | ) |
Use this function to change the master volume scale for module playback.
volume | New volume level. Ranges from 0 (silent) to 1024 (normal). |
Begins playback of a module.
For DS, the module must be loaded into memory first (mmLoad).
module_ID | Index of module to be played. Values are defined in the soundbank header output. (prefixed with "MOD_") |
mode | Mode of playback. Can be MM_PLAY_LOOP (play and loop until stopped manually) or MM_PLAY_ONCE (play until end). |
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.