From 8b1cac7f9b09d65caff25336666056ed2fbcfd7d Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 9 Mar 2017 08:38:03 -0800 Subject: [PATCH] - Updated project build settings to all favor fast code, instead of small code. Also ensure all projects are compiled against the unicode charset. - Updated CHANGELOG and bumped versions. --- CHANGELOG.txt | 15 + CMakeLists.txt | 2 +- src/3rdparty/3rdparty.vcxproj | 2 +- src/contrib/cddadecoder/CddaDataStream.cpp | 4 +- .../cddadecoder/CddaDataStreamFactory.cpp | 2 +- src/contrib/cddadecoder/cddadecoder.vcxproj | 6 +- .../directsoundout/directsoundout.vcxproj | 7 +- .../directsoundout/directsoundout_plugin.cpp | 2 +- src/contrib/flacdecoder/flacdecoder.vcxproj | 2 + src/contrib/m4adecoder/m4adecoder.vcxproj | 2 + src/contrib/nomaddecoder/nomaddecoder.vcxproj | 3 +- src/contrib/nullout/nullout.vcxproj | 3 +- src/contrib/oggdecoder/oggdecoder.vcxproj | 3 +- .../taglib_plugin/taglib_plugin.vcxproj | 7 +- src/contrib/wasapiout/wasapiout.vcxproj | 3 +- src/contrib/wasapiout/wasapiout_plugin.cpp | 2 +- src/contrib/waveout/waveout.vcxproj | 3 +- .../websocket_remote/websocket_remote.vcxproj | 99 +++++- .../websocket_remote.vcxproj.filters | 284 ++++++++++++++++++ .../win32gdivis/GdiVis-musikcube.vcxproj | 3 +- .../win32globalhotkeys.vcxproj | 3 +- src/core/core.vcxproj | 2 +- src/glue/glue.vcxproj | 2 +- src/musikbox/app/util/Version.h | 2 +- src/musikbox/cursespp/Win32Util.cpp | 4 +- src/musikbox/musikbox.vcxproj | 6 +- src/musikwin/musikwin.vcxproj | 3 +- 27 files changed, 444 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 13949fb43..5507ccce7 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,18 @@ +0.9.3 + +win32 only release: + +* updated `WASAPI` output plugin to disable endpoint routing by default. it + causes a crash in some rare cases that i don't seem to be able to work + around. i see similar crashes in firefox and some other apps that use this + feature. +* updated `DirectSound` output volume adjustment to be as close to the `WASAPI` + `WaveOut` plugins as possible +* changed compiler optimizations to favor fast code, instead of small code, + plus a few other small tweaks to (hopefully) improve performance. + +-------------------------------------------------------------------------------- + 0.9.2 * added an icon to the windows and android builds (not great, but better than diff --git a/CMakeLists.txt b/CMakeLists.txt index bf36ec76b..4ca81ae8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ cmake_minimum_required(VERSION 3.0) project(musikbox) set (musikbox_VERSION_MAJOR 0) set (musikbox_VERSION_MINOR 9) -set (musikbox_VERSION_PATCH 2) +set (musikbox_VERSION_PATCH 3) set (musikbox_VERSION "${musikbox_VERSION_MAJOR}.${musikbox_VERSION_MINOR}.${musikbox_VERSION_PATCH}") include(ExternalProject) diff --git a/src/3rdparty/3rdparty.vcxproj b/src/3rdparty/3rdparty.vcxproj index e7fd02d90..3a6c0f835 100755 --- a/src/3rdparty/3rdparty.vcxproj +++ b/src/3rdparty/3rdparty.vcxproj @@ -70,7 +70,7 @@ - MaxSpeed + Full Default true Speed diff --git a/src/contrib/cddadecoder/CddaDataStream.cpp b/src/contrib/cddadecoder/CddaDataStream.cpp index 8ced0b8b9..73968c390 100755 --- a/src/contrib/cddadecoder/CddaDataStream.cpp +++ b/src/contrib/cddadecoder/CddaDataStream.cpp @@ -100,10 +100,10 @@ static int getTrackNumber(const char* uri) { bool CddaDataStream::Open(const char *uri, unsigned int options) { int trackIndex; - char driveLetter = 'A' + PathGetDriveNumber(uri); + char driveLetter = 'A' + PathGetDriveNumberA(uri); std::string drivePath = "\\\\.\\" + std::string(1, driveLetter) + ":"; - this->drive = CreateFile( + this->drive = CreateFileA( drivePath.c_str(), GENERIC_READ, FILE_SHARE_READ, diff --git a/src/contrib/cddadecoder/CddaDataStreamFactory.cpp b/src/contrib/cddadecoder/CddaDataStreamFactory.cpp index b53296a7a..bba383f07 100755 --- a/src/contrib/cddadecoder/CddaDataStreamFactory.cpp +++ b/src/contrib/cddadecoder/CddaDataStreamFactory.cpp @@ -46,7 +46,7 @@ CddaDataStreamFactory::~CddaDataStreamFactory() { } bool CddaDataStreamFactory::CanRead(const char *uri) { - std::string extension = PathFindExtension(uri); + std::string extension = PathFindExtensionA(uri); return (extension == ".cda"); } diff --git a/src/contrib/cddadecoder/cddadecoder.vcxproj b/src/contrib/cddadecoder/cddadecoder.vcxproj index e966db66d..0140a17de 100755 --- a/src/contrib/cddadecoder/cddadecoder.vcxproj +++ b/src/contrib/cddadecoder/cddadecoder.vcxproj @@ -19,13 +19,13 @@ DynamicLibrary - MultiByte + Unicode true v140 DynamicLibrary - MultiByte + Unicode v140 false @@ -89,6 +89,8 @@ $(IntDir) Speed true + Full + true shlwapi.lib;%(AdditionalDependencies) diff --git a/src/contrib/directsoundout/directsoundout.vcxproj b/src/contrib/directsoundout/directsoundout.vcxproj index 126037a0d..18cca7d6e 100644 --- a/src/contrib/directsoundout/directsoundout.vcxproj +++ b/src/contrib/directsoundout/directsoundout.vcxproj @@ -19,13 +19,13 @@ DynamicLibrary v140 - MultiByte + Unicode true DynamicLibrary v140 - MultiByte + Unicode false @@ -81,7 +81,7 @@ - AnySuitable + Default true ../..;../../3rdparty/include;../../../../boost_1_60_0;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) @@ -94,6 +94,7 @@ true true MultiThreaded + Full dsound.lib;dxguid.lib;%(AdditionalDependencies) diff --git a/src/contrib/directsoundout/directsoundout_plugin.cpp b/src/contrib/directsoundout/directsoundout_plugin.cpp index 9dbc68e43..f159414fa 100644 --- a/src/contrib/directsoundout/directsoundout_plugin.cpp +++ b/src/contrib/directsoundout/directsoundout_plugin.cpp @@ -43,7 +43,7 @@ class DirectSoundPlugin : public musik::core::sdk::IPlugin { public: virtual void Destroy() { delete this; } virtual const char* Name() { return "DirectSound IOutput"; }; - virtual const char* Version() { return "0.3.0"; }; + virtual const char* Version() { return "0.4.0"; }; virtual const char* Author() { return "clangen"; }; virtual int SdkVersion() { return musik::core::sdk::SdkVersion; } }; diff --git a/src/contrib/flacdecoder/flacdecoder.vcxproj b/src/contrib/flacdecoder/flacdecoder.vcxproj index 65980b501..a44caebf4 100755 --- a/src/contrib/flacdecoder/flacdecoder.vcxproj +++ b/src/contrib/flacdecoder/flacdecoder.vcxproj @@ -87,6 +87,8 @@ ProgramDatabase Speed true + Full + true ./lib;../../3rdparty/lib;%(AdditionalLibraryDirectories) diff --git a/src/contrib/m4adecoder/m4adecoder.vcxproj b/src/contrib/m4adecoder/m4adecoder.vcxproj index d5955b578..0ed125e7f 100755 --- a/src/contrib/m4adecoder/m4adecoder.vcxproj +++ b/src/contrib/m4adecoder/m4adecoder.vcxproj @@ -84,6 +84,8 @@ ProgramDatabase Speed true + Full + true ../../3rdparty/lib;%(AdditionalLibraryDirectories) diff --git a/src/contrib/nomaddecoder/nomaddecoder.vcxproj b/src/contrib/nomaddecoder/nomaddecoder.vcxproj index 53bb04a57..5121bc9d5 100644 --- a/src/contrib/nomaddecoder/nomaddecoder.vcxproj +++ b/src/contrib/nomaddecoder/nomaddecoder.vcxproj @@ -80,7 +80,7 @@ - AnySuitable + Default true .;./mad;./nomad;../..;../../3rdparty/include;%(AdditionalIncludeDirectories) FPM_DEFAULT;_LIB;HAVE_CONFIG_H;ASO_ZEROCHECK;WIN32;NDEBUG;%(PreprocessorDefinitions) @@ -90,6 +90,7 @@ ProgramDatabase Speed true + Full shlwapi.lib;%(AdditionalDependencies) diff --git a/src/contrib/nullout/nullout.vcxproj b/src/contrib/nullout/nullout.vcxproj index d64946884..faf241ebe 100644 --- a/src/contrib/nullout/nullout.vcxproj +++ b/src/contrib/nullout/nullout.vcxproj @@ -81,7 +81,7 @@ - AnySuitable + Default true ../..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) @@ -94,6 +94,7 @@ true true MultiThreaded + Full %(AdditionalDependencies) diff --git a/src/contrib/oggdecoder/oggdecoder.vcxproj b/src/contrib/oggdecoder/oggdecoder.vcxproj index 22b6f9565..72f20000b 100755 --- a/src/contrib/oggdecoder/oggdecoder.vcxproj +++ b/src/contrib/oggdecoder/oggdecoder.vcxproj @@ -80,7 +80,7 @@ - AnySuitable + Default true .;../..;../../3rdparty/include;../../../../boost_1_60_0;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;OGGDECODER_EXPORTS;%(PreprocessorDefinitions) @@ -94,6 +94,7 @@ $(IntDir)vc$(PlatformToolsetVersion).pdb Speed true + Full %(AdditionalDependencies) diff --git a/src/contrib/taglib_plugin/taglib_plugin.vcxproj b/src/contrib/taglib_plugin/taglib_plugin.vcxproj index d30011264..878cc0987 100755 --- a/src/contrib/taglib_plugin/taglib_plugin.vcxproj +++ b/src/contrib/taglib_plugin/taglib_plugin.vcxproj @@ -19,13 +19,13 @@ DynamicLibrary - MultiByte + Unicode true v140 DynamicLibrary - MultiByte + Unicode v140 false @@ -85,7 +85,7 @@ - AnySuitable + Default true Speed ../../;../../3rdparty/include/;../../../../boost_1_60_0/;taglib-1.11;taglib-1.11/taglib;taglib-1.11/taglib/ape;taglib-1.11/taglib/asf;taglib-1.11/taglib/flac;taglib-1.11/taglib/mpc;taglib-1.11/taglib/mpeg;taglib-1.11/taglib/mpeg/id3v1;taglib-1.11/taglib/mpeg/id3v2;taglib-1.11/taglib/mpeg/id3v2/frames;taglib-1.11/taglib/ogg;taglib-1.11/taglib/ogg/flac;taglib-1.11/taglib/ogg/opus;taglib-1.11/taglib/ogg/speex;taglib-1.11/taglib/ogg/vorbis;taglib-1.11/taglib/toolkit;taglib-1.11/taglib/trueaudio;taglib-1.11/taglib/wavpack;taglib-1.11/taglib/xm;taglib-1.11/taglib/riff;taglib-1.11/taglib/riff/aiff;taglib-1.11/taglib/riff/wav;taglib-1.11/taglib/mod;taglib-1.11/taglib/s3m;taglib-1.11/taglib/mp4;taglib-1.11/taglib/it;%(AdditionalIncludeDirectories) @@ -100,6 +100,7 @@ $(IntDir) $(IntDir)vc$(PlatformToolsetVersion).pdb true + Full $(OutDir)$(ProjectName).dll diff --git a/src/contrib/wasapiout/wasapiout.vcxproj b/src/contrib/wasapiout/wasapiout.vcxproj index f7b9e05e3..2255bdbe9 100644 --- a/src/contrib/wasapiout/wasapiout.vcxproj +++ b/src/contrib/wasapiout/wasapiout.vcxproj @@ -81,7 +81,7 @@ - AnySuitable + Default true ../..;../../3rdparty/include;../../../../boost_1_60_0;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) @@ -94,6 +94,7 @@ true true MultiThreaded + Full winmm.lib;%(AdditionalDependencies) diff --git a/src/contrib/wasapiout/wasapiout_plugin.cpp b/src/contrib/wasapiout/wasapiout_plugin.cpp index bcb4f7b72..342f389c2 100644 --- a/src/contrib/wasapiout/wasapiout_plugin.cpp +++ b/src/contrib/wasapiout/wasapiout_plugin.cpp @@ -43,7 +43,7 @@ class WasapiPlugin : public musik::core::sdk::IPlugin { public: virtual void Destroy() { delete this; } virtual const char* Name() { return "Wasapi IOutput"; }; - virtual const char* Version() { return "0.3.0"; }; + virtual const char* Version() { return "0.4.0"; }; virtual const char* Author() { return "clangen"; }; virtual int SdkVersion() { return musik::core::sdk::SdkVersion; } }; diff --git a/src/contrib/waveout/waveout.vcxproj b/src/contrib/waveout/waveout.vcxproj index 4b3ce740a..bfea57069 100755 --- a/src/contrib/waveout/waveout.vcxproj +++ b/src/contrib/waveout/waveout.vcxproj @@ -81,7 +81,7 @@ - AnySuitable + Default true ../..;../../3rdparty/include;../../../../boost_1_60_0;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) @@ -94,6 +94,7 @@ true true MultiThreaded + Full winmm.lib;%(AdditionalDependencies) diff --git a/src/contrib/websocket_remote/websocket_remote.vcxproj b/src/contrib/websocket_remote/websocket_remote.vcxproj index 69976c27a..72d52b692 100644 --- a/src/contrib/websocket_remote/websocket_remote.vcxproj +++ b/src/contrib/websocket_remote/websocket_remote.vcxproj @@ -106,7 +106,7 @@ Level3 - MaxSpeed + Full true true true @@ -114,7 +114,7 @@ WIN32;ZLIB_WINAPI;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) MultiThreaded None - AnySuitable + Default Speed @@ -146,6 +146,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/contrib/websocket_remote/websocket_remote.vcxproj.filters b/src/contrib/websocket_remote/websocket_remote.vcxproj.filters index 08d7eb301..7bd8223b7 100644 --- a/src/contrib/websocket_remote/websocket_remote.vcxproj.filters +++ b/src/contrib/websocket_remote/websocket_remote.vcxproj.filters @@ -5,10 +5,294 @@ {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + {bb67dd4b-bdf7-4821-a714-c1606bd1a1a6} + src + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + + websocketpp + + \ No newline at end of file diff --git a/src/contrib/win32gdivis/GdiVis-musikcube.vcxproj b/src/contrib/win32gdivis/GdiVis-musikcube.vcxproj index 8551286dc..33ec09d18 100644 --- a/src/contrib/win32gdivis/GdiVis-musikcube.vcxproj +++ b/src/contrib/win32gdivis/GdiVis-musikcube.vcxproj @@ -67,7 +67,7 @@ Default true true - MaxSpeed + Full true Level3 .\;..\..\;%(AdditionalIncludeDirectories) @@ -78,6 +78,7 @@ .\Release\ Speed true + true true diff --git a/src/contrib/win32globalhotkeys/win32globalhotkeys.vcxproj b/src/contrib/win32globalhotkeys/win32globalhotkeys.vcxproj index 68950996b..919f61cbc 100644 --- a/src/contrib/win32globalhotkeys/win32globalhotkeys.vcxproj +++ b/src/contrib/win32globalhotkeys/win32globalhotkeys.vcxproj @@ -81,7 +81,7 @@ - AnySuitable + Default true ../..;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) @@ -94,6 +94,7 @@ true Speed true + Full winmm.lib;%(AdditionalDependencies) diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index 2d0b0e8db..d0c68693d 100755 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -70,7 +70,7 @@ - MaxSpeed + Full Default true Speed diff --git a/src/glue/glue.vcxproj b/src/glue/glue.vcxproj index fa46e7ad9..685ece8e0 100644 --- a/src/glue/glue.vcxproj +++ b/src/glue/glue.vcxproj @@ -70,7 +70,7 @@ - MaxSpeed + Full Default true Speed diff --git a/src/musikbox/app/util/Version.h b/src/musikbox/app/util/Version.h index 46425a115..615bd7841 100644 --- a/src/musikbox/app/util/Version.h +++ b/src/musikbox/app/util/Version.h @@ -1,3 +1,3 @@ #pragma once -#define VERSION "0.9.2" +#define VERSION "0.9.3" diff --git a/src/musikbox/cursespp/Win32Util.cpp b/src/musikbox/cursespp/Win32Util.cpp index 1317072bd..f367f7f48 100644 --- a/src/musikbox/cursespp/Win32Util.cpp +++ b/src/musikbox/cursespp/Win32Util.cpp @@ -39,7 +39,7 @@ #ifdef WIN32 -static std::basic_string className = "Curses_App"; +static std::basic_string className = L"Curses_App"; static HWND mainWindow = nullptr; static void findMainWindow() { @@ -53,7 +53,7 @@ static void findMainWindow() { GetWindowThreadProcessId(hWnd, &dwWndProcID); if (dwWndProcID == dwProcID) { GetClassName(hWnd, buffer, sizeof(buffer)); - if (className == std::string(buffer)) { + if (className == std::basic_string(buffer)) { mainWindow = hWnd; return; } diff --git a/src/musikbox/musikbox.vcxproj b/src/musikbox/musikbox.vcxproj index f8c113cf4..42be56155 100755 --- a/src/musikbox/musikbox.vcxproj +++ b/src/musikbox/musikbox.vcxproj @@ -20,7 +20,7 @@ Application - MultiByte + Unicode true v140 @@ -28,7 +28,7 @@ Application false false - MultiByte + Unicode v140 false @@ -101,6 +101,8 @@ $(IntDir)vc$(PlatformToolsetVersion).pdb Speed true + Full + true ../3rdparty/win32_lib;../../../boost_1_60_0/lib32-msvc-14.0;%(AdditionalLibraryDirectories) diff --git a/src/musikwin/musikwin.vcxproj b/src/musikwin/musikwin.vcxproj index cde329158..17db51c95 100644 --- a/src/musikwin/musikwin.vcxproj +++ b/src/musikwin/musikwin.vcxproj @@ -125,7 +125,7 @@ Level3 - MaxSpeed + Full true true WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) @@ -133,6 +133,7 @@ pch.h ./;../;../3rdparty/include;../3rdparty/win32_include;../../../boost_1_60_0;%(AdditionalIncludeDirectories) MultiThreaded + Speed Windows