--- portaudio/bindings/cpp/example/devs.cxx 2006-05-25 04:34:26.000000000 -0500 +++ portaudio/bindings/cpp/example/devs.cxx 2014-03-31 21:51:17.916789100 -0500 @@ -1,7 +1,7 @@ #include #include "portaudiocpp/PortAudioCpp.hxx" -#ifdef WIN32 +#if PA_USE_ASIO #include "portaudiocpp/AsioDeviceAdapter.hxx" #endif @@ -109,7 +109,7 @@ int main(int, char*[]) std::cout << "Default high input latency = " << (*i).defaultHighInputLatency() << std::endl; // 8.3 std::cout << "Default high output latency = " << (*i).defaultHighOutputLatency() << std::endl; // 8.3 -#ifdef WIN32 +#if PA_USE_ASIO // ASIO specific latency information: if ((*i).hostApi().typeId() == paASIO) { @@ -124,7 +124,7 @@ int main(int, char*[]) else std::cout << "ASIO buffer granularity = " << asioDevice.granularity() << std::endl; } -#endif // WIN32 +#endif // PA_USE_ASIO std::cout << "Default sample rate = " << (*i).defaultSampleRate() << std::endl; // 8.2 --- portaudio/configure.in 2014-01-16 11:49:33.000000000 -0600 +++ portaudio/configure.in 2014-03-31 22:16:22.682370000 -0500 @@ -98,14 +98,12 @@ dnl Checks for programs. AC_PROG_CC dnl ASIO and CXX bindings need a C++ compiler -if [[ "$with_asio" = "yes" ] || [ "$enable_cxx" = "yes" ]] ; then AC_PROG_CXX -fi AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S -AC_PATH_PROG(AR, ar, no) +AC_PATH_TOOL(AR, ar, no) if [[ $AR = "no" ]] ; then AC_MSG_ERROR("Could not find ar - needed to create a library") fi @@ -287,7 +285,6 @@ case "${host_os}" in PADLL="portaudio.dll" THREAD_CFLAGS="-mthreads" - SHARED_FLAGS="-shared" CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_WMME=0 -DPA_USE_ASIO=0 -DPA_USE_WDMKS=0 -DPA_USE_DS=0 -DPA_USE_WASAPI=0" if [[ "x$with_directx" = "xyes" ]]; then @@ -313,7 +310,7 @@ case "${host_os}" in ASIODIR="$with_asiodir" add_objects src/hostapi/asio/pa_asio.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/hostapi/asio/iasiothiscallresolver.o $ASIODIR/common/asio.o $ASIODIR/host/asiodrivers.o $ASIODIR/host/pc/asiolist.o LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" - DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid" + DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -Wl,-luuid" CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -I\$(top_srcdir)/src/hostapi/asio -I$ASIODIR/host/pc -I$ASIODIR/common -I$ASIODIR/host -UPA_USE_ASIO -DPA_USE_ASIO=1 -DWINDOWS" dnl Setting the windows version flags below resolves a conflict between Interlocked* @@ -329,7 +326,7 @@ case "${host_os}" in DXDIR="$with_dxdir" add_objects src/hostapi/wdmks/pa_win_wdmks.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_wdmks_utils.o src/os/win/pa_win_waveformat.o LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32" - DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32" + DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -Wl,-luuid -lsetupapi -lole32" #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\"" #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO" CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1" @@ -349,7 +346,7 @@ case "${host_os}" in add_objects src/hostapi/wasapi/pa_win_wasapi.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" DLL_LIBS="${DLL_LIBS} -lwinmm -lole32" - CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hostapi/wasapi/mingw-include -UPA_USE_WASAPI -DPA_USE_WASAPI=1" + CFLAGS="$CFLAGS -UPA_USE_WASAPI -DPA_USE_WASAPI=1" fi ;; --- portaudio/src/hostapi/wasapi/pa_win_wasapi.c 2016-10-29 21:23:04.000000000 -0400 +++ portaudio/src/hostapi/wasapi/pa_win_wasapi.c 2020-05-14 17:11:27.444566200 -0400 @@ -55,13 +55,14 @@ // WASAPI #include // must be before other Wasapi headers -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - #include +#if defined(_MSC_VER) && (_MSC_VER >= 1400) || defined(__MINGW32__) + #include #define COBJMACROS - #include + #include #include #define INITGUID // Avoid additional linkage of static libs, excessive code will be optimized out by the compiler #include + #include #include #include // Used to get IKsJackDescription interface #undef INITGUID