annotate Source/GUI.h @ 13:989865d55c73 tip

Commit.
author martinm_home <martin.morrell@eecs.qmul.ac.uk>
date Thu, 27 Sep 2012 23:30:29 +0100
parents 87dc3d84c120
children
rev   line source
martin@0 1 //-----------------------------------------------------------------------------
martin@0 2 // VSTGUI: Graphical User Interface Framework for VST plugins :
martin@0 3 //
martin@0 4 // Version 3.5
martin@0 5 //
martin@0 6 //-----------------------------------------------------------------------------
martin@0 7 // VSTGUI LICENSE
martin@0 8 // © 2008, Steinberg Media Technologies, All Rights Reserved
martin@0 9 //-----------------------------------------------------------------------------
martin@0 10 // Redistribution and use in source and binary forms, with or without modification,
martin@0 11 // are permitted provided that the following conditions are met:
martin@0 12 //
martin@0 13 // * Redistributions of source code must retain the above copyright notice,
martin@0 14 // this list of conditions and the following disclaimer.
martin@0 15 // * Redistributions in binary form must reproduce the above copyright notice,
martin@0 16 // this list of conditions and the following disclaimer in the documentation
martin@0 17 // and/or other materials provided with the distribution.
martin@0 18 // * Neither the name of the Steinberg Media Technologies nor the names of its
martin@0 19 // contributors may be used to endorse or promote products derived from this
martin@0 20 // software without specific prior written permission.
martin@0 21 //
martin@0 22 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
martin@0 23 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
martin@0 24 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
martin@0 25 // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
martin@0 26 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
martin@0 27 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
martin@0 28 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
martin@0 29 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
martin@0 30 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
martin@0 31 // OF THE POSSIBILITY OF SUCH DAMAGE.
martin@0 32 //-----------------------------------------------------------------------------
martin@0 33
martin@0 34 #ifndef __MyEditor__
martin@0 35 #define __MyEditor__
martin@0 36
martin@10 37 #define IMAGE 281
martin@9 38
martin@9 39 #define cSep 12
martin@9 40 #define tDepth 15
martin@9 41 #define tDepthLarge 20
martin@9 42 #define dOffset 3
martin@9 43 #define kOffset (1*dOffset + tDepth + tDepthLarge)
martin@9 44 #define lOffset kOffset-(1*dOffset + tDepth)
martin@9 45 #define tOffset kOffset-(1*dOffset + tDepth + tDepthLarge)
martin@9 46 #define pOffset kOffset+(64+dOffset)
martin@9 47
martin@9 48
martin@0 49 #include "aeffguieditor.h"
martin@0 50 #include <vstgui.h>
martin@12 51 #include "ClassicAmbiDec.h"
martin@12 52 #include "ClassicAmbiDecParameters.h"
martin@7 53 #include "MyPlot.h"
martin@6 54
martin@6 55
martin@6 56
martin@0 57
martin@0 58
martin@9 59
martin@0 60 class MyEditor : public AEffGUIEditor, public CControlListener
martin@0 61 {
martin@0 62 public:
martin@0 63 MyEditor (void*);
martin@0 64
martin@0 65 // from AEffGUIEditor
martin@9 66 bool open (void* ptr);
martin@9 67 void close ();
martin@9 68 void setParameter (VstInt32 index, float value);
martin@9 69 void setParameterAutomated();
martin@9 70 void getParameterDisplay (VstInt32 index, char *text);
martin@0 71
martin@0 72 // from CControlListener
martin@0 73 void valueChanged (CControl* pControl);
martin@0 74
martin@0 75
martin@0 76
martin@0 77 CControl* controls[kNumParameters];
martin@0 78 char displayText;
martin@0 79
martin@9 80
martin@0 81
martin@0 82
martin@0 83 // own function
martin@9 84 void transformsDisplay(CFrame* newFrame);
martin@9 85 void zoomDisplay(CFrame* newFrame);
martin@9 86 void plotDisplay(CFrame* newFrame);
martin@9 87 void settingsDisplay(CFrame* newFrame);
martin@9 88 void nameDisplay(CFrame* newFrame);
martin@9 89 void modeChange();
martin@9 90 void stereoDisplay();
martin@9 91 void twooneDisplay();
martin@9 92 void fourDisplay();
martin@9 93 void fiveDisplay();
martin@9 94 void fiveoneDisplay();
martin@9 95 void hellerDisplay();
martin@9 96 void clearStereo();
martin@9 97 void clearTwoOne();
martin@9 98 void clearFour();
martin@9 99 void clearFive();
martin@9 100 void clearFiveOne();
martin@9 101 void clearHeller();
martin@9 102 void suspendDisplay();
martin@9 103 void resumeDisplay();
martin@0 104
martin@0 105
martin@6 106 private:
martin@6 107
martin@6 108
martin@6 109 protected:
martin@9 110 //Parameters
martin@0 111 CAnimKnob *knobRotate;
martin@0 112 CAnimKnob *knobTilt;
martin@0 113 CAnimKnob *knobTumble;
martin@0 114 CHorizontalSwitch *knobZoomMethod;
martin@0 115 CAnimKnob *knobZoom;
martin@0 116 CAnimKnob *knobWidth;
martin@0 117 CAnimKnob *knobPattern;
martin@0 118 CHorizontalSwitch *knobMode;
martin@0 119 CAnimKnob *knobRearVerb;
martin@0 120 CAnimKnob *knobHiVerb;
martin@9 121 CAnimKnob *knobCentrePattern;
martin@9 122 CAnimKnob *knobCentreGain;
martin@9 123 CAnimKnob *knobSubGain;
martin@9 124 CAnimKnob *knobFc;
martin@9 125 CHorizontalSwitch *knobSurroundMode;
martin@9 126 CAnimKnob *knobSurroundPattern;
martin@9 127 CAnimKnob *knobSurroundWidth;
martin@9 128 CAnimKnob *knobSurroundGain;
martin@8 129 CHorizontalSwitch *knobDecoder;
martin@9 130 CHorizontalSwitch *knobChannel;
martin@9 131
martin@9 132 //Main Controls Section Background
martin@9 133 CView *control_view;
martin@9 134 CView *control_view2;
martin@9 135
martin@9 136 //Controls Text Labels
martin@9 137 CTextLabel *labelMode;
martin@9 138 CTextLabel *labelWidth;
martin@9 139 CTextLabel *labelPattern;
martin@9 140 CTextLabel *labelRearVerb;
martin@9 141 CTextLabel *labelHiVerb;
martin@9 142 CTextLabel *labelSurMode;
martin@9 143 CTextLabel *labelSurWidth;
martin@9 144 CTextLabel *labelSurPattern;
martin@9 145 CTextLabel *labelSurGain;
martin@9 146 CTextLabel *labelCtrPattern;
martin@9 147 CTextLabel *labelCtreGain;
martin@9 148 CTextLabel *labelSubGain;
martin@9 149 CTextLabel *labelFc;
martin@9 150
martin@9 151 //Controls Parameters
martin@9 152 CTextLabel *paramMode;
martin@9 153 CTextLabel *paramWidth;
martin@9 154 CTextLabel *paramPattern;
martin@9 155 CTextLabel *paramRotate;
martin@9 156 CTextLabel *paramTilt;
martin@9 157 CTextLabel *paramTumble;
martin@9 158 CTextLabel *paramZoom;
martin@9 159 CTextLabel *paramZoomMethod;
martin@9 160 CTextLabel *paramRearVerb;
martin@9 161 CTextLabel *paramHiVerb;
martin@9 162 CTextLabel *paramSurMode;
martin@9 163 CTextLabel *paramSurWidth;
martin@9 164 CTextLabel *paramSurPattern;
martin@9 165 CTextLabel *paramSurGain;
martin@9 166 CTextLabel *paramCtrPattern;
martin@9 167 CTextLabel *paramCtrGain;
martin@9 168 CTextLabel *paramSubGain;
martin@9 169 CTextLabel *paramFc;
martin@9 170 CTextLabel *paramDecoder;
martin@9 171 CTextLabel *paramChannel;
martin@9 172
martin@9 173
martin@9 174 //Main Controls Section Text
martin@9 175 CTextLabel *decoderLabel1;
martin@9 176
martin@9 177 //Polar Plot
martin@9 178 polarPlot* myPlot;
martin@9 179
martin@9 180
martin@9 181
martin@0 182 CRect frameSize;
martin@0 183 CRect DisplaySize;
martin@0 184 CRect LabelSize;
martin@0 185 CRect r;
martin@0 186
martin@0 187 CColor kDisplayText;
martin@0 188 CColor kDisplayBackground;
martin@0 189 CColor kLabelText;
martin@0 190 CColor kBlank;
martin@0 191
martin@0 192
martin@0 193 CBitmap* knob_360;
martin@0 194 CBitmap* knob_red;
martin@0 195 CBitmap* knob_blue;
martin@0 196 CBitmap* knob_red_blue;
martin@9 197 CBitmap* knob_blue_red;
martin@0 198 CBitmap* knob_mode2;
martin@9 199 CBitmap* knob_mode2b;
martin@0 200 CBitmap* knob_mode4;
martin@8 201 CBitmap* knob_mode5;
martin@0 202
martin@9 203 CBitmap *bTransforms;
martin@0 204 CBitmap *bZoom;
martin@9 205 CBitmap *bControls;
martin@9 206 CBitmap *bControls2;
martin@0 207 CBitmap *bName;
martin@9 208 CBitmap *bPlot;
martin@9 209 CBitmap *bSettings;
martin@0 210
martin@0 211 CTextLabel* suspend;
martin@9 212 CTextLabel* heller1;
martin@9 213 CTextLabel* heller2;
martin@0 214 };
martin@0 215
martin@0 216
martin@0 217
martin@0 218
martin@6 219
martin@0 220 #endif // __MyEditor__
martin@0 221