The sa.c code generated by sfront for Windows DirectSound output (-aout
dsound option) contains a bug that causes compilation to fail. The
following patch fixes the bug:
#ifdef GOGINS // asyslib.c line 2184
z[lc++]=" // IDirectSoundBuffer_GetCurrentPosition(asyso_lpdsb,
&play, &write);";
z[lc++]=" // fprintf(stderr, \"buffer: play=%d, write=%d.
wrtCursor=%d.\\n\", play, write, asyso_wrtCursor);";
#else
z[lc++]=" // IDirectSoundBuffer_GetCurrentPosition(asyso_lpdsb,
&play,
z[lc++]="&write);";
z[lc++]=" // fprintf(stderr, \"buffer: play=%d, write=%d.
wrtCursor=%d.\\n\",";
z[lc++]="play, write,";
z[lc++]=" // asyso_wrtCursor);";
#endif // GOGINS
In other words, the originally generated code contains incorrect linefeeds,
but after patching the generated code should not contain linefeeds.
Even with the patched code, however, in the perc example the DirectSound
output on my PII 450 MHz contains some clicks and the timing sounds wrong. I
suspect the driver contains some incorrect buffering or looping code.
This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:15:36 EDT