00001 //------------------------------------------------------------------------ 00002 // Project : VST SDK 00003 // Version : 3.0 00004 // 00005 // Category : Examples 00006 // Filename : againeditor.h 00007 // Created by : Steinberg, 04/2005 00008 // Modified : $Date: 2008/01/15 15:00:26 $ 00009 // Description : AGain Editor Example using VSTGUI 3.5 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 __againeditor__ 00036 #define __againeditor__ 00037 00038 #include "public.sdk/source/vst/vstguieditor.h" 00039 00040 using namespace Steinberg::Vst; 00041 00042 //------------------------------------------------------------------------ 00043 // AGainEditorView Declaration 00044 //------------------------------------------------------------------------ 00045 class AGainEditorView: public VSTGUIEditor, 00046 public CControlListener 00047 { 00048 public: 00049 //------------------------------------------------------------------------ 00050 AGainEditorView (void* controller); 00051 00052 //---from VSTGUIEditor--------------- 00053 bool PLUGIN_API open (void* parent); 00054 void PLUGIN_API close (); 00055 CMessageResult notify (CBaseObject* sender, const char* message); 00056 00057 //---from CControlListener--------- 00058 void valueChanged (CControl* pControl); 00059 void controlBeginEdit (CControl* pControl); 00060 void controlEndEdit (CControl* pControl); 00061 00062 //---from EditorView--------------- 00063 tresult PLUGIN_API onSize (ViewRect* newSize); 00064 00065 //---Internal Function------------------ 00066 void update (ParamID tag, ParamValue value); 00067 void messageTextChanged (); 00068 00069 //------------------------------------------------------------------------ 00070 protected: 00071 CTextEdit* textEdit; 00072 CHorizontalSlider* gainSlider; 00073 CTextEdit* gainTextEdit; 00074 CVuMeter* vuMeter; 00075 float lastVuMeterValue; 00076 }; 00077 00078 #endif