Mercurial > hg > qm-vamp-plugins
changeset 190:af6a5ba00a8f
Some fixes for MSVC
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 01 Feb 2018 16:36:55 +0000 |
parents | 4e3bd932c195 |
children | 131637e2cc1f |
files | .hgignore build/msvc/QMVampPlugins.vcxproj build/msvc/no-vprintf.c build/msvc/no-vprintf.lib plugins/BarBeatTrack.cpp plugins/DWT.h plugins/SegmenterPlugin.cpp plugins/SimilarityPlugin.cpp plugins/Transcription.cpp |
diffstat | 9 files changed, 34 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Tue Jan 30 20:24:17 2018 +0000 +++ b/.hgignore Thu Feb 01 16:36:55 2018 +0000 @@ -1,8 +1,11 @@ syntax: glob *~ *.o +*.obj *.so *.dll glob:.vext-*.bin build/msvc/Debug build/msvc/Release +build/msvc/x64/Debug +build/msvc/x64/Release
--- a/build/msvc/QMVampPlugins.vcxproj Tue Jan 30 20:24:17 2018 +0000 +++ b/build/msvc/QMVampPlugins.vcxproj Thu Feb 01 16:36:55 2018 +0000 @@ -21,6 +21,7 @@ <PropertyGroup Label="Globals"> <ProjectGuid>{1F995CF1-8B4B-445C-824D-09B3268DB29D}</ProjectGuid> <Keyword>Win32Proj</Keyword> + <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> @@ -39,7 +40,7 @@ <PlatformToolset>v140</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> + <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <PlatformToolset>v140</PlatformToolset> </PropertyGroup> @@ -69,17 +70,19 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;QMVAMPPLUGINS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;QMVAMPPLUGINS_EXPORTS;_USE_MATH_DEFINES;NOMINMAX;kiss_fft_scalar=double;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <WarningLevel>Level3</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>$(ProjectDir)\..\..\lib\qm-dsp\ext\clapack\include;$(ProjectDir)\..\..\lib\qm-dsp\ext\kissfft;$(ProjectDir)\..\..\lib\qm-dsp\ext\cblas\include;$(ProjectDir)\..\..\lib\qm-dsp;$(ProjectDir)\..\..\lib\vamp-plugin-sdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(ProjectDir)\..\..\lib\qm-dsp\ext\clapack\include;$(ProjectDir)\..\..\lib\qm-dsp\ext\kissfft;$(ProjectDir)\..\..\lib\qm-dsp\ext\cblas\include;$(ProjectDir)\..\..\lib\qm-dsp;$(ProjectDir)\..\..\lib\vamp-plugin-sdk;$(ProjectDir)\..\..\lib\qm-dsp\ext\kissfft\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <TargetMachine>MachineX86</TargetMachine> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> + <AdditionalDependencies>$(ProjectDir)..\mingw32\atlas.lib;$(ProjectDir)..\mingw32\cblas.lib;$(ProjectDir)..\mingw32\lapack.lib;$(ProjectDir)..\mingw32\f77blas.lib;$(ProjectDir)..\mingw32\g2cstubs.lib;$(ProjectDir)\no-vprintf.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalOptions>/EXPORT:vampGetPluginDescriptor %(AdditionalOptions)</AdditionalOptions> </Link> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> @@ -98,8 +101,17 @@ <OptimizeReferences>true</OptimizeReferences> </Link> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <AdditionalIncludeDirectories>$(ProjectDir)\..\..\lib\qm-dsp\ext\clapack\include;$(ProjectDir)\..\..\lib\qm-dsp\ext\kissfft;$(ProjectDir)\..\..\lib\qm-dsp\ext\cblas\include;$(ProjectDir)\..\..\lib\qm-dsp;$(ProjectDir)\..\..\lib\vamp-plugin-sdk;$(ProjectDir)\..\..\lib\qm-dsp\ext\kissfft\tools;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;QMVAMPPLUGINS_EXPORTS;_USE_MATH_DEFINES;NOMINMAX;kiss_fft_scalar=double;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <AdditionalOptions>/EXPORT:vampGetPluginDescriptor %(AdditionalOptions)</AdditionalOptions> + </Link> + </ItemDefinitionGroup> <ItemGroup> - <ClCompile Include="..\..\g2cstubs.c" /> <ClCompile Include="..\..\libmain.cpp" /> <ClCompile Include="..\..\lib\qm-dsp\base\KaiserWindow.cpp" /> <ClCompile Include="..\..\lib\qm-dsp\base\Pitch.cpp" /> @@ -131,12 +143,8 @@ <ClCompile Include="..\..\lib\qm-dsp\dsp\tonal\TCSgram.cpp" /> <ClCompile Include="..\..\lib\qm-dsp\dsp\tonal\TonalEstimator.cpp" /> <ClCompile Include="..\..\lib\qm-dsp\dsp\transforms\DCT.cpp" /> - <ClCompile Include="..\..\lib\qm-dsp\dsp\transforms\FFT.cpp" /> + <ClCompile Include="..\..\lib\qm-dsp\dsp\transforms\FFTqm.cpp" /> <ClCompile Include="..\..\lib\qm-dsp\dsp\wavelet\Wavelet.cpp" /> - <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\cblas_ddot.c" /> - <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\cblas_dgemm.c" /> - <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\cblas_globals.c" /> - <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\cblas_xerbla.c" /> <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\ddot.c" /> <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\dgemm.c" /> <ClCompile Include="..\..\lib\qm-dsp\ext\cblas\src\dgemv.c" />
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build/msvc/no-vprintf.c Thu Feb 01 16:36:55 2018 +0000 @@ -0,0 +1,2 @@ +#include <stdarg.h> +extern int vprintf(const char *fmt, va_list arg) { }
--- a/plugins/BarBeatTrack.cpp Tue Jan 30 20:24:17 2018 +0000 +++ b/plugins/BarBeatTrack.cpp Thu Feb 01 16:36:55 2018 +0000 @@ -25,10 +25,6 @@ using std::cerr; using std::endl; -#ifndef __GNUC__ -#include <alloca.h> -#endif - float BarBeatTracker::m_stepSecs = 0.01161; // 512 samples at 44100 class BarBeatTrackerData @@ -341,15 +337,13 @@ // We only support a single input channel const int fl = m_d->dfConfig.frameLength; -#ifndef __GNUC__ - double *dfinput = (double *)alloca(fl * sizeof(double)); -#else - double dfinput[fl]; -#endif - for (int i = 0; i < fl; ++i) dfinput[i] = inputBuffers[0][i]; + double *dfinput = new double[fl]; + for (int i = 0; i < fl; ++i) dfinput[i] = inputBuffers[0][i]; double output = m_d->df->processTimeDomain(dfinput); + delete[] dfinput; + if (m_d->dfOutput.empty()) m_d->origin = timestamp; // std::cerr << "df[" << m_d->dfOutput.size() << "] is " << output << std::endl;
--- a/plugins/DWT.h Tue Jan 30 20:24:17 2018 +0000 +++ b/plugins/DWT.h Thu Feb 01 16:36:55 2018 +0000 @@ -63,8 +63,8 @@ float m_threshold; float m_absolute; - vector<float> m_lpd; - vector<float> m_hpd; + vector<double> m_lpd; + vector<double> m_hpd; vector< vector<float> > m_samplePass; };
--- a/plugins/SegmenterPlugin.cpp Tue Jan 30 20:24:17 2018 +0000 +++ b/plugins/SegmenterPlugin.cpp Thu Feb 01 16:36:55 2018 +0000 @@ -198,9 +198,9 @@ } if (param == "featureType") { - if (featureType != feature_types(value)) // feature type changed, create a new segmenter - { - featureType = feature_types(value); + int nval = int(value + 0.5); + if (featureType != feature_types(nval)) { // feature type changed, create a new segmenter + featureType = feature_types(nval); makeSegmenter(); } return;