Added new setStreamTime function; Documentation updates for 4.1.1 release.
authorGary Scavone <gary@music.mcgill.ca>
Sat, 26 Apr 2014 18:39:15 +0000 (14:39 -0400)
committerGary Scavone <gary@music.mcgill.ca>
Sat, 26 Apr 2014 18:39:15 +0000 (14:39 -0400)
Makefile.in
RtAudio.cpp
RtAudio.h
configure.ac
doc/doxygen/Doxyfile
doc/doxygen/compiling.txt
doc/doxygen/tutorial.txt
doc/release.txt
librtaudio.pc.in

index 74d648d7781c34725720e003bead9253cd09d40d..89cacdcc55540b15f568675a53667aca060c9b81 100644 (file)
@@ -9,7 +9,7 @@ OBJECTS = RtAudio.o @objects@
 LIBNAME = librtaudio
 STATIC = $(LIBNAME).a
 SHARED = @sharedlib@
-RELEASE = 4.1.0
+RELEASE = 4.1.1
 MAJOR = 4
 LIBRARIES = $(STATIC) $(SHARED)
 
index 9f1201670c8f1aa55bdcb84946d9e36479f3678a..af7d205a1977491c39e76b85affb3fc8dc332807 100644 (file)
@@ -38,7 +38,7 @@
 */\r
 /************************************************************************/\r
 \r
-// RtAudio: Version 4.1.1pre\r
+// RtAudio: Version 4.1.1\r
 \r
 #include "RtAudio.h"\r
 #include <iostream>\r
@@ -404,6 +404,14 @@ double RtApi :: getStreamTime( void )
 #endif\r
 }\r
 \r
+void RtApi :: setStreamTime( double time )\r
+{\r
+  verifyStream();\r
+\r
+  if ( time >= 0.0 )\r
+    stream_.streamTime = time;\r
+}\r
+\r
 unsigned int RtApi :: getStreamSampleRate( void )\r
 {\r
  verifyStream();\r
index b4e43e35a2c4457e51609f22fb60377251dffd26..57d2c8dcd2423e828f23fdc60930815ac0274664 100644 (file)
--- a/RtAudio.h
+++ b/RtAudio.h
@@ -45,7 +45,7 @@
 #ifndef __RTAUDIO_H
 #define __RTAUDIO_H
 
-#define RTAUDIO_VERSION "4.1.1pre"
+#define RTAUDIO_VERSION "4.1.1"
 
 #include <string>
 #include <vector>
@@ -538,6 +538,12 @@ class RtAudio
   */
   double getStreamTime( void );
 
+  //! Set the stream time to a time in seconds greater than or equal to 0.0.
+  /*!
+    If a stream is not open, an RtAudioError (type = INVALID_USE) will be thrown.
+  */
+  void setStreamTime( double time );
+
   //! Returns the internal stream latency in sample frames.
   /*!
     The stream latency refers to delay in audio input and/or output
@@ -686,6 +692,7 @@ public:
   long getStreamLatency( void );
   unsigned int getStreamSampleRate( void );
   virtual double getStreamTime( void );
+  virtual void setStreamTime( double time );
   bool isStreamOpen( void ) const { return stream_.state != STREAM_CLOSED; }
   bool isStreamRunning( void ) const { return stream_.state == STREAM_RUNNING; }
   void showWarnings( bool value ) { showWarnings_ = value; }
@@ -830,6 +837,7 @@ inline bool RtAudio :: isStreamRunning( void ) const throw() { return rtapi_->is
 inline long RtAudio :: getStreamLatency( void ) { return rtapi_->getStreamLatency(); }
 inline unsigned int RtAudio :: getStreamSampleRate( void ) { return rtapi_->getStreamSampleRate(); }
 inline double RtAudio :: getStreamTime( void ) { return rtapi_->getStreamTime(); }
+inline void RtAudio :: setStreamTime( double time ) { return rtapi_->setStreamTime( time ); }
 inline void RtAudio :: showWarnings( bool value ) throw() { rtapi_->showWarnings( value ); }
 
 // RtApi Subclass prototypes.
index 6c169b6f307402b3a1f7eb2446264269795f57b0..fa459671016a801972cf56a83c8e340032a23b38 100644 (file)
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a configure script.
-AC_INIT(RtAudio, 4.0, gary@music.mcgill.ca, rtaudio)
+AC_INIT(RtAudio, 4.1, gary@music.mcgill.ca, rtaudio)
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_SRCDIR(RtAudio.cpp)
 AC_CONFIG_FILES([rtaudio-config librtaudio.pc Makefile tests/Makefile])
index d7081b890781dc05acf81ff6df82b0bb5f636a93..46d07dbfc52733117f026b210a8cd9b27b69d2d0 100644 (file)
@@ -32,7 +32,7 @@ PROJECT_NAME           = RtAudio
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 4.1.0
+PROJECT_NUMBER         = 4.1.1
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description 
 # for a project that appears at the top of each page and should give viewer 
index 3fa52cc012ed904d558dcdbb664fd19a936b93ce..53a06f72ff539d7a3ee1364557da13d80b97c3e9 100644 (file)
@@ -65,7 +65,7 @@ In order to compile RtAudio for a specific OS and audio API, it is necessary to
   <TD>RtApiDs</TD>
   <TD>__WINDOWS_DS__</TD>
   <TD><TT>dsound.lib (ver. 5.0 or higher), multithreaded</TT></TD>
-  <TD><I>compiler specific</I></TD>
+  <TD>MinGW: <TT>g++ -Wall -D__WINDOWS_DS__ -o audioprobe audioprobe.cpp RtAudio.cpp -lole32 -lwinmm -ldsound</TT></TD>
 </TR>
 <TR>
   <TD>Windows</TD>
@@ -73,20 +73,20 @@ In order to compile RtAudio for a specific OS and audio API, it is necessary to
   <TD>RtApiAsio</TD>
   <TD>__WINDOWS_ASIO__</TD>
   <TD><I>various ASIO header and source files</I></TD>
-  <TD><I>compiler specific</I></TD>
+  <TD>MinGW: <TT>g++ -Wall -D__WINDOWS_ASIO__ -Iinclude -o audioprobe audioprobe.cpp RtAudio.cpp asio.cpp asiolist.cpp asiodrivers.cpp iasiothiscallresolver.cpp -lole32</TT></TD>
 </TR>
 <TR>
   <TD>Windows</TD>
   <TD>WASAPI</TD>
   <TD>RtApiWasapi</TD>
   <TD>__WINDOWS_WASAPI__</TD>
-  <TD><I>various ASIO header and source files</I></TD>
-  <TD><I>compiler specific ... not currently working with MingW compiler</I></TD>
+  <TD>MinGW: <TT>FunctionDiscoveryKeys_devpkey.h, lksuser, luuid, lwinmm, lole32</TT></TD>
+  <TD>MinGW: <TT>g++ -Wall -D__WINDOWS_WASAPI__ -Iinclude -o audioprobe audioprobe.cpp RtAudio.cpp -lole32 -lwinmm -lksuser -luuid</TT></TD>
 </TR>
 </TABLE>
 <P>
 
-The example compiler statements above could be used to compile the <TT>audioprobe.cpp</TT> example file, assuming that <TT>audioprobe.cpp</TT>, <TT>RtAudio.h</TT> and <TT>RtAudio.cpp</TT> all exist in the same directory.
+The example compiler statements above could be used to compile the <TT>audioprobe.cpp</TT> example file, assuming that <TT>audioprobe.cpp</TT>, <TT>RtAudio.h</TT>, <TT>RtAudio.cpp</TT> and any other necessary files all exist in the same directory or the include directory.
 
 
 */
index fc1a226fdb74edf3559f3fa0467745b5dd5a32ac..04b77d9392d6e938180a548d9a8e97f0477a311c 100644 (file)
@@ -15,12 +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.
 
-\section whatsnew Latest Updates (Version 4.1.0)
+\section whatsnew Latest Updates (Version 4.1.1)
 
-A minor API change was made. The RtError class was renamed RtAudioError and embedded directly in RtAudio.h.  Thus, all references to RtError should be renamed to RtAudioError and the RtError.h file should be deleted.
+Changes in this release include:
 
-Other 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
 
+Changes in the previous 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)
 - CMake support (thanks to Berkus Decker)
 - pulse audio update to support bufferFrames argument with audio input (thanks to Jonatan Wallmander)
@@ -31,7 +40,7 @@ Other changes in this release include:
 
 \section download Download
 
-Latest Release (10 April 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.1.0.tar.gz">Version 4.1.0</A>
+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>
 
 \section documentation Documentation Links
 
@@ -46,8 +55,9 @@ Latest Release (10 April 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudi
 -# \ref apinotes
 -# \ref acknowledge
 -# \ref license
--# <A href="bugs.html">Bug Tracker (out of date)</A>
--# <A href="updates.html">Possible Updates (out of date)</A>
 -# <A href="http://github.com/thestk/rtaudio">RtAudio on GitHub</A>
 
 */
+
+-# <A href="bugs.html">Bug Tracker (out of date)</A>
+-# <A href="updates.html">Possible Updates (out of date)</A>
index d43f697c3fd30a7a1488d0a5f44d414866b33e4a..9dc44a3380ed2801b8deda61227830bdc93a0feb 100644 (file)
@@ -2,8 +2,14 @@ RtAudio - a set of C++ classes that provide a common API for realtime audio inpu
 
 By Gary P. Scavone, 2001-2014.
 
-v4.1.1pre: (??)
+v4.1.1: (26 April 2014)
 - updates to WASAPI API for MinGW compiling
+- WASAPI bug fixes for audio INPUT mode
+- 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
 
 v4.1.0: (10 April 2014)
 - RtError class renamed RtAudioError and embedded in RtAudio.h (RtError.h deleted)
index f22a718cbc0bf07a018550840e2fbbf898a78957..45c3f4e0e62897a9b9ed1d212c7f1fa0e4879be0 100644 (file)
@@ -5,7 +5,7 @@ includedir=${prefix}/include
 
 Name: librtaudio
 Description: RtAudio - a set of C++ classes that provide a common API for realtime audio input/output
-Version: 4.1.0
+Version: 4.1.1
 Requires: @req@ 
 Libs: -L${libdir} -lrtaudio
 Libs.private: -lpthread