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 operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives:
-<UL>
- <LI>object-oriented C++ design</LI>
- <LI>simple, common API across all supported platforms</LI>
- <LI>only one source and one header file for easy inclusion in programming projects</LI>
- <LI>allow simultaneous multi-api support</LI>
- <LI>support dynamic connection of devices</LI>
- <LI>provide extensive audio device parameter control</LI>
- <LI>allow audio device capability probing</LI>
- <LI>automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping</LI>
-</UL>
+- object-oriented C++ design
+- simple, common API across all supported platforms
+- only one source and one header file for easy inclusion in programming projects
+- allow simultaneous multi-api support
+- support dynamic connection of devices
+- provide extensive audio device parameter control
+- allow audio device capability probing
+- automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping
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.
-\section whatsnew Latest Updates (Version 4.0.12)
+\section whatsnew Latest Updates (Version 5.1.0)
-- new functionality to allow error reporting via a client-supplied function (thanks to Pavel Mogilevskiy)
-- new function to return the version number
-- updated RtAudio.cpp and ASIO files for UNICODE support (thanks to Renaud Schoonbroodt)
-- updates to PulseAudio API support (thanks to Peter Meerwald and Tristan Matthews)
-- updates for pkg-config support in configure script
-- 24-bit format changed to true 24-bit format, not sub-bytes of 32-bits (thanks to Marc Britton)
-- bug fixes to make sure stream status is closed if error during probeDeviceOpen
-- updates / fixes to SCHED_RR code in ALSA (thanks to Marc Lindahl)
-- various changes to avoid global variables (thanks to Martin Koegler)
+Changes in this release include:
+
+- new C API wrapper
+- new static functions to get API names
+- many WASAPI updates (thanks to Marcus Tomlinson)
+- miscellaneous build system updates
+- bug fix for stream ticking in CoreAudio if using two devices for duplex
+- ALSA stream handle bug fixes
+- see git history for complete list of changes
\section download Download
-Latest Release (16 April 2013): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.0.12.tar.gz">Version 4.0.12</A>
+Latest Release (17 April 2019): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-5.1.0.tar.gz">Version 5.1.0</A>
\section documentation Documentation Links
-# \ref apinotes
-# \ref acknowledge
-# \ref license
--# <A href="bugs.html">Bug Tracker</A>
--# <A href="updates.html">Possible Updates</A>
--# <A href="http://sourceforge.net/projects/rtaudio">RtAudio at SourceForge</A>
+-# <A href="http://github.com/thestk/rtaudio">RtAudio on GitHub</A>
*/
+
+-# <A href="bugs.html">Bug Tracker (out of date)</A>
+-# <A href="updates.html">Possible Updates (out of date)</A>