Various updates:
Various updates:

* Fix build with Visual Studio, updating projects to Visual Studio 2019 (as that is what I have installed).
* Changed C++ language standard to C++ 17.
* Add files for in_2sf's spu from Coda's recent commit.
* Add files for zlib now that it is being included as a submodule (removes the need for the zlib DLL as well).
* Remove common.props (due to the aforementioned zlib inclusion as well as the winamp headers also being in the project now).
* Minor NCSF file in the SSEQ player, the check for when to process tracks should've been >=, not >.

--- a/src/in_2sf/desmume/metaspu/metaspu.h
+++ b/src/in_2sf/desmume/metaspu/metaspu.h
@@ -1,55 +1,55 @@
-/*  Copyright 2009-2015 DeSmuME team

-

-	This file is free software: you can redistribute it and/or modify

-	it under the terms of the GNU General Public License as published by

-	the Free Software Foundation, either version 2 of the License, or

-	(at your option) any later version.

-

-	This file is distributed in the hope that it will be useful,

-	but WITHOUT ANY WARRANTY; without even the implied warranty of

-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

-	GNU General Public License for more details.

-

-	You should have received a copy of the GNU General Public License

-	along with the this software.  If not, see <http://www.gnu.org/licenses/>.

-*/

-

-//-------------------------

-//this file contains the METASPU system

-//which is designed to handle the task of audio synchronization

-//and is designed to be as portable between multiple emulators

-//-------------------------

-

-

-#ifndef _METASPU_H_

-#define _METASPU_H_

-

-#include <algorithm>

-

-#include "types.h"

-

-class ISynchronizingAudioBuffer

-{

-public:

-  virtual ~ISynchronizingAudioBuffer() {}

-

-	virtual void enqueue_samples(s16* buf, int samples_provided) = 0;

-

-	//returns the number of samples actually supplied, which may not match the number requested

-	virtual int output_samples(s16* buf, int samples_requested) = 0;

-};

-

-enum ESynchMode

-{

-	ESynchMode_Synchronous

-};

-

-enum ESynchMethod

-{

-	ESynchMethod_0, //Null

-};

-

-ISynchronizingAudioBuffer* metaspu_construct(ESynchMethod method);

-

-#endif

+/*  Copyright 2009-2015 DeSmuME team
 
+	This file is free software: you can redistribute it and/or modify
+	it under the terms of the GNU General Public License as published by
+	the Free Software Foundation, either version 2 of the License, or
+	(at your option) any later version.
+
+	This file is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with the this software.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+//-------------------------
+//this file contains the METASPU system
+//which is designed to handle the task of audio synchronization
+//and is designed to be as portable between multiple emulators
+//-------------------------
+
+
+#ifndef _METASPU_H_
+#define _METASPU_H_
+
+#include <algorithm>
+
+#include "../types.h"
+
+class ISynchronizingAudioBuffer
+{
+public:
+  virtual ~ISynchronizingAudioBuffer() {}
+
+	virtual void enqueue_samples(s16* buf, int samples_provided) = 0;
+
+	//returns the number of samples actually supplied, which may not match the number requested
+	virtual int output_samples(s16* buf, int samples_requested) = 0;
+};
+
+enum ESynchMode
+{
+	ESynchMode_Synchronous
+};
+
+enum ESynchMethod
+{
+	ESynchMethod_0, //Null
+};
+
+ISynchronizingAudioBuffer* metaspu_construct(ESynchMethod method);
+
+#endif
+

--- a/src/in_2sf/in_2sf.vcxproj
+++ b/src/in_2sf/in_2sf.vcxproj
@@ -14,29 +14,30 @@
     <ProjectGuid>{1927E848-5CFF-4462-A5AB-2768A390C5F3}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>in_2sf</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -50,14 +51,13 @@
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_2SF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;HAVE_LIBZ;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4065;4100;4127;4146;4189;4201;4244;4245;4512;4706;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -67,16 +67,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_2SF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;HAVE_LIBZ;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4065;4100;4127;4146;4189;4201;4244;4245;4512;4706;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
@@ -122,6 +121,10 @@
     <ClCompile Include="desmume/thumb_instructions.cpp" />
     <ClCompile Include="desmume/firmware.cpp" />
     <ClCompile Include="desmume/slot1.cpp" />
+    <ClCompile Include="spu\adpcmdecoder.cpp" />
+    <ClCompile Include="spu\interpolator.cpp" />
+    <ClCompile Include="spu\samplecache.cpp" />
+    <ClCompile Include="spu\sampledata.cpp" />
     <ClCompile Include="XSFConfig_2SF.cpp" />
     <ClCompile Include="XSFPlayer_2SF.cpp" />
   </ItemGroup>
@@ -186,6 +189,10 @@
     <ClInclude Include="desmume\FIFO.h" />
     <ClInclude Include="desmume\SPU.h" />
     <ClInclude Include="desmume\armcpu.h" />
+    <ClInclude Include="spu\adpcmdecoder.h" />
+    <ClInclude Include="spu\interpolator.h" />
+    <ClInclude Include="spu\samplecache.h" />
+    <ClInclude Include="spu\sampledata.h" />
   </ItemGroup>
   <ItemGroup>
     <None Include="desmume\instruction_tabdef.inc" />
@@ -200,4 +207,3 @@
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
 </Project>
-

--- a/src/in_2sf/in_2sf.vcxproj.filters
+++ b/src/in_2sf/in_2sf.vcxproj.filters
@@ -28,12 +28,6 @@
     <Filter Include="Header Files\desmume\metaspu">
       <UniqueIdentifier>{2e480556-28dd-4cf7-a818-ac973f0bdef7}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Header Files\desmume\metaspu\SoundTouch">
-      <UniqueIdentifier>{81492340-404e-4695-9649-bb4e89ed2693}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Source Files\desmume\metaspu\SoundTouch">
-      <UniqueIdentifier>{4f7fbac4-f0a6-43ac-8c61-657966ea5660}</UniqueIdentifier>
-    </Filter>
     <Filter Include="Source Files\desmume\utils">
       <UniqueIdentifier>{1a3eb159-8c0f-49aa-ac30-2bc578078bac}</UniqueIdentifier>
     </Filter>
@@ -57,179 +51,158 @@
     </Filter>
     <Filter Include="Source Files\desmume\utils\AsmJit\base">
       <UniqueIdentifier>{3ca7e13f-394b-4d27-bdbf-135feb26480f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\spu">
+      <UniqueIdentifier>{b1c5369c-9385-4580-9a15-4394f4e39907}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\spu">
+      <UniqueIdentifier>{97c58dd3-5505-48b2-b115-2d0cbb8c1022}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="XSFPlayer_2SF.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="desmume\arm_instructions.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\armcpu.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\bios.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\cp15.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\emufile.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\FIFO.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\firmware.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\mc.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\MMU.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\NDSSystem.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\readwrite.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\slot1.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\SPU.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\thumb_instructions.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\version.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\addons\slot1_retail.cpp">
-      <Filter>Source Files\desmume\addons</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\metaspu.cpp">
-      <Filter>Source Files\desmume\metaspu</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SndOut.cpp">
-      <Filter>Source Files\desmume\metaspu</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\Timestretcher.cpp">
-      <Filter>Source Files\desmume\metaspu</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\AAFilter.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\cpu_detect_x86_win.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\FIFOSampleBuffer.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\FIRFilter.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\RateTransposer.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\SoundTouch.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\sse_optimized.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\TDStretch.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\dlditool.cpp">
-      <Filter>Source Files\desmume\utils</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\xstring.cpp">
-      <Filter>Source Files\desmume\utils</Filter>
-    </ClCompile>
     <ClCompile Include="XSFConfig_2SF.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="desmume\arm_jit.cpp">
-      <Filter>Source Files\desmume</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\metaspu\SoundTouch\mmx_optimized.cpp">
-      <Filter>Source Files\desmume\metaspu\SoundTouch</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\assembler.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\codegen.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\compiler.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\constpool.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\containers.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\context.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\cpuinfo.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\cputicks.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\error.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\globals.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\logger.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\operand.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\runtime.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\string.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\vmem.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\base\zone.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86assembler.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86compiler.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86context.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86cpuinfo.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86inst.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86operand.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86operand_regs.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
-    </ClCompile>
-    <ClCompile Include="desmume\utils\AsmJit\x86\x86scheduler.cpp">
-      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    <ClCompile Include="desmume/arm_instructions.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/arm_jit.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/armcpu.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/assembler.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/bios.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/codegen.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/compiler.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/constpool.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/containers.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/context.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/cp15.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/cpuinfo.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/cputicks.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/emufile.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/error.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/FIFO.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/firmware.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/globals.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/logger.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/mc.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/metaspu/metaspu.cpp">
+      <Filter>Source Files\desmume\metaspu</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/MMU.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/NDSSystem.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/operand.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/readwrite.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/runtime.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/slot1.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/addons/slot1_retail.cpp">
+      <Filter>Source Files\desmume\addons</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/SPU.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/vmem.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/string.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/thumb_instructions.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/version.cpp">
+      <Filter>Source Files\desmume</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86assembler.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86compiler.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86context.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86cpuinfo.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86inst.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86operand.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86operand_regs.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/x86/x86scheduler.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\x86</Filter>
+    </ClCompile>
+    <ClCompile Include="desmume/utils/AsmJit/base/zone.cpp">
+      <Filter>Source Files\desmume\utils\AsmJit\base</Filter>
+    </ClCompile>
+    <ClCompile Include="spu\adpcmdecoder.cpp">
+      <Filter>Source Files\spu</Filter>
+    </ClCompile>
+    <ClCompile Include="spu\interpolator.cpp">
+      <Filter>Source Files\spu</Filter>
+    </ClCompile>
+    <ClCompile Include="spu\samplecache.cpp">
+      <Filter>Source Files\spu</Filter>
+    </ClCompile>
+    <ClCompile Include="spu\sampledata.cpp">
+      <Filter>Source Files\spu</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
@@ -299,149 +272,131 @@
     <ClInclude Include="desmume\metaspu\metaspu.h">
       <Filter>Header Files\desmume\metaspu</Filter>
     </ClInclude>
-    <ClInclude Include="desmume\metaspu\SndOut.h">
-      <Filter>Header Files\desmume\metaspu</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\AAFilter.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\cpu_detect.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\FIFOSampleBuffer.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\FIFOSamplePipe.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\FIRFilter.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\RateTransposer.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\SoundTouch.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\STTypes.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\metaspu\SoundTouch\TDStretch.h">
-      <Filter>Header Files\desmume\metaspu\SoundTouch</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\xstring.h">
+    <ClInclude Include="desmume\instructions.h">
+      <Filter>Header Files\desmume</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\arm_jit.h">
+      <Filter>Header Files\desmume</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\instruction_attributes.h">
+      <Filter>Header Files\desmume</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\apibegin.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\apiend.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\asmjit.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\build.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\config.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\host.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86.h">
+      <Filter>Header Files\desmume\utils\AsmJit</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\assembler.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\codegen.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\compiler.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\constpool.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\containers.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\context_p.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\cpuinfo.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\cputicks.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\error.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\globals.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\intutil.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\lock.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\logger.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\operand.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\runtime.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\string.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\vectypes.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\vmem.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\base\zone.h">
+      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86assembler.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86compiler.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86context_p.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86cpuinfo.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86inst.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86operand.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\AsmJit\x86\x86scheduler_p.h">
+      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    </ClInclude>
+    <ClInclude Include="desmume\utils\bits.h">
       <Filter>Header Files\desmume\utils</Filter>
     </ClInclude>
-    <ClInclude Include="desmume\instructions.h">
-      <Filter>Header Files\desmume</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\arm_jit.h">
-      <Filter>Header Files\desmume</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\instruction_attributes.h">
-      <Filter>Header Files\desmume</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\apibegin.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\apiend.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\asmjit.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\build.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\config.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\host.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86.h">
-      <Filter>Header Files\desmume\utils\AsmJit</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\assembler.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\codegen.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\compiler.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\constpool.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\containers.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\context_p.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\cpuinfo.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\cputicks.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\error.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\globals.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\intutil.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\lock.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\logger.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\operand.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\runtime.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\string.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\vectypes.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\vmem.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\base\zone.h">
-      <Filter>Header Files\desmume\utils\AsmJit\base</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86assembler.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86compiler.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86context_p.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86cpuinfo.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86inst.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86operand.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
-    </ClInclude>
-    <ClInclude Include="desmume\utils\AsmJit\x86\x86scheduler_p.h">
-      <Filter>Header Files\desmume\utils\AsmJit\x86</Filter>
+    <ClInclude Include="spu\adpcmdecoder.h">
+      <Filter>Header Files\spu</Filter>
+    </ClInclude>
+    <ClInclude Include="spu\interpolator.h">
+      <Filter>Header Files\spu</Filter>
+    </ClInclude>
+    <ClInclude Include="spu\samplecache.h">
+      <Filter>Header Files\spu</Filter>
+    </ClInclude>
+    <ClInclude Include="spu\sampledata.h">
+      <Filter>Header Files\spu</Filter>
     </ClInclude>
   </ItemGroup>
   <ItemGroup>

--- a/src/in_gsf/in_gsf.vcxproj
+++ b/src/in_gsf/in_gsf.vcxproj
@@ -14,29 +14,30 @@
     <ProjectGuid>{1F019070-5442-43ED-99F8-B5DC45E762B1}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>in_gsf</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -50,14 +51,13 @@
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_GSF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4100;4127;4189;4244;4291;4310;4512;4800;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -67,16 +67,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_GSF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4100;4127;4189;4244;4291;4310;4512;4800;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>

--- a/src/in_ncsf/SSEQPlayer/Channel.h
+++ b/src/in_ncsf/SSEQPlayer/Channel.h
@@ -21,7 +21,7 @@
 
 /*
  * This structure is meant to be similar to what is stored in the actual
- * Nintendo DS's sound registers.  Items that were not being used by this
+ * Nintendo DS's sound registers. Items that were not being used by this
  * player have been removed, and items which help the simulated registers
  * have been added.
  */
@@ -67,7 +67,7 @@
 
 /*
  * From FeOS Sound System, this is temporary storage of what will go into
- * the Nintendo DS sound registers.  It is kept separate as the original code
+ * the Nintendo DS sound registers. It is kept separate as the original code
  * from FeOS Sound System utilized this to hold data prior to passing it into
  * the DS's registers.
  */
@@ -88,7 +88,7 @@
  * data, duplicated. The way it is duplicated is done as follows:
  * the samples are stored in the center of the buffer, and on both
  * sides is half of the data, the first half being after the data
- * and the second half before before the data. This in essense
+ * and the second half begin before the data. This in essence
  * mirrors the data while allowing a pointer to always be retrieved
  * and no extra copies of the buffer are created. Part of the idea
  * for this came from kode54's original buffer implementation, but

--- a/src/in_ncsf/SSEQPlayer/Player.cpp
+++ b/src/in_ncsf/SSEQPlayer/Player.cpp
@@ -141,7 +141,7 @@
 // Original FSS Function: Player_Run
 void Player::Run()
 {
-	while (this->tempoCount > 240)
+	while (this->tempoCount >= 240)
 	{
 		this->tempoCount -= 240;
 		for (uint8_t i = 0; i < this->nTracks; ++i)

--- a/src/in_ncsf/in_ncsf.vcxproj
+++ b/src/in_ncsf/in_ncsf.vcxproj
@@ -14,29 +14,30 @@
     <ProjectGuid>{4EDC9B55-39BE-4D36-8819-F414FC77ED1E}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>in_ncsf</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -50,14 +51,13 @@
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_NCSF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -67,16 +67,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_NCSF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>

--- a/src/in_snsf/in_snsf.vcxproj
+++ b/src/in_snsf/in_snsf.vcxproj
@@ -14,29 +14,30 @@
     <ProjectGuid>{C643848D-8ECB-4B45-9089-1F7DC4ED0451}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>in_snsf</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="..\in_xsf_framework\common.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -50,14 +51,13 @@
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_SNSF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4100;4127;4244;4245;4310;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -67,16 +67,15 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;IN_SNSF_EXPORTS;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>..\in_xsf_framework;$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\in_xsf_framework;..\in_xsf_framework\zlib;..\in_xsf_framework\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4100;4127;4244;4245;4310;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(zlibRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>

--- a/src/in_xsf.sln
+++ b/src/in_xsf.sln
@@ -1,6 +1,8 @@
 
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31105.61
+MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "in_2sf", "in_2sf\in_2sf.vcxproj", "{1927E848-5CFF-4462-A5AB-2768A390C5F3}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "in_gsf", "in_gsf\in_gsf.vcxproj", "{1F019070-5442-43ED-99F8-B5DC45E762B1}"
@@ -41,5 +43,8 @@
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {99405376-9E56-4155-AA21-9076746C360B}
+	EndGlobalSection
 EndGlobal
 

--- a/src/in_xsf_framework/common.props
+++ /dev/null
@@ -1,19 +1,1 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ImportGroup Label="PropertySheets" />
-  <PropertyGroup Label="UserMacros">
-    <zlibRootDir>$(MSBuildThisFileDirectory)\zlib</zlibRootDir>
-    <WinampSDKDir>$(MSBuildThisFileDirectory)\winamp</WinampSDKDir>
-  </PropertyGroup>
-  <PropertyGroup />
-  <ItemDefinitionGroup />
-  <ItemGroup>
-    <BuildMacro Include="zlibRootDir">
-      <Value>$(zlibRootDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="WinampSDKDir">
-      <Value>$(WinampSDKDir)</Value>
-    </BuildMacro>
-  </ItemGroup>
-</Project>
 

--- a/src/in_xsf_framework/in_xsf_framework.vcxproj
+++ b/src/in_xsf_framework/in_xsf_framework.vcxproj
@@ -14,29 +14,30 @@
     <ProjectGuid>{9D6D2540-B3DC-462B-BBC0-5B7C32A4D581}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>in_xsf_framework</RootNamespace>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="common.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="common.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup />
@@ -45,8 +46,9 @@
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
       <PreprocessorDefinitions>WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;UNICODE_INPUT_PLUGIN;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.\zlib;.\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4127;4244;4512;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
@@ -60,8 +62,9 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;WINAMP_PLUGIN;UNICODE_INPUT_PLUGIN;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(zlibRootDir)\include;$(WinampSDKDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>.\zlib;.\winamp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <DisableSpecificWarnings>4127;4244;4512;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
@@ -81,6 +84,15 @@
     <ClInclude Include="XSFConfig.h" />
     <ClInclude Include="XSFFile.h" />
     <ClInclude Include="XSFPlayer.h" />
+    <ClInclude Include="zlib\crc32.h" />
+    <ClInclude Include="zlib\gzguts.h" />
+    <ClInclude Include="zlib\inffast.h" />
+    <ClInclude Include="zlib\inffixed.h" />
+    <ClInclude Include="zlib\inflate.h" />
+    <ClInclude Include="zlib\inftrees.h" />
+    <ClInclude Include="zlib\zconf.h" />
+    <ClInclude Include="zlib\zlib.h" />
+    <ClInclude Include="zlib\zutil.h" />
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="DialogBuilder.cpp" />
@@ -90,9 +102,13 @@
     <ClCompile Include="XSFConfig_Winamp.cpp" />
     <ClCompile Include="XSFFile.cpp" />
     <ClCompile Include="XSFPlayer.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="common.props" />
+    <ClCompile Include="zlib\adler32.c" />
+    <ClCompile Include="zlib\crc32.c" />
+    <ClCompile Include="zlib\inffast.c" />
+    <ClCompile Include="zlib\inflate.c" />
+    <ClCompile Include="zlib\inftrees.c" />
+    <ClCompile Include="zlib\uncompr.c" />
+    <ClCompile Include="zlib\zutil.c" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">

--- a/src/in_xsf_framework/in_xsf_framework.vcxproj.filters
+++ b/src/in_xsf_framework/in_xsf_framework.vcxproj.filters
@@ -12,6 +12,12 @@
     <Filter Include="Resource Files">
       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+    <Filter Include="Source Files\zlib">
+      <UniqueIdentifier>{4ece8f78-c8a3-4384-80be-82bdfe7f6952}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\zlib">
+      <UniqueIdentifier>{e073fbb9-3de6-48aa-8777-f6ce1fb61845}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
   <ItemGroup>
@@ -45,6 +51,33 @@
     <ClInclude Include="ltstr.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="zlib\crc32.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\gzguts.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\inffast.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\inffixed.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\inflate.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\inftrees.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\zconf.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\zlib.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="zlib\zutil.h">
+      <Filter>Header Files\zlib</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="DialogBuilder.cpp">
@@ -68,8 +101,26 @@
     <ClCompile Include="TagList.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="common.props" />
+    <ClCompile Include="zlib\zutil.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="zlib\adler32.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="zlib\crc32.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="zlib\inffast.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="zlib\inflate.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="zlib\inftrees.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="zlib\uncompr.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>