From 4be80163cd9b85cbda79c37460ae1fc03608fd33 Mon Sep 17 00:00:00 2001 From: Gary Scavone Date: Thu, 10 Apr 2014 20:24:09 -0400 Subject: [PATCH] Update to CMake file for WASAPI; documentation update for CMake; finalized date for release 4.1.0 --- CMakeLists.txt | 9 ++++++--- doc/doxygen/tutorial.txt | 4 +++- doc/release.txt | 3 ++- install | 12 +++++++++++- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 365ce75..b96b769 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ include(CheckFunctionExists) option(BUILD_PYTHON "Build PyRtAudio python bindings" OFF) option(AUDIO_WINDOWS_DS "Build Windows DirectSound API" OFF) option(AUDIO_WINDOWS_ASIO "Build Windows ASIO API" OFF) +option(AUDIO_WINDOWS_WASAPI "Build Windows WASAPI API" OFF) option(AUDIO_LINUX_OSS "Build Linux OSS API" OFF) option(AUDIO_LINUX_ALSA "Build Linux ALSA API" OFF) option(AUDIO_LINUX_PULSE "Build Linux PulseAudio API" OFF) @@ -79,15 +80,13 @@ if (UNIX) if (AUDIO_UNIX_JACK) find_library(JACK_LIB jack) list(APPEND LINKLIBS ${JACK_LIB}) -# jack_client_open -# AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(Jack support also requires the asound library!))], ) add_definitions(-D__UNIX_JACK__) message(STATUS "Using JACK") endif (AUDIO_UNIX_JACK) endif (UNIX) if (WIN32) - if (NOT AUDIO_WINDOWS_DS AND NOT AUDIO_WINDOWS_ASIO) + if (NOT AUDIO_WINDOWS_DS AND NOT AUDIO_WINDOWS_ASIO AND NOT AUDIO_WINDOWS_WASAPI) set(AUDIO_WINDOWS_DS ON) endif() @@ -98,6 +97,10 @@ if (WIN32) add_definitions(-D__WINDOWS_DS__) message(STATUS "Using Windows DirectSound") endif (AUDIO_WINDOWS_DS) + if (AUDIO_WINDOWS_WASAPI) + add_definitions(-D__WINDOWS_WASAPI__) + message(STATUS "Using Windows WASAPI") + endif (AUDIO_WINDOWS_WASAPI) if (AUDIO_WINDOWS_ASIO) list(APPEND rtaudio_SOURCES include/asio.cpp diff --git a/doc/doxygen/tutorial.txt b/doc/doxygen/tutorial.txt index 66521d9..fc1a226 100644 --- a/doc/doxygen/tutorial.txt +++ b/doc/doxygen/tutorial.txt @@ -22,14 +22,16 @@ A minor API change was made. The RtError class was renamed RtAudioError and embe Other changes in this release include: - new support for the Windows WASAPI API (thanks to Marcus Tomlinson) +- CMake support (thanks to Berkus Decker) - pulse audio update to support bufferFrames argument with audio input (thanks to Jonatan Wallmander) - fixes for ALSA API to avoid high CPU usage during stops and to clear stale data before input (thanks to Pluto Hades) - miscellaneous efficiency updates suggested by Martin Koegler - bug fix for OS-X xrun reporting problem +- bug fix if error when opening a stream after closing a previously open stream \section download Download -Latest Release (?? April 2014): Version 4.1.0 +Latest Release (10 April 2014): Version 4.1.0 \section documentation Documentation Links diff --git a/doc/release.txt b/doc/release.txt index c4a9aca..91807fb 100644 --- a/doc/release.txt +++ b/doc/release.txt @@ -2,9 +2,10 @@ RtAudio - a set of C++ classes that provide a common API for realtime audio inpu By Gary P. Scavone, 2001-2014. -v4.1.0: (?? April 2014) +v4.1.0: (10 April 2014) - RtError class renamed RtAudioError and embedded in RtAudio.h (RtError.h deleted) - new support for the Windows WASAPI API (thanks to Marcus Tomlinson) +- CMake support (thanks to Berkus Decker) - pulse audio update to support bufferFrames argument with audio input (thanks to Jonatan Wallmander) - fixes for ALSA API to avoid high CPU usage during stops and to clear stale data before input (thanks to Pluto Hades) - miscellaneous efficiency updates suggested by Martin Koegler diff --git a/install b/install index 2afaa41..fd2b4c6 100644 --- a/install +++ b/install @@ -5,6 +5,7 @@ By Gary P. Scavone, 2001-2014. To configure and compile (on Unix systems and MinGW): 1. Unpack the RtAudio distribution (tar -xzf rtaudio-x.x.tar.gz). + 2. From within the directory containing this file, run configure: ./configure @@ -33,7 +34,16 @@ If you wish to use a different compiler than that selected by configure, specify ./configure CXX=CC -WINDOWS USERS: +CMAKE USAGE: + +CMake support is provided via the CMakeLists.txt files. Assuming you have CMake installed on your system, a typical usage would involve the following steps (from within the parent distribution directory): + +mkdir _build_ +cd _build_ +cmake e.g. cmake .. -DAUDIO_WINDOWS_WASAPI=ON + + +WINDOWS: The DirectSound and ASIO APIs in RtAudio compile with either the MinGW compiler or MS Visual Studio. The WASAPI API currently only compiles in MS Visual Studio. -- 2.30.2