From 5cda687b238a95844d49a032d7823814aeb945b9 Mon Sep 17 00:00:00 2001 From: Andy Saul Date: Mon, 20 May 2019 21:28:41 +0100 Subject: [PATCH 01/97] Set Visual Studio flags in CMake --- CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fb95b6a..20c151c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,12 @@ cmake_minimum_required(VERSION 3.12) project(libstdaudio) set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + +if (MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /WX") +else () + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +endif () if (APPLE) set(CMAKE_EXE_LINKER_FLAGS "-framework CoreAudio") From 88aa731ffa09c6e401a79de090e470478d4902ae Mon Sep 17 00:00:00 2001 From: Andy Saul Date: Mon, 20 May 2019 21:34:02 +0100 Subject: [PATCH 02/97] Modify __null_backend to compile on Windows --- include/audio_backend/__null_backend.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/include/audio_backend/__null_backend.h b/include/audio_backend/__null_backend.h index 15b7651..8d5f976 100644 --- a/include/audio_backend/__null_backend.h +++ b/include/audio_backend/__null_backend.h @@ -7,6 +7,7 @@ #include #include +#include _LIBSTDAUDIO_NAMESPACE_BEGIN @@ -40,7 +41,7 @@ class audio_device { return 0; } - using sample_rate_t = unsigned; + using sample_rate_t = int; sample_rate_t get_sample_rate() const noexcept { return {}; @@ -54,7 +55,7 @@ class audio_device { return false; } - using buffer_size_t = unsigned; + using buffer_size_t = int; buffer_size_t get_buffer_size_frames() const noexcept { return {}; @@ -64,7 +65,7 @@ class audio_device { return {}; } - bool set_buffer_size_frames(buffer_size_t new_buffer_size) { + bool set_buffer_size_frames(buffer_size_t) { return false; } @@ -102,6 +103,11 @@ class audio_device { assert(false); } + template + void connect(_CallbackType) { + assert(false); + } + constexpr bool has_unprocessed_io() const noexcept { return false; } @@ -124,6 +130,8 @@ class audio_device_list public: auto begin() -> iterator { return {}; } auto end() -> iterator { return {}; } + auto begin() const -> iterator { return {}; } + auto end() const -> iterator { return {}; } auto empty() -> bool { return true; } }; @@ -143,4 +151,4 @@ audio_device_list get_audio_output_device_list() { return {}; } -_LIBSTDAUDIO_NAMESPACE_END \ No newline at end of file +_LIBSTDAUDIO_NAMESPACE_END From 4b86b3eae57e00bf3eb054cfcf7be0490f7e8b40 Mon Sep 17 00:00:00 2001 From: Andy Saul Date: Mon, 20 May 2019 21:35:44 +0100 Subject: [PATCH 03/97] Modify __audio_buffer to compile on Windows --- include/__audio_buffer.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/__audio_buffer.h b/include/__audio_buffer.h index 6629d07..380a9aa 100644 --- a/include/__audio_buffer.h +++ b/include/__audio_buffer.h @@ -5,6 +5,8 @@ #pragma once +#include + #include _LIBSTDAUDIO_NAMESPACE_BEGIN From add97fd38076194ffe2ad7ebe7abb1ee29d27850 Mon Sep 17 00:00:00 2001 From: Andy Saul Date: Mon, 20 May 2019 21:38:27 +0100 Subject: [PATCH 04/97] Specify _USE_MATH_DEFINES on Windows --- examples/melody.cpp | 6 +++++- examples/sine_wave.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/melody.cpp b/examples/melody.cpp index 440260c..6f3c4e9 100644 --- a/examples/melody.cpp +++ b/examples/melody.cpp @@ -3,6 +3,10 @@ // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) +#ifdef WIN32 +#define _USE_MATH_DEFINES +#endif + #include #include #include @@ -95,4 +99,4 @@ int main() { while (!stop.load()) { std::this_thread::sleep_for(std::chrono::milliseconds(50)); } -} \ No newline at end of file +} diff --git a/examples/sine_wave.cpp b/examples/sine_wave.cpp index 92a4682..6c8e083 100644 --- a/examples/sine_wave.cpp +++ b/examples/sine_wave.cpp @@ -3,6 +3,10 @@ // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) +#ifdef WIN32 +#define _USE_MATH_DEFINES +#endif + #include #include #include