changeset 213:b5bdd0154dd6

Merge pull request #58 from q-depot/master add VC2012 project to compile static and dynamic lib, also fix some C
author Jamie Bullock <jamie@jamiebullock.com>
date Thu, 27 Mar 2014 14:56:36 +0000
parents c99c00e1c508 (current diff) 809b8c48bdb9 (diff)
children f28f66faa016
files
diffstat 30 files changed, 736 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/.gitignore	Mon Mar 17 16:39:30 2014 +0000
+++ b/.gitignore	Thu Mar 27 14:56:36 2014 +0000
@@ -18,6 +18,10 @@
 *.pd_*
 examples/simpletest/simpletest
 
+# VS files
+*.sdf
+*.tlog
+
 # http://www.gnu.org/software/automake
 
 Makefile.in
--- a/src/descriptors.c	Mon Mar 17 16:39:30 2014 +0000
+++ b/src/descriptors.c	Thu Mar 27 14:56:36 2014 +0000
@@ -42,7 +42,7 @@
 
     f = F = XTRACT_FEATURES;
 
-    fd = malloc(XTRACT_FEATURES * sizeof(xtract_function_descriptor_t));
+    fd = (xtract_function_descriptor_t*)malloc(XTRACT_FEATURES * sizeof(xtract_function_descriptor_t));
 
     /* FIX - this file probably needs a rewrite for readability */
 
@@ -129,7 +129,7 @@
             *(argv_min + 1) = 0.0;
             *(argv_max + 1) = 1.0 ;
             *(argv_def + 1) = .1 ;
-            *(argv_unit + 1) = XTRACT_NONE;
+            *(argv_unit + 1) = (xtract_unit_t)XTRACT_NONE;
             break;
         case XTRACT_NOISINESS:
         case XTRACT_SKEWNESS:
@@ -140,11 +140,11 @@
             *argv_min = XTRACT_NONE;
             *argv_max = XTRACT_NONE;
             *argv_def = XTRACT_NONE;
-            *argv_unit = XTRACT_NONE;
+            *argv_unit = (xtract_unit_t)XTRACT_NONE;
             *(argv_min + 1) = XTRACT_NONE;
             *(argv_max + 1) = XTRACT_NONE;
             *(argv_def + 1) = XTRACT_NONE;
-            *(argv_unit + 1) = XTRACT_NONE;
+            *(argv_unit + 1) = (xtract_unit_t)XTRACT_NONE;
             break;
             /* argc = 4 */
         case XTRACT_SPECTRUM:
@@ -155,29 +155,29 @@
             *(argv_min + 1) = 0;
             *(argv_max + 1) = 3 ;
             *(argv_def + 1) = 0;
-            *(argv_unit + 1) = XTRACT_NONE;
+            *(argv_unit + 1) = (xtract_unit_t)XTRACT_NONE;
             *(argv_min + 2) = 0;
             *(argv_max + 2) = 1;
             *(argv_def + 2) = 0;
-            *(argv_unit + 2) = XTRACT_NONE;
+            *(argv_unit + 2) = (xtract_unit_t)XTRACT_NONE;
             *(argv_min + 3) = 0;
             *(argv_max + 3) = 1;
             *(argv_def + 3) = 0;
-            *(argv_unit + 3) = XTRACT_NONE;
+            *(argv_unit + 3) = (xtract_unit_t)XTRACT_NONE;
             break;
         case XTRACT_SUBBANDS:
             *argv_min  = XTRACT_ANY;
             *argv_max = XTRACT_ANY;
             *argv_def = XTRACT_MEAN;
-            *argv_unit = XTRACT_NONE;
+            *argv_unit = (xtract_unit_t)XTRACT_NONE;
             *(argv_min + 1) = 1;
             *(argv_max + 1) = 16384;
             *(argv_def + 1) = 4;
-            *(argv_unit + 1) = XTRACT_NONE;
+            *(argv_unit + 1) = (xtract_unit_t)XTRACT_NONE;
             *(argv_min + 2) = 0;
             *(argv_max + 2) = 32;
             *(argv_def + 2) = 0;
-            *(argv_unit + 2) = XTRACT_NONE;
+            *(argv_unit + 2) = (xtract_unit_t)XTRACT_NONE;
             *(argv_min + 3) = 0;
             *(argv_max + 3) = XTRACT_ANY;
             *(argv_def + 3) = 0;
@@ -191,7 +191,7 @@
             *argv_min = XTRACT_NONE;
             *argv_max = XTRACT_NONE;
             *argv_def = XTRACT_NONE;
-            *argv_unit = XTRACT_NONE;
+            *argv_unit = (xtract_unit_t)XTRACT_NONE;
             break;
         }
 
@@ -443,7 +443,7 @@
         case XTRACT_LPCC:
         case XTRACT_WINDOWED:
         case XTRACT_SUBBANDS:
-            *data_unit = XTRACT_ANY;
+            *data_unit = (xtract_unit_t)XTRACT_ANY;
             break;
         case XTRACT_SPECTRAL_MEAN:
         case XTRACT_SPECTRAL_VARIANCE:
@@ -1251,7 +1251,7 @@
             case XTRACT_LNORM:
             case XTRACT_NONZERO_COUNT:
             case XTRACT_WINDOWED:
-                *result_unit = XTRACT_ANY;
+                *result_unit = (xtract_unit_t)XTRACT_ANY;
                 *result_min = XTRACT_ANY;
                 *result_max = XTRACT_ANY;
                 break;
@@ -1264,7 +1264,7 @@
             case XTRACT_TRISTIMULUS_3:
             case XTRACT_NOISINESS:
             case XTRACT_SMOOTHNESS:
-                *result_unit = XTRACT_NONE;
+                *result_unit = (xtract_unit_t)XTRACT_NONE;
                 *result_min = XTRACT_ANY; /* FIX: need to check these */
                 *result_max = XTRACT_ANY;
                 break;
@@ -1293,7 +1293,7 @@
                 *result_max = XTRACT_ANY;
                 break;
             case XTRACT_ODD_EVEN_RATIO:
-                *result_unit = XTRACT_NONE;
+                *result_unit = (xtract_unit_t)XTRACT_NONE;
                 *result_min = 0.0;
                 *result_max = 1.0;
                 break;
@@ -1313,7 +1313,7 @@
             case XTRACT_LPC:
             case XTRACT_LPCC:
             default:
-                *result_unit = XTRACT_UNKNOWN;
+                *result_unit = (xtract_unit_t)XTRACT_UNKNOWN;
                 *result_min = XTRACT_UNKNOWN;
                 *result_max = XTRACT_UNKNOWN;
                 break;
@@ -1336,11 +1336,11 @@
             case XTRACT_SUBBANDS:
             case XTRACT_WINDOWED:
                 *result_format = XTRACT_ARBITRARY_SERIES;
-                *result_unit = XTRACT_ANY;
+                *result_unit = (xtract_unit_t)XTRACT_ANY;
                 break;
             case XTRACT_BARK_COEFFICIENTS:
                 *result_format = XTRACT_BARK_COEFFS;
-                *result_unit = XTRACT_UNKNOWN; /* FIX: check */
+                *result_unit = (xtract_unit_t)XTRACT_UNKNOWN; /* FIX: check */
                 break;
             case XTRACT_PEAK_SPECTRUM:
             case XTRACT_SPECTRUM:
@@ -1352,15 +1352,15 @@
                 break;
             case XTRACT_MFCC:
                 *result_format = XTRACT_MEL_COEFFS;
-                *result_unit = XTRACT_UNKNOWN; /* FIX: check */
+                *result_unit = (xtract_unit_t)XTRACT_UNKNOWN; /* FIX: check */
                 break;
             case XTRACT_LPC:
                 *result_format = XTRACT_LPC_COEFFS;
-                *result_unit = XTRACT_UNKNOWN;
+                *result_unit = (xtract_unit_t)XTRACT_UNKNOWN;
                 break;
             case XTRACT_LPCC:
                 *result_format = XTRACT_LPCC_COEFFS;
-                *result_unit = XTRACT_UNKNOWN;
+                *result_unit = (xtract_unit_t)XTRACT_UNKNOWN;
                 break;
             default:
                 break;
--- a/src/fft.h	Mon Mar 17 16:39:30 2014 +0000
+++ b/src/fft.h	Thu Mar 27 14:56:36 2014 +0000
@@ -28,7 +28,16 @@
 #include <config.h>
 #endif
 
-#include <stdbool.h>
+#ifdef _MSC_VER
+	#define USE_OOURA
+	#ifndef __cplusplus
+		typedef int bool;
+		#define false 0
+		#define true 1
+	#endif
+#else
+	#include <stdbool.h>
+#endif
 
 #ifdef USE_OOURA
 #include "ooura/fftsg.h"
--- a/src/helper.c	Mon Mar 17 16:39:30 2014 +0000
+++ b/src/helper.c	Thu Mar 27 14:56:36 2014 +0000
@@ -75,7 +75,8 @@
 
 }
 
-inline int xtract_is_denormal(double const d)
+//inline int xtract_is_denormal(double const d)
+int xtract_is_denormal(double const d)
 {
     if(sizeof(d) != 2 * sizeof(int))
         fprintf(stderr, "libxtract: Error: xtract_is_denormal() detects inconsistent wordlength for type 'double'\n");
@@ -84,7 +85,8 @@
     return (l&0x7ff00000) == 0 && d!=0; //Check for 0 may not be necessary
 }
 
-inline bool xtract_is_poweroftwo(unsigned int x)
+//inline bool xtract_is_poweroftwo(unsigned int x)
+bool xtract_is_poweroftwo(unsigned int x)
 {
     return ((x != 0) && !(x & (x - 1)));
 }
--- a/src/init.c	Mon Mar 17 16:39:30 2014 +0000
+++ b/src/init.c	Thu Mar 27 14:56:36 2014 +0000
@@ -43,7 +43,7 @@
 #ifdef USE_OOURA
 void xtract_init_ooura_data(xtract_ooura_data *ooura_data, unsigned int N)
 {
-    ooura_data->ooura_ip  = (int *)calloc(2 + sqrt(N), sizeof(int));
+    ooura_data->ooura_ip  = (int *)calloc(2 + sqrt((double)N), sizeof(int));
     ooura_data->ooura_w   = (double *)calloc(N * 5 / 4, sizeof(double));
     ooura_data->initialised = true;
 }
@@ -397,7 +397,7 @@
 {
     double *window;
 
-    window = malloc(N * sizeof(double));
+    window = (double*)malloc(N * sizeof(double));
 
     switch (type)
     {
@@ -444,7 +444,7 @@
 #ifdef __GNUC__
 __attribute__((constructor)) void init()
 #else
-void _init()·
+void _init()
 #endif
 {
 #ifdef USE_OOURA
--- a/src/scalar.c	Mon Mar 17 16:39:30 2014 +0000
+++ b/src/scalar.c	Thu Mar 27 14:56:36 2014 +0000
@@ -872,8 +872,8 @@
     if(sr == 0)
         sr = 44100.0;
 
-    input = (double *)malloc(bytes = N * sizeof(double));
-    input = memcpy(input, data, bytes);
+    input = (double*)malloc(bytes = N * sizeof(double));
+    input = (double*)memcpy(input, data, bytes);
     /*  threshold_peak = *((double *)argv+1);
     threshold_centre = *((double *)argv+2);
     printf("peak: %.2\tcentre: %.2\n", threshold_peak, threshold_centre);*/
@@ -942,27 +942,23 @@
 int xtract_failsafe_f0(const double *data, const int N, const void *argv, double *result)
 {
 
-    double *spectrum = NULL, argf[4], *peaks = NULL, return_code, sr;
+    double *spectrum = NULL, argf[2], *peaks = NULL, return_code, sr;
 
     return_code = xtract_f0(data, N, argv, result);
 
-    if(return_code == XTRACT_NO_RESULT || *result == 0)
+    if(return_code == XTRACT_NO_RESULT)
     {
         sr = *(double *)argv;
         if(sr == 0)
             sr = 44100.0;
         spectrum = (double *)malloc(N * sizeof(double));
         peaks = (double *)malloc(N * sizeof(double));
-        argf[0] = sr / (double)N;
+        argf[0] = sr;
         argf[1] = XTRACT_MAGNITUDE_SPECTRUM;
-        argf[2] = 0.f; /* DC component not Nyquist */
-        argf[3] = 1.f; /* Normalize */
         xtract_spectrum(data, N, argf, spectrum);
-        argf[1] = 50.0; /* Peak threshold is 70% of maximum peak found */
+        argf[1] = 10.0;
         xtract_peak_spectrum(spectrum, N >> 1, argf, peaks);
         argf[0] = 0.0;
-        
-        /* Assume the peak with the lowest frequency is the fundamental */
         xtract_lowest_value(peaks+(N >> 1), N >> 1, argf, result);
 
         free(spectrum);
@@ -994,7 +990,7 @@
       
     note = 69 + log(f0 / 440.f) * 17.31234;
     note *= 100;
-    note = round(note);
+    note = floor( 0.5f + note ); // replace -> round(note);
 
     *result = note;
     
--- a/src/vector.c	Mon Mar 17 16:39:30 2014 +0000
+++ b/src/vector.c	Thu Mar 27 14:56:36 2014 +0000
@@ -83,7 +83,7 @@
      * the output format is
      * a[0] - DC, a[1] - nyquist, a[2...N-1] - remaining bins
      */
-    fft = malloc(N * sizeof(double));
+    fft = (double*)malloc(N * sizeof(double));
     assert(fft != NULL);
     memcpy(fft, data, N * sizeof(double));
 
@@ -375,7 +375,7 @@
 
     int n;
     int m;
-    double *temp = calloc(N, sizeof(double));
+    double *temp = (double*)calloc(N, sizeof(double));
 
     for (n = 0; n < N; ++n)
     {
@@ -502,7 +502,7 @@
     bytes = N * sizeof(double);
 
     if(input != NULL)
-        input = memcpy(input, data, bytes);
+        input = (double*)memcpy(input, data, bytes);
     else
         return XTRACT_MALLOC_FAILED;
 
@@ -562,8 +562,8 @@
         if(freqs[n])
         {
             ratio = freqs[n] / f0;
-            nearest = round(ratio);
-            distance = fabs(nearest - ratio);
+			nearest = floor( 0.5f + ratio);				// replace -> nearest = round(ratio);
+			distance = fabs(nearest - ratio);
             if(distance > threshold)
                 result[n] = result[M + n] = 0.0;
             else
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract.sln	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXtract", "LibXtract\LibXtract.vcxproj", "{8C5AA960-7918-4D2D-B620-8B208E00A532}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Debug|Win32.ActiveCfg = Debug|Win32
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Debug|Win32.Build.0 = Debug|Win32
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Release|Win32.ActiveCfg = Release|Win32
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.lastbuildstate	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Debug|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_dll\|
Binary file vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.ib_pdb_index has changed
Binary file vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.idb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{8C5AA960-7918-4D2D-B620-8B208E00A532}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>LibXtract</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </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" />
+  </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" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(SolutionDir)\lib\</OutDir>
+    <TargetName>$(ProjectName)_d</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)\lib\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <Text Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\src\dywapitchtrack\dywapitchtrack.h" />
+    <ClInclude Include="..\..\..\src\fft.h" />
+    <ClInclude Include="..\..\..\src\ooura\fftsg.h" />
+    <ClInclude Include="..\..\..\src\xtract_globals_private.h" />
+    <ClInclude Include="..\..\..\src\xtract_macros_private.h" />
+    <ClInclude Include="..\..\..\src\xtract_window_private.h" />
+    <ClInclude Include="..\..\..\xtract\libxtract.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_delta.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_helper.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_macros.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_scalar.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_types.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_vector.h" />
+    <ClInclude Include="stdafx.h" />
+    <ClInclude Include="targetver.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\delta.c" />
+    <ClCompile Include="..\..\..\src\descriptors.c" />
+    <ClCompile Include="..\..\..\src\dywapitchtrack\dywapitchtrack.c" />
+    <ClCompile Include="..\..\..\src\fini.c" />
+    <ClCompile Include="..\..\..\src\helper.c" />
+    <ClCompile Include="..\..\..\src\init.c" />
+    <ClCompile Include="..\..\..\src\libxtract.c" />
+    <ClCompile Include="..\..\..\src\ooura\fftsg.c" />
+    <ClCompile Include="..\..\..\src\scalar.c" />
+    <ClCompile Include="..\..\..\src\vector.c" />
+    <ClCompile Include="..\..\..\src\window.c" />
+    <ClCompile Include="stdafx.cpp">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\src\Makefile.am" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj.filters	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <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\ooura">
+      <UniqueIdentifier>{4b080b90-2736-4aa7-ac76-6426243a4b71}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\dywapitchtrack">
+      <UniqueIdentifier>{ce27305e-5718-466e-be83-b45600d88a56}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\xtract">
+      <UniqueIdentifier>{a53ce415-7563-4e4c-8491-3582dcf43a3a}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <Text Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="stdafx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="targetver.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\fft.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\xtract_globals_private.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\xtract_macros_private.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\xtract_window_private.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\dywapitchtrack\dywapitchtrack.h">
+      <Filter>Source Files\dywapitchtrack</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\ooura\fftsg.h">
+      <Filter>Source Files\ooura</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\libxtract.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_delta.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_helper.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_macros.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_scalar.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_types.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_vector.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="stdafx.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\delta.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\descriptors.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\fini.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\helper.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\init.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\libxtract.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\scalar.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\vector.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\window.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dywapitchtrack\dywapitchtrack.c">
+      <Filter>Source Files\dywapitchtrack</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\ooura\fftsg.c">
+      <Filter>Source Files\ooura</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\src\Makefile.am">
+      <Filter>Source Files</Filter>
+    </None>
+  </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/ReadMe.txt	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,37 @@
+========================================================================
+    STATIC LIBRARY : LibXtract Project Overview
+========================================================================
+
+AppWizard has created this LibXtract library project for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your LibXtract application.
+
+
+LibXtract.vcxproj
+    This is the main project file for VC++ projects generated using an Application Wizard.
+    It contains information about the version of Visual C++ that generated the file, and
+    information about the platforms, configurations, and project features selected with the
+    Application Wizard.
+
+LibXtract.vcxproj.filters
+    This is the filters file for VC++ projects generated using an Application Wizard. 
+    It contains information about the association between the files in your project 
+    and the filters. This association is used in the IDE to show grouping of files with
+    similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+    "Source Files" filter).
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h, StdAfx.cpp
+    These files are used to build a precompiled header (PCH) file
+    named LibXtract.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/LibXtract.lastbuildstate	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Release|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_dll\|
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/stdafx.cpp	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// LibXtract.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/stdafx.h	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,14 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
+
+
+
+// TODO: reference additional headers your program requires here
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_dll/LibXtract/targetver.h	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract.sln	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibXtract", "LibXtract\LibXtract.vcxproj", "{8C5AA960-7918-4D2D-B620-8B208E00A532}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Debug|Win32.ActiveCfg = Debug|Win32
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Debug|Win32.Build.0 = Debug|Win32
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Release|Win32.ActiveCfg = Release|Win32
+		{8C5AA960-7918-4D2D-B620-8B208E00A532}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.lastbuildstate	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Debug|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_llib\|
Binary file vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.ib_pdb_index has changed
Binary file vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.idb has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{8C5AA960-7918-4D2D-B620-8B208E00A532}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>LibXtract</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </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" />
+  </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" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>$(SolutionDir)\lib\</OutDir>
+    <TargetName>$(ProjectName)_d</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)\lib\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <CompileAs>CompileAsCpp</CompileAs>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <Text Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\src\dywapitchtrack\dywapitchtrack.h" />
+    <ClInclude Include="..\..\..\src\fft.h" />
+    <ClInclude Include="..\..\..\src\ooura\fftsg.h" />
+    <ClInclude Include="..\..\..\src\xtract_globals_private.h" />
+    <ClInclude Include="..\..\..\src\xtract_macros_private.h" />
+    <ClInclude Include="..\..\..\src\xtract_window_private.h" />
+    <ClInclude Include="..\..\..\xtract\libxtract.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_delta.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_helper.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_macros.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_scalar.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_types.h" />
+    <ClInclude Include="..\..\..\xtract\xtract_vector.h" />
+    <ClInclude Include="stdafx.h" />
+    <ClInclude Include="targetver.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\src\delta.c" />
+    <ClCompile Include="..\..\..\src\descriptors.c" />
+    <ClCompile Include="..\..\..\src\dywapitchtrack\dywapitchtrack.c" />
+    <ClCompile Include="..\..\..\src\fini.c" />
+    <ClCompile Include="..\..\..\src\helper.c" />
+    <ClCompile Include="..\..\..\src\init.c" />
+    <ClCompile Include="..\..\..\src\libxtract.c" />
+    <ClCompile Include="..\..\..\src\ooura\fftsg.c" />
+    <ClCompile Include="..\..\..\src\scalar.c" />
+    <ClCompile Include="..\..\..\src\vector.c" />
+    <ClCompile Include="..\..\..\src\window.c" />
+    <ClCompile Include="stdafx.cpp">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\src\Makefile.am" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj.filters	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <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\ooura">
+      <UniqueIdentifier>{4b080b90-2736-4aa7-ac76-6426243a4b71}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\dywapitchtrack">
+      <UniqueIdentifier>{ce27305e-5718-466e-be83-b45600d88a56}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\xtract">
+      <UniqueIdentifier>{a53ce415-7563-4e4c-8491-3582dcf43a3a}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <Text Include="ReadMe.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="stdafx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="targetver.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\fft.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\xtract_globals_private.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\xtract_macros_private.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\xtract_window_private.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\dywapitchtrack\dywapitchtrack.h">
+      <Filter>Source Files\dywapitchtrack</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\src\ooura\fftsg.h">
+      <Filter>Source Files\ooura</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\libxtract.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_delta.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_helper.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_macros.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_scalar.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_types.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\xtract\xtract_vector.h">
+      <Filter>Header Files\xtract</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="stdafx.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\delta.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\descriptors.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\fini.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\helper.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\init.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\libxtract.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\scalar.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\vector.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\window.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\dywapitchtrack\dywapitchtrack.c">
+      <Filter>Source Files\dywapitchtrack</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\src\ooura\fftsg.c">
+      <Filter>Source Files\ooura</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\..\src\Makefile.am">
+      <Filter>Source Files</Filter>
+    </None>
+  </ItemGroup>
+</Project>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/ReadMe.txt	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,37 @@
+========================================================================
+    STATIC LIBRARY : LibXtract Project Overview
+========================================================================
+
+AppWizard has created this LibXtract library project for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your LibXtract application.
+
+
+LibXtract.vcxproj
+    This is the main project file for VC++ projects generated using an Application Wizard.
+    It contains information about the version of Visual C++ that generated the file, and
+    information about the platforms, configurations, and project features selected with the
+    Application Wizard.
+
+LibXtract.vcxproj.filters
+    This is the filters file for VC++ projects generated using an Application Wizard. 
+    It contains information about the association between the files in your project 
+    and the filters. This association is used in the IDE to show grouping of files with
+    similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+    "Source Files" filter).
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h, StdAfx.cpp
+    These files are used to build a precompiled header (PCH) file
+    named LibXtract.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/LibXtract.lastbuildstate	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Release|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_llib\|
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/stdafx.cpp	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// LibXtract.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/stdafx.h	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,14 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
+
+
+
+// TODO: reference additional headers your program requires here
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vc2012/LibXtract_static_llib/LibXtract/targetver.h	Thu Mar 27 14:56:36 2014 +0000
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
--- a/xtract/xtract_helper.h	Mon Mar 17 16:39:30 2014 +0000
+++ b/xtract/xtract_helper.h	Thu Mar 27 14:56:36 2014 +0000
@@ -30,7 +30,16 @@
 extern "C" {
 #endif
 
-#include <stdbool.h>
+#ifdef _MSC_VER
+	#ifndef __cplusplus
+		typedef int bool;
+		#define false 0
+		#define true 1
+	#endif
+#else
+	#include <stdbool.h>
+#endif
+
 
 /**
   * \defgroup helper helper functions