Merge pull request #9 from Birch-san/wix

Release 2.x for Windows. WixUI installer. 32-bit support.
This commit is contained in:
Birch-san 2019-08-04 19:49:17 +01:00 committed by GitHub
commit f9a28c36e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
99 changed files with 4030 additions and 4565 deletions

View File

@ -1,2 +0,0 @@
*/*.exe
*/*.msi

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,7 @@
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
Win32/
x64/
x86/
bld/

View File

@ -46,11 +46,19 @@ https://stackoverflow.com/questions/42624572/unrecoverable-build-error-whilst-tr
If you encounter "Unrecoverable build error" when building juicysfplugin's setup.exe installer, you need to open an administrator prompt and register MergeMod.dll:
```bash
regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MSI Tools\MergeMod.dll"
regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\MergeMod.dll"
```
You may also need to run Visual Studio as Adminstrator.
You should also consider closing the solution, deleting Visual Studio's temp files (e.g. any file touched today) inside:
```
%LocalAppData%\Temp
```
...then re-openng the solution, and attempting build again.
# Necessary for changing the dependencies
If you want to build against a newer version of fluidsynth, you'll need libfluidsynth.dll and friends.

View File

@ -1,47 +1,77 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2017
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin - Standalone Plugin", "juicysfplugin_StandalonePlugin.vcxproj", "{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}"
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.757
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin_StandalonePlugin", "juicysfplugin_StandalonePlugin.vcxproj", "{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}"
ProjectSection(ProjectDependencies) = postProject
{81231CE9-96E4-09DA-53C7-714106FA6BD5} = {81231CE9-96E4-09DA-53C7-714106FA6BD5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin - VST", "juicysfplugin_VST.vcxproj", "{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin_VST", "juicysfplugin_VST.vcxproj", "{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}"
ProjectSection(ProjectDependencies) = postProject
{81231CE9-96E4-09DA-53C7-714106FA6BD5} = {81231CE9-96E4-09DA-53C7-714106FA6BD5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin - VST3", "juicysfplugin_VST3.vcxproj", "{70A2C49A-5DF9-60C9-981B-D030ADE816BF}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin_VST3", "juicysfplugin_VST3.vcxproj", "{70A2C49A-5DF9-60C9-981B-D030ADE816BF}"
ProjectSection(ProjectDependencies) = postProject
{81231CE9-96E4-09DA-53C7-714106FA6BD5} = {81231CE9-96E4-09DA-53C7-714106FA6BD5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin - Shared Code", "juicysfplugin_SharedCode.vcxproj", "{81231CE9-96E4-09DA-53C7-714106FA6BD5}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "juicysfplugin_SharedCode", "juicysfplugin_SharedCode.vcxproj", "{81231CE9-96E4-09DA-53C7-714106FA6BD5}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WixSetup", "..\WixSetup\WixSetup.wixproj", "{BE799AE7-8C17-4670-85A8-E3D3558385A7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Debug|x64.ActiveCfg = Debug|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Debug|x64.Build.0 = Debug|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Release|x64.ActiveCfg = Release|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Release|x64.Build.0 = Release|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Debug|x64.ActiveCfg = Debug|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Debug|x64.Build.0 = Debug|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Release|x64.ActiveCfg = Release|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Release|x64.Build.0 = Release|x64
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Debug|Win32.ActiveCfg = Debug|Win32
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Debug|Win32.Build.0 = Debug|Win32
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Debug|x64.ActiveCfg = Debug|x64
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Debug|x64.Build.0 = Debug|x64
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Release|Win32.ActiveCfg = Release|Win32
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Release|Win32.Build.0 = Release|Win32
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Release|x64.ActiveCfg = Release|x64
{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}.Release|x64.Build.0 = Release|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Debug|Win32.ActiveCfg = Debug|Win32
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Debug|Win32.Build.0 = Debug|Win32
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Debug|x64.ActiveCfg = Debug|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Debug|x64.Build.0 = Debug|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Release|Win32.ActiveCfg = Release|Win32
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Release|Win32.Build.0 = Release|Win32
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Release|x64.ActiveCfg = Release|x64
{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}.Release|x64.Build.0 = Release|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Debug|Win32.ActiveCfg = Debug|Win32
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Debug|Win32.Build.0 = Debug|Win32
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Debug|x64.ActiveCfg = Debug|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Debug|x64.Build.0 = Debug|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Release|Win32.ActiveCfg = Release|Win32
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Release|Win32.Build.0 = Release|Win32
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Release|x64.ActiveCfg = Release|x64
{70A2C49A-5DF9-60C9-981B-D030ADE816BF}.Release|x64.Build.0 = Release|x64
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Debug|Win32.ActiveCfg = Debug|Win32
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Debug|Win32.Build.0 = Debug|Win32
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Debug|x64.ActiveCfg = Debug|x64
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Debug|x64.Build.0 = Debug|x64
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Release|Win32.ActiveCfg = Release|Win32
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Release|Win32.Build.0 = Release|Win32
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Release|x64.ActiveCfg = Release|x64
{81231CE9-96E4-09DA-53C7-714106FA6BD5}.Release|x64.Build.0 = Release|x64
{BE799AE7-8C17-4670-85A8-E3D3558385A7}.Debug|Win32.ActiveCfg = Debug|Win32
{BE799AE7-8C17-4670-85A8-E3D3558385A7}.Debug|Win32.Build.0 = Debug|Win32
{BE799AE7-8C17-4670-85A8-E3D3558385A7}.Debug|x64.ActiveCfg = Debug|Win32
{BE799AE7-8C17-4670-85A8-E3D3558385A7}.Release|Win32.ActiveCfg = Release|Win32
{BE799AE7-8C17-4670-85A8-E3D3558385A7}.Release|Win32.Build.0 = Release|Win32
{BE799AE7-8C17-4670-85A8-E3D3558385A7}.Release|x64.ActiveCfg = Debug|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BDD169DF-0635-4419-B34A-C598E42B4AAC}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@ -12,6 +12,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7C3AB9BE-365A-0EF7-AA2A-5B044FE497E5}</ProjectGuid>
@ -33,6 +41,22 @@
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"
Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Label="PropertySheets">
@ -47,12 +71,22 @@
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\Standalone Plugin\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibraryPath);import_lib;$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\Standalone Plugin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\Standalone Plugin\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibraryPath);import_lib;$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\Standalone Plugin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\Standalone Plugin\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\Standalone Plugin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\Standalone Plugin\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
@ -65,7 +99,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=1;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
@ -88,7 +122,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
@ -98,7 +132,7 @@
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -111,7 +145,7 @@
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=1;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
@ -136,7 +170,7 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
@ -146,12 +180,184 @@
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<HeaderFileName/>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=1;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<OutputFile>$(OutDir)\juicysfplugin.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(IntDir)\juicysfplugin.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<HeaderFileName/>
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=1;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<OutputFile>$(OutDir)\juicysfplugin.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(IntDir)\juicysfplugin.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_audio_plugin_client_Standalone.cpp"/>
</ItemGroup>
<!-- yes, I know globbing would save some typing. -->
<!-- but it has less support for incremental build, and poorer IDE support -->
<ItemGroup>
<!-- https://stackoverflow.com/a/9334351/5257399 -->
<!-- libgcc_s_dw2 is a GCC runtime library that provides newer-style exception handling. -->
<!-- not sure why only the Win32 distribution wants it. -->
<Content Include="lib_$(Platform)\libgcc_s_dw2-1.dll" Condition="'$(Platform)'=='Win32'">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libFLAC-8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libfluidsynth-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libglib-2.0-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libgmodule-2.0-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libiconv-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libintl-8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libogg-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libpcre-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libportaudio-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libreadline8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libsndfile-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libspeex-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libtermcap-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libvorbis-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libvorbisenc-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libwinpthread-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup/>
<ItemGroup>
<ResourceCompile Include=".\resources.rc"/>

View File

@ -12,6 +12,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F47A6C45-0C65-BB36-F74E-BCCDF23F5ECA}</ProjectGuid>
@ -33,6 +41,22 @@
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Label="PropertySheets">
@ -47,12 +71,22 @@
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\VST\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibraryPath);import_lib;$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\VST\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\VST\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibraryPath);import_lib;$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\VST\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\VST\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\VST\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\VST\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
@ -65,7 +99,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=1;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
@ -88,7 +122,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
@ -98,7 +132,7 @@
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -111,7 +145,7 @@
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=1;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
@ -136,7 +170,7 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
@ -146,12 +180,184 @@
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<HeaderFileName/>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=1;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<OutputFile>$(OutDir)\juicysfplugin.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(IntDir)\juicysfplugin.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<HeaderFileName/>
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=1;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<OutputFile>$(OutDir)\juicysfplugin.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(IntDir)\juicysfplugin.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_audio_plugin_client_VST2.cpp"/>
</ItemGroup>
<!-- yes, I know globbing would save some typing. -->
<!-- but it has less support for incremental build, and poorer IDE support -->
<ItemGroup>
<!-- https://stackoverflow.com/a/9334351/5257399 -->
<!-- libgcc_s_dw2 is a GCC runtime library that provides newer-style exception handling. -->
<!-- not sure why only the Win32 distribution wants it. -->
<Content Include="lib_$(Platform)\libgcc_s_dw2-1.dll" Condition="'$(Platform)'=='Win32'">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libFLAC-8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libfluidsynth-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libglib-2.0-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libgmodule-2.0-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libiconv-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libintl-8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libogg-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libpcre-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libportaudio-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libreadline8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libsndfile-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libspeex-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libtermcap-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libvorbis-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libvorbisenc-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libwinpthread-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup/>
<ItemGroup>
<ResourceCompile Include=".\resources.rc"/>

View File

@ -12,6 +12,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{70A2C49A-5DF9-60C9-981B-D030ADE816BF}</ProjectGuid>
@ -33,6 +41,22 @@
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<WholeProgramOptimization>false</WholeProgramOptimization>
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"
Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v141</PlatformToolset>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Label="PropertySheets">
@ -47,12 +71,22 @@
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\VST3\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibraryPath);import_lib;$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\VST3\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\VST3\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibraryPath);import_lib;$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\VST3\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\VST3\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\VST3\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\VST3\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">juicysfplugin</TargetName>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(LibraryPath);import_lib_$(Platform);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
@ -65,7 +99,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=1;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
@ -88,7 +122,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
@ -98,7 +132,7 @@
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -111,7 +145,7 @@
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=1;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
@ -136,7 +170,7 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
@ -146,12 +180,184 @@
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<HeaderFileName/>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=1;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<OutputFile>$(OutDir)\juicysfplugin.vst3</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(IntDir)\juicysfplugin.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<HeaderFileName/>
</Midl>
<ClCompile>
<Optimization>Full</Optimization>
<AdditionalIncludeDirectories>C:\SDKs\VST_SDK\VST3_SDK;C:\SDKs\VST_SDK\VST2_SDK;..\..\JuceLibraryCode;C:\JUCE\modules;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=1;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<OutputFile>$(OutDir)\juicysfplugin.vst3</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)\juicysfplugin.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<LargeAddressAware>true</LargeAddressAware>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(IntDir)\juicysfplugin.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>libfluidsynth.dll.a;juicysfplugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>import_lib_$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\JuceLibraryCode\include_juce_audio_plugin_client_VST3.cpp"/>
</ItemGroup>
<!-- yes, I know globbing would save some typing. -->
<!-- but it has less support for incremental build, and poorer IDE support -->
<ItemGroup>
<!-- https://stackoverflow.com/a/9334351/5257399 -->
<!-- libgcc_s_dw2 is a GCC runtime library that provides newer-style exception handling. -->
<!-- not sure why only the Win32 distribution wants it. -->
<Content Include="lib_$(Platform)\libgcc_s_dw2-1.dll" Condition="'$(Platform)'=='Win32'">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libFLAC-8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libfluidsynth-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libglib-2.0-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libgmodule-2.0-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libiconv-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libintl-8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libogg-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libpcre-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libportaudio-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libreadline8.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libsndfile-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libspeex-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libtermcap-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libvorbis-0.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libvorbisenc-2.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="lib_$(Platform)\libwinpthread-1.dll">
<Link>%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup/>
<ItemGroup>
<ResourceCompile Include=".\resources.rc"/>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
{\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}{\f1\fnil\fcharset238 Courier New;}}
{\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}{\f1\fnil\fcharset238 Courier New;}}
{\colortbl ;\red0\green0\blue255;}
{\*\generator Riched20 10.0.17134}\viewkind4\uc1
\pard\f0\fs18\lang2057 >== juicysfplugin (application, VST and VST3): <==\par
@ -1898,6 +1898,42 @@ necessary. Here is a sample; alter the names:\par
That's all there is to it!\par
\par
\par
>== libgcc_runtime_libraries_GPL3_with_GCC_runtime_library_exception.txt: <==\par
\par
# from {{\field{\*\fldinst{HYPERLINK https://www.gnu.org/licenses/gcc-exception-3.1.html }}{\fldrslt{https://www.gnu.org/licenses/gcc-exception-3.1.html\ul0\cf0}}}}\f0\fs18\par
\par
GCC RUNTIME LIBRARY EXCEPTION\par
\par
Version 3.1, 31 March 2009\par
\par
Copyright \'a9 2009 Free Software Foundation, Inc. <{{\field{\*\fldinst{HYPERLINK "https://fsf.org/"}}{\fldrslt{https://fsf.org/\ul0\cf0}}}}\f0\fs18 >\par
\par
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.\par
\par
This GCC Runtime Library Exception ("Exception") is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception.\par
\par
When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.\par
0. Definitions.\par
\par
A file is an "Independent Module" if it either requires the Runtime Library for execution after a Compilation Process, or makes use of an interface provided by the Runtime Library, but is not otherwise based on the Runtime Library.\par
\par
"GCC" means a version of the GNU Compiler Collection, with or without modifications, governed by version 3 (or a specified later version) of the GNU General Public License (GPL) with the option of using any subsequent versions published by the FSF.\par
\par
"GPL-compatible Software" is software whose conditions of propagation, modification and use would permit combination with GCC in accord with the license of GCC.\par
\par
"Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation.\par
\par
The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors.\par
\par
A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process.\par
1. Grant of Additional Permission.\par
\par
You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.\par
2. No Weakening of GCC Copyleft.\par
\par
The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC.\par
\par
\par
>== libglib_LGPL_2.1.txt: <==\par
\par
GNU LESSER GENERAL PUBLIC LICENSE\par
@ -6738,5 +6774,7 @@ the library. If this is what you want to do, use the GNU Lesser General\par
Public License instead of this License. But first, please read\par
<{{\field{\*\fldinst{HYPERLINK "https://www.gnu.org/licenses/why-not-lgpl.html"}}{\fldrslt{https://www.gnu.org/licenses/why-not-lgpl.html\ul0\cf0}}}}\f0\fs18 >.\par
\par
\par
\par
}

View File

@ -1895,6 +1895,42 @@ necessary. Here is a sample; alter the names:
That's all there is to it!
>== libgcc_runtime_libraries_GPL3_with_GCC_runtime_library_exception.txt: <==
# from https://www.gnu.org/licenses/gcc-exception-3.1.html
GCC RUNTIME LIBRARY EXCEPTION
Version 3.1, 31 March 2009
Copyright © 2009 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
This GCC Runtime Library Exception ("Exception") is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception.
When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.
0. Definitions.
A file is an "Independent Module" if it either requires the Runtime Library for execution after a Compilation Process, or makes use of an interface provided by the Runtime Library, but is not otherwise based on the Runtime Library.
"GCC" means a version of the GNU Compiler Collection, with or without modifications, governed by version 3 (or a specified later version) of the GNU General Public License (GPL) with the option of using any subsequent versions published by the FSF.
"GPL-compatible Software" is software whose conditions of propagation, modification and use would permit combination with GCC in accord with the license of GCC.
"Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation.
The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors.
A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process.
1. Grant of Additional Permission.
You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.
2. No Weakening of GCC Copyleft.
The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC.
>== libglib_LGPL_2.1.txt: <==
GNU LESSER GENERAL PUBLIC LICENSE

View File

@ -0,0 +1,32 @@
# from https://www.gnu.org/licenses/gcc-exception-3.1.html
GCC RUNTIME LIBRARY EXCEPTION
Version 3.1, 31 March 2009
Copyright © 2009 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
This GCC Runtime Library Exception ("Exception") is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception.
When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.
0. Definitions.
A file is an "Independent Module" if it either requires the Runtime Library for execution after a Compilation Process, or makes use of an interface provided by the Runtime Library, but is not otherwise based on the Runtime Library.
"GCC" means a version of the GNU Compiler Collection, with or without modifications, governed by version 3 (or a specified later version) of the GNU General Public License (GPL) with the option of using any subsequent versions published by the FSF.
"GPL-compatible Software" is software whose conditions of propagation, modification and use would permit combination with GCC in accord with the license of GCC.
"Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation.
The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors.
A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process.
1. Grant of Additional Permission.
You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.
2. No Weakening of GCC Copyleft.
The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC.

3
Builds/WixSetup/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
x64
Win32
juicysfplugin-*.zip

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<!-- The name of the product -->
<?define Name = "juicysfplugin" ?>
<!-- The manufacturer, for setup package publisher and folder info -->
<?define Manufacturer = "Birchlabs" ?>
<?define LicenseConcatSrcRoot = "$(var.juicysfplugin_StandalonePlugin.ProjectDir)" ?>
<?define LicenseSrcRoot = "$(var.juicysfplugin_StandalonePlugin.ProjectDir)licenses_of_dependencies\" ?>
<?define LibSrcRoot = "$(var.juicysfplugin_StandalonePlugin.TargetDir)" ?>
<?define licenseRtf = "$(var.LicenseConcatSrcRoot)license_concatenated.rtf" ?>
<!-- Product name as you want it to appear in Add/Remove Programs-->
<?if "$(sys.BUILDARCH)" = "x64" ?>
<?define ProductName = "$(var.Name) (64 bit)" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?define PlatformCommonFilesFolder = "CommonFiles64Folder" ?>
<?define PlatformSystemFolder = "System64Folder" ?>
<?define WixPlatform = "x64" ?>
<?else ?>
<?define ProductName = "$(var.Name) (32 bit)" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?define PlatformCommonFilesFolder = "CommonFilesFolder" ?>
<?define PlatformSystemFolder = "SystemFolder" ?>
<?define WixPlatform = "x86" ?>
<?endif ?>
</Include>

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) Microsoft Corporation. All rights reserved.
The use and distribution terms for this software are covered by the
Common Public License 1.0 (http://opensource.org/licenses/cpl1.0.php)
which can be found in the file CPL.TXT at the root of this distribution.
By using this software in any fashion, you are agreeing to be bound by
the terms of this license.
You must not remove this notice, or any other, from this software.
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)\Config.wxi?>
<Fragment>
<UI>
<Dialog Id="MyWelcomeEulaDlg" Width="370" Height="270" Title="!(loc.WelcomeEulaDlg_Title)">
<!--
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.WelcomeEulaDlgBitmap)" />
-->
<Control Id="Title" Type="Text" X="16" Y="6" Width="336" Height="30" Transparent="yes" NoPrefix="yes" Text="!(loc.WelcomeEulaDlgTitle)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="LicenseAcceptedCheckBox" Type="CheckBox" X="16" Y="207" Width="340" Height="18" CheckBoxValue="1" Property="LicenseAccepted" Text="!(loc.WelcomeEulaDlgLicenseAcceptedCheckBox)" />
<Control Id="Print" Type="PushButton" X="88" Y="243" Width="56" Height="17" Text="!(loc.WixUIPrint)">
<Publish Event="DoAction" Value="WixUIPrintEula">1</Publish>
</Control>
<Control Id="Back" Type="PushButton" X="156" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.WelcomeEulaDlgInstall)" Hidden="yes">
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish>
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
<Condition Action="disable"><![CDATA[LicenseAccepted <> "1"]]></Condition>
<Condition Action="enable">LicenseAccepted = "1"</Condition>
<Condition Action="show">ALLUSERS</Condition>
</Control>
<Control Id="InstallNoShield" Type="PushButton" ElevationShield="no" X="212" Y="243" Width="80" Height="17" Default="yes" Text="!(loc.WelcomeEulaDlgInstall)" Hidden="yes">
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">!(wix.WixUICostingPopupOptOut) OR CostingComplete = 1</Publish>
<Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish>
<Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish>
<Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish>
<Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish>
<Condition Action="disable"><![CDATA[LicenseAccepted <> "1"]]></Condition>
<Condition Action="enable">LicenseAccepted = "1"</Condition>
<Condition Action="show">NOT ALLUSERS</Condition>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="LicenseText" Type="ScrollableText" X="16" Y="36" Width="340" Height="162" Sunken="yes" TabSkip="no">
<Text SourceFile="!(wix.WixUILicenseRtf=$(var.licenseRtf))" />
</Control>
</Dialog>
</UI>
<InstallUISequence>
<Show Dialog="MyWelcomeEulaDlg" Before="ProgressDlg" Overridable="yes">NOT Installed</Show>
</InstallUISequence>
</Fragment>
</Wix>

185
Builds/WixSetup/Product.wxs Normal file
View File

@ -0,0 +1,185 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include $(sys.CURRENTDIR)\Config.wxi?>
<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="2.3.1" Manufacturer="$(var.Manufacturer)" UpgradeCode="e03ac63d-63d8-48d1-ab6c-ba539f7d523f">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="$(var.WixPlatform)" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<WixVariable Id="WixUILicenseRtf" Value="$(var.licenseRtf)" />
<UIRef Id="WixUI_MyMinimal" />
<Feature Id="ProductFeature" Title="juicysfplugin" Level="1">
<ComponentGroupRef Id="StandaloneAppComponents" />
<ComponentGroupRef Id="LicenseComponents" />
<ComponentGroupRef Id="LicenseConcatComponents" />
<ComponentGroupRef Id="LibraryComponents" />
<ComponentGroupRef Id="VSTComponents" />
<ComponentGroupRef Id="VST3Components" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<!-- https://docs.microsoft.com/en-us/windows/win32/msi/programfilesfolder -->
<Directory Id="$(var.PlatformProgramFilesFolder)">
<!-- Create a folder inside program files with Company Name-->
<Directory Id="ROOTDIRECTORY" Name="$(var.Manufacturer)">
<!-- Create a folder inside Company Name folder with Product Name-->
<Directory Id="INSTALLFOLDER" Name="$(var.Name)" >
<Directory Id="LICENSEFOLDER" Name="licenses_of_dependencies" />
</Directory>
</Directory>
</Directory>
<Directory Id="$(var.PlatformCommonFilesFolder)">
<Directory Id="VSTINSTALLFOLDER" Name="VST"/>
<Directory Id="VST3INSTALLFOLDER" Name="VST3"/>
</Directory>
<Directory Id="$(var.PlatformSystemFolder)" />
</Directory>
</Fragment>
<!-- https://www.guidgen.com/ -->
<Fragment>
<ComponentGroup Id="StandaloneAppComponents" Directory="INSTALLFOLDER">
<Component Id="juicysfplugin.exe" Guid="*">
<File Source="$(var.juicysfplugin_StandalonePlugin.TargetPath)" />
</Component>
</ComponentGroup>
<ComponentGroup Id="VSTComponents" Directory="VSTINSTALLFOLDER">
<Component Id="juicysfplugin.dll" Guid="*">
<File Source="$(var.juicysfplugin_VST.TargetPath)" />
</Component>
</ComponentGroup>
<ComponentGroup Id="VST3Components" Directory="VST3INSTALLFOLDER">
<Component Id="juicysfplugin.vst3" Guid="*">
<File Source="$(var.juicysfplugin_VST3.TargetPath)" />
</Component>
</ComponentGroup>
<ComponentGroup Id="LibraryComponents" Directory="$(var.PlatformSystemFolder)">
<?if $(var.Win64) = no ?>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libgcc_s_dw2-1.dll" />
</Component>
<?endif ?>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libFLAC-8.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libfluidsynth-2.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libglib-2.0-0.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libgmodule-2.0-0.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libiconv-2.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libintl-8.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libogg-0.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libpcre-1.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libportaudio-2.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libreadline8.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libsndfile-1.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libspeex-1.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libtermcap-0.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libvorbis-0.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libvorbisenc-2.dll" />
</Component>
<Component Guid="*">
<File Source="$(var.LibSrcRoot)libwinpthread-1.dll" />
</Component>
</ComponentGroup>
<ComponentGroup Id="LicenseConcatComponents" Directory="INSTALLFOLDER">
<Component Id="license_concatenated.txt" Guid="*">
<File Source="$(var.LicenseConcatSrcRoot)license_concatenated.txt" />
</Component>
<Component Id="license_concatenated.rtf" Guid="*">
<File Source="$(var.LicenseConcatSrcRoot)license_concatenated.rtf" />
</Component>
</ComponentGroup>
<ComponentGroup Id="LicenseComponents" Directory="LICENSEFOLDER">
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)JUCE-framework_GPL3.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libflac_New_BSD.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libfluidsynth_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libgcc_runtime_libraries_GPL3_with_GCC_runtime_library_exception.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libglib_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libgthread_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libiconv_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libintl_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libogg_New_BSD.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libpcre_BSD.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libportaudio_bespoke.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libreadline_GPL3.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libsndfile_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libspeex_revised_BSD.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libtermcap_LGPL_2.1.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libvorbis_New_BSD.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libvorbisenc_New_BSD.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)libwinpthreads_BSD_and_MIT.txt" />
</Component>
<Component Guid="*">
<File Source="$(var.LicenseSrcRoot)Steinberg-VST3_GPL3.txt" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- https://wixtoolset.org/documentation/manual/v3/msbuild/task_reference/candle.html -->
<!-- standardize on JUCE platform names -->
<PropertyGroup Condition=" '$(Platform)' == 'Win32' ">
<!-- change candle's arch option -->
<InstallerPlatform>x86</InstallerPlatform>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">Win32</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>be799ae7-8c17-4670-85a8-e3d3558385a7</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>WixSetup</OutputName>
<OutputType>Package</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<OutputPath>$(Platform)\$(Configuration)\bin\</OutputPath>
<IntermediateOutputPath>$(Platform)\$(Configuration)\obj\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>$(Platform)\$(Configuration)\bin\</OutputPath>
<IntermediateOutputPath>$(Platform)\$(Configuration)\obj\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
<OutputPath>$(Platform)\$(Configuration)\bin\</OutputPath>
<IntermediateOutputPath>$(Platform)\$(Configuration)\obj\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
<OutputPath>$(Platform)\$(Configuration)\bin\</OutputPath>
<IntermediateOutputPath>$(Platform)\$(Configuration)\obj\</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
<HintPath>$(WixToolPath)WixUIExtension.dll</HintPath>
<Name>WixUIExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<Compile Include="MyWelcomeEulaDlg.wxs" />
<Compile Include="Product.wxs" />
<Compile Include="WixUI_MyMinimal.wxs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VisualStudio2017\juicysfplugin_StandalonePlugin.vcxproj">
<Name>juicysfplugin_StandalonePlugin</Name>
<Project>{7c3ab9be-365a-0ef7-aa2a-5b044fe497e5}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\VisualStudio2017\juicysfplugin_VST.vcxproj">
<Name>juicysfplugin_VST</Name>
<Project>{f47a6c45-0c65-bb36-f74e-bccdf23f5eca}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\VisualStudio2017\juicysfplugin_VST3.vcxproj">
<Name>juicysfplugin_VST3</Name>
<Project>{70a2c49a-5df9-60c9-981b-d030ade816bf}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="Config.wxi" />
</ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<!--
First-time install dialog sequence:
- WixUI_WelcomeEulaDlg
Maintenance dialog sequence:
WixUI_MaintenanceWelcomeDlg
- WixUI_MaintenanceTypeDlg
- WixUI_VerifyReadyDlg
Patch dialog sequence:
- WixUI_WelcomeDlg
- WixUI_VerifyReadyDlg
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="WixUI_MyMinimal">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="Minimal" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
<DialogRef Id="WelcomeDlg" />
<DialogRef Id="MyWelcomeEulaDlg" />
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>
<InstallUISequence>
<Show Dialog="WelcomeDlg" Before="MyWelcomeEulaDlg">Installed AND PATCH</Show>
<Show Dialog="MyWelcomeEulaDlg" Before="ProgressDlg">NOT Installed</Show>
</InstallUISequence>
<Property Id="ARPNOMODIFY" Value="1" />
</UI>
<UIRef Id="WixUI_Common" />
</Fragment>
</Wix>

View File

@ -65,7 +65,7 @@ void FilePicker::valueTreePropertyChanged(ValueTree& treeWhosePropertyHasChanged
if (treeWhosePropertyHasChanged.getType() == StringRef("soundFont")) {
// if (&treeWhosePropertyHasChanged == &valueTree) {
if (property == StringRef("path")) {
String soundFontPath{treeWhosePropertyHasChanged.getProperty("path", "")};
String soundFontPath = treeWhosePropertyHasChanged.getProperty("path", "");
DEBUG_PRINT(soundFontPath);
setDisplayedFilePath(soundFontPath);
// if (soundFontPath.isNotEmpty()) {

View File

@ -75,7 +75,7 @@ void FluidSynthModel::initialise() {
fluid_synth_set_sample_rate(synth.get(), currentSampleRate);
ValueTree soundFont{valueTreeState.state.getChildWithName("soundFont")};
String path{soundFont.getProperty("path", "")};
String path = soundFont.getProperty("path", "");
loadFont(path);
// I can't hear a damned thing
@ -225,7 +225,7 @@ void FluidSynthModel::valueTreePropertyChanged(ValueTree& treeWhosePropertyHasCh
const Identifier& property) {
if (treeWhosePropertyHasChanged.getType() == StringRef("soundFont")) {
if (property == StringRef("path")) {
String soundFontPath{treeWhosePropertyHasChanged.getProperty("path", "")};
String soundFontPath = treeWhosePropertyHasChanged.getProperty("path", "");
if (soundFontPath.isNotEmpty()) {
unloadAndLoadFont(soundFontPath);
}

View File

@ -239,7 +239,7 @@ void JuicySFAudioProcessor::getStateInformation (MemoryBlock& destData)
ValueTree tree{valueTreeState.state.getChildWithName("soundFont")};
XmlElement* newElement{xml.createNewChildElement("soundFont")};
{
String value{tree.getProperty("path", "")};
String value = tree.getProperty("path", "");
newElement->setAttribute("path", value);
}
}

View File

@ -80,7 +80,7 @@ void TableComponent::loadModelFrom(ValueTree& banks) {
for(int presetIx{0}; presetIx<bankChildren; presetIx++) {
ValueTree preset{bank.getChild(presetIx)};
int presetNum{preset.getProperty("num")};
String presetName{preset.getProperty("name")};
String presetName = preset.getProperty("name");
TableRow row{presetNum, move(presetName)};
banksToPresets.emplace(bankNum, move(row));
}

View File

@ -12,13 +12,13 @@
projectLineFeed="&#10;" cppLanguageStandard="17" pluginAUIsSandboxSafe="1">
<MAINGROUP id="rCqBG3" name="juicysfplugin">
<GROUP id="{ED7E27E3-B67D-383C-F819-F05289E08A33}" name="Source">
<FILE id="EiukEj" name="BankAndPreset.cpp" compile="1" resource="0"
file="Source/BankAndPreset.cpp"/>
<FILE id="lwGh9Y" name="BankAndPreset.h" compile="0" resource="0" file="Source/BankAndPreset.h"/>
<FILE id="nJTeqi" name="ExposesComponents.h" compile="0" resource="0"
file="Source/ExposesComponents.h"/>
<FILE id="aHqBtg" name="FilePickerFragment.h" compile="0" resource="0"
file="Source/FilePickerFragment.h"/>
<FILE id="HbY0Sd" name="GuiConstants.h" compile="0" resource="0" file="Source/GuiConstants.h"/>
<FILE id="XKCUJ6" name="MidiConstants.h" compile="0" resource="0" file="Source/MidiConstants.h"/>
<FILE id="WlxOdU" name="SlidersComponent.cpp" compile="1" resource="0"
file="Source/SlidersComponent.cpp"/>
<FILE id="Y8Po7W" name="SlidersComponent.h" compile="0" resource="0"
file="Source/SlidersComponent.h"/>
<FILE id="w2rQsp" name="Util.h" compile="0" resource="0" file="Source/Util.h"/>
<FILE id="jhSsxG" name="FilePicker.cpp" compile="1" resource="0" file="Source/FilePicker.cpp"/>
<FILE id="kDg5Qi" name="FilePicker.h" compile="0" resource="0" file="Source/FilePicker.h"/>
<FILE id="xg2XPM" name="FluidSynthModel.cpp" compile="1" resource="0"
@ -29,18 +29,6 @@
<FILE id="RbaYg9" name="MyColours.h" compile="0" resource="0" file="Source/MyColours.h"/>
<FILE id="esyv7j" name="Pills.cpp" compile="1" resource="0" file="Source/Pills.cpp"/>
<FILE id="qlJw1C" name="Pills.h" compile="0" resource="0" file="Source/Pills.h"/>
<FILE id="Q7V7pC" name="Preset.cpp" compile="1" resource="0" file="Source/Preset.cpp"/>
<FILE id="bPOtSV" name="Preset.h" compile="0" resource="0" file="Source/Preset.h"/>
<FILE id="tlzfXV" name="PresetsToBanks.h" compile="0" resource="0"
file="Source/PresetsToBanks.h"/>
<FILE id="SEcFsz" name="SoundfontSynthSound.cpp" compile="1" resource="0"
file="Source/SoundfontSynthSound.cpp"/>
<FILE id="kCI8aL" name="SoundfontSynthSound.h" compile="0" resource="0"
file="Source/SoundfontSynthSound.h"/>
<FILE id="FKMDFe" name="SoundfontSynthVoice.cpp" compile="1" resource="0"
file="Source/SoundfontSynthVoice.cpp"/>
<FILE id="t75qEY" name="SoundfontSynthVoice.h" compile="0" resource="0"
file="Source/SoundfontSynthVoice.h"/>
<FILE id="uAVIjl" name="SurjectiveMidiKeyboardComponent.cpp" compile="1"
resource="0" file="Source/SurjectiveMidiKeyboardComponent.cpp"/>
<FILE id="m3NMU5" name="SurjectiveMidiKeyboardComponent.h" compile="0"
@ -123,8 +111,14 @@
<VS2017 targetFolder="Builds/VisualStudio2017" windowsTargetPlatformVersion="10.0.17134.0"
externalLibraries="libfluidsynth.dll.a">
<CONFIGURATIONS>
<CONFIGURATION isDebug="1" name="Debug" libraryPath="import_lib" headerPath="..\..\include"/>
<CONFIGURATION isDebug="0" name="Release" libraryPath="import_lib" headerPath="..\..\include"/>
<CONFIGURATION isDebug="1" name="Debug" libraryPath="import_lib_$(Platform)"
headerPath="..\..\include"/>
<CONFIGURATION isDebug="0" name="Release" libraryPath="import_lib_$(Platform)"
headerPath="..\..\include"/>
<CONFIGURATION isDebug="1" name="Debug" libraryPath="import_lib_$(Platform)"
headerPath="..\..\include" winArchitecture="Win32"/>
<CONFIGURATION isDebug="0" name="Release" libraryPath="import_lib_$(Platform)"
headerPath="..\..\include" winArchitecture="Win32"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_gui_basics" path="../../juce"/>