|
Maxmod
|
Functions | |
| mm_bool | mmActive (void) |
| Used to determine if a module is playing. | |
| mm_word | mmGetPosition (void) |
| Get current pattern order being played. | |
| mm_word | mmGetPositionRow (void) |
| Get current row being played. | |
| mm_word | mmGetPositionTick (void) |
| Get current number of elapsed ticks in the row being played. | |
| void | mmPause (void) |
| Pauses playback of the active module. | |
| void | mmPlayMAS (uintptr_t address, mm_word mode, mm_word layer) |
| Play individual MAS file from RAM. | |
| void | mmPlayModule (uintptr_t address, mm_word mode, mm_word layer) |
| Play individual MAS file from RAM. | |
| static void | mmPosition (mm_word position) |
| Set playback position. | |
| void | mmResume (void) |
| Resume module 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. | |
| static void | mmSetPosition (mm_word position) |
| Set the current sequence [aka order-list] position for the active module. | |
| void | mmSetPositionEx (mm_word position, mm_word row) |
| Set the current playback position. | |
| 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.
| mm_word mmGetPosition | ( | void | ) |
Get current pattern order being played.
| mm_word mmGetPositionRow | ( | void | ) |
Get current row being played.
| mm_word mmGetPositionTick | ( | void | ) |
Get current number of elapsed ticks in the row being played.
| void mmPause | ( | void | ) |
Pauses playback of the active module.
Resume with mmResume().
Play individual MAS file from RAM.
A soundbank is a MSL file that contains one or more MAS files. Each MAS file can contain a sample or a module. This function allows you to play samples or modules without the need for a soundbank.
Normally, Maxmod plays MAS files from the sound bank provided to mmInit(). This function lets you play MAS files outside of that soundbank.
| address | Address of the MAS file. |
| mode | Playback mode: MM_PLAY_ONCE or MM_PLAY_LOOP. |
| layer | MM_MAIN (main module layer) or MM_JINGLE (sub/jingle layer). |
Play individual MAS file from RAM.
| address | Address of the MAS file, skipping the first few bytes of the prefix. Add sizeof(mm_mas_prefix) to the pointer to your MAS file. |
| mode | Playback mode: MM_PLAY_ONCE or MM_PLAY_LOOP. |
| layer | MM_MAIN (main module layer) or MM_JINGLE (sub/jingle layer). |
|
inlinestatic |
Set playback position.
| position | New position in module sequence. |
| void mmResume | ( | void | ) |
Resume module playback.
Pause with mmPause().
| 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). |
|
inlinestatic |
Set the current sequence [aka order-list] position for the active module.
| position | New position in module sequence. |
Set the current playback position.
It sets the sequence [aka order-list] position for the active module and the row inside the pattern.
| position | New position in module sequence. |
| row | New row in the destination pattern |
Begins playback of a module.
For GBA, the module data is read directly from the cartridge space, so no loading is needed.
| 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.