.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.
::                                                                         ::
::                            ___  ___  ___                                ::
::                           |  _||_ _|| \ |                               ::
::                           |_  | _|_ |   |                               ::
::                           |___||___||_\_|                               ::
::                   -  Analogue Synthesis For Idiots -                    ::
::                                                                         ::
::                                                                         ::
::::::::::::::::.                                      .:::::::::::::::::::::
               ::                     ___              ::
               ::  _(}_   /\         |   |       _{)_  ::
               :: <\__/> /__\        |___|      <\__/> ::
               ::  //\\ /_/\_\bsolute|_\_\eality //\\  ::
               ::::::::::::::::::::::::::::::::::::::::::


BACKGROUND
==========
Sin was developed from a program I wrote called `STSamp'.  This program
produced all sorts of cool sweeps, but I found it a little limiting in that
you could only really control one (sometimes two) variables, and it only
used SawTooth waves.  I decided to have a stab at some sort of analogue
synthesis, and low, Sin was Born.

WAVEFORMS
=========
Sin has 7 different waveforms, that can be either the basic wave, modulation
wave or both waves.

SINE
   This waveform `swings' from zero to high to zero to low to zero,
   with the rate of change slowing as it reaches it's outer limits of
   it's swing.
SQUARE
   This waveform alternates from high to low, with no `transistion
   period'.
SAWTOOTH
   This waveform is basicaly the same as the sine wave, but it's rate
   of change remains constant thoughout.
RAMP UP
   This waveform goes from low to zero to high, at constant rate.
RAMP DOWN
   This is the opposite.
RANDOM
   A wave with no structure, just noise
ALTERNATE
   A wave that starts at zero and alternatly goes high then low, with
   greater limits.
CUSTOM
   This is a waveform that you draw (or load) your self
      ** see CUSTOM OPTION section **

BASIC WAVEFORM
==============
This is the waveform that will form the backbone of the sample.  This is
what the modulation waveform is applied to.  Remains constant thoughout
sample.

MODULATION WAVEFORM
===================
This is the waveform which is appiled to the BASIC WAVEFORM to create the
sweeps, bleeps and squelches.

METHODS OF APPLICATION
======================
There are many different ways to interact the two waveforms.  Each way has a
name that I hope will discribe the sound that the application creates.

USER INPUTS
===========
`Number of cycles?'           -  How many cycles to create of sound
                                 (Multiples of 120 are best)
`Basic/Modulation Waveform'   -  Which waveform to use
`Amp value (0-126)?'          -  Volume of sample, 0 - no vol, 126 - max
`Phase Offset Value (0-360)?' -  Where to start the modulation waveform.
                                 (0 - start of wave, 90 quarter way in,etc)
`Sweep data value (0-120)?'   -  Number of times to do sweep
                                 (1 and NON factors of 120 are good)
`High or Low Octave?'         -  As it says really
`File Exists! Continue?'      -  Again as it says

CUSTOM OPTIONS
==============
This has been added to allow the user to draw their own waveforms.  When you
have drawn your waveform you can save it to load later.  If you want to use
the same waveform for both the wave and the modulation then you must save it
after you have drawn it.  To finish your waveform either close the window by
pressing the close gadget, or pressing Esc.  (may be a bit buggy)

TECH
====
Sin would like a copy of the `ReqTools.library', but will still work without
it (you'll have no file reqs though).
Sin would also like to be able to allocate the audio.device to play you your
sample, but if your running a tracker or sampler program which doesn't allow
you to de-allocate it, then Sin will still show you your sample, but you
won't be able to hear it unless you load it into you tracker/sampler.

COOL WAYS TO USE YOU SWEEP SAMPLES USING OCTAMED/MED
====================================================
Load your sweep into Octa/Med, go into the instrument parameters window and
set the hold value to 4 (if your secondary tempo is 6).  Now play a little
tune with you sweep.  When you play this it will only play the first bit of
the sweep.  This is where the fun starts and you can simulate filter sweeps.
Use the Start Sample Offset Command (19xx) to start the sample in different
places and hey presto simulated filter sweeps.  The Med module
`med.filtersweeps' should illustrate this point better than I can write it.
You can change the hold value to anything to change the feel of your track.
This method should work with most trackers even though they don't allow hold
and decay values, you'll just have to push the tempo up.  I've had similar
things working with QuadraComposer v2 using the 9xx command.

ABOUT ME & STUFF
================

You can contact me at

Darren Shaw
12 Delamere Road
Rochdale,
Lancs.,
ENGLAND
OL16 4XD


absolute_reality@yahoo.co.uk
                                    ;notice the different extentions
anexium@yahoo.com

Reqtools.library is © Niço Francois and is very cool.

This program has been tested on a A1200 with 2mb Chip, 0mb Fast, WB and KS
3.0; and a ReloKick'd 1.3 and has been found to work perfectly.

KNOWN BUGS & THINGS TO DO
=========================
   o  The sample display window displays garbage on the end of samples of
      less than 1300 bytes (but as most, if not all, sweeps are over this
      lenght, it's not a great problem)
   o  The sample display window doesn't move a line to show where it is in
      the sample (this would be well tricky to impliment currently, but
      maybe I'll sort it out in a later version)
   o  Sometimes the Reqtools requesters appear at the left/right hand side
      of the screen (I can't find any reason for this, as the code is the
      same in sfx and it displays them perfectly)???
   o  When you are trying to overwrite a sample, the "File Exists! Continue?"
      reqtools requester takes an age to appear.  I can only assume this is
      a problem with the reqtools.library as the same code works in other
      programs...
   o  In v1.1ß the load requester appears in the usual left side position,
      but the save requester appears in the centre of the screen.  Does
      anybody know why,when the code for the two requesters are near enough
      the same?
   o  I fixed the above by combining the two bits of code, but still don't
      understand why they appeared in different places, as they both used
      the same tags?!?
   o  Learn to spell...
   o  You let me know

UPDATE AND STUFF
================
Write to me with you ideas and if I use them you'll get a copy of the prog
with your idea in for FREE!!!  When a new version becomes available I'll
write and let you all know.  People who've bought a copy will get later
copies at a discounted rate, others get to pay the full monty.

WHAT TO DO IF YOU FIND A BUG
============================
If for some unforeseen reason Sin doesn't work, or crashes contact me.
Please try and include as much detail as possible, ie 'I'm using ks+wb3.0 on
an a4000 with 68040, 2mb chip and 16mb fast, etc, running sin with octamed,
audiomaster, and superdooperprogramv1.10, and when I do this, that and then
the other the program goes mental', not 'Sin don't work!'. If I can recreate
the bug and fix it I'll send a copy of the bug-fixed prog back to you.

HISTORY
=======

v1.0     -     Initial release, very stable on my a1200, very difficult to
               crash
v1.1ß    -     Beta version of v1.1, added the option of creating your own
               waveforms - this _MAY_ be buggy, use at your own risk.  I've
               got this as stable as I can, but it may be a bit buggy.
               Updated the sample display window, to use the code from
               sfx (butwithout the 2 graphical methods).  The rest of the
               code remains unchanged from v1.0, so it should be totally
               stable if you only use the preset waveforms.  v1.0 is
               included.

** 16 June 1999, I've haven't done any work with on program for an absolute
age, so I'm kinda in two minds as to whether or not to continue with it.
Let me know if you'd like this to have continued support or whether I should
just concentrate on the other (newer) synthesis programs.
