home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 November / CDVD1105.ISO / Util / Winamp / Skins / MMD3.wal / scripts / playertools.m next >
Text File  |  2002-11-30  |  69KB  |  2,772 lines

  1. //--------------------------------------------------------------------
  2. // MAINPlayer and SHADEPlayer essentials for MMD3
  3. //--------------------------------------------------------------------
  4. // playertools.m
  5. //--------------------------------------------------------------------
  6. // - Songticker/Display Fader
  7. // - Toggle-LED Status
  8. // - Scroll-Songticker Menu
  9. // - Seeker Ghosts
  10. // - Shade Drawers EQ/THINGER/CONFIG
  11. // - Display ButtonCommands
  12. // - Remember Window and Shade Positions
  13. // - Winshade Mode 2
  14. // - Advanced Visualization
  15. // - VIS-Mode LED-Status
  16. // - EQ-Crossfade
  17. // - Drawers EQ/VIS/ColorThemes
  18. // - glowing effect for mainplay buttons
  19. //--------------------------------------------------------------------
  20. // Script by:        Barti Bartman alias Sven Kistner for MMD3
  21. // Last Modified:    29.11.2002
  22. //--------------------------------------------------------------------
  23. // Feel free to use parts of this script in your own projects
  24. // I know the code looks a litle bit strange. Sorry for that...
  25. // ...I am more a graphic artist than a coder...but it works :)
  26. //--------------------------------------------------------------------
  27.  
  28. #include "../../../lib/std.mi"
  29.  
  30. Function MakeSongtickerMenu();
  31. Function setTempText(String txt);
  32. Function setSuperText(String txt);
  33. Function ProcessMenuResult(int a);
  34. Function OpenCloseShadeEQ();
  35. Function OpenCloseShadeConfig();
  36. Function OpenCloseShadeThinger();
  37. Function OpenCloseShadePL();
  38. Function checkshadenext();
  39. Function PrepareShadeDrawer(string i);
  40. Function OpenCloseCTSH1();
  41. Function OpenCloseCTSH2();
  42. Function PrepareSH2Drawer(string i);
  43. Function SetLastShadeMode(int i);
  44. Function OpenCloseEQ();
  45. Function OpenCloseCT();
  46. Function checknext();
  47. Function OpenCloseVIS();
  48. Function ShowVISBg(int nr);
  49. Function PrepareDrawer(string i);
  50. Function SetLEDVISMode(int nr);
  51. Function ShowHint();
  52. Function startglow();
  53. Function stopglow();
  54. Function setLeftRightMode(int i);
  55.  
  56. Function setFinalToolDrawerPos1();
  57. Function setFinalToolDrawerPos2();
  58. Function setFinalToolDrawerPos3();
  59.  
  60. Class GuiObject HintObject;
  61. Class ToggleButton HintToggleButton;
  62. Class Button HintButton;
  63.  
  64. Global Text Songticker,SuperText,SongTickerShade,SongTickerShade2;
  65. Global Slider Seeker, SeekGhost;
  66. Global Slider SeekerShade, SeekGhostShade;
  67. Global Slider SeekerShade2, SeekGhostShade2;
  68. Global Int Seeking, glowing, glow_delta;
  69. Global string textcol;
  70. Global Container mainContainer;
  71. Global Layout mainshade,dummynormal,mainshade2;
  72. Global group mainnormal;
  73. Global Popupmenu tickerMenu;
  74. Global Timer Songtickertimer,textfadetimer,textfadetimer2;
  75. Global Timer glowtimer;
  76. Global HintObject Play, Stop, Previous, Next, Pause, Open;
  77. Global HintToggleButton ToggleCrossfade, ToggleShuffle, ToggleRepeat, ToggleScroll, ToggleScroll2;
  78. Global HintButton ButtonShadeEQ,ButtonShadeThinger,ButtonShadeConfig,CTShade2,CTShade2b,CTShade1;
  79. Global HintButton ButtonSH2Thinger,ButtonSH2EQ,ButtonSH2CFG,Switcher2;
  80. Global Int textfade, CTSH2open,CTSH1open, CTSH2IsReady,CTSH1IsReady;
  81. Global Int ShadeEQOpen,ShadeThingerOpen,ShadeConfigOpen,shadeDrawerIsReady,ShadePLopen;
  82. Global Int SH2EQOpen,SH2CFGOpen,SH2ThingerOpen,SH2DrawerIsReady;
  83. Global string nextshadeopen;
  84. Global Group EQShadeDrawer,ThingerShadeDrawer,ConfigShadeDrawer,EQSpline,ThingerTXT;
  85. Global Group EQSH2Drawer,CFGSH2Drawer,ThingerSH2Drawer,mainshade2main,SH2CTCloser;
  86. Global Group CTDrawerSH2,CTListSh2,CTDrawerSH1,CTListSh1;
  87. Global Layer CrossfadeLED, RepeatLED, ShuffleLED, SupertextBG, SupertextOV;
  88. Global Layer CrossfadeDisplay, RepeatDisplay, ShuffleDisplay,Switcher1,Switcher3;
  89. Global Layer glow;
  90. Global Int ty1,ty2,ty3,lastshademode;
  91. Global AnimatedLayer disani;
  92. Global Timer refreshEQ;
  93. Global int maxVu,lastk;
  94. Global int VuLoop;
  95. Global int isEQOpen,isVISOpen,isCTOpen,DrawerIsReady;
  96. Global int VISMode;
  97. Global Timer HintFadeTimer;
  98. Global int HintFadeCounter;
  99. Global Vis normalVIS;
  100. Global string nextopen;
  101. Global Group OnOffLayer,CTLayer,CTList;
  102. Global HintButton EQPush,EQPush2,VISPush,VISPush2,EQPush2b,VISPush2b,CTPush,CTPush2,CTPush2b,CTPush3,EQPush3,VISPush3;
  103. Global HintButton vb1,vb2,vb3,vb4,vb5,vb6,vb7,vb8,vb9;
  104. Global HintButton VISHint,autobutton;
  105. Global Group EQDrawer,VISDrawer,CTDrawer;
  106. Global Layer AutoLED, OnOffLED;
  107. Global Layer l1,l2,l3,l4,l5,l6,l7,l8,l9;
  108. Global Layer dis1,dis2,dis3,dis4;
  109. Global Slider slidercb;
  110. Global Text fadertext;
  111. Global int EQCTVISDrawer_x_start, EQCTVISDrawer_x_end;
  112. Global int avdelta;
  113. Global Button SongInfoEditor;
  114. Global button configbutton;
  115. Global HintToggleButton baot1,baot2,baot3;
  116. Global AnimatedLayer VolumeLED, BassLED, TrebleLED;
  117. Global Button PLS1,PLS2;
  118. Global Layer PLCloser;
  119. Global Group smallPlaylist;
  120.  
  121. System.onscriptunloading() {
  122.     delete Songtickertimer;
  123.     delete glowtimer;
  124.     delete textfadetimer;
  125.     delete textfadetimer2;
  126.     delete refreshEQ;
  127.     delete HintFadeTimer;
  128. }
  129.  
  130. System.onScriptLoaded() {
  131.     Songtickertimer = new Timer;
  132.     Songtickertimer.setDelay(1000);
  133.  
  134.     textfadetimer = new Timer;
  135.     textfadetimer.setDelay(10);
  136.  
  137.     textfadetimer2 = new Timer;
  138.     textfadetimer2.setDelay(10);
  139.  
  140.     glowtimer = new Timer;
  141.     glowtimer.setDelay(20);
  142.  
  143.     mainContainer=getContainer("main");
  144.  
  145.     dummynormal = getContainer("main").getLayout("normal");
  146.     mainnormal = dummynormal.getObject("main.mmd3");
  147.     mainshade = getContainer("main").getLayout("shade");
  148.     mainshade2 = getContainer("main").getLayout("shade2");
  149.     mainshade2main = mainshade2.getObject("shade2main");
  150.  
  151.     smallPlaylist = mainshade.getObject("shade1.plsmall");
  152.     PLS2 = smallPlaylist.getObject("plsmallbut2");
  153.     PLS1 = mainshade.getObject("plsmallbut");
  154.     PLCloser = smallPlaylist.getObject("pls.switcher");
  155.  
  156.     smallPlaylist.hide();
  157.  
  158.     configbutton = mainnormal.getObject("maincfg");
  159.  
  160.     glow = mainnormal.getObject("glow");
  161.     glow.setAlpha(0);
  162.     glowing=0;
  163.  
  164.     disani= mainnormal.getObject("visani");
  165.     EQDrawer = dummynormal.getObject("main.eq");
  166.     VISDrawer = dummynormal.getObject("main.visd");
  167.     CTDrawer = dummynormal.getObject("main.cthemes");
  168.     OnOffLayer = dummynormal.getObject("onofflayer");
  169.     CTLayer = dummynormal.getObject("main.ctlayer");
  170.     normalVIS = mainnormal.getObject("visual");
  171.  
  172.     autobutton=EQDrawer.getObject("eqauto");
  173.  
  174.     CTDrawer.hide();
  175.  
  176.     EQCTVISDrawer_x_start=149;
  177.     EQCTVISDrawer_x_end=350;
  178.  
  179.     dis1 = mainnormal.getObject("vis3bg");
  180.     dis2 = mainnormal.getObject("vis3overlay");
  181.     dis3 = mainnormal.getObject("vis2overlay");
  182.     dis4 = mainnormal.getObject("vis2bg");
  183.  
  184.     EQPush = OnOffLayer.getObject("eqtoggle");
  185.     EQPush2 = EQDrawer.getObject("eqtoggle2");
  186.     EQPush2b = VISDrawer.getObject("eqtoggle2b");
  187.     EQPush3 = CTLayer.getObject("eqtoggle3");
  188.  
  189.     VISPush = OnOffLayer.getObject("visdtoggle");
  190.     VISPush2 = VISDrawer.getObject("visdtoggle2");
  191.     VISPush2b = EQDrawer.getObject("visdtoggle2b");
  192.     VISPush3 = CTLayer.getObject("visdtoggle3");
  193.  
  194.     CTPush = OnOffLayer.getObject("cttoggle");
  195.     CTPush2 = VISDrawer.getObject("cttoggle2b");
  196.     CTPush2b = EQDrawer.getObject("cttoggle2");
  197.     CTPush3 = CTDrawer.getObject("cttoggle3");
  198.  
  199.     CTList = dummynormal.getObject("main.ctlist");
  200.     CTList.hide();
  201.  
  202.     VISHint = mainnormal.getObject("vis2hint");
  203.     HintFadeTimer = new Timer;
  204.     HintFadeTimer.setDelay(20);
  205.  
  206.     vb1 = VISDrawer.getObject("visbbg1");
  207.     vb2 = VISDrawer.getObject("visbbg2");
  208.     vb3 = VISDrawer.getObject("visbbg3");
  209.     vb4 = VISDrawer.getObject("visbbg4");
  210.     vb5 = VISDrawer.getObject("visbbg5");
  211.     vb6 = VISDrawer.getObject("visbbg6");
  212.  
  213.     vb7 = VISDrawer.getObject("visbfg1");
  214.     vb8 = VISDrawer.getObject("visbfg2");
  215.     vb9 = VISDrawer.getObject("visbfg3");
  216.  
  217.     l1 = VISDrawer.getObject("vled1");
  218.     l2 = VISDrawer.getObject("vled2");
  219.     l3 = VISDrawer.getObject("vled3");
  220.     l4 = VISDrawer.getObject("vled4");
  221.     l5 = VISDrawer.getObject("vled5");
  222.     l6 = VISDrawer.getObject("vled6");
  223.  
  224.     l7 = VISDrawer.getObject("vled7");
  225.     l8 = VISDrawer.getObject("vled8");
  226.     l9 = VISDrawer.getObject("vled9");
  227.  
  228.     slidercb = EQDrawer.getObject("sCrossfade");
  229.     fadertext = EQDrawer.getObject("cftext");
  230.     slidercb.onSetPosition(slidercb.getPosition());
  231.  
  232.     AutoLED = EQDrawer.getObject("eqautoLed");
  233.     OnOffLED = EQDrawer.getObject("eqonoffLed");
  234.  
  235.     isEQOpen = 0;
  236.     isVISOpen = 0;
  237.     isCTOpen = 0;
  238.  
  239.     DrawerIsReady = 1;
  240.     nextopen="";
  241.  
  242.     refreshEQ = new Timer;
  243.     refreshEQ.setDelay(20);
  244.  
  245.     maxVu=0;
  246.     lastk=0;
  247.     VuLoop=0;
  248.     avdelta=2;
  249.  
  250.     OnOffLED.hide();
  251.     AutoLED.hide();
  252.  
  253.     VISMode = getPrivateInt("MMD3", "AVISMODE", 1);
  254.     ShowVISBg(VISMode);
  255.  
  256.     int dummymode = getPrivateInt("MMD3", "LASTMODE", 0);
  257.     if (dummymode>0) refreshEQ.stop();
  258.  
  259.     if ( system.getEQ() ) OnOffLED.show();
  260.     if ( autobutton.getActivated()==1 ) AutoLED.show();
  261.  
  262.     VolumeLED = mainnormal.getObject("VolumeAnimLED");
  263.     BassLED = mainnormal.getObject("BassAnimLED");
  264.     TrebleLED = mainnormal.getObject("TrebleAnimLED");
  265.  
  266.     Switcher1 = mainnormal.getObject("mslabel11");
  267.     Switcher2 = mainnormal.getObject("bmsmall");
  268.     Switcher3 = mainnormal.getObject("nm.switcher");
  269.  
  270.     CTShade1 = mainshade.getObject("eqpl_ct");
  271.     CTDrawerSH1 = mainshade.getObject("shade1.cthemes");
  272.  
  273.  
  274.     CTShade2 = mainshade2main.getObject("shade2ct");
  275.     CTDrawerSH2 = mainshade2.getObject("shade2.cthemes");
  276.  
  277.     ButtonSH2Thinger = mainshade2main.getObject("s2thinger");
  278.     ButtonSH2EQ = mainshade2main.getObject("s2eq");
  279.     ButtonSH2Cfg = mainshade2main.getObject("s2cfg");
  280.  
  281.     SH2CTCloser = mainshade2.getObject("shade2.ctcloser");
  282.     CTShade2b = SH2CTCloser.getObject("sh2closect");
  283.  
  284.     SH2CTCloser.hide();
  285.  
  286.     CTListSh1 = mainshade.getObject("shade1.ctlist");
  287.     CTListSh1.hide();
  288.     CTSH1open=0;
  289.     CTSH1IsReady=1;
  290.  
  291.     CTListSh2 = mainshade2.getObject("shade2.ctlist");
  292.     CTListSh2.hide();
  293.     CTSH2open=0;
  294.     CTSH2IsReady=1;
  295.  
  296.     SH2EQOpen=0;
  297.     SH2CFGOpen=0;
  298.     SH2ThingerOpen=0;
  299.     SH2DrawerIsReady=1;
  300.  
  301.     ty1=105;
  302.     ty2=105;
  303.     ty3=105;
  304.  
  305.     EQSH2Drawer = mainshade2.getObject("shade2.eq");
  306.     ThingerSH2Drawer = mainshade2.getObject("shade2.thinger");
  307.     CFGSH2Drawer = mainshade2.getObject("shade2.cfg");
  308.  
  309.  
  310.     int ToolOpen,ToolStartY;
  311.  
  312.     ToolStartY=173;
  313.  
  314.     ToolOpen=getPrivateInt("MMD3", "sh2t1", 1);
  315.     if (ToolOpen) {
  316.         ThingerSH2Drawer.setXMLParam("y", integerToString(ToolStartY));
  317.         ToolStartY+=67;
  318.         SH2ThingerOpen=1;
  319.         ButtonSH2Thinger.setActivated(SH2ThingerOpen);
  320.     }
  321.  
  322.     ToolOpen=getPrivateInt("MMD3", "sh2t2", 1);
  323.     if (ToolOpen) {
  324.         EQSH2Drawer.setXMLParam("y", integerToString(ToolStartY));
  325.         ToolStartY+=67;
  326.         SH2EQOpen=1;
  327.         ButtonSH2EQ.setActivated(SH2EQOpen);
  328.     }
  329.  
  330.     ToolOpen=getPrivateInt("MMD3", "sh2t3", 1);
  331.     if (ToolOpen) {
  332.         CFGSH2Drawer.setXMLParam("y", integerToString(ToolStartY));
  333.         ToolStartY+=67;
  334.         SH2CFGOpen=1;
  335.         ButtonSH2CFG.setActivated(SH2CFGOpen);
  336.     }
  337.  
  338.  
  339.     // Get songticker & Seeker
  340.     Songticker = mainnormal.getObject("songticker");
  341.     Supertext = mainnormal.getObject("songticker2");
  342.     SupertextBG = mainnormal.getObject("titleoverlay2");
  343.     SupertextOV = mainnormal.getObject("titleoverlay3");
  344.  
  345.     SupertextBG.hide();
  346.     SupertextOV.hide();
  347.     Supertext.hide();
  348.  
  349.     Seeker = mainnormal.getObject("Seeker");
  350.     SeekGhost = mainnormal.getObject("SeekerGhost");
  351.  
  352.     SeekerShade = mainshade.getObject("sSeeker1");
  353.     SeekGhostShade = mainshade.getObject("sSeekerGhost1");
  354.     SeekerShade2 = mainshade.getObject("sSeeker2");
  355.     SeekGhostShade2 = mainshade.getObject("sSeekerGhost2");
  356.  
  357.     // Get buttons
  358.     Play = mainnormal.getObject("Play");
  359.     Pause = mainnormal.getObject("Pause");
  360.     Stop = mainnormal.getObject("Stop");
  361.     Next = mainnormal.getObject("Next");
  362.     Previous = mainnormal.getObject("Previous");
  363.     Open = mainnormal.getObject("Eject");
  364.  
  365.     ToggleCrossfade = mainnormal.getObject("Crossfade");
  366.     ToggleShuffle = mainnormal.getObject("Shuffle");
  367.     ToggleRepeat = mainnormal.getObject("Repeat");
  368.  
  369.     EQShadeDrawer = mainshade.getObject("shade.eq");
  370.     ThingerShadeDrawer = mainshade.getObject("shade.thinger");
  371.     ConfigShadeDrawer = mainshade.getObject("shade.config");
  372.  
  373.  
  374.     EQSpline = mainshade.getObject("shade.eqspline");
  375.     ThingerTXT = mainshade.getObject("shade.thingertxt");
  376.     EQSpline.hide();
  377.     ThingerTXT.hide();
  378.  
  379.     ButtonShadeEQ = mainshade.getObject("eqpl_eq");
  380.     ButtonShadeThinger = mainshade.getObject("eqpl_t");
  381.     ButtonShadeConfig = mainshade.getObject("eqpl_cfg");
  382.     ShadeEQOpen=0;
  383.     ShadeThingerOpen=0;
  384.     ShadeConfigOpen=0;
  385.     ShadePLOpen=0;
  386.     shadeDrawerIsReady = 1;
  387.     nextshadeopen="";
  388.  
  389.     CrossfadeLED = mainnormal.getObject("CrossfadeLed");
  390.     ShuffleLED = mainnormal.getObject("ShuffleLed");
  391.     RepeatLED = mainnormal.getObject("RepeatLed");
  392.  
  393.     CrossfadeDisplay = mainnormal.getObject("CrossfadeDis");
  394.     ShuffleDisplay = mainnormal.getObject("ShuffleDis");
  395.     RepeatDisplay = mainnormal.getObject("RepeatDis");
  396.  
  397.  
  398.     // Set buttons status
  399.     SongTickerShade = mainshade.getObject("SongtickerShade");
  400.     SongTickerShade2 = mainshade2main.getObject("SongtickerShade2");
  401.     int shadescroll=getPrivateInt("MMD3", "scrollticker", 1);
  402.  
  403.     ToggleScroll=ConfigShadeDrawer.getObject("scrolltickershade");
  404.     ToggleScroll2=CFGSH2Drawer.getObject("scrolltickershade2");
  405.  
  406.     ToggleScroll.setActivated(shadescroll);
  407.     ToggleScroll2.setActivated(shadescroll);
  408.     if (shadescroll==1) {
  409.         SongTickerShade.setXMLParam("ticker", "1");
  410.         SongTickerShade2.setXMLParam("ticker", "1");
  411.     } else {
  412.         SongTickerShade.setXMLParam("ticker", "0");
  413.         SongTickerShade2.setXMLParam("ticker", "0");
  414.     }
  415.  
  416.  
  417.     MakeSongtickerMenu();
  418.     ProcessMenuResult( getPrivateInt("MMD3", "scrollticker", 1) );
  419.     ProcessMenuResult( getPrivateInt("MMD3", "scrolltickersize", 3) );
  420.     ProcessMenuResult( ( getPrivateInt("MMD3", "LeftRightMode", 0) +20) );
  421.     ProcessMenuResult( ( getPrivateInt("MMD3", "knobLED", 1) +50) );
  422.  
  423.  
  424.     baot1 = mainnormal.getObject("aotdummy");
  425.     baot2 = ConfigShadeDrawer.getObject("playershade.button.aot");
  426.     baot3 = CFGSH2Drawer.getObject("s2aot");
  427.  
  428.     int aotws = getPrivateInt("MMD3", "aotmode", 1);
  429.  
  430.     baot2.setActivated(aotws);
  431.     baot3.setActivated(aotws);
  432.  
  433.     int aotws2 = baot1.getActivated();
  434.  
  435.     if (dummymode>0 && aotws==1 && aotws2==0) baot1.leftClick();
  436.  
  437.     SetLastShadeMode( getPrivateInt("MMD3", "lastshademode", 1) );
  438.  
  439.     SongInfoEditor = mainnormal.getObject("SongInfoEditor");
  440.  
  441.  
  442.  
  443.     int act;
  444.  
  445.     act=ToggleCrossfade.getActivated();
  446.     ToggleCrossfade.setActivated(act);
  447.     CrossfadeLED.setAlpha(255*act);
  448.     CrossfadeDisplay.setAlpha(255*act);
  449.  
  450.     act=ToggleShuffle.getActivated();
  451.     ToggleShuffle.setActivated(act);
  452.     ShuffleLED.setAlpha(255*act);
  453.     ShuffleDisplay.setAlpha(255*act);
  454.  
  455.     act=ToggleRepeat.getActivated();
  456.     ToggleRepeat.setActivated(act);
  457.     RepeatLED.setAlpha(255*act);
  458.     RepeatDisplay.setAlpha(255*act);
  459.  
  460.  
  461.  
  462.  
  463.     if (SeekGhost != NULL) SeekGhost.setAlpha(1);
  464.     if (SeekGhostShade != NULL) {
  465.         SeekGhostShade.setAlpha(1);
  466.         SeekGhostShade2.setAlpha(1);
  467.     }
  468.  
  469.  
  470. }
  471.  
  472.  
  473. Seeker.onSetPosition(int p) {
  474.     if (!SeekGhost && seeking) {
  475.         Float f;
  476.         f = p;
  477.         f = f / 255 * 100;
  478.         Float len = getPlayItemLength();
  479.         if (len != 0) {
  480.             int np = len * f / 100;
  481.             setTempText("SEEK: " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ");
  482.         }
  483.     }
  484. }
  485.  
  486.  
  487. Seeker.onLeftButtonDown(int x, int y) {
  488.     seeking = 1;
  489. }
  490.  
  491. Seeker.onLeftButtonUp(int x, int y) {
  492.     seeking = 0;
  493.     setTempText("");
  494. }
  495.  
  496. SeekGhost.onSetPosition(int p) {
  497.     if (getalpha() == 1) return;
  498.     Float f;
  499.     f = p;
  500.     f = f / 255 * 100;
  501.     Float len = getPlayItemLength();
  502.     if (len != 0) {
  503.         int np = len * f / 100;
  504.         setTempText("SEEK: " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%)");
  505.     }
  506. }
  507.  
  508. SeekGhost.onLeftButtonDown(int x, int y) {
  509.     SeekGhost.setAlpha(128);
  510. }
  511.  
  512. SeekGhost.onLeftButtonUp(int x, int y) {
  513.     SeekGhost.setAlpha(1);
  514. }
  515.  
  516. Seeker.onSetFinalPosition(int p) {
  517.     Songticker.setAlternateText("");
  518. }
  519.  
  520. SeekGhost.onsetfinalposition(int p) {
  521.     Songticker.setAlternateText("");
  522.     SeekGhost.setAlpha(1);
  523. }
  524.  
  525. SeekerShade.onSetPosition(int p) {
  526.     if (!SeekGhostShade && seeking) {
  527.         Float f;
  528.         f = p;
  529.         f = f / 255 * 100;
  530.         Float len = getPlayItemLength();
  531.         if (len != 0) {
  532.             int np = len * f / 100;
  533.             setTempText("SEEK: " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ");
  534.         }
  535.     }
  536. }
  537.  
  538. SeekerShade.onLeftButtonDown(int x, int y) {
  539.     seeking = 1;
  540. }
  541.  
  542. SeekerShade.onLeftButtonUp(int x, int y) {
  543.     seeking = 0;
  544.     setTempText("");
  545. }
  546.  
  547. SeekGhostShade.onSetPosition(int p) {
  548.     if (getalpha() == 1) return;
  549.     Float f;
  550.     f = p;
  551.     f = f / 255 * 100;
  552.     Float len = getPlayItemLength();
  553.     if (len != 0) {
  554.         int np = len * f / 100;
  555.         setTempText("SEEK: " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%)");
  556.     }
  557. }
  558.  
  559. SeekGhostShade.onLeftButtonDown(int x, int y) {
  560.     SeekGhostShade.setAlpha(128);
  561. }
  562.  
  563. SeekGhostShade.onLeftButtonUp(int x, int y) {
  564.     SeekGhostShade.setAlpha(1);
  565. }
  566.  
  567. SeekerShade.onSetFinalPosition(int p) {
  568.     Songticker.setAlternateText("");
  569. }
  570.  
  571. SeekGhostShade.onsetfinalposition(int p) {
  572.     Songticker.setAlternateText("");
  573.     SeekGhostShade.setAlpha(1);
  574. }
  575.  
  576. SeekerShade2.onSetPosition(int p) {
  577.     if (!SeekGhostShade2 && seeking) {
  578.         Float f;
  579.         f = p;
  580.         f = f / 255 * 100;
  581.         Float len = getPlayItemLength();
  582.         if (len != 0) {
  583.             int np = len * f / 100;
  584.             setTempText("SEEK: " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ");
  585.         }
  586.     }
  587. }
  588.  
  589. SeekerShade2.onLeftButtonDown(int x, int y) {
  590.     seeking = 1;
  591. }
  592.  
  593. SeekerShade2.onLeftButtonUp(int x, int y) {
  594.     seeking = 0;
  595.     setTempText("");
  596. }
  597.  
  598. SeekGhostShade2.onSetPosition(int p) {
  599.     if (getalpha() == 1) return;
  600.     Float f;
  601.     f = p;
  602.     f = f / 255 * 100;
  603.     Float len = getPlayItemLength();
  604.     if (len != 0) {
  605.         int np = len * f / 100;
  606.         setTempText("SEEK: " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%)");
  607.     }
  608. }
  609.  
  610. SeekGhostShade2.onLeftButtonDown(int x, int y) {
  611.     SeekGhostShade2.setAlpha(128);
  612. }
  613.  
  614. SeekGhostShade2.onLeftButtonUp(int x, int y) {
  615.     SeekGhostShade2.setAlpha(1);
  616. }
  617.  
  618. SeekerShade2.onSetFinalPosition(int p) {
  619.     Songticker.setAlternateText("");
  620. }
  621.  
  622. SeekGhostShade2.onsetfinalposition(int p) {
  623.     Songticker.setAlternateText("");
  624.     SeekGhostShade2.setAlpha(1);
  625. }
  626.  
  627.  
  628.  
  629. HintObject.onLeftButtonDown(int x, int y) {
  630.     if (HintObject == Play) setSuperText("Play");
  631.     else if (HintObject == Stop) setSuperText("Stop");
  632.     else if (HintObject == Pause) setSuperText("Pause");
  633.     else if (HintObject == Next) setSuperText("Next");
  634.     else if (HintObject == Previous) setSuperText("Previous");
  635.     else if (HintObject == Open) setSuperText("Open");
  636. }
  637.  
  638. HintToggleButton.onLeftButtonDown(int x, int y) {
  639.     if (HintToggleButton == ToggleCrossfade) setSuperText("Crossfade");
  640.     else if (HintToggleButton == ToggleRepeat) setSuperText("Repeat");
  641.     else if (HintToggleButton == ToggleShuffle) setSuperText("Shuffle");
  642. }
  643.  
  644. HintToggleButton.onToggle(int onoff) {
  645.     String cmd, txt;
  646.     txt="none";
  647.     if (HintToggleButton == ToggleCrossfade) {
  648.         txt = "Crossfade";
  649.     } else if (HintToggleButton == ToggleRepeat) {
  650.         txt = "Repeat";
  651.     } else if (HintToggleButton == ToggleShuffle) {
  652.         txt = "Shuffle";
  653.     }
  654.     if (txt != "none") {
  655.         String s;
  656.         if (onoff) s = "on"; else s = "off";
  657.         setSuperText(txt + " now " + s);
  658.     }
  659. }
  660.  
  661.  
  662. ToggleRepeat.onActivate(int activated) {
  663.     RepeatLED.setAlpha(activated*255);
  664.     RepeatDisplay.setAlpha(activated*255);
  665. }
  666.  
  667. ToggleShuffle.onActivate(int activated) {
  668.     ShuffleLED.setAlpha(activated*255);
  669.     ShuffleDisplay.setAlpha(activated*255);
  670. }
  671.  
  672. ToggleCrossfade.onActivate(int activated) {
  673.     CrossfadeLED.setAlpha(activated*255);
  674.     CrossfadeDisplay.setAlpha(activated*255);
  675. }
  676.  
  677. setTempText(String txt) {
  678.     Songtickertimer.stop();
  679.     Songticker.setAlternateText(txt);
  680.     Songtickertimer.start();
  681. }
  682.  
  683. setSuperText(String txt) {
  684.     textfadetimer2.stop();
  685.     textfadetimer.stop();
  686.     SupertextBG.setAlpha(255);
  687.     SupertextOV.setAlpha(0);
  688.     SupertextBG.show();
  689.     SupertextOV.show();
  690.     SuperText.setText(txt);
  691.     Supertext.show();
  692.     textfade=5;
  693.     textfadetimer.start();
  694.  
  695. }
  696.  
  697. textfadetimer.ontimer() {
  698.     textfade+=20;
  699.     SupertextOV.setAlpha(textfade);
  700.  
  701.     if (textfade<250) {
  702.         //for future use
  703.     } else {
  704.         textfade=255;
  705.         SuperText.setText("");
  706.         SupertextBG.setAlpha(textfade);
  707.         SupertextOV.setAlpha(0);
  708.         SupertextBG.show();
  709.         SupertextOV.show();
  710.         textfadetimer.stop();
  711.         textfadetimer2.stop();
  712.         textfadetimer2.start();
  713.  
  714.     }
  715.  
  716. }
  717.  
  718. textfadetimer2.ontimer() {
  719.     textfade-=30;
  720.     SupertextBG.setAlpha(textfade);
  721.  
  722.     if (textfade>0) {
  723.         //for future use
  724.     } else {
  725.         textfade=0;
  726.         SupertextBG.setAlpha(textfade);
  727.         SupertextBG.hide();
  728.         SupertextOV.hide();
  729.     Supertext.hide();
  730.         textfadetimer2.stop();
  731.     }
  732.  
  733. }
  734.  
  735. Songtickertimer.onTimer() {
  736.     Songticker.setText("");
  737.     stop();
  738. }
  739.  
  740.  
  741. CTShade2.onLeftClick() {
  742.     if (CTSH2open) {
  743.         SH2CTCloser.hide();
  744.     } else {
  745.         SH2CTCloser.show();
  746.     }
  747.  
  748.     OpenCloseCTSH2();
  749. }
  750.  
  751.  
  752. CTShade1.onLeftClick() {
  753.     OpenCloseCTSH1();
  754. }
  755.  
  756. OpenCloseCTSH1() {
  757.     if (CTSH1IsReady && ShadePLOpen==0) {
  758.         CTSH1IsReady=0;
  759.         if (CTSH1Open) {
  760.             CTListSh1.hide();
  761.             CTDrawerSH1.setTargetX(333);
  762.             CTDrawerSH1.setTargetY(-122);
  763.             CTDrawerSH1.setTargetSpeed(1);
  764.             CTDrawerSH1.gotoTarget();
  765.             CTSH1Open = 0;
  766.  
  767.         } else {
  768.             CTDrawerSH1.setTargetX(333);
  769.             CTDrawerSH1.setTargetY(21);
  770.             CTDrawerSH1.setTargetSpeed(1);
  771.             CTDrawerSH1.gotoTarget();
  772.             CTSH1Open = 1;
  773.         }
  774.     }
  775. }
  776.  
  777. CTDrawerSH1.onTargetReached() {
  778.     if (CTSH1Open) {
  779.         CTDrawerSH1.setXMLParam("y", "21");
  780.         CTListSh1.show();
  781.     }
  782.     CTShade1.setActivated(CTSH1Open);
  783.     CTSH1IsReady=1;
  784. }
  785.  
  786.  
  787.  
  788. CTShade2b.onLeftClick() {
  789.     SH2CTCloser.hide();
  790.     OpenCloseCTSH2();
  791. }
  792.  
  793. OpenCloseCTSH2() {
  794.     if (CTSH2IsReady) {
  795.         CTSH2IsReady=0;
  796.         if (CTSH2Open) {
  797.             CTListSh2.hide();
  798.             CTDrawerSH2.setTargetX(0);
  799.             CTDrawerSH2.setTargetY(-29);
  800.             CTDrawerSH2.setTargetSpeed(1);
  801.             CTDrawerSH2.gotoTarget();
  802.             CTSH2Open = 0;
  803.  
  804.         } else {
  805.             CTDrawerSH2.setTargetX(0);
  806.             CTDrawerSH2.setTargetY(173);
  807.             CTDrawerSH2.setTargetSpeed(1);
  808.             CTDrawerSH2.gotoTarget();
  809.             CTSH2Open = 1;
  810.         }
  811.     }
  812. }
  813.  
  814. CTDrawerSH2.onTargetReached() {
  815.     if (CTSH2Open) {
  816.         CTDrawerSH2.setXMLParam("y", "173");
  817.         CTListSh2.show();
  818.     }
  819.  
  820.     CTSH2IsReady=1;
  821. }
  822.  
  823. ButtonSH2Thinger.onLeftClick() {
  824.     PrepareSH2Drawer("thinger");
  825. }
  826.  
  827. ButtonSH2EQ.onLeftClick() {
  828.     PrepareSH2Drawer("eq");
  829. }
  830.  
  831. ButtonSH2CFG.onLeftClick() {
  832.     PrepareSH2Drawer("cfg");
  833. }
  834.  
  835.  
  836. PrepareSH2Drawer(string i) {
  837.     if (i=="thinger" && SH2EQOpen==0 && SH2CFGOpen==0 && SH2DrawerIsReady) {
  838.         if (SH2ThingerOpen==0) {
  839.             SH2DrawerIsReady=0;
  840.             ThingerSH2Drawer.setTargetX(0);
  841.             ThingerSH2Drawer.setTargetY(173);
  842.             ThingerSH2Drawer.setTargetSpeed(1);
  843.             ThingerSH2Drawer.gotoTarget();
  844.             ty1=173;
  845.  
  846.             SH2ThingerOpen = 1;
  847.         } else {
  848.             SH2DrawerIsReady=0;
  849.             ThingerSH2Drawer.setTargetX(0);
  850.             ThingerSH2Drawer.setTargetY(105);
  851.             ThingerSH2Drawer.setTargetSpeed(1);
  852.             ThingerSH2Drawer.gotoTarget();
  853.             ty1=105;
  854.  
  855.             SH2ThingerOpen = 0;
  856.         }
  857.     }
  858.  
  859.     if (i=="thinger" && SH2EQOpen==1 && SH2CFGOpen==0 && SH2DrawerIsReady) {
  860.         if (SH2ThingerOpen==0) {
  861.             SH2DrawerIsReady=0;
  862.             ThingerSH2Drawer.setTargetX(0);
  863.             ThingerSH2Drawer.setTargetY(173);
  864.             ThingerSH2Drawer.setTargetSpeed(1);
  865.             ty1=173;
  866.  
  867.             EQSH2Drawer.setTargetX(0);
  868.             EQSH2Drawer.setTargetY(240);
  869.             EQSH2Drawer.setTargetSpeed(1);
  870.             ty2=240;
  871.  
  872.             ThingerSH2Drawer.gotoTarget();
  873.             EQSH2Drawer.gotoTarget();
  874.  
  875.             SH2ThingerOpen = 1;
  876.         } else {
  877.             SH2DrawerIsReady=0;
  878.             ThingerSH2Drawer.setTargetX(0);
  879.             ThingerSH2Drawer.setTargetY(105);
  880.             ThingerSH2Drawer.setTargetSpeed(1);
  881.             ty1=105;
  882.  
  883.             EQSH2Drawer.setTargetX(0);
  884.             EQSH2Drawer.setTargetY(173);
  885.             EQSH2Drawer.setTargetSpeed(1);
  886.             ty2=173;
  887.  
  888.             ThingerSH2Drawer.gotoTarget();
  889.             EQSH2Drawer.gotoTarget();
  890.  
  891.             SH2ThingerOpen = 0;
  892.         }
  893.     }
  894.  
  895.  
  896.     if (i=="thinger" && SH2EQOpen==0 && SH2CFGOpen==1 && SH2DrawerIsReady) {
  897.         if (SH2ThingerOpen==0) {
  898.             SH2DrawerIsReady=0;
  899.             ThingerSH2Drawer.setTargetX(0);
  900.             ThingerSH2Drawer.setTargetY(173);
  901.             ThingerSH2Drawer.setTargetSpeed(1);
  902.             ty1=173;
  903.  
  904.             CFGSH2Drawer.setTargetX(0);
  905.             CFGSH2Drawer.setTargetY(240);
  906.             CFGSH2Drawer.setTargetSpeed(1);
  907.             ty3=240;
  908.  
  909.             ThingerSH2Drawer.gotoTarget();
  910.             CFGSH2Drawer.gotoTarget();
  911.  
  912.             SH2ThingerOpen = 1;
  913.         } else {
  914.             SH2DrawerIsReady=0;
  915.             ThingerSH2Drawer.setTargetX(0);
  916.             ThingerSH2Drawer.setTargetY(105);
  917.             ThingerSH2Drawer.setTargetSpeed(1);
  918.             ty1=105;
  919.  
  920.             CFGSH2Drawer.setTargetX(0);
  921.             CFGSH2Drawer.setTargetY(173);
  922.             CFGSH2Drawer.setTargetSpeed(1);
  923.             ty3=173;
  924.  
  925.             ThingerSH2Drawer.gotoTarget();
  926.             CFGSH2Drawer.gotoTarget();
  927.  
  928.             SH2ThingerOpen = 0;
  929.         }
  930.     }
  931.  
  932.     if (i=="thinger" && SH2EQOpen==1 && SH2CFGOpen==1 && SH2DrawerIsReady) {
  933.         if (SH2ThingerOpen==0) {
  934.             SH2DrawerIsReady=0;
  935.             ThingerSH2Drawer.setTargetX(0);
  936.             ThingerSH2Drawer.setTargetY(173);
  937.             ThingerSH2Drawer.setTargetSpeed(1);
  938.             ty1=173;
  939.  
  940.             EQSH2Drawer.setTargetX(0);
  941.             EQSH2Drawer.setTargetY(240);
  942.             EQSH2Drawer.setTargetSpeed(1);
  943.             ty2=240;
  944.  
  945.             CFGSH2Drawer.setTargetX(0);
  946.             CFGSH2Drawer.setTargetY(307);
  947.             CFGSH2Drawer.setTargetSpeed(1);
  948.             ty3=307;
  949.  
  950.             ThingerSH2Drawer.gotoTarget();
  951.             EQSH2Drawer.gotoTarget();
  952.             CFGSH2Drawer.gotoTarget();
  953.  
  954.             SH2ThingerOpen = 1;
  955.         } else {
  956.             SH2DrawerIsReady=0;
  957.             ThingerSH2Drawer.setTargetX(0);
  958.             ThingerSH2Drawer.setTargetY(105);
  959.             ThingerSH2Drawer.setTargetSpeed(1);
  960.             ty1=105;
  961.  
  962.             EQSH2Drawer.setTargetX(0);
  963.             EQSH2Drawer.setTargetY(173);
  964.             EQSH2Drawer.setTargetSpeed(1);
  965.             ty2=173;
  966.  
  967.             CFGSH2Drawer.setTargetX(0);
  968.             CFGSH2Drawer.setTargetY(240);
  969.             CFGSH2Drawer.setTargetSpeed(1);
  970.             ty3=240;
  971.  
  972.             ThingerSH2Drawer.gotoTarget();
  973.             EQSH2Drawer.gotoTarget();
  974.             CFGSH2Drawer.gotoTarget();
  975.  
  976.             SH2ThingerOpen = 0;
  977.         }
  978.     }
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.     if (i=="eq" && SH2ThingerOpen==0 && SH2CFGOpen==0 && SH2DrawerIsReady) {
  988.         if (SH2EQOpen==0) {
  989.             SH2DrawerIsReady=0;
  990.             EQSH2Drawer.setTargetX(0);
  991.             EQSH2Drawer.setTargetY(173);
  992.             EQSH2Drawer.setTargetSpeed(1);
  993.             EQSH2Drawer.gotoTarget();
  994.             SH2EQOpen = 1;
  995.             ty2=173;
  996.         } else {
  997.             SH2DrawerIsReady=0;
  998.             EQSH2Drawer.setTargetX(0);
  999.             EQSH2Drawer.setTargetY(105);
  1000.             EQSH2Drawer.setTargetSpeed(1);
  1001.             EQSH2Drawer.gotoTarget();
  1002.             SH2EQOpen = 0;
  1003.             ty2=105;
  1004.         }
  1005.     }
  1006.  
  1007.     if (i=="eq" && SH2ThingerOpen==1 && SH2CFGOpen==0 && SH2DrawerIsReady) {
  1008.         if (SH2EQOpen==0) {
  1009.             EQSH2Drawer.setXMLParam("y", "173");
  1010.             SH2DrawerIsReady=0;
  1011.             EQSH2Drawer.setTargetX(0);
  1012.             EQSH2Drawer.setTargetY(240);
  1013.             EQSH2Drawer.setTargetSpeed(1);
  1014.             EQSH2Drawer.gotoTarget();
  1015.             SH2EQOpen = 1;
  1016.             ty2=240;
  1017.  
  1018.         } else {
  1019.             SH2DrawerIsReady=0;
  1020.             EQSH2Drawer.setTargetX(0);
  1021.             EQSH2Drawer.setTargetY(173);
  1022.             EQSH2Drawer.setTargetSpeed(1);
  1023.             EQSH2Drawer.gotoTarget();
  1024.             SH2EQOpen = 0;
  1025.             ty2=105;
  1026.         }
  1027.     }
  1028.  
  1029.  
  1030.     if (i=="eq" && SH2ThingerOpen==0 && SH2CFGOpen==1 && SH2DrawerIsReady) {
  1031.         if (SH2EQOpen==0) {
  1032.             SH2DrawerIsReady=0;
  1033.             EQSH2Drawer.setTargetX(0);
  1034.             EQSH2Drawer.setTargetY(173);
  1035.             EQSH2Drawer.setTargetSpeed(1);
  1036.             ty2=173;
  1037.  
  1038.             CFGSH2Drawer.setTargetX(0);
  1039.             CFGSH2Drawer.setTargetY(240);
  1040.             CFGSH2Drawer.setTargetSpeed(1);
  1041.             ty3=240;
  1042.  
  1043.             EQSH2Drawer.gotoTarget();
  1044.             CFGSH2Drawer.gotoTarget();
  1045.  
  1046.             SH2EQOpen = 1;
  1047.         } else {
  1048.             SH2DrawerIsReady=0;
  1049.             EQSH2Drawer.setTargetX(0);
  1050.             EQSH2Drawer.setTargetY(105);
  1051.             EQSH2Drawer.setTargetSpeed(1);
  1052.             ty2=105;
  1053.  
  1054.             CFGSH2Drawer.setTargetX(0);
  1055.             CFGSH2Drawer.setTargetY(173);
  1056.             CFGSH2Drawer.setTargetSpeed(1);
  1057.             ty3=173;
  1058.  
  1059.             EQSH2Drawer.gotoTarget();
  1060.             CFGSH2Drawer.gotoTarget();
  1061.  
  1062.             SH2EQOpen = 0;
  1063.         }
  1064.     }
  1065.  
  1066.     if (i=="eq" && SH2ThingerOpen==1 && SH2CFGOpen==1 && SH2DrawerIsReady) {
  1067.         if (SH2EQOpen==0) {
  1068.             SH2DrawerIsReady=0;
  1069.             EQSH2Drawer.setXMLParam("y", "173");
  1070.             EQSH2Drawer.setTargetX(0);
  1071.             EQSH2Drawer.setTargetY(240);
  1072.             EQSH2Drawer.setTargetSpeed(1);
  1073.             ty2=240;
  1074.  
  1075.             CFGSH2Drawer.setTargetX(0);
  1076.             CFGSH2Drawer.setTargetY(307);
  1077.             CFGSH2Drawer.setTargetSpeed(1);
  1078.             ty3=307;
  1079.  
  1080.             EQSH2Drawer.gotoTarget();
  1081.             CFGSH2Drawer.gotoTarget();
  1082.  
  1083.             SH2EQOpen = 1;
  1084.  
  1085.         } else {
  1086.             SH2DrawerIsReady=0;
  1087.             EQSH2Drawer.setTargetX(0);
  1088.             EQSH2Drawer.setTargetY(173);
  1089.             EQSH2Drawer.setTargetSpeed(1);
  1090.             ty2=105;
  1091.  
  1092.             CFGSH2Drawer.setTargetX(0);
  1093.             CFGSH2Drawer.setTargetY(240);
  1094.             CFGSH2Drawer.setTargetSpeed(1);
  1095.             ty3=240;
  1096.  
  1097.             EQSH2Drawer.gotoTarget();
  1098.             CFGSH2Drawer.gotoTarget();
  1099.  
  1100.             SH2EQOpen = 0;
  1101.  
  1102.         }
  1103.     }
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.     if (i=="cfg" && SH2ThingerOpen==0 && SH2EQOpen==0 && SH2DrawerIsReady) {
  1113.         if (SH2CFGOpen==0) {
  1114.             SH2DrawerIsReady=0;
  1115.             CFGSH2Drawer.setTargetX(0);
  1116.             CFGSH2Drawer.setTargetY(173);
  1117.             CFGSH2Drawer.setTargetSpeed(1);
  1118.             CFGSH2Drawer.gotoTarget();
  1119.             SH2CFGOpen = 1;
  1120.             ty3=173;
  1121.         } else {
  1122.             SH2DrawerIsReady=0;
  1123.             CFGSH2Drawer.setTargetX(0);
  1124.             CFGSH2Drawer.setTargetY(105);
  1125.             CFGSH2Drawer.setTargetSpeed(1);
  1126.             CFGSH2Drawer.gotoTarget();
  1127.             SH2CFGOpen = 0;
  1128.             ty3=105;
  1129.         }
  1130.     }
  1131.  
  1132.     if (i=="cfg" && SH2ThingerOpen==1 && SH2EQOpen==0 && SH2DrawerIsReady) {
  1133.         if (SH2CFGOpen==0) {
  1134.             CFGSH2Drawer.setXMLParam("y", "173");
  1135.             SH2DrawerIsReady=0;
  1136.             CFGSH2Drawer.setTargetX(0);
  1137.             CFGSH2Drawer.setTargetY(240);
  1138.             CFGSH2Drawer.setTargetSpeed(1);
  1139.             CFGSH2Drawer.gotoTarget();
  1140.             SH2CFGOpen = 1;
  1141.             ty3=240;
  1142.  
  1143.         } else {
  1144.             SH2DrawerIsReady=0;
  1145.             CFGSH2Drawer.setTargetX(0);
  1146.             CFGSH2Drawer.setTargetY(173);
  1147.             CFGSH2Drawer.setTargetSpeed(1);
  1148.             CFGSH2Drawer.gotoTarget();
  1149.             SH2CFGOpen = 0;
  1150.             ty3=105;
  1151.         }
  1152.     }
  1153.  
  1154.  
  1155.     if (i=="cfg" && SH2ThingerOpen==0 && SH2EQOpen==1 && SH2DrawerIsReady) {
  1156.         if (SH2CFGOpen==0) {
  1157.             CFGSH2Drawer.setXMLParam("y", "173");
  1158.             SH2DrawerIsReady=0;
  1159.             CFGSH2Drawer.setTargetX(0);
  1160.             CFGSH2Drawer.setTargetY(240);
  1161.             CFGSH2Drawer.setTargetSpeed(1);
  1162.             CFGSH2Drawer.gotoTarget();
  1163.             SH2CFGOpen = 1;
  1164.             ty3=240;
  1165.  
  1166.         } else {
  1167.             SH2DrawerIsReady=0;
  1168.             CFGSH2Drawer.setTargetX(0);
  1169.             CFGSH2Drawer.setTargetY(173);
  1170.             CFGSH2Drawer.setTargetSpeed(1);
  1171.             CFGSH2Drawer.gotoTarget();
  1172.             SH2CFGOpen = 0;
  1173.             ty3=105;
  1174.         }
  1175.     }
  1176.  
  1177.     if (i=="cfg" && SH2ThingerOpen==1 && SH2EQOpen==1 && SH2DrawerIsReady) {
  1178.         if (SH2CFGOpen==0) {
  1179.             CFGSH2Drawer.setXMLParam("y", "240");
  1180.             SH2DrawerIsReady=0;
  1181.             CFGSH2Drawer.setTargetX(0);
  1182.             CFGSH2Drawer.setTargetY(307);
  1183.             CFGSH2Drawer.setTargetSpeed(1);
  1184.             CFGSH2Drawer.gotoTarget();
  1185.             SH2CFGOpen = 1;
  1186.             ty3=307;
  1187.  
  1188.         } else {
  1189.             SH2DrawerIsReady=0;
  1190.             CFGSH2Drawer.setTargetX(0);
  1191.             CFGSH2Drawer.setTargetY(240);
  1192.             CFGSH2Drawer.setTargetSpeed(1);
  1193.             CFGSH2Drawer.gotoTarget();
  1194.             SH2CFGOpen = 0;
  1195.             ty3=105;
  1196.         }
  1197.     }
  1198.  
  1199.  
  1200. }
  1201.  
  1202.  
  1203. EQSH2Drawer.onTargetReached() {
  1204.     SH2DrawerIsReady=1;
  1205.     setFinalToolDrawerPos2();
  1206.     ButtonSH2EQ.setActivated(SH2EQOpen);
  1207.     setPrivateInt("MMD3", "sh2t2", SH2EQOpen);
  1208. }
  1209.  
  1210. ThingerSH2Drawer.onTargetReached() {
  1211.     SH2DrawerIsReady=1;
  1212.     setFinalToolDrawerPos1();
  1213.     ButtonSH2Thinger.setActivated(SH2ThingerOpen);
  1214.     setPrivateInt("MMD3", "sh2t1", SH2ThingerOpen);
  1215. }
  1216.  
  1217. CFGSH2Drawer.onTargetReached() {
  1218.     SH2DrawerIsReady=1;
  1219.     setFinalToolDrawerPos3();
  1220.     ButtonSH2CFG.setActivated(SH2CFGOpen);
  1221.     setPrivateInt("MMD3", "sh2t3", SH2CFGOpen);
  1222.  
  1223. }
  1224.  
  1225.  
  1226. setFinalToolDrawerPos1() {
  1227.     ThingerSH2Drawer.setXMLParam("y", integerToString(ty1));
  1228. }
  1229.  
  1230. setFinalToolDrawerPos2() {
  1231.     EQSH2Drawer.setXMLParam("y", integerToString(ty2));
  1232. }
  1233.  
  1234. setFinalToolDrawerPos3() {
  1235.     CFGSH2Drawer.setXMLParam("y", integerToString(ty3));
  1236.  
  1237. }
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244. PLCloser.onLeftButtonDblClk(Int intX, Int intY) {
  1245.     OpenCloseShadePL();
  1246. }
  1247.  
  1248. PLS1.onLeftClick() {
  1249.     OpenCloseShadePL();
  1250. }
  1251.  
  1252. PLS2.onLeftClick() {
  1253.     openCloseShadePL();
  1254. }
  1255.  
  1256.  
  1257.  
  1258. ButtonShadeEQ.onLeftClick() {
  1259.     PrepareShadeDrawer("sEQ");
  1260. }
  1261.  
  1262. ButtonShadeThinger.onLeftClick() {
  1263.     PrepareShadeDrawer("sThinger");
  1264. }
  1265.  
  1266. ButtonShadeConfig.onLeftClick() {
  1267.     PrepareShadeDrawer("sConfig");
  1268. }
  1269.  
  1270. OpenCloseShadeEQ() {
  1271.     if (ShadeEQOpen) {
  1272.         EQShadeDrawer.setTargetX(514);
  1273.         EQShadeDrawer.setTargetY(-44);
  1274.         EQShadeDrawer.setTargetSpeed(1);
  1275.         EQShadeDrawer.gotoTarget();
  1276.         ShadeEQOpen = 0;
  1277.         EQSpline.hide();
  1278.     } else {
  1279.         EQShadeDrawer.setTargetX(514);
  1280.         EQShadeDrawer.setTargetY(22);
  1281.         EQShadeDrawer.setTargetSpeed(1);
  1282.         EQShadeDrawer.gotoTarget();
  1283.         ShadeEQOpen = 1;
  1284.         EQSpline.show();
  1285.     }
  1286. }
  1287.  
  1288.  
  1289. OpenCloseShadeThinger() {
  1290.     if (ShadeThingerOpen) {
  1291.         ThingerShadeDrawer.setTargetX(514);
  1292.         ThingerShadeDrawer.setTargetY(-44);
  1293.         ThingerShadeDrawer.setTargetSpeed(1);
  1294.         ThingerShadeDrawer.gotoTarget();
  1295.         ShadeThingerOpen = 0;
  1296.         ThingerTXT.hide();
  1297.  
  1298.     } else {
  1299.         ThingerShadeDrawer.setTargetX(514);
  1300.         ThingerShadeDrawer.setTargetY(22);
  1301.         ThingerShadeDrawer.setTargetSpeed(1);
  1302.         ThingerShadeDrawer.gotoTarget();
  1303.         ShadeThingerOpen = 1;
  1304.         ThingerTXT.show();
  1305.  
  1306.     }
  1307. }
  1308.  
  1309. OpenCloseShadePL() {
  1310.     if (ShadePLOpen) {
  1311.         smallPlaylist.setTargetX(246);
  1312.         smallPlaylist.setTargetY(-161);
  1313.         smallPlaylist.setTargetSpeed(1);
  1314.         smallPlaylist.gotoTarget();
  1315.         ShadePLOpen = 0;
  1316.     } else {
  1317.  
  1318.         if (CTSH1Open) {
  1319.             CTListSh1.hide();
  1320.             CTDrawerSH1.setTargetX(333);
  1321.             CTDrawerSH1.setTargetY(-122);
  1322.             CTDrawerSH1.setTargetSpeed(1);
  1323.             CTDrawerSH1.gotoTarget();
  1324.             CTSH1Open = 0;
  1325.         }
  1326.  
  1327.         smallPlaylist.show();
  1328.         smallPlaylist.setTargetX(246);
  1329.         smallPlaylist.setTargetY(0);
  1330.         smallPlaylist.setTargetSpeed(1);
  1331.         smallPlaylist.gotoTarget();
  1332.         ShadePLOpen = 1;
  1333.     }
  1334. }
  1335.  
  1336. OpenCloseShadeConfig() {
  1337.     if (ShadeConfigOpen) {
  1338.         ConfigShadeDrawer.setTargetX(514);
  1339.         ConfigShadeDrawer.setTargetY(-44);
  1340.         ConfigShadeDrawer.setTargetSpeed(1);
  1341.         ConfigShadeDrawer.gotoTarget();
  1342.         ShadeConfigOpen = 0;
  1343.  
  1344.     } else {
  1345.         ConfigShadeDrawer.setTargetX(514);
  1346.         ConfigShadeDrawer.setTargetY(22);
  1347.         ConfigShadeDrawer.setTargetSpeed(1);
  1348.         ConfigShadeDrawer.gotoTarget();
  1349.         ShadeConfigOpen = 1;
  1350.  
  1351.     }
  1352. }
  1353.  
  1354. PrepareShadeDrawer(String i) {
  1355.  
  1356.     if (i=="sConfig" && shadeDrawerIsReady) {
  1357.         shadeDrawerIsReady=0;
  1358.  
  1359.         if (ShadeEQOpen) {
  1360.             OpenCloseShadeEQ();
  1361.             nextshadeopen="sConfig";
  1362.         } else {
  1363.  
  1364.             if (ShadeThingerOpen) {
  1365.                 OpenCloseShadeThinger();
  1366.                 nextshadeopen="sConfig";
  1367.             } else {
  1368.                 OpenCloseShadeConfig();
  1369.                 nextshadeopen="";
  1370.             }
  1371.         }
  1372.  
  1373.     }
  1374.  
  1375.  
  1376.     if (i=="sThinger" && shadeDrawerIsReady) {
  1377.         shadeDrawerIsReady=0;
  1378.         if (ShadeEQOpen) {
  1379.             OpenCloseShadeEQ();
  1380.             nextshadeopen="sThinger";
  1381.         } else {
  1382.  
  1383.             if (ShadeConfigOpen) {
  1384.                 OpenCloseShadeConfig();
  1385.                 nextshadeopen="sThinger";
  1386.             } else {
  1387.                 OpenCloseShadeThinger();
  1388.                 nextshadeopen="";
  1389.             }
  1390.         }
  1391.     }
  1392.  
  1393.     if (i=="sEQ" && shadeDrawerIsReady) {
  1394.         shadeDrawerIsReady=0;
  1395.         if (ShadeConfigOpen) {
  1396.             OpenCloseShadeConfig();
  1397.             nextshadeopen="sEQ";
  1398.         } else {
  1399.  
  1400.             if (ShadeThingerOpen) {
  1401.                 OpenCloseShadeThinger();
  1402.                 nextshadeopen="sEQ";
  1403.             } else {
  1404.                 OpenCloseShadeEQ();
  1405.                 nextshadeopen="";
  1406.             }
  1407.         }
  1408.     }
  1409.  
  1410. }
  1411.  
  1412.  
  1413.  
  1414. checkshadenext() {
  1415.     if (nextshadeopen=="pl") { nextshadeopen=""; OpenCloseShadePL();}
  1416.     if (nextshadeopen=="sThinger") { nextshadeopen=""; OpenCloseShadeThinger();}
  1417.     if (nextshadeopen=="sEQ") { nextshadeopen="";OpenCloseShadeEQ();}
  1418.     if (nextshadeopen=="sConfig") { nextshadeopen="";OpenCloseShadeConfig();}
  1419. }
  1420.  
  1421.  
  1422.  
  1423.  
  1424. smallPlaylist.onTargetReached() {
  1425.     shadeDrawerIsReady=1;
  1426.     checkshadenext();
  1427.     if (!ShadePLOpen) smallPlaylist.hide();
  1428. }
  1429.  
  1430. EQShadeDrawer.onTargetReached() {
  1431.     shadeDrawerIsReady=1;
  1432.     ButtonShadeEQ.setActivated(ShadeEQOpen);
  1433.     checkshadenext();
  1434. }
  1435.  
  1436.  
  1437. ThingerShadeDrawer.onTargetReached() {
  1438.     shadeDrawerIsReady=1;
  1439.     ButtonShadeThinger.setActivated(ShadeThingerOpen);
  1440.     checkshadenext();
  1441. }
  1442.  
  1443.  
  1444. ConfigShadeDrawer.onTargetReached() {
  1445.     shadeDrawerIsReady=1;
  1446.     ButtonShadeConfig.setActivated(ShadeConfigOpen);
  1447.     checkshadenext();
  1448. }
  1449.  
  1450.  
  1451. mainContainer.onSwitchToLayout(Layout newlayout) {
  1452.  
  1453.     int x1,y1;
  1454.  
  1455.     if (newlayout == mainshade) {
  1456.  
  1457.         int aotws = getPrivateInt("MMD3", "aotmode", 1);
  1458.         int aotws2 = baot1.getActivated();
  1459.  
  1460.         if ( getPrivateInt("MMD3", "LASTMODE", 0) == 0 ) setPrivateInt("MMD3", "lastaotnormal", aotws2);
  1461.  
  1462.         if (aotws==1 && aotws2==0) baot1.leftClick();
  1463.  
  1464.         refreshEQ.stop();
  1465.  
  1466.         if (lastshademode==2) {
  1467.             x1=mainshade2.getLeft();
  1468.             y1=mainshade2.getTop();
  1469.             setPrivateInt("MMD3", "s2lastx", x1);
  1470.             setPrivateInt("MMD3", "s2lasty", y1);
  1471.         } else {
  1472.             x1=dummynormal.getLeft();
  1473.             y1=dummynormal.getTop();
  1474.             setPrivateInt("MMD3", "wlastx", x1);
  1475.             setPrivateInt("MMD3", "wlasty", y1);
  1476.         }
  1477.  
  1478.         setPrivateInt("MMD3", "LASTMODE", 1);
  1479.  
  1480.         x1=getPrivateInt("MMD3", "slastx", 0);
  1481.         y1=getPrivateInt("MMD3", "slasty", 3333);
  1482.  
  1483.         SetLastShadeMode(1);
  1484.  
  1485.         if (y1==3333) {
  1486.             x1=getViewportLeft()+16;
  1487.             y1=getViewportTop();
  1488.         }
  1489.  
  1490.         if ( y1<getViewportTop() ) y1=getViewportTop();
  1491.         if ( x1<getViewportLeft() ) x1=getViewportLeft();
  1492.  
  1493.         mainshade.resize(x1,y1,mainshade.getwidth(),mainshade.getheight());
  1494.     }
  1495.  
  1496.     if (newlayout == mainshade2) {
  1497.  
  1498.         int aotws = getPrivateInt("MMD3", "aotmode", 1);
  1499.         int aotws2 = baot1.getActivated();
  1500.  
  1501.         if ( getPrivateInt("MMD3", "LASTMODE", 0) == 0 ) setPrivateInt("MMD3", "lastaotnormal", aotws2);
  1502.  
  1503.         if (aotws==1 && aotws2==0) baot1.leftClick();
  1504.  
  1505.         refreshEQ.stop();
  1506.  
  1507.         if (lastshademode==1) {
  1508.             x1=mainshade.getLeft();
  1509.             y1=mainshade.getTop();
  1510.             setPrivateInt("MMD3", "slastx", x1);
  1511.             setPrivateInt("MMD3", "slasty", y1);
  1512.         } else {
  1513.             x1=dummynormal.getLeft();
  1514.             y1=dummynormal.getTop();
  1515.             setPrivateInt("MMD3", "wlastx", x1);
  1516.             setPrivateInt("MMD3", "wlasty", y1);
  1517.         }
  1518.  
  1519.         setPrivateInt("MMD3", "LASTMODE", 2);
  1520.  
  1521.         SetLastShadeMode(2);
  1522.  
  1523.         x1=getPrivateInt("MMD3", "s2lastx", 0);
  1524.         y1=getPrivateInt("MMD3", "s2lasty", 3333);
  1525.  
  1526.         if (y1==3333) {
  1527.             x1=getViewportLeft();
  1528.             y1=getViewportTop();
  1529.         }
  1530.  
  1531.         if ( y1<getViewportTop() ) y1=getViewportTop();
  1532.         if ( x1<getViewportLeft() ) x1=getViewportLeft();
  1533.  
  1534.         mainshade2.resize(x1,y1,mainshade2.getwidth(),mainshade2.getheight());
  1535.     }
  1536.  
  1537.     if (newlayout == dummynormal) {
  1538.  
  1539.         int aotws = getPrivateInt("MMD3", "lastaotnormal", 0);
  1540.         int aotws2 = baot1.getActivated();
  1541.  
  1542.         if (aotws==0 && aotws2==1) baot1.leftClick();
  1543.  
  1544.         int activevis= getPrivateInt("MMD3", "AVISMODE", 1);
  1545.         if (activevis<=6) refreshEQ.start();
  1546.  
  1547.         if (lastshademode==1) {
  1548.             x1=mainshade.getLeft();
  1549.             y1=mainshade.getTop();
  1550.             setPrivateInt("MMD3", "slastx", x1);
  1551.             setPrivateInt("MMD3", "slasty", y1);
  1552.         }
  1553.  
  1554.         if (lastshademode==2) {
  1555.             x1=mainshade2.getLeft();
  1556.             y1=mainshade2.getTop();
  1557.             setPrivateInt("MMD3", "s2lastx", x1);
  1558.             setPrivateInt("MMD3", "s2lasty", y1);
  1559.         }
  1560.  
  1561.         setPrivateInt("MMD3", "LASTMODE", 0);
  1562.  
  1563.         x1=getPrivateInt("MMD3", "wlastx", 200);
  1564.         y1=getPrivateInt("MMD3", "wlasty", 200);
  1565.         dummynormal.resize(x1,y1,dummynormal.getwidth(),dummynormal.getheight());
  1566.     }
  1567. }
  1568.  
  1569.  
  1570. baot2.onLeftButtonUp(int x, int y) {
  1571.     int aotws2 = baot1.getActivated();
  1572.     int acti=baot2.getActivated();
  1573.     baot3.setActivated(acti);
  1574.     setPrivateInt("MMD3", "aotmode", acti);
  1575.  
  1576.     if (acti==1 && aotws2==0) baot1.leftClick();
  1577.     if (acti==0 && aotws2==1) baot1.leftClick();
  1578.  
  1579. }
  1580.  
  1581. baot3.onLeftButtonUp(int x, int y) {
  1582.     int aotws2 = baot1.getActivated();
  1583.     int acti=baot3.getActivated();
  1584.     baot2.setActivated(acti);
  1585.     setPrivateInt("MMD3", "aotmode", acti);
  1586.  
  1587.     if (acti==1 && aotws2==0) baot1.leftClick();
  1588.     if (acti==0 && aotws2==1) baot1.leftClick();
  1589.  
  1590. }
  1591.  
  1592.  
  1593. SetLastShadeMode(int mode) {
  1594.     setPrivateInt("MMD3", "lastshademode", mode);
  1595.     lastshademode=mode;
  1596.  
  1597.     if (mode==1) {
  1598.         tickerMenu.checkCommand(30, 1);
  1599.         tickerMenu.checkCommand(31, 0);
  1600.         Switcher1.setXMLParam("dblClickAction", "SWITCH;shade");
  1601.         Switcher2.setXMLParam("param", "shade");
  1602.         Switcher3.setXMLParam("dblClickAction", "SWITCH;shade");
  1603.  
  1604.     }
  1605.     if (mode==2) {
  1606.         tickerMenu.checkCommand(30, 0);
  1607.         tickerMenu.checkCommand(31, 1);
  1608.         Switcher1.setXMLParam("dblClickAction", "SWITCH;shade2");
  1609.         Switcher2.setXMLParam("param", "shade2");
  1610.         Switcher3.setXMLParam("dblClickAction", "SWITCH;shade2");
  1611.  
  1612.     }
  1613. }
  1614.  
  1615.  
  1616. // Open Songinfo on DoubleClick
  1617. Songticker.onLeftButtonDblClk(Int intX, Int intY) {
  1618.     SongInfoEditor.leftClick();
  1619. }
  1620. SongTickerShade2.onLeftButtonDblClk(Int intX, Int intY) {
  1621.     SongInfoEditor.leftClick();
  1622. }
  1623.  
  1624.  
  1625. // Open MiniPlaylist
  1626. SongTickerShade.onLeftButtonUp(int x, int y) {
  1627.     OpenCloseShadePL();
  1628. }
  1629.  
  1630.  
  1631. // a little bit glowing for the Mainbuttons
  1632.  
  1633. Play.onEnterArea() {
  1634.     startglow();
  1635. }
  1636.  
  1637. Play.onLeaveArea() {
  1638.     stopglow();
  1639. }
  1640.  
  1641. Pause.onEnterArea() {
  1642.     startglow();
  1643. }
  1644.  
  1645. Pause.onLeaveArea() {
  1646.     stopglow();
  1647. }
  1648.  
  1649. Stop.onEnterArea() {
  1650.     startglow();
  1651. }
  1652.  
  1653. Stop.onLeaveArea() {
  1654.     stopglow();
  1655. }
  1656.  
  1657. Next.onEnterArea() {
  1658.     startglow();
  1659. }
  1660.  
  1661. Next.onLeaveArea() {
  1662.     stopglow();
  1663. }
  1664.  
  1665. Previous.onEnterArea() {
  1666.     startglow();
  1667. }
  1668.  
  1669. Previous.onLeaveArea() {
  1670.     stopglow();
  1671. }
  1672.  
  1673. startglow() {
  1674.     glowtimer.stop();
  1675.     glowtimer.start();
  1676.     glow_delta=70;
  1677. }
  1678.  
  1679. stopglow() {
  1680.     glowtimer.stop();
  1681.     glowtimer.start();
  1682.     glow_delta=-20;
  1683. }
  1684.  
  1685. glowtimer.ontimer() {
  1686.  
  1687.     glowing=glowing+glow_delta;
  1688.  
  1689.     if (glowing>=250) {
  1690.         glowing=250;
  1691.         glowtimer.stop();
  1692.     }
  1693.  
  1694.     if (glowing<=0) {
  1695.         glowing=0;
  1696.         glowtimer.stop();
  1697.     }
  1698.  
  1699.     glow.setAlpha(glowing);
  1700.  
  1701. }
  1702.  
  1703.  
  1704.  
  1705.  
  1706. // EQ/VIS Drawer/Advanced Visualization
  1707. //--------------------------------------------------------------------
  1708. autobutton.onActivate(int act) {
  1709.     if (act==1) AutoLED.show();
  1710.     if (act==0) AutoLED.hide();
  1711. }
  1712.  
  1713. EQPush.onLeftClick() {
  1714.     PrepareDrawer("EQ");
  1715. }
  1716.  
  1717. EQPush2.onLeftClick() {
  1718.     PrepareDrawer("EQ");
  1719. }
  1720.  
  1721. EQPush2b.onLeftClick() {
  1722.     PrepareDrawer("EQ");
  1723. }
  1724.  
  1725. EQPush3.onLeftClick() {
  1726.     PrepareDrawer("EQ");
  1727. }
  1728.  
  1729. VISPush.onLeftClick() {
  1730.     PrepareDrawer("VIS");
  1731. }
  1732.  
  1733. VISPush2.onLeftClick() {
  1734.     PrepareDrawer("VIS");
  1735. }
  1736.  
  1737. VISPush2b.onLeftClick() {
  1738.     PrepareDrawer("VIS");
  1739. }
  1740.  
  1741. VISPush3.onLeftClick() {
  1742.     PrepareDrawer("VIS");
  1743. }
  1744.  
  1745. CTPush.onLeftClick() {
  1746.     PrepareDrawer("CT");
  1747. }
  1748.  
  1749. CTPush2.onLeftClick() {
  1750.     PrepareDrawer("CT");
  1751. }
  1752.  
  1753. CTPush2b.onLeftClick() {
  1754.     PrepareDrawer("CT");
  1755. }
  1756.  
  1757. CTPush3.onLeftClick() {
  1758.     PrepareDrawer("CT");
  1759. }
  1760.  
  1761.  
  1762.  
  1763. PrepareDrawer(String i) {
  1764.  
  1765.     CTList.hide();
  1766.  
  1767.     if (i=="CT" && DrawerIsReady) {
  1768.         DrawerIsReady=0;
  1769.  
  1770.         if (isEQOpen) {
  1771.             OpenCloseEQ();
  1772.             nextopen="CT";
  1773.         } else {
  1774.  
  1775.             if (isVISOpen) {
  1776.                 OpenCloseVIS();
  1777.                 nextopen="CT";
  1778.             } else {
  1779.                 OpenCloseCT();
  1780.                 nextopen="";
  1781.             }
  1782.         }
  1783.  
  1784.     }
  1785.  
  1786.  
  1787.     if (i=="VIS" && DrawerIsReady) {
  1788.         DrawerIsReady=0;
  1789.         if (isEQOpen) {
  1790.             OpenCloseEQ();
  1791.             nextopen="VIS";
  1792.         } else {
  1793.  
  1794.             if (isCTOpen) {
  1795.                 OpenCloseCT();
  1796.                 nextopen="VIS";
  1797.             } else {
  1798.                 OpenCloseVIS();
  1799.                 nextopen="";
  1800.             }
  1801.         }
  1802.     }
  1803.  
  1804.     if (i=="EQ" && DrawerIsReady) {
  1805.         DrawerIsReady=0;
  1806.         if (isVISOpen) {
  1807.             OpenCloseVIS();
  1808.             nextopen="EQ";
  1809.         } else {
  1810.  
  1811.             if (isCTOpen) {
  1812.                 OpenCloseCT();
  1813.                 nextopen="EQ";
  1814.             } else {
  1815.                 OpenCloseEQ();
  1816.                 nextopen="";
  1817.             }
  1818.         }
  1819.     }
  1820.  
  1821. }
  1822.  
  1823.  
  1824. system.onEqChanged(int onoff) {
  1825.     if ( onoff ) {
  1826.         OnOffLED.show();
  1827.     } else {
  1828.         OnOffLED.hide();
  1829.     }
  1830. }
  1831.  
  1832.  
  1833.  
  1834. EQDrawer.onTargetReached() {
  1835.     DrawerIsReady=1;
  1836.     if (!isEQOpen) OnOffLayer.show();
  1837.     checknext();
  1838. }
  1839.  
  1840.  
  1841. VISDrawer.onTargetReached() {
  1842.     DrawerIsReady=1;
  1843.     if (!isVISOpen) OnOffLayer.show();
  1844.     checknext();
  1845. }
  1846.  
  1847. checknext() {
  1848.     if (nextopen=="CT") { nextopen=""; OpenCloseCT();}
  1849.     if (nextopen=="EQ") { nextopen="";OpenCloseEQ();}
  1850.     if (nextopen=="VIS") { nextopen="";OpenCloseVIS();}
  1851. }
  1852.  
  1853.  
  1854.  
  1855. CTDrawer.onTargetReached() {
  1856.     DrawerIsReady=1;
  1857.     if (!isCTOpen) {
  1858.         OnOffLayer.show();
  1859.         CTLayer.hide();
  1860.     }
  1861.  
  1862.     if (isCTOpen && nextopen=="") CTList.show();
  1863.     checknext();
  1864. }
  1865.  
  1866.  
  1867. OpenCloseEQ() {
  1868.     EQDrawer.show();
  1869.     CTLayer.hide();
  1870.     CTDrawer.hide();
  1871.     VISDrawer.hide();
  1872.     if (isEQOpen == 1) {
  1873.         setSuperText("CLOSE DRAWER");
  1874.         EQDrawer.setTargetX(EQCTVISDrawer_x_start);
  1875.         EQDrawer.setTargetY(22);
  1876.         EQDrawer.setTargetSpeed(1);
  1877.         EQDrawer.gotoTarget();
  1878.         isEQOpen = 0;
  1879.     } else {
  1880.         setSuperText("OPEN DRAWER");
  1881.         EQDrawer.setTargetX(EQCTVISDrawer_x_end);
  1882.         EQDrawer.setTargetY(22);
  1883.         EQDrawer.setTargetSpeed(1);
  1884.         EQDrawer.gotoTarget();
  1885.         OnOffLayer.hide();
  1886.         isEQOpen = 1;
  1887.     }
  1888. }
  1889.  
  1890.  
  1891.  
  1892. OpenCloseCT() {
  1893.     CTLayer.show();
  1894.     CTDrawer.show();
  1895.     if (isCTOpen == 1) {
  1896.         setSuperText("CLOSE DRAWER");
  1897.         CTDrawer.setTargetX(EQCTVISDrawer_x_start);
  1898.         CTDrawer.setTargetY(22);
  1899.         CTDrawer.setTargetSpeed(1);
  1900.         CTDrawer.gotoTarget();
  1901.         isCTOpen = 0;
  1902.     } else {
  1903.         setSuperText("OPEN DRAWER");
  1904.         CTDrawer.setTargetX(EQCTVISDrawer_x_end);
  1905.         CTDrawer.setTargetY(22);
  1906.         CTDrawer.setTargetSpeed(1);
  1907.         CTDrawer.gotoTarget();
  1908.         OnOffLayer.hide();
  1909.         isCTOpen = 1;
  1910.     }
  1911. }
  1912.  
  1913.  
  1914. OpenCloseVIS() {
  1915.     VISDrawer.show();
  1916.     CTLayer.hide();
  1917.     CTDrawer.hide();
  1918.     EQDrawer.hide();
  1919.     if (isVISOpen == 1) {
  1920.         setSuperText("CLOSE DRAWER");
  1921.         VISDrawer.setTargetX(EQCTVISDrawer_x_start);
  1922.         VISDrawer.setTargetY(22);
  1923.         VISDrawer.setTargetSpeed(1);
  1924.         VISDrawer.gotoTarget();
  1925.         isVISOpen = 0;
  1926.     } else {
  1927.         setSuperText("OPEN DRAWER");
  1928.         VISDrawer.setTargetX(EQCTVISDrawer_x_end);
  1929.         VISDrawer.setTargetY(22);
  1930.         VISDrawer.setTargetSpeed(1);
  1931.         VISDrawer.gotoTarget();
  1932.         OnOffLayer.hide();
  1933.         isVISOpen = 1;
  1934.     }
  1935.  
  1936. }
  1937.  
  1938.  
  1939. vb1.onLeftClick() {
  1940.     ShowVISBg(1);
  1941. }
  1942.  
  1943. vb2.onLeftClick() {
  1944.     ShowVISBg(2);
  1945. }
  1946.  
  1947. vb3.onLeftClick() {
  1948.     ShowVISBg(3);
  1949. }
  1950.  
  1951. vb4.onLeftClick() {
  1952.     ShowVISBg(4);
  1953. }
  1954.  
  1955. vb5.onLeftClick() {
  1956.     ShowVISBg(5);
  1957. }
  1958.  
  1959. vb6.onLeftClick() {
  1960.     ShowVISBg(6);
  1961. }
  1962.  
  1963. vb7.onLeftClick() {
  1964.     ShowVISBg(7);
  1965. }
  1966.  
  1967. vb8.onLeftClick() {
  1968.     ShowVISBg(8);
  1969. }
  1970.  
  1971. vb9.onLeftClick() {
  1972.     ShowVISBg(9);
  1973. }
  1974.  
  1975.  
  1976. ShowVISBg(int i) {
  1977.  
  1978.     if (i>6) {
  1979.         dis1.show();
  1980.         if (i==7) {
  1981.             dis3.hide();
  1982.             dis2.hide();
  1983.             dis4.hide();
  1984.             normalVIS.setMode(3);
  1985.         }
  1986.         if (i==8) {
  1987.             dis2.show();
  1988.             dis3.hide();
  1989.             dis4.hide();
  1990.             normalVIS.setMode(1);
  1991.         }
  1992.         if (i==9) {
  1993.             dis3.show();
  1994.             dis2.hide();
  1995.             dis4.hide();
  1996.             normalVIS.setMode(2);
  1997.         }
  1998.         disani.hide();
  1999.  
  2000.         refreshEQ.stop();
  2001.  
  2002.  
  2003.  
  2004.     } else {
  2005.         normalVIS.setMode(3);
  2006.         dis1.hide();
  2007.         dis2.hide();
  2008.         dis3.show();
  2009.         dis4.show();
  2010.         disani.show();
  2011.  
  2012.         if (i==1) {
  2013.             disani.setXMLParam("image", "player.vis.ani1");
  2014.             avdelta=4;
  2015.         }
  2016.  
  2017.         if (i==2) {
  2018.             disani.setXMLParam("image", "player.vis.ani2");
  2019.             avdelta=2;
  2020.         }
  2021.  
  2022.         if (i==3) {
  2023.             disani.setXMLParam("image", "player.vis.ani3");
  2024.             avdelta=4;
  2025.         }
  2026.  
  2027.         if (i==4) {
  2028.             disani.setXMLParam("image", "player.vis.ani4");
  2029.             avdelta=2;
  2030.         }
  2031.  
  2032.         if (i==5) {
  2033.             disani.setXMLParam("image", "player.vis.ani5");
  2034.             avdelta=3;
  2035.         }
  2036.  
  2037.  
  2038.         if (i==6) {
  2039.             disani.setXMLParam("image", "player.vis.ani6");
  2040.             avdelta=3;
  2041.         }
  2042.  
  2043.  
  2044.         refreshEQ.stop();
  2045.         refreshEQ.start();
  2046.  
  2047.     }
  2048.  
  2049.     SetPrivateInt("MMD3", "AVISMODE", i);
  2050.     SetLEDVISMode(i);
  2051. }
  2052.  
  2053.  
  2054. VISHint.onLeftClick() {
  2055.     showHint();
  2056.     VISMode = getPrivateInt("MMD3", "AVISMODE", 8);
  2057.     VISMode++;
  2058.     if (VISMode>9) VISMode=1;
  2059.     ShowVISBg(VISMode);
  2060. }
  2061.  
  2062.  
  2063. showHint() {
  2064.     HintFadeCounter = 250;
  2065.     HintFadeTimer.start();
  2066. }
  2067.  
  2068. HintFadeTimer.onTimer() {
  2069.  
  2070.     VISHint.setAlpha(HintFadeCounter);
  2071.  
  2072.     if (HintFadeCounter<=0) {
  2073.         HintFadeTimer.stop();
  2074.         VISHint.setAlpha(0);
  2075.     }
  2076.  
  2077.     HintFadeCounter-=25;
  2078.  
  2079. }
  2080.  
  2081. SetLEDVISMode(int mode) {
  2082.  
  2083.     l1.setAlpha(0);
  2084.     l2.setAlpha(0);
  2085.     l3.setAlpha(0);
  2086.     l4.setAlpha(0);
  2087.     l5.setAlpha(0);
  2088.     l6.setAlpha(0);
  2089.     l7.setAlpha(0);
  2090.     l8.setAlpha(0);
  2091.     l9.setAlpha(0);
  2092.  
  2093.     if (mode==1) l1.setAlpha(255);
  2094.     if (mode==2) l2.setAlpha(255);
  2095.     if (mode==3) l3.setAlpha(255);
  2096.     if (mode==4) l4.setAlpha(255);
  2097.     if (mode==5) l5.setAlpha(255);
  2098.     if (mode==6) l6.setAlpha(255);
  2099.     if (mode==7) l7.setAlpha(255);
  2100.     if (mode==8) l8.setAlpha(255);
  2101.     if (mode==9) l9.setAlpha(255);
  2102. }
  2103.  
  2104.  
  2105. refreshEQ.onTimer() {
  2106.     int vu;
  2107.  
  2108.     vu= (System.getLeftVuMeter() + System.getRightVuMeter() ) / 2 ;
  2109.  
  2110.     if (vu>maxVu) maxVu=vu;
  2111.     if (maxVu==0) maxVu=1;
  2112.     int k = vu/maxVu*29;
  2113.  
  2114.     if (k<lastk) {
  2115.         k=lastk-avdelta;
  2116.         if (k<0) k=0;
  2117.     }
  2118.     lastk=k;
  2119.  
  2120.     disani.gotoframe(k);
  2121.  
  2122.     VuLoop++;
  2123.     if (VuLoop>200) {
  2124.         maxVu=maxVu/2;
  2125.         lastk=0;
  2126.         VuLoop=0;
  2127.     }
  2128.  
  2129. }
  2130.  
  2131. slidercb.onSetPosition(int val) {
  2132.     String s = IntegerToString(val);
  2133.     fadertext.setText(s);
  2134. }
  2135.  
  2136.  
  2137.  
  2138. // Songticker Menu
  2139. //--------------------------------------------------------------------
  2140. MakeSongtickerMenu() {
  2141.  
  2142.  
  2143.     tickerMenu = new PopupMenu;
  2144.     tickerMenu.addCommand("Songticker Scrolling (on)", 1, 0, 0);
  2145.     tickerMenu.addCommand("Songticker Scrolling (off)", 2, 0, 0);
  2146.     tickerMenu.addSeparator();
  2147.     tickerMenu.addCommand("Fontsize large", 3, 0, 0);
  2148.     tickerMenu.addCommand("Fontsize medium", 4, 0, 0);
  2149.     tickerMenu.addCommand("Fontsize small", 5, 0, 0);
  2150.     tickerMenu.addSeparator();
  2151.  
  2152.     tickerMenu.addCommand("drawers: right", 20, 0, 0);
  2153.     tickerMenu.addCommand("drawers: left", 21, 0, 0);
  2154.     tickerMenu.addSeparator();
  2155.  
  2156.     tickerMenu.addCommand("default winshade: horizontal", 30, 0, 0);
  2157.     tickerMenu.addCommand("default winshade: vertical", 31, 0, 0);
  2158.     tickerMenu.addSeparator();
  2159.     tickerMenu.addCommand("volume/bass/treble LED: on", 50, 0, 0);
  2160.     tickerMenu.addCommand("volume/bass/treble LED: off", 51, 0, 0);
  2161.     tickerMenu.addSeparator();
  2162.     tickerMenu.addCommand("ColorThemes...", 40, 0, 0);
  2163.  
  2164.  
  2165.  
  2166. }
  2167.  
  2168. configbutton.onleftclick() {
  2169.     setSuperText("CONFIGURATION");
  2170.     ProcessMenuResult(tickerMenu.popAtMouse());
  2171.     complete;
  2172. }
  2173.  
  2174. configbutton.onrightclick() {
  2175.     ProcessMenuResult(tickerMenu.popAtMouse());
  2176.     complete;
  2177. }
  2178.  
  2179. ProcessMenuResult(int a) {
  2180.     if(a > 0) {
  2181.         if(a == 1) {
  2182.             Songticker.setXMLParam("ticker", "1");
  2183.             ToggleScroll.setActivated(1);
  2184.             ToggleScroll2.setActivated(1);
  2185.             SongTickerShade.setXMLParam("ticker", "1");
  2186.             SongTickerShade2.setXMLParam("ticker", "1");
  2187.             tickerMenu.checkCommand(1, 1);
  2188.             tickerMenu.checkCommand(2, 0);
  2189.             setPrivateInt("MMD3", "scrollticker", 1);
  2190.         }
  2191.  
  2192.         if(a == 2) {
  2193.             Songticker.setXMLParam("ticker", "0");
  2194.             ToggleScroll.setActivated(0);
  2195.             ToggleScroll2.setActivated(0);
  2196.             SongTickerShade.setXMLParam("ticker", "0");
  2197.             SongTickerShade2.setXMLParam("ticker", "0");
  2198.             tickerMenu.checkCommand(1, 0);
  2199.             tickerMenu.checkCommand(2, 1);
  2200.             setPrivateInt("MMD3", "scrollticker", 2);
  2201.         }
  2202.  
  2203.         if(a == 3) {
  2204.             Songticker.setXMLParam("font", "player.ticker.font");
  2205.             Supertext.setXMLParam("font", "player.ticker.font");
  2206.             tickerMenu.checkCommand(3, 1);
  2207.             tickerMenu.checkCommand(4, 0);
  2208.             tickerMenu.checkCommand(5, 0);
  2209.             setPrivateInt("MMD3", "scrolltickersize", 3);
  2210.         }
  2211.  
  2212.         if(a == 4) {
  2213.             Songticker.setXMLParam("font", "player.ticker.font2");
  2214.             Supertext.setXMLParam("font", "player.ticker.font2");
  2215.             tickerMenu.checkCommand(3, 0);
  2216.             tickerMenu.checkCommand(4, 1);
  2217.             tickerMenu.checkCommand(5, 0);
  2218.             setPrivateInt("MMD3", "scrolltickersize", 4);
  2219.         }
  2220.  
  2221.         if(a == 5) {
  2222.             Songticker.setXMLParam("font", "player.ticker.font3");
  2223.             Supertext.setXMLParam("font", "player.ticker.font3");
  2224.             tickerMenu.checkCommand(3, 0);
  2225.             tickerMenu.checkCommand(4, 0);
  2226.             tickerMenu.checkCommand(5, 1);
  2227.             setPrivateInt("MMD3", "scrolltickersize", 5);
  2228.         }
  2229.  
  2230.         if ( a<=5 )
  2231.  
  2232.             Songtickertimer.stop();
  2233.             Songticker.setAlternateText("updating songticker");
  2234.             Songtickertimer.start();
  2235.  
  2236.         if(a == 20) {
  2237.             setPrivateInt("MMD3", "LeftRightMode", 0);
  2238.             tickerMenu.checkCommand(20, 1);
  2239.             tickerMenu.checkCommand(21, 0);
  2240.             setLeftRightMode(0);
  2241.         }
  2242.  
  2243.         if(a == 21) {
  2244.             setPrivateInt("MMD3", "LeftRightMode", 1);
  2245.             tickerMenu.checkCommand(20, 0);
  2246.             tickerMenu.checkCommand(21, 1);
  2247.             setLeftRightMode(1);
  2248.         }
  2249.  
  2250.         if(a == 30) {
  2251.             SetLastShadeMode(1);
  2252.         }
  2253.  
  2254.         if(a == 31) {
  2255.             SetLastShadeMode(2);
  2256.         }
  2257.  
  2258.         if(a == 40) {
  2259.             container cts=getContainer("ctsbig");
  2260.             cts.show();
  2261.         }
  2262.  
  2263.         if(a == 50) {
  2264.             VolumeLED.show();
  2265.             BassLED.show();
  2266.             TrebleLED.show();
  2267.             setPrivateInt("MMD3", "knobLED", 0);
  2268.             tickerMenu.checkCommand(50, 1);
  2269.             tickerMenu.checkCommand(51, 0);
  2270.         }
  2271.  
  2272.         if(a == 51) {
  2273.             VolumeLED.hide();
  2274.             BassLED.hide();
  2275.             TrebleLED.hide();
  2276.             setPrivateInt("MMD3", "knobLED", 1);
  2277.             tickerMenu.checkCommand(50, 0);
  2278.             tickerMenu.checkCommand(51, 1);
  2279.         }
  2280.  
  2281.     }
  2282. }
  2283.  
  2284.  
  2285. ToggleScroll.onToggle(int a) {
  2286.     if(a == 1) {
  2287.         ToggleScroll2.setActivated(1);
  2288.         Songticker.setXMLParam("ticker", "1");
  2289.         SongTickerShade.setXMLParam("ticker", "1");
  2290.         SongTickerShade2.setXMLParam("ticker", "1");
  2291.         tickerMenu.checkCommand(1, 1);
  2292.         tickerMenu.checkCommand(2, 0);
  2293.         setPrivateInt("MMD3", "scrollticker", 1);
  2294.     }
  2295.     if(a == 0) {
  2296.         ToggleScroll2.setActivated(0);
  2297.         Songticker.setXMLParam("ticker", "0");
  2298.         SongTickerShade.setXMLParam("ticker", "0");
  2299.         SongTickerShade2.setXMLParam("ticker", "0");
  2300.         tickerMenu.checkCommand(1, 0);
  2301.         tickerMenu.checkCommand(2, 1);
  2302.         setPrivateInt("MMD3", "scrollticker", 2);
  2303.     }
  2304.  
  2305. }
  2306.  
  2307. ToggleScroll2.onToggle(int a) {
  2308.     if(a == 1) {
  2309.         ToggleScroll.setActivated(1);
  2310.         Songticker.setXMLParam("ticker", "1");
  2311.         SongTickerShade.setXMLParam("ticker", "1");
  2312.         SongTickerShade2.setXMLParam("ticker", "1");
  2313.         tickerMenu.checkCommand(1, 1);
  2314.         tickerMenu.checkCommand(2, 0);
  2315.         setPrivateInt("MMD3", "scrollticker", 1);
  2316.     }
  2317.     if(a == 0) {
  2318.         ToggleScroll.setActivated(0);
  2319.         Songticker.setXMLParam("ticker", "0");
  2320.         SongTickerShade.setXMLParam("ticker", "0");
  2321.         SongTickerShade2.setXMLParam("ticker", "0");
  2322.         tickerMenu.checkCommand(1, 0);
  2323.         tickerMenu.checkCommand(2, 1);
  2324.         setPrivateInt("MMD3", "scrollticker", 2);
  2325.     }
  2326.  
  2327. }
  2328.  
  2329.  
  2330.  
  2331. setLeftRightMode(int i) {
  2332.     Layer dummy1=dummynormal.getObject("playeroverlay");
  2333.     togglebutton dummy2=mainnormal.getObject("Repeat");
  2334.     togglebutton dummy3=mainnormal.getObject("Shuffle");
  2335.     togglebutton dummy4=mainnormal.getObject("Crossfade");
  2336.     button dummy5=mainnormal.getObject("EJECT");
  2337.     Layer dummy6=mainnormal.getObject("label8");
  2338.     Layer dummy7=mainnormal.getObject("label1");
  2339.     Layer dummy8=mainnormal.getObject("CrossfadeLed");
  2340.     Layer dummy9=mainnormal.getObject("ShuffleLed");
  2341.     Layer dummy10=mainnormal.getObject("RepeatLed");
  2342.  
  2343.     group dummy11=dummynormal.getObject("onofflayer");
  2344.  
  2345.     button dummy12=dummy11.getObject("eqtoggle");
  2346.     button dummy13=dummy11.getObject("visdtoggle");
  2347.     button dummy14=dummy11.getObject("cttoggle");
  2348.  
  2349.     button dummy15=mainnormal.getObject("maincfg");
  2350.     Layer dummy16=mainnormal.getObject("label13");
  2351.  
  2352.     button dummyvisbbg1=VISDrawer.getObject("visbbg1");
  2353.     button dummyvisbbg2=VISDrawer.getObject("visbbg2");
  2354.     button dummyvisbbg3=VISDrawer.getObject("visbbg3");
  2355.     button dummyvisbbg4=VISDrawer.getObject("visbbg4");
  2356.     button dummyvisbbg5=VISDrawer.getObject("visbbg5");
  2357.     button dummyvisbbg6=VISDrawer.getObject("visbbg6");
  2358.     button dummyvisbfg1=VISDrawer.getObject("visbfg1");
  2359.     button dummyvisbfg2=VISDrawer.getObject("visbfg2");
  2360.     button dummyvisbfg3=VISDrawer.getObject("visbfg3");
  2361.  
  2362.     layer dummyvled1=VISDrawer.getObject( "vled1" );
  2363.     layer dummyvled2=VISDrawer.getObject( "vled2" );
  2364.     layer dummyvled3=VISDrawer.getObject( "vled3" );
  2365.     layer dummyvled4=VISDrawer.getObject( "vled4" );
  2366.     layer dummyvled5=VISDrawer.getObject( "vled5" );
  2367.     layer dummyvled6=VISDrawer.getObject( "vled6" );
  2368.     layer dummyvled7=VISDrawer.getObject( "vled7" );
  2369.     layer dummyvled8=VISDrawer.getObject( "vled8" );
  2370.     layer dummyvled9=VISDrawer.getObject( "vled9" );
  2371.       layer dummylabel4=VISDrawer.getObject("label4");
  2372.       layer dummylabel5=VISDrawer.getObject("label5");
  2373.       layer dummylabel9=VISDrawer.getObject("label9");
  2374.  
  2375.       button dummyvisdtoggle2=VISDrawer.getObject("visdtoggle2");
  2376.       button dummyeqtoggle2b=VISDrawer.getObject("eqtoggle2b");
  2377.       button dummycttoggle2b=VISDrawer.getObject("cttoggle2b");
  2378.  
  2379.     layer dummylabel6=EQDrawer.getObject("label6");
  2380.     layer dummylabel7=EQDrawer.getObject("label7");
  2381.     layer dummycfdisplaybg=EQDrawer.getObject("cfdisplaybg");
  2382.     layer dummycfdisplaybgoverlay=EQDrawer.getObject("cfdisplaybgoverlay");
  2383.     layer dummyeqonoffLed=EQDrawer.getObject("eqonoffLed");
  2384.     layer dummyeqautoLed=EQDrawer.getObject("eqautoLed");
  2385.  
  2386.     slider dummypreamp=EQDrawer.getObject("preamp");
  2387.     slider dummyeq1=EQDrawer.getObject("eq1");
  2388.     slider dummyeq2=EQDrawer.getObject("eq2");
  2389.     slider dummyeq3=EQDrawer.getObject("eq3");
  2390.     slider dummyeq4=EQDrawer.getObject("eq4");
  2391.     slider dummyeq5=EQDrawer.getObject("eq5");
  2392.     slider dummyeq6=EQDrawer.getObject("eq6");
  2393.     slider dummyeq7=EQDrawer.getObject("eq7");
  2394.     slider dummyeq8=EQDrawer.getObject("eq8");
  2395.     slider dummyeq9=EQDrawer.getObject("eq9");
  2396.     slider dummyeq10=EQDrawer.getObject("eq10");
  2397.     slider dummybalance=EQDrawer.getObject("balance");
  2398.     slider dummysCrossfade=EQDrawer.getObject("sCrossfade");
  2399.  
  2400.     text dummycftext=EQDrawer.getObject("cftext");
  2401.     button dummyeqtoggle2=EQDrawer.getObject("eqtoggle2");
  2402.     button dummyvisdtoggle2b=EQDrawer.getObject("visdtoggle2b");
  2403.     button dummycttoggle2=EQDrawer.getObject("cttoggle2");
  2404.     button dummyeqonoff=EQDrawer.getObject("eqonoff");
  2405.     button dummyeqauto=EQDrawer.getObject("eqauto");
  2406.     button dummyeqpresets=EQDrawer.getObject("eqpresets");
  2407.  
  2408.     button dummy17=CTDrawer.getObject("ctbig");
  2409.     button dummy18=CTDrawer.getObject("cttoggle3");
  2410.  
  2411.     layer dummy19=CTDrawer.getObject("label10");
  2412.     layer dummy20=CTDrawer.getObject("label14");
  2413.  
  2414.     layer dummy21=CTDrawer.getObject("mcd1");
  2415.     layer dummy22=CTDrawer.getObject("mcd2");
  2416.     layer dummy23=CTDrawer.getObject("mcd3");
  2417.     layer dummy24=CTDrawer.getObject("mcd4");
  2418.  
  2419.     button dummy25=CTList.getObject("switch");
  2420.  
  2421.  
  2422.     if (i==0) {     // left
  2423.         mainnormal.setXMLParam("x", "0");
  2424.         dummy1.setXMLParam("x", "0");
  2425.         dummy1.setXMLParam("image", "player.bgbase.overlay");
  2426.         dummy2.setXMLParam("x", "15");
  2427.         dummy2.setXMLParam("y", "80");
  2428.         dummy3.setXMLParam("x", "11");
  2429.         dummy3.setXMLParam("y", "55");
  2430.         dummy4.setXMLParam("x", "9");
  2431.         dummy4.setXMLParam("y", "30");
  2432.         dummy5.setXMLParam("x", "7");
  2433.         dummy5.setXMLParam("y", "181");
  2434.         dummy6.setXMLParam("x", "297");
  2435.         dummy7.setXMLParam("x", "42");
  2436.         dummy7.setXMLParam("y", "200");
  2437.         dummy8.setXMLParam("x", "28");
  2438.         dummy8.setXMLParam("y", "35");
  2439.         dummy9.setXMLParam("x", "30");
  2440.         dummy9.setXMLParam("y", "58");
  2441.         dummy10.setXMLParam("x", "34");
  2442.         dummy10.setXMLParam("y", "80");
  2443.         dummy11.setXMLParam("x", "347");
  2444.         dummy11.setXMLParam("background", "player.eq.buttonoverlay");
  2445.  
  2446.         dummy12.setXMLParam("x", "8");
  2447.         dummy12.setXMLParam("image", "player.button.eqs");
  2448.         dummy12.setXMLParam("downimage", "player.button.eqs.down");
  2449.         dummy13.setXMLParam("x", "8");
  2450.         dummy13.setXMLParam("image", "player.button.viss");
  2451.         dummy13.setXMLParam("downimage", "player.button.viss.down");
  2452.         dummy14.setXMLParam("x", "12");
  2453.         dummy14.setXMLParam("image", "player.button.ct");
  2454.         dummy14.setXMLParam("downimage", "player.button.ct.down");
  2455.  
  2456.         dummy15.setXMLParam("x", "5");
  2457.         dummy15.setXMLParam("y", "125");
  2458.         dummy16.setXMLParam("x", "7");
  2459.         dummy16.setXMLParam("y", "144");
  2460.  
  2461.         dummy17.setXMLParam("x", "186");
  2462.  
  2463.         dummy18.setXMLParam("x", "210");
  2464.         dummy18.setXMLParam("image", "player.button.ct2");
  2465.         dummy18.setXMLParam("downimage", "player.button.ct2.down");
  2466.  
  2467.         dummy19.setXMLParam("x", "40");
  2468.         dummy20.setXMLParam("x", "67");
  2469.  
  2470.         dummy21.setXMLParam("x", "43");
  2471.         dummy22.setXMLParam("x", "43");
  2472.         dummy23.setXMLParam("x", "101");
  2473.         dummy24.setXMLParam("x", "177");
  2474.  
  2475.         dummyvisbbg1.setXMLParam("x", "28");
  2476.         dummyvisbbg2.setXMLParam("x", "68");
  2477.         dummyvisbbg3.setXMLParam("x", "28");
  2478.         dummyvisbbg4.setXMLParam("x", "68");
  2479.         dummyvisbbg5.setXMLParam("x", "28");
  2480.         dummyvisbbg6.setXMLParam("x", "68");
  2481.         dummyvisbfg1.setXMLParam("x", "148");
  2482.         dummyvisbfg2.setXMLParam("x", "148");
  2483.         dummyvisbfg3.setXMLParam("x", "148");
  2484.  
  2485.         dummyvled1.setXMLParam("x", "12");
  2486.         dummyvled2.setXMLParam("x", "100");
  2487.         dummyvled3.setXMLParam("x", "12");
  2488.         dummyvled4.setXMLParam("x", "100");
  2489.         dummyvled5.setXMLParam("x", "12");
  2490.         dummyvled6.setXMLParam("x", "100");
  2491.         dummyvled7.setXMLParam("x", "132");
  2492.         dummyvled8.setXMLParam("x", "132");
  2493.         dummyvled9.setXMLParam("x", "132");
  2494.         dummylabel4.setXMLParam("x", "48");
  2495.         dummylabel5.setXMLParam("x", "147");
  2496.         dummylabel9.setXMLParam("x", "41");
  2497.  
  2498.         dummyvisdtoggle2.setXMLParam("x", "206");
  2499.         dummyvisdtoggle2.setXMLParam("image", "player.button.viss2");
  2500.         dummyvisdtoggle2.setXMLParam("downimage", "player.button.viss2.down");
  2501.  
  2502.         dummyeqtoggle2b.setXMLParam("x", "206");
  2503.         dummyeqtoggle2b.setXMLParam("image", "player.button.eqs");
  2504.         dummyeqtoggle2b.setXMLParam("downimage", "player.button.eqs.down");
  2505.  
  2506.         dummycttoggle2b.setXMLParam("x", "210");
  2507.         dummycttoggle2b.setXMLParam("image", "player.button.ct");
  2508.         dummycttoggle2b.setXMLParam("downimage", "player.button.ct.down");
  2509.  
  2510.         EQCTVISDrawer_x_start=149;
  2511.         EQCTVISDrawer_x_end=350;
  2512.  
  2513.         VISDrawer.setXMLParam("background", "player.visd.bg");
  2514.  
  2515.         EQDrawer.setXMLParam("background", "player.eq.bg");
  2516.  
  2517.         dummylabel6.setXMLParam("x", "9");
  2518.         dummylabel6.setXMLParam("image", "player.textlabel6");
  2519.  
  2520.         dummylabel7.setXMLParam("x", "51");
  2521.         dummycfdisplaybg.setXMLParam("x", "178");
  2522.         dummycfdisplaybgoverlay.setXMLParam("x", "178");
  2523.         dummyeqonoffLed.setXMLParam("x", "63");
  2524.         dummyeqautoLed.setXMLParam("x", "121");
  2525.  
  2526.         dummypreamp.setXMLParam("x", "13");
  2527.         dummyeq1.setXMLParam("x", "52");
  2528.         dummyeq2.setXMLParam("x", "66");
  2529.         dummyeq3.setXMLParam("x", "80");
  2530.         dummyeq4.setXMLParam("x", "94");
  2531.         dummyeq5.setXMLParam("x", "108");
  2532.         dummyeq6.setXMLParam("x", "122");
  2533.         dummyeq7.setXMLParam("x", "136");
  2534.         dummyeq8.setXMLParam("x", "150");
  2535.         dummyeq9.setXMLParam("x", "164");
  2536.         dummyeq10.setXMLParam("x", "178");
  2537.         dummybalance.setXMLParam("x", "50");
  2538.         dummysCrossfade.setXMLParam("x", "127");
  2539.  
  2540.         dummycftext.setXMLParam("x", "179");
  2541.  
  2542.         dummyeqtoggle2.setXMLParam("x", "206");
  2543.         dummyeqtoggle2.setXMLParam("image", "player.button.eqs2");
  2544.         dummyeqtoggle2.setXMLParam("downimage", "player.button.eqs2.down");
  2545.  
  2546.         dummyvisdtoggle2b.setXMLParam("x", "206");
  2547.         dummyvisdtoggle2b.setXMLParam("image", "player.button.viss");
  2548.         dummyvisdtoggle2b.setXMLParam("downimage", "player.button.viss.down");
  2549.  
  2550.         dummycttoggle2.setXMLParam("x", "210");
  2551.         dummycttoggle2.setXMLParam("image", "player.button.ct");
  2552.         dummycttoggle2.setXMLParam("downimage", "player.button.ct.down");
  2553.  
  2554.         dummyeqonoff.setXMLParam("x", "44");
  2555.         dummyeqauto.setXMLParam("x", "91");
  2556.         dummyeqpresets.setXMLParam("x", "149");
  2557.  
  2558.  
  2559.         if (isEQOpen == 1) {
  2560.             EQDrawer.setXMLParam("x", "349");
  2561.         } else {
  2562.             EQDrawer.setXMLParam("x", "149");
  2563.         }
  2564.  
  2565.         if (isVISOpen == 1) {
  2566.             VISDrawer.setXMLParam("x", "349");
  2567.         } else {
  2568.             VISDrawer.setXMLParam("x", "149");
  2569.         }
  2570.  
  2571.         if (isCTOpen == 1) {
  2572.             CTDrawer.setXMLParam("x", "349");
  2573.         } else {
  2574.             CTDrawer.setXMLParam("x", "149");
  2575.         }
  2576.  
  2577.         CTList.setXMLParam("x", "392");
  2578.         CTList.setXMLParam("background", "player.ct.listbg");
  2579.         CTDrawer.setXMLParam("background", "player.ct.bg");
  2580.  
  2581.         CTLayer.setXMLParam("x", "350");
  2582.         CTLayer.setXMLParam("background", "player.ct.overlay");
  2583.  
  2584.         dummy25.setXMLParam("x", "134");
  2585.  
  2586.         EQPush3.setXMLParam("x", "5");
  2587.         EQPush3.setXMLParam("image", "player.button.eqs");
  2588.         EQPush3.setXMLParam("downimage", "player.button.eqs.down");
  2589.         VISPush3.setXMLParam("x", "5");
  2590.         VISPush3.setXMLParam("image", "player.button.viss");
  2591.         VISPush3.setXMLParam("downimage", "player.button.viss.down");
  2592.  
  2593.  
  2594.  
  2595.     }
  2596.  
  2597.     if (i==1) {     // right
  2598.         mainnormal.setXMLParam("x", "202");
  2599.         dummy1.setXMLParam("x", "202");
  2600.         dummy1.setXMLParam("image", "player.bgbase.overlayx");
  2601.         dummy2.setXMLParam("x", "346");
  2602.         dummy2.setXMLParam("y", "92");
  2603.         dummy3.setXMLParam("x", "350");
  2604.         dummy3.setXMLParam("y", "67");
  2605.         dummy4.setXMLParam("x", "352");
  2606.         dummy4.setXMLParam("y", "42");
  2607.         dummy5.setXMLParam("x", "345");
  2608.         dummy5.setXMLParam("y", "179");
  2609.         dummy6.setXMLParam("x", "13");
  2610.         dummy7.setXMLParam("x", "322");
  2611.         dummy7.setXMLParam("y", "201");
  2612.         dummy8.setXMLParam("x", "337");
  2613.         dummy8.setXMLParam("y", "47");
  2614.         dummy9.setXMLParam("x", "334");
  2615.         dummy9.setXMLParam("y", "70");
  2616.         dummy10.setXMLParam("x", "331");
  2617.         dummy10.setXMLParam("y", "92");
  2618.         dummy11.setXMLParam("x", "202");
  2619.         dummy11.setXMLParam("background", "player.eq.buttonoverlayx");
  2620.  
  2621.         dummy12.setXMLParam("x", "6");
  2622.         dummy12.setXMLParam("image", "player.button.eqs2");
  2623.         dummy12.setXMLParam("downimage", "player.button.eqs2.down");
  2624.         dummy13.setXMLParam("x", "6");
  2625.         dummy13.setXMLParam("image", "player.button.viss2");
  2626.         dummy13.setXMLParam("downimage", "player.button.viss2.down");
  2627.         dummy14.setXMLParam("x", "0");
  2628.         dummy14.setXMLParam("image", "player.button.ctx");
  2629.         dummy14.setXMLParam("downimage", "player.button.ctx.down");
  2630.  
  2631.         dummy15.setXMLParam("x", "362");
  2632.         dummy15.setXMLParam("y", "131");
  2633.  
  2634.         dummy16.setXMLParam("x", "363");
  2635.         dummy16.setXMLParam("y", "151");
  2636.  
  2637.         dummy17.setXMLParam("x", "26");
  2638.  
  2639.         dummy18.setXMLParam("x", "0");
  2640.         dummy18.setXMLParam("image", "player.button.ct2x");
  2641.         dummy18.setXMLParam("downimage", "player.button.ct2x.down");
  2642.  
  2643.         dummy19.setXMLParam("x", "76");
  2644.         dummy20.setXMLParam("x", "61");
  2645.  
  2646.         dummy21.setXMLParam("x", "26");
  2647.         dummy22.setXMLParam("x", "26");
  2648.         dummy23.setXMLParam("x", "84");
  2649.         dummy24.setXMLParam("x", "26");
  2650.  
  2651.         dummyvisbbg1.setXMLParam("x", "135");
  2652.         dummyvisbbg2.setXMLParam("x", "175");
  2653.         dummyvisbbg3.setXMLParam("x", "135");
  2654.         dummyvisbbg4.setXMLParam("x", "175");
  2655.         dummyvisbbg5.setXMLParam("x", "135");
  2656.         dummyvisbbg6.setXMLParam("x", "175");
  2657.         dummyvisbfg1.setXMLParam("x", "56");
  2658.         dummyvisbfg2.setXMLParam("x", "56");
  2659.         dummyvisbfg3.setXMLParam("x", "56");
  2660.  
  2661.         dummyvled1.setXMLParam("x", "119");
  2662.         dummyvled2.setXMLParam("x", "207");
  2663.         dummyvled3.setXMLParam("x", "119");
  2664.         dummyvled4.setXMLParam("x", "207");
  2665.         dummyvled5.setXMLParam("x", "119");
  2666.         dummyvled6.setXMLParam("x", "207");
  2667.         dummyvled7.setXMLParam("x", "40");
  2668.         dummyvled8.setXMLParam("x", "40");
  2669.         dummyvled9.setXMLParam("x", "40");
  2670.         dummylabel4.setXMLParam("x", "120");
  2671.         dummylabel5.setXMLParam("x", "57");
  2672.         dummylabel9.setXMLParam("x", "18");
  2673.  
  2674.         dummyvisdtoggle2.setXMLParam("x", "6");
  2675.         dummyvisdtoggle2.setXMLParam("image", "player.button.viss");
  2676.         dummyvisdtoggle2.setXMLParam("downimage", "player.button.viss.down");
  2677.  
  2678.         dummyeqtoggle2b.setXMLParam("x", "6");
  2679.         dummyeqtoggle2b.setXMLParam("image", "player.button.eqs2");
  2680.         dummyeqtoggle2b.setXMLParam("downimage", "player.button.eqs2.down");
  2681.  
  2682.         dummycttoggle2b.setXMLParam("x", "0");
  2683.         dummycttoggle2b.setXMLParam("image", "player.button.ctx");
  2684.         dummycttoggle2b.setXMLParam("downimage", "player.button.ctx.down");
  2685.  
  2686.         EQCTVISDrawer_x_start=203;
  2687.         EQCTVISDrawer_x_end=0;
  2688.  
  2689.         VISDrawer.setXMLParam("background", "player.visd.bgx");
  2690.  
  2691.         EQDrawer.setXMLParam("background", "player.eq.bgx");
  2692.  
  2693.         dummylabel6.setXMLParam("x", "42");
  2694.         dummylabel6.setXMLParam("image", "player.textlabel6x");
  2695.  
  2696.         dummylabel7.setXMLParam("x", "38");
  2697.         dummycfdisplaybg.setXMLParam("x", "206");
  2698.         dummycfdisplaybgoverlay.setXMLParam("x", "206");
  2699.         dummyeqonoffLed.setXMLParam("x", "60");
  2700.         dummyeqautoLed.setXMLParam("x", "118");
  2701.  
  2702.         dummypreamp.setXMLParam("x", "206");
  2703.         dummyeq1.setXMLParam("x", "39");
  2704.         dummyeq2.setXMLParam("x", "53");
  2705.         dummyeq3.setXMLParam("x", "67");
  2706.         dummyeq4.setXMLParam("x", "81");
  2707.         dummyeq5.setXMLParam("x", "95");
  2708.         dummyeq6.setXMLParam("x", "109");
  2709.         dummyeq7.setXMLParam("x", "123");
  2710.         dummyeq8.setXMLParam("x", "137");
  2711.         dummyeq9.setXMLParam("x", "151");
  2712.         dummyeq10.setXMLParam("x", "165");
  2713.         dummybalance.setXMLParam("x", "78");
  2714.         dummysCrossfade.setXMLParam("x", "155");
  2715.  
  2716.         dummycftext.setXMLParam("x", "207");
  2717.  
  2718.         dummyeqtoggle2.setXMLParam("x", "6");
  2719.         dummyeqtoggle2.setXMLParam("image", "player.button.eqs");
  2720.         dummyeqtoggle2.setXMLParam("downimage", "player.button.eqs.down");
  2721.  
  2722.         dummyvisdtoggle2b.setXMLParam("x", "6");
  2723.         dummyvisdtoggle2b.setXMLParam("image", "player.button.viss2");
  2724.         dummyvisdtoggle2b.setXMLParam("downimage", "player.button.viss2.down");
  2725.  
  2726.         dummycttoggle2.setXMLParam("x", "0");
  2727.         dummycttoggle2.setXMLParam("image", "player.button.ctx");
  2728.         dummycttoggle2.setXMLParam("downimage", "player.button.ctx.down");
  2729.  
  2730.         dummyeqonoff.setXMLParam("x", "41");
  2731.         dummyeqauto.setXMLParam("x", "88");
  2732.         dummyeqpresets.setXMLParam("x", "146");
  2733.  
  2734.         if (isEQOpen == 1) {
  2735.             EQDrawer.setXMLParam("x", "0");
  2736.         } else {
  2737.             EQDrawer.setXMLParam("x", "202");
  2738.         }
  2739.  
  2740.         if (isVISOpen == 1) {
  2741.             VISDrawer.setXMLParam("x", "0");
  2742.         } else {
  2743.             VISDrawer.setXMLParam("x", "202");
  2744.         }
  2745.  
  2746.         if (isCTOpen == 1) {
  2747.             CTDrawer.setXMLParam("x", "0");
  2748.         } else {
  2749.             CTDrawer.setXMLParam("x", "202");
  2750.         }
  2751.  
  2752.         CTList.setXMLParam("x", "26");
  2753.         CTList.setXMLParam("background", "player.ct.listbgx");
  2754.         CTDrawer.setXMLParam("background", "player.ct.bgx");
  2755.  
  2756.         CTLayer.setXMLParam("x", "202");
  2757.         CTLayer.setXMLParam("background", "player.ct.overlayx");
  2758.  
  2759.         dummy25.setXMLParam("x", "0");
  2760.  
  2761.         EQPush3.setXMLParam("x", "6");
  2762.         EQPush3.setXMLParam("image", "player.button.eqs2");
  2763.         EQPush3.setXMLParam("downimage", "player.button.eqs2.down");
  2764.         VISPush3.setXMLParam("x", "6");
  2765.         VISPush3.setXMLParam("image", "player.button.viss2");
  2766.         VISPush3.setXMLParam("downimage", "player.button.viss2.down");
  2767.  
  2768.     }
  2769.  
  2770. }
  2771.  
  2772.