RtAudio - a set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound and ASIO) operating systems. By Gary P. Scavone, 2001-2007. v4.0.2: (21 August 2007) - fix to RtError::WARNING typo in RtAudio.h (RtApiDummy) - removed "+1"s in RtApiCore c++ append when getting device name v4.0.1: (13 August 2007) - fix to RtError::WARNING typo in RtAudio.cpp v4.0.0: (7 August 2007) - new support for non-interleaved user data - additional input/output parameter specifications, including channel offset - new support for dynamic connection of devices - new support for stream time - revised callback arguments, including separate input and output buffer arguments - revised C++ exception handling - revised OSS support for version 4.0 - discontinued support of blocking functionality - discontinued support of SGI - Windows DirectSound API bug fix - NetBSD support (using OSS API) by Emmanuel Dreyfus - changed default pthread scheduling priority to SCHED_RR when defined in the system - new getCompiledApi() static function - new getCurrentApi(), getStreamTime(), getStreamLatency(), and isStreamRunning() functions - modified RtAudioDeviceInfo structure to distinguish default input and output devices v3.0.3: (18 November 2005) - UNICODE fix for Windows DirectSound API - MinGW compiler fix for ASIO API v3.0.2: (14 October 2005) - modification of ALSA read/write order to fix duplex under/overruns - added synchronization of input/output devices for ALSA duplex operation - cleaned up and improved error reporting throughout - bug fix in Windows DirectSound support for 8-bit audio - bug fix in Windows DirectSound support during device capture query - added ASIOOutputReady() call near end of callbackEvent to fix some driver behavior - added #include to RtAudio.cpp - fixed bug in RtApiCore for duplex operation with different I/O devices - improvements to DirectX pointer chasing (by Robin Davies) - backdoor RtDsStatistics hook provides DirectX performance information (by Robin Davies) - bug fix for non-power-of-two Asio granularity used by Edirol PCR-A30 (by Robin Davies) - auto-call CoInitialize for DSOUND and ASIO platforms (by Robin Davies) v3.0.1: (22 March 2004) - bug fix in Windows DirectSound support for cards with output only v3.0: (11 March 2004) - added Linux Jack audio server support - new multi-api support by subclassing all apis and making rtaudio a controller class - added over/underload check to Mac OS X support - new scheme for blocking functionality in callback-based apis (CoreAudio, ASIO, and JACK) - removed multiple stream support (all stream indentifier arguments removed) - various style and name changes to conform with standard C++ practice v2.1.1: (24 October 2002) - bug fix in duplex for Mac OS X and Windows ASIO code - duplex example change in tutorial v2.1: (7 October 2002) - added Mac OS X CoreAudio support - added Windows ASIO support - API change to getDeviceInfo(): device argument must be an integer between 1 - getDeviceCount(). - "configure" support added for unix systems - adopted MIT-like license - various internal structural changes and bug fixes v2.01: (27 April 2002) - Windows destructor bug fix when no devices available - RtAudioError class renamed to RtError - Preprocessor definitions changed slightly (i.e. __LINUX_OSS_ to __LINUX_OSS__) to conform with new Synthesis ToolKit distribution v2.0: (22 January 2002) - first release of new independent class