summaryrefslogtreecommitdiff
path: root/pysoundtouch/soundtouch/source/SoundStretch
diff options
context:
space:
mode:
Diffstat (limited to 'pysoundtouch/soundtouch/source/SoundStretch')
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-RunParameters.Po249
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-WavFile.Po256
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-main.Po279
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/Makefile700
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/Makefile.am53
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/Makefile.in700
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/RunParameters.cpp302
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/RunParameters.h72
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/WavFile.cpp745
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/WavFile.h250
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/main.cpp330
-rwxr-xr-xpysoundtouch/soundtouch/source/SoundStretch/soundstretchbin0 -> 71200 bytes
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsp137
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsw44
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/soundstretch.sln32
-rw-r--r--pysoundtouch/soundtouch/source/SoundStretch/soundstretch.vcproj233
16 files changed, 4382 insertions, 0 deletions
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-RunParameters.Po b/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-RunParameters.Po
new file mode 100644
index 0000000..d852499
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-RunParameters.Po
@@ -0,0 +1,249 @@
+soundstretch-RunParameters.o: RunParameters.cpp \
+ /usr/include/stdc-predef.h /usr/include/c++/5.1.0/stdexcept \
+ /usr/include/c++/5.1.0/exception \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++config.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-64.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/cpu_defines.h \
+ /usr/include/c++/5.1.0/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5.1.0/string /usr/include/c++/5.1.0/bits/stringfwd.h \
+ /usr/include/c++/5.1.0/bits/memoryfwd.h \
+ /usr/include/c++/5.1.0/bits/char_traits.h \
+ /usr/include/c++/5.1.0/bits/stl_algobase.h \
+ /usr/include/c++/5.1.0/bits/functexcept.h \
+ /usr/include/c++/5.1.0/bits/exception_defines.h \
+ /usr/include/c++/5.1.0/bits/cpp_type_traits.h \
+ /usr/include/c++/5.1.0/ext/type_traits.h \
+ /usr/include/c++/5.1.0/ext/numeric_traits.h \
+ /usr/include/c++/5.1.0/bits/stl_pair.h \
+ /usr/include/c++/5.1.0/bits/move.h \
+ /usr/include/c++/5.1.0/bits/concept_check.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5.1.0/debug/debug.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator.h \
+ /usr/include/c++/5.1.0/bits/ptr_traits.h \
+ /usr/include/c++/5.1.0/bits/predefined_ops.h \
+ /usr/include/c++/5.1.0/bits/postypes.h /usr/include/c++/5.1.0/cwchar \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stdarg.h \
+ /usr/include/bits/wchar.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stddef.h \
+ /usr/include/xlocale.h /usr/include/c++/5.1.0/bits/allocator.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++allocator.h \
+ /usr/include/c++/5.1.0/ext/new_allocator.h /usr/include/c++/5.1.0/new \
+ /usr/include/c++/5.1.0/bits/localefwd.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++locale.h \
+ /usr/include/c++/5.1.0/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/c++/5.1.0/iosfwd \
+ /usr/include/c++/5.1.0/cctype /usr/include/ctype.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/bits/byteswap-16.h \
+ /usr/include/c++/5.1.0/bits/ostream_insert.h \
+ /usr/include/c++/5.1.0/bits/cxxabi_forced.h \
+ /usr/include/c++/5.1.0/bits/stl_function.h \
+ /usr/include/c++/5.1.0/backward/binders.h \
+ /usr/include/c++/5.1.0/bits/range_access.h \
+ /usr/include/c++/5.1.0/bits/basic_string.h \
+ /usr/include/c++/5.1.0/ext/atomicity.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/bits/timex.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/setjmp.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/atomic_word.h \
+ /usr/include/c++/5.1.0/ext/alloc_traits.h \
+ /usr/include/c++/5.1.0/bits/basic_string.tcc /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
+ RunParameters.h ../../include/STTypes.h \
+ ../../include/soundtouch_config.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/c++/5.1.0/stdexcept:
+
+/usr/include/c++/5.1.0/exception:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-64.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/5.1.0/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5.1.0/string:
+
+/usr/include/c++/5.1.0/bits/stringfwd.h:
+
+/usr/include/c++/5.1.0/bits/memoryfwd.h:
+
+/usr/include/c++/5.1.0/bits/char_traits.h:
+
+/usr/include/c++/5.1.0/bits/stl_algobase.h:
+
+/usr/include/c++/5.1.0/bits/functexcept.h:
+
+/usr/include/c++/5.1.0/bits/exception_defines.h:
+
+/usr/include/c++/5.1.0/bits/cpp_type_traits.h:
+
+/usr/include/c++/5.1.0/ext/type_traits.h:
+
+/usr/include/c++/5.1.0/ext/numeric_traits.h:
+
+/usr/include/c++/5.1.0/bits/stl_pair.h:
+
+/usr/include/c++/5.1.0/bits/move.h:
+
+/usr/include/c++/5.1.0/bits/concept_check.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5.1.0/debug/debug.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator.h:
+
+/usr/include/c++/5.1.0/bits/ptr_traits.h:
+
+/usr/include/c++/5.1.0/bits/predefined_ops.h:
+
+/usr/include/c++/5.1.0/bits/postypes.h:
+
+/usr/include/c++/5.1.0/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/5.1.0/bits/allocator.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/5.1.0/ext/new_allocator.h:
+
+/usr/include/c++/5.1.0/new:
+
+/usr/include/c++/5.1.0/bits/localefwd.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/5.1.0/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/5.1.0/iosfwd:
+
+/usr/include/c++/5.1.0/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/byteswap-16.h:
+
+/usr/include/c++/5.1.0/bits/ostream_insert.h:
+
+/usr/include/c++/5.1.0/bits/cxxabi_forced.h:
+
+/usr/include/c++/5.1.0/bits/stl_function.h:
+
+/usr/include/c++/5.1.0/backward/binders.h:
+
+/usr/include/c++/5.1.0/bits/range_access.h:
+
+/usr/include/c++/5.1.0/bits/basic_string.h:
+
+/usr/include/c++/5.1.0/ext/atomicity.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/bits/timex.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/5.1.0/ext/alloc_traits.h:
+
+/usr/include/c++/5.1.0/bits/basic_string.tcc:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/bits/stdlib-bsearch.h:
+
+/usr/include/bits/stdlib-float.h:
+
+RunParameters.h:
+
+../../include/STTypes.h:
+
+../../include/soundtouch_config.h:
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-WavFile.Po b/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-WavFile.Po
new file mode 100644
index 0000000..30147f5
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-WavFile.Po
@@ -0,0 +1,256 @@
+soundstretch-WavFile.o: WavFile.cpp /usr/include/stdc-predef.h \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/5.1.0/stdexcept \
+ /usr/include/c++/5.1.0/exception \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++config.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/cpu_defines.h \
+ /usr/include/c++/5.1.0/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5.1.0/string /usr/include/c++/5.1.0/bits/stringfwd.h \
+ /usr/include/c++/5.1.0/bits/memoryfwd.h \
+ /usr/include/c++/5.1.0/bits/char_traits.h \
+ /usr/include/c++/5.1.0/bits/stl_algobase.h \
+ /usr/include/c++/5.1.0/bits/functexcept.h \
+ /usr/include/c++/5.1.0/bits/exception_defines.h \
+ /usr/include/c++/5.1.0/bits/cpp_type_traits.h \
+ /usr/include/c++/5.1.0/ext/type_traits.h \
+ /usr/include/c++/5.1.0/ext/numeric_traits.h \
+ /usr/include/c++/5.1.0/bits/stl_pair.h \
+ /usr/include/c++/5.1.0/bits/move.h \
+ /usr/include/c++/5.1.0/bits/concept_check.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5.1.0/debug/debug.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator.h \
+ /usr/include/c++/5.1.0/bits/ptr_traits.h \
+ /usr/include/c++/5.1.0/bits/predefined_ops.h \
+ /usr/include/c++/5.1.0/bits/postypes.h /usr/include/c++/5.1.0/cwchar \
+ /usr/include/bits/wchar.h /usr/include/xlocale.h \
+ /usr/include/c++/5.1.0/bits/allocator.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++allocator.h \
+ /usr/include/c++/5.1.0/ext/new_allocator.h /usr/include/c++/5.1.0/new \
+ /usr/include/c++/5.1.0/bits/localefwd.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++locale.h \
+ /usr/include/c++/5.1.0/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/c++/5.1.0/iosfwd \
+ /usr/include/c++/5.1.0/cctype /usr/include/ctype.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/bits/byteswap.h \
+ /usr/include/bits/byteswap-16.h \
+ /usr/include/c++/5.1.0/bits/ostream_insert.h \
+ /usr/include/c++/5.1.0/bits/cxxabi_forced.h \
+ /usr/include/c++/5.1.0/bits/stl_function.h \
+ /usr/include/c++/5.1.0/backward/binders.h \
+ /usr/include/c++/5.1.0/bits/range_access.h \
+ /usr/include/c++/5.1.0/bits/basic_string.h \
+ /usr/include/c++/5.1.0/ext/atomicity.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/bits/timex.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/setjmp.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/atomic_word.h \
+ /usr/include/c++/5.1.0/ext/alloc_traits.h \
+ /usr/include/c++/5.1.0/bits/basic_string.tcc \
+ /usr/include/c++/5.1.0/cstring /usr/include/string.h \
+ /usr/include/assert.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h WavFile.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/5.1.0/stdexcept:
+
+/usr/include/c++/5.1.0/exception:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/5.1.0/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5.1.0/string:
+
+/usr/include/c++/5.1.0/bits/stringfwd.h:
+
+/usr/include/c++/5.1.0/bits/memoryfwd.h:
+
+/usr/include/c++/5.1.0/bits/char_traits.h:
+
+/usr/include/c++/5.1.0/bits/stl_algobase.h:
+
+/usr/include/c++/5.1.0/bits/functexcept.h:
+
+/usr/include/c++/5.1.0/bits/exception_defines.h:
+
+/usr/include/c++/5.1.0/bits/cpp_type_traits.h:
+
+/usr/include/c++/5.1.0/ext/type_traits.h:
+
+/usr/include/c++/5.1.0/ext/numeric_traits.h:
+
+/usr/include/c++/5.1.0/bits/stl_pair.h:
+
+/usr/include/c++/5.1.0/bits/move.h:
+
+/usr/include/c++/5.1.0/bits/concept_check.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5.1.0/debug/debug.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator.h:
+
+/usr/include/c++/5.1.0/bits/ptr_traits.h:
+
+/usr/include/c++/5.1.0/bits/predefined_ops.h:
+
+/usr/include/c++/5.1.0/bits/postypes.h:
+
+/usr/include/c++/5.1.0/cwchar:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/5.1.0/bits/allocator.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/5.1.0/ext/new_allocator.h:
+
+/usr/include/c++/5.1.0/new:
+
+/usr/include/c++/5.1.0/bits/localefwd.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/5.1.0/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/5.1.0/iosfwd:
+
+/usr/include/c++/5.1.0/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/byteswap-16.h:
+
+/usr/include/c++/5.1.0/bits/ostream_insert.h:
+
+/usr/include/c++/5.1.0/bits/cxxabi_forced.h:
+
+/usr/include/c++/5.1.0/bits/stl_function.h:
+
+/usr/include/c++/5.1.0/backward/binders.h:
+
+/usr/include/c++/5.1.0/bits/range_access.h:
+
+/usr/include/c++/5.1.0/bits/basic_string.h:
+
+/usr/include/c++/5.1.0/ext/atomicity.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/bits/timex.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/5.1.0/ext/alloc_traits.h:
+
+/usr/include/c++/5.1.0/bits/basic_string.tcc:
+
+/usr/include/c++/5.1.0/cstring:
+
+/usr/include/string.h:
+
+/usr/include/assert.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+WavFile.h:
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-main.Po b/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-main.Po
new file mode 100644
index 0000000..b13fcae
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/.deps/soundstretch-main.Po
@@ -0,0 +1,279 @@
+soundstretch-main.o: main.cpp /usr/include/stdc-predef.h \
+ /usr/include/c++/5.1.0/stdexcept /usr/include/c++/5.1.0/exception \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++config.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-64.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/cpu_defines.h \
+ /usr/include/c++/5.1.0/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5.1.0/string /usr/include/c++/5.1.0/bits/stringfwd.h \
+ /usr/include/c++/5.1.0/bits/memoryfwd.h \
+ /usr/include/c++/5.1.0/bits/char_traits.h \
+ /usr/include/c++/5.1.0/bits/stl_algobase.h \
+ /usr/include/c++/5.1.0/bits/functexcept.h \
+ /usr/include/c++/5.1.0/bits/exception_defines.h \
+ /usr/include/c++/5.1.0/bits/cpp_type_traits.h \
+ /usr/include/c++/5.1.0/ext/type_traits.h \
+ /usr/include/c++/5.1.0/ext/numeric_traits.h \
+ /usr/include/c++/5.1.0/bits/stl_pair.h \
+ /usr/include/c++/5.1.0/bits/move.h \
+ /usr/include/c++/5.1.0/bits/concept_check.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5.1.0/debug/debug.h \
+ /usr/include/c++/5.1.0/bits/stl_iterator.h \
+ /usr/include/c++/5.1.0/bits/ptr_traits.h \
+ /usr/include/c++/5.1.0/bits/predefined_ops.h \
+ /usr/include/c++/5.1.0/bits/postypes.h /usr/include/c++/5.1.0/cwchar \
+ /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stdarg.h \
+ /usr/include/bits/wchar.h \
+ /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stddef.h \
+ /usr/include/xlocale.h /usr/include/c++/5.1.0/bits/allocator.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++allocator.h \
+ /usr/include/c++/5.1.0/ext/new_allocator.h /usr/include/c++/5.1.0/new \
+ /usr/include/c++/5.1.0/bits/localefwd.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++locale.h \
+ /usr/include/c++/5.1.0/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/c++/5.1.0/iosfwd \
+ /usr/include/c++/5.1.0/cctype /usr/include/ctype.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/bits/byteswap-16.h \
+ /usr/include/c++/5.1.0/bits/ostream_insert.h \
+ /usr/include/c++/5.1.0/bits/cxxabi_forced.h \
+ /usr/include/c++/5.1.0/bits/stl_function.h \
+ /usr/include/c++/5.1.0/backward/binders.h \
+ /usr/include/c++/5.1.0/bits/range_access.h \
+ /usr/include/c++/5.1.0/bits/basic_string.h \
+ /usr/include/c++/5.1.0/ext/atomicity.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/bits/timex.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/setjmp.h \
+ /usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/atomic_word.h \
+ /usr/include/c++/5.1.0/ext/alloc_traits.h \
+ /usr/include/c++/5.1.0/bits/basic_string.tcc /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/bits/stdio_lim.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/string.h RunParameters.h ../../include/STTypes.h \
+ ../../include/soundtouch_config.h WavFile.h ../../include/SoundTouch.h \
+ ../../include/FIFOSamplePipe.h /usr/include/assert.h \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \
+ /usr/include/bits/stdlib-float.h ../../include/STTypes.h \
+ ../../include/BPMDetect.h ../../include/FIFOSampleBuffer.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/c++/5.1.0/stdexcept:
+
+/usr/include/c++/5.1.0/exception:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/gnu/stubs-64.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/cpu_defines.h:
+
+/usr/include/c++/5.1.0/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5.1.0/string:
+
+/usr/include/c++/5.1.0/bits/stringfwd.h:
+
+/usr/include/c++/5.1.0/bits/memoryfwd.h:
+
+/usr/include/c++/5.1.0/bits/char_traits.h:
+
+/usr/include/c++/5.1.0/bits/stl_algobase.h:
+
+/usr/include/c++/5.1.0/bits/functexcept.h:
+
+/usr/include/c++/5.1.0/bits/exception_defines.h:
+
+/usr/include/c++/5.1.0/bits/cpp_type_traits.h:
+
+/usr/include/c++/5.1.0/ext/type_traits.h:
+
+/usr/include/c++/5.1.0/ext/numeric_traits.h:
+
+/usr/include/c++/5.1.0/bits/stl_pair.h:
+
+/usr/include/c++/5.1.0/bits/move.h:
+
+/usr/include/c++/5.1.0/bits/concept_check.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5.1.0/debug/debug.h:
+
+/usr/include/c++/5.1.0/bits/stl_iterator.h:
+
+/usr/include/c++/5.1.0/bits/ptr_traits.h:
+
+/usr/include/c++/5.1.0/bits/predefined_ops.h:
+
+/usr/include/c++/5.1.0/bits/postypes.h:
+
+/usr/include/c++/5.1.0/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stdarg.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/5.1.0/bits/allocator.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++allocator.h:
+
+/usr/include/c++/5.1.0/ext/new_allocator.h:
+
+/usr/include/c++/5.1.0/new:
+
+/usr/include/c++/5.1.0/bits/localefwd.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/c++locale.h:
+
+/usr/include/c++/5.1.0/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/c++/5.1.0/iosfwd:
+
+/usr/include/c++/5.1.0/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/bits/byteswap.h:
+
+/usr/include/bits/byteswap-16.h:
+
+/usr/include/c++/5.1.0/bits/ostream_insert.h:
+
+/usr/include/c++/5.1.0/bits/cxxabi_forced.h:
+
+/usr/include/c++/5.1.0/bits/stl_function.h:
+
+/usr/include/c++/5.1.0/backward/binders.h:
+
+/usr/include/c++/5.1.0/bits/range_access.h:
+
+/usr/include/c++/5.1.0/bits/basic_string.h:
+
+/usr/include/c++/5.1.0/ext/atomicity.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/bits/timex.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/setjmp.h:
+
+/usr/include/c++/5.1.0/x86_64-unknown-linux-gnu/bits/atomic_word.h:
+
+/usr/include/c++/5.1.0/ext/alloc_traits.h:
+
+/usr/include/c++/5.1.0/bits/basic_string.tcc:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/string.h:
+
+RunParameters.h:
+
+../../include/STTypes.h:
+
+../../include/soundtouch_config.h:
+
+WavFile.h:
+
+../../include/SoundTouch.h:
+
+../../include/FIFOSamplePipe.h:
+
+/usr/include/assert.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/bits/stdlib-bsearch.h:
+
+/usr/include/bits/stdlib-float.h:
+
+../../include/STTypes.h:
+
+../../include/BPMDetect.h:
+
+../../include/FIFOSampleBuffer.h:
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/Makefile b/pysoundtouch/soundtouch/source/SoundStretch/Makefile
new file mode 100644
index 0000000..4618197
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/Makefile
@@ -0,0 +1,700 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# source/SoundStretch/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+
+
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/soundtouch
+pkgincludedir = $(includedir)/soundtouch
+pkglibdir = $(libdir)/soundtouch
+pkglibexecdir = $(libexecdir)/soundtouch
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+bin_PROGRAMS = soundstretch$(EXEEXT)
+subdir = source/SoundStretch
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/m4/libtool.m4 \
+ $(top_srcdir)/config/m4/ltoptions.m4 \
+ $(top_srcdir)/config/m4/ltsugar.m4 \
+ $(top_srcdir)/config/m4/ltversion.m4 \
+ $(top_srcdir)/config/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/include/soundtouch_config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_soundstretch_OBJECTS = soundstretch-main.$(OBJEXT) \
+ soundstretch-RunParameters.$(OBJEXT) \
+ soundstretch-WavFile.$(OBJEXT)
+soundstretch_OBJECTS = $(am_soundstretch_OBJECTS)
+soundstretch_DEPENDENCIES = ../SoundTouch/libSoundTouch.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am__v_lt_1 =
+soundstretch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(soundstretch_CXXFLAGS) \
+ $(CXXFLAGS) $(soundstretch_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I. -I$(top_builddir)/include
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_$(V))
+am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_$(V))
+am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(soundstretch_SOURCES)
+DIST_SOURCES = $(soundstretch_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/am_include.mk \
+ $(top_srcdir)/config/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/pepper/soundtouch/pysoundtouch/soundtouch/config/missing aclocal-1.15
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AR = ar
+AUTOCONF = ${SHELL} /home/pepper/soundtouch/pysoundtouch/soundtouch/config/missing autoconf
+AUTOHEADER = ${SHELL} /home/pepper/soundtouch/pysoundtouch/soundtouch/config/missing autoheader
+AUTOMAKE = ${SHELL} /home/pepper/soundtouch/pysoundtouch/soundtouch/config/missing automake-1.15
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS =
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -fPIC
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DLLTOOL = false
+DSYMUTIL =
+DUMPBIN =
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /usr/bin/grep -E
+EXEEXT =
+FGREP = /usr/bin/grep -F
+GREP = /usr/bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LD = /usr/bin/ld -m elf_x86_64
+LDFLAGS =
+LIBOBJS =
+LIBS = -lm
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO =
+LN_S = ln -s
+LTLIBOBJS =
+LT_SYS_LIBRARY_PATH =
+MAKEINFO = ${SHELL} /home/pepper/soundtouch/pysoundtouch/soundtouch/config/missing makeinfo
+MANIFEST_TOOL = :
+MKDIR_P = /usr/bin/mkdir -p
+NM = /usr/bin/nm -B
+NMEDIT =
+OBJDUMP = objdump
+OBJEXT = o
+OTOOL =
+OTOOL64 =
+PACKAGE = soundtouch
+PACKAGE_BUGREPORT = http://www.surina.net/soundtouch
+PACKAGE_NAME = SoundTouch
+PACKAGE_STRING = SoundTouch 1.4.0
+PACKAGE_TARNAME = soundtouch
+PACKAGE_URL =
+PACKAGE_VERSION = 1.4.0
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SED = /usr/bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 1.4.0
+abs_builddir = /home/pepper/soundtouch/pysoundtouch/soundtouch/source/SoundStretch
+abs_srcdir = /home/pepper/soundtouch/pysoundtouch/soundtouch/source/SoundStretch
+abs_top_builddir = /home/pepper/soundtouch/pysoundtouch/soundtouch
+abs_top_srcdir = /home/pepper/soundtouch/pysoundtouch/soundtouch
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN =
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-unknown-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/pepper/soundtouch/pysoundtouch/soundtouch/config/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
+INCLUDES = -I$(top_srcdir)/include
+
+# doc directory
+pkgdocdir = $(prefix)/doc/soundtouch
+noinst_HEADERS = RunParameters.h WavFile.h
+
+# extra files to include in distrubution tarball
+EXTRA_DIST = soundstretch.dsp soundstretch.dsw soundstretch.sln soundstretch.vcproj
+soundstretch_SOURCES = main.cpp RunParameters.cpp WavFile.cpp
+soundstretch_LDADD = ../SoundTouch/libSoundTouch.la -lm
+soundstretch_LDFLAGS = -s
+soundstretch_CXXFLAGS = -O3
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/config/am_include.mk $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/SoundStretch/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign source/SoundStretch/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/config/am_include.mk $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+soundstretch$(EXEEXT): $(soundstretch_OBJECTS) $(soundstretch_DEPENDENCIES) $(EXTRA_soundstretch_DEPENDENCIES)
+ @rm -f soundstretch$(EXEEXT)
+ $(AM_V_CXXLD)$(soundstretch_LINK) $(soundstretch_OBJECTS) $(soundstretch_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/soundstretch-RunParameters.Po
+include ./$(DEPDIR)/soundstretch-WavFile.Po
+include ./$(DEPDIR)/soundstretch-main.Po
+
+.cpp.o:
+ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# $(AM_V_CXX)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# $(AM_V_CXX)source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+# $(AM_V_CXX)source='$<' object='$@' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $<
+
+soundstretch-main.o: main.cpp
+ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-main.o -MD -MP -MF $(DEPDIR)/soundstretch-main.Tpo -c -o soundstretch-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-main.Tpo $(DEPDIR)/soundstretch-main.Po
+# $(AM_V_CXX)source='main.cpp' object='soundstretch-main.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+
+soundstretch-main.obj: main.cpp
+ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-main.obj -MD -MP -MF $(DEPDIR)/soundstretch-main.Tpo -c -o soundstretch-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-main.Tpo $(DEPDIR)/soundstretch-main.Po
+# $(AM_V_CXX)source='main.cpp' object='soundstretch-main.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+
+soundstretch-RunParameters.o: RunParameters.cpp
+ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-RunParameters.o -MD -MP -MF $(DEPDIR)/soundstretch-RunParameters.Tpo -c -o soundstretch-RunParameters.o `test -f 'RunParameters.cpp' || echo '$(srcdir)/'`RunParameters.cpp
+ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-RunParameters.Tpo $(DEPDIR)/soundstretch-RunParameters.Po
+# $(AM_V_CXX)source='RunParameters.cpp' object='soundstretch-RunParameters.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-RunParameters.o `test -f 'RunParameters.cpp' || echo '$(srcdir)/'`RunParameters.cpp
+
+soundstretch-RunParameters.obj: RunParameters.cpp
+ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-RunParameters.obj -MD -MP -MF $(DEPDIR)/soundstretch-RunParameters.Tpo -c -o soundstretch-RunParameters.obj `if test -f 'RunParameters.cpp'; then $(CYGPATH_W) 'RunParameters.cpp'; else $(CYGPATH_W) '$(srcdir)/RunParameters.cpp'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-RunParameters.Tpo $(DEPDIR)/soundstretch-RunParameters.Po
+# $(AM_V_CXX)source='RunParameters.cpp' object='soundstretch-RunParameters.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-RunParameters.obj `if test -f 'RunParameters.cpp'; then $(CYGPATH_W) 'RunParameters.cpp'; else $(CYGPATH_W) '$(srcdir)/RunParameters.cpp'; fi`
+
+soundstretch-WavFile.o: WavFile.cpp
+ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-WavFile.o -MD -MP -MF $(DEPDIR)/soundstretch-WavFile.Tpo -c -o soundstretch-WavFile.o `test -f 'WavFile.cpp' || echo '$(srcdir)/'`WavFile.cpp
+ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-WavFile.Tpo $(DEPDIR)/soundstretch-WavFile.Po
+# $(AM_V_CXX)source='WavFile.cpp' object='soundstretch-WavFile.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-WavFile.o `test -f 'WavFile.cpp' || echo '$(srcdir)/'`WavFile.cpp
+
+soundstretch-WavFile.obj: WavFile.cpp
+ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-WavFile.obj -MD -MP -MF $(DEPDIR)/soundstretch-WavFile.Tpo -c -o soundstretch-WavFile.obj `if test -f 'WavFile.cpp'; then $(CYGPATH_W) 'WavFile.cpp'; else $(CYGPATH_W) '$(srcdir)/WavFile.cpp'; fi`
+ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-WavFile.Tpo $(DEPDIR)/soundstretch-WavFile.Po
+# $(AM_V_CXX)source='WavFile.cpp' object='soundstretch-WavFile.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-WavFile.obj `if test -f 'WavFile.cpp'; then $(CYGPATH_W) 'WavFile.cpp'; else $(CYGPATH_W) '$(srcdir)/WavFile.cpp'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+#clean-local:
+# -rm -f additional-files-to-remove-on-make-clean
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/Makefile.am b/pysoundtouch/soundtouch/source/SoundStretch/Makefile.am
new file mode 100644
index 0000000..a97bbdc
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/Makefile.am
@@ -0,0 +1,53 @@
+## Process this file with automake to create Makefile.in
+##
+## $Id: Makefile.am 43 2008-12-25 17:54:41Z oparviai $
+##
+## Copyright (C) 2003 - David W. Durham
+##
+## This file is part of SoundTouch, an audio processing library for pitch/time adjustments
+##
+## SoundTouch is free software; you can redistribute it and/or modify it under the
+## terms of the GNU General Public License as published by the Free Software
+## Foundation; either version 2 of the License, or (at your option) any later
+## version.
+##
+## SoundTouch is distributed in the hope that it will be useful, but WITHOUT ANY
+## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+## A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along with
+## this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+## Place - Suite 330, Boston, MA 02111-1307, USA
+
+include $(top_srcdir)/config/am_include.mk
+
+
+## bin_PROGRAMS is the macro that tells automake the name of the programs to
+## install in the bin directory (/usr/local/bin) by default. By setting
+## --prefix= at configure time the user can change this (eg: ./configure
+## --prefix=/usr will install soundstretch under /usr/bin/soundstretch )
+bin_PROGRAMS=soundstretch
+
+noinst_HEADERS=RunParameters.h WavFile.h
+
+# extra files to include in distrubution tarball
+EXTRA_DIST=soundstretch.dsp soundstretch.dsw soundstretch.sln soundstretch.vcproj
+
+## for every name listed under bin_PROGRAMS, you have a <prog>_SOURCES. This lists
+## all the sources in the current directory that are used to build soundstretch.
+soundstretch_SOURCES=main.cpp RunParameters.cpp WavFile.cpp
+
+## soundstretch_LDADD is a list of extras to pass at link time. All the objects
+## created by the above soundstretch_SOURCES are automatically linked in, so here I
+## list object files from other directories as well as flags passed to the
+## linker.
+soundstretch_LDADD=../SoundTouch/libSoundTouch.la -lm
+
+## linker flags
+soundstretch_LDFLAGS=-s
+
+## additional compiler flags
+soundstretch_CXXFLAGS=-O3
+
+#clean-local:
+# -rm -f additional-files-to-remove-on-make-clean
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/Makefile.in b/pysoundtouch/soundtouch/source/SoundStretch/Makefile.in
new file mode 100644
index 0000000..960457c
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/Makefile.in
@@ -0,0 +1,700 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = soundstretch$(EXEEXT)
+subdir = source/SoundStretch
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/m4/libtool.m4 \
+ $(top_srcdir)/config/m4/ltoptions.m4 \
+ $(top_srcdir)/config/m4/ltsugar.m4 \
+ $(top_srcdir)/config/m4/ltversion.m4 \
+ $(top_srcdir)/config/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/include/soundtouch_config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_soundstretch_OBJECTS = soundstretch-main.$(OBJEXT) \
+ soundstretch-RunParameters.$(OBJEXT) \
+ soundstretch-WavFile.$(OBJEXT)
+soundstretch_OBJECTS = $(am_soundstretch_OBJECTS)
+soundstretch_DEPENDENCIES = ../SoundTouch/libSoundTouch.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+soundstretch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(soundstretch_CXXFLAGS) \
+ $(CXXFLAGS) $(soundstretch_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+SOURCES = $(soundstretch_SOURCES)
+DIST_SOURCES = $(soundstretch_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/am_include.mk \
+ $(top_srcdir)/config/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+INCLUDES = -I$(top_srcdir)/include
+
+# doc directory
+pkgdocdir = $(prefix)/doc/@PACKAGE@
+noinst_HEADERS = RunParameters.h WavFile.h
+
+# extra files to include in distrubution tarball
+EXTRA_DIST = soundstretch.dsp soundstretch.dsw soundstretch.sln soundstretch.vcproj
+soundstretch_SOURCES = main.cpp RunParameters.cpp WavFile.cpp
+soundstretch_LDADD = ../SoundTouch/libSoundTouch.la -lm
+soundstretch_LDFLAGS = -s
+soundstretch_CXXFLAGS = -O3
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/config/am_include.mk $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/SoundStretch/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign source/SoundStretch/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+$(top_srcdir)/config/am_include.mk $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+soundstretch$(EXEEXT): $(soundstretch_OBJECTS) $(soundstretch_DEPENDENCIES) $(EXTRA_soundstretch_DEPENDENCIES)
+ @rm -f soundstretch$(EXEEXT)
+ $(AM_V_CXXLD)$(soundstretch_LINK) $(soundstretch_OBJECTS) $(soundstretch_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soundstretch-RunParameters.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soundstretch-WavFile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soundstretch-main.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+soundstretch-main.o: main.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-main.o -MD -MP -MF $(DEPDIR)/soundstretch-main.Tpo -c -o soundstretch-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-main.Tpo $(DEPDIR)/soundstretch-main.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='soundstretch-main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
+
+soundstretch-main.obj: main.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-main.obj -MD -MP -MF $(DEPDIR)/soundstretch-main.Tpo -c -o soundstretch-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-main.Tpo $(DEPDIR)/soundstretch-main.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cpp' object='soundstretch-main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`
+
+soundstretch-RunParameters.o: RunParameters.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-RunParameters.o -MD -MP -MF $(DEPDIR)/soundstretch-RunParameters.Tpo -c -o soundstretch-RunParameters.o `test -f 'RunParameters.cpp' || echo '$(srcdir)/'`RunParameters.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-RunParameters.Tpo $(DEPDIR)/soundstretch-RunParameters.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='RunParameters.cpp' object='soundstretch-RunParameters.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-RunParameters.o `test -f 'RunParameters.cpp' || echo '$(srcdir)/'`RunParameters.cpp
+
+soundstretch-RunParameters.obj: RunParameters.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-RunParameters.obj -MD -MP -MF $(DEPDIR)/soundstretch-RunParameters.Tpo -c -o soundstretch-RunParameters.obj `if test -f 'RunParameters.cpp'; then $(CYGPATH_W) 'RunParameters.cpp'; else $(CYGPATH_W) '$(srcdir)/RunParameters.cpp'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-RunParameters.Tpo $(DEPDIR)/soundstretch-RunParameters.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='RunParameters.cpp' object='soundstretch-RunParameters.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-RunParameters.obj `if test -f 'RunParameters.cpp'; then $(CYGPATH_W) 'RunParameters.cpp'; else $(CYGPATH_W) '$(srcdir)/RunParameters.cpp'; fi`
+
+soundstretch-WavFile.o: WavFile.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-WavFile.o -MD -MP -MF $(DEPDIR)/soundstretch-WavFile.Tpo -c -o soundstretch-WavFile.o `test -f 'WavFile.cpp' || echo '$(srcdir)/'`WavFile.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-WavFile.Tpo $(DEPDIR)/soundstretch-WavFile.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='WavFile.cpp' object='soundstretch-WavFile.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-WavFile.o `test -f 'WavFile.cpp' || echo '$(srcdir)/'`WavFile.cpp
+
+soundstretch-WavFile.obj: WavFile.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -MT soundstretch-WavFile.obj -MD -MP -MF $(DEPDIR)/soundstretch-WavFile.Tpo -c -o soundstretch-WavFile.obj `if test -f 'WavFile.cpp'; then $(CYGPATH_W) 'WavFile.cpp'; else $(CYGPATH_W) '$(srcdir)/WavFile.cpp'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/soundstretch-WavFile.Tpo $(DEPDIR)/soundstretch-WavFile.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='WavFile.cpp' object='soundstretch-WavFile.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(soundstretch_CXXFLAGS) $(CXXFLAGS) -c -o soundstretch-WavFile.obj `if test -f 'WavFile.cpp'; then $(CYGPATH_W) 'WavFile.cpp'; else $(CYGPATH_W) '$(srcdir)/WavFile.cpp'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+#clean-local:
+# -rm -f additional-files-to-remove-on-make-clean
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/RunParameters.cpp b/pysoundtouch/soundtouch/source/SoundStretch/RunParameters.cpp
new file mode 100644
index 0000000..76341b3
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/RunParameters.cpp
@@ -0,0 +1,302 @@
+////////////////////////////////////////////////////////////////////////////////
+///
+/// A class for parsing the 'soundstretch' application command line parameters
+///
+/// Author : Copyright (c) Olli Parviainen
+/// Author e-mail : oparviai 'at' iki.fi
+/// SoundTouch WWW: http://www.surina.net/soundtouch
+///
+////////////////////////////////////////////////////////////////////////////////
+//
+// Last changed : $Date: 2009-05-17 19:48:30 +0300 (Sun, 17 May 2009) $
+// File revision : $Revision: 4 $
+//
+// $Id: RunParameters.cpp 72 2009-05-17 16:48:30Z oparviai $
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// License :
+//
+// SoundTouch audio processing library
+// Copyright (c) Olli Parviainen
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include <stdexcept>
+#include <string>
+#include <stdlib.h>
+
+#include "RunParameters.h"
+
+using namespace std;
+
+// Program usage instructions
+
+static const char licenseText[] =
+ " LICENSE:\n"
+ " ========\n"
+ " \n"
+ " SoundTouch sound processing library\n"
+ " Copyright (c) Olli Parviainen\n"
+ " \n"
+ " This library is free software; you can redistribute it and/or\n"
+ " modify it under the terms of the GNU Lesser General Public\n"
+ " License version 2.1 as published by the Free Software Foundation.\n"
+ " \n"
+ " This library is distributed in the hope that it will be useful,\n"
+ " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
+ " Lesser General Public License for more details.\n"
+ " \n"
+ " You should have received a copy of the GNU Lesser General Public\n"
+ " License along with this library; if not, write to the Free Software\n"
+ " Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"
+ " \n"
+ "This application is distributed with full source codes; however, if you\n"
+ "didn't receive them, please visit the author's homepage (see the link above).";
+
+static const char whatText[] =
+ "This application processes WAV audio files by modifying the sound tempo,\n"
+ "pitch and playback rate properties independently from each other.\n"
+ "\n";
+
+static const char usage[] =
+ "Usage :\n"
+ " soundstretch infilename outfilename [switches]\n"
+ "\n"
+ "To use standard input/output pipes, give 'stdin' and 'stdout' as filenames.\n"
+ "\n"
+ "Available switches are:\n"
+ " -tempo=n : Change sound tempo by n percents (n=-95..+5000 %)\n"
+ " -pitch=n : Change sound pitch by n semitones (n=-60..+60 semitones)\n"
+ " -rate=n : Change sound rate by n percents (n=-95..+5000 %)\n"
+ " -bpm=n : Detect the BPM rate of sound and adjust tempo to meet 'n' BPMs.\n"
+ " If '=n' is omitted, just detects the BPM rate.\n"
+ " -quick : Use quicker tempo change algorithm (gain speed, lose quality)\n"
+ " -naa : Don't use anti-alias filtering (gain speed, lose quality)\n"
+ " -speech : Tune algorithm for speech processing (default is for music)\n"
+ " -license : Display the program license text (LGPL)\n";
+
+
+// Converts a char into lower case
+static int _toLowerCase(int c)
+{
+ if (c >= 'A' && c <= 'Z')
+ {
+ c += 'a' - 'A';
+ }
+ return c;
+}
+
+
+// Constructor
+RunParameters::RunParameters(const int nParams, const char * const paramStr[])
+{
+ int i;
+ int nFirstParam;
+
+ if (nParams < 3)
+ {
+ // Too few parameters
+ if (nParams > 1 && paramStr[1][0] == '-' &&
+ _toLowerCase(paramStr[1][1]) == 'l')
+ {
+ // '-license' switch
+ throwLicense();
+ }
+ string msg = whatText;
+ msg += usage;
+ throw runtime_error(msg.c_str());
+ }
+
+ inFileName = NULL;
+ outFileName = NULL;
+ tempoDelta = 0;
+ pitchDelta = 0;
+ rateDelta = 0;
+ quick = 0;
+ noAntiAlias = 0;
+ goalBPM = 0;
+ speech = FALSE;
+ detectBPM = FALSE;
+
+ // Get input & output file names
+ inFileName = (char*)paramStr[1];
+ outFileName = (char*)paramStr[2];
+
+ if (outFileName[0] == '-')
+ {
+ // no outputfile name was given but parameters
+ outFileName = NULL;
+ nFirstParam = 2;
+ }
+ else
+ {
+ nFirstParam = 3;
+ }
+
+ // parse switch parameters
+ for (i = nFirstParam; i < nParams; i ++)
+ {
+ parseSwitchParam(paramStr[i]);
+ }
+
+ checkLimits();
+}
+
+
+
+// Checks parameter limits
+void RunParameters::checkLimits()
+{
+ if (tempoDelta < -95.0f)
+ {
+ tempoDelta = -95.0f;
+ }
+ else if (tempoDelta > 5000.0f)
+ {
+ tempoDelta = 5000.0f;
+ }
+
+ if (pitchDelta < -60.0f)
+ {
+ pitchDelta = -60.0f;
+ }
+ else if (pitchDelta > 60.0f)
+ {
+ pitchDelta = 60.0f;
+ }
+
+ if (rateDelta < -95.0f)
+ {
+ rateDelta = -95.0f;
+ }
+ else if (rateDelta > 5000.0f)
+ {
+ rateDelta = 5000.0f;
+ }
+}
+
+
+
+// Unknown switch parameter -- throws an exception with an error message
+void RunParameters::throwIllegalParamExp(const string &str) const
+{
+ string msg = "ERROR : Illegal parameter \"";
+ msg += str;
+ msg += "\".\n\n";
+ msg += usage;
+ throw runtime_error(msg.c_str());
+}
+
+
+
+void RunParameters::throwLicense() const
+{
+ throw runtime_error(licenseText);
+}
+
+
+float RunParameters::parseSwitchValue(const string &str) const
+{
+ int pos;
+
+ pos = (int)str.find_first_of('=');
+ if (pos < 0)
+ {
+ // '=' missing
+ throwIllegalParamExp(str);
+ }
+
+ // Read numerical parameter value after '='
+ return (float)atof(str.substr(pos + 1).c_str());
+}
+
+
+// Interprets a single switch parameter string of format "-switch=xx"
+// Valid switches are "-tempo=xx", "-pitch=xx" and "-rate=xx". Stores
+// switch values into 'params' structure.
+void RunParameters::parseSwitchParam(const string &str)
+{
+ int upS;
+
+ if (str[0] != '-')
+ {
+ // leading hyphen missing => not a valid parameter
+ throwIllegalParamExp(str);
+ }
+
+ // Take the first character of switch name & change to lower case
+ upS = _toLowerCase(str[1]);
+
+ // interpret the switch name & operate accordingly
+ switch (upS)
+ {
+ case 't' :
+ // switch '-tempo=xx'
+ tempoDelta = parseSwitchValue(str);
+ break;
+
+ case 'p' :
+ // switch '-pitch=xx'
+ pitchDelta = parseSwitchValue(str);
+ break;
+
+ case 'r' :
+ // switch '-rate=xx'
+ rateDelta = parseSwitchValue(str);
+ break;
+
+ case 'b' :
+ // switch '-bpm=xx'
+ detectBPM = TRUE;
+ try
+ {
+ goalBPM = parseSwitchValue(str);
+ }
+ catch (const runtime_error)
+ {
+ // illegal or missing bpm value => just calculate bpm
+ goalBPM = 0;
+ }
+ break;
+
+ case 'q' :
+ // switch '-quick'
+ quick = 1;
+ break;
+
+ case 'n' :
+ // switch '-naa'
+ noAntiAlias = 1;
+ break;
+
+ case 'l' :
+ // switch '-license'
+ throwLicense();
+ break;
+
+ case 's' :
+ // switch '-speech'
+ speech = TRUE;
+ break;
+
+ default:
+ // unknown switch
+ throwIllegalParamExp(str);
+ }
+}
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/RunParameters.h b/pysoundtouch/soundtouch/source/SoundStretch/RunParameters.h
new file mode 100644
index 0000000..0f24eb3
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/RunParameters.h
@@ -0,0 +1,72 @@
+////////////////////////////////////////////////////////////////////////////////
+///
+/// A class for parsing the 'soundstretch' application command line parameters
+///
+/// Author : Copyright (c) Olli Parviainen
+/// Author e-mail : oparviai 'at' iki.fi
+/// SoundTouch WWW: http://www.surina.net/soundtouch
+///
+////////////////////////////////////////////////////////////////////////////////
+//
+// Last changed : $Date: 2009-05-17 19:48:30 +0300 (Sun, 17 May 2009) $
+// File revision : $Revision: 4 $
+//
+// $Id: RunParameters.h 72 2009-05-17 16:48:30Z oparviai $
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// License :
+//
+// SoundTouch audio processing library
+// Copyright (c) Olli Parviainen
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef RUNPARAMETERS_H
+#define RUNPARAMETERS_H
+
+#include "STTypes.h"
+#include <string>
+
+using namespace std;
+
+/// Parses command line parameters into program parameters
+class RunParameters
+{
+private:
+ void throwIllegalParamExp(const string &str) const;
+ void throwLicense() const;
+ void parseSwitchParam(const string &str);
+ void checkLimits();
+ float parseSwitchValue(const string &str) const;
+
+public:
+ char *inFileName;
+ char *outFileName;
+ float tempoDelta;
+ float pitchDelta;
+ float rateDelta;
+ int quick;
+ int noAntiAlias;
+ float goalBPM;
+ BOOL detectBPM;
+ BOOL speech;
+
+ RunParameters(const int nParams, const char * const paramStr[]);
+};
+
+#endif
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/WavFile.cpp b/pysoundtouch/soundtouch/source/SoundStretch/WavFile.cpp
new file mode 100644
index 0000000..09d66b2
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/WavFile.cpp
@@ -0,0 +1,745 @@
+////////////////////////////////////////////////////////////////////////////////
+///
+/// Classes for easy reading & writing of WAV sound files.
+///
+/// For big-endian CPU, define _BIG_ENDIAN_ during compile-time to correctly
+/// parse the WAV files with such processors.
+///
+/// Admittingly, more complete WAV reader routines may exist in public domain,
+/// but the reason for 'yet another' one is that those generic WAV reader
+/// libraries are exhaustingly large and cumbersome! Wanted to have something
+/// simpler here, i.e. something that's not already larger than rest of the
+/// SoundTouch/SoundStretch program...
+///
+/// Author : Copyright (c) Olli Parviainen
+/// Author e-mail : oparviai 'at' iki.fi
+/// SoundTouch WWW: http://www.surina.net/soundtouch
+///
+////////////////////////////////////////////////////////////////////////////////
+//
+// Last changed : $Date: 2009-02-21 18:00:14 +0200 (Sat, 21 Feb 2009) $
+// File revision : $Revision: 4 $
+//
+// $Id: WavFile.cpp 63 2009-02-21 16:00:14Z oparviai $
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// License :
+//
+// SoundTouch audio processing library
+// Copyright (c) Olli Parviainen
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include <stdio.h>
+#include <stdexcept>
+#include <string>
+#include <cstring>
+#include <assert.h>
+#include <limits.h>
+
+#include "WavFile.h"
+
+using namespace std;
+
+static const char riffStr[] = "RIFF";
+static const char waveStr[] = "WAVE";
+static const char fmtStr[] = "fmt ";
+static const char dataStr[] = "data";
+
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// Helper functions for swapping byte order to correctly read/write WAV files
+// with big-endian CPU's: Define compile-time definition _BIG_ENDIAN_ to
+// turn-on the conversion if it appears necessary.
+//
+// For example, Intel x86 is little-endian and doesn't require conversion,
+// while PowerPC of Mac's and many other RISC cpu's are big-endian.
+
+#ifdef BYTE_ORDER
+ // In gcc compiler detect the byte order automatically
+ #if BYTE_ORDER == BIG_ENDIAN
+ // big-endian platform.
+ #define _BIG_ENDIAN_
+ #endif
+#endif
+
+#ifdef _BIG_ENDIAN_
+ // big-endian CPU, swap bytes in 16 & 32 bit words
+
+ // helper-function to swap byte-order of 32bit integer
+ static inline void _swap32(unsigned int &dwData)
+ {
+ dwData = ((dwData >> 24) & 0x000000FF) |
+ ((dwData >> 8) & 0x0000FF00) |
+ ((dwData << 8) & 0x00FF0000) |
+ ((dwData << 24) & 0xFF000000);
+ }
+
+ // helper-function to swap byte-order of 16bit integer
+ static inline void _swap16(unsigned short &wData)
+ {
+ wData = ((wData >> 8) & 0x00FF) |
+ ((wData << 8) & 0xFF00);
+ }
+
+ // helper-function to swap byte-order of buffer of 16bit integers
+ static inline void _swap16Buffer(unsigned short *pData, unsigned int dwNumWords)
+ {
+ unsigned long i;
+
+ for (i = 0; i < dwNumWords; i ++)
+ {
+ _swap16(pData[i]);
+ }
+ }
+
+#else // BIG_ENDIAN
+ // little-endian CPU, WAV file is ok as such
+
+ // dummy helper-function
+ static inline void _swap32(unsigned int &dwData)
+ {
+ // do nothing
+ }
+
+ // dummy helper-function
+ static inline void _swap16(unsigned short &wData)
+ {
+ // do nothing
+ }
+
+ // dummy helper-function
+ static inline void _swap16Buffer(unsigned short *pData, unsigned int dwNumBytes)
+ {
+ // do nothing
+ }
+
+#endif // BIG_ENDIAN
+
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// Class WavInFile
+//
+
+WavInFile::WavInFile(const char *fileName)
+{
+ // Try to open the file for reading
+ fptr = fopen(fileName, "rb");
+ if (fptr == NULL)
+ {
+ // didn't succeed
+ string msg = "Error : Unable to open file \"";
+ msg += fileName;
+ msg += "\" for reading.";
+ throw runtime_error(msg);
+ }
+
+ init();
+}
+
+
+WavInFile::WavInFile(FILE *file)
+{
+ // Try to open the file for reading
+ fptr = file;
+ if (!file)
+ {
+ // didn't succeed
+ string msg = "Error : Unable to access input stream for reading";
+ throw runtime_error(msg);
+ }
+
+ init();
+}
+
+
+/// Init the WAV file stream
+void WavInFile::init()
+{
+ int hdrsOk;
+
+ // assume file stream is already open
+ assert(fptr);
+
+ // Read the file headers
+ hdrsOk = readWavHeaders();
+ if (hdrsOk != 0)
+ {
+ // Something didn't match in the wav file headers
+ string msg = "Input file is corrupt or not a WAV file";
+ throw runtime_error(msg);
+ }
+
+ if (header.format.fixed != 1)
+ {
+ string msg = "Input file uses unsupported encoding.";
+ throw runtime_error(msg);
+ }
+
+ dataRead = 0;
+}
+
+
+
+WavInFile::~WavInFile()
+{
+ if (fptr) fclose(fptr);
+ fptr = NULL;
+}
+
+
+
+void WavInFile::rewind()
+{
+ int hdrsOk;
+
+ fseek(fptr, 0, SEEK_SET);
+ hdrsOk = readWavHeaders();
+ assert(hdrsOk == 0);
+ dataRead = 0;
+}
+
+
+int WavInFile::checkCharTags() const
+{
+ // header.format.fmt should equal to 'fmt '
+ if (memcmp(fmtStr, header.format.fmt, 4) != 0) return -1;
+ // header.data.data_field should equal to 'data'
+ if (memcmp(dataStr, header.data.data_field, 4) != 0) return -1;
+
+ return 0;
+}
+
+
+int WavInFile::read(char *buffer, int maxElems)
+{
+ int numBytes;
+ uint afterDataRead;
+
+ // ensure it's 8 bit format
+ if (header.format.bits_per_sample != 8)
+ {
+ throw runtime_error("Error: WavInFile::read(char*, int) works only with 8bit samples.");
+ }
+ assert(sizeof(char) == 1);
+
+ numBytes = maxElems;
+ afterDataRead = dataRead + numBytes;
+ if (afterDataRead > header.data.data_len)
+ {
+ // Don't read more samples than are marked available in header
+ numBytes = (int)header.data.data_len - (int)dataRead;
+ assert(numBytes >= 0);
+ }
+
+ assert(buffer);
+ numBytes = fread(buffer, 1, numBytes, fptr);
+ dataRead += numBytes;
+
+ return numBytes;
+}
+
+
+int WavInFile::read(short *buffer, int maxElems)
+{
+ unsigned int afterDataRead;
+ int numBytes;
+ int numElems;
+
+ assert(buffer);
+ if (header.format.bits_per_sample == 8)
+ {
+ // 8 bit format
+ char *temp = new char[maxElems];
+ int i;
+
+ numElems = read(temp, maxElems);
+ // convert from 8 to 16 bit
+ for (i = 0; i < numElems; i ++)
+ {
+ buffer[i] = temp[i] << 8;
+ }
+ delete[] temp;
+ }
+ else
+ {
+ // 16 bit format
+ assert(header.format.bits_per_sample == 16);
+ assert(sizeof(short) == 2);
+
+ numBytes = maxElems * 2;
+ afterDataRead = dataRead + numBytes;
+ if (afterDataRead > header.data.data_len)
+ {
+ // Don't read more samples than are marked available in header
+ numBytes = (int)header.data.data_len - (int)dataRead;
+ assert(numBytes >= 0);
+ }
+
+ numBytes = fread(buffer, 1, numBytes, fptr);
+ dataRead += numBytes;
+ numElems = numBytes / 2;
+
+ // 16bit samples, swap byte order if necessary
+ _swap16Buffer((unsigned short *)buffer, numElems);
+ }
+
+ return numElems;
+}
+
+
+
+int WavInFile::read(float *buffer, int maxElems)
+{
+ short *temp = new short[maxElems];
+ int num;
+ int i;
+ double fscale;
+
+ num = read(temp, maxElems);
+
+ fscale = 1.0 / 32768.0;
+ // convert to floats, scale to range [-1..+1[
+ for (i = 0; i < num; i ++)
+ {
+ buffer[i] = (float)(fscale * (double)temp[i]);
+ }
+
+ delete[] temp;
+
+ return num;
+}
+
+
+int WavInFile::eof() const
+{
+ // return true if all data has been read or file eof has reached
+ return (dataRead == header.data.data_len || feof(fptr));
+}
+
+
+
+// test if character code is between a white space ' ' and little 'z'
+static int isAlpha(char c)
+{
+ return (c >= ' ' && c <= 'z') ? 1 : 0;
+}
+
+
+// test if all characters are between a white space ' ' and little 'z'
+static int isAlphaStr(const char *str)
+{
+ char c;
+
+ c = str[0];
+ while (c)
+ {
+ if (isAlpha(c) == 0) return 0;
+ str ++;
+ c = str[0];
+ }
+
+ return 1;
+}
+
+
+int WavInFile::readRIFFBlock()
+{
+ if (fread(&(header.riff), sizeof(WavRiff), 1, fptr) != 1) return -1;
+
+ // swap 32bit data byte order if necessary
+ _swap32((unsigned int &)header.riff.package_len);
+
+ // header.riff.riff_char should equal to 'RIFF');
+ if (memcmp(riffStr, header.riff.riff_char, 4) != 0) return -1;
+ // header.riff.wave should equal to 'WAVE'
+ if (memcmp(waveStr, header.riff.wave, 4) != 0) return -1;
+
+ return 0;
+}
+
+
+
+
+int WavInFile::readHeaderBlock()
+{
+ char label[5];
+ string sLabel;
+
+ // lead label string
+ if (fread(label, 1, 4, fptr) !=4) return -1;
+ label[4] = 0;
+
+ if (isAlphaStr(label) == 0) return -1; // not a valid label
+
+ // Decode blocks according to their label
+ if (strcmp(label, fmtStr) == 0)
+ {
+ int nLen, nDump;
+
+ // 'fmt ' block
+ memcpy(header.format.fmt, fmtStr, 4);
+
+ // read length of the format field
+ if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1;
+ // swap byte order if necessary
+ _swap32((unsigned int &)nLen); // int format_len;
+ header.format.format_len = nLen;
+
+ // calculate how much length differs from expected
+ nDump = nLen - ((int)sizeof(header.format) - 8);
+
+ // if format_len is larger than expected, read only as much data as we've space for
+ if (nDump > 0)
+ {
+ nLen = sizeof(header.format) - 8;
+ }
+
+ // read data
+ if (fread(&(header.format.fixed), nLen, 1, fptr) != 1) return -1;
+
+ // swap byte order if necessary
+ _swap16((unsigned short &)header.format.fixed); // short int fixed;
+ _swap16((unsigned short &)header.format.channel_number); // short int channel_number;
+ _swap32((unsigned int &)header.format.sample_rate); // int sample_rate;
+ _swap32((unsigned int &)header.format.byte_rate); // int byte_rate;
+ _swap16((unsigned short &)header.format.byte_per_sample); // short int byte_per_sample;
+ _swap16((unsigned short &)header.format.bits_per_sample); // short int bits_per_sample;
+
+ // if format_len is larger than expected, skip the extra data
+ if (nDump > 0)
+ {
+ fseek(fptr, nDump, SEEK_CUR);
+ }
+
+ return 0;
+ }
+ else if (strcmp(label, dataStr) == 0)
+ {
+ // 'data' block
+ memcpy(header.data.data_field, dataStr, 4);
+ if (fread(&(header.data.data_len), sizeof(uint), 1, fptr) != 1) return -1;
+
+ // swap byte order if necessary
+ _swap32((unsigned int &)header.data.data_len);
+
+ return 1;
+ }
+ else
+ {
+ uint len, i;
+ uint temp;
+ // unknown block
+
+ // read length
+ if (fread(&len, sizeof(len), 1, fptr) != 1) return -1;
+ // scan through the block
+ for (i = 0; i < len; i ++)
+ {
+ if (fread(&temp, 1, 1, fptr) != 1) return -1;
+ if (feof(fptr)) return -1; // unexpected eof
+ }
+ }
+ return 0;
+}
+
+
+int WavInFile::readWavHeaders()
+{
+ int res;
+
+ memset(&header, 0, sizeof(header));
+
+ res = readRIFFBlock();
+ if (res) return 1;
+ // read header blocks until data block is found
+ do
+ {
+ // read header blocks
+ res = readHeaderBlock();
+ if (res < 0) return 1; // error in file structure
+ } while (res == 0);
+ // check that all required tags are legal
+ return checkCharTags();
+}
+
+
+uint WavInFile::getNumChannels() const
+{
+ return header.format.channel_number;
+}
+
+
+uint WavInFile::getNumBits() const
+{
+ return header.format.bits_per_sample;
+}
+
+
+uint WavInFile::getBytesPerSample() const
+{
+ return getNumChannels() * getNumBits() / 8;
+}
+
+
+uint WavInFile::getSampleRate() const
+{
+ return header.format.sample_rate;
+}
+
+
+
+uint WavInFile::getDataSizeInBytes() const
+{
+ return header.data.data_len;
+}
+
+
+uint WavInFile::getNumSamples() const
+{
+ if (header.format.byte_per_sample == 0) return 0;
+ return header.data.data_len / (unsigned short)header.format.byte_per_sample;
+}
+
+
+uint WavInFile::getLengthMS() const
+{
+ uint numSamples;
+ uint sampleRate;
+
+ numSamples = getNumSamples();
+ sampleRate = getSampleRate();
+
+ assert(numSamples < UINT_MAX / 1000);
+ return (1000 * numSamples / sampleRate);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// Class WavOutFile
+//
+
+WavOutFile::WavOutFile(const char *fileName, int sampleRate, int bits, int channels)
+{
+ bytesWritten = 0;
+ fptr = fopen(fileName, "wb");
+ if (fptr == NULL)
+ {
+ string msg = "Error : Unable to open file \"";
+ msg += fileName;
+ msg += "\" for writing.";
+ //pmsg = msg.c_str;
+ throw runtime_error(msg);
+ }
+
+ fillInHeader(sampleRate, bits, channels);
+ writeHeader();
+}
+
+
+WavOutFile::WavOutFile(FILE *file, int sampleRate, int bits, int channels)
+{
+ bytesWritten = 0;
+ fptr = file;
+ if (fptr == NULL)
+ {
+ string msg = "Error : Unable to access output file stream.";
+ throw runtime_error(msg);
+ }
+
+ fillInHeader(sampleRate, bits, channels);
+ writeHeader();
+}
+
+
+
+WavOutFile::~WavOutFile()
+{
+ finishHeader();
+ if (fptr) fclose(fptr);
+ fptr = NULL;
+}
+
+
+
+void WavOutFile::fillInHeader(uint sampleRate, uint bits, uint channels)
+{
+ // fill in the 'riff' part..
+
+ // copy string 'RIFF' to riff_char
+ memcpy(&(header.riff.riff_char), riffStr, 4);
+ // package_len unknown so far
+ header.riff.package_len = 0;
+ // copy string 'WAVE' to wave
+ memcpy(&(header.riff.wave), waveStr, 4);
+
+
+ // fill in the 'format' part..
+
+ // copy string 'fmt ' to fmt
+ memcpy(&(header.format.fmt), fmtStr, 4);
+
+ header.format.format_len = 0x10;
+ header.format.fixed = 1;
+ header.format.channel_number = (short)channels;
+ header.format.sample_rate = (int)sampleRate;
+ header.format.bits_per_sample = (short)bits;
+ header.format.byte_per_sample = (short)(bits * channels / 8);
+ header.format.byte_rate = header.format.byte_per_sample * (int)sampleRate;
+ header.format.sample_rate = (int)sampleRate;
+
+ // fill in the 'data' part..
+
+ // copy string 'data' to data_field
+ memcpy(&(header.data.data_field), dataStr, 4);
+ // data_len unknown so far
+ header.data.data_len = 0;
+}
+
+
+void WavOutFile::finishHeader()
+{
+ // supplement the file length into the header structure
+ header.riff.package_len = bytesWritten + 36;
+ header.data.data_len = bytesWritten;
+
+ writeHeader();
+}
+
+
+
+void WavOutFile::writeHeader()
+{
+ WavHeader hdrTemp;
+ int res;
+
+ // swap byte order if necessary
+ hdrTemp = header;
+ _swap32((unsigned int &)hdrTemp.riff.package_len);
+ _swap32((unsigned int &)hdrTemp.format.format_len);
+ _swap16((unsigned short &)hdrTemp.format.fixed);
+ _swap16((unsigned short &)hdrTemp.format.channel_number);
+ _swap32((unsigned int &)hdrTemp.format.sample_rate);
+ _swap32((unsigned int &)hdrTemp.format.byte_rate);
+ _swap16((unsigned short &)hdrTemp.format.byte_per_sample);
+ _swap16((unsigned short &)hdrTemp.format.bits_per_sample);
+ _swap32((unsigned int &)hdrTemp.data.data_len);
+
+ // write the supplemented header in the beginning of the file
+ fseek(fptr, 0, SEEK_SET);
+ res = fwrite(&hdrTemp, sizeof(hdrTemp), 1, fptr);
+ if (res != 1)
+ {
+ throw runtime_error("Error while writing to a wav file.");
+ }
+
+ // jump back to the end of the file
+ fseek(fptr, 0, SEEK_END);
+}
+
+
+
+void WavOutFile::write(const char *buffer, int numElems)
+{
+ int res;
+
+ if (header.format.bits_per_sample != 8)
+ {
+ throw runtime_error("Error: WavOutFile::write(const char*, int) accepts only 8bit samples.");
+ }
+ assert(sizeof(char) == 1);
+
+ res = fwrite(buffer, 1, numElems, fptr);
+ if (res != numElems)
+ {
+ throw runtime_error("Error while writing to a wav file.");
+ }
+
+ bytesWritten += numElems;
+}
+
+
+void WavOutFile::write(const short *buffer, int numElems)
+{
+ int res;
+
+ // 16 bit samples
+ if (numElems < 1) return; // nothing to do
+
+ if (header.format.bits_per_sample == 8)
+ {
+ int i;
+ char *temp = new char[numElems];
+ // convert from 16bit format to 8bit format
+ for (i = 0; i < numElems; i ++)
+ {
+ temp[i] = buffer[i] >> 8;
+ }
+ // write in 8bit format
+ write(temp, numElems);
+ delete[] temp;
+ }
+ else
+ {
+ // 16bit format
+ unsigned short *pTemp = new unsigned short[numElems];
+
+ assert(header.format.bits_per_sample == 16);
+
+ // allocate temp buffer to swap byte order if necessary
+ memcpy(pTemp, buffer, numElems * 2);
+ _swap16Buffer(pTemp, numElems);
+
+ res = fwrite(pTemp, 2, numElems, fptr);
+
+ delete[] pTemp;
+
+ if (res != numElems)
+ {
+ throw runtime_error("Error while writing to a wav file.");
+ }
+ bytesWritten += 2 * numElems;
+ }
+}
+
+
+void WavOutFile::write(const float *buffer, int numElems)
+{
+ int i;
+ short *temp = new short[numElems];
+ int iTemp;
+
+ // convert to 16 bit integer
+ for (i = 0; i < numElems; i ++)
+ {
+ // convert to integer
+ iTemp = (int)(32768.0f * buffer[i]);
+
+ // saturate
+ if (iTemp < -32768) iTemp = -32768;
+ if (iTemp > 32767) iTemp = 32767;
+ temp[i] = (short)iTemp;
+ }
+
+ write(temp, numElems);
+
+ delete[] temp;
+}
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/WavFile.h b/pysoundtouch/soundtouch/source/SoundStretch/WavFile.h
new file mode 100644
index 0000000..8effe17
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/WavFile.h
@@ -0,0 +1,250 @@
+////////////////////////////////////////////////////////////////////////////////
+///
+/// Classes for easy reading & writing of WAV sound files.
+///
+/// For big-endian CPU, define BIG_ENDIAN during compile-time to correctly
+/// parse the WAV files with such processors.
+///
+/// Admittingly, more complete WAV reader routines may exist in public domain, but
+/// the reason for 'yet another' one is that those generic WAV reader libraries are
+/// exhaustingly large and cumbersome! Wanted to have something simpler here, i.e.
+/// something that's not already larger than rest of the SoundTouch/SoundStretch program...
+///
+/// Author : Copyright (c) Olli Parviainen
+/// Author e-mail : oparviai 'at' iki.fi
+/// SoundTouch WWW: http://www.surina.net/soundtouch
+///
+////////////////////////////////////////////////////////////////////////////////
+//
+// Last changed : $Date: 2009-02-21 18:00:14 +0200 (Sat, 21 Feb 2009) $
+// File revision : $Revision: 4 $
+//
+// $Id: WavFile.h 63 2009-02-21 16:00:14Z oparviai $
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// License :
+//
+// SoundTouch audio processing library
+// Copyright (c) Olli Parviainen
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef WAVFILE_H
+#define WAVFILE_H
+
+#include <stdio.h>
+
+#ifndef uint
+typedef unsigned int uint;
+#endif
+
+
+/// WAV audio file 'riff' section header
+typedef struct
+{
+ char riff_char[4];
+ int package_len;
+ char wave[4];
+} WavRiff;
+
+/// WAV audio file 'format' section header
+typedef struct
+{
+ char fmt[4];
+ int format_len;
+ short fixed;
+ short channel_number;
+ int sample_rate;
+ int byte_rate;
+ short byte_per_sample;
+ short bits_per_sample;
+} WavFormat;
+
+/// WAV audio file 'data' section header
+typedef struct
+{
+ char data_field[4];
+ uint data_len;
+} WavData;
+
+
+/// WAV audio file header
+typedef struct
+{
+ WavRiff riff;
+ WavFormat format;
+ WavData data;
+} WavHeader;
+
+
+/// Class for reading WAV audio files.
+class WavInFile
+{
+private:
+ /// File pointer.
+ FILE *fptr;
+
+ /// Counter of how many bytes of sample data have been read from the file.
+ uint dataRead;
+
+ /// WAV header information
+ WavHeader header;
+
+ /// Init the WAV file stream
+ void init();
+
+ /// Read WAV file headers.
+ /// \return zero if all ok, nonzero if file format is invalid.
+ int readWavHeaders();
+
+ /// Checks WAV file header tags.
+ /// \return zero if all ok, nonzero if file format is invalid.
+ int checkCharTags() const;
+
+ /// Reads a single WAV file header block.
+ /// \return zero if all ok, nonzero if file format is invalid.
+ int readHeaderBlock();
+
+ /// Reads WAV file 'riff' block
+ int readRIFFBlock();
+
+public:
+ /// Constructor: Opens the given WAV file. If the file can't be opened,
+ /// throws 'runtime_error' exception.
+ WavInFile(const char *filename);
+
+ WavInFile(FILE *file);
+
+ /// Destructor: Closes the file.
+ ~WavInFile();
+
+ /// Rewind to beginning of the file
+ void rewind();
+
+ /// Get sample rate.
+ uint getSampleRate() const;
+
+ /// Get number of bits per sample, i.e. 8 or 16.
+ uint getNumBits() const;
+
+ /// Get sample data size in bytes. Ahem, this should return same information as
+ /// 'getBytesPerSample'...
+ uint getDataSizeInBytes() const;
+
+ /// Get total number of samples in file.
+ uint getNumSamples() const;
+
+ /// Get number of bytes per audio sample (e.g. 16bit stereo = 4 bytes/sample)
+ uint getBytesPerSample() const;
+
+ /// Get number of audio channels in the file (1=mono, 2=stereo)
+ uint getNumChannels() const;
+
+ /// Get the audio file length in milliseconds
+ uint getLengthMS() const;
+
+ /// Reads audio samples from the WAV file. This routine works only for 8 bit samples.
+ /// Reads given number of elements from the file or if end-of-file reached, as many
+ /// elements as are left in the file.
+ ///
+ /// \return Number of 8-bit integers read from the file.
+ int read(char *buffer, int maxElems);
+
+ /// Reads audio samples from the WAV file to 16 bit integer format. Reads given number
+ /// of elements from the file or if end-of-file reached, as many elements as are
+ /// left in the file.
+ ///
+ /// \return Number of 16-bit integers read from the file.
+ int read(short *buffer, ///< Pointer to buffer where to read data.
+ int maxElems ///< Size of 'buffer' array (number of array elements).
+ );
+
+ /// Reads audio samples from the WAV file to floating point format, converting
+ /// sample values to range [-1,1[. Reads given number of elements from the file
+ /// or if end-of-file reached, as many elements as are left in the file.
+ ///
+ /// \return Number of elements read from the file.
+ int read(float *buffer, ///< Pointer to buffer where to read data.
+ int maxElems ///< Size of 'buffer' array (number of array elements).
+ );
+
+ /// Check end-of-file.
+ ///
+ /// \return Nonzero if end-of-file reached.
+ int eof() const;
+};
+
+
+
+/// Class for writing WAV audio files.
+class WavOutFile
+{
+private:
+ /// Pointer to the WAV file
+ FILE *fptr;
+
+ /// WAV file header data.
+ WavHeader header;
+
+ /// Counter of how many bytes have been written to the file so far.
+ int bytesWritten;
+
+ /// Fills in WAV file header information.
+ void fillInHeader(const uint sampleRate, const uint bits, const uint channels);
+
+ /// Finishes the WAV file header by supplementing information of amount of
+ /// data written to file etc
+ void finishHeader();
+
+ /// Writes the WAV file header.
+ void writeHeader();
+
+public:
+ /// Constructor: Creates a new WAV file. Throws a 'runtime_error' exception
+ /// if file creation fails.
+ WavOutFile(const char *fileName, ///< Filename
+ int sampleRate, ///< Sample rate (e.g. 44100 etc)
+ int bits, ///< Bits per sample (8 or 16 bits)
+ int channels ///< Number of channels (1=mono, 2=stereo)
+ );
+
+ WavOutFile(FILE *file, int sampleRate, int bits, int channels);
+
+ /// Destructor: Finalizes & closes the WAV file.
+ ~WavOutFile();
+
+ /// Write data to WAV file. This function works only with 8bit samples.
+ /// Throws a 'runtime_error' exception if writing to file fails.
+ void write(const char *buffer, ///< Pointer to sample data buffer.
+ int numElems ///< How many array items are to be written to file.
+ );
+
+ /// Write data to WAV file. Throws a 'runtime_error' exception if writing to
+ /// file fails.
+ void write(const short *buffer, ///< Pointer to sample data buffer.
+ int numElems ///< How many array items are to be written to file.
+ );
+
+ /// Write data to WAV file in floating point format, saturating sample values to range
+ /// [-1..+1[. Throws a 'runtime_error' exception if writing to file fails.
+ void write(const float *buffer, ///< Pointer to sample data buffer.
+ int numElems ///< How many array items are to be written to file.
+ );
+};
+
+#endif
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/main.cpp b/pysoundtouch/soundtouch/source/SoundStretch/main.cpp
new file mode 100644
index 0000000..b2237e7
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/main.cpp
@@ -0,0 +1,330 @@
+////////////////////////////////////////////////////////////////////////////////
+///
+/// SoundStretch main routine.
+///
+/// Author : Copyright (c) Olli Parviainen
+/// Author e-mail : oparviai 'at' iki.fi
+/// SoundTouch WWW: http://www.surina.net/soundtouch
+///
+////////////////////////////////////////////////////////////////////////////////
+//
+// Last changed : $Date: 2009-12-28 22:32:10 +0200 (Mon, 28 Dec 2009) $
+// File revision : $Revision: 4 $
+//
+// $Id: main.cpp 79 2009-12-28 20:32:10Z oparviai $
+//
+////////////////////////////////////////////////////////////////////////////////
+//
+// License :
+//
+// SoundTouch audio processing library
+// Copyright (c) Olli Parviainen
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#include <stdexcept>
+#include <stdio.h>
+#include <string.h>
+#include "RunParameters.h"
+#include "WavFile.h"
+#include "SoundTouch.h"
+#include "BPMDetect.h"
+
+using namespace soundtouch;
+using namespace std;
+
+// Processing chunk size
+#define BUFF_SIZE 2048
+
+#if WIN32
+ #include <io.h>
+ #include <fcntl.h>
+
+ // Macro for Win32 standard input/output stream support: Sets a file stream into binary mode
+ #define SET_STREAM_TO_BIN_MODE(f) (_setmode(fileno(f), _O_BINARY))
+#else
+ // Not needed for GNU environment...
+ #define SET_STREAM_TO_BIN_MODE(f) {}
+#endif
+
+
+static const char _helloText[] =
+ "\n"
+ " SoundStretch v%s - Written by Olli Parviainen 2001 - 2009\n"
+ "==================================================================\n"
+ "author e-mail: <oparviai"
+ "@"
+ "iki.fi> - WWW: http://www.surina.net/soundtouch\n"
+ "\n"
+ "This program is subject to (L)GPL license. Run \"soundstretch -license\" for\n"
+ "more information.\n"
+ "\n";
+
+static void openFiles(WavInFile **inFile, WavOutFile **outFile, const RunParameters *params)
+{
+ int bits, samplerate, channels;
+
+ if (strcmp(params->inFileName, "stdin") == 0)
+ {
+ // used 'stdin' as input file
+ SET_STREAM_TO_BIN_MODE(stdin);
+ *inFile = new WavInFile(stdin);
+ }
+ else
+ {
+ // open input file...
+ *inFile = new WavInFile(params->inFileName);
+ }
+
+ // ... open output file with same sound parameters
+ bits = (int)(*inFile)->getNumBits();
+ samplerate = (int)(*inFile)->getSampleRate();
+ channels = (int)(*inFile)->getNumChannels();
+
+ if (params->outFileName)
+ {
+ if (strcmp(params->outFileName, "stdout") == 0)
+ {
+ SET_STREAM_TO_BIN_MODE(stdout);
+ *outFile = new WavOutFile(stdout, samplerate, bits, channels);
+ }
+ else
+ {
+ *outFile = new WavOutFile(params->outFileName, samplerate, bits, channels);
+ }
+ }
+ else
+ {
+ *outFile = NULL;
+ }
+}
+
+
+
+// Sets the 'SoundTouch' object up according to input file sound format &
+// command line parameters
+static void setup(SoundTouch *pSoundTouch, const WavInFile *inFile, const RunParameters *params)
+{
+ int sampleRate;
+ int channels;
+
+ sampleRate = (int)inFile->getSampleRate();
+ channels = (int)inFile->getNumChannels();
+ pSoundTouch->setSampleRate(sampleRate);
+ pSoundTouch->setChannels(channels);
+
+ pSoundTouch->setTempoChange(params->tempoDelta);
+ pSoundTouch->setPitchSemiTones(params->pitchDelta);
+ pSoundTouch->setRateChange(params->rateDelta);
+
+ pSoundTouch->setSetting(SETTING_USE_QUICKSEEK, params->quick);
+ pSoundTouch->setSetting(SETTING_USE_AA_FILTER, !(params->noAntiAlias));
+
+ if (params->speech)
+ {
+ // use settings for speech processing
+ pSoundTouch->setSetting(SETTING_SEQUENCE_MS, 40);
+ pSoundTouch->setSetting(SETTING_SEEKWINDOW_MS, 15);
+ pSoundTouch->setSetting(SETTING_OVERLAP_MS, 8);
+ fprintf(stderr, "Tune processing parameters for speech processing.\n");
+ }
+
+ // print processing information
+ if (params->outFileName)
+ {
+#ifdef INTEGER_SAMPLES
+ fprintf(stderr, "Uses 16bit integer sample type in processing.\n\n");
+#else
+ #ifndef FLOAT_SAMPLES
+ #error "Sampletype not defined"
+ #endif
+ fprintf(stderr, "Uses 32bit floating point sample type in processing.\n\n");
+#endif
+ // print processing information only if outFileName given i.e. some processing will happen
+ fprintf(stderr, "Processing the file with the following changes:\n");
+ fprintf(stderr, " tempo change = %+g %%\n", params->tempoDelta);
+ fprintf(stderr, " pitch change = %+g semitones\n", params->pitchDelta);
+ fprintf(stderr, " rate change = %+g %%\n\n", params->rateDelta);
+ fprintf(stderr, "Working...");
+ }
+ else
+ {
+ // outFileName not given
+ fprintf(stderr, "Warning: output file name missing, won't output anything.\n\n");
+ }
+
+ fflush(stderr);
+}
+
+
+
+
+// Processes the sound
+static void process(SoundTouch *pSoundTouch, WavInFile *inFile, WavOutFile *outFile)
+{
+ int nSamples;
+ int nChannels;
+ int buffSizeSamples;
+ SAMPLETYPE sampleBuffer[BUFF_SIZE];
+
+ if ((inFile == NULL) || (outFile == NULL)) return; // nothing to do.
+
+ nChannels = (int)inFile->getNumChannels();
+ assert(nChannels > 0);
+ buffSizeSamples = BUFF_SIZE / nChannels;
+
+ // Process samples read from the input file
+ while (inFile->eof() == 0)
+ {
+ int num;
+
+ // Read a chunk of samples from the input file
+ num = inFile->read(sampleBuffer, BUFF_SIZE);
+ nSamples = num / (int)inFile->getNumChannels();
+
+ // Feed the samples into SoundTouch processor
+ pSoundTouch->putSamples(sampleBuffer, nSamples);
+
+ // Read ready samples from SoundTouch processor & write them output file.
+ // NOTES:
+ // - 'receiveSamples' doesn't necessarily return any samples at all
+ // during some rounds!
+ // - On the other hand, during some round 'receiveSamples' may have more
+ // ready samples than would fit into 'sampleBuffer', and for this reason
+ // the 'receiveSamples' call is iterated for as many times as it
+ // outputs samples.
+ do
+ {
+ nSamples = pSoundTouch->receiveSamples(sampleBuffer, buffSizeSamples);
+ outFile->write(sampleBuffer, nSamples * nChannels);
+ } while (nSamples != 0);
+ }
+
+ // Now the input file is processed, yet 'flush' few last samples that are
+ // hiding in the SoundTouch's internal processing pipeline.
+ pSoundTouch->flush();
+ do
+ {
+ nSamples = pSoundTouch->receiveSamples(sampleBuffer, buffSizeSamples);
+ outFile->write(sampleBuffer, nSamples * nChannels);
+ } while (nSamples != 0);
+}
+
+
+
+// Detect BPM rate of inFile and adjust tempo setting accordingly if necessary
+static void detectBPM(WavInFile *inFile, RunParameters *params)
+{
+ float bpmValue;
+ int nChannels;
+ BPMDetect bpm(inFile->getNumChannels(), inFile->getSampleRate());
+ SAMPLETYPE sampleBuffer[BUFF_SIZE];
+
+ // detect bpm rate
+ fprintf(stderr, "Detecting BPM rate...");
+ fflush(stderr);
+
+ nChannels = (int)inFile->getNumChannels();
+ assert(BUFF_SIZE % nChannels == 0);
+
+ // Process the 'inFile' in small blocks, repeat until whole file has
+ // been processed
+ while (inFile->eof() == 0)
+ {
+ int num, samples;
+
+ // Read sample data from input file
+ num = inFile->read(sampleBuffer, BUFF_SIZE);
+
+ // Enter the new samples to the bpm analyzer class
+ samples = num / nChannels;
+ bpm.inputSamples(sampleBuffer, samples);
+ }
+
+ // Now the whole song data has been analyzed. Read the resulting bpm.
+ bpmValue = bpm.getBpm();
+ fprintf(stderr, "Done!\n");
+
+ // rewind the file after bpm detection
+ inFile->rewind();
+
+ if (bpmValue > 0)
+ {
+ fprintf(stderr, "Detected BPM rate %.1f\n\n", bpmValue);
+ }
+ else
+ {
+ fprintf(stderr, "Couldn't detect BPM rate.\n\n");
+ return;
+ }
+
+ if (params->goalBPM > 0)
+ {
+ // adjust tempo to given bpm
+ params->tempoDelta = (params->goalBPM / bpmValue - 1.0f) * 100.0f;
+ fprintf(stderr, "The file will be converted to %.1f BPM\n\n", params->goalBPM);
+ }
+}
+
+
+
+int main(const int nParams, const char * const paramStr[])
+{
+ WavInFile *inFile;
+ WavOutFile *outFile;
+ RunParameters *params;
+ SoundTouch soundTouch;
+
+ fprintf(stderr, _helloText, SoundTouch::getVersionString());
+
+ try
+ {
+ // Parse command line parameters
+ params = new RunParameters(nParams, paramStr);
+
+ // Open input & output files
+ openFiles(&inFile, &outFile, params);
+
+ if (params->detectBPM == TRUE)
+ {
+ // detect sound BPM (and adjust processing parameters
+ // accordingly if necessary)
+ detectBPM(inFile, params);
+ }
+
+ // Setup the 'SoundTouch' object for processing the sound
+ setup(&soundTouch, inFile, params);
+
+ // Process the sound
+ process(&soundTouch, inFile, outFile);
+
+ // Close WAV file handles & dispose of the objects
+ delete inFile;
+ delete outFile;
+ delete params;
+
+ fprintf(stderr, "Done!\n");
+ }
+ catch (const runtime_error &e)
+ {
+ // An exception occurred during processing, display an error message
+ fprintf(stderr, "%s\n", e.what());
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/soundstretch b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch
new file mode 100755
index 0000000..93caebe
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch
Binary files differ
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsp b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsp
new file mode 100644
index 0000000..81b2dfa
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsp
@@ -0,0 +1,137 @@
+# Microsoft Developer Studio Project File - Name="soundstretch" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=soundstretch - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "soundstretch.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "soundstretch.mak" CFG="soundstretch - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "soundstretch - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "soundstretch - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "soundstretch - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /Zi /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x40b /d "NDEBUG"
+# ADD RSC /l 0x40b /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 SoundTouch.lib /nologo /subsystem:console /profile /map /debug /machine:I386 /libpath:"..\..\lib"
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy Release\soundstretch.exe ..\..\bin\
+# End Special Build Tool
+
+!ELSEIF "$(CFG)" == "soundstretch - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /Zp16 /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x40b /d "_DEBUG"
+# ADD RSC /l 0x40b /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 SoundTouchD.lib /nologo /subsystem:console /map /debug /machine:I386 /nodefaultlib:"libc" /out:"Debug/soundstretchD.exe" /pdbtype:sept /libpath:"..\..\lib"
+# SUBTRACT LINK32 /pdb:none
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy Debug\soundstretchD.exe ..\..\bin\
+# End Special Build Tool
+
+!ENDIF
+
+# Begin Target
+
+# Name "soundstretch - Win32 Release"
+# Name "soundstretch - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RunParameters.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\WavFile.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\RunParameters.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\SoundTouch.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\include\STTypes.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\WavFile.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsw b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsw
new file mode 100644
index 0000000..36ced4b
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.dsw
@@ -0,0 +1,44 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "SoundTouch"=..\SoundTouch\SoundTouch.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "soundstretch"=.\soundstretch.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name SoundTouch
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.sln b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.sln
new file mode 100644
index 0000000..dfdc4ac
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.sln
@@ -0,0 +1,32 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "soundstretch", "soundstretch.vcproj", "{5AACDFFA-D491-44B8-A332-DA7ACCAAF2AF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {68A5DD20-7057-448B-8FE0-B6AC8D205509} = {68A5DD20-7057-448B-8FE0-B6AC8D205509}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SoundTouch", "..\SoundTouch\SoundTouch.vcproj", "{68A5DD20-7057-448B-8FE0-B6AC8D205509}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectDependencies) = postSolution
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {5AACDFFA-D491-44B8-A332-DA7ACCAAF2AF}.Debug.ActiveCfg = Debug|Win32
+ {5AACDFFA-D491-44B8-A332-DA7ACCAAF2AF}.Debug.Build.0 = Debug|Win32
+ {5AACDFFA-D491-44B8-A332-DA7ACCAAF2AF}.Release.ActiveCfg = Release|Win32
+ {5AACDFFA-D491-44B8-A332-DA7ACCAAF2AF}.Release.Build.0 = Release|Win32
+ {68A5DD20-7057-448B-8FE0-B6AC8D205509}.Debug.ActiveCfg = Debug|Win32
+ {68A5DD20-7057-448B-8FE0-B6AC8D205509}.Debug.Build.0 = Debug|Win32
+ {68A5DD20-7057-448B-8FE0-B6AC8D205509}.Release.ActiveCfg = Release|Win32
+ {68A5DD20-7057-448B-8FE0-B6AC8D205509}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.vcproj b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.vcproj
new file mode 100644
index 0000000..b1f66be
--- /dev/null
+++ b/pysoundtouch/soundtouch/source/SoundStretch/soundstretch.vcproj
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="soundstretch"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ StructMemberAlignment="5"
+ PrecompiledHeaderFile=".\Debug/soundstretch.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ BrowseInformation="1"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="SoundTouchD.lib"
+ OutputFile="Debug/soundstretchD.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="TRUE"
+ AdditionalLibraryDirectories="..\..\lib"
+ IgnoreDefaultLibraryNames="libc"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/soundstretchD.pdb"
+ GenerateMapFile="TRUE"
+ MapFileName=".\Debug/soundstretchD.map"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Debug/soundstretch.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy Debug\soundstretchD.exe ..\..\bin\"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1035"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="TRUE"
+ RuntimeLibrary="4"
+ EnableFunctionLevelLinking="TRUE"
+ PrecompiledHeaderFile=".\Release/soundstretch.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="3"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="SoundTouch.lib"
+ OutputFile=".\Release/soundstretch.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="TRUE"
+ GenerateMapFile="TRUE"
+ MapFileName=".\Release/soundstretch.map"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Release/soundstretch.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy Release\soundstretch.exe ..\..\bin\"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1035"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="main.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="RunParameters.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="WavFile.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath="RunParameters.h">
+ </File>
+ <File
+ RelativePath="WavFile.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>