Bug fix for DS enumeration when devices are unplugged; bug fix if an error occurs...
authorGary Scavone <gary@music.mcgill.ca>
Wed, 9 Apr 2014 19:14:30 +0000 (15:14 -0400)
committerGary Scavone <gary@music.mcgill.ca>
Wed, 9 Apr 2014 19:14:30 +0000 (15:14 -0400)
16 files changed:
RtAudio.cpp
RtAudio.h
doc/doxygen/compiling.txt
doc/doxygen/footer.html
doc/doxygen/tutorial.txt
doc/release.txt
install
librtaudio.pc.in
readme
tests/Windows/audioprobe.dsp
tests/Windows/duplex.dsp
tests/Windows/playraw.dsp
tests/Windows/playsaw.dsp
tests/Windows/record.dsp
tests/Windows/testall.dsp
tests/Windows/teststops.dsp

index 202de261a46668af3e8b6e0fb857c4e41f2f793c..eb3eadc411236243eded55af91ee744ff31b8048 100644 (file)
@@ -5,12 +5,12 @@
     RtAudio provides a common API (Application Programming Interface)\r
     for realtime audio input/output across Linux (native ALSA, Jack,\r
     and OSS), Macintosh OS X (CoreAudio and Jack), and Windows\r
-    (DirectSound and ASIO) operating systems.\r
+    (DirectSound, ASIO and WASAPI) operating systems.\r
 \r
     RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/\r
 \r
     RtAudio: realtime audio i/o C++ classes\r
-    Copyright (c) 2001-2013 Gary P. Scavone\r
+    Copyright (c) 2001-2014 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
@@ -38,7 +38,7 @@
 */\r
 /************************************************************************/\r
 \r
-// RtAudio: Version 4.0.12\r
+// RtAudio: Version 4.1.0\r
 \r
 #include "RtAudio.h"\r
 #include <iostream>\r
@@ -249,6 +249,9 @@ void RtApi :: openStream( RtAudio::StreamParameters *oParams,
     return;\r
   }\r
 \r
+  // Clear stream information potentially left from a previously open stream.\r
+  clearStreamInfo();\r
+\r
   if ( oParams && oParams->nChannels < 1 ) {\r
     errorText_ = "RtApi::openStream: a non-NULL output StreamParameters structure cannot have an nChannels value less than one.";\r
     error( RtAudioError::INVALID_USE );\r
@@ -294,7 +297,6 @@ void RtApi :: openStream( RtAudio::StreamParameters *oParams,
     }\r
   }\r
 \r
-  clearStreamInfo();\r
   bool result;\r
 \r
   if ( oChannels > 0 ) {\r
@@ -3955,16 +3957,13 @@ RtAudio::DeviceInfo RtApiWasapi::getDeviceInfo( unsigned int device )
     EXIT_ON_ERROR( -1, RtAudioError::INVALID_USE, "Invalid device index" );\r
 \r
   // determine whether index falls within capture or render devices\r
-  //if ( device < captureDeviceCount ) {\r
   if ( device >= renderDeviceCount ) {\r
-    //hr = captureDevices->Item( device, &devicePtr );\r
     hr = captureDevices->Item( device - renderDeviceCount, &devicePtr );\r
     EXIT_ON_ERROR( hr, RtAudioError::DRIVER_ERROR, "Unable to retrieve capture device handle" );\r
 \r
     isCaptureDevice = true;\r
   }\r
   else {\r
-    //hr = renderDevices->Item( device - captureDeviceCount, &devicePtr );\r
     hr = renderDevices->Item( device, &devicePtr );\r
     EXIT_ON_ERROR( hr, RtAudioError::DRIVER_ERROR, "Unable to retrieve render device handle" );\r
 \r
@@ -4338,7 +4337,6 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne
     EXIT_ON_ERROR( -1, RtAudioError::INVALID_USE, "Invalid device index" );\r
 \r
   // determine whether index falls within capture or render devices\r
-  //if ( device < captureDeviceCount ) {\r
   if ( device >= renderDeviceCount ) {\r
     if ( mode != INPUT )\r
       EXIT_ON_ERROR( -1, RtAudioError::INVALID_USE, "Capture device selected as output device" );\r
@@ -4346,7 +4344,6 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne
     // retrieve captureAudioClient from devicePtr\r
     IAudioClient*& captureAudioClient = ( ( WasapiHandle* ) stream_.apiHandle )->captureAudioClient;\r
 \r
-    //hr = captureDevices->Item( device, &devicePtr );\r
     hr = captureDevices->Item( device - renderDeviceCount, &devicePtr );\r
     EXIT_ON_ERROR( hr, RtAudioError::DRIVER_ERROR, "Unable to retrieve capture device handle" );\r
 \r
@@ -4367,7 +4364,6 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne
     // retrieve renderAudioClient from devicePtr\r
     IAudioClient*& renderAudioClient = ( ( WasapiHandle* ) stream_.apiHandle )->renderAudioClient;\r
 \r
-    //hr = renderDevices->Item( device - captureDeviceCount, &devicePtr );\r
     hr = renderDevices->Item( device, &devicePtr );\r
     EXIT_ON_ERROR( hr, RtAudioError::DRIVER_ERROR, "Unable to retrieve render device handle" );\r
 \r
@@ -4426,15 +4422,6 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne
   if ( !stream_.userBuffer[mode] )\r
     EXIT_ON_ERROR( -1, RtAudioError::MEMORY_ERROR, "Error allocating user buffer memory" );\r
 \r
-  if ( stream_.doConvertBuffer[mode] && !stream_.deviceBuffer ) {\r
-    unsigned int deviceBufferSize = max( stream_.nUserChannels[INPUT] * stream_.bufferSize * formatBytes( stream_.userFormat ),\r
-                                         stream_.nUserChannels[OUTPUT] * stream_.bufferSize * formatBytes( stream_.userFormat ) );\r
-\r
-    stream_.deviceBuffer = ( char* ) calloc( deviceBufferSize, 1 );\r
-    if ( !stream_.deviceBuffer )\r
-      EXIT_ON_ERROR( -1, RtAudioError::MEMORY_ERROR, "Error allocating device buffer memory" );\r
-  }\r
-\r
   if ( options && options->flags & RTAUDIO_SCHEDULE_REALTIME )\r
     stream_.callbackInfo.priority = 15;\r
   else\r
@@ -4648,19 +4635,23 @@ void RtApiWasapi::wasapiThread()
   int callbackResult = 0;\r
 \r
   // convBuffer is used to store converted buffers between WASAPI and the user\r
-  char* convBuffer = NULL;\r
-\r
+  unsigned int deviceBufferSize = 0;\r
   if ( stream_.mode == INPUT ) {\r
-    convBuffer = ( char* ) malloc( ( size_t ) ( stream_.bufferSize * captureSrRatio ) * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.deviceFormat[INPUT] ) );\r
+    deviceBufferSize = ( size_t ) ( stream_.bufferSize * captureSrRatio ) * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.deviceFormat[INPUT] );\r
   }\r
   else if ( stream_.mode == OUTPUT ) {\r
-    convBuffer = ( char* ) malloc( ( size_t ) ( stream_.bufferSize * renderSrRatio ) * stream_.nDeviceChannels[OUTPUT] * formatBytes( stream_.deviceFormat[OUTPUT] ) );\r
+    deviceBufferSize = ( size_t ) ( stream_.bufferSize * renderSrRatio ) * stream_.nDeviceChannels[OUTPUT] * formatBytes( stream_.deviceFormat[OUTPUT] );\r
   }\r
   else if ( stream_.mode == DUPLEX ) {\r
-    convBuffer = ( char* ) malloc( max( ( size_t ) ( stream_.bufferSize * captureSrRatio ) * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.deviceFormat[INPUT] ),\r
-                                        ( size_t ) ( stream_.bufferSize * renderSrRatio ) * stream_.nDeviceChannels[OUTPUT] * formatBytes( stream_.deviceFormat[OUTPUT] ) ) );\r
+    deviceBufferSize = max( ( size_t ) ( stream_.bufferSize * captureSrRatio ) * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.deviceFormat[INPUT] ),\r
+                            ( size_t ) ( stream_.bufferSize * renderSrRatio ) * stream_.nDeviceChannels[OUTPUT] * formatBytes( stream_.deviceFormat[OUTPUT] ) );\r
   }\r
 \r
+  char* convBuffer = ( char* ) malloc( deviceBufferSize );\r
+  stream_.deviceBuffer = ( char* ) malloc( deviceBufferSize );\r
+  if ( !convBuffer || !stream_.deviceBuffer )\r
+      EXIT_ON_ERROR( -1, RtAudioError::MEMORY_ERROR, "Error allocating device buffer memory" );\r
+\r
   // stream process loop\r
   while ( stream_.state != STREAM_STOPPING ) {\r
     if ( !callbackPulled ) {\r
@@ -5053,9 +5044,10 @@ unsigned int RtApiDs :: getDeviceCount( void )
   std::vector< int > indices;\r
   for ( unsigned int i=0; i<dsDevices.size(); i++ )\r
     if ( dsDevices[i].found == false ) indices.push_back( i );\r
-  unsigned int nErased = 0;\r
+  //unsigned int nErased = 0;\r
   for ( unsigned int i=0; i<indices.size(); i++ )\r
-    dsDevices.erase( dsDevices.begin()-nErased++ );\r
+    dsDevices.erase( dsDevices.begin()+indices[i] );\r
+  //dsDevices.erase( dsDevices.begin()-nErased++ );\r
 \r
   return static_cast<unsigned int>(dsDevices.size());\r
 }\r
index a85578ef3766304e7a940f185bc09db7b5c92fd2..bc99bd934e23ed027709369a0ea48ab7559b357b 100644 (file)
--- a/RtAudio.h
+++ b/RtAudio.h
@@ -5,12 +5,12 @@
     RtAudio provides a common API (Application Programming Interface)
     for realtime audio input/output across Linux (native ALSA, Jack,
     and OSS), Macintosh OS X (CoreAudio and Jack), and Windows
-    (DirectSound and ASIO) operating systems.
+    (DirectSound, ASIO and WASAPI) operating systems.
 
     RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/
 
     RtAudio: realtime audio i/o C++ classes
-    Copyright (c) 2001-2013 Gary P. Scavone
+    Copyright (c) 2001-2014 Gary P. Scavone
 
     Permission is hereby granted, free of charge, to any person
     obtaining a copy of this software and associated documentation files
@@ -45,7 +45,7 @@
 #ifndef __RTAUDIO_H
 #define __RTAUDIO_H
 
-#define RTAUDIO_VERSION "4.1.0pre"
+#define RTAUDIO_VERSION "4.1.0"
 
 #include <string>
 #include <vector>
index 9e9cab247f4a71b9a0b0f2ec96457164221de686..3fa52cc012ed904d558dcdbb664fd19a936b93ce 100644 (file)
@@ -75,6 +75,14 @@ In order to compile RtAudio for a specific OS and audio API, it is necessary to
   <TD><I>various ASIO header and source files</I></TD>
   <TD><I>compiler specific</I></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>
+</TR>
 </TABLE>
 <P>
 
index 4f5b71cf7317c68980af33b1c431836466278337..086b22bb2a32006442e0806c65a31c88910887ab 100644 (file)
@@ -1,7 +1,7 @@
 <HR>
 
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;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>
+  <td>&copy;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>
 </table>
 
 </BODY>
index 41f3bc03b05d568b1b6326454e1e2dc90eca7495..66521d967c968cfb8adafdd02112f314db6b4ec9 100644 (file)
@@ -19,21 +19,17 @@ RtAudio incorporates the concept of audio streams, which represent audio output
 
 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 the previous 4.0.12 release included:
-
-- 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)
+Other changes in this release include:
+
+- new support for the Windows WASAPI API (thanks to Marcus Tomlinson)
+- 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
 
 \section download Download
 
-Latest Release (?? 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.1.0.tar.gz">Version 4.1.0</A>
+Latest Release (?? April 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.1.0.tar.gz">Version 4.1.0</A>
 
 \section documentation Documentation Links
 
@@ -48,8 +44,8 @@ Latest Release (?? 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudio/rele
 -# \ref apinotes
 -# \ref acknowledge
 -# \ref license
--# <A href="bugs.html">Bug Tracker</A>
--# <A href="updates.html">Possible Updates</A>
--# <A href="http://sourceforge.net/projects/rtaudio">RtAudio at SourceForge</A>
+-# <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>
 
 */
index 0779b79fc0c336f159001613300f15d96189d5be..756718759efae3730557d1e3bb2efcc22746f359 100644 (file)
@@ -2,12 +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.0: (?? 2014)
+v4.1.0: (?? 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)
 - 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 related to error when opening a stream after closing a previously open stream
 
 v4.0.12: (16 April 2013)
 - new functionality to allow error reporting via a client-supplied function (thanks to Pavel Mogilevskiy)
diff --git a/install b/install
index 0dca4a979b7d75a23b63a913d83477f3d3a95372..2afaa41e0d41d9608c7b944528bd19fa5e19b5ad 100644 (file)
--- a/install
+++ b/install
@@ -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 and ASIO) operating systems.
+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-2013.
+By Gary P. Scavone, 2001-2014.
 
 To configure and compile (on Unix systems and MinGW):
 
@@ -9,6 +9,8 @@ To configure and compile (on Unix systems and MinGW):
 
    ./configure
 
+   If you checked out the code from git, please run "autoconf" before "./configure".
+
 3. Typing "make" will compile static and shared libraries.
 
 4. From within the "tests" directory, type "make" to compile the example programs.
@@ -33,9 +35,9 @@ If you wish to use a different compiler than that selected by configure, specify
 
 WINDOWS USERS:
 
-RtAudio compiles with the MinGW compiler or MS Visual Studio.
+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.
 
-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.
+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 ASIO, WASAPI and DirectSound.
 
 
 LINUX OSS:
index b4f3985bb78beadbd968335130c86b4de05e6d4a..f22a718cbc0bf07a018550840e2fbbf898a78957 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.0.12
+Version: 4.1.0
 Requires: @req@ 
 Libs: -L${libdir} -lrtaudio
 Libs.private: -lpthread
diff --git a/readme b/readme
index 280a3f642aac79d0c90ce707aae9ead6210f5c1c..bb04c7ef961b3db074ddbc64298f6cee4618d706 100644 (file)
--- a/readme
+++ b/readme
@@ -1,6 +1,6 @@
-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 and ASIO) operating systems.
+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-2013.
+By Gary P. Scavone, 2001-2014.
 
 This distribution of RtAudio contains the following:
 
@@ -11,11 +11,11 @@ tests/Windows: Visual C++ .net test program workspace and projects
 
 OVERVIEW:
 
-RtAudio is a set of C++ classes that provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, JACK, and OSS), Macintosh OS X, SGI, and Windows (DirectSound and ASIO) operating systems.  RtAudio significantly simplifies the process of interacting with computer audio hardware.  It was designed with the following objectives:
+RtAudio is a set of C++ classes that provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, JACK, and OSS), Macintosh OS X, SGI, and Windows (DirectSound, ASIO and WASAPI) operating systems.  RtAudio significantly simplifies the process of interacting with computer audio hardware.  It was designed with the following objectives:
 
   - object-oriented C++ design
   - simple, common API across all supported platforms
-  - only one source and two header files for easy inclusion in programming projects
+  - 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
@@ -34,7 +34,7 @@ LEGAL AND ETHICAL:
 The RtAudio license is similar to the MIT License.
 
     RtAudio: a set of realtime audio i/o C++ classes
-    Copyright (c) 2001-2013 Gary P. Scavone
+    Copyright (c) 2001-2014 Gary P. Scavone
 
     Permission is hereby granted, free of charge, to any person
     obtaining a copy of this software and associated documentation files
index 2eebcc3565579930fe7905f8b82750d28cffb62f..a44ae339976d0b5cbecab91164c2bfa86671c512 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "__WINDOWS_DS__" /D "__WINDOWS_ASIO__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "__WINDOWS_DS__" /D "__WINDOWS_ASIO__" /D "__WINDOWS_WASAPI__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "__WINDOWS_DS__" /D "__WINDOWS_ASIO__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "__WINDOWS_DS__" /D "__WINDOWS_ASIO__" /D "__WINDOWS_WASAPI__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r
index 0073640b7e9b1130e17ec3ed944d864568fbae32..475000a8d84b60bfb712e35dbe165c764e1fa4e7 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "__WINDOWS_DS__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "__WINDOWS_DS__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_WASAPI__" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "__WINDOWS_ASIO__.__WINDOWS_DS__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "__WINDOWS_ASIO__.__WINDOWS_DS__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r
index 4da8d9c2fbc10c5b961fab63490ad531d73f8ea9..58d8db7942cab26f30cf39a7893b6d6664a6d495 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r
index e2bcfe553356291fa07933fc34faeb07119fde5b..cca887a06f0e972243adde12222415434ca1cc7b 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r
index b1c2dc0e29ac4d4850e20211079644fd0d8ba75b..0b3e892af6aaaee3ac60a1b2f29778201b974050 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r
index 87b25bb90c5268a374e0118b0b49baaea9d594f4..4a327c8f45ffa3783c9100ad50a67af85d708b62 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r
index 71d2fff1fe0c6f281d1a890dedfc814c1f0688a8..15d09bd3bd6d69a6f07071a915366a542bdbe1aa 100755 (executable)
@@ -42,7 +42,7 @@ RSC=rc.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c\r
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /c\r
 # ADD BASE RSC /l 0x409 /d "NDEBUG"\r
 # ADD RSC /l 0x409 /d "NDEBUG"\r
 BSC32=bscmake.exe\r
@@ -66,7 +66,7 @@ LINK32=link.exe
 # PROP Ignore_Export_Lib 0\r
 # PROP Target_Dir ""\r
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c\r
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /D "__WINDOWS_WASAPI__" /YX /FD /GZ /c\r
 # ADD BASE RSC /l 0x409 /d "_DEBUG"\r
 # ADD RSC /l 0x409 /d "_DEBUG"\r
 BSC32=bscmake.exe\r