againcontroller.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------
00002 // Project     : VST SDK
00003 // Version     : 3.0
00004 //
00005 // Category    : Examples
00006 // Filename    : againcontroller.h
00007 // Created by  : Steinberg, 04/2005
00008 // Modified    : $Date: 2008/01/15 15:00:26 $
00009 // Description : AGain Editor Example for VST 3.0
00010 //-----------------------------------------------------------------------------
00011 // LICENSE
00012 // © 2008, Steinberg Media Technologies GmbH, All Rights Reserved
00013 //-----------------------------------------------------------------------------
00014 // This Software Development Kit may not be distributed in parts or its entirety  
00015 // without prior written agreement by Steinberg Media Technologies GmbH. 
00016 // This SDK must not be used to re-engineer or manipulate any technology used  
00017 // in any Steinberg or Third-party application or software module, 
00018 // unless permitted by law.
00019 // Neither the name of the Steinberg Media Technologies nor the names of its
00020 // contributors may be used to endorse or promote products derived from this 
00021 // software without specific prior written permission.
00022 // 
00023 // THIS SDK IS PROVIDED BY STEINBERG MEDIA TECHNOLOGIES GMBH "AS IS" AND
00024 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
00025 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00026 // IN NO EVENT SHALL STEINBERG MEDIA TECHNOLOGIES GMBH BE LIABLE FOR ANY DIRECT, 
00027 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
00028 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
00029 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
00030 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
00031 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
00032 // OF THE POSSIBILITY OF SUCH DAMAGE.
00033 //-----------------------------------------------------------------------------
00034 
00035 #ifndef __againcontroller__
00036 #define __againcontroller__
00037 
00038 #include "public.sdk/source/vst/vsteditcontroller.h"
00039 
00040 using namespace Steinberg::Vst;
00041 
00042 class AGainEditorView;
00043 
00044 //------------------------------------------------------------------------
00045 // AGainController
00046 //------------------------------------------------------------------------
00047 class AGainController: public EditController
00048 {
00049 public:
00050 //------------------------------------------------------------------------
00051 // create function required for plugin factory,
00052 // it will be called to create new instances of this controller
00053 //------------------------------------------------------------------------
00054         static FUnknown* createInstance (void* context)
00055         {
00056                 return (IEditController*)new AGainController;
00057         }
00058 
00059         //---from IPluginBase--------
00060         tresult PLUGIN_API initialize (FUnknown* context);
00061         tresult PLUGIN_API terminate  ();
00062 
00063         //---from EditController-----
00064         tresult PLUGIN_API setComponentState (IBStream* state);
00065         IPlugView* PLUGIN_API createView (const char* name);
00066         tresult PLUGIN_API setState (IBStream* state);
00067         tresult PLUGIN_API getState (IBStream* state);
00068         tresult PLUGIN_API setParamNormalized (ParamID tag, ParamValue value);
00069         tresult PLUGIN_API getParamStringByValue (ParamID tag, ParamValue valueNormalized, String128 string);
00070         tresult PLUGIN_API getParamValueByString (ParamID tag, TChar* string, ParamValue& valueNormalized);
00071 
00072         //---from ComponentBase-----
00073         tresult receiveText (const char* text);
00074 
00075         //---Internal functions-------
00076         void addDependentView (AGainEditorView* view);
00077         void removeDependentView (AGainEditorView* view);
00078 
00079         void setDefaultMessageText (String128 text);
00080         TChar* getDefaultMessageText ();
00081 //------------------------------------------------------------------------
00082 
00083 private:
00084         CArray viewsArray;
00085         String128 defaultMessageText;
00086 };
00087 
00088 #endif
Empty

Copyright ©2008 Steinberg Media Technologies. All Rights Reserved.