void Sound_Tests(void) { int i ; int j ; gfx_Cls() ; printf("Sound Tests\n") ; putstr("Sound Tests") ; snd_Volume(127) ; snd_BufSize(2) ; printf("Playing\n") ; file_PlayWAV(soundtest) ; sleep(10000) ; printf("Pausing\n") ; snd_Pause() ; sleep(5000) ; printf("Continuing\n") ; snd_Continue() ; sleep(5000) ; printf("Playing with pitch\n") ; i = snd_Pitch(0xFFFF) ; printf("Original Pitch=%d\n",i) ; sleep(5000) ; snd_Pitch(trunc(i*2 /*one octave, 1.0594631 one semitone*/)) ; sleep(5000) ; snd_Pitch(trunc(i/2)) ; sleep(5000) ; snd_Pitch(i) ; sleep(5000) ; for (j = 1; j <= 5; j++) { i = snd_Playing() ; printf("Blocks remaining=%d\r ",i) ; sleep(2000) ; } printf("\n") ; for (i = 127; i >= 8; i--) { snd_Volume(i) ; // 8 to 127 ; printf("Volume=%d\r ",i) ; sleep(100) ; } printf("\nStopping\n") ; snd_Stop() ; }
EXPORT(sqInt) primitiveSoundGetVolume(void) { double right; sqInt results; double left; left = 0; right = 0; snd_Volume((double *) &left,(double *) &right); interpreterProxy->pushRemappableOop(interpreterProxy->floatObjectOf(right)); interpreterProxy->pushRemappableOop(interpreterProxy->floatObjectOf(left)); interpreterProxy->pushRemappableOop(interpreterProxy->instantiateClassindexableSize(interpreterProxy->classArray(), 2)); results = interpreterProxy->popRemappableOop(); interpreterProxy->storePointerofObjectwithValue(0, results, interpreterProxy->popRemappableOop()); interpreterProxy->storePointerofObjectwithValue(1, results, interpreterProxy->popRemappableOop()); if (interpreterProxy->failed()) { return null; } interpreterProxy->popthenPush(1, results); return null; }
primitiveSoundGetVolume(void) { // SoundPlugin>>#primitiveSoundGetVolume double left; sqInt results; double right; left = 0; right = 0; snd_Volume((double *) &left,(double *) &right); pushRemappableOop(floatObjectOf(right)); pushRemappableOop(floatObjectOf(left)); pushRemappableOop(instantiateClassindexableSize(classArray(), 2)); results = popRemappableOop(); storePointerofObjectwithValue(0, results, popRemappableOop()); storePointerofObjectwithValue(1, results, popRemappableOop()); if (failed()) { return null; } popthenPush(1, results); return null; }