summaryrefslogtreecommitdiff
path: root/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h')
-rw-r--r--vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h
new file mode 100644
index 0000000..3ec990b
--- /dev/null
+++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/aeffguieditor.h
@@ -0,0 +1,113 @@
+//-----------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// VSTGUI: Graphical User Interface Framework for VST plugins
+//
+// Version 3.0 Date : 30/06/04
+//
+//-----------------------------------------------------------------------------
+//
+//-----------------------------------------------------------------------------
+// VSTGUI LICENSE
+// © 2004, Steinberg Media Technologies, All Rights Reserved
+//-----------------------------------------------------------------------------
+// Redistribution and use in source and binary forms, with or without modification,
+// are permitted provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice,
+// this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+// * Neither the name of the Steinberg Media Technologies nor the names of its
+// contributors may be used to endorse or promote products derived from this
+// software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+// OF THE POSSIBILITY OF SUCH DAMAGE.
+//-----------------------------------------------------------------------------
+
+#ifndef __aeffguieditor__
+#define __aeffguieditor__
+
+#ifndef __aeffeditor__
+#include "aeffeditor.h"
+#endif
+
+#ifndef __vstgui__
+#include "vstgui.h"
+#endif
+
+//-----------------------------------------------------------------------------
+// AEffGUIEditor Declaration
+//-----------------------------------------------------------------------------
+class AEffGUIEditor : public AEffEditor
+{
+public:
+//-----------------------------------------------------------------------------
+ AEffGUIEditor (AudioEffect* effect);
+ ~AEffGUIEditor ();
+
+ // get the CFrame object
+ #if USE_NAMESPACE
+ VSTGUI::CFrame* getFrame () { return frame; }
+ #else
+ CFrame* getFrame () { return frame; }
+ #endif
+
+ virtual void setParameter (VstInt32 index, float value);
+ virtual void beginEdit (VstInt32 index);
+ virtual void endEdit (VstInt32 index);
+
+ // feedback to application
+ virtual void doIdleStuff ();
+
+ // wait (in ms)
+ void wait (unsigned int ms);
+
+ // get the current time (in ms)
+ unsigned int getTicks ();
+
+ // get version of this VSTGUI
+ static int getVstGuiVersion () { return (VSTGUI_VERSION_MAJOR << 16) + VSTGUI_VERSION_MINOR; }
+
+ // get the knob mode
+ static VstInt32 getKnobMode () { return knobMode; }
+//-----------------------------------------------------------------------------
+// AEffEditor overrides:
+//-----------------------------------------------------------------------------
+ bool getRect (ERect** rect);
+ void idle ();
+
+ #if MAC
+ void DECLARE_VST_DEPRECATED (draw) (ERect* rect);
+ VstInt32 DECLARE_VST_DEPRECATED (mouse) (VstInt32 x, VstInt32 y);
+ #endif
+
+ #if VST_2_1_EXTENSIONS
+ bool onKeyDown (VstKeyCode& keyCode);
+ bool onKeyUp (VstKeyCode& keyCode);
+ bool onWheel (float distance);
+ bool setKnobMode (VstInt32 val);
+ #endif
+//-----------------------------------------------------------------------------
+protected:
+ ERect rect;
+ unsigned int lLastTicks;
+ bool inIdleStuff;
+ static VstInt32 knobMode;
+ #if USE_NAMESPACE
+ VSTGUI::CFrame* frame;
+ #else
+ CFrame* frame;
+ #endif
+};
+
+#endif