[comp.sys.amiga] Audio Posting

rap@dana.UUCP (06/19/87)

I have sent to amiga-sources-request the audio material from the
Amiga World article.  I've also sent a somewhat more documented
version to FISH.  If you want the enhanced version, I am still
working on it.  I expected the July issue to be hitting the
stands in July.  So what did I know?  Somewhere after July 1
I'll have some of the enhancements done, and perhaps other
suggestions in hand.  I already figure to try to integrate
the speech with the audio, since there are, after all, four
channels to allocate and fool around with.  Only problem is
that speech takes up so very much of the CPU time.  Ah well.


Enjoy (and by all means, let me know if you find any bugs.) 

Rob Peck.	...hplabs!dana!rap

rap@dana.UUCP (Rob Peck) (06/22/87)

In article <182@dana.UUCP>, rap@dana.UUCP (Rob Peck) writes:
> I have sent to amiga-sources-request the audio material from the
> Amiga World article.  
> 
> Enjoy (and by all means, let me know if you find any bugs.) 
> 
> Rob Peck.	...hplabs!dana!rap
> 
Found a bug myself, final version of fix not available yet, but
I do know where the bug itself is.

Bug is in FinishAudio().   

... if FinishAudio gets called before the audio device
has returned everything to be reused, the program can hang
waiting for something that will never happen.  FinishAudio
now has no way to go back and wait for everything to finish
before it exits.  It checks whether everything is done, but
does not do the job completely.

The fix is to keep track of how many audio requests are outstanding for all
channels combined, and go back to waiting on the reply port
and emptying the port, decrementing the count, until the count
on all channels is zero.  Will post the fix as soon as I have
it available.

Just thought I'd let everyone know (found problem while creating
PlayFreq, queued up 400 freqs, and decreased the Delay value;
static iob got reused, FinishAudio got called before dynamics
all got freed, showed the problem.).

Rob Peck.		...hplabs!dana!rap