audio/maxmod/basic_sound/source/MaxModExample.c
#include <nds.h>
#include <maxmod9.h>
#include <stdio.h>
#include "soundbank.h"
#include "soundbank_bin.h"
int main() {
consoleDemoInit();
mmInitDefaultMem((mm_addr)soundbank_bin);
mmLoad( MOD_FLATOUTLIES );
mmLoadEffect( SFX_AMBULANCE );
mmLoadEffect( SFX_BOOM );
mmStart( MOD_FLATOUTLIES, MM_PLAY_LOOP );
mm_sound_effect ambulance = {
{ SFX_AMBULANCE } ,
(int)(1.0f * (1<<10)),
0,
255,
0,
};
mm_sound_effect boom = {
{ SFX_BOOM } ,
(int)(1.0f * (1<<10)),
0,
255,
255,
};
iprintf("\x1b[2J");
iprintf("\x1b[0;8HMaxMod Audio demo");
iprintf("\x1b[3;0HHold A for ambulance sound");
iprintf("\x1b[4;0HPress B for boom sound");
mm_sfxhand amb = 0;
do {
int keys_pressed, keys_released;
swiWaitForVBlank();
scanKeys();
keys_pressed = keysDown();
keys_released = keysUp();
if ( keys_pressed & KEY_A ) {
amb = mmEffectEx(&ambulance);
}
if ( keys_released & KEY_A ) {
mmEffectCancel(amb);
}
if ( keys_pressed & KEY_B ) {
mmEffectEx(&boom);
}
} while( 1 );
}