예제 #1
0
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() ;
}
예제 #2
0
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;
}