/*! \page multichannel Multi-Channel I/O

The ToolKit WvIn and WvOut classes (and their subclasses) support multi-channel audio data input and output.  A set of interleaved audio samples representing a single time "slice" is referred to as a <I>sample frame</I>.  At a sample rate of 44.1 kHz, a four-channel audio stream will have 44100 sample frames per second and a total of 176400 individual samples per second.

Most STK classes process single-sample data streams via their <TT>tick()</TT> function.  In order to distinguish single-sample and sample frame calculations, the WvIn and WvOut classes implement both <TT>tick()</TT> and <TT>tickFrame()</TT> functions.  The <TT>tickFrame()</TT> functions take or return a pointer to an array of audio data representing one or more sample frames.  For single-channel streams, the <TT>tick()</TT> and <TT>tickFrame()</TT> functions produce equivalent results.  When <TT>tick()</TT> is called for a multi-channel stream, however, the function either returns a sample frame average (WvIn) or writes a single sample argument to all channels (WvOut).

Multi-channel support for realtime audio input and output is dependent on the audio device(s) available on your system.

The following example demonstrates the use of the WvOut class for creating a four channel, 16-bit AIFF formatted audio file.  We will use four sinewaves of different frequencies for the first two seconds and then a single sinewave for the last two seconds.

\include foursine.cpp

[<A HREF="polyvoices.html">Next tutorial</A>] &nbsp; [<A HREF="tutorial.html">Main tutorial page</A>]
*/
