74 lines
1.9 KiB
C++
74 lines
1.9 KiB
C++
// This file is part of VSTGUI. It is subject to the license terms
|
|
// in the LICENSE file found in the top-level directory of this
|
|
// distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
|
|
|
|
#ifndef __aeffguieditor__
|
|
#define __aeffguieditor__
|
|
|
|
#ifndef __aeffeditor__
|
|
#include "public.sdk/source/vst2.x/aeffeditor.h"
|
|
#endif
|
|
|
|
#ifndef __audioeffectx__
|
|
#include "public.sdk/source/vst2.x/audioeffectx.h"
|
|
#endif
|
|
|
|
#include "../vstgui.h"
|
|
|
|
namespace VSTGUI {
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// AEffGUIEditor Declaration
|
|
//-----------------------------------------------------------------------------
|
|
class AEffGUIEditor : public AEffEditor, public VSTGUIEditorInterface
|
|
{
|
|
public :
|
|
|
|
AEffGUIEditor (void* pEffect);
|
|
|
|
virtual ~AEffGUIEditor ();
|
|
|
|
virtual void setParameter (VstInt32 index, float value) {}
|
|
virtual bool getRect (ERect** ppRect);
|
|
virtual bool open (void* ptr);
|
|
virtual void idle ();
|
|
|
|
#if VST_2_1_EXTENSIONS
|
|
virtual bool onKeyDown (VstKeyCode& keyCode);
|
|
virtual bool onKeyUp (VstKeyCode& keyCode);
|
|
#endif
|
|
|
|
// feedback to appli.
|
|
virtual void doIdleStuff ();
|
|
|
|
// get the effect attached to this editor
|
|
AudioEffect* getEffect () { return effect; }
|
|
|
|
// get version of this VSTGUI
|
|
int32_t getVstGuiVersion () { return (VSTGUI_VERSION_MAJOR << 16) + VSTGUI_VERSION_MINOR; }
|
|
|
|
// set/get the knob mode
|
|
virtual bool setKnobMode (int32_t val);
|
|
virtual int32_t getKnobMode () const { return knobMode; }
|
|
|
|
virtual bool beforeSizeChange (const CRect& newSize, const CRect& oldSize);
|
|
|
|
virtual bool onWheel (float distance);
|
|
|
|
#if VST_2_1_EXTENSIONS
|
|
virtual void beginEdit (int32_t index) { ((AudioEffectX*)effect)->beginEdit (index); }
|
|
virtual void endEdit (int32_t index) { ((AudioEffectX*)effect)->endEdit (index); }
|
|
#endif
|
|
|
|
//---------------------------------------
|
|
protected:
|
|
ERect rect;
|
|
|
|
private:
|
|
static int32_t knobMode;
|
|
};
|
|
|
|
} // VSTGUI
|
|
|
|
#endif
|