aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/WinVST/Wider/vst2.x/aeffeditor.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/WinVST/Wider/vst2.x/aeffeditor.h')
-rwxr-xr-xplugins/WinVST/Wider/vst2.x/aeffeditor.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/plugins/WinVST/Wider/vst2.x/aeffeditor.h b/plugins/WinVST/Wider/vst2.x/aeffeditor.h
new file mode 100755
index 0000000..04f7339
--- /dev/null
+++ b/plugins/WinVST/Wider/vst2.x/aeffeditor.h
@@ -0,0 +1,61 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/01/12 09:05:31 $
+//
+// Category : VST 2.x Classes
+// Filename : aeffeditor.h
+// Created by : Steinberg Media Technologies
+// Description : Editor Class for VST Plug-Ins
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __aeffeditor__
+#define __aeffeditor__
+
+#include "audioeffectx.h"
+
+//-------------------------------------------------------------------------------------------------------
+/** VST Effect Editor class. */
+//-------------------------------------------------------------------------------------------------------
+class AEffEditor
+{
+public:
+//-------------------------------------------------------------------------------------------------------
+ AEffEditor (AudioEffect* effect = 0) ///< Editor class constructor. Requires pointer to associated effect instance.
+ : effect (effect)
+ , systemWindow (0)
+ {}
+
+ virtual ~AEffEditor () ///< Editor class destructor.
+ {}
+
+ virtual AudioEffect* getEffect () { return effect; } ///< Returns associated effect instance
+ virtual bool getRect (ERect** rect) { *rect = 0; return false; } ///< Query editor size as #ERect
+ virtual bool open (void* ptr) { systemWindow = ptr; return 0; } ///< Open editor, pointer to parent windows is platform-dependent (HWND on Windows, WindowRef on Mac).
+ virtual void close () { systemWindow = 0; } ///< Close editor (detach from parent window)
+ virtual bool isOpen () { return systemWindow != 0; } ///< Returns true if editor is currently open
+ virtual void idle () {} ///< Idle call supplied by Host application
+
+#if TARGET_API_MAC_CARBON
+ virtual void DECLARE_VST_DEPRECATED (draw) (ERect* rect) {}
+ virtual VstInt32 DECLARE_VST_DEPRECATED (mouse) (VstInt32 x, VstInt32 y) { return 0; }
+ virtual VstInt32 DECLARE_VST_DEPRECATED (key) (VstInt32 keyCode) { return 0; }
+ virtual void DECLARE_VST_DEPRECATED (top) () {}
+ virtual void DECLARE_VST_DEPRECATED (sleep) () {}
+#endif
+
+#if VST_2_1_EXTENSIONS
+ virtual bool onKeyDown (VstKeyCode& keyCode) { return false; } ///< Receive key down event. Return true only if key was really used!
+ virtual bool onKeyUp (VstKeyCode& keyCode) { return false; } ///< Receive key up event. Return true only if key was really used!
+ virtual bool onWheel (float distance) { return false; } ///< Handle mouse wheel event, distance is positive or negative to indicate wheel direction.
+ virtual bool setKnobMode (VstInt32 val) { return false; } ///< Set knob mode (if supported by Host). See CKnobMode in VSTGUI.
+#endif
+
+//-------------------------------------------------------------------------------------------------------
+protected:
+ AudioEffect* effect; ///< associated effect instance
+ void* systemWindow; ///< platform-dependent parent window (HWND or WindowRef)
+};
+
+#endif // __aeffeditor__