// Explicit optional integration checks: real miniaudio thread, silent device. #define SIMPLE_AUDIO_TEST_NULL #include "../../main/c/simple_miniaudio.c" #include int main(void) { assert(api.play(1)==-1 && api.playing()==0); assert(api.stop()==0); api.close(); for (int pass=0;pass<2;++pass) { assert(api.open()==0 && api.open()==0); assert(api.load(NULL,1)==-1); int16_t pcm[RATE]={0}; assert(api.load(pcm,0)==-1 && api.load(pcm,RATE*10+1)==-1); int sound=api.load(pcm,RATE); assert(sound==4); pcm[0]=12345; assert(sounds[sound].pcm[0]==0); assert(api.play(-1)==-1 && api.play(0)==-1 && api.play(SLOTS)==-1); assert(api.play(sound)==0 && api.playing()); // A one-second sound returns while playback is still in progress. assert(api.stop()==0 && !api.playing()); for (int cue=1;cue<=3;++cue) { assert(api.play(cue)==0); int elapsed=0; while (api.playing() && elapsed<2000) { ma_sleep(10); elapsed+=10; } assert(!api.playing()); } for (int i=5;i