Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!swrinde!kent From: kent@swrinde.nde.swri.edu (Kent D. Polk) Newsgroups: comp.sys.amiga.tech Subject: Re: Audio quirks Message-ID: <17648@swrinde.nde.swri.edu> Date: 22 Jun 89 22:19:21 GMT References: <12293@well.UUCP> Reply-To: kent@swrinde.UUCP (Kent D. Polk) Organization: Southwest Research Institute, San Antonio, Texas Lines: 43 In article <12293@well.UUCP> farren@well.UUCP (Mike Farren) writes: >Well, having just fought my way through a three-week battle with the >audio.device, I thought I'd put a few notes out, for all of you folks >who might want to do real nice sounds, and lots of 'em... Check out Rob Peck's Audiotools (almost) library. The functions may be fast enough for your application. At least it's a good tutorial. Saved me an uncountable number of hours. Now, I just need to figure out how to modulate one channel from another using my own samples (looooong ones) :^) >Init - allocate four channels, three ioa's per channel for bookkeeping >convenience. myport = InitAudio() channel = GetChannel(x) >Play - check channel with CMD_READ. If busy, issue CMD_RESET (or, at PlayFreq(channel, freq, wf, vol, duration, priority, messageport, id) PlayNote(channel, note, wf, vol, duration, priority, messageport, id) MayGetNote(port, flag) /* if flag is nonzero, wait for message from the next * Play*() which was instructed to send a message * when it started playing. */ >Second, a "hard reset" capability for the channel which would not >require waiting "approximately two sampling periods" to ensure the >actual resetting of the channel.[...] FlushChannel(channel) /* Immediately stop playing this channel */ Lots more neat stuff. Also, version 3 (1.3?) supports playing samples (supposedly). I haven't received the new version yet. ======================================================= Kent Polk - Southwest Research Institute {cs.utexas.edu, gatech!petro sun!texsun}!swrinde!kent kent@swrinde.nde.swri.edu ------------------------------------------------------- "Anything worth doing is worth overdoing" =======================================================