RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/\r
\r
RtAudio: realtime audio i/o C++ classes\r
- Copyright (c) 2001-2014 Gary P. Scavone\r
+ Copyright (c) 2001-2016 Gary P. Scavone\r
\r
Permission is hereby granted, free of charge, to any person\r
obtaining a copy of this software and associated documentation files\r
*/\r
/************************************************************************/\r
\r
-// RtAudio: Version 4.1.1\r
+// RtAudio: Version 4.1.2\r
\r
#include "RtAudio.h"\r
#include <iostream>\r
RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/
RtAudio: realtime audio i/o C++ classes
- Copyright (c) 2001-2014 Gary P. Scavone
+ Copyright (c) 2001-2016 Gary P. Scavone
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
#ifndef __RTAUDIO_H
#define __RTAUDIO_H
-#define RTAUDIO_VERSION "4.1.1"
+#define RTAUDIO_VERSION "4.1.2"
#include <string>
#include <vector>
# Process this file with autoconf to produce a configure script.
-AC_INIT(RtAudio, 4.1, gary@music.mcgill.ca, rtaudio)
+AC_INIT(RtAudio, 4.1.1, gary@music.mcgill.ca, rtaudio)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_SRCDIR(RtAudio.cpp)
AC_CONFIG_FILES([rtaudio-config rtaudio.pc Makefile tests/Makefile doc/Makefile doc/doxygen/Doxyfile])
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/ioctl.h unistd.h)
+# Check version number coherency between RtAudio.h and configure.ac
+AC_MSG_CHECKING([that version numbers are coherent])
+AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([#include <string.h>
+ `grep "define RTAUDIO_VERSION" $srcdir/RtAudio.h`],
+ [return strcmp(RTAUDIO_VERSION, PACKAGE_VERSION);])],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_FAILURE([testing RTAUDIO_VERSION==PACKAGE_VERSION failed, check that RtAudio.h defines RTAUDIO_VERSION as "$PACKAGE_VERSION" or that the first line of configure.ac has been updated.])])
+
# Check for debug
AC_MSG_CHECKING(whether to compile debug version)
AC_ARG_ENABLE(debug,
[AC_SUBST( cppflag, [-D__RTAUDIO_DEBUG__] ) AC_SUBST( cxxflag, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)],
[AC_SUBST( cppflag, [] ) AC_SUBST( cxxflag, [-O2] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)])
-
# Checks for functions
AC_CHECK_FUNC(gettimeofday, [cppflag="$cppflag -DHAVE_GETTIMEOFDAY"], )
<HR>
<table><tr><td><img src="../images/mcgill.gif" width=165></td>
- <td>©2001-2014 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-2016 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>
</BODY>
/*! \page license License
RtAudio: a set of realtime audio i/o C++ classes<BR>
- Copyright (c) 2001-2012 Gary P. Scavone
+ Copyright (c) 2001-2016 Gary P. Scavone
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
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.1.1)
+\section whatsnew Latest Updates (Version 4.1.2)
Changes in this release include:
-- updates to WASAPI API for MinGW compiling
-- WASAPI bug fixes for audio INPUT mode (thanks to Marcus Tomlinson)
-- DirectSound bug fix for INPUT mode
-- Bug fixes in Core, Jack, ASIO and DS for internal draining in INPUT mode
-- updates to test programs for default device specifiers
-- CMake buildfile update for WASAPI
-- new setStreamTime function
+- miscellaneous small fixes for the various systems (more details in <A href="http://github.com/thestk/rtaudio">GitHub</A>)
-Changes in the previous 4.1.0 release included:
+Changes in the 4.1.0 release included:
- RtError class renamed RtAudioError and embedded in RtAudio.h (RtError.h deleted)
- new support for the Windows WASAPI API (thanks to Marcus Tomlinson)
\section download Download
-Latest Release (26 April 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.1.1.tar.gz">Version 4.1.1</A>
+Latest Release (?? February 2016): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.1.2.tar.gz">Version 4.1.2</A>
\section documentation Documentation Links
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-2014.
+By Gary P. Scavone, 2001-2016.
+
+v4.1.2: (?? February 2016)
+- miscellaneous updates, see github repo commit history for details
v4.1.1: (26 April 2014)
- updates to WASAPI API for MinGW compiling
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-2014.
+By Gary P. Scavone, 2001-2016.
This distribution of RtAudio contains the following:
The RtAudio license is similar to the MIT License.
RtAudio: a set of realtime audio i/o C++ classes
- Copyright (c) 2001-2014 Gary P. Scavone
+ Copyright (c) 2001-2016 Gary P. Scavone
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
// a simple buffer copy operation here.
if ( status ) std::cout << "Stream over/underflow detected." << std::endl;
- uint32_t *bytes = (uint32_t *) data;
+ unsigned int *bytes = (unsigned int *) data;
memcpy( outputBuffer, inputBuffer, *bytes );
return 0;
}