@@ -31,7 +31,7 @@ PROJECT_NAME = RtAudio | |||||
# This could be handy for archiving the generated documentation or | # This could be handy for archiving the generated documentation or | ||||
# if some version control system is used. | # if some version control system is used. | ||||
PROJECT_NUMBER = 4.0.11 | |||||
PROJECT_NUMBER = 4.0.12 | |||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) | # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) | ||||
# base path where the generated documentation will be put. | # base path where the generated documentation will be put. | ||||
@@ -1,7 +1,7 @@ | |||||
<HR> | <HR> | ||||
<table><tr><td><img src="../images/mcgill.gif" width=165></td> | <table><tr><td><img src="../images/mcgill.gif" width=165></td> | ||||
<td>©2001-2012 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr> | |||||
<td>©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr> | |||||
</table> | </table> | ||||
</BODY> | </BODY> | ||||
@@ -15,24 +15,21 @@ RtAudio is a set of C++ classes that provide a common API (Application Programmi | |||||
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. | 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 What's New (Version 4.0) | |||||
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: | |||||
- 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 | |||||
- updated support for OSS version 4.0 | |||||
- discontinued support of blocking functionality | |||||
- discontinued support of SGI | |||||
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. | |||||
\section whatsnew Latest Updates (Version 4.0.12) | |||||
- 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) | |||||
\section download Download | \section download Download | ||||
Latest Release (?? December 2012): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.0.12.tar.gz">Version 4.0.12</A> | |||||
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> | |||||
\section documentation Documentation Links | \section documentation Documentation Links | ||||
@@ -2,7 +2,9 @@ RtAudio - a set of C++ classes that provide a common API for realtime audio inpu | |||||
By Gary P. Scavone, 2001-2013. | By Gary P. Scavone, 2001-2013. | ||||
v4.0.12: (?? April 2013) | |||||
v4.0.12: (16 April 2013) | |||||
- 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) | - 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 to PulseAudio API support (thanks to Peter Meerwald and Tristan Matthews) | ||||
- updates for pkg-config support in configure script | - updates for pkg-config support in configure script | ||||
@@ -30,8 +30,14 @@ If you wish to use a different compiler than that selected by configure, specify | |||||
./configure CXX=CC | ./configure CXX=CC | ||||
For Windows Users: | |||||
WINDOWS USERS: | |||||
RtAudio compiles with the MinGW compiler or MS Visual Studio. | RtAudio compiles with the MinGW compiler or MS Visual Studio. | ||||
Visual C++ 6.0 project files are included for the test programs in the /tests/Windows/ directory. These projects compile API support for both ASIO and DirectSound. Version 4.0 of RtAudio was tested with the .net compiler and it will not compile in Visual C++ 6.0 because of its non-conformance to modern C++ standards. | |||||
Visual C++ 6.0 project files (very old) are included for the test programs in the /tests/Windows/ directory. These projects compile API support for both ASIO and DirectSound. | |||||
LINUX OSS: | |||||
The OSS API support in RtAudio has not been tested for many years. I'm not even sure there are OSS drivers supporting recent linux kernels. In all likelihood, the OSS API code in RtAudio will disappear within the next year or two (if you don't want this to happen, let me know). |
@@ -6,7 +6,7 @@ This distribution of RtAudio contains the following: | |||||
doc: RtAudio documentation (see doc/html/index.html) | doc: RtAudio documentation (see doc/html/index.html) | ||||
tests: example RtAudio programs | tests: example RtAudio programs | ||||
include: header and source files necessary for ASIO & DS compilation | |||||
include: header and source files necessary for ASIO, DS & OSS compilation | |||||
tests/Windows: Visual C++ .net test program workspace and projects | tests/Windows: Visual C++ .net test program workspace and projects | ||||
OVERVIEW: | OVERVIEW: | ||||
@@ -88,7 +88,7 @@ int saw( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, | |||||
for ( i=0; i<nBufferFrames; i++ ) { | for ( i=0; i<nBufferFrames; i++ ) { | ||||
for ( j=0; j<channels; j++ ) { | for ( j=0; j<channels; j++ ) { | ||||
*buffer++ = (MY_TYPE) (lastValues[j] * SCALE); | |||||
*buffer++ = (MY_TYPE) (lastValues[j] * SCALE * 0.5); | |||||
lastValues[j] += BASE_RATE * (j+1+(j*0.1)); | lastValues[j] += BASE_RATE * (j+1+(j*0.1)); | ||||
if ( lastValues[j] >= 1.0 ) lastValues[j] -= 2.0; | if ( lastValues[j] >= 1.0 ) lastValues[j] -= 2.0; | ||||
} | } | ||||
@@ -116,7 +116,7 @@ int saw( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, | |||||
for ( j=0; j<channels; j++ ) { | for ( j=0; j<channels; j++ ) { | ||||
increment = BASE_RATE * (j+1+(j*0.1)); | increment = BASE_RATE * (j+1+(j*0.1)); | ||||
for ( i=0; i<nBufferFrames; i++ ) { | for ( i=0; i<nBufferFrames; i++ ) { | ||||
*buffer++ = (MY_TYPE) (lastValues[j] * SCALE); | |||||
*buffer++ = (MY_TYPE) (lastValues[j] * SCALE * 0.5); | |||||
lastValues[j] += increment; | lastValues[j] += increment; | ||||
if ( lastValues[j] >= 1.0 ) lastValues[j] -= 2.0; | if ( lastValues[j] >= 1.0 ) lastValues[j] -= 2.0; | ||||
} | } | ||||