aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQ <andrea@nocte.co.uk>2014-03-27 09:48:26 +0000
committerQ <andrea@nocte.co.uk>2014-03-27 09:48:26 +0000
commitcc719183cbc1fb6d2aebeb3150780d5c0e3f86e5 (patch)
tree65dcab27479085b99305a7a8a41beeefee37deb7
parent0bb0f22ddec2de97f7938916c9cf278b99e6a9e7 (diff)
downloadLibXtract-cc719183cbc1fb6d2aebeb3150780d5c0e3f86e5.tar.gz
LibXtract-cc719183cbc1fb6d2aebeb3150780d5c0e3f86e5.tar.bz2
LibXtract-cc719183cbc1fb6d2aebeb3150780d5c0e3f86e5.zip
add VC2012 project to compile static and dynamic lib, also fix some C
issues
-rw-r--r--.gitignore3
-rw-r--r--src/descriptors.c42
-rw-r--r--src/fft.h11
-rw-r--r--src/helper.c6
-rw-r--r--src/init.c6
-rw-r--r--src/scalar.c18
-rw-r--r--src/vector.c10
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract.sln20
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/CL.read.1.tlogbin0 -> 18782 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/CL.write.1.tlogbin0 -> 6150 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.lastbuildstate2
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.pch.ib_tag0
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/cl.command.1.tlogbin0 -> 8056 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.read.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.write.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.read.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.write.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link.command.1.tlogbin0 -> 3504 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link.read.1.tlogbin0 -> 6186 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/link.write.1.tlogbin0 -> 2420 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.ib_pdb_indexbin0 -> 105 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.idbbin0 -> 134144 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj126
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj.filters119
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/ReadMe.txt37
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/CL.read.1.tlogbin0 -> 18782 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/CL.write.1.tlogbin0 -> 6246 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/LibXtract.lastbuildstate2
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/cl.command.1.tlogbin0 -> 8296 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.read.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.write.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.read.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.write.1.tlog1
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link.command.1.tlogbin0 -> 3628 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link.read.1.tlogbin0 -> 6542 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/Release/link.write.1.tlogbin0 -> 2310 bytes
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/stdafx.cpp8
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/stdafx.h14
-rw-r--r--vc2012/LibXtract_static_dll/LibXtract/targetver.h8
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract.sln20
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/CL.read.1.tlogbin0 -> 18788 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/CL.write.1.tlogbin0 -> 6202 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.read.1.tlogbin0 -> 4168 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.write.1.tlogbin0 -> 2146 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.lastbuildstate2
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.pch.ib_tag0
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/cl.command.1.tlogbin0 -> 7796 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/lib.command.1.tlogbin0 -> 2584 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.ib_pdb_indexbin0 -> 105 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.idbbin0 -> 134144 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj126
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj.filters119
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/ReadMe.txt37
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/CL.read.1.tlogbin0 -> 18788 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/CL.write.1.tlogbin0 -> 6298 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.read.1.tlogbin0 -> 4264 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.write.1.tlogbin0 -> 2190 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/LibXtract.lastbuildstate2
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/cl.command.1.tlogbin0 -> 8036 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/Release/lib.command.1.tlogbin0 -> 2688 bytes
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/stdafx.cpp8
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/stdafx.h14
-rw-r--r--vc2012/LibXtract_static_llib/LibXtract/targetver.h8
-rw-r--r--xtract/xtract_helper.h11
64 files changed, 743 insertions, 44 deletions
diff --git a/.gitignore b/.gitignore
index 92825f7..0169b18 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,6 +18,9 @@
*.pd_*
examples/simpletest/simpletest
+# VS db files
+*.sdf
+
# http://www.gnu.org/software/automake
Makefile.in
diff --git a/src/descriptors.c b/src/descriptors.c
index efcf02d..2bfdd35 100644
--- a/src/descriptors.c
+++ b/src/descriptors.c
@@ -42,7 +42,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
*(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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
*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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
*(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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
*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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
*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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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 @@ xtract_function_descriptor_t *xtract_make_descriptors(void)
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;
diff --git a/src/fft.h b/src/fft.h
index 22d6166..790ebe0 100644
--- a/src/fft.h
+++ b/src/fft.h
@@ -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"
diff --git a/src/helper.c b/src/helper.c
index 182276f..5b7155f 100644
--- a/src/helper.c
+++ b/src/helper.c
@@ -75,7 +75,8 @@ int xtract_features_from_subframes(const double *data, const int N, const int fe
}
-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 @@ inline int xtract_is_denormal(double const d)
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)));
}
diff --git a/src/init.c b/src/init.c
index a65e33a..f7962fa 100644
--- a/src/init.c
+++ b/src/init.c
@@ -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 *xtract_init_window(const int N, const int type)
{
double *window;
- window = malloc(N * sizeof(double));
+ window = (double*)malloc(N * sizeof(double));
switch (type)
{
@@ -444,7 +444,7 @@ void xtract_free_window(double *window)
#ifdef __GNUC__
__attribute__((constructor)) void init()
#else
-void _init()·
+void _init()
#endif
{
#ifdef USE_OOURA
diff --git a/src/scalar.c b/src/scalar.c
index 020bd30..e0d2578 100644
--- a/src/scalar.c
+++ b/src/scalar.c
@@ -872,8 +872,8 @@ int xtract_f0(const double *data, const int N, const void *argv, double *result)
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_f0(const double *data, const int N, const void *argv, double *result)
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 @@ int xtract_midicent(const double *data, const int N, const void *argv, double *r
note = 69 + log(f0 / 440.f) * 17.31234;
note *= 100;
- note = round(note);
+ note = floor( 0.5f + note ); // replace -> round(note);
*result = note;
diff --git a/src/vector.c b/src/vector.c
index 5074b65..9c49c2c 100644
--- a/src/vector.c
+++ b/src/vector.c
@@ -83,7 +83,7 @@ int xtract_spectrum(const double *data, const int N, const void *argv, double *r
* 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 xtract_dct(const double *data, const int N, const void *argv, double *result
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 @@ int xtract_peak_spectrum(const double *data, const int N, const void *argv, doub
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 @@ int xtract_harmonic_spectrum(const double *data, const int N, const void *argv,
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
diff --git a/vc2012/LibXtract_static_dll/LibXtract.sln b/vc2012/LibXtract_static_dll/LibXtract.sln
new file mode 100644
index 0000000..e478212
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract.sln
@@ -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
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/CL.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/CL.read.1.tlog
new file mode 100644
index 0000000..94970e0
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/CL.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/CL.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/CL.write.1.tlog
new file mode 100644
index 0000000..bf05684
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/CL.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.lastbuildstate b/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.lastbuildstate
new file mode 100644
index 0000000..5d4a2ce
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Debug|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_dll\|
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.pch.ib_tag b/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.pch.ib_tag
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/LibXtract.pch.ib_tag
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/cl.command.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/cl.command.1.tlog
new file mode 100644
index 0000000..0e1dba8
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/cl.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.read.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link-rc.write.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link.command.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link.command.1.tlog
new file mode 100644
index 0000000..943c0f3
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link.read.1.tlog
new file mode 100644
index 0000000..b656a03
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/link.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Debug/link.write.1.tlog
new file mode 100644
index 0000000..b991e23
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/link.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.ib_pdb_index b/vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.ib_pdb_index
new file mode 100644
index 0000000..a306a4d
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.ib_pdb_index
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.idb b/vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.idb
new file mode 100644
index 0000000..86e10ef
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Debug/vc110.idb
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj b/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj
new file mode 100644
index 0000000..bc70090
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj
@@ -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
diff --git a/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj.filters b/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj.filters
new file mode 100644
index 0000000..d2e2002
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/LibXtract.vcxproj.filters
@@ -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
diff --git a/vc2012/LibXtract_static_dll/LibXtract/ReadMe.txt b/vc2012/LibXtract_static_dll/LibXtract/ReadMe.txt
new file mode 100644
index 0000000..7f54fcf
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/ReadMe.txt
@@ -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.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/CL.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/CL.read.1.tlog
new file mode 100644
index 0000000..6d45ad7
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/CL.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/CL.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/CL.write.1.tlog
new file mode 100644
index 0000000..3a8d855
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/CL.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/LibXtract.lastbuildstate b/vc2012/LibXtract_static_dll/LibXtract/Release/LibXtract.lastbuildstate
new file mode 100644
index 0000000..a4d4e20
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/LibXtract.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Release|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_dll\|
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/cl.command.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/cl.command.1.tlog
new file mode 100644
index 0000000..d807b72
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/cl.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.read.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link-rc.write.1.tlog
@@ -0,0 +1 @@
+ÿþ \ No newline at end of file
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link.command.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link.command.1.tlog
new file mode 100644
index 0000000..c1a7d5b
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link.read.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link.read.1.tlog
new file mode 100644
index 0000000..6243f9d
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/Release/link.write.1.tlog b/vc2012/LibXtract_static_dll/LibXtract/Release/link.write.1.tlog
new file mode 100644
index 0000000..cbfcbf1
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/Release/link.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_dll/LibXtract/stdafx.cpp b/vc2012/LibXtract_static_dll/LibXtract/stdafx.cpp
new file mode 100644
index 0000000..8b47bed
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/stdafx.cpp
@@ -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
diff --git a/vc2012/LibXtract_static_dll/LibXtract/stdafx.h b/vc2012/LibXtract_static_dll/LibXtract/stdafx.h
new file mode 100644
index 0000000..5459378
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/stdafx.h
@@ -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
diff --git a/vc2012/LibXtract_static_dll/LibXtract/targetver.h b/vc2012/LibXtract_static_dll/LibXtract/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/vc2012/LibXtract_static_dll/LibXtract/targetver.h
@@ -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>
diff --git a/vc2012/LibXtract_static_llib/LibXtract.sln b/vc2012/LibXtract_static_llib/LibXtract.sln
new file mode 100644
index 0000000..e478212
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract.sln
@@ -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
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/CL.read.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Debug/CL.read.1.tlog
new file mode 100644
index 0000000..03da5f1
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/CL.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/CL.write.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Debug/CL.write.1.tlog
new file mode 100644
index 0000000..137461e
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/CL.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.read.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.read.1.tlog
new file mode 100644
index 0000000..1ccbb49
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.write.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.write.1.tlog
new file mode 100644
index 0000000..7596d98
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/Lib-link.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.lastbuildstate b/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.lastbuildstate
new file mode 100644
index 0000000..8839d19
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Debug|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_llib\|
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.pch.ib_tag b/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.pch.ib_tag
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/LibXtract.pch.ib_tag
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/cl.command.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Debug/cl.command.1.tlog
new file mode 100644
index 0000000..bad4056
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/cl.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/lib.command.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Debug/lib.command.1.tlog
new file mode 100644
index 0000000..90b4d45
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/lib.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.ib_pdb_index b/vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.ib_pdb_index
new file mode 100644
index 0000000..a306a4d
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.ib_pdb_index
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.idb b/vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.idb
new file mode 100644
index 0000000..59ce194
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Debug/vc110.idb
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj b/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj
new file mode 100644
index 0000000..f57c37e
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj
@@ -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
diff --git a/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj.filters b/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj.filters
new file mode 100644
index 0000000..d2e2002
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/LibXtract.vcxproj.filters
@@ -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
diff --git a/vc2012/LibXtract_static_llib/LibXtract/ReadMe.txt b/vc2012/LibXtract_static_llib/LibXtract/ReadMe.txt
new file mode 100644
index 0000000..7f54fcf
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/ReadMe.txt
@@ -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.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/CL.read.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Release/CL.read.1.tlog
new file mode 100644
index 0000000..a2c7427
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/CL.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/CL.write.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Release/CL.write.1.tlog
new file mode 100644
index 0000000..3569b3c
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/CL.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.read.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.read.1.tlog
new file mode 100644
index 0000000..c5e1e11
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.read.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.write.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.write.1.tlog
new file mode 100644
index 0000000..18ff0b5
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/Lib-link.write.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/LibXtract.lastbuildstate b/vc2012/LibXtract_static_llib/LibXtract/Release/LibXtract.lastbuildstate
new file mode 100644
index 0000000..45f56de
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/LibXtract.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v110:false
+Release|Win32|C:\Users\Q\Code\LibXtract\vc2012\LibXtract_static_llib\|
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/cl.command.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Release/cl.command.1.tlog
new file mode 100644
index 0000000..0c973db
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/cl.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/Release/lib.command.1.tlog b/vc2012/LibXtract_static_llib/LibXtract/Release/lib.command.1.tlog
new file mode 100644
index 0000000..f86102b
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/Release/lib.command.1.tlog
Binary files differ
diff --git a/vc2012/LibXtract_static_llib/LibXtract/stdafx.cpp b/vc2012/LibXtract_static_llib/LibXtract/stdafx.cpp
new file mode 100644
index 0000000..8b47bed
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/stdafx.cpp
@@ -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
diff --git a/vc2012/LibXtract_static_llib/LibXtract/stdafx.h b/vc2012/LibXtract_static_llib/LibXtract/stdafx.h
new file mode 100644
index 0000000..5459378
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/stdafx.h
@@ -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
diff --git a/vc2012/LibXtract_static_llib/LibXtract/targetver.h b/vc2012/LibXtract_static_llib/LibXtract/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/vc2012/LibXtract_static_llib/LibXtract/targetver.h
@@ -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>
diff --git a/xtract/xtract_helper.h b/xtract/xtract_helper.h
index bc5b892..9dabfbc 100644
--- a/xtract/xtract_helper.h
+++ b/xtract/xtract_helper.h
@@ -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