annotate Source/Mappings/Control/TouchkeyControlMappingExtendedEditor.cpp @ 56:b4a2d2ae43cf tip

merge
author Andrew McPherson <andrewm@eecs.qmul.ac.uk>
date Fri, 23 Nov 2018 15:48:14 +0000
parents 114427cb39f0
children
rev   line source
andrewm@41 1 /*
andrewm@41 2 ==============================================================================
andrewm@41 3
andrewm@41 4 This is an automatically generated GUI class created by the Introjucer!
andrewm@41 5
andrewm@41 6 Be careful when adding custom code to these files, as only the code within
andrewm@41 7 the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
andrewm@41 8 and re-saved.
andrewm@41 9
andrewm@41 10 Created with Introjucer version: 3.1.0
andrewm@41 11
andrewm@41 12 ------------------------------------------------------------------------------
andrewm@41 13
andrewm@41 14 The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
andrewm@41 15 Copyright 2004-13 by Raw Material Software Ltd.
andrewm@41 16
andrewm@41 17 ==============================================================================
andrewm@41 18 */
andrewm@41 19
andrewm@41 20 //[Headers] You can add your own extra header files here...
andrewm@50 21 #ifndef TOUCHKEYS_NO_GUI
andrewm@41 22 //[/Headers]
andrewm@41 23
andrewm@41 24 #include "TouchkeyControlMappingExtendedEditor.h"
andrewm@41 25
andrewm@41 26
andrewm@41 27 //[MiscUserDefs] You can add your own user definitions and misc code here...
andrewm@41 28 //[/MiscUserDefs]
andrewm@41 29
andrewm@41 30 //==============================================================================
andrewm@41 31 TouchkeyControlMappingExtendedEditor::TouchkeyControlMappingExtendedEditor (TouchkeyControlMappingFactory& factory)
andrewm@45 32 : factory_(factory), typeWasAbsolute_(false)
andrewm@41 33 {
andrewm@41 34 addAndMakeVisible (inputRangeLowEditor = new TextEditor ("range low text editor"));
andrewm@41 35 inputRangeLowEditor->setMultiLine (false);
andrewm@41 36 inputRangeLowEditor->setReturnKeyStartsNewLine (false);
andrewm@41 37 inputRangeLowEditor->setReadOnly (false);
andrewm@41 38 inputRangeLowEditor->setScrollbarsShown (true);
andrewm@41 39 inputRangeLowEditor->setCaretVisible (true);
andrewm@41 40 inputRangeLowEditor->setPopupMenuEnabled (true);
andrewm@41 41 inputRangeLowEditor->setText (String::empty);
andrewm@41 42
andrewm@41 43 addAndMakeVisible (rangeLabel = new Label ("range label",
andrewm@41 44 "Input Range:"));
andrewm@41 45 rangeLabel->setFont (Font (15.00f, Font::plain));
andrewm@41 46 rangeLabel->setJustificationType (Justification::centredLeft);
andrewm@41 47 rangeLabel->setEditable (false, false, false);
andrewm@41 48 rangeLabel->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 49 rangeLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 50
andrewm@41 51 addAndMakeVisible (controlLabel = new Label ("control label",
andrewm@41 52 "To Control:"));
andrewm@41 53 controlLabel->setFont (Font (15.00f, Font::plain));
andrewm@41 54 controlLabel->setJustificationType (Justification::centredRight);
andrewm@41 55 controlLabel->setEditable (false, false, false);
andrewm@41 56 controlLabel->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 57 controlLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 58
andrewm@41 59 addAndMakeVisible (controlComboBox = new ComboBox ("control combo box"));
andrewm@41 60 controlComboBox->setEditableText (false);
andrewm@41 61 controlComboBox->setJustificationType (Justification::centredLeft);
andrewm@41 62 controlComboBox->setTextWhenNothingSelected (String::empty);
andrewm@41 63 controlComboBox->setTextWhenNoChoicesAvailable ("(no choices)");
andrewm@41 64 controlComboBox->addListener (this);
andrewm@41 65
andrewm@41 66 addAndMakeVisible (controlLabel2 = new Label ("control label",
andrewm@41 67 "Parameter:"));
andrewm@41 68 controlLabel2->setFont (Font (15.00f, Font::plain));
andrewm@41 69 controlLabel2->setJustificationType (Justification::centredLeft);
andrewm@41 70 controlLabel2->setEditable (false, false, false);
andrewm@41 71 controlLabel2->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 72 controlLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 73
andrewm@41 74 addAndMakeVisible (parameterComboBox = new ComboBox ("parameter combo box"));
andrewm@41 75 parameterComboBox->setEditableText (false);
andrewm@41 76 parameterComboBox->setJustificationType (Justification::centredLeft);
andrewm@41 77 parameterComboBox->setTextWhenNothingSelected (String::empty);
andrewm@41 78 parameterComboBox->setTextWhenNoChoicesAvailable ("(no choices)");
andrewm@41 79 parameterComboBox->addListener (this);
andrewm@41 80
andrewm@41 81 addAndMakeVisible (controlLabel3 = new Label ("control label",
andrewm@41 82 "Type:"));
andrewm@41 83 controlLabel3->setFont (Font (15.00f, Font::plain));
andrewm@41 84 controlLabel3->setJustificationType (Justification::centredRight);
andrewm@41 85 controlLabel3->setEditable (false, false, false);
andrewm@41 86 controlLabel3->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 87 controlLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 88
andrewm@41 89 addAndMakeVisible (typeComboBox = new ComboBox ("type combo box"));
andrewm@41 90 typeComboBox->setEditableText (false);
andrewm@41 91 typeComboBox->setJustificationType (Justification::centredLeft);
andrewm@41 92 typeComboBox->setTextWhenNothingSelected (String::empty);
andrewm@41 93 typeComboBox->setTextWhenNoChoicesAvailable ("(no choices)");
andrewm@41 94 typeComboBox->addListener (this);
andrewm@41 95
andrewm@41 96 addAndMakeVisible (inputRangeHighEditor = new TextEditor ("range hi text editor"));
andrewm@41 97 inputRangeHighEditor->setMultiLine (false);
andrewm@41 98 inputRangeHighEditor->setReturnKeyStartsNewLine (false);
andrewm@41 99 inputRangeHighEditor->setReadOnly (false);
andrewm@41 100 inputRangeHighEditor->setScrollbarsShown (true);
andrewm@41 101 inputRangeHighEditor->setCaretVisible (true);
andrewm@41 102 inputRangeHighEditor->setPopupMenuEnabled (true);
andrewm@41 103 inputRangeHighEditor->setText (String::empty);
andrewm@41 104
andrewm@41 105 addAndMakeVisible (rangeLabel2 = new Label ("range label",
andrewm@41 106 "-"));
andrewm@41 107 rangeLabel2->setFont (Font (15.00f, Font::plain));
andrewm@41 108 rangeLabel2->setJustificationType (Justification::centredLeft);
andrewm@41 109 rangeLabel2->setEditable (false, false, false);
andrewm@41 110 rangeLabel2->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 111 rangeLabel2->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 112
andrewm@41 113 addAndMakeVisible (rangeLabel3 = new Label ("range label",
andrewm@41 114 "Output Range:"));
andrewm@41 115 rangeLabel3->setFont (Font (15.00f, Font::plain));
andrewm@41 116 rangeLabel3->setJustificationType (Justification::centredLeft);
andrewm@41 117 rangeLabel3->setEditable (false, false, false);
andrewm@41 118 rangeLabel3->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 119 rangeLabel3->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 120
andrewm@41 121 addAndMakeVisible (outputRangeLowEditor = new TextEditor ("output range low text editor"));
andrewm@41 122 outputRangeLowEditor->setMultiLine (false);
andrewm@41 123 outputRangeLowEditor->setReturnKeyStartsNewLine (false);
andrewm@41 124 outputRangeLowEditor->setReadOnly (false);
andrewm@41 125 outputRangeLowEditor->setScrollbarsShown (true);
andrewm@41 126 outputRangeLowEditor->setCaretVisible (true);
andrewm@41 127 outputRangeLowEditor->setPopupMenuEnabled (true);
andrewm@41 128 outputRangeLowEditor->setText (String::empty);
andrewm@41 129
andrewm@41 130 addAndMakeVisible (outputRangeHighEditor = new TextEditor ("output range hi text editor"));
andrewm@41 131 outputRangeHighEditor->setMultiLine (false);
andrewm@41 132 outputRangeHighEditor->setReturnKeyStartsNewLine (false);
andrewm@41 133 outputRangeHighEditor->setReadOnly (false);
andrewm@41 134 outputRangeHighEditor->setScrollbarsShown (true);
andrewm@41 135 outputRangeHighEditor->setCaretVisible (true);
andrewm@41 136 outputRangeHighEditor->setPopupMenuEnabled (true);
andrewm@41 137 outputRangeHighEditor->setText (String::empty);
andrewm@41 138
andrewm@41 139 addAndMakeVisible (rangeLabel4 = new Label ("range label",
andrewm@41 140 "-"));
andrewm@41 141 rangeLabel4->setFont (Font (15.00f, Font::plain));
andrewm@41 142 rangeLabel4->setJustificationType (Justification::centredLeft);
andrewm@41 143 rangeLabel4->setEditable (false, false, false);
andrewm@41 144 rangeLabel4->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 145 rangeLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 146
andrewm@41 147 addAndMakeVisible (controlLabel4 = new Label ("control label",
andrewm@41 148 "Direction:"));
andrewm@41 149 controlLabel4->setFont (Font (15.00f, Font::plain));
andrewm@41 150 controlLabel4->setJustificationType (Justification::centredRight);
andrewm@41 151 controlLabel4->setEditable (false, false, false);
andrewm@41 152 controlLabel4->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 153 controlLabel4->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 154
andrewm@41 155 addAndMakeVisible (directionComboBox = new ComboBox ("direction combo box"));
andrewm@41 156 directionComboBox->setEditableText (false);
andrewm@41 157 directionComboBox->setJustificationType (Justification::centredLeft);
andrewm@41 158 directionComboBox->setTextWhenNothingSelected (String::empty);
andrewm@41 159 directionComboBox->setTextWhenNoChoicesAvailable ("(no choices)");
andrewm@41 160 directionComboBox->addListener (this);
andrewm@41 161
andrewm@41 162 addAndMakeVisible (titleLabel = new Label ("title label",
andrewm@41 163 "Control Mapping (Zone N, #M)"));
andrewm@41 164 titleLabel->setFont (Font (15.00f, Font::bold));
andrewm@41 165 titleLabel->setJustificationType (Justification::centredLeft);
andrewm@41 166 titleLabel->setEditable (false, false, false);
andrewm@41 167 titleLabel->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 168 titleLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 169
andrewm@41 170 addAndMakeVisible (rangeLabel5 = new Label ("range label",
andrewm@41 171 "Threshold:"));
andrewm@41 172 rangeLabel5->setFont (Font (15.00f, Font::plain));
andrewm@41 173 rangeLabel5->setJustificationType (Justification::centredLeft);
andrewm@41 174 rangeLabel5->setEditable (false, false, false);
andrewm@41 175 rangeLabel5->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 176 rangeLabel5->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 177
andrewm@41 178 addAndMakeVisible (thresholdEditor = new TextEditor ("threshold text editor"));
andrewm@41 179 thresholdEditor->setMultiLine (false);
andrewm@41 180 thresholdEditor->setReturnKeyStartsNewLine (false);
andrewm@41 181 thresholdEditor->setReadOnly (false);
andrewm@41 182 thresholdEditor->setScrollbarsShown (true);
andrewm@41 183 thresholdEditor->setCaretVisible (true);
andrewm@41 184 thresholdEditor->setPopupMenuEnabled (true);
andrewm@41 185 thresholdEditor->setText (String::empty);
andrewm@41 186
andrewm@41 187 addAndMakeVisible (cc14BitButton = new ToggleButton ("new toggle button"));
andrewm@41 188 cc14BitButton->setButtonText ("Use 14-bit CC");
andrewm@41 189 cc14BitButton->addListener (this);
andrewm@41 190
andrewm@41 191 addAndMakeVisible (ignore2FingersButton = new ToggleButton ("ignore 2 fingers toggle button"));
andrewm@41 192 ignore2FingersButton->setButtonText ("Ignore 2 Fingers");
andrewm@41 193 ignore2FingersButton->addListener (this);
andrewm@41 194
andrewm@41 195 addAndMakeVisible (ignore3FingersButton = new ToggleButton ("ignore 3 fingers toggle button"));
andrewm@41 196 ignore3FingersButton->setButtonText ("Ignore 3 Fingers");
andrewm@41 197 ignore3FingersButton->addListener (this);
andrewm@41 198
andrewm@41 199 addAndMakeVisible (controlLabel6 = new Label ("control label",
andrewm@41 200 "Out of Range:"));
andrewm@41 201 controlLabel6->setFont (Font (15.00f, Font::plain));
andrewm@41 202 controlLabel6->setJustificationType (Justification::centredRight);
andrewm@41 203 controlLabel6->setEditable (false, false, false);
andrewm@41 204 controlLabel6->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 205 controlLabel6->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 206
andrewm@41 207 addAndMakeVisible (outOfRangeComboBox = new ComboBox ("out of range combo box"));
andrewm@41 208 outOfRangeComboBox->setEditableText (false);
andrewm@41 209 outOfRangeComboBox->setJustificationType (Justification::centredLeft);
andrewm@41 210 outOfRangeComboBox->setTextWhenNothingSelected (String::empty);
andrewm@41 211 outOfRangeComboBox->setTextWhenNoChoicesAvailable ("(no choices)");
andrewm@41 212 outOfRangeComboBox->addListener (this);
andrewm@41 213
andrewm@41 214 addAndMakeVisible (rangeLabel6 = new Label ("range label",
andrewm@41 215 "Default Output:"));
andrewm@41 216 rangeLabel6->setFont (Font (15.00f, Font::plain));
andrewm@41 217 rangeLabel6->setJustificationType (Justification::centredLeft);
andrewm@41 218 rangeLabel6->setEditable (false, false, false);
andrewm@41 219 rangeLabel6->setColour (TextEditor::textColourId, Colours::black);
andrewm@41 220 rangeLabel6->setColour (TextEditor::backgroundColourId, Colour (0x00000000));
andrewm@41 221
andrewm@41 222 addAndMakeVisible (outputDefaultEditor = new TextEditor ("output default text editor"));
andrewm@41 223 outputDefaultEditor->setMultiLine (false);
andrewm@41 224 outputDefaultEditor->setReturnKeyStartsNewLine (false);
andrewm@41 225 outputDefaultEditor->setReadOnly (false);
andrewm@41 226 outputDefaultEditor->setScrollbarsShown (true);
andrewm@41 227 outputDefaultEditor->setCaretVisible (true);
andrewm@41 228 outputDefaultEditor->setPopupMenuEnabled (true);
andrewm@41 229 outputDefaultEditor->setText (String::empty);
andrewm@41 230
andrewm@41 231
andrewm@41 232 //[UserPreSize]
andrewm@41 233 parameterComboBox->addItem("X Position", TouchkeyControlMapping::kInputParameterXPosition);
andrewm@41 234 parameterComboBox->addItem("Y Position", TouchkeyControlMapping::kInputParameterYPosition);
andrewm@41 235 parameterComboBox->addItem("Contact Area", TouchkeyControlMapping::kInputParameterTouchSize);
andrewm@41 236 parameterComboBox->addItem("2-Finger Mean", TouchkeyControlMapping::kInputParameter2FingerMean);
andrewm@41 237 parameterComboBox->addItem("2-Finger Distance", TouchkeyControlMapping::kInputParameter2FingerDistance);
andrewm@41 238
andrewm@41 239 typeComboBox->addItem("Absolute", TouchkeyControlMapping::kTypeAbsolute);
andrewm@41 240 typeComboBox->addItem("1st Touch Relative", TouchkeyControlMapping::kTypeFirstTouchRelative);
andrewm@41 241 typeComboBox->addItem("Note Onset Relative", TouchkeyControlMapping::kTypeNoteOnsetRelative);
andrewm@41 242
andrewm@41 243 controlComboBox->addItem("Pitch Wheel", MidiKeyboardSegment::kControlPitchWheel);
andrewm@41 244 controlComboBox->addItem("Channel Pressure", MidiKeyboardSegment::kControlChannelAftertouch);
andrewm@41 245 controlComboBox->addItem("Poly Aftertouch", MidiKeyboardSegment::kControlPolyphonicAftertouch);
andrewm@41 246 for(int i = 1; i <= 119; i++) {
andrewm@41 247 controlComboBox->addItem(String(i), i);
andrewm@41 248 }
andrewm@41 249
andrewm@41 250 directionComboBox->addItem("Normal", TouchkeyControlMapping::kDirectionPositive);
andrewm@41 251 directionComboBox->addItem("Reverse", TouchkeyControlMapping::kDirectionNegative);
andrewm@41 252 directionComboBox->addItem("Always Positive", TouchkeyControlMapping::kDirectionBoth);
andrewm@41 253
andrewm@41 254 outOfRangeComboBox->addItem("Ignore", OscMidiConverter::kOutOfRangeIgnore);
andrewm@41 255 outOfRangeComboBox->addItem("Clip", OscMidiConverter::kOutOfRangeClip);
andrewm@41 256 outOfRangeComboBox->addItem("Extrapolate", OscMidiConverter::kOutOfRangeExtrapolate);
andrewm@41 257 //[/UserPreSize]
andrewm@41 258
andrewm@41 259 setSize (448, 248);
andrewm@41 260
andrewm@41 261
andrewm@41 262 //[Constructor] You can add your own custom stuff here..
andrewm@41 263 inputRangeLowEditor->addListener(this);
andrewm@41 264 inputRangeHighEditor->addListener(this);
andrewm@41 265 outputRangeLowEditor->addListener(this);
andrewm@41 266 outputRangeHighEditor->addListener(this);
andrewm@41 267 outputDefaultEditor->addListener(this);
andrewm@41 268 thresholdEditor->addListener(this);
andrewm@41 269 //[/Constructor]
andrewm@41 270 }
andrewm@41 271
andrewm@41 272 TouchkeyControlMappingExtendedEditor::~TouchkeyControlMappingExtendedEditor()
andrewm@41 273 {
andrewm@41 274 //[Destructor_pre]. You can add your own custom destruction code here..
andrewm@41 275 //[/Destructor_pre]
andrewm@41 276
andrewm@41 277 inputRangeLowEditor = nullptr;
andrewm@41 278 rangeLabel = nullptr;
andrewm@41 279 controlLabel = nullptr;
andrewm@41 280 controlComboBox = nullptr;
andrewm@41 281 controlLabel2 = nullptr;
andrewm@41 282 parameterComboBox = nullptr;
andrewm@41 283 controlLabel3 = nullptr;
andrewm@41 284 typeComboBox = nullptr;
andrewm@41 285 inputRangeHighEditor = nullptr;
andrewm@41 286 rangeLabel2 = nullptr;
andrewm@41 287 rangeLabel3 = nullptr;
andrewm@41 288 outputRangeLowEditor = nullptr;
andrewm@41 289 outputRangeHighEditor = nullptr;
andrewm@41 290 rangeLabel4 = nullptr;
andrewm@41 291 controlLabel4 = nullptr;
andrewm@41 292 directionComboBox = nullptr;
andrewm@41 293 titleLabel = nullptr;
andrewm@41 294 rangeLabel5 = nullptr;
andrewm@41 295 thresholdEditor = nullptr;
andrewm@41 296 cc14BitButton = nullptr;
andrewm@41 297 ignore2FingersButton = nullptr;
andrewm@41 298 ignore3FingersButton = nullptr;
andrewm@41 299 controlLabel6 = nullptr;
andrewm@41 300 outOfRangeComboBox = nullptr;
andrewm@41 301 rangeLabel6 = nullptr;
andrewm@41 302 outputDefaultEditor = nullptr;
andrewm@41 303
andrewm@41 304
andrewm@41 305 //[Destructor]. You can add your own custom destruction code here..
andrewm@41 306 //[/Destructor]
andrewm@41 307 }
andrewm@41 308
andrewm@41 309 //==============================================================================
andrewm@41 310 void TouchkeyControlMappingExtendedEditor::paint (Graphics& g)
andrewm@41 311 {
andrewm@41 312 //[UserPrePaint] Add your own custom painting code here..
andrewm@41 313 //[/UserPrePaint]
andrewm@41 314
andrewm@41 315 g.fillAll (Colour (0xffd2d2d2));
andrewm@41 316
andrewm@41 317 //[UserPaint] Add your own custom painting code here..
andrewm@41 318 //[/UserPaint]
andrewm@41 319 }
andrewm@41 320
andrewm@41 321 void TouchkeyControlMappingExtendedEditor::resized()
andrewm@41 322 {
andrewm@41 323 inputRangeLowEditor->setBounds (112, 72, 56, 24);
andrewm@41 324 rangeLabel->setBounds (8, 72, 104, 24);
andrewm@41 325 controlLabel->setBounds (256, 40, 64, 24);
andrewm@41 326 controlComboBox->setBounds (320, 40, 112, 24);
andrewm@41 327 controlLabel2->setBounds (8, 40, 72, 24);
andrewm@41 328 parameterComboBox->setBounds (80, 40, 160, 24);
andrewm@41 329 controlLabel3->setBounds (264, 104, 56, 24);
andrewm@41 330 typeComboBox->setBounds (320, 104, 112, 24);
andrewm@41 331 inputRangeHighEditor->setBounds (184, 72, 56, 24);
andrewm@41 332 rangeLabel2->setBounds (168, 72, 16, 24);
andrewm@41 333 rangeLabel3->setBounds (8, 104, 96, 24);
andrewm@41 334 outputRangeLowEditor->setBounds (112, 104, 56, 24);
andrewm@41 335 outputRangeHighEditor->setBounds (184, 104, 56, 24);
andrewm@41 336 rangeLabel4->setBounds (168, 104, 16, 24);
andrewm@41 337 controlLabel4->setBounds (248, 136, 72, 24);
andrewm@41 338 directionComboBox->setBounds (320, 136, 112, 24);
andrewm@41 339 titleLabel->setBounds (8, 8, 424, 24);
andrewm@41 340 rangeLabel5->setBounds (8, 168, 72, 24);
andrewm@41 341 thresholdEditor->setBounds (112, 168, 56, 24);
andrewm@41 342 cc14BitButton->setBounds (320, 72, 112, 24);
andrewm@41 343 ignore2FingersButton->setBounds (8, 192, 128, 24);
andrewm@41 344 ignore3FingersButton->setBounds (8, 216, 128, 24);
andrewm@41 345 controlLabel6->setBounds (216, 168, 104, 24);
andrewm@41 346 outOfRangeComboBox->setBounds (320, 168, 112, 24);
andrewm@41 347 rangeLabel6->setBounds (8, 136, 96, 24);
andrewm@41 348 outputDefaultEditor->setBounds (112, 136, 56, 24);
andrewm@41 349 //[UserResized] Add your own custom resize handling here..
andrewm@41 350 //[/UserResized]
andrewm@41 351 }
andrewm@41 352
andrewm@41 353 void TouchkeyControlMappingExtendedEditor::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
andrewm@41 354 {
andrewm@41 355 //[UsercomboBoxChanged_Pre]
andrewm@41 356 //[/UsercomboBoxChanged_Pre]
andrewm@41 357
andrewm@41 358 if (comboBoxThatHasChanged == controlComboBox)
andrewm@41 359 {
andrewm@41 360 //[UserComboBoxCode_controlComboBox] -- add your combo box handling code here..
andrewm@41 361 int controller = controlComboBox->getSelectedId();
andrewm@41 362 factory_.setController(controller);
andrewm@41 363 //[/UserComboBoxCode_controlComboBox]
andrewm@41 364 }
andrewm@41 365 else if (comboBoxThatHasChanged == parameterComboBox)
andrewm@41 366 {
andrewm@41 367 //[UserComboBoxCode_parameterComboBox] -- add your combo box handling code here..
andrewm@41 368 int param = parameterComboBox->getSelectedId();
andrewm@41 369 factory_.setInputParameter(param);
andrewm@41 370 //[/UserComboBoxCode_parameterComboBox]
andrewm@41 371 }
andrewm@41 372 else if (comboBoxThatHasChanged == typeComboBox)
andrewm@41 373 {
andrewm@41 374 //[UserComboBoxCode_typeComboBox] -- add your combo box handling code here..
andrewm@41 375 int type = typeComboBox->getSelectedId();
andrewm@41 376 factory_.setInputType(type);
andrewm@41 377 //[/UserComboBoxCode_typeComboBox]
andrewm@41 378 }
andrewm@41 379 else if (comboBoxThatHasChanged == directionComboBox)
andrewm@41 380 {
andrewm@41 381 //[UserComboBoxCode_directionComboBox] -- add your combo box handling code here..
andrewm@41 382 int direction = directionComboBox->getSelectedId();
andrewm@41 383 factory_.setDirection(direction);
andrewm@41 384 //[/UserComboBoxCode_directionComboBox]
andrewm@41 385 }
andrewm@41 386 else if (comboBoxThatHasChanged == outOfRangeComboBox)
andrewm@41 387 {
andrewm@41 388 //[UserComboBoxCode_outOfRangeComboBox] -- add your combo box handling code here..
andrewm@41 389 int behavior = outOfRangeComboBox->getSelectedId();
andrewm@41 390 factory_.setOutOfRangeBehavior(behavior);
andrewm@41 391 //[/UserComboBoxCode_outOfRangeComboBox]
andrewm@41 392 }
andrewm@41 393
andrewm@41 394 //[UsercomboBoxChanged_Post]
andrewm@41 395 //[/UsercomboBoxChanged_Post]
andrewm@41 396 }
andrewm@41 397
andrewm@41 398 void TouchkeyControlMappingExtendedEditor::buttonClicked (Button* buttonThatWasClicked)
andrewm@41 399 {
andrewm@41 400 //[UserbuttonClicked_Pre]
andrewm@41 401 //[/UserbuttonClicked_Pre]
andrewm@41 402
andrewm@41 403 if (buttonThatWasClicked == cc14BitButton)
andrewm@41 404 {
andrewm@41 405 //[UserButtonCode_cc14BitButton] -- add your button handler code here..
andrewm@41 406 factory_.setUses14BitControl(cc14BitButton->getToggleState());
andrewm@41 407 //[/UserButtonCode_cc14BitButton]
andrewm@41 408 }
andrewm@41 409 else if (buttonThatWasClicked == ignore2FingersButton)
andrewm@41 410 {
andrewm@41 411 //[UserButtonCode_ignore2FingersButton] -- add your button handler code here..
andrewm@41 412 factory_.setIgnoresTwoFingers(ignore2FingersButton->getToggleState());
andrewm@41 413 //[/UserButtonCode_ignore2FingersButton]
andrewm@41 414 }
andrewm@41 415 else if (buttonThatWasClicked == ignore3FingersButton)
andrewm@41 416 {
andrewm@41 417 //[UserButtonCode_ignore3FingersButton] -- add your button handler code here..
andrewm@41 418 factory_.setIgnoresThreeFingers(ignore3FingersButton->getToggleState());
andrewm@41 419 //[/UserButtonCode_ignore3FingersButton]
andrewm@41 420 }
andrewm@41 421
andrewm@41 422 //[UserbuttonClicked_Post]
andrewm@41 423 //[/UserbuttonClicked_Post]
andrewm@41 424 }
andrewm@41 425
andrewm@41 426
andrewm@41 427
andrewm@41 428 //[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
andrewm@41 429
andrewm@41 430 void TouchkeyControlMappingExtendedEditor::textEditorReturnKeyPressed(TextEditor &editor)
andrewm@41 431 {
andrewm@41 432 if(&editor == inputRangeLowEditor) {
andrewm@41 433 float range = atof(inputRangeLowEditor->getText().toUTF8());
andrewm@41 434 factory_.setRangeInputMin(range);
andrewm@41 435 factory_.setRangeInputCenter(range);
andrewm@41 436 }
andrewm@41 437 else if(&editor == inputRangeHighEditor) {
andrewm@41 438 float range = atof(inputRangeHighEditor->getText().toUTF8());
andrewm@41 439 factory_.setRangeInputMax(range);
andrewm@41 440 }
andrewm@41 441 else if(&editor == outputRangeLowEditor) {
andrewm@41 442 float range = atof(outputRangeLowEditor->getText().toUTF8());
andrewm@41 443 factory_.setRangeOutputMin(range);
andrewm@41 444 }
andrewm@41 445 else if(&editor == outputRangeHighEditor) {
andrewm@41 446 float range = atof(outputRangeHighEditor->getText().toUTF8());
andrewm@41 447 factory_.setRangeOutputMax(range);
andrewm@41 448 }
andrewm@41 449 else if(&editor == outputDefaultEditor) {
andrewm@41 450 float range = atof(outputDefaultEditor->getText().toUTF8());
andrewm@41 451 factory_.setRangeOutputDefault(range);
andrewm@41 452 }
andrewm@41 453 else if(&editor == thresholdEditor) {
andrewm@41 454 float thresh = atof(thresholdEditor->getText().toUTF8());
andrewm@41 455 factory_.setThreshold(thresh);
andrewm@41 456 }
andrewm@41 457 }
andrewm@41 458
andrewm@41 459 void TouchkeyControlMappingExtendedEditor::textEditorEscapeKeyPressed(TextEditor &editor)
andrewm@41 460 {
andrewm@41 461
andrewm@41 462 }
andrewm@41 463
andrewm@41 464 void TouchkeyControlMappingExtendedEditor::textEditorFocusLost(TextEditor &editor)
andrewm@41 465 {
andrewm@41 466 textEditorReturnKeyPressed(editor);
andrewm@41 467 }
andrewm@41 468
andrewm@41 469 void TouchkeyControlMappingExtendedEditor::synchronize()
andrewm@41 470 {
andrewm@41 471 // Set the title label
andrewm@41 472 titleLabel->setText(getDescriptionHelper("Control Mapping"), dontSendNotification);
andrewm@41 473
andrewm@41 474 // Update the editors to reflect the current status
andrewm@41 475 if(!inputRangeLowEditor->hasKeyboardFocus(true)) {
andrewm@41 476 float value = factory_.getRangeInputMin();
andrewm@41 477 char st[16];
andrewm@41 478 #ifdef _MSC_VER
andrewm@41 479 _snprintf_s(st, 16, _TRUNCATE, "%.2f", value);
andrewm@41 480 #else
andrewm@41 481 snprintf(st, 16, "%.2f", value);
andrewm@41 482 #endif
andrewm@41 483 inputRangeLowEditor->setText(st);
andrewm@41 484 }
andrewm@41 485
andrewm@41 486 if(!inputRangeHighEditor->hasKeyboardFocus(true)) {
andrewm@41 487 float value = factory_.getRangeInputMax();
andrewm@41 488 char st[16];
andrewm@41 489 #ifdef _MSC_VER
andrewm@41 490 _snprintf_s(st, 16, _TRUNCATE, "%.2f", value);
andrewm@41 491 #else
andrewm@41 492 snprintf(st, 16, "%.2f", value);
andrewm@41 493 #endif
andrewm@41 494
andrewm@41 495 inputRangeHighEditor->setText(st);
andrewm@41 496 }
andrewm@41 497
andrewm@41 498 if(!outputRangeLowEditor->hasKeyboardFocus(true)) {
andrewm@41 499 float value = factory_.getRangeOutputMin();
andrewm@41 500 char st[16];
andrewm@41 501 #ifdef _MSC_VER
andrewm@41 502 _snprintf_s(st, 16, _TRUNCATE, "%.2f", value);
andrewm@41 503 #else
andrewm@41 504 snprintf(st, 16, "%.2f", value);
andrewm@41 505 #endif
andrewm@41 506
andrewm@41 507 outputRangeLowEditor->setText(st);
andrewm@41 508 }
andrewm@41 509
andrewm@41 510 if(!outputRangeHighEditor->hasKeyboardFocus(true)) {
andrewm@41 511 float value = factory_.getRangeOutputMax();
andrewm@41 512 char st[16];
andrewm@41 513 #ifdef _MSC_VER
andrewm@41 514 _snprintf_s(st, 16, _TRUNCATE, "%.2f", value);
andrewm@41 515 #else
andrewm@41 516 snprintf(st, 16, "%.2f", value);
andrewm@41 517 #endif
andrewm@41 518
andrewm@41 519 outputRangeHighEditor->setText(st);
andrewm@41 520 }
andrewm@41 521
andrewm@41 522 if(!outputDefaultEditor->hasKeyboardFocus(true)) {
andrewm@41 523 float value = factory_.getRangeOutputDefault();
andrewm@41 524 char st[16];
andrewm@41 525 #ifdef _MSC_VER
andrewm@41 526 _snprintf_s(st, 16, _TRUNCATE, "%.2f", value);
andrewm@41 527 #else
andrewm@41 528 snprintf(st, 16, "%.2f", value);
andrewm@41 529 #endif
andrewm@41 530
andrewm@41 531 outputDefaultEditor->setText(st);
andrewm@41 532 }
andrewm@41 533
andrewm@41 534 if(factory_.getInputType() == TouchkeyControlMapping::kTypeFirstTouchRelative
andrewm@41 535 || factory_.getInputType() == TouchkeyControlMapping::kTypeNoteOnsetRelative) {
andrewm@41 536 thresholdEditor->setEnabled(true);
andrewm@41 537 if(!thresholdEditor->hasKeyboardFocus(true)) {
andrewm@41 538 float value = factory_.getThreshold();
andrewm@41 539 char st[16];
andrewm@41 540 #ifdef _MSC_VER
andrewm@41 541 _snprintf_s(st, 16, _TRUNCATE, "%.2f", value);
andrewm@41 542 #else
andrewm@41 543 snprintf(st, 16, "%.2f", value);
andrewm@41 544 #endif
andrewm@41 545
andrewm@41 546 thresholdEditor->setText(st);
andrewm@41 547 }
andrewm@41 548
andrewm@41 549 if(typeWasAbsolute_) {
andrewm@41 550 // Add all three direction items
andrewm@41 551 directionComboBox->clear();
andrewm@41 552 directionComboBox->addItem("Normal", TouchkeyControlMapping::kDirectionPositive);
andrewm@41 553 directionComboBox->addItem("Reverse", TouchkeyControlMapping::kDirectionNegative);
andrewm@41 554 directionComboBox->addItem("Always Positive", TouchkeyControlMapping::kDirectionBoth);
andrewm@41 555 }
andrewm@41 556
andrewm@41 557 typeWasAbsolute_ = false;
andrewm@41 558 }
andrewm@41 559 else {
andrewm@41 560 thresholdEditor->setEnabled(false);
andrewm@41 561 thresholdEditor->setText("", false);
andrewm@41 562
andrewm@41 563 if(!typeWasAbsolute_) {
andrewm@41 564 // Add only one direction item
andrewm@41 565 directionComboBox->clear();
andrewm@41 566 directionComboBox->addItem("Normal", TouchkeyControlMapping::kDirectionPositive);
andrewm@41 567 }
andrewm@41 568
andrewm@41 569 typeWasAbsolute_ = true;
andrewm@41 570 }
andrewm@41 571
andrewm@41 572 if(factory_.getController() == MidiKeyboardSegment::kControlPitchWheel) {
andrewm@41 573 cc14BitButton->setEnabled(false);
andrewm@41 574 cc14BitButton->setToggleState(true, dontSendNotification);
andrewm@41 575 }
andrewm@41 576 else if(factory_.getController() == MidiKeyboardSegment::kControlPolyphonicAftertouch ||
andrewm@41 577 factory_.getController() == MidiKeyboardSegment::kControlChannelAftertouch) {
andrewm@41 578 cc14BitButton->setEnabled(false);
andrewm@41 579 cc14BitButton->setToggleState(false, dontSendNotification);
andrewm@41 580 }
andrewm@41 581 else {
andrewm@41 582 cc14BitButton->setEnabled(true);
andrewm@41 583 cc14BitButton->setToggleState(factory_.getUses14BitControl(), dontSendNotification);
andrewm@41 584 }
andrewm@41 585 ignore2FingersButton->setToggleState(factory_.getIgnoresTwoFingers(), dontSendNotification);
andrewm@41 586 ignore3FingersButton->setToggleState(factory_.getIgnoresThreeFingers(), dontSendNotification);
andrewm@41 587
andrewm@41 588 parameterComboBox->setSelectedId(factory_.getInputParameter(), dontSendNotification);
andrewm@41 589 typeComboBox->setSelectedId(factory_.getInputType(), dontSendNotification);
andrewm@41 590 controlComboBox->setSelectedId(factory_.getController(), dontSendNotification);
andrewm@41 591 directionComboBox->setSelectedId(factory_.getDirection(), dontSendNotification);
andrewm@41 592 outOfRangeComboBox->setSelectedId(factory_.getOutOfRangeBehavior(), dontSendNotification);
andrewm@41 593 }
andrewm@41 594
andrewm@41 595 // Return a human-readable description of this mapping for the window
andrewm@41 596 String TouchkeyControlMappingExtendedEditor::getDescription() {
andrewm@41 597 return getDescriptionHelper("Control");
andrewm@41 598 }
andrewm@41 599
andrewm@41 600 // Return a human-readable description of this mapping for the window
andrewm@41 601 String TouchkeyControlMappingExtendedEditor::getDescriptionHelper(String baseName) {
andrewm@41 602 String desc = baseName;
andrewm@41 603
andrewm@41 604 desc += " (Zone ";
andrewm@41 605
andrewm@41 606 int zone = factory_.segment().outputPort();
andrewm@41 607 desc += zone;
andrewm@41 608 desc += ", #";
andrewm@41 609
andrewm@41 610 int mappingNumber = factory_.segment().indexOfMappingFactory(&factory_);
andrewm@41 611 desc += mappingNumber;
andrewm@41 612 desc += ")";
andrewm@41 613
andrewm@41 614 return desc;
andrewm@41 615 }
andrewm@41 616
andrewm@41 617 //[/MiscUserCode]
andrewm@41 618
andrewm@41 619
andrewm@41 620 //==============================================================================
andrewm@41 621 #if 0
andrewm@41 622 /* -- Introjucer information section --
andrewm@41 623
andrewm@41 624 This is where the Introjucer stores the metadata that describe this GUI layout, so
andrewm@41 625 make changes in here at your peril!
andrewm@41 626
andrewm@41 627 BEGIN_JUCER_METADATA
andrewm@41 628
andrewm@41 629 <JUCER_COMPONENT documentType="Component" className="TouchkeyControlMappingExtendedEditor"
andrewm@41 630 componentName="" parentClasses="public MappingEditorComponent, public TextEditor::Listener"
andrewm@41 631 constructorParams="TouchkeyControlMappingFactory&amp; factory"
andrewm@41 632 variableInitialisers="factory_(factory)" snapPixels="8" snapActive="1"
andrewm@41 633 snapShown="1" overlayOpacity="0.330" fixedSize="1" initialWidth="448"
andrewm@41 634 initialHeight="248">
andrewm@41 635 <BACKGROUND backgroundColour="ffd2d2d2"/>
andrewm@41 636 <TEXTEDITOR name="range low text editor" id="db0f62c03a58af03" memberName="inputRangeLowEditor"
andrewm@41 637 virtualName="" explicitFocusOrder="0" pos="112 72 56 24" initialText=""
andrewm@41 638 multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
andrewm@41 639 caret="1" popupmenu="1"/>
andrewm@41 640 <LABEL name="range label" id="1ca2d422f4c37b7f" memberName="rangeLabel"
andrewm@41 641 virtualName="" explicitFocusOrder="0" pos="8 72 104 24" edTextCol="ff000000"
andrewm@41 642 edBkgCol="0" labelText="Input Range:" editableSingleClick="0"
andrewm@41 643 editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
andrewm@41 644 fontsize="15" bold="0" italic="0" justification="33"/>
andrewm@41 645 <LABEL name="control label" id="f953b12999632418" memberName="controlLabel"
andrewm@41 646 virtualName="" explicitFocusOrder="0" pos="256 40 64 24" edTextCol="ff000000"
andrewm@41 647 edBkgCol="0" labelText="To Control:" editableSingleClick="0"
andrewm@41 648 editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
andrewm@41 649 fontsize="15" bold="0" italic="0" justification="34"/>
andrewm@41 650 <COMBOBOX name="control combo box" id="f1c84bb5fd2730fb" memberName="controlComboBox"
andrewm@41 651 virtualName="" explicitFocusOrder="0" pos="320 40 112 24" editable="0"
andrewm@41 652 layout="33" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
andrewm@41 653 <LABEL name="control label" id="5ef7c1b78fdcf616" memberName="controlLabel2"
andrewm@41 654 virtualName="" explicitFocusOrder="0" pos="8 40 72 24" edTextCol="ff000000"
andrewm@41 655 edBkgCol="0" labelText="Parameter:" editableSingleClick="0" editableDoubleClick="0"
andrewm@41 656 focusDiscardsChanges="0" fontname="Default font" fontsize="15"
andrewm@41 657 bold="0" italic="0" justification="33"/>
andrewm@41 658 <COMBOBOX name="parameter combo box" id="f12f6f6e31042be1" memberName="parameterComboBox"
andrewm@41 659 virtualName="" explicitFocusOrder="0" pos="80 40 160 24" editable="0"
andrewm@41 660 layout="33" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
andrewm@41 661 <LABEL name="control label" id="9ded92e82db31777" memberName="controlLabel3"
andrewm@41 662 virtualName="" explicitFocusOrder="0" pos="264 104 56 24" edTextCol="ff000000"
andrewm@41 663 edBkgCol="0" labelText="Type:" editableSingleClick="0" editableDoubleClick="0"
andrewm@41 664 focusDiscardsChanges="0" fontname="Default font" fontsize="15"
andrewm@41 665 bold="0" italic="0" justification="34"/>
andrewm@41 666 <COMBOBOX name="type combo box" id="82d38054016f6c4f" memberName="typeComboBox"
andrewm@41 667 virtualName="" explicitFocusOrder="0" pos="320 104 112 24" editable="0"
andrewm@41 668 layout="33" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
andrewm@41 669 <TEXTEDITOR name="range hi text editor" id="c34ac3e87db289d1" memberName="inputRangeHighEditor"
andrewm@41 670 virtualName="" explicitFocusOrder="0" pos="184 72 56 24" initialText=""
andrewm@41 671 multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
andrewm@41 672 caret="1" popupmenu="1"/>
andrewm@41 673 <LABEL name="range label" id="19e0ad80306cc4c0" memberName="rangeLabel2"
andrewm@41 674 virtualName="" explicitFocusOrder="0" pos="168 72 16 24" edTextCol="ff000000"
andrewm@41 675 edBkgCol="0" labelText="-" editableSingleClick="0" editableDoubleClick="0"
andrewm@41 676 focusDiscardsChanges="0" fontname="Default font" fontsize="15"
andrewm@41 677 bold="0" italic="0" justification="33"/>
andrewm@41 678 <LABEL name="range label" id="24ab2fe34fec697f" memberName="rangeLabel3"
andrewm@41 679 virtualName="" explicitFocusOrder="0" pos="8 104 96 24" edTextCol="ff000000"
andrewm@41 680 edBkgCol="0" labelText="Output Range:" editableSingleClick="0"
andrewm@41 681 editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
andrewm@41 682 fontsize="15" bold="0" italic="0" justification="33"/>
andrewm@41 683 <TEXTEDITOR name="output range low text editor" id="15865c99a3cac858" memberName="outputRangeLowEditor"
andrewm@41 684 virtualName="" explicitFocusOrder="0" pos="112 104 56 24" initialText=""
andrewm@41 685 multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
andrewm@41 686 caret="1" popupmenu="1"/>
andrewm@41 687 <TEXTEDITOR name="output range hi text editor" id="6f3a73d113c72696" memberName="outputRangeHighEditor"
andrewm@41 688 virtualName="" explicitFocusOrder="0" pos="184 104 56 24" initialText=""
andrewm@41 689 multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
andrewm@41 690 caret="1" popupmenu="1"/>
andrewm@41 691 <LABEL name="range label" id="a86c42d542ee8780" memberName="rangeLabel4"
andrewm@41 692 virtualName="" explicitFocusOrder="0" pos="168 104 16 24" edTextCol="ff000000"
andrewm@41 693 edBkgCol="0" labelText="-" editableSingleClick="0" editableDoubleClick="0"
andrewm@41 694 focusDiscardsChanges="0" fontname="Default font" fontsize="15"
andrewm@41 695 bold="0" italic="0" justification="33"/>
andrewm@41 696 <LABEL name="control label" id="ff30dace0846c523" memberName="controlLabel4"
andrewm@41 697 virtualName="" explicitFocusOrder="0" pos="248 136 72 24" edTextCol="ff000000"
andrewm@41 698 edBkgCol="0" labelText="Direction:" editableSingleClick="0" editableDoubleClick="0"
andrewm@41 699 focusDiscardsChanges="0" fontname="Default font" fontsize="15"
andrewm@41 700 bold="0" italic="0" justification="34"/>
andrewm@41 701 <COMBOBOX name="direction combo box" id="c46a92a83dfb204b" memberName="directionComboBox"
andrewm@41 702 virtualName="" explicitFocusOrder="0" pos="320 136 112 24" editable="0"
andrewm@41 703 layout="33" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
andrewm@41 704 <LABEL name="title label" id="2346b62ce034bea2" memberName="titleLabel"
andrewm@41 705 virtualName="" explicitFocusOrder="0" pos="8 8 424 24" edTextCol="ff000000"
andrewm@41 706 edBkgCol="0" labelText="Control Mapping (Zone N, #M)" editableSingleClick="0"
andrewm@41 707 editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
andrewm@41 708 fontsize="15" bold="1" italic="0" justification="33"/>
andrewm@41 709 <LABEL name="range label" id="41edb21ea9cb0304" memberName="rangeLabel5"
andrewm@41 710 virtualName="" explicitFocusOrder="0" pos="8 168 72 24" edTextCol="ff000000"
andrewm@41 711 edBkgCol="0" labelText="Threshold:" editableSingleClick="0" editableDoubleClick="0"
andrewm@41 712 focusDiscardsChanges="0" fontname="Default font" fontsize="15"
andrewm@41 713 bold="0" italic="0" justification="33"/>
andrewm@41 714 <TEXTEDITOR name="threshold text editor" id="48a7ef0bf62a7fe6" memberName="thresholdEditor"
andrewm@41 715 virtualName="" explicitFocusOrder="0" pos="112 168 56 24" initialText=""
andrewm@41 716 multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
andrewm@41 717 caret="1" popupmenu="1"/>
andrewm@41 718 <TOGGLEBUTTON name="new toggle button" id="f75c92be72563883" memberName="cc14BitButton"
andrewm@41 719 virtualName="" explicitFocusOrder="0" pos="320 72 112 24" buttonText="Use 14-bit CC"
andrewm@41 720 connectedEdges="0" needsCallback="1" radioGroupId="0" state="0"/>
andrewm@41 721 <TOGGLEBUTTON name="ignore 2 fingers toggle button" id="ec82d35a4bbc6688" memberName="ignore2FingersButton"
andrewm@41 722 virtualName="" explicitFocusOrder="0" pos="8 192 128 24" buttonText="Ignore 2 Fingers"
andrewm@41 723 connectedEdges="0" needsCallback="1" radioGroupId="0" state="0"/>
andrewm@41 724 <TOGGLEBUTTON name="ignore 3 fingers toggle button" id="9b08149fc48c8b0" memberName="ignore3FingersButton"
andrewm@41 725 virtualName="" explicitFocusOrder="0" pos="8 216 128 24" buttonText="Ignore 3 Fingers"
andrewm@41 726 connectedEdges="0" needsCallback="1" radioGroupId="0" state="0"/>
andrewm@41 727 <LABEL name="control label" id="668b66775f7ab754" memberName="controlLabel6"
andrewm@41 728 virtualName="" explicitFocusOrder="0" pos="216 168 104 24" edTextCol="ff000000"
andrewm@41 729 edBkgCol="0" labelText="Out of Range:" editableSingleClick="0"
andrewm@41 730 editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
andrewm@41 731 fontsize="15" bold="0" italic="0" justification="34"/>
andrewm@41 732 <COMBOBOX name="out of range combo box" id="6c7a92d782955f43" memberName="outOfRangeComboBox"
andrewm@41 733 virtualName="" explicitFocusOrder="0" pos="320 168 112 24" editable="0"
andrewm@41 734 layout="33" items="" textWhenNonSelected="" textWhenNoItems="(no choices)"/>
andrewm@41 735 <LABEL name="range label" id="6f03f49baf05157b" memberName="rangeLabel6"
andrewm@41 736 virtualName="" explicitFocusOrder="0" pos="8 136 96 24" edTextCol="ff000000"
andrewm@41 737 edBkgCol="0" labelText="Default Output:" editableSingleClick="0"
andrewm@41 738 editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
andrewm@41 739 fontsize="15" bold="0" italic="0" justification="33"/>
andrewm@41 740 <TEXTEDITOR name="output default text editor" id="403f9ffcb91633fd" memberName="outputDefaultEditor"
andrewm@41 741 virtualName="" explicitFocusOrder="0" pos="112 136 56 24" initialText=""
andrewm@41 742 multiline="0" retKeyStartsLine="0" readonly="0" scrollbars="1"
andrewm@41 743 caret="1" popupmenu="1"/>
andrewm@41 744 </JUCER_COMPONENT>
andrewm@41 745
andrewm@41 746 END_JUCER_METADATA
andrewm@41 747 */
andrewm@41 748 #endif
andrewm@41 749
andrewm@41 750
andrewm@41 751 //[EndFile] You can add extra defines here...
andrewm@50 752 #endif // TOUCHKEYS_NO_GUI
andrewm@41 753 //[/EndFile]