sndlib 0.2b - Avigo sound library v0.2 beta
Author: Francois Dion (francois@hyperreal.org)

Limited beta test release for comments, no redistribution authorised.
(c)copyright 1998 Francois Dion, all rights reserved.


This archive includes:
sndtest.app - a test application
sound.c - the test application source
sndlib.rel - the sound library
sndlib.h - the sound library header with detailed description of the functions
freq.txt - a table to match on/offtime multipliers (for fx()) with frequencies
makefile - to compile the project
icon.bmp - the icon for the test app


                         SNDTEST.APP

A real simple application:
-by pressing address, you hear all the 102 notes the note function can play, each 200ms long.
You cant stop it, be warned, dont try it in the middle of a meeting.
-by pressing schedule, you hear a 440Hz sound, 200ms, then a 1s silence, then a 100ms 2048Hz sound.
-page down toggles between mode 0 (precise),1(faster),2(frequency) and 3 (silence)
-page up exits (after the sounds have finished)
-to do makes the sound duration longer when you click on the screen
-memo makes the sound duration shorter when you click on the screen
By clicking the screen, x=y=peny, and calls fx (x,y...) in the current mode, for a certain duration,
except in mode 2 it calls sound (frequency=x*2) and mode 3 simply display values, no sound.
Try drawing on the screen for some really weird sounds. Eventually with the lfo modes, one
will be able to reproduce those kind of sounds.


                         SNDLIB.REL

All the available functions are described in the sndlib.h header file. A lot more
info has been added to the sndlib.h file, so read it and if there are things that
are not clear, in particular with levels and volumes, drop me a note.

One more thing:

When speaking of on time and off time it refers to this:

       =========
               |
               |
               |
               |_______

Where >========< is the on time
           and >_______< is the off time.

In the case of fx ontime and offtime are not in milliseconds, they are multipliers to
loops that take 31 cycle to execute in mode 0 ( much less in mode 1). I used 8MHz as the
clock frequency and it's then a simple rule of three (in reality it's a little more
complicated than that, but no need to go that deep).

NOTE: if you have a program ready for release which include this library, do not
use any previous versions, as there was a major bug in 0.01b. The licensing of this
library for any software released publicly (either shareware or commercial) requires
to send me one free fully funcitonnal and registered copy of the software. For
freeware, just send an email with the URL of where the software can be found.

Francois Dion (francois@hyperreal.org)