diff --git a/LICENSE b/LICENSE index f80dc723..fcb119e5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ RtAudio: a set of realtime audio i/o C++ classes -Copyright (c) 2001-2021 Gary P. Scavone +Copyright (c) 2001-2023 Gary P. Scavone Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files diff --git a/README.md b/README.md index 935004ed..ebe5f70d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO and WASAPI) operating systems. -By Gary P. Scavone, 2001-2022 (and many other developers!) +By Gary P. Scavone, 2001-2023 (and many other developers!) This distribution of RtAudio contains the following: diff --git a/RtAudio.cpp b/RtAudio.cpp index 21d9e6b3..899bb4b3 100644 --- a/RtAudio.cpp +++ b/RtAudio.cpp @@ -11,7 +11,7 @@ RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/ RtAudio: realtime audio i/o C++ classes - Copyright (c) 2001-2022 Gary P. Scavone + Copyright (c) 2001-2023 Gary P. Scavone Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -39,7 +39,7 @@ */ /************************************************************************/ -// RtAudio: Version 6.0.0beta1 +// RtAudio: Version 6.0.0 #include "RtAudio.h" #include diff --git a/RtAudio.h b/RtAudio.h index 0c70fa98..d2960f39 100644 --- a/RtAudio.h +++ b/RtAudio.h @@ -11,7 +11,7 @@ RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/ RtAudio: realtime audio i/o C++ classes - Copyright (c) 2001-2022 Gary P. Scavone + Copyright (c) 2001-2023 Gary P. Scavone Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -49,7 +49,7 @@ #define RTAUDIO_VERSION_MAJOR 6 #define RTAUDIO_VERSION_MINOR 0 #define RTAUDIO_VERSION_PATCH 0 -#define RTAUDIO_VERSION_BETA 1 +#define RTAUDIO_VERSION_BETA 0 #define RTAUDIO_TOSTRING2(n) #n #define RTAUDIO_TOSTRING(n) RTAUDIO_TOSTRING2(n) diff --git a/configure.ac b/configure.ac index 5f61b645..81e59709 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(RtAudio, 6.0.0beta1, gary.scavone@mcgill.ca, rtaudio) +AC_INIT(RtAudio, 6.0.0, gary.scavone@mcgill.ca, rtaudio) AC_CONFIG_AUX_DIR(config) AC_CONFIG_SRCDIR(RtAudio.cpp) AC_CONFIG_FILES([rtaudio.pc Makefile tests/Makefile doc/Makefile doc/Doxyfile]) @@ -20,7 +20,7 @@ AM_INIT_AUTOMAKE([1.14 -Wall -Werror foreign subdir-objects]) # If any interfaces have been removed since the last public release, then set # age to 0. m4_define([lt_current], 6) -m4_define([lt_revision], 2) +m4_define([lt_revision], 0) m4_define([lt_age], 0) m4_define([lt_version_info], [lt_current:lt_revision:lt_age]) diff --git a/doc/doxygen/error.txt b/doc/doxygen/error.txt index d294e2e8..130629d6 100644 --- a/doc/doxygen/error.txt +++ b/doc/doxygen/error.txt @@ -1,5 +1,5 @@ /*! \page errors Error Handling -RtAudio no longer makes use of C++ exceptions. Instead, the functions RtAudio::openStream(), RtAudio::startStream(), RtAudio::stopStream(), RtAudio::abortStream()) return an RtAudioErrorType variable, which will be RTAUDIO_NO_ERROR when successful. Details of the error can be obtained using an error callback function or by calling the RtAudio::getErrorText() function. In other cases, a warning message may be displayed and an appropriate value is returned. For example, if a system error occurs when processing the RtAudio::getDeviceCount() function, the return value is zero. In such a case, the user cannot expect to make use of most other RtAudio functions because no devices are available (and thus a stream cannot be opened). A client can call the function RtAudio::showWarnings() with a boolean argument to enable or disable the printing of warning messages to stderr. By default, warning messages are displayed. There is a protected RtAudio method, error(), that can be modified to globally control how these messages are handled and reported. +RtAudio no longer makes use of C++ exceptions. Instead, the functions RtAudio::openStream(), RtAudio::startStream(), RtAudio::stopStream(), RtAudio::abortStream()) return an RtAudioErrorType variable, which will be RTAUDIO_NO_ERROR (value = 0) when successful. Any non-zero return value from those functions indicates an error has occurred. If an RtAudioErrorCallback() function has been set, the #RtAudioErrorType and textual details will be provided through that function. One can also obtain the last error message by calling the RtAudio::getErrorText() function. For all other functions, a warning message may be produced (returned through the RtAudioErrorCallback() if set, otherwise printed to stderr) and an appropriate value is returned. For example, if a system error occurs when processing the RtAudio::getDeviceCount() function, the return value is zero. In such a case, the user cannot expect to make use of most other RtAudio functions because no devices are available (and thus a stream cannot be opened). A client can call the function RtAudio::showWarnings() with a boolean argument to enable or disable the return or printing of warning messages (default value is enabled). There is a protected RtAudio method, error(), that can be modified to globally control how these messages are handled and reported. */ diff --git a/doc/doxygen/footer.html b/doc/doxygen/footer.html index 7f3d96d2..9a9e0252 100644 --- a/doc/doxygen/footer.html +++ b/doc/doxygen/footer.html @@ -1,7 +1,7 @@
- +
©2001-2022 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
©2001-2023 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
diff --git a/doc/doxygen/license.txt b/doc/doxygen/license.txt index 2174efbc..a878400f 100644 --- a/doc/doxygen/license.txt +++ b/doc/doxygen/license.txt @@ -1,7 +1,7 @@ /*! \page license License RtAudio: a set of realtime audio i/o C++ classes
- Copyright (c) 2001-2021 Gary P. Scavone + Copyright (c) 2001-2023 Gary P. Scavone Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files diff --git a/doc/doxygen/settings.txt b/doc/doxygen/settings.txt index aa335919..11bca9fa 100644 --- a/doc/doxygen/settings.txt +++ b/doc/doxygen/settings.txt @@ -32,15 +32,15 @@ int main() } \endcode -The RtAudio::openStream() function attempts to open a stream with a specified set of parameter values. In the above example, we attempt to open a two channel playback stream using the default output device, 32-bit floating point data, a sample rate of 44100 Hz, and a frame rate of 256 sample frames per output buffer. If the user specifies an invalid parameter value (such as an unsupported sample rate or an invalid device ID), a non-zero RtAudioErrorType value of RTAUDIO_INVALID_PARAMETER (or perhaps RTAUDIO_INVALID_USE) is returned. If a system error occurs when attempting to open the stream, an RtAudioErrorType of RTAUDIO_SYSTEM_ERROR is returned. In either case, a descriptive error message can be retrieved using the RtAudio::getErrorText() function. +The RtAudio::openStream() function attempts to open a stream with a specified set of parameter values. In the above example, we attempt to open a two channel playback stream using the default output device, 32-bit floating point data, a sample rate of 44100 Hz, and a frame rate of 256 sample frames per output buffer. If the user specifies an invalid parameter value (such as an unsupported sample rate or an invalid device ID), a non-zero #RtAudioErrorType value of RTAUDIO_INVALID_PARAMETER (or perhaps RTAUDIO_INVALID_USE) is returned. If a system error occurs when attempting to open the stream, an #RtAudioErrorType of RTAUDIO_SYSTEM_ERROR is returned. In either case, a descriptive error message can be retrieved using the RtAudio::getErrorText() function. -RtAudio provides four signed integer and two floating point data formats which can be specified using the RtAudioFormat parameter values mentioned earlier. If the opened device does not natively support the given format, RtAudio will automatically perform the necessary data format conversion. +RtAudio provides four signed integer and two floating point data formats that can be specified using the RtAudioFormat parameter values mentioned earlier. If the opened device does not natively support the given format, RtAudio will automatically perform the necessary data format conversion. The \c bufferFrames parameter specifies the desired number of sample frames that will be written to and/or read from a device per write/read operation. This parameter can be used to control stream latency though there is no guarantee that the passed value will be that used by a device. In general, a lower \c bufferFrames value will produce less latency but perhaps less robust performance. A value of zero can be specified, in which case the smallest allowable value will be used. The \c bufferFrames parameter is passed as a pointer and the actual value used by the stream is set during the device setup procedure. \c bufferFrames values should be a power of two. Optimal and allowable buffer values tend to vary between systems and devices. Stream latency can also be controlled via the optional RtAudio::StreamOptions member \c numberOfBuffers (not used in the example above), though this tends to be more system dependent. In particular, the \c numberOfBuffers parameter is ignored when using the OS-X Core Audio, Jack, and the Windows ASIO APIs. As noted earlier, the device capabilities reported by a driver or underlying audio API are not always accurate and/or may be dependent on a combination of device settings (for example, higher sample rates may reduce the maximum number of channels). Because of this, RtAudio does not attempt to query a device's capabilities or use previously reported values when opening a device. Instead, RtAudio simply attempts to set the given parameters on a specified device and then checks whether the setup is successful or not. -The RtAudioCallback parameter above is a pointer to a user-defined function that will be called whenever the audio system is ready for new output data or has new input data to be read. Further details on the use of a callback function are provided in the next section. +The RtAudioCallback() parameter above is a pointer to a user-defined function that will be called whenever the audio system is ready for new output data or has new input data to be read. Further details on the use of a callback function are provided in the next section. Several stream options are available to fine-tune the behavior of an audio stream. In the example above, we specify that data will be written by the user in a \e non-interleaved format via the RtAudio::StreamOptions member \c flags. That is, all \c bufferFrames of the first channel should be written consecutively, followed by all \c bufferFrames of the second channel. By default (when no option is specified), RtAudio expects data to be written in an \e interleaved format. diff --git a/doc/doxygen/tutorial.txt b/doc/doxygen/tutorial.txt index 9b1d124b..3adda0a2 100644 --- a/doc/doxygen/tutorial.txt +++ b/doc/doxygen/tutorial.txt @@ -17,14 +17,14 @@ RtAudio incorporates the concept of audio streams, which represent audio output Changes in this release include: -- complete rewrite of device enumeration scheme for all APIs to provide persistent IDs (significant API change) +- complete rewrite of device enumeration scheme for all APIs to provide persistent IDs within a given instance (significant API change) - discontinued use of C++ exceptions, switched to error code return values from various functions (significant API change) - corresponding updates to test programs and documentation - see git history for complete list of changes \section download Download -Latest Release (?? 2022): Version 6.0.0 +Latest Release (21 July 2023): Version 6.0.0 \section documentation Documentation Links diff --git a/doc/release.txt b/doc/release.txt index 0d4196c2..cc5e5974 100644 --- a/doc/release.txt +++ b/doc/release.txt @@ -1,8 +1,8 @@ RtAudio - a set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio, and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO and WASAPI) operating systems. -By Gary P. Scavone, 2001-2022. +By Gary P. Scavone, 2001-2023. -v.6.0.0: (?? 2022) +v.6.0.0: (21 July 2023) - see git history for complete list of changes - major API changes concerning device selection / specification - major API changes concerning error handling ... C++ exceptions no longer used diff --git a/install.txt b/install.txt index 693ff5da..7d83990c 100644 --- a/install.txt +++ b/install.txt @@ -1,6 +1,6 @@ RtAudio - a set of C++ classes which provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio, and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO and WASAPI) operating systems. -By Gary P. Scavone, 2001-2021. +By Gary P. Scavone, 2001-2023. To configure and compile (on Unix systems and MinGW):