

Audiotools, release 3.  (early)


This release incorporates PlaySamp to play sampled sounds.

The demo creates a MEMF_CHIP set of random values to feed to the new
function, creating noise.


This early release is not as clean as I'd like it to be in that I have
only compiled it under Lattice 3.03 so far.   Additionally, there
is some cleanup I'd like to do, such as merge PlayNote, PlayFreq
and PlaySamp into a single routine since so much of them is
common (will do this soon, and make the calls become #define's to
the new merged function).

Also, while putting this together, I found a bug in the way I was
calculating duration of a sound.  In particular, any duration greater
than 1200 thousandths of a second could cause the calculation to go
wrong for duration.   In the function PlaySamp, I HAVE corrected
the duration calculation, but the correction has NOT been applied
to PlayFreq and PlayNote yet.  So if you plan to use the functions
with "any" duration over 1 second, make sure you fix the duration
calc. in those other functions.

In some future release, I may include some support for ADSR... I have the
Commodore IFF specs and I understand (and can easily incorporate)
the way they implement ADSR (as a set of step segments) in the IFF
spec.   I also plan to include the PD IFF 8SVX and SMUS reader
routines on the next disk so that we can integrate reading the
files and then use the audiotools to play the stuff.

Rob Peck

Sept. 13, 1987



Addendum, Oct. 12, 1987...

Have added a new directory, called "Kevin.Sullivan" (now RENAMED
RELEASE.3) , containing an even later version of (early) release.3.  
This later version contains a manx-ified version of the audiotools 
(at least it compiles under Manx 3.4b with cc +L).

Still have NOT applied the duration fix to PlayNote or PlayFreq.

Example program is named au2.c, which includes atools.c in that
same directory.  Executable file (manx) is "au2".  The program
is designed to be the audio part to Kevin's Extra-Half-Brite
tap-dancer animation.  There is a tap sound (recorded with
the sound sampler from Mimetics) on one channel, and some
(admittedly sour note sometimes) music on another channel.
In stereo.

Also note that a new bug was found in the routine named GetIOB and is
fixed in this latest version (the kevin.sullivan version) of the
audiotools (atools.c).   It removes the qualifier "MEMF_FAST"
from the call to AllocMem.  The qualifier had prevented
DEMO.RELEASE.2 from running on machines with only 512k of memory.
(oops).

Was on vacation for folks 50th wedding anniversary.  So sending
out disks and making more updates had to wait.  Sorry if I kept
anyone waiting.


Rob Peck.

