changeset 46:91259f3449ae

Win32/VC++ build fixes and project
author Chris Cannam <chris.cannam@eecs.qmul.ac.uk>
date Wed, 06 Mar 2013 13:38:05 +0000
parents 5cb76aa45ee5
children c2525dd5e4fa
files .hgignore jVamp.sln jVamp.vcxproj src/Plugin.cpp src/PluginLoader.cpp src/getset.cpp
diffstat 6 files changed, 139 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Mon Feb 25 21:47:00 2013 +0000
+++ b/.hgignore	Wed Mar 06 13:38:05 2013 +0000
@@ -5,3 +5,15 @@
 *.so
 *.orig
 
+*.obj
+*.tlog
+re:^Debug/
+re:^Release/
+*.ipch
+*.jar
+*.dll
+*.sdf
+*.opensdf
+*.suo
+re:^jVamp\.vcxproj\.filters$
+re:^jVamp\.vcxproj\.user$
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jVamp.sln	Wed Mar 06 13:38:05 2013 +0000
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C++ Express 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jVamp", "jVamp.vcxproj", "{0AE83893-8354-8D1D-9776-4E410501DA62}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0AE83893-8354-8D1D-9776-4E410501DA62}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0AE83893-8354-8D1D-9776-4E410501DA62}.Debug|Win32.Build.0 = Debug|Win32
+		{0AE83893-8354-8D1D-9776-4E410501DA62}.Release|Win32.ActiveCfg = Release|Win32
+		{0AE83893-8354-8D1D-9776-4E410501DA62}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jVamp.vcxproj	Wed Mar 06 13:38:05 2013 +0000
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <TargetName>vamp-jni</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+    <TargetName>vamp-jni</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;JVAMP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>C:\Program Files\Java\jdk1.7.0_17\include;C:\Program Files\Java\jdk1.7.0_17\include\win32;D:\Code\vamp-plugin-sdk-hg\</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <AdditionalLibraryDirectories>D:\Code\vamp-plugin-sdk-hg\build\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>VampHostSDK.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;JVAMP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <AdditionalIncludeDirectories>C:\Program Files\Java\jdk1.7.0_17\include;C:\Program Files\Java\jdk1.7.0_17\include\win32;D:\Code\vamp-plugin-sdk-hg\</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <TargetMachine>MachineX86</TargetMachine>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>D:\Code\vamp-plugin-sdk-hg\build\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>VampHostSDK.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="src\getset.cpp" />
+    <ClCompile Include="src\Plugin.cpp" />
+    <ClCompile Include="src\PluginLoader.cpp" />
+    <ClCompile Include="src\RealTime.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="src\getset.h" />
+    <ClInclude Include="src\handle.h" />
+    <ClInclude Include="src\org_vamp_plugins_Plugin.h" />
+    <ClInclude Include="src\org_vamp_plugins_PluginLoader.h" />
+    <ClInclude Include="src\org_vamp_plugins_PluginLoader_LoadFailedException.h" />
+    <ClInclude Include="src\org_vamp_plugins_Plugin_InputDomain.h" />
+    <ClInclude Include="src\org_vamp_plugins_RealTime.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- a/src/Plugin.cpp	Mon Feb 25 21:47:00 2013 +0000
+++ b/src/Plugin.cpp	Wed Mar 06 13:38:05 2013 +0000
@@ -109,7 +109,7 @@
     PluginBase::ParameterList params = p->getParameterDescriptors();
     jclass descClass = env->FindClass("org/vamp_plugins/ParameterDescriptor");
     jobjectArray result = env->NewObjectArray(params.size(), descClass, 0);
-    for (int i = 0; i < params.size(); ++i) {
+    for (int i = 0; i < (int)params.size(); ++i) {
 
 	jmethodID ctor = env->GetMethodID(descClass, "<init>", "()V");
 	jobject desc = env->NewObject(descClass, ctor);
@@ -159,7 +159,7 @@
     PluginBase::ProgramList programs = p->getPrograms();
     jobjectArray result = env->NewObjectArray
 	(programs.size(), env->FindClass("java/lang/String"), 0);
-    for (int i = 0; i < programs.size(); ++i) {
+    for (int i = 0; i < (int)programs.size(); ++i) {
 	env->SetObjectArrayElement(result, i,
 				   env->NewStringUTF(programs[i].c_str()));
     }
@@ -253,7 +253,7 @@
     Plugin::OutputList outputs = p->getOutputDescriptors();
     jclass descClass = env->FindClass("org/vamp_plugins/OutputDescriptor");
     jobjectArray result = env->NewObjectArray(outputs.size(), descClass, 0);
-    for (int i = 0; i < outputs.size(); ++i) {
+    for (int i = 0; i < (int)outputs.size(); ++i) {
 
 	jmethodID ctor = env->GetMethodID(descClass, "<init>", "()V");
 	jobject desc = env->NewObject(descClass, ctor);
@@ -304,7 +304,7 @@
     return result;
 }
 
-JNIEXPORT static jobject
+static jobject
 convertFeature(JNIEnv *env, const Plugin::Feature &feature)
 {
     jclass featClass = env->FindClass("org/vamp_plugins/Feature");
@@ -321,7 +321,7 @@
     return jfeature;
 }
 
-JNIEXPORT static jobject
+static jobject
 convertFeatures(JNIEnv *env, const Plugin::FeatureSet &features)
 {
     jobject result;
--- a/src/PluginLoader.cpp	Mon Feb 25 21:47:00 2013 +0000
+++ b/src/PluginLoader.cpp	Wed Mar 06 13:38:05 2013 +0000
@@ -56,7 +56,7 @@
     PluginLoader::PluginKeyList plugins = inst->listPlugins();
     jobjectArray result = env->NewObjectArray
 	(plugins.size(), env->FindClass("java/lang/String"), 0);
-    for (int i = 0; i < plugins.size(); ++i) {
+    for (int i = 0; i < (int)plugins.size(); ++i) {
 	env->SetObjectArrayElement(result, i,
 				   env->NewStringUTF(plugins[i].c_str()));
     }
@@ -84,7 +84,7 @@
     PluginLoader::PluginCategoryHierarchy cat = inst->getPluginCategory(kstr);
     jobjectArray result = env->NewObjectArray
 	(cat.size(), env->FindClass("java/lang/String"), 0);
-    for (int i = 0; i < cat.size(); ++i) {
+    for (int i = 0; i < (int)cat.size(); ++i) {
 	env->SetObjectArrayElement(result, i,
 				   env->NewStringUTF(cat[i].c_str()));
     }
@@ -97,7 +97,7 @@
     std::vector<std::string> path = Vamp::PluginHostAdapter::getPluginPath();
     jobjectArray result = env->NewObjectArray
 	(path.size(), env->FindClass("java/lang/String"), 0);
-    for (int i = 0; i < path.size(); ++i) {
+    for (int i = 0; i < (int)path.size(); ++i) {
 	env->SetObjectArrayElement(result, i,
 				   env->NewStringUTF(path[i].c_str()));
     }
--- a/src/getset.cpp	Mon Feb 25 21:47:00 2013 +0000
+++ b/src/getset.cpp	Wed Mar 06 13:38:05 2013 +0000
@@ -110,7 +110,7 @@
 {
     jclass strCls = env->FindClass("java/lang/String");
     jobjectArray jarr = env->NewObjectArray(values.size(), strCls, 0);
-    for (int i = 0; i < values.size(); ++i) {
+    for (int i = 0; i < (int)values.size(); ++i) {
 	env->SetObjectArrayElement(jarr, i, env->NewStringUTF(values[i].c_str()));
     }
     setObjectField(env, obj, name, "[Ljava/lang/String;", jarr);