Date and documentation updates for release 4.0.4 (gps).
[rtaudio-cdist.git] / doc / doxygen / tutorial.txt
1 /*! \mainpage The RtAudio Home Page
2
3 RtAudio is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows (DirectSound and ASIO) operating systems.  RtAudio significantly simplifies the process of interacting with computer audio hardware.  It was designed with the following objectives:
4
5 <UL>
6   <LI>object-oriented C++ design</LI>
7   <LI>simple, common API across all supported platforms</LI>
8   <LI>only one source and two header files for easy inclusion in programming projects</LI>
9   <LI>allow simultaneous multi-api support</LI>
10   <LI>support dynamic connection of devices</LI>
11   <LI>provide extensive audio device parameter control</LI>
12   <LI>allow audio device capability probing</LI>
13   <LI>automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping</LI>
14 </UL>
15
16 RtAudio incorporates the concept of audio streams, which represent audio output (playback) and/or input (recording).  Available audio devices and their capabilities can be enumerated and then specified when opening a stream.  Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance.  See the \ref apinotes section for information specific to each of the supported audio APIs.
17
18 \section whatsnew What's New (Version 4.0)
19
20 RtAudio V4 represents a significant rewrite of the code and includes a number of API and functionality changes from previous versions. A partial list of the changes includes:
21 - new support for non-interleaved user data
22 - additional input/output parameter specifications, including channel offset
23 - new support for dynamic connection of devices
24 - new support for stream time
25 - revised callback arguments, including separate input and output buffer arguments
26 - revised C++ exception handling
27 - updated support for OSS version 4.0
28 - discontinued support of blocking functionality
29 - discontinued support of SGI
30
31 Devices are now re-enumerated every time the RtAudio::getDeviceCount(), RtAudio::getDeviceInfo(), and RtAudio::openStream() functions are called.  This allows for the proper identification of hot-pluggable (USB, Firewire, ...) devices that are connected after an RtAudio instance is created.
32
33 \section download Download
34
35 Latest Release (24 January 2008): <A href="http://music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.0.4.tar.gz">Version 4.0.4</A>
36
37 \section documentation Documentation Links
38
39 -# \ref errors
40 -# \ref probe
41 -# \ref settings
42 -# \ref playback
43 -# \ref recording
44 -# \ref duplex
45 -# \ref multi
46 -# \ref compiling
47 -# \ref apinotes
48 -# \ref acknowledge
49 -# \ref license
50 -# <A href="bugs.html">Bug Tracker</A>
51 -# <A href="updates.html">Possible Updates</A>
52 -# <A href="http://sourceforge.net/projects/rtaudio">RtAudio at SourceForge</A>
53
54 */