Controls.cpp 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. /*
  2. ==============================================================================
  3. This is an automatically generated GUI class created by the Introjucer!
  4. Be careful when adding custom code to these files, as only the code within
  5. the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
  6. and re-saved.
  7. Created with Introjucer version: 3.1.1
  8. ------------------------------------------------------------------------------
  9. The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions"
  10. Copyright 2004-13 by Raw Material Software Ltd.
  11. ==============================================================================
  12. */
  13. //[Headers] You can add your own extra header files here...
  14. #include "AvCaster.h"
  15. //[/Headers]
  16. #include "Controls.h"
  17. //[MiscUserDefs] You can add your own user definitions and misc code here...
  18. //[/MiscUserDefs]
  19. //==============================================================================
  20. Controls::Controls ()
  21. {
  22. addAndMakeVisible (controlsGroup = new GroupComponent ("controlsGroup",
  23. TRANS("Controls")));
  24. controlsGroup->setColour (GroupComponent::outlineColourId, Colours::white);
  25. controlsGroup->setColour (GroupComponent::textColourId, Colours::white);
  26. addAndMakeVisible (screencapToggle = new ToggleButton ("screencapToggle"));
  27. screencapToggle->setExplicitFocusOrder (1);
  28. screencapToggle->setButtonText (TRANS("Screen"));
  29. screencapToggle->addListener (this);
  30. screencapToggle->setColour (ToggleButton::textColourId, Colours::white);
  31. addAndMakeVisible (cameraToggle = new ToggleButton ("cameraToggle"));
  32. cameraToggle->setExplicitFocusOrder (2);
  33. cameraToggle->setButtonText (TRANS("Camera"));
  34. cameraToggle->addListener (this);
  35. cameraToggle->setColour (ToggleButton::textColourId, Colours::white);
  36. addAndMakeVisible (textToggle = new ToggleButton ("textToggle"));
  37. textToggle->setExplicitFocusOrder (3);
  38. textToggle->setButtonText (TRANS("Text"));
  39. textToggle->addListener (this);
  40. textToggle->setColour (ToggleButton::textColourId, Colours::white);
  41. addAndMakeVisible (interstitialToggle = new ToggleButton ("interstitialToggle"));
  42. interstitialToggle->setExplicitFocusOrder (4);
  43. interstitialToggle->setButtonText (TRANS("Pause"));
  44. interstitialToggle->addListener (this);
  45. interstitialToggle->setColour (ToggleButton::textColourId, Colours::white);
  46. addAndMakeVisible (previewToggle = new ToggleButton ("previewToggle"));
  47. previewToggle->setExplicitFocusOrder (5);
  48. previewToggle->setButtonText (TRANS("Preview"));
  49. previewToggle->addListener (this);
  50. previewToggle->setColour (ToggleButton::textColourId, Colours::white);
  51. addAndMakeVisible (audioToggle = new ToggleButton ("audioToggle"));
  52. audioToggle->setExplicitFocusOrder (6);
  53. audioToggle->setButtonText (TRANS("Audio"));
  54. audioToggle->addListener (this);
  55. audioToggle->setColour (ToggleButton::textColourId, Colours::white);
  56. addAndMakeVisible (outputToggle = new ToggleButton ("outputToggle"));
  57. outputToggle->setExplicitFocusOrder (7);
  58. outputToggle->setButtonText (TRANS("Transmit"));
  59. outputToggle->addListener (this);
  60. outputToggle->setColour (ToggleButton::textColourId, Colours::white);
  61. addAndMakeVisible (presetsCombo = new ComboBox ("presetsCombo"));
  62. presetsCombo->setExplicitFocusOrder (8);
  63. presetsCombo->setEditableText (true);
  64. presetsCombo->setJustificationType (Justification::centredLeft);
  65. presetsCombo->setTextWhenNothingSelected (TRANS("livecoding.tv"));
  66. presetsCombo->setTextWhenNoChoicesAvailable (TRANS("(no choices)"));
  67. presetsCombo->addListener (this);
  68. addAndMakeVisible (configButton = new ImageButton ("configButton"));
  69. configButton->setExplicitFocusOrder (9);
  70. configButton->addListener (this);
  71. configButton->setImages (false, true, true,
  72. ImageCache::getFromMemory (preferencessystem_png, preferencessystem_pngSize), 1.000f, Colour (0x00000000),
  73. ImageCache::getFromMemory (confighover_png, confighover_pngSize), 1.000f, Colour (0x00000000),
  74. ImageCache::getFromMemory (configpushed_png, configpushed_pngSize), 1.000f, Colour (0x00000000));
  75. //[UserPreSize]
  76. //[/UserPreSize]
  77. setSize (1, 1);
  78. //[Constructor] You can add your own custom stuff here..
  79. this->mainContent->configureCombobox(this->presetsCombo) ;
  80. //[/Constructor]
  81. }
  82. Controls::~Controls()
  83. {
  84. //[Destructor_pre]. You can add your own custom destruction code here..
  85. //[/Destructor_pre]
  86. controlsGroup = nullptr;
  87. screencapToggle = nullptr;
  88. cameraToggle = nullptr;
  89. textToggle = nullptr;
  90. interstitialToggle = nullptr;
  91. previewToggle = nullptr;
  92. audioToggle = nullptr;
  93. outputToggle = nullptr;
  94. presetsCombo = nullptr;
  95. configButton = nullptr;
  96. //[Destructor]. You can add your own custom destruction code here..
  97. //[/Destructor]
  98. }
  99. //==============================================================================
  100. void Controls::paint (Graphics& g)
  101. {
  102. //[UserPrePaint] Add your own custom painting code here..
  103. //[/UserPrePaint]
  104. g.setColour (Colour (0xff303030));
  105. g.fillRoundedRectangle (20.0f, 22.0f, static_cast<float> (getWidth() - 40), 52.0f, 4.000f);
  106. //[UserPaint] Add your own custom painting code here..
  107. //[/UserPaint]
  108. }
  109. void Controls::resized()
  110. {
  111. //[UserPreResize] Add your own custom resize code here..
  112. //[/UserPreResize]
  113. controlsGroup->setBounds (16, 12, getWidth() - 32, 64);
  114. screencapToggle->setBounds (32, 36, 72, 24);
  115. cameraToggle->setBounds (108, 36, 76, 24);
  116. textToggle->setBounds (188, 36, 52, 24);
  117. interstitialToggle->setBounds (244, 36, 64, 24);
  118. previewToggle->setBounds (314, 36, 78, 24);
  119. audioToggle->setBounds (396, 36, 64, 24);
  120. outputToggle->setBounds (464, 36, 90, 24);
  121. presetsCombo->setBounds (560, 36, 128, 24);
  122. configButton->setBounds (696, 36, 24, 24);
  123. //[UserResized] Add your own custom resize handling here..
  124. //[/UserResized]
  125. }
  126. void Controls::buttonClicked (Button* buttonThatWasClicked)
  127. {
  128. //[UserbuttonClicked_Pre]
  129. Identifier key ;
  130. var value = var(buttonThatWasClicked->getToggleState()) ;
  131. //[/UserbuttonClicked_Pre]
  132. if (buttonThatWasClicked == screencapToggle)
  133. {
  134. //[UserButtonCode_screencapToggle] -- add your button handler code here..
  135. key = CONFIG::IS_SCREENCAP_ACTIVE_ID ;
  136. //[/UserButtonCode_screencapToggle]
  137. }
  138. else if (buttonThatWasClicked == cameraToggle)
  139. {
  140. //[UserButtonCode_cameraToggle] -- add your button handler code here..
  141. key = CONFIG::IS_CAMERA_ACTIVE_ID ;
  142. //[/UserButtonCode_cameraToggle]
  143. }
  144. else if (buttonThatWasClicked == textToggle)
  145. {
  146. //[UserButtonCode_textToggle] -- add your button handler code here..
  147. key = CONFIG::IS_TEXT_ACTIVE_ID ;
  148. //[/UserButtonCode_textToggle]
  149. }
  150. else if (buttonThatWasClicked == interstitialToggle)
  151. {
  152. //[UserButtonCode_interstitialToggle] -- add your button handler code here..
  153. key = CONFIG::IS_IMAGE_ACTIVE_ID ;
  154. //[/UserButtonCode_interstitialToggle]
  155. }
  156. else if (buttonThatWasClicked == previewToggle)
  157. {
  158. //[UserButtonCode_previewToggle] -- add your button handler code here..
  159. key = CONFIG::IS_PREVIEW_ACTIVE_ID ;
  160. //[/UserButtonCode_previewToggle]
  161. }
  162. else if (buttonThatWasClicked == audioToggle)
  163. {
  164. //[UserButtonCode_audioToggle] -- add your button handler code here..
  165. key = CONFIG::IS_AUDIO_ACTIVE_ID ;
  166. //[/UserButtonCode_audioToggle]
  167. }
  168. else if (buttonThatWasClicked == outputToggle)
  169. {
  170. //[UserButtonCode_outputToggle] -- add your button handler code here..
  171. key = CONFIG::IS_OUTPUT_ACTIVE_ID ;
  172. //[/UserButtonCode_outputToggle]
  173. }
  174. else if (buttonThatWasClicked == configButton)
  175. {
  176. //[UserButtonCode_configButton] -- add your button handler code here..
  177. if (AvCaster::RejectPresetChange()) return ;
  178. key = CONFIG::IS_PENDING_ID ;
  179. value = var(!AvCaster::GetIsConfigPending()) ;
  180. //[/UserButtonCode_configButton]
  181. }
  182. //[UserbuttonClicked_Post]
  183. AvCaster::SetConfig(key , value) ;
  184. //[/UserbuttonClicked_Post]
  185. }
  186. void Controls::comboBoxChanged (ComboBox* comboBoxThatHasChanged)
  187. {
  188. //[UsercomboBoxChanged_Pre]
  189. //[/UsercomboBoxChanged_Pre]
  190. if (comboBoxThatHasChanged == presetsCombo)
  191. {
  192. //[UserComboBoxCode_presetsCombo] -- add your combo box handling code here..
  193. String preset_name = this->presetsCombo->getText() ;
  194. int option_n = this->presetsCombo->getSelectedItemIndex() ;
  195. AvCaster::SetPreset(preset_name , option_n) ;
  196. return ;
  197. //[/UserComboBoxCode_presetsCombo]
  198. }
  199. //[UsercomboBoxChanged_Post]
  200. //[/UsercomboBoxChanged_Post]
  201. }
  202. //[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
  203. void Controls::broughtToFront() { loadConfig() ; }
  204. void Controls::loadConfig()
  205. {
  206. ValueTree config_store = AvCaster::GetConfigStore() ;
  207. bool is_media_enabled = AvCaster::GetIsMediaEnabled() ;
  208. bool is_screen_enabled = AvCaster::GetIsScreenEnabled() ;
  209. bool is_camera_enabled = AvCaster::GetIsCameraEnabled() ;
  210. bool is_text_enabled = AvCaster::GetIsTextEnabled() ;
  211. bool is_image_enabled = AvCaster::GetIsImageEnabled() ;
  212. bool is_preview_enabled = AvCaster::GetIsPreviewEnabled() ;
  213. bool is_audio_enabled = AvCaster::GetIsAudioEnabled() ;
  214. bool is_screencap_on = bool(config_store[CONFIG::IS_SCREENCAP_ACTIVE_ID]) ;
  215. bool is_camera_on = bool(config_store[CONFIG::IS_CAMERA_ACTIVE_ID ]) ;
  216. bool is_text_on = bool(config_store[CONFIG::IS_TEXT_ACTIVE_ID ]) ;
  217. bool is_interstitial_on = bool(config_store[CONFIG::IS_IMAGE_ACTIVE_ID ]) ;
  218. bool is_preview_on = bool(config_store[CONFIG::IS_PREVIEW_ACTIVE_ID ]) ;
  219. bool is_audio_on = bool(config_store[CONFIG::IS_AUDIO_ACTIVE_ID ]) ;
  220. bool is_output_on = bool(config_store[CONFIG::IS_OUTPUT_ACTIVE_ID ]) ;
  221. this->screencapToggle ->setToggleState (is_screencap_on , juce::dontSendNotification) ;
  222. this->cameraToggle ->setToggleState (is_camera_on , juce::dontSendNotification) ;
  223. this->textToggle ->setToggleState (is_text_on , juce::dontSendNotification) ;
  224. this->interstitialToggle->setToggleState (is_interstitial_on , juce::dontSendNotification) ;
  225. this->previewToggle ->setToggleState (is_preview_on , juce::dontSendNotification) ;
  226. this->audioToggle ->setToggleState (is_audio_on , juce::dontSendNotification) ;
  227. this->outputToggle ->setToggleState (is_output_on , juce::dontSendNotification) ;
  228. this->mainContent ->loadPresetsCombo(this->presetsCombo) ;
  229. // disable controls per cli args
  230. this->screencapToggle ->setEnabled(is_screen_enabled ) ;
  231. this->cameraToggle ->setEnabled(is_camera_enabled ) ;
  232. this->textToggle ->setEnabled(is_text_enabled ) ;
  233. this->interstitialToggle->setEnabled(is_image_enabled ) ;
  234. this->previewToggle ->setEnabled(is_preview_enabled) ;
  235. this->audioToggle ->setEnabled(is_audio_enabled ) ;
  236. this->outputToggle ->setEnabled(is_media_enabled ) ;
  237. #ifdef DISABLE_GUI_CONTROLS_NYI
  238. this->textToggle ->setEnabled(false) ;
  239. this->interstitialToggle->setEnabled(false) ;
  240. #endif // DISABLE_GUI_CONTROLS_NYI
  241. }
  242. //[/MiscUserCode]
  243. //==============================================================================
  244. #if 0
  245. /* -- Introjucer information section --
  246. This is where the Introjucer stores the metadata that describe this GUI layout, so
  247. make changes in here at your peril!
  248. BEGIN_JUCER_METADATA
  249. <JUCER_COMPONENT documentType="Component" className="Controls" componentName=""
  250. parentClasses="public Component" constructorParams="" variableInitialisers=""
  251. snapPixels="8" snapActive="1" snapShown="1" overlayOpacity="0.330"
  252. fixedSize="0" initialWidth="1" initialHeight="1">
  253. <BACKGROUND backgroundColour="0">
  254. <ROUNDRECT pos="20 22 40M 52" cornerSize="4" fill="solid: ff303030" hasStroke="0"/>
  255. </BACKGROUND>
  256. <GROUPCOMPONENT name="controlsGroup" id="5f4ffe47101cb73b" memberName="controlsGroup"
  257. virtualName="" explicitFocusOrder="0" pos="16 12 32M 64" outlinecol="ffffffff"
  258. textcol="ffffffff" title="Controls"/>
  259. <TOGGLEBUTTON name="screencapToggle" id="ccd6f9830703071b" memberName="screencapToggle"
  260. virtualName="" explicitFocusOrder="1" pos="32 36 72 24" txtcol="ffffffff"
  261. buttonText="Screen" connectedEdges="0" needsCallback="1" radioGroupId="0"
  262. state="0"/>
  263. <TOGGLEBUTTON name="cameraToggle" id="844fe21cdd50ef0b" memberName="cameraToggle"
  264. virtualName="" explicitFocusOrder="2" pos="108 36 76 24" txtcol="ffffffff"
  265. buttonText="Camera" connectedEdges="0" needsCallback="1" radioGroupId="0"
  266. state="0"/>
  267. <TOGGLEBUTTON name="textToggle" id="a63786623ec66379" memberName="textToggle"
  268. virtualName="" explicitFocusOrder="3" pos="188 36 52 24" txtcol="ffffffff"
  269. buttonText="Text" connectedEdges="0" needsCallback="1" radioGroupId="0"
  270. state="0"/>
  271. <TOGGLEBUTTON name="interstitialToggle" id="6a66a5d35080c1cd" memberName="interstitialToggle"
  272. virtualName="" explicitFocusOrder="4" pos="244 36 64 24" txtcol="ffffffff"
  273. buttonText="Pause" connectedEdges="0" needsCallback="1" radioGroupId="0"
  274. state="0"/>
  275. <TOGGLEBUTTON name="previewToggle" id="692b72b8aa04c022" memberName="previewToggle"
  276. virtualName="" explicitFocusOrder="5" pos="314 36 78 24" txtcol="ffffffff"
  277. buttonText="Preview" connectedEdges="0" needsCallback="1" radioGroupId="0"
  278. state="0"/>
  279. <TOGGLEBUTTON name="audioToggle" id="36486443d32175e6" memberName="audioToggle"
  280. virtualName="" explicitFocusOrder="6" pos="396 36 64 24" txtcol="ffffffff"
  281. buttonText="Audio" connectedEdges="0" needsCallback="1" radioGroupId="0"
  282. state="0"/>
  283. <TOGGLEBUTTON name="outputToggle" id="22cf1f64bccae1df" memberName="outputToggle"
  284. virtualName="" explicitFocusOrder="7" pos="464 36 90 24" txtcol="ffffffff"
  285. buttonText="Transmit" connectedEdges="0" needsCallback="1" radioGroupId="0"
  286. state="0"/>
  287. <COMBOBOX name="presetsCombo" id="94d77976c2b2f37" memberName="presetsCombo"
  288. virtualName="" explicitFocusOrder="8" pos="560 36 128 24" editable="1"
  289. layout="33" items="" textWhenNonSelected="livecoding.tv" textWhenNoItems="(no choices)"/>
  290. <IMAGEBUTTON name="configButton" id="19b48645d13bf310" memberName="configButton"
  291. virtualName="" explicitFocusOrder="9" pos="696 36 24 24" buttonText="configButton"
  292. connectedEdges="0" needsCallback="1" radioGroupId="0" keepProportions="1"
  293. resourceNormal="preferencessystem_png" opacityNormal="1" colourNormal="0"
  294. resourceOver="confighover_png" opacityOver="1" colourOver="0"
  295. resourceDown="configpushed_png" opacityDown="1" colourDown="0"/>
  296. </JUCER_COMPONENT>
  297. END_JUCER_METADATA
  298. */
  299. #endif
  300. //==============================================================================
  301. // Binary resources - be careful not to edit any of these sections!
  302. // JUCER_RESOURCE: preferencessystem_png, 2129, "../Assets/preferences-system.png"
  303. static const unsigned char resource_Controls_preferencessystem_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,4,115,66,73,84,8,8,8,8,124,8,100,
  304. 136,0,0,8,8,73,68,65,84,88,133,237,150,107,80,84,231,25,199,255,231,186,247,93,129,101,193,101,65,46,106,21,144,155,58,136,241,66,172,162,226,68,99,106,173,237,76,167,173,218,241,139,83,149,96,65,116,
  305. 82,167,41,176,98,117,180,214,100,72,140,153,100,58,109,194,180,90,13,70,136,134,161,157,198,154,78,210,40,226,133,5,21,185,45,236,194,194,46,44,123,238,167,31,194,102,86,5,177,147,15,253,210,103,230,153,
  306. 247,125,207,121,159,231,255,123,158,247,157,51,7,248,191,253,143,141,152,110,67,77,77,213,114,154,165,223,7,72,29,8,220,151,5,225,195,96,80,120,235,240,225,195,220,243,138,84,31,127,167,72,3,245,139,146,
  307. 146,157,190,255,10,224,200,145,35,38,149,144,2,105,169,179,145,151,187,16,254,64,0,173,183,91,56,239,160,215,205,5,133,130,131,7,15,14,76,39,126,228,196,187,251,21,85,169,161,40,170,91,16,164,229,135,
  308. 74,119,62,138,124,79,62,43,184,172,172,108,148,38,169,149,221,61,143,198,253,129,128,226,72,112,96,237,154,245,218,172,204,236,36,131,73,119,254,89,177,117,117,117,212,209,83,239,157,101,117,154,95,45,
  309. 46,40,64,98,74,138,157,97,168,127,87,158,120,59,235,185,1,0,160,180,180,252,239,156,40,173,250,228,202,101,82,85,85,94,146,36,100,45,200,166,12,122,195,130,234,163,175,23,78,90,245,145,119,76,15,7,198,
  310. 155,76,102,243,214,156,188,69,6,86,163,65,130,195,65,217,29,142,104,82,37,111,214,214,214,50,83,2,84,85,85,197,60,249,172,98,127,197,231,0,252,162,40,246,2,0,207,243,72,77,77,51,176,180,102,203,164,212,
  311. 58,234,171,248,248,248,252,172,220,28,3,69,83,0,0,89,145,225,245,122,130,4,65,252,120,215,174,93,226,164,0,78,103,229,90,146,86,7,79,157,58,241,253,200,231,213,199,170,115,1,88,104,154,14,210,52,13,146,
  312. 36,97,52,26,9,154,166,83,38,211,39,84,196,204,153,157,162,17,4,1,162,192,67,18,121,180,223,109,227,4,94,108,40,223,187,253,15,145,123,31,3,96,52,204,217,156,236,92,72,138,244,199,218,218,55,94,6,128,154,
  313. 154,202,28,66,82,46,205,73,155,251,154,193,96,72,209,104,52,208,106,181,224,56,78,5,224,126,82,220,233,172,181,200,138,60,67,146,68,8,124,8,178,40,96,208,227,81,125,67,222,17,130,147,127,246,228,126,250,
  314. 49,0,134,25,74,116,36,217,147,103,165,208,127,189,120,238,188,179,166,18,10,128,204,5,11,78,173,88,86,88,161,170,170,86,146,36,208,52,141,222,222,30,73,20,197,199,10,56,92,91,171,39,56,182,121,254,188,
  315. 52,81,149,37,198,239,243,33,20,26,71,95,159,135,32,20,101,83,89,217,206,209,167,186,21,185,56,126,162,166,50,125,126,102,89,110,206,66,138,36,31,191,30,178,44,35,24,12,66,81,20,48,12,3,94,224,209,208,
  316. 80,207,9,146,184,109,127,73,249,133,195,181,181,122,109,136,105,202,202,152,147,103,182,152,152,150,86,215,120,32,48,118,23,42,62,133,138,107,229,37,219,47,76,122,92,145,139,202,202,202,56,163,89,239,
  317. 218,242,202,86,51,203,178,144,101,25,36,73,130,32,8,72,146,4,138,162,224,243,249,208,218,218,10,155,205,6,91,156,13,13,13,245,28,47,202,27,21,38,246,96,94,230,188,130,168,40,35,123,227,86,251,248,240,
  318. 176,255,205,178,189,219,75,39,19,141,52,42,114,209,212,212,20,44,90,183,198,237,114,181,173,115,36,56,104,171,213,10,134,97,192,48,12,100,89,134,63,48,2,69,86,32,138,34,8,226,107,246,244,140,12,218,245,
  319. 112,224,71,89,233,223,113,196,217,162,217,214,59,29,33,239,224,200,219,229,251,182,151,76,39,254,84,7,194,118,244,168,115,19,205,210,103,140,6,163,46,198,106,37,131,193,160,226,241,12,208,162,40,106,54,
  320. 20,191,164,10,188,72,0,128,170,170,104,117,117,195,26,19,13,251,204,88,180,220,233,224,251,221,222,51,229,251,118,236,126,30,241,41,1,128,175,191,100,15,30,220,75,87,41,34,142,84,136,49,134,209,223,148,
  321. 229,208,28,138,97,63,91,91,180,222,32,240,34,113,235,94,39,44,22,11,18,29,241,184,211,246,16,238,158,46,129,87,134,102,31,122,245,80,247,183,6,152,204,146,214,87,165,199,154,177,35,35,129,218,189,98,225,
  322. 60,54,198,98,192,172,36,59,218,58,30,129,33,9,36,217,103,40,215,174,127,54,52,62,198,103,84,84,84,120,159,39,231,180,159,226,176,165,110,168,222,174,101,153,127,189,178,110,197,158,144,38,149,250,221,
  323. 249,14,24,45,209,232,184,223,13,40,50,210,231,38,33,33,33,145,204,206,202,141,214,25,53,95,58,157,78,203,243,228,165,166,223,2,164,108,168,218,200,178,236,217,31,110,46,212,23,46,76,38,181,122,3,57,60,
  324. 202,227,131,198,155,200,77,53,35,63,103,46,104,154,6,207,243,112,56,18,73,89,146,13,254,209,225,205,75,242,11,222,109,110,110,22,159,149,123,90,128,228,226,170,124,154,162,46,110,46,94,166,15,242,42,254,
  325. 113,203,141,78,247,48,236,54,11,6,60,126,89,30,119,203,75,114,231,80,0,1,138,162,192,113,28,146,147,83,72,127,192,31,37,138,252,218,252,252,130,247,155,155,155,229,169,242,63,243,8,102,173,175,94,69,145,
  326. 212,149,245,171,243,245,10,65,193,235,27,131,251,126,11,186,239,126,142,241,96,16,163,33,62,232,13,138,251,46,55,126,204,41,170,2,69,81,64,146,36,2,129,0,94,40,88,78,199,218,108,57,49,214,25,245,117,117,
  327. 117,83,22,58,37,64,90,113,213,46,134,165,62,218,92,188,204,164,213,233,136,62,143,31,195,125,247,16,10,142,32,193,145,136,142,78,175,192,243,194,141,243,167,15,158,86,68,233,229,134,198,75,188,44,75,0,
  328. 0,130,32,16,12,6,81,184,98,21,107,54,91,86,14,120,251,254,164,170,234,164,23,254,41,128,185,47,253,214,154,178,193,89,175,51,232,143,253,96,83,161,94,33,41,136,2,143,177,1,23,252,195,62,216,237,9,24,26,
  329. 37,133,238,190,129,118,132,212,141,0,80,90,90,222,168,168,202,150,203,141,151,4,94,224,65,16,4,100,89,6,207,243,88,253,221,34,86,171,209,110,60,253,198,201,55,167,5,72,46,174,250,133,4,241,161,221,110,
  330. 91,179,109,243,139,6,5,4,28,49,90,244,60,184,13,239,224,32,226,227,227,49,52,70,9,157,61,3,46,112,120,225,193,213,114,127,56,246,213,189,191,172,135,130,109,159,92,185,204,115,28,7,154,166,191,129,88,
  331. 245,226,26,13,69,51,63,61,249,251,99,7,158,4,248,166,45,41,197,206,21,172,134,249,40,115,126,154,57,43,35,5,51,244,20,102,70,105,113,238,227,102,116,118,245,32,46,214,10,129,178,72,109,237,189,46,240,
  332. 88,26,41,30,105,199,79,30,221,70,168,196,123,171,87,175,101,89,134,69,32,16,192,224,224,32,28,14,7,26,175,92,230,68,94,182,31,56,112,96,248,169,14,168,80,87,197,217,98,76,171,151,206,67,70,146,25,105,
  333. 51,77,56,215,120,29,157,143,122,96,54,154,64,234,172,184,215,209,55,42,16,82,209,84,226,0,80,178,103,255,7,36,77,237,188,122,181,81,8,113,33,248,253,126,120,60,30,4,2,1,68,69,69,201,36,169,44,154,226,
  334. 8,148,78,45,67,134,76,58,26,93,253,1,156,185,240,5,58,31,118,128,102,52,136,77,72,69,107,91,119,136,31,243,110,237,169,63,228,195,19,255,17,17,221,164,1,104,246,236,222,247,103,158,227,75,154,155,63,21,
  335. 162,162,163,144,158,158,14,131,209,128,145,145,97,50,20,18,219,34,131,40,0,44,0,189,42,140,121,57,173,227,231,160,52,218,81,78,66,215,131,54,8,188,128,164,148,185,232,118,251,5,159,183,255,98,79,147,243,
  336. 47,0,180,0,52,19,113,228,132,40,11,64,63,225,6,0,134,171,87,155,92,121,121,57,30,119,191,123,249,128,167,95,112,185,238,73,195,195,35,135,94,255,245,111,174,79,232,18,0,20,2,128,101,34,169,214,182,232,
  337. 39,43,77,51,231,215,46,93,156,169,229,3,253,0,163,135,66,25,240,229,87,183,199,251,254,249,214,247,120,95,231,32,0,46,194,229,9,151,34,138,97,1,48,225,185,213,106,37,178,179,179,163,219,219,219,123,187,
  338. 186,186,2,0,4,0,226,196,200,19,0,76,97,0,0,26,219,226,29,69,6,91,218,81,179,217,32,147,20,67,13,251,252,228,88,207,141,215,6,91,62,252,91,56,104,194,185,136,185,28,33,76,79,192,132,171,84,1,40,17,160,
  339. 225,28,66,184,3,68,4,177,14,0,99,76,204,138,54,38,44,89,8,146,212,7,123,91,110,140,62,186,230,137,168,86,136,232,128,56,145,60,242,30,144,19,99,216,213,8,136,240,252,177,128,201,46,83,120,140,124,175,
  340. 98,146,4,223,214,254,3,174,151,133,37,87,153,47,161,0,0,0,0,73,69,78,68,174,66,96,130,0,0};
  341. const char* Controls::preferencessystem_png = (const char*) resource_Controls_preferencessystem_png;
  342. const int Controls::preferencessystem_pngSize = 2129;
  343. // JUCER_RESOURCE: confighover_png, 4254, "../Assets/config-hover.png"
  344. static const unsigned char resource_Controls_confighover_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,
  345. 127,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,77,69,7,223,10,28,2,20,3,203,224,166,93,0,0,16,43,73,68,65,84,88,9,1,32,16,223,239,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,88,
  346. 255,255,255,220,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  347. 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,241,255,255,255,105,
  348. 0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,255,255,255,154,0,0,0,41,0,0,0,79,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
  349. 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,23,0,0,0,2,255,255,255,161,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,132,255,255,255,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  350. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,49,255,255,255,161,0,0,0,0,4,255,255,255,
  351. 49,0,0,0,71,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,167,164,61,3,5,3,162,0,0,2,9,0,1,0,221,254,251,251,169,248,248,252,154,96,96,96,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  352. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,170,182,70,5,0,255,204,86,86,75,238,0,0,0,0,1,1,1,207,255,255,255,226,255,255,255,83,1,255,255,255,195,0,0,0,139,1,1,1,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,167,167,13,
  353. 255,0,253,242,26,26,27,0,38,37,38,0,244,245,245,0,223,224,222,248,241,241,240,231,250,248,252,57,92,92,92,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,172,183,117,254,255,255,
  354. 138,2,2,2,227,252,252,253,61,93,87,75,225,0,0,0,0,255,255,255,50,0,0,0,161,1,255,255,255,237,0,0,0,23,1,1,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,169,166,62,1,3,1,183,48,47,51,8,21,20,21,2,0,
  355. 0,0,0,221,222,220,253,224,224,223,202,84,83,86,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,191,191,3,233,239,250,155,3,5,3,86,34,35,36,11,240,240,241,253,234,231,230,241,253,255,253,65,92,84,
  356. 76,210,255,255,255,4,0,0,0,237,2,0,0,0,18,1,1,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,87,90,194,250,252,253,66,204,204,202,2,0,0,0,249,253,253,253,0,35,34,36,3,8,8,9,45,165,168,162,64,
  357. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,167,182,13,232,239,249,190,10,11,10,86,36,37,39,11,4,5,6,0,20,21,21,3,19,21,21,18,1,255,2,209,179,179,179,5,1,1,1,252,0,0,0,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  358. 0,0,164,164,164,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,88,92,201,0,0,0,241,252,252,252,229,0,0,0,0,250,250,250,0,26,25,26,11,5,3,5,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,2,207,18,18,18,55,34,36,
  359. 36,11,2,3,3,0,0,0,0,0,254,255,253,0,240,240,240,245,1,1,0,93,77,77,77,251,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,166,166,164,71,2,3,0,236,174,174,172,85,0,0,0,0,0,0,0,0,0,0,0,0,165,170,165,49,0,0,0,
  360. 15,3,3,3,245,3,3,3,0,2,2,2,0,9,9,9,1,3,3,3,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,27,27,25,7,252,252,252,0,253,252,250,0,253,252,250,0,228,225,227,248,252,251,252,184,90,84,74,164,0,0,0,0,
  361. 0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,158,36,36,36,0,253,255,253,166,179,179,176,80,0,0,0,0,167,167,164,48,1,253,255,181,28,27,28,126,8,8,8,33,5,5,5,0,6,6,6,0,250,250,250,255,0,0,0,231,0,0,0,
  362. 0,0,0,0,0,0,0,0,0,0,0,0,0,166,166,179,15,254,254,254,16,253,253,252,0,251,251,249,0,253,252,252,0,241,240,240,255,243,242,240,240,1,250,254,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
  363. 3,4,4,237,22,21,23,26,24,23,25,4,196,197,195,175,166,167,164,0,255,0,0,0,33,33,33,147,46,45,48,122,255,255,255,8,253,253,253,0,3,3,3,0,235,236,235,252,252,252,253,2,0,0,0,0,0,0,0,0,0,0,0,0,160,179,179,
  364. 10,1,250,4,192,31,30,26,251,0,254,253,5,245,242,242,0,249,249,249,0,237,237,239,1,1,254,255,79,89,89,75,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,255,1,1,1,1,0,0,0,0,170,172,167,133,32,31,33,119,
  365. 37,36,39,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,254,0,248,248,248,0,254,254,254,0,4,4,4,0,251,251,251,0,202,202,199,248,251,253,252,88,88,86,90,177,160,179,179,10,6,249,3,190,34,32,28,50,11,11,10,5,
  366. 221,223,227,246,246,246,247,215,0,255,0,189,0,255,0,198,90,86,74,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,255,255,255,255,1,1,1,1,0,0,0,0,164,164,164,23,9,10,7,218,63,62,65,14,4,4,4,0,254,
  367. 254,254,0,1,1,1,0,1,1,1,0,253,253,253,0,2,2,2,0,243,243,243,0,223,223,223,0,16,16,16,0,17,18,17,0,202,202,199,248,251,252,254,78,254,4,15,123,38,33,30,57,12,12,9,6,220,223,229,246,244,243,244,151,89,84,
  368. 74,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,255,255,255,255,1,1,1,1,0,0,0,0,0,0,0,0,170,173,169,95,4,3,4,152,54,52,54,8,20,20,21,0,255,255,255,0,0,0,0,0,248,248,248,
  369. 0,245,246,244,0,253,252,254,0,236,236,236,0,3,3,3,0,9,9,9,0,9,10,8,0,197,202,210,253,33,31,30,254,18,17,15,5,222,223,228,247,238,239,242,154,90,85,74,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  370. 0,0,0,0,0,0,0,0,0,255,255,255,255,1,255,255,255,255,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,168,168,166,79,3,5,3,156,9,8,9,9,14,15,15,2,248,248,248,254,240,239,238,4,252,252,253,7,56,56,57,255,252,251,253,1,0,
  371. 0,0,0,255,255,255,0,223,227,234,0,15,15,14,0,19,18,15,0,222,225,229,249,238,237,241,156,90,85,74,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,255,255,255,
  372. 255,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,191,191,3,231,231,226,42,255,2,1,23,2,255,1,244,3,3,7,209,254,254,250,37,2,4,4,197,54,52,55,11,251,251,252,1,222,226,232,0,12,11,11,0,21,21,18,0,225,227,
  373. 232,0,237,235,233,250,251,255,242,36,93,86,93,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,255,255,255,255,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  374. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,119,164,42,15,10,0,99,33,21,3,108,46,38,30,6,14,11,8,0,23,22,19,0,227,229,233,0,4,2,1,0,22,19,12,254,213,214,212,237,248,247,250,43,92,92,92,235,0,0,0,0,0,0,0,0,
  375. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,120,165,98,6,4,4,202,62,54,47,111,249,5,25,3,174,195,
  376. 229,0,9,11,13,0,229,230,235,0,0,255,254,0,31,28,22,0,21,21,22,2,35,35,36,18,7,9,6,205,166,166,166,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,
  377. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,120,164,78,3,5,4,148,66,62,48,11,45,39,26,3,46,41,31,3,24,25,21,0,150,174,207,0,246,248,249,0,37,33,27,0,4,4,4,0,247,247,247,0,31,30,32,3,31,30,31,25,7,
  378. 8,4,199,160,160,160,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,120,164,55,2,2,3,166,60,54,43,9,244,247,253,
  379. 0,180,199,225,0,211,221,235,0,23,21,16,0,7,6,7,253,216,222,227,251,255,0,254,0,255,255,255,0,2,2,2,0,245,245,245,0,37,36,38,4,21,22,23,37,13,14,11,191,160,160,160,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  380. 0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,119,165,66,2,1,3,187,55,51,41,10,254,0,3,0,241,243,247,0,237,230,222,0,235,226,215,0,248,247,248,0,246,249,251,245,240,
  381. 247,253,113,201,203,201,248,254,255,254,0,254,254,254,0,2,2,2,0,245,245,245,0,45,43,46,4,16,17,17,48,14,15,12,180,191,191,191,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,
  382. 0,0,0,0,0,0,0,0,0,0,0,0,0,90,120,164,103,4,4,2,179,61,55,45,13,6,6,7,1,237,240,244,0,243,237,226,0,250,248,244,0,20,21,21,0,229,233,240,250,251,251,252,208,131,112,92,149,255,252,253,80,202,203,200,249,
  383. 254,254,253,0,0,0,0,0,1,1,1,0,247,247,247,0,48,46,49,6,11,10,11,63,239,241,237,167,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,122,169,20,89,120,166,180,
  384. 7,8,8,141,65,59,48,10,255,2,2,0,252,252,250,0,247,239,228,0,245,243,243,0,19,19,20,0,242,246,2,250,235,236,239,219,0,249,255,78,0,0,0,0,87,87,90,185,255,255,254,84,201,203,200,250,251,251,251,0,1,1,1,
  385. 0,254,254,254,0,251,251,251,0,51,51,53,6,6,5,6,78,176,177,173,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,88,120,164,110,253,0,252,223,19,20,16,69,66,60,49,11,255,0,1,0,20,14,
  386. 6,0,235,231,224,0,240,241,241,0,18,18,18,0,242,247,2,250,232,235,239,218,0,250,0,59,166,141,90,241,0,0,0,0,0,0,0,0,86,84,89,180,0,254,0,88,203,205,201,249,250,250,250,0,3,3,3,0,254,254,254,0,250,250,250,
  387. 0,50,49,52,7,2,3,4,96,173,175,170,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,255,1,1,1,1,89,120,166,62,4,5,4,179,33,31,26,14,35,32,25,0,12,7,2,0,18,13,6,0,195,201,208,0,232,233,235,0,17,16,15,0,
  388. 252,2,11,252,227,228,236,218,0,251,0,58,166,141,90,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,173,168,88,1,255,1,161,51,51,53,6,5,4,5,0,245,245,245,0,241,241,241,0,21,21,21,0,203,204,201,248,252,
  389. 251,254,26,91,91,91,239,0,0,0,0,255,255,255,255,2,0,0,0,0,0,0,0,0,255,0,255,66,18,16,14,13,51,43,30,0,32,22,10,0,26,19,10,0,195,203,214,0,232,232,235,0,11,9,10,0,2,7,15,0,226,229,237,243,251,1,253,70,
  390. 166,141,90,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,83,88,168,2,3,2,100,205,205,203,250,249,250,249,0,245,245,245,0,240,240,240,0,246,246,246,0,13,13,13,253,2,2,255,52,0,0,0,0,0,0,0,0,0,
  391. 0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,224,6,4,1,247,10,7,3,0,233,238,246,0,181,197,217,0,232,231,229,0,3,4,5,0,15,20,25,0,223,226,234,247,251,247,240,86,235,199,157,238,64,64,64,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
  392. 0,0,0,64,64,64,1,64,64,64,4,64,64,64,7,147,145,149,172,251,250,251,114,208,208,206,250,13,13,13,0,31,31,31,0,8,9,8,0,244,244,243,2,249,249,252,217,0,0,0,0,0,0,0,0,0,0,0,0,1,250,250,250,239,161,161,161,
  393. 42,176,188,206,8,15,35,61,207,48,44,37,15,6,7,6,0,223,221,219,0,249,247,245,0,25,27,30,0,235,238,247,250,235,233,231,176,233,205,163,122,0,0,0,251,0,0,0,250,0,0,0,250,0,0,0,249,0,0,0,254,0,0,0,1,0,0,0,
  394. 5,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,2,92,92,89,88,11,13,13,130,7,7,7,254,250,250,249,1,244,244,245,124,164,162,165,158,0,0,0,251,123,123,123,6,67,67,67,224,1,225,225,225,109,251,251,251,18,100,100,100,160,
  395. 17,39,71,63,9,19,31,153,44,39,33,8,251,246,238,0,0,4,7,0,254,2,9,0,218,219,223,246,236,214,180,83,251,242,232,236,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0,253,0,0,0,253,0,0,0,252,0,0,0,3,0,0,0,6,0,0,0,6,0,
  396. 0,0,5,0,0,0,6,0,0,0,6,15,15,15,1,35,35,35,18,229,229,229,229,233,233,233,242,0,0,0,250,0,0,0,251,174,174,174,107,8,8,8,233,1,0,0,0,13,228,228,228,155,208,208,208,162,140,140,140,218,17,40,74,70,8,16,26,
  397. 139,10,11,9,253,2,2,3,3,243,243,245,2,247,235,220,126,241,221,191,193,0,0,0,250,0,0,0,249,0,0,0,249,0,0,0,248,0,0,0,249,0,0,0,249,0,0,0,253,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,1,0,0,0,255,0,
  398. 0,0,254,0,0,0,253,0,0,0,252,0,0,0,250,164,164,164,43,24,24,24,103,4,4,4,95,1,0,0,0,1,0,0,0,5,239,239,239,158,242,242,242,228,207,207,207,183,153,166,179,237,9,20,42,51,0,2,1,10,248,235,222,208,246,233,
  399. 212,234,0,0,0,253,0,0,0,253,0,0,0,250,0,0,0,248,0,0,0,248,0,0,0,251,192,192,192,254,0,0,0,0,0,0,0,0,64,64,64,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,0,0,0,255,0,0,0,254,178,178,178,13,13,13,13,101,
  400. 0,0,0,44,1,1,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,87,254,254,254,221,254,254,254,255,253,253,253,255,252,252,252,255,252,252,252,255,252,252,252,255,253,253,253,255,254,254,254,255,255,255,
  401. 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  402. 255,255,255,255,255,255,255,255,255,255,255,239,255,255,255,99,0,0,0,0,0,0,0,0,0,0,0,0,142,119,220,132,34,208,196,92,0,0,0,0,73,69,78,68,174,66,96,130,0,0};
  403. const char* Controls::confighover_png = (const char*) resource_Controls_confighover_png;
  404. const int Controls::confighover_pngSize = 4254;
  405. // JUCER_RESOURCE: configpushed_png, 4254, "../Assets/config-pushed.png"
  406. static const unsigned char resource_Controls_configpushed_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,6,98,75,71,68,0,0,0,0,0,0,249,67,187,
  407. 127,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,77,69,7,223,10,28,2,22,54,175,101,0,252,0,0,16,43,73,68,65,84,88,9,1,32,16,223,239,1,0,0,0,0,0,0,0,0,0,0,0,0,181,181,181,88,
  408. 203,203,203,132,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,
  409. 53,53,53,120,75,75,75,151,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,168,168,168,154,216,216,216,231,0,0,0,170,128,128,128,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  410. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,8,0,0,0,99,40,40,40,54,88,88,88,95,0,0,0,0,0,0,0,0,0,168,168,168,132,128,128,128,120,0,0,0,0,0,0,0,0,0,
  411. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,
  412. 49,168,168,168,161,0,0,0,0,1,181,181,181,49,203,203,203,154,0,0,0,55,128,128,128,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,100,61,3,5,3,162,0,0,2,9,0,0,0,221,254,252,251,169,248,248,252,154,160,160,
  413. 160,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,106,117,70,5,0,0,204,150,150,139,238,0,0,0,0,0,0,0,0,128,128,128,131,53,53,53,208,3,38,38,38,171,0,0,0,135,128,
  414. 128,128,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,102,13,0,1,254,218,24,24,25,16,48,47,50,12,19,19,19,29,248,250,249,65,253,255,252,95,47,45,47,168,207,207,207,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  415. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,108,119,117,0,0,255,162,0,3,3,90,48,51,57,174,207,204,198,241,0,0,0,0,64,64,64,241,230,230,230,145,2,0,0,0,42,0,0,0,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,154,
  416. 154,243,3,2,3,63,234,235,233,246,245,246,245,254,21,20,21,0,53,51,54,8,35,33,35,30,9,10,7,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,127,3,104,110,120,158,5,6,5,127,40,43,43,0,
  417. 22,25,24,26,3,3,2,206,99,108,116,46,0,0,0,0,0,0,0,210,0,0,0,30,2,0,0,0,18,128,128,128,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,151,154,194,250,252,253,66,204,204,201,2,255,255,255,249,253,
  418. 253,253,0,34,33,35,3,8,8,8,45,101,104,98,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,117,13,231,239,249,190,10,10,11,86,36,38,39,11,4,5,5,0,20,21,21,3,20,21,21,18,2,255,1,209,114,114,114,5,128,
  419. 128,128,252,0,0,0,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,100,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,152,156,201,0,0,0,241,253,253,253,229,0,0,0,0,251,251,251,0,25,25,27,11,4,3,5,84,0,0,0,0,0,0,0,
  420. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,3,207,18,18,18,55,34,37,36,11,2,3,2,0,0,0,0,0,254,254,254,0,240,241,239,245,1,1,1,93,142,142,142,251,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,102,102,99,71,2,3,255,236,110,
  421. 110,108,85,0,0,0,0,0,0,0,0,0,0,0,0,101,105,101,49,0,0,0,15,3,3,3,245,3,3,3,0,2,2,2,0,9,9,9,1,3,3,3,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,19,28,27,24,7,252,252,251,0,252,251,251,0,253,252,
  422. 251,0,228,226,227,248,252,250,253,184,154,148,138,164,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,3,5,4,158,36,35,37,0,253,254,253,166,114,114,112,80,0,0,0,0,103,103,99,48,1,253,254,181,27,26,29,
  423. 126,8,8,8,33,6,6,6,0,6,6,6,0,250,250,250,255,0,0,0,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,114,15,254,255,253,16,253,253,253,0,251,250,250,0,254,253,252,0,241,240,240,255,243,241,240,240,0,250,253,
  424. 97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,237,21,21,23,26,24,24,25,4,196,197,194,175,102,103,99,0,255,0,0,0,33,34,34,147,46,45,48,122,255,255,255,8,253,253,253,0,3,3,3,0,236,236,
  425. 235,252,253,252,252,2,0,0,0,0,0,0,0,0,0,0,0,0,96,114,114,10,0,250,5,192,31,30,26,251,255,254,253,5,245,243,242,0,249,249,249,0,237,237,239,1,0,254,255,79,154,154,139,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  426. 0,4,0,0,0,0,0,0,0,0,0,0,0,0,253,253,252,179,235,235,233,42,36,36,38,3,74,73,77,0,0,0,0,0,0,0,0,0,0,0,0,109,249,249,249,0,247,247,247,0,255,255,255,0,4,4,4,0,38,38,39,5,202,202,238,89,104,106,102,177,152,
  427. 150,154,177,96,114,114,10,6,250,4,190,34,32,27,43,11,11,10,5,221,223,227,246,246,246,247,215,0,255,0,189,0,255,0,198,154,150,139,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,249,
  428. 247,252,146,226,228,227,108,33,33,35,14,2,2,2,0,254,254,254,0,1,1,1,0,1,1,1,0,255,255,255,0,10,10,10,0,243,243,243,0,217,217,217,0,16,16,16,0,54,53,57,8,202,202,199,168,102,105,102,78,255,250,4,123,36,
  429. 33,30,49,13,13,9,5,220,222,228,246,246,246,247,151,154,148,138,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,157,157,157,233,254,254,254,110,195,196,193,
  430. 248,244,244,243,0,9,9,9,0,8,8,8,0,7,7,7,0,2,2,2,0,245,246,244,0,255,255,255,0,12,12,12,0,255,255,255,0,247,247,247,0,54,54,56,8,1,3,12,183,35,32,27,58,16,16,12,6,225,226,231,247,243,243,245,155,154,148,
  431. 138,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,148,151,161,104,104,102,240,199,200,198,156,9,9,9,9,14,15,15,2,248,247,247,254,239,
  432. 240,239,4,253,252,252,7,56,56,58,255,12,12,12,1,0,0,0,0,0,0,0,0,214,218,226,0,32,30,30,3,18,17,15,3,222,225,229,249,238,239,241,158,154,149,139,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  433. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,152,154,177,20,19,22,24,242,241,239,57,227,228,225,78,236,235,235,68,1,255,3,17,2,1,0,47,204,205,203,245,6,7,6,255,2,2,2,0,224,
  434. 228,234,0,12,12,11,0,19,19,16,0,225,227,231,0,240,237,236,1,253,254,238,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  435. 0,0,0,0,0,0,0,129,129,129,253,0,0,0,211,0,0,0,211,0,0,0,0,0,0,0,0,22,55,100,252,16,10,252,154,220,233,199,108,47,38,30,6,14,12,10,0,22,21,18,0,227,229,233,0,6,4,3,0,47,44,37,4,213,214,211,205,100,100,
  436. 100,43,156,156,156,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,56,101,98,6,4,4,202,
  437. 61,54,47,111,250,6,26,3,173,196,229,0,9,11,13,0,229,230,234,0,0,255,254,0,31,28,22,0,20,20,21,2,35,35,37,18,7,9,5,205,102,102,102,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  438. 0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,56,100,78,4,5,4,148,67,61,48,11,46,39,26,3,46,41,31,3,25,25,21,0,150,174,207,0,246,248,250,0,37,33,27,0,4,4,4,0,247,247,
  439. 247,0,31,30,32,3,31,29,32,25,6,8,4,199,96,96,96,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,55,100,55,2,2,2,
  440. 166,59,53,43,9,244,248,253,0,180,199,225,0,211,221,235,0,23,20,17,0,6,6,7,253,215,221,227,251,255,0,254,0,254,254,254,0,3,3,3,0,245,245,245,0,36,36,37,4,22,22,23,37,13,14,11,191,96,96,96,6,0,0,0,0,0,0,
  441. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,55,101,66,2,2,2,187,55,50,42,10,255,1,2,0,240,243,247,0,237,230,222,0,234,226,214,0,248,248,248,
  442. 0,247,249,251,245,241,248,252,113,201,202,201,248,255,0,255,0,254,254,254,0,2,2,2,0,246,246,246,0,44,42,45,4,16,16,16,48,14,15,12,180,127,127,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
  443. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,55,100,103,4,4,2,179,61,55,45,13,6,7,6,1,236,240,245,0,244,236,226,0,249,248,244,0,21,21,22,0,229,232,240,250,250,251,251,208,195,176,157,149,255,253,253,
  444. 80,202,202,200,249,254,254,253,0,0,0,0,0,1,1,1,0,248,248,248,0,48,47,50,6,10,10,11,63,239,240,237,167,191,191,191,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,58,105,
  445. 20,25,56,102,180,7,9,8,141,65,59,48,10,254,2,3,0,252,252,251,0,247,239,228,0,244,244,242,0,20,19,20,0,241,246,2,250,234,237,239,219,0,249,0,78,0,0,0,0,151,151,154,185,254,0,254,84,201,203,200,250,250,
  446. 251,250,0,0,0,0,0,254,254,254,0,251,251,251,0,51,50,52,6,6,6,6,78,176,176,173,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,24,55,100,110,253,0,252,223,19,20,16,69,66,60,48,11,
  447. 255,0,1,0,21,14,6,0,235,230,224,0,241,241,241,0,18,18,18,0,242,247,2,250,232,235,238,218,0,250,0,59,231,205,154,241,0,0,0,0,0,0,0,0,151,148,153,180,0,254,0,88,204,204,202,249,250,250,250,0,3,3,3,0,253,
  448. 253,253,0,251,251,251,0,49,48,51,7,2,3,3,96,108,111,105,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,25,55,102,62,5,6,5,131,37,33,31,12,52,47,38,6,9,7,3,0,36,26,13,0,216,216,217,0,235,237,239,
  449. 0,16,15,15,0,250,255,8,252,232,235,240,220,0,250,0,60,231,205,154,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,150,152,175,255,0,255,96,204,205,202,250,247,248,247,0,253,253,253,0,242,242,242,0,228,228,228,
  450. 0,45,44,47,7,253,251,254,126,101,101,101,17,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,255,0,255,66,17,16,15,13,51,44,30,0,33,23,11,0,27,19,9,0,195,203,214,0,232,233,235,0,10,9,9,0,2,6,15,0,226,229,236,
  451. 243,252,1,253,70,231,205,154,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,148,152,168,1,3,2,100,205,205,203,250,250,250,250,0,245,245,245,0,239,239,239,0,245,245,245,0,12,13,13,253,1,1,254,
  452. 52,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,254,224,6,4,1,247,10,6,3,0,233,238,245,0,181,197,217,0,232,231,229,0,3,4,5,0,16,20,26,0,223,227,234,247,250,247,241,86,235,199,157,238,0,0,0,4,0,0,0,0,
  453. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,7,148,145,149,172,251,250,250,114,208,208,205,250,12,13,12,0,32,32,32,0,9,9,9,0,244,244,243,2,250,250,253,217,0,0,0,0,0,0,0,0,0,0,0,0,3,60,60,60,112,255,255,
  454. 255,162,225,221,216,229,250,6,22,101,0,3,5,8,246,249,253,0,233,231,228,0,252,250,251,0,22,25,28,0,234,237,244,250,242,241,239,178,236,207,166,173,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,
  455. 10,0,0,0,10,0,0,0,11,0,0,0,11,205,205,207,218,37,37,36,234,237,239,238,61,239,239,237,250,227,228,226,252,244,244,245,124,162,161,163,200,0,0,0,3,82,82,82,12,22,22,22,105,4,32,32,32,126,236,236,236,102,
  456. 195,195,152,160,5,16,31,110,208,212,0,153,44,39,33,8,17,13,9,0,0,17,16,0,255,2,5,0,237,238,239,252,239,218,187,159,0,0,0,17,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0,7,0,0,0,253,0,0,0,252,0,0,0,3,0,0,0,6,0,
  457. 0,0,6,0,0,0,5,0,0,0,6,165,165,168,189,15,15,15,190,35,35,35,18,228,228,228,229,234,234,234,242,0,0,0,6,0,0,0,1,34,34,34,107,46,46,46,116,3,178,178,178,215,95,95,95,98,4,4,4,231,210,198,182,208,3,11,23,
  458. 221,238,244,252,65,247,252,0,248,244,246,252,253,230,230,235,253,247,235,221,127,246,233,212,216,0,0,0,251,0,0,0,251,0,0,0,252,0,0,0,251,0,0,0,250,0,0,0,248,0,0,0,250,0,0,0,0,0,0,0,255,0,0,0,254,0,0,0,
  459. 252,0,0,0,251,0,0,0,247,249,249,249,245,231,231,231,235,245,245,245,246,0,0,0,251,0,0,0,250,110,110,110,42,52,52,52,70,87,87,87,125,1,0,0,0,1,0,0,0,5,155,155,155,158,209,209,209,228,223,223,223,183,190,
  460. 203,215,237,9,20,42,51,0,1,2,10,248,236,221,208,246,233,213,234,0,0,0,253,0,0,0,253,0,0,0,250,0,0,0,248,0,0,0,248,0,0,0,251,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,
  461. 0,0,0,255,0,0,0,254,119,119,119,13,9,9,9,101,40,40,40,44,88,88,88,96,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,181,181,181,87,202,202,202,134,0,0,0,34,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,
  462. 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,53,53,53,116,75,75,75,157,0,0,0,0,0,0,0,0,22,82,238,110,38,194,229,141,0,0,
  463. 0,0,73,69,78,68,174,66,96,130,0,0};
  464. const char* Controls::configpushed_png = (const char*) resource_Controls_configpushed_png;
  465. const int Controls::configpushed_pngSize = 4254;
  466. //[EndFile] You can add extra defines here...
  467. //[/EndFile]