summaryrefslogtreecommitdiff
path: root/vendor/vstsdk2.4/public.sdk/samples
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/vstsdk2.4/public.sdk/samples')
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.cpp216
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h93
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelaymain.cpp22
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00128.bmpbin0 -> 116154 bytes
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00129.bmpbin0 -> 2634 bytes
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00130.bmpbin0 -> 294 bytes
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/surrounddelay.rc10
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.cpp235
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.h51
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.cpp172
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.h54
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/adelay.vcproj400
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/surrounddelay.vcproj444
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp139
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h50
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/win/again.vcproj396
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/minihost-Info.plist20
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/vst2.4Info.plist28
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/source/minieditor.cpp203
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/source/minihost.cpp333
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/win/minihost.vcproj364
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.rc3
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.vstxml36
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/gmnames.h222
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.cpp392
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.h139
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynthproc.cpp178
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win/vstxsynth.vcproj448
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/adelay.vcproj286
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/again.vcproj266
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/minihost.vcproj200
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/surrounddelay.vcproj412
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/vstxsynth.vcproj309
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/adelay.dsp155
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/again.dsp151
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/minihost.dsp114
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/samples.dsw89
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/surrounddelay.dsp199
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/vstxsynth.dsp167
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/win/vstplug.def3
40 files changed, 6999 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.cpp
new file mode 100644
index 0000000..3e16bad
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.cpp
@@ -0,0 +1,216 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : adelay.cpp
+// Created by : Steinberg Media Technologies
+// Description : Simple Delay plugin (Mono->Stereo)
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#include <stdio.h>
+#include <string.h>
+
+#ifndef __adelay__
+#include "adelay.h"
+#endif
+
+//-----------------------------------------------------------------------------
+ADelayProgram::ADelayProgram ()
+{
+ // default Program Values
+ fDelay = 0.5;
+ fFeedBack = 0.5;
+ fOut = 0.75;
+
+ strcpy (name, "Init");
+}
+
+//-----------------------------------------------------------------------------
+ADelay::ADelay (audioMasterCallback audioMaster)
+ : AudioEffectX (audioMaster, kNumPrograms, kNumParams)
+{
+ // init
+ size = 44100;
+ cursor = 0;
+ delay = 0;
+ buffer = new float[size];
+
+ programs = new ADelayProgram[numPrograms];
+ fDelay = fFeedBack = fOut = 0;
+
+ if (programs)
+ setProgram (0);
+
+ setNumInputs (1); // mono input
+ setNumOutputs (2); // stereo output
+
+ setUniqueID ('ADly'); // this should be unique, use the Steinberg web page for plugin Id registration
+
+ resume (); // flush buffer
+}
+
+//------------------------------------------------------------------------
+ADelay::~ADelay ()
+{
+ if (buffer)
+ delete[] buffer;
+ if (programs)
+ delete[] programs;
+}
+
+//------------------------------------------------------------------------
+void ADelay::setProgram (VstInt32 program)
+{
+ ADelayProgram* ap = &programs[program];
+
+ curProgram = program;
+ setParameter (kDelay, ap->fDelay);
+ setParameter (kFeedBack, ap->fFeedBack);
+ setParameter (kOut, ap->fOut);
+}
+
+//------------------------------------------------------------------------
+void ADelay::setDelay (float fdelay)
+{
+ fDelay = fdelay;
+ programs[curProgram].fDelay = fdelay;
+ cursor = 0;
+ delay = (long)(fdelay * (float)(size - 1));
+}
+
+//------------------------------------------------------------------------
+void ADelay::setProgramName (char *name)
+{
+ strcpy (programs[curProgram].name, name);
+}
+
+//------------------------------------------------------------------------
+void ADelay::getProgramName (char *name)
+{
+ if (!strcmp (programs[curProgram].name, "Init"))
+ sprintf (name, "%s %d", programs[curProgram].name, curProgram + 1);
+ else
+ strcpy (name, programs[curProgram].name);
+}
+
+//-----------------------------------------------------------------------------------------
+bool ADelay::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text)
+{
+ if (index < kNumPrograms)
+ {
+ strcpy (text, programs[index].name);
+ return true;
+ }
+ return false;
+}
+
+//------------------------------------------------------------------------
+void ADelay::resume ()
+{
+ memset (buffer, 0, size * sizeof (float));
+ AudioEffectX::resume ();
+}
+
+//------------------------------------------------------------------------
+void ADelay::setParameter (VstInt32 index, float value)
+{
+ ADelayProgram* ap = &programs[curProgram];
+
+ switch (index)
+ {
+ case kDelay : setDelay (value); break;
+ case kFeedBack : fFeedBack = ap->fFeedBack = value; break;
+ case kOut : fOut = ap->fOut = value; break;
+ }
+}
+
+//------------------------------------------------------------------------
+float ADelay::getParameter (VstInt32 index)
+{
+ float v = 0;
+
+ switch (index)
+ {
+ case kDelay : v = fDelay; break;
+ case kFeedBack : v = fFeedBack; break;
+ case kOut : v = fOut; break;
+ }
+ return v;
+}
+
+//------------------------------------------------------------------------
+void ADelay::getParameterName (VstInt32 index, char *label)
+{
+ switch (index)
+ {
+ case kDelay : strcpy (label, "Delay"); break;
+ case kFeedBack : strcpy (label, "FeedBack"); break;
+ case kOut : strcpy (label, "Volume"); break;
+ }
+}
+
+//------------------------------------------------------------------------
+void ADelay::getParameterDisplay (VstInt32 index, char *text)
+{
+ switch (index)
+ {
+ case kDelay : int2string (delay, text, kVstMaxParamStrLen); break;
+ case kFeedBack : float2string (fFeedBack, text, kVstMaxParamStrLen); break;
+ case kOut : dB2string (fOut, text, kVstMaxParamStrLen); break;
+ }
+}
+
+//------------------------------------------------------------------------
+void ADelay::getParameterLabel (VstInt32 index, char *label)
+{
+ switch (index)
+ {
+ case kDelay : strcpy (label, "samples"); break;
+ case kFeedBack : strcpy (label, "amount"); break;
+ case kOut : strcpy (label, "dB"); break;
+ }
+}
+
+//------------------------------------------------------------------------
+bool ADelay::getEffectName (char* name)
+{
+ strcpy (name, "Delay");
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool ADelay::getProductString (char* text)
+{
+ strcpy (text, "Delay");
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool ADelay::getVendorString (char* text)
+{
+ strcpy (text, "Steinberg Media Technologies");
+ return true;
+}
+
+//---------------------------------------------------------------------------
+void ADelay::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames)
+{
+ float* in = inputs[0];
+ float* out1 = outputs[0];
+ float* out2 = outputs[1];
+
+ while (--sampleFrames >= 0)
+ {
+ float x = *in++;
+ float y = buffer[cursor];
+ buffer[cursor++] = x + y * fFeedBack;
+ if (cursor >= delay)
+ cursor = 0;
+ *out1++ = y;
+ if (out2)
+ *out2++ = y;
+ }
+}
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h
new file mode 100644
index 0000000..1b21c96
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h
@@ -0,0 +1,93 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : adelay.h
+// Created by : Steinberg Media Technologies
+// Description : Simple Delay plugin (Mono->Stereo)
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __adelay__
+#define __adelay__
+
+#include "public.sdk/source/vst2.x/audioeffectx.h"
+
+enum
+{
+ // Global
+ kNumPrograms = 16,
+
+ // Parameters Tags
+ kDelay = 0,
+ kFeedBack,
+ kOut,
+
+ kNumParams
+};
+
+class ADelay;
+
+//------------------------------------------------------------------------
+class ADelayProgram
+{
+friend class ADelay;
+public:
+ ADelayProgram ();
+ ~ADelayProgram () {}
+
+private:
+ float fDelay;
+ float fFeedBack;
+ float fOut;
+ char name[24];
+};
+
+//------------------------------------------------------------------------
+class ADelay : public AudioEffectX
+{
+public:
+ ADelay (audioMasterCallback audioMaster);
+ ~ADelay ();
+
+ //---from AudioEffect-----------------------
+ virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
+
+ virtual void setProgram (VstInt32 program);
+ virtual void setProgramName (char* name);
+ virtual void getProgramName (char* name);
+ virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text);
+
+ virtual void setParameter (VstInt32 index, float value);
+ virtual float getParameter (VstInt32 index);
+ virtual void getParameterLabel (VstInt32 index, char* label);
+ virtual void getParameterDisplay (VstInt32 index, char* text);
+ virtual void getParameterName (VstInt32 index, char* text);
+
+ virtual void resume ();
+
+ virtual bool getEffectName (char* name);
+ virtual bool getVendorString (char* text);
+ virtual bool getProductString (char* text);
+ virtual VstInt32 getVendorVersion () { return 1000; }
+
+ virtual VstPlugCategory getPlugCategory () { return kPlugCategEffect; }
+
+protected:
+ void setDelay (float delay);
+
+ ADelayProgram* programs;
+
+ float* buffer;
+ float fDelay;
+ float fFeedBack;
+ float fOut;
+
+ long delay;
+ long size;
+ long cursor;
+};
+
+#endif
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelaymain.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelaymain.cpp
new file mode 100644
index 0000000..ea9895e
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelaymain.cpp
@@ -0,0 +1,22 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : adelaymain.cpp
+// Created by : Steinberg Media Technologies
+// Description : Simple Delay plugin (Mono->Stereo)
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __adelay__
+#include "adelay.h"
+#endif
+
+//-------------------------------------------------------------------------------------------------------
+AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
+{
+ return new ADelay (audioMaster);
+}
+
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00128.bmp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00128.bmp
new file mode 100644
index 0000000..1e3b523
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00128.bmp
Binary files differ
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00129.bmp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00129.bmp
new file mode 100644
index 0000000..275e4aa
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00129.bmp
Binary files differ
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00130.bmp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00130.bmp
new file mode 100644
index 0000000..e272640
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/bmp00130.bmp
Binary files differ
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/surrounddelay.rc b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/surrounddelay.rc
new file mode 100644
index 0000000..52ef47d
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources/surrounddelay.rc
@@ -0,0 +1,10 @@
+#define APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+128 BITMAP DISCARDABLE "bmp00128.bmp"
+129 BITMAP DISCARDABLE "bmp00129.bmp"
+130 BITMAP DISCARDABLE "bmp00130.bmp"
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.cpp
new file mode 100644
index 0000000..ac5ebfc
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.cpp
@@ -0,0 +1,235 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:28 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : sdeditor.cpp
+// Created by : Steinberg Media Technologies
+// Description : Simple Surround Delay plugin with Editor using VSTGUI
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __sdeditor__
+#include "sdeditor.h"
+#endif
+
+#ifndef __adelay__
+#include "../adelay.h"
+#endif
+
+#include <stdio.h>
+
+//-----------------------------------------------------------------------------
+// resource id's
+enum {
+ // bitmaps
+ kBackgroundId = 128,
+ kFaderBodyId,
+ kFaderHandleId,
+
+ // positions
+ kFaderX = 18,
+ kFaderY = 10,
+
+ kFaderInc = 18,
+
+ kDisplayX = 10,
+ kDisplayY = 184,
+ kDisplayXWidth = 30,
+ kDisplayHeight = 14
+};
+
+//-----------------------------------------------------------------------------
+// prototype string convert float -> percent
+void percentStringConvert (float value, char* string);
+void percentStringConvert (float value, char* string)
+{
+ sprintf (string, "%d%%", (int)(100 * value + 0.5f));
+}
+
+
+//-----------------------------------------------------------------------------
+// SDEditor class implementation
+//-----------------------------------------------------------------------------
+SDEditor::SDEditor (AudioEffect *effect)
+ : AEffGUIEditor (effect)
+{
+ delayFader = 0;
+ feedbackFader = 0;
+ volumeFader = 0;
+ delayDisplay = 0;
+ feedbackDisplay = 0;
+ volumeDisplay = 0;
+
+ // load the background bitmap
+ // we don't need to load all bitmaps, this could be done when open is called
+ hBackground = new CBitmap (kBackgroundId);
+
+ // init the size of the plugin
+ rect.left = 0;
+ rect.top = 0;
+ rect.right = (short)hBackground->getWidth ();
+ rect.bottom = (short)hBackground->getHeight ();
+}
+
+//-----------------------------------------------------------------------------
+SDEditor::~SDEditor ()
+{
+ // free the background bitmap
+ if (hBackground)
+ hBackground->forget ();
+ hBackground = 0;
+}
+
+//-----------------------------------------------------------------------------
+bool SDEditor::open (void *ptr)
+{
+ // !!! always call this !!!
+ AEffGUIEditor::open (ptr);
+
+ //--load some bitmaps
+ CBitmap* hFaderBody = new CBitmap (kFaderBodyId);
+ CBitmap* hFaderHandle = new CBitmap (kFaderHandleId);
+
+ //--init background frame-----------------------------------------------
+ // We use a local CFrame object so that calls to setParameter won't call into objects which may not exist yet.
+ // If all GUI objects are created we assign our class member to this one. See bottom of this method.
+ CRect size (0, 0, hBackground->getWidth (), hBackground->getHeight ());
+ CFrame* lFrame = new CFrame (size, ptr, this);
+ lFrame->setBackground (hBackground);
+
+ //--init the faders------------------------------------------------
+ int minPos = kFaderY;
+ int maxPos = kFaderY + hFaderBody->getHeight () - hFaderHandle->getHeight () - 1;
+ CPoint point (0, 0);
+ CPoint offset (1, 0);
+
+ // Delay
+ size (kFaderX, kFaderY,
+ kFaderX + hFaderBody->getWidth (), kFaderY + hFaderBody->getHeight ());
+ delayFader = new CVerticalSlider (size, this, kDelay, minPos, maxPos, hFaderHandle, hFaderBody, point);
+ delayFader->setOffsetHandle (offset);
+ delayFader->setValue (effect->getParameter (kDelay));
+ lFrame->addView (delayFader);
+
+ // FeedBack
+ size.offset (kFaderInc + hFaderBody->getWidth (), 0);
+ feedbackFader = new CVerticalSlider (size, this, kFeedBack, minPos, maxPos, hFaderHandle, hFaderBody, point);
+ feedbackFader->setOffsetHandle (offset);
+ feedbackFader->setValue (effect->getParameter (kFeedBack));
+ lFrame->addView (feedbackFader);
+
+ // Volume
+ size.offset (kFaderInc + hFaderBody->getWidth (), 0);
+ volumeFader = new CVerticalSlider (size, this, kOut, minPos, maxPos, hFaderHandle, hFaderBody, point);
+ volumeFader->setOffsetHandle (offset);
+ volumeFader->setValue (effect->getParameter (kOut));
+ volumeFader->setDefaultValue (0.75f);
+ lFrame->addView (volumeFader);
+
+ //--init the display------------------------------------------------
+ // Delay
+ size (kDisplayX, kDisplayY,
+ kDisplayX + kDisplayXWidth, kDisplayY + kDisplayHeight);
+ delayDisplay = new CParamDisplay (size, 0, kCenterText);
+ delayDisplay->setFont (kNormalFontSmall);
+ delayDisplay->setFontColor (kWhiteCColor);
+ delayDisplay->setBackColor (kBlackCColor);
+ delayDisplay->setFrameColor (kBlueCColor);
+ delayDisplay->setValue (effect->getParameter (kDelay));
+ lFrame->addView (delayDisplay);
+
+ // FeedBack
+ size.offset (kFaderInc + hFaderBody->getWidth (), 0);
+ feedbackDisplay = new CParamDisplay (size, 0, kCenterText);
+ feedbackDisplay->setFont (kNormalFontSmall);
+ feedbackDisplay->setFontColor (kWhiteCColor);
+ feedbackDisplay->setBackColor (kBlackCColor);
+ feedbackDisplay->setFrameColor (kBlueCColor);
+ feedbackDisplay->setValue (effect->getParameter (kFeedBack));
+ feedbackDisplay->setStringConvert (percentStringConvert);
+ lFrame->addView (feedbackDisplay);
+
+ // Volume
+ size.offset (kFaderInc + hFaderBody->getWidth (), 0);
+ volumeDisplay = new CParamDisplay (size, 0, kCenterText);
+ volumeDisplay->setFont (kNormalFontSmall);
+ volumeDisplay->setFontColor (kWhiteCColor);
+ volumeDisplay->setBackColor (kBlackCColor);
+ volumeDisplay->setFrameColor (kBlueCColor);
+ volumeDisplay->setValue (effect->getParameter (kOut));
+ volumeDisplay->setStringConvert (percentStringConvert);
+ lFrame->addView (volumeDisplay);
+
+
+ // Note : in the constructor of a CBitmap, the number of references is set to 1.
+ // Then, each time the bitmap is used (for hinstance in a vertical slider), this
+ // number is incremented.
+ // As a consequence, everything happens as if the constructor by itself was adding
+ // a reference. That's why we need til here a call to forget ().
+ // You mustn't call delete here directly, because the bitmap is used by some CControls...
+ // These "rules" apply to the other VSTGUI objects too.
+ hFaderBody->forget ();
+ hFaderHandle->forget ();
+
+ frame = lFrame;
+ return true;
+}
+
+//-----------------------------------------------------------------------------
+void SDEditor::close ()
+{
+ delete frame;
+ frame = 0;
+}
+
+//-----------------------------------------------------------------------------
+void SDEditor::setParameter (VstInt32 index, float value)
+{
+ if (frame == 0)
+ return;
+
+ // called from ADelayEdit
+ switch (index)
+ {
+ case kDelay:
+ if (delayFader)
+ delayFader->setValue (effect->getParameter (index));
+ if (delayDisplay)
+ delayDisplay->setValue (effect->getParameter (index));
+ break;
+
+ case kFeedBack:
+ if (feedbackFader)
+ feedbackFader->setValue (effect->getParameter (index));
+ if (feedbackDisplay)
+ feedbackDisplay->setValue (effect->getParameter (index));
+ break;
+
+ case kOut:
+ if (volumeFader)
+ volumeFader->setValue (effect->getParameter (index));
+ if (volumeDisplay)
+ volumeDisplay->setValue (effect->getParameter (index));
+ break;
+ }
+}
+
+//-----------------------------------------------------------------------------
+void SDEditor::valueChanged (CDrawContext* context, CControl* control)
+{
+ long tag = control->getTag ();
+ switch (tag)
+ {
+ case kDelay:
+ case kFeedBack:
+ case kOut:
+ effect->setParameterAutomated (tag, control->getValue ());
+ control->setDirty ();
+ break;
+ }
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.h
new file mode 100644
index 0000000..abe427a
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/sdeditor.h
@@ -0,0 +1,51 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:28 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : sdeditor.h
+// Created by : Steinberg Media Technologies
+// Description : Simple Surround Delay plugin with Editor using VSTGUI
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __sdeditor__
+#define __sdeditor__
+
+
+// include VSTGUI
+#ifndef __vstgui__
+#include "vstgui.sf/vstgui/vstgui.h"
+#endif
+
+
+//-----------------------------------------------------------------------------
+class SDEditor : public AEffGUIEditor, public CControlListener
+{
+public:
+ SDEditor (AudioEffect* effect);
+ virtual ~SDEditor ();
+
+public:
+ virtual bool open (void* ptr);
+ virtual void close ();
+
+ virtual void setParameter (VstInt32 index, float value);
+ virtual void valueChanged (CDrawContext* context, CControl* control);
+
+private:
+ // Controls
+ CVerticalSlider* delayFader;
+ CVerticalSlider* feedbackFader;
+ CVerticalSlider* volumeFader;
+
+ CParamDisplay* delayDisplay;
+ CParamDisplay* feedbackDisplay;
+ CParamDisplay* volumeDisplay;
+
+ // Bitmap
+ CBitmap* hBackground;
+};
+
+#endif
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.cpp
new file mode 100644
index 0000000..d8c5a99
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.cpp
@@ -0,0 +1,172 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : surrounddelay.cpp
+// Created by : Steinberg Media Technologies
+// Description : Simple Surround Delay plugin with Editor using VSTGUI
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __surrounddelay__
+#include "surrounddelay.h"
+#endif
+
+#ifndef __sdeditor__
+#include "editor/sdeditor.h"
+#endif
+
+#include <string.h>
+#include <stdio.h>
+
+//-------------------------------------------------------------------------------------------------------
+AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
+{
+ return new SurroundDelay (audioMaster);
+}
+
+//-----------------------------------------------------------------------------
+SurroundDelay::SurroundDelay (audioMasterCallback audioMaster)
+: ADelay (audioMaster)
+, plugInput (0)
+, plugOutput (0)
+{
+
+ // The first buffer is allocated in ADelay's constructor
+ for (int i = 1; i < MAX_CHANNELS; i++)
+ {
+ sBuffers[i] = new float[size];
+ }
+
+ setNumInputs (MAX_CHANNELS);
+ setNumOutputs (MAX_CHANNELS);
+
+ // We initialize the arrangements to default values.
+ // Nevertheless, the host should modify them via
+ // appropriate calls to setSpeakerArrangement.
+ allocateArrangement (&plugInput, MAX_CHANNELS);
+ plugInput->type = kSpeakerArr51;
+
+ allocateArrangement (&plugOutput, MAX_CHANNELS);
+ plugOutput->type = kSpeakerArr51;
+
+ setUniqueID ('SDlE'); // this should be unique, use the Steinberg web page for plugin Id registration
+
+ // create the editor
+ editor = new SDEditor (this);
+
+ resume ();
+}
+
+//-----------------------------------------------------------------------------
+SurroundDelay::~SurroundDelay ()
+{
+ sBuffers[0] = 0;
+ // We let ~ADelay delete "buffer"...
+ for (int i = 1; i < MAX_CHANNELS; i++)
+ {
+ if (sBuffers[i])
+ {
+ delete[] sBuffers[i];
+ }
+ sBuffers[i] = 0;
+ }
+
+ deallocateArrangement (&plugInput);
+ deallocateArrangement (&plugOutput);
+}
+
+//------------------------------------------------------------------------
+void SurroundDelay::resume ()
+{
+ memset (buffer, 0, size * sizeof (float));
+ sBuffers[0] = buffer;
+
+ for (int i = 1; i < MAX_CHANNELS; i++)
+ {
+ memset (sBuffers[i], 0, size * sizeof (float));
+ }
+}
+
+//------------------------------------------------------------------------
+bool SurroundDelay::getSpeakerArrangement (VstSpeakerArrangement** pluginInput, VstSpeakerArrangement** pluginOutput)
+{
+ *pluginInput = plugInput;
+ *pluginOutput = plugOutput;
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool SurroundDelay::setSpeakerArrangement (VstSpeakerArrangement* pluginInput,
+ VstSpeakerArrangement* pluginOutput)
+{
+ if (!pluginOutput || !pluginInput)
+ return false;
+
+ bool result = true;
+
+ // This plug-in can act on any speaker arrangement,
+ // provided that there are the same number of inputs/outputs.
+ if (pluginInput->numChannels > MAX_CHANNELS)
+ {
+ // This plug-in can't have so many channels. So we answer
+ // false, and we set the input arrangement with the maximum
+ // number of channels possible
+ result = false;
+ allocateArrangement (&plugInput, MAX_CHANNELS);
+ plugInput->type = kSpeakerArr51;
+ }
+ else
+ {
+ matchArrangement (&plugInput, pluginInput);
+ }
+
+ if (pluginOutput->numChannels != plugInput->numChannels)
+ {
+ // This plug-in only deals with symetric IO configurations...
+ result = false;
+ matchArrangement (&plugOutput, plugInput);
+ }
+ else
+ {
+ matchArrangement (&plugOutput, pluginOutput);
+ }
+
+ return result;
+}
+
+//------------------------------------------------------------------------
+void SurroundDelay::processReplacing (float** inputs, float** outputs, VstInt32 sampleframes)
+{
+ float* inputs2[1];
+ float* outputs2[2];
+
+ outputs2[1] = NULL;
+
+ long cursorTemp = cursor;
+
+ for (int i = 0; i < plugInput->numChannels; i++)
+ {
+ cursor = cursorTemp;
+
+ buffer = sBuffers[i];
+
+ inputs2[0] = inputs[i];
+ outputs2[0] = outputs[i];
+
+ ADelay::processReplacing (inputs2, outputs2, sampleframes);
+ }
+
+ buffer = sBuffers[0];
+}
+
+//-----------------------------------------------------------------------------
+void SurroundDelay::setParameter (VstInt32 index, float value)
+{
+ ADelay::setParameter (index, value);
+
+ if (editor)
+ ((AEffGUIEditor*)editor)->setParameter (index, value);
+}
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.h
new file mode 100644
index 0000000..f8412b9
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/surrounddelay.h
@@ -0,0 +1,54 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : surrounddelay.h
+// Created by : Steinberg Media Technologies
+// Description : Simple Surround Delay plugin with Editor using VSTGUI
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __surrounddelay__
+#define __surrounddelay__
+
+#ifndef __adelay__
+#include "adelay.h"
+#endif
+
+#define MAX_CHANNELS 6 // maximun number of channel
+
+//------------------------------------------------------------------------
+// SurroundDelay declaration
+//------------------------------------------------------------------------
+class SurroundDelay : public ADelay
+{
+public:
+ SurroundDelay (audioMasterCallback audioMaster);
+ ~SurroundDelay ();
+
+ virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleframes);
+
+ void setParameter (VstInt32 index, float value);
+
+ // functions VST version 2
+ virtual bool getVendorString (char* text) { if (text) strcpy (text, "Steinberg"); return true; }
+ virtual bool getProductString (char* text) { if (text) strcpy (text, "SDelay"); return true; }
+ virtual VstInt32 getVendorVersion () { return 1000; }
+
+ virtual VstPlugCategory getPlugCategory () { return kPlugSurroundFx; }
+
+ virtual bool getSpeakerArrangement (VstSpeakerArrangement** pluginInput, VstSpeakerArrangement** pluginOutput);
+ virtual bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput);
+
+ virtual void resume ();
+
+private:
+ VstSpeakerArrangement* plugInput;
+ VstSpeakerArrangement* plugOutput;
+
+ float* sBuffers[MAX_CHANNELS];
+};
+
+#endif
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/adelay.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/adelay.vcproj
new file mode 100644
index 0000000..3391506
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/adelay.vcproj
@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="adelay"
+ ProjectGUID="{6503B2E8-BC8D-4D80-809C-D43694296419}"
+ RootNamespace="adelay"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;ADELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;ADELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;ADELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;ADELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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="..\adelay.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\adelay.h"
+ >
+ </File>
+ <File
+ RelativePath="..\adelaymain.cpp"
+ >
+ </File>
+ <Filter
+ Name="vst2.x"
+ >
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\aeffeditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\vstplugmain.cpp"
+ >
+ </File>
+ </Filter>
+ </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>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/surrounddelay.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/surrounddelay.vcproj
new file mode 100644
index 0000000..194bc12
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/win/surrounddelay.vcproj
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="surrounddelay"
+ ProjectGUID="{29898D14-EB2A-41D4-A530-728821929A0D}"
+ RootNamespace="surrounddelay"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../..;..\..\..\..\vstgui;..\..\..\..\..\public.sdk\source\vst2.x"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SURROUNDDELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="0"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../..;..\..\..\..\..\public.sdk\source\vst2.x;..\..\..\..\vstgui"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SURROUNDDELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ 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="../../../../..;..\..\..\..\vstgui;..\..\..\..\..\public.sdk\source\vst2.x"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SURROUNDDELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ 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="../../../../..;..\..\..\..\..\public.sdk\source\vst2.x;..\..\..\..\vstgui"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SURROUNDDELAY_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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="..\adelay.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\adelay.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editor\sdeditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\editor\sdeditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\surrounddelay.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\surrounddelay.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editor\resources\surrounddelay.rc"
+ >
+ </File>
+ <Filter
+ Name="vst2.x"
+ >
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\aeffeditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\vstplugmain.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="vstgui"
+ >
+ <File
+ RelativePath="..\..\..\..\..\vstgui.sf\vstgui\aeffguieditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\vstgui.sf\vstgui\aeffguieditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\vstgui.sf\vstgui\vstcontrols.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\vstgui.sf\vstgui\vstcontrols.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\vstgui.sf\vstgui\vstgui.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\vstgui.sf\vstgui\vstgui.h"
+ >
+ </File>
+ </Filter>
+ </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>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp
new file mode 100644
index 0000000..9d0af10
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp
@@ -0,0 +1,139 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : again.cpp
+// Created by : Steinberg Media Technologies
+// Description : Stereo plugin which applies Gain [-oo, 0dB]
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#include "again.h"
+
+//-------------------------------------------------------------------------------------------------------
+AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
+{
+ return new AGain (audioMaster);
+}
+
+//-------------------------------------------------------------------------------------------------------
+AGain::AGain (audioMasterCallback audioMaster)
+: AudioEffectX (audioMaster, 1, 1) // 1 program, 1 parameter only
+{
+ setNumInputs (2); // stereo in
+ setNumOutputs (2); // stereo out
+ setUniqueID ('Gain'); // identify
+ canProcessReplacing (); // supports replacing output
+ canDoubleReplacing (); // supports double precision processing
+
+ fGain = 1.f; // default to 0 dB
+ vst_strncpy (programName, "Default", kVstMaxProgNameLen); // default program name
+}
+
+//-------------------------------------------------------------------------------------------------------
+AGain::~AGain ()
+{
+ // nothing to do here
+}
+
+//-------------------------------------------------------------------------------------------------------
+void AGain::setProgramName (char* name)
+{
+ vst_strncpy (programName, name, kVstMaxProgNameLen);
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::getProgramName (char* name)
+{
+ vst_strncpy (name, programName, kVstMaxProgNameLen);
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::setParameter (VstInt32 index, float value)
+{
+ fGain = value;
+}
+
+//-----------------------------------------------------------------------------------------
+float AGain::getParameter (VstInt32 index)
+{
+ return fGain;
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::getParameterName (VstInt32 index, char* label)
+{
+ vst_strncpy (label, "Gain", kVstMaxParamStrLen);
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::getParameterDisplay (VstInt32 index, char* text)
+{
+ dB2string (fGain, text, kVstMaxParamStrLen);
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::getParameterLabel (VstInt32 index, char* label)
+{
+ vst_strncpy (label, "dB", kVstMaxParamStrLen);
+}
+
+//------------------------------------------------------------------------
+bool AGain::getEffectName (char* name)
+{
+ vst_strncpy (name, "Gain", kVstMaxEffectNameLen);
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool AGain::getProductString (char* text)
+{
+ vst_strncpy (text, "Gain", kVstMaxProductStrLen);
+ return true;
+}
+
+//------------------------------------------------------------------------
+bool AGain::getVendorString (char* text)
+{
+ vst_strncpy (text, "Steinberg Media Technologies", kVstMaxVendorStrLen);
+ return true;
+}
+
+//-----------------------------------------------------------------------------------------
+VstInt32 AGain::getVendorVersion ()
+{
+ return 1000;
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames)
+{
+ float* in1 = inputs[0];
+ float* in2 = inputs[1];
+ float* out1 = outputs[0];
+ float* out2 = outputs[1];
+
+ while (--sampleFrames >= 0)
+ {
+ (*out1++) = (*in1++) * fGain;
+ (*out2++) = (*in2++) * fGain;
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+void AGain::processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames)
+{
+ double* in1 = inputs[0];
+ double* in2 = inputs[1];
+ double* out1 = outputs[0];
+ double* out2 = outputs[1];
+ double dGain = fGain;
+
+ while (--sampleFrames >= 0)
+ {
+ (*out1++) = (*in1++) * dGain;
+ (*out2++) = (*in2++) * dGain;
+ }
+}
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h
new file mode 100644
index 0000000..f241dfa
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h
@@ -0,0 +1,50 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : again.h
+// Created by : Steinberg Media Technologies
+// Description : Stereo plugin which applies Gain [-oo, 0dB]
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __again__
+#define __again__
+
+#include "public.sdk/source/vst2.x/audioeffectx.h"
+
+//-------------------------------------------------------------------------------------------------------
+class AGain : public AudioEffectX
+{
+public:
+ AGain (audioMasterCallback audioMaster);
+ ~AGain ();
+
+ // Processing
+ virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
+ virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
+
+ // Program
+ virtual void setProgramName (char* name);
+ virtual void getProgramName (char* name);
+
+ // Parameters
+ virtual void setParameter (VstInt32 index, float value);
+ virtual float getParameter (VstInt32 index);
+ virtual void getParameterLabel (VstInt32 index, char* label);
+ virtual void getParameterDisplay (VstInt32 index, char* text);
+ virtual void getParameterName (VstInt32 index, char* text);
+
+ virtual bool getEffectName (char* name);
+ virtual bool getVendorString (char* text);
+ virtual bool getProductString (char* text);
+ virtual VstInt32 getVendorVersion ();
+
+protected:
+ float fGain;
+ char programName[kVstMaxProgNameLen + 1];
+};
+
+#endif
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/win/again.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/win/again.vcproj
new file mode 100644
index 0000000..5140d09
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/win/again.vcproj
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="again"
+ ProjectGUID="{59248302-52E0-4CC0-9BBE-E475BA4A9B41}"
+ RootNamespace="again"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;AGAIN_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;AGAIN_EXPORTS;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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;AGAIN_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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="2"
+ 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;_WINDOWS;_USRDLL;AGAIN_EXPORTS;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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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\again.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\source\again.h"
+ >
+ </File>
+ <Filter
+ Name="vst2.x"
+ >
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\aeffeditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\vstplugmain.cpp"
+ >
+ </File>
+ </Filter>
+ </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>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/minihost-Info.plist b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/minihost-Info.plist
new file mode 100644
index 0000000..92ddf0f
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/minihost-Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.minihost</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+</dict>
+</plist>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/vst2.4Info.plist b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/vst2.4Info.plist
new file mode 100644
index 0000000..35c22fa
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/mac/vst2.4Info.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>$(PRODUCT_NAME)</string>
+ <key>CFBundleName</key>
+ <string>$(PRODUCT_NAME)</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>de.steinberg.vst2.4.example.$(PRODUCT_NAME)</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CSResourcesFileMapped</key>
+ <true/>
+</dict>
+</plist>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/source/minieditor.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/source/minieditor.cpp
new file mode 100644
index 0000000..80277b1
--- /dev/null
+++ b/vendor/vstsdk2.4/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/vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/source/minihost.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/source/minihost.cpp
new file mode 100644
index 0000000..686ee50
--- /dev/null
+++ b/vendor/vstsdk2.4/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/vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/win/minihost.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/minihost/win/minihost.vcproj
new file mode 100644
index 0000000..26dd759
--- /dev/null
+++ b/vendor/vstsdk2.4/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>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.rc b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.rc
new file mode 100644
index 0000000..eb0135c
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.rc
@@ -0,0 +1,3 @@
+#define APSTUDIO_READONLY_SYMBOLS
+
+1 VSTXML "vstxsynth.vstxml" \ No newline at end of file
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.vstxml b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.vstxml
new file mode 100644
index 0000000..f56fe24
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource/vstxsynth.vstxml
@@ -0,0 +1,36 @@
+<!-- =========================================================== -->
+<!-- VST Parameter XML Definition for vstxsynth ================ -->
+<!-- Version 1.0 =============================================== -->
+<!-- Date: 01/2006 ============================================= -->
+<!-- =========================================================== -->
+
+<VSTPluginProperties>
+ <VSTParametersStructure>
+ <!-- ======================================================= -->
+ <!-- Value Types =========================================== -->
+ <!-- ======================================================= -->
+
+ <ValueType name="Waveform">
+ <Entry name="Sawtooth" value="[0, 0.5["/>
+ <Entry name="Pulse" value="[0.5, 1]"/>
+ </ValueType>
+
+ <!-- ======================================================= -->
+ <!-- Templates ============================================= -->
+ <!-- ======================================================= -->
+
+ <Template name="Osc">
+ <Param name="Waveform" type="Waveform" id="offset"/>
+ <Param name="Frequency" id="offset+1"/>
+ <Param name="Level" id="offset+2"/>
+ </Template>
+
+ <!-- ======================================================= -->
+ <!-- Global ================================================ -->
+ <!-- ======================================================= -->
+
+ <Param name="Volume" id="6"/>
+ <Group name="Osc Left" template="Osc" values="offset=0"/>
+ <Group name="Osc Right" template="Osc" values="offset=3"/>
+ </VSTParametersStructure>
+</VSTPluginProperties>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/gmnames.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/gmnames.h
new file mode 100644
index 0000000..78821fc
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/gmnames.h
@@ -0,0 +1,222 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : gmnames.h
+// Created by : Steinberg Media Technologies
+// Description : Example VstXSynth
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __gmnames__
+#define __gmnames__
+
+static const long kNumGmCategories = 17;
+
+static const char* GmCategories[kNumGmCategories] =
+{
+ "Piano",
+ "Percussion",
+ "Organ",
+ "Guitar",
+ "Bass",
+ "Strings",
+ "Ensemble",
+ "Brass",
+ "Reed",
+ "Pipe",
+ "Synth Lead",
+ "SynthPad",
+ "Synth Effects",
+ "Ethnic",
+ "Percussive",
+ "Effects",
+ "DrumSets"
+};
+
+static short GmCategoriesFirstIndices [kNumGmCategories + 1] =
+{
+ 0, 7, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128
+};
+
+static const char* GmNames [128] =
+{
+ // Piano
+ "Acoustic Grand Piano",
+ "Bright Acoustic Piano",
+ "Electric Grand Piano",
+ "Honky-tonk Piano",
+ "Electric Piano 1",
+ "Electric Piano 2",
+ "Harpsichord",
+
+ // Percussion
+ "Clavi", // 7
+ "Celesta",
+ "Glockenspiel",
+ "Music Box",
+ "Vibraphone",
+ "Marimba",
+ "Xylophone",
+ "Tubular Bells",
+ "Dulcimer",
+
+ // Organ
+ "Drawbar Organ", // 16
+ "Percussive Organ",
+ "Rock Organ",
+ "Church Organ",
+ "Reed Organ",
+ "Accordion",
+ "Harmonica",
+ "Tango Accordion",
+
+ // Gitar
+ "Acoustic Guitar (nylon)", // 24
+ "Acoustic Guitar (steel)",
+ "Electric Guitar (jazz)",
+ "Electric Guitar (clean)",
+ "Electric Guitar (muted)",
+ "Overdriven Guitar",
+ "Distortion Guitar",
+ "Guitar harmonics",
+
+ // Bass
+ "Acoustic Bass", // 32
+ "Electric Bass (finger)",
+ "Electric Bass (pick)",
+ "Fretless Bass",
+ "Slap Bass 1",
+ "Slap Bass 2",
+ "Synth Bass 1",
+ "Synth Bass 2",
+
+ // strings
+ "Violin", // 40
+ "Viola",
+ "Cello",
+ "Contrabass",
+ "Tremolo Strings",
+ "Pizzicato Strings",
+ "Orchestral Harp",
+ "Timpani",
+
+ // Ensemble
+ "String Ensemble 1", // 48
+ "String Ensemble 2",
+ "SynthStrings 1",
+ "SynthStrings 2",
+ "Choir Aahs",
+ "Voice Oohs",
+ "Synth Voice",
+ "Orchestra Hit",
+
+ // Brass
+ "Trumpet", // 56
+ "Trombone",
+ "Tuba",
+ "Muted Trumpet",
+ "French Horn",
+ "Brass Section",
+ "SynthBrass 1",
+ "SynthBrass 2",
+
+ // Reed
+ "Soprano Sax", // 64
+ "Alto Sax",
+ "Tenor Sax",
+ "Baritone Sax",
+ "Oboe",
+ "English Horn",
+ "Bassoon",
+ "Clarinet",
+
+ // Pipe
+ "Piccolo", // 72
+ "Flute",
+ "Recorder",
+ "Pan Flute",
+ "Blown Bottle",
+ "Shakuhachi",
+ "Whistle",
+ "Ocarina",
+
+ // Synth Lead
+ "Lead 1 (square)", // 80
+ "Lead 2 (sawtooth)",
+ "Lead 3 (calliope)",
+ "Lead 4 (chiff)",
+ "Lead 5 (charang)",
+ "Lead 6 (voice)",
+ "Lead 7 (fifths)",
+ "Lead 8 (bass + lead)",
+
+ // Synth Pad
+ "Pad 1 (new age)", // 88
+ "Pad 2 (warm)",
+ "Pad 3 (polysynth)",
+ "Pad 4 (choir)",
+ "Pad 5 (bowed)",
+ "Pad 6 (metallic)",
+ "Pad 7 (halo)",
+ "Pad 8 (sweep)",
+
+ // Synth Fx
+ "FX 1 (rain)", // 96
+ "FX 2 (soundtrack)",
+ "FX 3 (crystal)",
+ "FX 4 (atmosphere)",
+ "FX 5 (brightness)",
+ "FX 6 (goblins)",
+ "FX 7 (echoes)",
+ "FX 8 (sci-fi)",
+
+ // Ethnic
+ "Sitar", // 104
+ "Banjo",
+ "Shamisen",
+ "Koto",
+ "Kalimba",
+ "Bag pipe",
+ "Fiddle",
+ "Shanai",
+
+ // Percussive
+ "Tinkle Bell", // 112
+ "Agogo",
+ "Steel Drums",
+ "Woodblock",
+ "Taiko Drum",
+ "Melodic Tom",
+ "Synth Drum",
+ "Reverse Cymbal",
+
+ // Effects
+ "Guitar Fret Noise", // 120
+ "Breath Noise",
+ "Seashore",
+ "Bird Tweet",
+ "Telephone Ring",
+ "Helicopter",
+ "Applause",
+ "Gunshot"
+};
+
+static const char* GmDrumSets[11] =
+{
+ "Standard",
+ "Room",
+ "Power",
+ "Electronic",
+ "Analog",
+ "Jazz",
+ "Brush",
+ "Orchestra",
+ "Clavinova",
+ "RX",
+ "C/M"
+};
+
+#endif
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.cpp
new file mode 100644
index 0000000..f23cd02
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.cpp
@@ -0,0 +1,392 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : vstxsynth.cpp
+// Created by : Steinberg Media Technologies
+// Description : Example VstXSynth
+//
+// A simple 2 oscillators test 'synth',
+// Each oscillator has waveform, frequency, and volume
+//
+// *very* basic monophonic 'synth' example. you should not attempt to use this
+// example 'algorithm' to start a serious virtual instrument; it is intended to demonstrate
+// how VstEvents ('MIDI') are handled, but not how a virtual analog synth works.
+// there are numerous much better examples on the web which show how to deal with
+// bandlimited waveforms etc.
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#include "vstxsynth.h"
+#include "gmnames.h"
+
+//-------------------------------------------------------------------------------------------------------
+AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
+{
+ return new VstXSynth (audioMaster);
+}
+
+//-----------------------------------------------------------------------------------------
+// VstXSynthProgram
+//-----------------------------------------------------------------------------------------
+VstXSynthProgram::VstXSynthProgram ()
+{
+ // Default Program Values
+ fWaveform1 = 0.f; // saw
+ fFreq1 =.0f;
+ fVolume1 = .33f;
+
+ fWaveform2 = 1.f; // pulse
+ fFreq2 = .05f; // slightly higher
+ fVolume2 = .33f;
+
+ fVolume = .9f;
+ vst_strncpy (name, "Basic", kVstMaxProgNameLen);
+}
+
+//-----------------------------------------------------------------------------------------
+// VstXSynth
+//-----------------------------------------------------------------------------------------
+VstXSynth::VstXSynth (audioMasterCallback audioMaster)
+: AudioEffectX (audioMaster, kNumPrograms, kNumParams)
+{
+ // initialize programs
+ programs = new VstXSynthProgram[kNumPrograms];
+ for (VstInt32 i = 0; i < 16; i++)
+ channelPrograms[i] = i;
+
+ if (programs)
+ setProgram (0);
+
+ if (audioMaster)
+ {
+ setNumInputs (0); // no inputs
+ setNumOutputs (kNumOutputs); // 2 outputs, 1 for each oscillator
+ canProcessReplacing ();
+ isSynth ();
+ setUniqueID ('VxS2'); // <<<! *must* change this!!!!
+ }
+
+ initProcess ();
+ suspend ();
+}
+
+//-----------------------------------------------------------------------------------------
+VstXSynth::~VstXSynth ()
+{
+ if (programs)
+ delete[] programs;
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::setProgram (VstInt32 program)
+{
+ if (program < 0 || program >= kNumPrograms)
+ return;
+
+ VstXSynthProgram *ap = &programs[program];
+ curProgram = program;
+
+ fWaveform1 = ap->fWaveform1;
+ fFreq1 = ap->fFreq1;
+ fVolume1 = ap->fVolume1;
+
+ fWaveform2 = ap->fWaveform2;
+ fFreq2 = ap->fFreq2;
+ fVolume2 = ap->fVolume2;
+
+ fVolume = ap->fVolume;
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::setProgramName (char* name)
+{
+ vst_strncpy (programs[curProgram].name, name, kVstMaxProgNameLen);
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::getProgramName (char* name)
+{
+ vst_strncpy (name, programs[curProgram].name, kVstMaxProgNameLen);
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::getParameterLabel (VstInt32 index, char* label)
+{
+ switch (index)
+ {
+ case kWaveform1:
+ case kWaveform2:
+ vst_strncpy (label, "Shape", kVstMaxParamStrLen);
+ break;
+
+ case kFreq1:
+ case kFreq2:
+ vst_strncpy (label, "Hz", kVstMaxParamStrLen);
+ break;
+
+ case kVolume1:
+ case kVolume2:
+ case kVolume:
+ vst_strncpy (label, "dB", kVstMaxParamStrLen);
+ break;
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::getParameterDisplay (VstInt32 index, char* text)
+{
+ text[0] = 0;
+ switch (index)
+ {
+ case kWaveform1:
+ if (fWaveform1 < .5)
+ vst_strncpy (text, "Sawtooth", kVstMaxParamStrLen);
+ else
+ vst_strncpy (text, "Pulse", kVstMaxParamStrLen);
+ break;
+
+ case kFreq1: float2string (fFreq1, text, kVstMaxParamStrLen); break;
+ case kVolume1: dB2string (fVolume1, text, kVstMaxParamStrLen); break;
+
+ case kWaveform2:
+ if (fWaveform2 < .5)
+ vst_strncpy (text, "Sawtooth", kVstMaxParamStrLen);
+ else
+ vst_strncpy (text, "Pulse", kVstMaxParamStrLen);
+ break;
+
+ case kFreq2: float2string (fFreq2, text, kVstMaxParamStrLen); break;
+ case kVolume2: dB2string (fVolume2, text, kVstMaxParamStrLen); break;
+ case kVolume: dB2string (fVolume, text, kVstMaxParamStrLen); break;
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::getParameterName (VstInt32 index, char* label)
+{
+ switch (index)
+ {
+ case kWaveform1: vst_strncpy (label, "Wave 1", kVstMaxParamStrLen); break;
+ case kFreq1: vst_strncpy (label, "Freq 1", kVstMaxParamStrLen); break;
+ case kVolume1: vst_strncpy (label, "Levl 1", kVstMaxParamStrLen); break;
+ case kWaveform2: vst_strncpy (label, "Wave 2", kVstMaxParamStrLen); break;
+ case kFreq2: vst_strncpy (label, "Freq 2", kVstMaxParamStrLen); break;
+ case kVolume2: vst_strncpy (label, "Levl 2", kVstMaxParamStrLen); break;
+ case kVolume: vst_strncpy (label, "Volume", kVstMaxParamStrLen); break;
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::setParameter (VstInt32 index, float value)
+{
+ VstXSynthProgram *ap = &programs[curProgram];
+ switch (index)
+ {
+ case kWaveform1: fWaveform1 = ap->fWaveform1 = value; break;
+ case kFreq1: fFreq1 = ap->fFreq1 = value; break;
+ case kVolume1: fVolume1 = ap->fVolume1 = value; break;
+ case kWaveform2: fWaveform2 = ap->fWaveform2 = value; break;
+ case kFreq2: fFreq2 = ap->fFreq2 = value; break;
+ case kVolume2: fVolume2 = ap->fVolume2 = value; break;
+ case kVolume: fVolume = ap->fVolume = value; break;
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+float VstXSynth::getParameter (VstInt32 index)
+{
+ float value = 0;
+ switch (index)
+ {
+ case kWaveform1: value = fWaveform1; break;
+ case kFreq1: value = fFreq1; break;
+ case kVolume1: value = fVolume1; break;
+ case kWaveform2: value = fWaveform2; break;
+ case kFreq2: value = fFreq2; break;
+ case kVolume2: value = fVolume2; break;
+ case kVolume: value = fVolume; break;
+ }
+ return value;
+}
+
+//-----------------------------------------------------------------------------------------
+bool VstXSynth::getOutputProperties (VstInt32 index, VstPinProperties* properties)
+{
+ if (index < kNumOutputs)
+ {
+ vst_strncpy (properties->label, "Vstx ", 63);
+ char temp[11] = {0};
+ int2string (index + 1, temp, 10);
+ vst_strncat (properties->label, temp, 63);
+
+ properties->flags = kVstPinIsActive;
+ if (index < 2)
+ properties->flags |= kVstPinIsStereo; // make channel 1+2 stereo
+ return true;
+ }
+ return false;
+}
+
+//-----------------------------------------------------------------------------------------
+bool VstXSynth::getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text)
+{
+ if (index < kNumPrograms)
+ {
+ vst_strncpy (text, programs[index].name, kVstMaxProgNameLen);
+ return true;
+ }
+ return false;
+}
+
+//-----------------------------------------------------------------------------------------
+bool VstXSynth::getEffectName (char* name)
+{
+ vst_strncpy (name, "VstXSynth", kVstMaxEffectNameLen);
+ return true;
+}
+
+//-----------------------------------------------------------------------------------------
+bool VstXSynth::getVendorString (char* text)
+{
+ vst_strncpy (text, "Steinberg Media Technologies", kVstMaxVendorStrLen);
+ return true;
+}
+
+//-----------------------------------------------------------------------------------------
+bool VstXSynth::getProductString (char* text)
+{
+ vst_strncpy (text, "Vst Test Synth", kVstMaxProductStrLen);
+ return true;
+}
+
+//-----------------------------------------------------------------------------------------
+VstInt32 VstXSynth::getVendorVersion ()
+{
+ return 1000;
+}
+
+//-----------------------------------------------------------------------------------------
+VstInt32 VstXSynth::canDo (char* text)
+{
+ if (!strcmp (text, "receiveVstEvents"))
+ return 1;
+ if (!strcmp (text, "receiveVstMidiEvent"))
+ return 1;
+ if (!strcmp (text, "midiProgramNames"))
+ return 1;
+ return -1; // explicitly can't do; 0 => don't know
+}
+
+//-----------------------------------------------------------------------------------------
+VstInt32 VstXSynth::getNumMidiInputChannels ()
+{
+ return 1; // we are monophonic
+}
+
+//-----------------------------------------------------------------------------------------
+VstInt32 VstXSynth::getNumMidiOutputChannels ()
+{
+ return 0; // no MIDI output back to Host app
+}
+
+// midi program names:
+// as an example, GM names are used here. in fact, VstXSynth doesn't even support
+// multi-timbral operation so it's really just for demonstration.
+// a 'real' instrument would have a number of voices which use the
+// programs[channelProgram[channel]] parameters when it receives
+// a note on message.
+
+//------------------------------------------------------------------------
+VstInt32 VstXSynth::getMidiProgramName (VstInt32 channel, MidiProgramName* mpn)
+{
+ VstInt32 prg = mpn->thisProgramIndex;
+ if (prg < 0 || prg >= 128)
+ return 0;
+ fillProgram (channel, prg, mpn);
+ if (channel == 9)
+ return 1;
+ return 128L;
+}
+
+//------------------------------------------------------------------------
+VstInt32 VstXSynth::getCurrentMidiProgram (VstInt32 channel, MidiProgramName* mpn)
+{
+ if (channel < 0 || channel >= 16 || !mpn)
+ return -1;
+ VstInt32 prg = channelPrograms[channel];
+ mpn->thisProgramIndex = prg;
+ fillProgram (channel, prg, mpn);
+ return prg;
+}
+
+//------------------------------------------------------------------------
+void VstXSynth::fillProgram (VstInt32 channel, VstInt32 prg, MidiProgramName* mpn)
+{
+ mpn->midiBankMsb =
+ mpn->midiBankLsb = -1;
+ mpn->reserved = 0;
+ mpn->flags = 0;
+
+ if (channel == 9) // drums
+ {
+ vst_strncpy (mpn->name, "Standard", 63);
+ mpn->midiProgram = 0;
+ mpn->parentCategoryIndex = 0;
+ }
+ else
+ {
+ vst_strncpy (mpn->name, GmNames[prg], 63);
+ mpn->midiProgram = (char)prg;
+ mpn->parentCategoryIndex = -1; // for now
+
+ for (VstInt32 i = 0; i < kNumGmCategories; i++)
+ {
+ if (prg >= GmCategoriesFirstIndices[i] && prg < GmCategoriesFirstIndices[i + 1])
+ {
+ mpn->parentCategoryIndex = i;
+ break;
+ }
+ }
+ }
+}
+
+//------------------------------------------------------------------------
+VstInt32 VstXSynth::getMidiProgramCategory (VstInt32 channel, MidiProgramCategory* cat)
+{
+ cat->parentCategoryIndex = -1; // -1:no parent category
+ cat->flags = 0; // reserved, none defined yet, zero.
+ VstInt32 category = cat->thisCategoryIndex;
+ if (channel == 9)
+ {
+ vst_strncpy (cat->name, "Drums", 63);
+ return 1;
+ }
+ if (category >= 0 && category < kNumGmCategories)
+ vst_strncpy (cat->name, GmCategories[category], 63);
+ else
+ cat->name[0] = 0;
+ return kNumGmCategories;
+}
+
+//------------------------------------------------------------------------
+bool VstXSynth::hasMidiProgramsChanged (VstInt32 channel)
+{
+ return false; // updateDisplay ()
+}
+
+//------------------------------------------------------------------------
+bool VstXSynth::getMidiKeyName (VstInt32 channel, MidiKeyName* key)
+ // struct will be filled with information for 'thisProgramIndex' and 'thisKeyNumber'
+ // if keyName is "" the standard name of the key will be displayed.
+ // if false is returned, no MidiKeyNames defined for 'thisProgramIndex'.
+{
+ // key->thisProgramIndex; // >= 0. fill struct for this program index.
+ // key->thisKeyNumber; // 0 - 127. fill struct for this key number.
+ key->keyName[0] = 0;
+ key->reserved = 0; // zero
+ key->flags = 0; // reserved, none defined yet, zero.
+ return false;
+}
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.h
new file mode 100644
index 0000000..6212cac
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynth.h
@@ -0,0 +1,139 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : vstxsynth.h
+// Created by : Steinberg Media Technologies
+// Description : Example VstXSynth
+//
+// A simple 2 oscillators test 'synth',
+// Each oscillator has waveform, frequency, and volume
+//
+// *very* basic monophonic 'synth' example. you should not attempt to use this
+// example 'algorithm' to start a serious virtual instrument; it is intended to demonstrate
+// how VstEvents ('MIDI') are handled, but not how a virtual analog synth works.
+// there are numerous much better examples on the web which show how to deal with
+// bandlimited waveforms etc.
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __vstxsynth__
+#define __vstxsynth__
+
+#include "public.sdk/source/vst2.x/audioeffectx.h"
+
+//------------------------------------------------------------------------------------------
+enum
+{
+ // Global
+ kNumPrograms = 128,
+ kNumOutputs = 2,
+
+ // Parameters Tags
+ kWaveform1 = 0,
+ kFreq1,
+ kVolume1,
+
+ kWaveform2,
+ kFreq2,
+ kVolume2,
+
+ kVolume,
+
+ kNumParams
+};
+
+//------------------------------------------------------------------------------------------
+// VstXSynthProgram
+//------------------------------------------------------------------------------------------
+class VstXSynthProgram
+{
+friend class VstXSynth;
+public:
+ VstXSynthProgram ();
+ ~VstXSynthProgram () {}
+
+private:
+ float fWaveform1;
+ float fFreq1;
+ float fVolume1;
+
+ float fWaveform2;
+ float fFreq2;
+ float fVolume2;
+
+ float fVolume;
+ char name[kVstMaxProgNameLen+1];
+};
+
+//------------------------------------------------------------------------------------------
+// VstXSynth
+//------------------------------------------------------------------------------------------
+class VstXSynth : public AudioEffectX
+{
+public:
+ VstXSynth (audioMasterCallback audioMaster);
+ ~VstXSynth ();
+
+ virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
+ virtual VstInt32 processEvents (VstEvents* events);
+
+ virtual void setProgram (VstInt32 program);
+ virtual void setProgramName (char* name);
+ virtual void getProgramName (char* name);
+ virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text);
+
+ virtual void setParameter (VstInt32 index, float value);
+ virtual float getParameter (VstInt32 index);
+ virtual void getParameterLabel (VstInt32 index, char* label);
+ virtual void getParameterDisplay (VstInt32 index, char* text);
+ virtual void getParameterName (VstInt32 index, char* text);
+
+ virtual void setSampleRate (float sampleRate);
+ virtual void setBlockSize (VstInt32 blockSize);
+
+ virtual bool getOutputProperties (VstInt32 index, VstPinProperties* properties);
+
+ virtual bool getEffectName (char* name);
+ virtual bool getVendorString (char* text);
+ virtual bool getProductString (char* text);
+ virtual VstInt32 getVendorVersion ();
+ virtual VstInt32 canDo (char* text);
+
+ virtual VstInt32 getNumMidiInputChannels ();
+ virtual VstInt32 getNumMidiOutputChannels ();
+
+ virtual VstInt32 getMidiProgramName (VstInt32 channel, MidiProgramName* midiProgramName);
+ virtual VstInt32 getCurrentMidiProgram (VstInt32 channel, MidiProgramName* currentProgram);
+ virtual VstInt32 getMidiProgramCategory (VstInt32 channel, MidiProgramCategory* category);
+ virtual bool hasMidiProgramsChanged (VstInt32 channel);
+ virtual bool getMidiKeyName (VstInt32 channel, MidiKeyName* keyName);
+
+private:
+ float fWaveform1;
+ float fFreq1;
+ float fVolume1;
+ float fWaveform2;
+ float fFreq2;
+ float fVolume2;
+ float fVolume;
+ float fPhase1, fPhase2;
+ float fScaler;
+
+ VstXSynthProgram* programs;
+ VstInt32 channelPrograms[16];
+
+ VstInt32 currentNote;
+ VstInt32 currentVelocity;
+ VstInt32 currentDelta;
+ bool noteIsOn;
+
+ void initProcess ();
+ void noteOn (VstInt32 note, VstInt32 velocity, VstInt32 delta);
+ void noteOff ();
+ void fillProgram (VstInt32 channel, VstInt32 prg, MidiProgramName* mpn);
+};
+
+#endif
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynthproc.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynthproc.cpp
new file mode 100644
index 0000000..61debac
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source/vstxsynthproc.cpp
@@ -0,0 +1,178 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : vstxsynthproc.cpp
+// Created by : Steinberg Media Technologies
+// Description : Example VstXSynth
+//
+// A simple 2 oscillators test 'synth',
+// Each oscillator has waveform, frequency, and volume
+//
+// *very* basic monophonic 'synth' example. you should not attempt to use this
+// example 'algorithm' to start a serious virtual instrument; it is intended to demonstrate
+// how VstEvents ('MIDI') are handled, but not how a virtual analog synth works.
+// there are numerous much better examples on the web which show how to deal with
+// bandlimited waveforms etc.
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#include "vstxsynth.h"
+
+enum
+{
+ kNumFrequencies = 128, // 128 midi notes
+ kWaveSize = 4096 // samples (must be power of 2 here)
+};
+
+const double midiScaler = (1. / 127.);
+static float sawtooth[kWaveSize];
+static float pulse[kWaveSize];
+static float freqtab[kNumFrequencies];
+
+//-----------------------------------------------------------------------------------------
+// VstXSynth
+//-----------------------------------------------------------------------------------------
+void VstXSynth::setSampleRate (float sampleRate)
+{
+ AudioEffectX::setSampleRate (sampleRate);
+ fScaler = (float)((double)kWaveSize / (double)sampleRate);
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::setBlockSize (VstInt32 blockSize)
+{
+ AudioEffectX::setBlockSize (blockSize);
+ // you may need to have to do something here...
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::initProcess ()
+{
+ fPhase1 = fPhase2 = 0.f;
+ fScaler = (float)((double)kWaveSize / 44100.); // we don't know the sample rate yet
+ noteIsOn = false;
+ currentDelta = currentNote = currentDelta = 0;
+ VstInt32 i;
+
+ // make waveforms
+ VstInt32 wh = kWaveSize / 4; // 1:3 pulse
+ for (i = 0; i < kWaveSize; i++)
+ {
+ sawtooth[i] = (float)(-1. + (2. * ((double)i / (double)kWaveSize)));
+ pulse[i] = (i < wh) ? -1.f : 1.f;
+ }
+
+ // make frequency (Hz) table
+ double k = 1.059463094359; // 12th root of 2
+ double a = 6.875; // a
+ a *= k; // b
+ a *= k; // bb
+ a *= k; // c, frequency of midi note 0
+ for (i = 0; i < kNumFrequencies; i++) // 128 midi notes
+ {
+ freqtab[i] = (float)a;
+ a *= k;
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames)
+{
+ float* out1 = outputs[0];
+ float* out2 = outputs[1];
+
+ if (noteIsOn)
+ {
+ float baseFreq = freqtab[currentNote & 0x7f] * fScaler;
+ float freq1 = baseFreq + fFreq1; // not really linear...
+ float freq2 = baseFreq + fFreq2;
+ float* wave1 = (fWaveform1 < .5) ? sawtooth : pulse;
+ float* wave2 = (fWaveform2 < .5) ? sawtooth : pulse;
+ float wsf = (float)kWaveSize;
+ float vol = (float)(fVolume * (double)currentVelocity * midiScaler);
+ VstInt32 mask = kWaveSize - 1;
+
+ if (currentDelta > 0)
+ {
+ if (currentDelta >= sampleFrames) // future
+ {
+ currentDelta -= sampleFrames;
+ return;
+ }
+ memset (out1, 0, currentDelta * sizeof (float));
+ memset (out2, 0, currentDelta * sizeof (float));
+ out1 += currentDelta;
+ out2 += currentDelta;
+ sampleFrames -= currentDelta;
+ currentDelta = 0;
+ }
+
+ // loop
+ while (--sampleFrames >= 0)
+ {
+ // this is all very raw, there is no means of interpolation,
+ // and we will certainly get aliasing due to non-bandlimited
+ // waveforms. don't use this for serious projects...
+ (*out1++) = wave1[(VstInt32)fPhase1 & mask] * fVolume1 * vol;
+ (*out2++) = wave2[(VstInt32)fPhase2 & mask] * fVolume2 * vol;
+ fPhase1 += freq1;
+ fPhase2 += freq2;
+ }
+ }
+ else
+ {
+ memset (out1, 0, sampleFrames * sizeof (float));
+ memset (out2, 0, sampleFrames * sizeof (float));
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+VstInt32 VstXSynth::processEvents (VstEvents* ev)
+{
+ for (VstInt32 i = 0; i < ev->numEvents; i++)
+ {
+ if ((ev->events[i])->type != kVstMidiType)
+ continue;
+
+ VstMidiEvent* event = (VstMidiEvent*)ev->events[i];
+ char* midiData = event->midiData;
+ VstInt32 status = midiData[0] & 0xf0; // ignoring channel
+ if (status == 0x90 || status == 0x80) // we only look at notes
+ {
+ VstInt32 note = midiData[1] & 0x7f;
+ VstInt32 velocity = midiData[2] & 0x7f;
+ if (status == 0x80)
+ velocity = 0; // note off by velocity 0
+ if (!velocity && (note == currentNote))
+ noteOff ();
+ else
+ noteOn (note, velocity, event->deltaFrames);
+ }
+ else if (status == 0xb0)
+ {
+ if (midiData[1] == 0x7e || midiData[1] == 0x7b) // all notes off
+ noteOff ();
+ }
+ event++;
+ }
+ return 1;
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::noteOn (VstInt32 note, VstInt32 velocity, VstInt32 delta)
+{
+ currentNote = note;
+ currentVelocity = velocity;
+ currentDelta = delta;
+ noteIsOn = true;
+ fPhase1 = fPhase2 = 0;
+}
+
+//-----------------------------------------------------------------------------------------
+void VstXSynth::noteOff ()
+{
+ noteIsOn = false;
+}
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win/vstxsynth.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win/vstxsynth.vcproj
new file mode 100644
index 0000000..28d5914
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win/vstxsynth.vcproj
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="vstxsynth"
+ ProjectGUID="{863D9E7E-5322-49C8-89BA-A761DC0EE438}"
+ RootNamespace="vstxsynth"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;VSTXSYNTH_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;VSTXSYNTH_EXPORTS;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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="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>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ 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;_WINDOWS;_USRDLL;VSTXSYNTH_EXPORTS;_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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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="2"
+ 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;_WINDOWS;_USRDLL;VSTXSYNTH_EXPORTS;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"
+ ModuleDefinitionFile="../../win/vstplug.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ 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\gmnames.h"
+ >
+ </File>
+ <File
+ RelativePath="..\source\vstxsynth.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\source\vstxsynth.h"
+ >
+ </File>
+ <File
+ RelativePath="..\resource\vstxsynth.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\resource\vstxsynth.vstxml"
+ >
+ </File>
+ <File
+ RelativePath="..\source\vstxsynthproc.cpp"
+ >
+ </File>
+ <Filter
+ Name="vst2.x"
+ >
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\aeffeditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\audioeffectx.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\source\vst2.x\vstplugmain.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </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>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/adelay.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/adelay.vcproj
new file mode 100644
index 0000000..182711b
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/adelay.vcproj
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="adelay"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug/adelay"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ADELAY_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/adelay/adelay.pch"
+ AssemblerListingLocation=".\Debug/adelay/"
+ ObjectFile=".\Debug/adelay/"
+ ProgramDataBaseFileName=".\Debug/adelay/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/adelay.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/adelay.pdb"
+ ImportLibrary=".\Debug/adelay.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/adelay.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release/adelay"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;ADELAY_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/adelay/adelay.pch"
+ AssemblerListingLocation=".\Release/adelay/"
+ ObjectFile=".\Release/adelay/"
+ ProgramDataBaseFileName=".\Release/adelay/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/adelay.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ ProgramDatabaseFile=".\Release/adelay.pdb"
+ ImportLibrary=".\Release/adelay.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/adelay.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Interfaces"
+ Filter="">
+ <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>
+ <Filter
+ Name="Source Files"
+ Filter="">
+ <File
+ RelativePath="..\adelay\adelay.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\adelay\adelay.h">
+ </File>
+ <File
+ RelativePath="..\adelay\adelaymain.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <Filter
+ Name="vst2.x"
+ Filter="">
+ <File
+ RelativePath="..\..\..\source\vst2.x\aeffeditor.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\vstplugmain.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;ADELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath="..\win\vstplug.def">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/again.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/again.vcproj
new file mode 100644
index 0000000..77124fe
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/again.vcproj
@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="again"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug/again"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;AGAIN_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/again/again.pch"
+ AssemblerListingLocation=".\Debug/again/"
+ ObjectFile=".\Debug/again/"
+ ProgramDataBaseFileName=".\Debug/again/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/again.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/again.pdb"
+ ImportLibrary=".\Debug/again.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/again.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release/again"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;AGAIN_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/again/again.pch"
+ AssemblerListingLocation=".\Release/again/"
+ ObjectFile=".\Release/again/"
+ ProgramDataBaseFileName=".\Release/again/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/again.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ ProgramDatabaseFile=".\Release/again.pdb"
+ ImportLibrary=".\Release/again.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/again.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Interfaces"
+ Filter="">
+ <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>
+ <Filter
+ Name="Source Files"
+ Filter="">
+ <File
+ RelativePath="..\again\source\again.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\again\source\again.h">
+ </File>
+ <Filter
+ Name="vst2.x"
+ Filter="">
+ <File
+ RelativePath="..\..\..\source\vst2.x\aeffeditor.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\vstplugmain.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;AGAIN_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath="..\win\vstplug.def">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/minihost.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/minihost.vcproj
new file mode 100644
index 0000000..307aac3
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/minihost.vcproj
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="minihost"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release/minihost"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ StringPooling="TRUE"
+ RuntimeLibrary="4"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/minihost/minihost.pch"
+ AssemblerListingLocation=".\Release/minihost/"
+ ObjectFile=".\Release/minihost/"
+ ProgramDataBaseFileName=".\Release/minihost/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/minihost.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/minihost.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Release/minihost.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug/minihost"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/minihost/minihost.pch"
+ AssemblerListingLocation=".\Debug/minihost/"
+ ObjectFile=".\Debug/minihost/"
+ ProgramDataBaseFileName=".\Debug/minihost/"
+ BrowseInformation="1"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/minihost.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/minihost.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Debug/minihost.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Interfaces"
+ Filter="">
+ <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>
+ <Filter
+ Name="Source Files"
+ Filter="">
+ <File
+ RelativePath="..\minihost\source\minieditor.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\minihost\source\minihost.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/surrounddelay.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/surrounddelay.vcproj
new file mode 100644
index 0000000..53f21aa
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/surrounddelay.vcproj
@@ -0,0 +1,412 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="surrounddelay"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug/surrounddelay"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../..,..\..\..\vstgui,..\..\..\..\public.sdk\source\vst2.x"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SURROUNDDELAY_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/surrounddelay/surrounddelay.pch"
+ AssemblerListingLocation=".\Debug/surrounddelay/"
+ ObjectFile=".\Debug/surrounddelay/"
+ ProgramDataBaseFileName=".\Debug/surrounddelay/"
+ BrowseInformation="1"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/surrounddelay.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/surrounddelay.pdb"
+ ImportLibrary=".\Debug/surrounddelay.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/surrounddelay.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release/surrounddelay"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../../..,..\..\..\vstgui,..\..\..\..\public.sdk\source\vst2.x"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SURROUNDDELAY_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/surrounddelay/surrounddelay.pch"
+ AssemblerListingLocation=".\Release/surrounddelay/"
+ ObjectFile=".\Release/surrounddelay/"
+ ProgramDataBaseFileName=".\Release/surrounddelay/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/surrounddelay.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ ProgramDatabaseFile=".\Release/surrounddelay.pdb"
+ ImportLibrary=".\Release/surrounddelay.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/surrounddelay.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Interfaces"
+ Filter="">
+ <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>
+ <Filter
+ Name="Source Files"
+ Filter="">
+ <File
+ RelativePath="..\adelay\adelay.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\adelay\adelay.h">
+ </File>
+ <File
+ RelativePath="..\adelay\editor\sdeditor.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\adelay\editor\sdeditor.h">
+ </File>
+ <File
+ RelativePath="..\adelay\surrounddelay.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\adelay\surrounddelay.h">
+ </File>
+ <Filter
+ Name="vst2.x"
+ Filter="">
+ <File
+ RelativePath="..\..\..\source\vst2.x\aeffeditor.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\vstplugmain.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="vstgui"
+ Filter="">
+ <File
+ RelativePath="..\..\..\..\vstgui.sf\vstgui\aeffguieditor.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\..\vstgui.sf\vstgui\aeffguieditor.h">
+ </File>
+ <File
+ RelativePath="..\..\..\..\vstgui.sf\vstgui\vstcontrols.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\..\vstgui.sf\vstgui\vstcontrols.h">
+ </File>
+ <File
+ RelativePath="..\..\..\..\vstgui.sf\vstgui\vstgui.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;SURROUNDDELAY_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\..\vstgui.sf\vstgui\vstgui.h">
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath="..\adelay\editor\resources\surrounddelay.rc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions=""
+ AdditionalIncludeDirectories="\vstsdk2.4\public.sdk\samples\vst2.x\adelay\editor\resources"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions=""
+ AdditionalIncludeDirectories="\vstsdk2.4\public.sdk\samples\vst2.x\adelay\editor\resources"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\win\vstplug.def">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/vstxsynth.vcproj b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/vstxsynth.vcproj
new file mode 100644
index 0000000..df11232
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003/vstxsynth.vcproj
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="vstxsynth"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug/vstxsynth"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;VSTXSYNTH_EXPORTS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/vstxsynth/vstxsynth.pch"
+ AssemblerListingLocation=".\Debug/vstxsynth/"
+ ObjectFile=".\Debug/vstxsynth/"
+ ProgramDataBaseFileName=".\Debug/vstxsynth/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Debug/vstxsynth.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/vstxsynth.pdb"
+ ImportLibrary=".\Debug/vstxsynth.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/vstxsynth.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release/vstxynth"
+ ConfigurationType="2"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../../.."
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;VSTXSYNTH_EXPORTS"
+ StringPooling="TRUE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/vstxynth/vstxsynth.pch"
+ AssemblerListingLocation=".\Release/vstxynth/"
+ ObjectFile=".\Release/vstxynth/"
+ ProgramDataBaseFileName=".\Release/vstxynth/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile=".\Release/vstxsynth.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ModuleDefinitionFile="..\win\vstplug.def"
+ ProgramDatabaseFile=".\Release/vstxsynth.pdb"
+ ImportLibrary=".\Release/vstxsynth.lib"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/vstxsynth.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1031"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Interfaces"
+ Filter="">
+ <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>
+ <Filter
+ Name="Source Files"
+ Filter="">
+ <File
+ RelativePath="..\vstxsynth\source\gmnames.h">
+ </File>
+ <File
+ RelativePath="..\vstxsynth\source\vstxsynth.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\vstxsynth\source\vstxsynth.h">
+ </File>
+ <File
+ RelativePath="..\vstxsynth\source\vstxsynthproc.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <Filter
+ Name="vst2.x"
+ Filter="">
+ <File
+ RelativePath="..\..\..\source\vst2.x\aeffeditor.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffect.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\audioeffectx.h">
+ </File>
+ <File
+ RelativePath="..\..\..\source\vst2.x\vstplugmain.cpp">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;VSTXSYNTH_EXPORTS;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath="..\win\vstplug.def">
+ </File>
+ <File
+ RelativePath="..\vstxsynth\resource\vstxsynth.rc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions=""
+ AdditionalIncludeDirectories="\vstsdk2.4\public.sdk\samples\vst2.x\vstxsynth\resource"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions=""
+ AdditionalIncludeDirectories="\vstsdk2.4\public.sdk\samples\vst2.x\vstxsynth\resource"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\vstxsynth\resource\vstxsynth.vstxml">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/adelay.dsp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/adelay.dsp
new file mode 100644
index 0000000..95507b9
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/adelay.dsp
@@ -0,0 +1,155 @@
+# Microsoft Developer Studio Project File - Name="adelay" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=adelay - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "adelay.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "adelay.mak" CFG="adelay - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "adelay - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "adelay - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "adelay - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release/adelay"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ADELAY_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ADELAY_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "adelay - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "adelay___Win32_Debug"
+# PROP BASE Intermediate_Dir "adelay___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug/adelay"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ADELAY_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ADELAY_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "adelay - Win32 Release"
+# Name "adelay - Win32 Debug"
+# Begin Group "Interfaces"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\vstfxstore.h
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Group "vst2.x"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\aeffeditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\vstplugmain.cpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\adelay\adelay.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\adelay.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\adelaymain.cpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\win\vstplug.def
+# End Source File
+# End Target
+# End Project
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/again.dsp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/again.dsp
new file mode 100644
index 0000000..cbd1cf5
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/again.dsp
@@ -0,0 +1,151 @@
+# Microsoft Developer Studio Project File - Name="again" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=again - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "again.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "again.mak" CFG="again - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "again - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "again - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "again - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release/again"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AGAIN_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AGAIN_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "again - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug/again"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AGAIN_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AGAIN_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "again - Win32 Release"
+# Name "again - Win32 Debug"
+# Begin Group "Interfaces"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\vstfxstore.h
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Group "vst2.x"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\aeffeditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\vstplugmain.cpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\again\source\again.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\again\source\again.h
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\win\vstplug.def
+# End Source File
+# End Target
+# End Project
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/minihost.dsp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/minihost.dsp
new file mode 100644
index 0000000..826795d
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/minihost.dsp
@@ -0,0 +1,114 @@
+# Microsoft Developer Studio Project File - Name="minihost" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=minihost - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "minihost.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "minihost.mak" CFG="minihost - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "minihost - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "minihost - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "minihost - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release/minihost"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../../../.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "minihost - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "minihost___Win32_Debug"
+# PROP BASE Intermediate_Dir "minihost___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug/minihost"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "minihost - Win32 Release"
+# Name "minihost - Win32 Debug"
+# Begin Group "Interfaces"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\vstfxstore.h
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\minihost\source\minieditor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\minihost\source\minihost.cpp
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/samples.dsw b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/samples.dsw
new file mode 100644
index 0000000..0d076af
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/samples.dsw
@@ -0,0 +1,89 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "adelay"=.\adelay.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "again"=.\again.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "drawtest"=..\..\..\..\VSTGUI.SF\DRAWTEST\WIN.VC6\drawtest.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "minihost"=.\minihost.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "surrounddelay"=.\surrounddelay.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "vstxsynth"=.\vstxsynth.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/surrounddelay.dsp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/surrounddelay.dsp
new file mode 100644
index 0000000..bfbd7e8
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/surrounddelay.dsp
@@ -0,0 +1,199 @@
+# Microsoft Developer Studio Project File - Name="surrounddelay" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=surrounddelay - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "surrounddelay.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "surrounddelay.mak" CFG="surrounddelay - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "surrounddelay - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "surrounddelay - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "surrounddelay - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release/surrounddelay"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SURROUNDDELAY_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../.." /I "..\..\..\vstgui" /I "..\..\..\..\public.sdk\source\vst2.x" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SURROUNDDELAY_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "surrounddelay - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "surrounddelay___Win32_Debug"
+# PROP BASE Intermediate_Dir "surrounddelay___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug/surrounddelay"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SURROUNDDELAY_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../.." /I "..\..\..\vstgui" /I "..\..\..\..\public.sdk\source\vst2.x" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SURROUNDDELAY_EXPORTS" /FR /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "surrounddelay - Win32 Release"
+# Name "surrounddelay - Win32 Debug"
+# Begin Group "Interfaces"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\vstfxstore.h
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Group "vst2.x"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\aeffeditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\vstplugmain.cpp
+# End Source File
+# End Group
+# Begin Group "vstgui"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\vstgui.sf\vstgui\aeffguieditor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\vstgui.sf\vstgui\aeffguieditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\vstgui.sf\vstgui\vstcontrols.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\vstgui.sf\vstgui\vstcontrols.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\vstgui.sf\vstgui\vstgui.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\vstgui.sf\vstgui\vstgui.h
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\adelay\adelay.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\adelay.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\editor\sdeditor.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\editor\sdeditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\surrounddelay.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\adelay\surrounddelay.h
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\adelay\editor\resources\surrounddelay.rc
+# End Source File
+# Begin Source File
+
+SOURCE=..\win\vstplug.def
+# End Source File
+# End Target
+# End Project
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/vstxsynth.dsp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/vstxsynth.dsp
new file mode 100644
index 0000000..bc4c380
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win.vc6/vstxsynth.dsp
@@ -0,0 +1,167 @@
+# Microsoft Developer Studio Project File - Name="vstxsynth" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=vstxsynth - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "vstxsynth.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "vstxsynth.mak" CFG="vstxsynth - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "vstxsynth - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "vstxsynth - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "vstxsynth - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release/vstxynth"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VSTXSYNTH_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VSTXSYNTH_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "vstxsynth - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "vstxsynth___Win32_Debug"
+# PROP BASE Intermediate_Dir "vstxsynth___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug/vstxsynth"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VSTXSYNTH_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "VSTXSYNTH_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "vstxsynth - Win32 Release"
+# Name "vstxsynth - Win32 Debug"
+# Begin Group "Interfaces"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\aeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\pluginterfaces\vst2.x\vstfxstore.h
+# End Source File
+# End Group
+# Begin Group "Source Files"
+
+# PROP Default_Filter ""
+# Begin Group "vst2.x"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\aeffeditor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffect.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\audioeffectx.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\source\vst2.x\vstplugmain.cpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\vstxsynth\source\gmnames.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\vstxsynth\source\vstxsynth.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\vstxsynth\source\vstxsynth.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\vstxsynth\source\vstxsynthproc.cpp
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\win\vstplug.def
+# End Source File
+# Begin Source File
+
+SOURCE=..\vstxsynth\resource\vstxsynth.rc
+# End Source File
+# Begin Source File
+
+SOURCE=..\vstxsynth\resource\vstxsynth.vstxml
+# End Source File
+# End Target
+# End Project
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win/vstplug.def b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win/vstplug.def
new file mode 100644
index 0000000..081bdbd
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/win/vstplug.def
@@ -0,0 +1,3 @@
+EXPORTS
+ VSTPluginMain
+ main=VSTPluginMain \ No newline at end of file