diff options
Diffstat (limited to 'vendor/vstsdk2.4/public.sdk/source/vst2.x/aeffeditor.h')
| -rw-r--r-- | vendor/vstsdk2.4/public.sdk/source/vst2.x/aeffeditor.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/public.sdk/source/vst2.x/aeffeditor.h b/vendor/vstsdk2.4/public.sdk/source/vst2.x/aeffeditor.h new file mode 100644 index 0000000..d23630a --- /dev/null +++ b/vendor/vstsdk2.4/public.sdk/source/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__ |
