Ian's Suggested sound kludge makes things worse.

Bill Cattey wdc at MIT.EDU
Tue Dec 1 19:51:50 UTC 1998


As Ian suggested, I fetched the sources, uncommented the

	/*success(FALSE)*/

in the #definition of FAIL() near the top of sqUnixSound.c and compiled.

"FALSE" is undefined, so I had to change the code to "false".  That's
not the problem.  Back on 12 November Ian pointed out:

Excerpts from pm.squeak: 12-Nov-98 Re: Latest updates Ian
Piumarta at inria.fr (1033*)

> Because, under Unix, failing the primitive opens up a "a primitive has
> failed" notifier at *really* inconvenient moments.  E.g:

>     SoundPlayer class(Object)>>error:
>     SoundPlayer class(Object)>>primitiveFailed
>     SoundPlayer class>>primSoundStop
>     SoundPlayer class>>stopPlayerProcess
>     SoundPlayer class>>shutDown
>     SystemDictionary>>shutDownSound
>     SystemDictionary>>processShutDownList
>     SystemDictionary>>snapshot:andQuit:
>     ScreenController>>quit
>     ScreenController>>yellowButtonActivity

IE when one tries to quit.

Well, it does.

This resolves the confusion I raised earlier somewhat, IE what the
default distributed VM should and should not do under UNIX.

Does this mean we should run in Tim Rowledge's suggested kludge instead?

Excerpts from pm.squeak: 18-Nov-98 Re: Bug: disableSounds pref.. Tim
Rowledge at interval.co (1298*)

> I get around this problem on Acorn by making the machine specific sound
> functions cheat.  So far as I recall, this basically only needed
> snd_InsertSamplesFromLeadTime(int frameCount, int srcBufPtr, int
> samplesOfLeadTime) {
> // return frameCount to pretend the buffer was filled
> 	return frameCount;
> }
> and 
> snd_Start(int frameCount, int samplesPerSec, int stereo, int semaIndex) {

> 	return true;
> }





More information about the Squeak-dev mailing list