summaryrefslogtreecommitdiff
path: root/public.sdk/samples/vst2.x/minihost
diff options
context:
space:
mode:
authorpepper <pepper@chimecrisis.com>2015-01-31 21:41:28 -0800
committerpepper <pepper@chimecrisis.com>2015-01-31 21:41:28 -0800
commit97587996ee9db30ce00190bdcedd8210490b99f5 (patch)
treed8554969ac496be3a1b02a159f2a4b5b79f9492e /public.sdk/samples/vst2.x/minihost
backup vst 2.4
Diffstat (limited to 'public.sdk/samples/vst2.x/minihost')
-rw-r--r--public.sdk/samples/vst2.x/minihost/source/minieditor.cpp203
-rw-r--r--public.sdk/samples/vst2.x/minihost/source/minihost.cpp333
-rw-r--r--public.sdk/samples/vst2.x/minihost/win/minihost.vcproj364
3 files changed, 900 insertions, 0 deletions
diff --git a/public.sdk/samples/vst2.x/minihost/source/minieditor.cpp b/public.sdk/samples/vst2.x/minihost/source/minieditor.cpp
new file mode 100644
index 0000000..80277b1
--- /dev/null
+++ b/public.sdk/samples/vst2.x/minihost/source/minieditor.cpp
@@ -0,0 +1,203 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:28 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : minieditor.cpp
+// Created by : Steinberg
+// Description : VST Mini Host Editor
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#include "pluginterfaces/vst2.x/aeffectx.h"
+
+#if _WIN32
+#include <windows.h>
+#elif TARGET_API_MAC_CARBON
+#include <Carbon/Carbon.h>
+static pascal OSStatus windowHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void* inUserData);
+static pascal void idleTimerProc (EventLoopTimerRef inTimer, void* inUserData);
+#endif
+
+#include <stdio.h>
+
+#if _WIN32
+//-------------------------------------------------------------------------------------------------------
+struct MyDLGTEMPLATE: DLGTEMPLATE
+{
+ WORD ext[3];
+ MyDLGTEMPLATE ()
+ {
+ memset (this, 0, sizeof (*this));
+ };
+};
+
+static INT_PTR CALLBACK EditorProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
+static AEffect* theEffect = 0;
+#endif
+
+//-------------------------------------------------------------------------------------------------------
+bool checkEffectEditor (AEffect* effect)
+{
+ if ((effect->flags & effFlagsHasEditor) == 0)
+ {
+ printf ("This plug does not have an editor!\n");
+ return false;
+ }
+
+#if _WIN32
+ theEffect = effect;
+
+ MyDLGTEMPLATE t;
+ t.style = WS_POPUPWINDOW|WS_DLGFRAME|DS_MODALFRAME|DS_CENTER;
+ t.cx = 100;
+ t.cy = 100;
+ DialogBoxIndirectParam (GetModuleHandle (0), &t, 0, (DLGPROC)EditorProc, (LPARAM)effect);
+
+ theEffect = 0;
+#elif TARGET_API_MAC_CARBON
+ WindowRef window;
+ Rect mRect = {0, 0, 300, 300};
+ OSStatus err = CreateNewWindow (kDocumentWindowClass, kWindowCloseBoxAttribute | kWindowCompositingAttribute | kWindowAsyncDragAttribute | kWindowStandardHandlerAttribute, &mRect, &window);
+ if (err != noErr)
+ {
+ printf ("HOST> Could not create mac window !\n");
+ return false;
+ }
+ static EventTypeSpec eventTypes[] = {
+ { kEventClassWindow, kEventWindowClose }
+ };
+ InstallWindowEventHandler (window, windowHandler, GetEventTypeCount (eventTypes), eventTypes, window, NULL);
+
+ printf ("HOST> Open editor...\n");
+ effect->dispatcher (effect, effEditOpen, 0, 0, window, 0);
+ ERect* eRect = 0;
+ printf ("HOST> Get editor rect..\n");
+ effect->dispatcher (effect, effEditGetRect, 0, 0, &eRect, 0);
+ if (eRect)
+ {
+ int width = eRect->right - eRect->left;
+ int height = eRect->bottom - eRect->top;
+ Rect bounds;
+ GetWindowBounds (window, kWindowContentRgn, &bounds);
+ bounds.right = bounds.left + width;
+ bounds.bottom = bounds.top + height;
+ SetWindowBounds (window, kWindowContentRgn, &bounds);
+ }
+ RepositionWindow (window, NULL, kWindowCenterOnMainScreen);
+ ShowWindow (window);
+
+ EventLoopTimerRef idleEventLoopTimer;
+ InstallEventLoopTimer (GetCurrentEventLoop (), kEventDurationSecond / 25., kEventDurationSecond / 25., idleTimerProc, effect, &idleEventLoopTimer);
+
+ RunAppModalLoopForWindow (window);
+ RemoveEventLoopTimer (idleEventLoopTimer);
+
+ printf ("HOST> Close editor..\n");
+ effect->dispatcher (effect, effEditClose, 0, 0, 0, 0);
+ ReleaseWindow (window);
+#endif
+ return true;
+}
+
+#if _WIN32
+//-------------------------------------------------------------------------------------------------------
+INT_PTR CALLBACK EditorProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ AEffect* effect = theEffect;
+
+ switch(msg)
+ {
+ //-----------------------
+ case WM_INITDIALOG :
+ {
+ SetWindowText (hwnd, "VST Editor");
+ SetTimer (hwnd, 1, 20, 0);
+
+ if (effect)
+ {
+ printf ("HOST> Open editor...\n");
+ effect->dispatcher (effect, effEditOpen, 0, 0, hwnd, 0);
+
+ printf ("HOST> Get editor rect..\n");
+ ERect* eRect = 0;
+ effect->dispatcher (effect, effEditGetRect, 0, 0, &eRect, 0);
+ if (eRect)
+ {
+ int width = eRect->right - eRect->left;
+ int height = eRect->bottom - eRect->top;
+ if (width < 100)
+ width = 100;
+ if (height < 100)
+ height = 100;
+
+ RECT wRect;
+ SetRect (&wRect, 0, 0, width, height);
+ AdjustWindowRectEx (&wRect, GetWindowLong (hwnd, GWL_STYLE), FALSE, GetWindowLong (hwnd, GWL_EXSTYLE));
+ width = wRect.right - wRect.left;
+ height = wRect.bottom - wRect.top;
+
+ SetWindowPos (hwnd, HWND_TOP, 0, 0, width, height, SWP_NOMOVE);
+ }
+ }
+ } break;
+
+ //-----------------------
+ case WM_TIMER :
+ if (effect)
+ effect->dispatcher (effect, effEditIdle, 0, 0, 0, 0);
+ break;
+
+ //-----------------------
+ case WM_CLOSE :
+ {
+ KillTimer (hwnd, 1);
+
+ printf ("HOST> Close editor..\n");
+ if (effect)
+ effect->dispatcher (effect, effEditClose, 0, 0, 0, 0);
+
+ EndDialog (hwnd, IDOK);
+ } break;
+ }
+
+ return 0;
+}
+
+#elif TARGET_API_MAC_CARBON
+//-------------------------------------------------------------------------------------------------------
+pascal void idleTimerProc (EventLoopTimerRef inTimer, void *inUserData)
+{
+ AEffect* effect = (AEffect*)inUserData;
+ effect->dispatcher (effect, effEditIdle, 0, 0, 0, 0);
+}
+
+//-------------------------------------------------------------------------------------------------------
+pascal OSStatus windowHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData)
+{
+ OSStatus result = eventNotHandledErr;
+ WindowRef window = (WindowRef) inUserData;
+ UInt32 eventClass = GetEventClass (inEvent);
+ UInt32 eventKind = GetEventKind (inEvent);
+
+ switch (eventClass)
+ {
+ case kEventClassWindow:
+ {
+ switch (eventKind)
+ {
+ case kEventWindowClose:
+ {
+ QuitAppModalLoopForWindow (window);
+ break;
+ }
+ }
+ break;
+ }
+ }
+
+ return result;
+}
+
+#endif
diff --git a/public.sdk/samples/vst2.x/minihost/source/minihost.cpp b/public.sdk/samples/vst2.x/minihost/source/minihost.cpp
new file mode 100644
index 0000000..686ee50
--- /dev/null
+++ b/public.sdk/samples/vst2.x/minihost/source/minihost.cpp
@@ -0,0 +1,333 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:28 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : minihost.cpp
+// Created by : Steinberg
+// Description : VST Mini Host
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#include "pluginterfaces/vst2.x/aeffectx.h"
+
+#if _WIN32
+#include <windows.h>
+#elif TARGET_API_MAC_CARBON
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+
+#include <stdio.h>
+
+//-------------------------------------------------------------------------------------------------------
+static const VstInt32 kBlockSize = 512;
+static const float kSampleRate = 48000.f;
+static const VstInt32 kNumProcessCycles = 5;
+
+//-------------------------------------------------------------------------------------------------------
+typedef AEffect* (*PluginEntryProc) (audioMasterCallback audioMaster);
+static VstIntPtr VSTCALLBACK HostCallback (AEffect* effect, VstInt32 opcode, VstInt32 index, VstIntPtr value, void* ptr, float opt);
+
+//-------------------------------------------------------------------------------------------------------
+// PluginLoader
+//-------------------------------------------------------------------------------------------------------
+struct PluginLoader
+{
+//-------------------------------------------------------------------------------------------------------
+ void* module;
+
+ PluginLoader ()
+ : module (0)
+ {}
+
+ ~PluginLoader ()
+ {
+ if (module)
+ {
+ #if _WIN32
+ FreeLibrary ((HMODULE)module);
+ #elif TARGET_API_MAC_CARBON
+ CFBundleUnloadExecutable ((CFBundleRef)module);
+ CFRelease ((CFBundleRef)module);
+ #endif
+ }
+ }
+
+ bool loadLibrary (const char* fileName)
+ {
+ #if _WIN32
+ module = LoadLibrary (fileName);
+ #elif TARGET_API_MAC_CARBON
+ CFStringRef fileNameString = CFStringCreateWithCString (NULL, fileName, kCFStringEncodingUTF8);
+ if (fileNameString == 0)
+ return false;
+ CFURLRef url = CFURLCreateWithFileSystemPath (NULL, fileNameString, kCFURLPOSIXPathStyle, false);
+ CFRelease (fileNameString);
+ if (url == 0)
+ return false;
+ module = CFBundleCreate (NULL, url);
+ CFRelease (url);
+ if (module && CFBundleLoadExecutable ((CFBundleRef)module) == false)
+ return false;
+ #endif
+ return module != 0;
+ }
+
+ PluginEntryProc getMainEntry ()
+ {
+ PluginEntryProc mainProc = 0;
+ #if _WIN32
+ mainProc = (PluginEntryProc)GetProcAddress ((HMODULE)module, "VSTPluginMain");
+ if (!mainProc)
+ mainProc = (PluginEntryProc)GetProcAddress ((HMODULE)module, "main");
+ #elif TARGET_API_MAC_CARBON
+ mainProc = (PluginEntryProc)CFBundleGetFunctionPointerForName ((CFBundleRef)module, CFSTR("VSTPluginMain"));
+ if (!mainProc)
+ mainProc = (PluginEntryProc)CFBundleGetFunctionPointerForName ((CFBundleRef)module, CFSTR("main_macho"));
+ #endif
+ return mainProc;
+ }
+//-------------------------------------------------------------------------------------------------------
+};
+
+//-------------------------------------------------------------------------------------------------------
+static bool checkPlatform ()
+{
+#if VST_64BIT_PLATFORM
+ printf ("*** This is a 64 Bit Build! ***\n");
+#else
+ printf ("*** This is a 32 Bit Build! ***\n");
+#endif
+
+ int sizeOfVstIntPtr = sizeof (VstIntPtr);
+ int sizeOfVstInt32 = sizeof (VstInt32);
+ int sizeOfPointer = sizeof (void*);
+ int sizeOfAEffect = sizeof (AEffect);
+
+ printf ("VstIntPtr = %d Bytes, VstInt32 = %d Bytes, Pointer = %d Bytes, AEffect = %d Bytes\n\n",
+ sizeOfVstIntPtr, sizeOfVstInt32, sizeOfPointer, sizeOfAEffect);
+
+ return sizeOfVstIntPtr == sizeOfPointer;
+}
+
+//-------------------------------------------------------------------------------------------------------
+static void checkEffectProperties (AEffect* effect);
+static void checkEffectProcessing (AEffect* effect);
+extern bool checkEffectEditor (AEffect* effect); // minieditor.cpp
+
+//-------------------------------------------------------------------------------------------------------
+int main (int argc, char* argv[])
+{
+ if (!checkPlatform ())
+ {
+ printf ("Platform verification failed! Please check your Compiler Settings!\n");
+ return -1;
+ }
+
+ const char* fileName = "again.dll";
+ //const char* fileName = "adelay.dll";
+ //const char* fileName = "surrounddelay.dll";
+ //const char* fileName = "vstxsynth.dll";
+ //const char* fileName = "drawtest.dll";
+
+ if (argc > 1)
+ fileName = argv[1];
+
+ printf ("HOST> Load library...\n");
+ PluginLoader loader;
+ if (!loader.loadLibrary (fileName))
+ {
+ printf ("Failed to load VST Plugin library!\n");
+ return -1;
+ }
+
+ PluginEntryProc mainEntry = loader.getMainEntry ();
+ if (!mainEntry)
+ {
+ printf ("VST Plugin main entry not found!\n");
+ return -1;
+ }
+
+ printf ("HOST> Create effect...\n");
+ AEffect* effect = mainEntry (HostCallback);
+ if (!effect)
+ {
+ printf ("Failed to create effect instance!\n");
+ return -1;
+ }
+
+ printf ("HOST> Init sequence...\n");
+ effect->dispatcher (effect, effOpen, 0, 0, 0, 0);
+ effect->dispatcher (effect, effSetSampleRate, 0, 0, 0, kSampleRate);
+ effect->dispatcher (effect, effSetBlockSize, 0, kBlockSize, 0, 0);
+
+ checkEffectProperties (effect);
+ checkEffectProcessing (effect);
+ checkEffectEditor (effect);
+
+ printf ("HOST> Close effect...\n");
+ effect->dispatcher (effect, effClose, 0, 0, 0, 0);
+ return 0;
+}
+
+//-------------------------------------------------------------------------------------------------------
+void checkEffectProperties (AEffect* effect)
+{
+ printf ("HOST> Gathering properties...\n");
+
+ char effectName[256] = {0};
+ char vendorString[256] = {0};
+ char productString[256] = {0};
+
+ effect->dispatcher (effect, effGetEffectName, 0, 0, effectName, 0);
+ effect->dispatcher (effect, effGetVendorString, 0, 0, vendorString, 0);
+ effect->dispatcher (effect, effGetProductString, 0, 0, productString, 0);
+
+ printf ("Name = %s\nVendor = %s\nProduct = %s\n\n", effectName, vendorString, productString);
+
+ printf ("numPrograms = %d\nnumParams = %d\nnumInputs = %d\nnumOutputs = %d\n\n",
+ effect->numPrograms, effect->numParams, effect->numInputs, effect->numOutputs);
+
+ // Iterate programs...
+ for (VstInt32 progIndex = 0; progIndex < effect->numPrograms; progIndex++)
+ {
+ char progName[256] = {0};
+ if (!effect->dispatcher (effect, effGetProgramNameIndexed, progIndex, 0, progName, 0))
+ {
+ effect->dispatcher (effect, effSetProgram, 0, progIndex, 0, 0); // Note: old program not restored here!
+ effect->dispatcher (effect, effGetProgramName, 0, 0, progName, 0);
+ }
+ printf ("Program %03d: %s\n", progIndex, progName);
+ }
+
+ printf ("\n");
+
+ // Iterate parameters...
+ for (VstInt32 paramIndex = 0; paramIndex < effect->numParams; paramIndex++)
+ {
+ char paramName[256] = {0};
+ char paramLabel[256] = {0};
+ char paramDisplay[256] = {0};
+
+ effect->dispatcher (effect, effGetParamName, paramIndex, 0, paramName, 0);
+ effect->dispatcher (effect, effGetParamLabel, paramIndex, 0, paramLabel, 0);
+ effect->dispatcher (effect, effGetParamDisplay, paramIndex, 0, paramDisplay, 0);
+ float value = effect->getParameter (effect, paramIndex);
+
+ printf ("Param %03d: %s [%s %s] (normalized = %f)\n", paramIndex, paramName, paramDisplay, paramLabel, value);
+ }
+
+ printf ("\n");
+
+ // Can-do nonsense...
+ static const char* canDos[] =
+ {
+ "receiveVstEvents",
+ "receiveVstMidiEvent",
+ "midiProgramNames"
+ };
+
+ for (VstInt32 canDoIndex = 0; canDoIndex < sizeof (canDos) / sizeof (canDos[0]); canDoIndex++)
+ {
+ printf ("Can do %s... ", canDos[canDoIndex]);
+ VstInt32 result = (VstInt32)effect->dispatcher (effect, effCanDo, 0, 0, (void*)canDos[canDoIndex], 0);
+ switch (result)
+ {
+ case 0 : printf ("don't know"); break;
+ case 1 : printf ("yes"); break;
+ case -1 : printf ("definitely not!"); break;
+ default : printf ("?????");
+ }
+ printf ("\n");
+ }
+
+ printf ("\n");
+}
+
+//-------------------------------------------------------------------------------------------------------
+void checkEffectProcessing (AEffect* effect)
+{
+ float** inputs = 0;
+ float** outputs = 0;
+ VstInt32 numInputs = effect->numInputs;
+ VstInt32 numOutputs = effect->numOutputs;
+
+ if (numInputs > 0)
+ {
+ inputs = new float*[numInputs];
+ for (VstInt32 i = 0; i < numInputs; i++)
+ {
+ inputs[i] = new float[kBlockSize];
+ memset (inputs[i], 0, kBlockSize * sizeof (float));
+ }
+ }
+
+ if (numOutputs > 0)
+ {
+ outputs = new float*[numOutputs];
+ for (VstInt32 i = 0; i < numOutputs; i++)
+ {
+ outputs[i] = new float[kBlockSize];
+ memset (outputs[i], 0, kBlockSize * sizeof (float));
+ }
+ }
+
+ printf ("HOST> Resume effect...\n");
+ effect->dispatcher (effect, effMainsChanged, 0, 1, 0, 0);
+
+ for (VstInt32 processCount = 0; processCount < kNumProcessCycles; processCount++)
+ {
+ printf ("HOST> Process Replacing...\n");
+ effect->processReplacing (effect, inputs, outputs, kBlockSize);
+ }
+
+ printf ("HOST> Suspend effect...\n");
+ effect->dispatcher (effect, effMainsChanged, 0, 0, 0, 0);
+
+ if (numInputs > 0)
+ {
+ for (VstInt32 i = 0; i < numInputs; i++)
+ delete [] inputs[i];
+ delete [] inputs;
+ }
+
+ if (numOutputs > 0)
+ {
+ for (VstInt32 i = 0; i < numOutputs; i++)
+ delete [] outputs[i];
+ delete [] outputs;
+ }
+}
+
+//-------------------------------------------------------------------------------------------------------
+VstIntPtr VSTCALLBACK HostCallback (AEffect* effect, VstInt32 opcode, VstInt32 index, VstIntPtr value, void* ptr, float opt)
+{
+ VstIntPtr result = 0;
+
+ // Filter idle calls...
+ bool filtered = false;
+ if (opcode == audioMasterIdle)
+ {
+ static bool wasIdle = false;
+ if (wasIdle)
+ filtered = true;
+ else
+ {
+ printf ("(Future idle calls will not be displayed!)\n");
+ wasIdle = true;
+ }
+ }
+
+ if (!filtered)
+ printf ("PLUG> HostCallback (opcode %d)\n index = %d, value = %p, ptr = %p, opt = %f\n", opcode, index, FromVstPtr<void> (value), ptr, opt);
+
+ switch (opcode)
+ {
+ case audioMasterVersion :
+ result = kVstVersion;
+ break;
+ }
+
+ return result;
+}
diff --git a/public.sdk/samples/vst2.x/minihost/win/minihost.vcproj b/public.sdk/samples/vst2.x/minihost/win/minihost.vcproj
new file mode 100644
index 0000000..26dd759
--- /dev/null
+++ b/public.sdk/samples/vst2.x/minihost/win/minihost.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="minihost"
+ ProjectGUID="{D36A7267-C114-4C52-8299-18BD15D0D690}"
+ RootNamespace="minihost"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE=1"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;VST_64BIT_PLATFORM=1;_CRT_SECURE_NO_DEPRECATE=1"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="0"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE=1"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="0"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VST_64BIT_PLATFORM=1;_CRT_SECURE_NO_DEPRECATE=1"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\source\minieditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\source\minihost.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Interfaces"
+ >
+ <File
+ RelativePath="..\..\..\..\..\pluginterfaces\vst2.x\aeffect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\pluginterfaces\vst2.x\aeffectx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\pluginterfaces\vst2.x\vstfxstore.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>