From 58f8437f4b8b741ddc8e7bcde21bf983cc618430 Mon Sep 17 00:00:00 2001 From: pepper Date: Sat, 10 Jan 2015 21:37:24 -0800 Subject: added vstsdk --- vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h | 122 ++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h (limited to 'vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h') diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h new file mode 100644 index 0000000..11c27ab --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/plugguieditor.h @@ -0,0 +1,122 @@ +//----------------------------------------------------------------------------- +// 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 __plugguieditor__ +#define __plugguieditor__ + +#ifndef __vstgui__ +#include "vstgui.h" +#endif + +//---------------------------------------------------------------------- +struct ERect +{ + short top; + short left; + short bottom; + short right; +}; + +//----------------------------------------------------------------------------- +// AEffGUIEditor Declaration +//----------------------------------------------------------------------------- +class PluginGUIEditor +{ +public : + + PluginGUIEditor (void *pEffect); + + virtual ~PluginGUIEditor (); + + virtual void setParameter (long index, float value) {} + virtual long getRect (ERect **ppRect); + virtual bool open (void *ptr); + virtual void close () { systemWindow = 0; } + virtual void idle (); + virtual void draw (ERect *pRect); + + // wait (in ms) + void wait (unsigned long ms); + + // get the current time (in ms) + unsigned long getTicks (); + + // feedback to appli. + virtual void doIdleStuff (); + + // get the effect attached to this editor + void *getEffect () { return effect; } + + // get version of this VSTGUI + long getVstGuiVersion () { return (VSTGUI_VERSION_MAJOR << 16) + VSTGUI_VERSION_MINOR; } + + // set/get the knob mode + virtual long setKnobMode (int val); + static long getKnobMode () { return knobMode; } + + virtual bool onWheel (float distance); + + // get the CFrame object + #if USE_NAMESPACE + VSTGUI::CFrame *getFrame () { return frame; } + #else + CFrame *getFrame () { return frame; } + #endif + + virtual void beginEdit (long index) {} + virtual void endEdit (long index) {} + +//--------------------------------------- +protected: + ERect rect; + + #if USE_NAMESPACE + VSTGUI::CFrame *frame; + #else + CFrame *frame; + #endif + + void* effect; + void* systemWindow; + +private: + unsigned long lLastTicks; + bool inIdleStuff; + + static long knobMode; +}; + +#endif -- cgit v1.2.3-70-g09d2