home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / audio-video / sonique / s2beta_103_install.exe / a6_file / index.mml < prev    next >
Text File  |  2003-12-19  |  20KB  |  574 lines

  1. <?mml version="0.6" ?>
  2.  
  3. <mml>
  4.     <interface    
  5.             unique_name    ="teamsonique/development_orange_skin/alpha"
  6.             cosmetic_name    ="Development Skin"
  7.             languages        ="english,chinese"
  8.             author        ="team sonique"
  9.             url            ="http://www.sonique.com/"
  10.             url_title        ="Visit Sonique.com"
  11.     >
  12.         <exports>
  13.             <sonique2_frame name="devskin" window="devwin" thumb_120="devskin.psd|thumb_120" thumb_60="devskin.psd|thumb_60" />
  14.         </exports>
  15.  
  16.         <rect     name="mainwindow">            devskin.psd|windowshape            </rect>
  17.         <point     name="mainwindow">            devskin.psd|windowshape            </point>
  18.           <rect     name="displaywindow">         devskin.psd|displayshape        </rect>
  19.           <rect     name="inner_resizerect">     devskin.psd|inner_resizerect    </rect>
  20.           <point     name="mycenter">        .5,.5        </point>
  21.           <color     name="coolred">            0xFFFF0000    </color>
  22.           <color    name="red">                coolred        </color>
  23.           <color     name="blue">            0xFF0000FF    </color>
  24.           
  25.           <palette name="chrome">
  26.               <cp x="0.0" value="0x8000FFFF" />
  27.             <cp x="0.5" value="0x80FFFFFF" />
  28.             <cp x="1.0" value="0x80FF0000" />
  29.           </palette>
  30.             
  31.          <ImageStyle    name            ="nip_button">
  32.              <raster     source            ="devskin.psd|out_dimple" 
  33.                          alignment        ="entire"
  34.                          blendmode        ="ps_normal"
  35.                          source_offset    ="devskin.psd|out_dimple @ devskin.psd|windowshape" 
  36.                     
  37.             />
  38.             <raster        source            ="devskin.psd|unlit_button" 
  39.                         source_offset    ="devskin.psd|unlit_button @ devskin.psd|windowshape" 
  40.                         alignment        ="entire"
  41.                         blendmode        ="ps_normal" 
  42.                     
  43.             />
  44.             <raster        state            ="HIT" 
  45.                         source            ="devskin.psd|in_dimple" 
  46.                         source_offset    ="devskin.psd|in_dimple @ devskin.psd|windowshape" 
  47.                         alignment        ="entire"
  48.                         blendmode        ="ps_normal" 
  49.                     
  50.             />
  51.             <raster        state            ="HIT"
  52.                         source            ="devskin.psd|lit_button" 
  53.                         source_offset    ="devskin.psd|lit_button @ devskin.psd|windowshape" 
  54.                         alignment        ="entire"
  55.                         blendmode        ="ps_normal" 
  56.                     
  57.             />
  58.         </ImageStyle>
  59.     
  60.         <ImageStyle name="nip_button_funky">
  61.             <blend_curve    name="nip_curve"  spline="false" >
  62.                 <cp x="0.0"        value="0.0" />
  63.                 <cp x="0.6"        value="0.0" />
  64.                 <cp x="1.0"        value="1.0" />
  65.             </blend_curve>
  66.     
  67.             <blend_curve    name="dimple_curve_out"  spline="true" >
  68.                 <cp x="0.0"        value="0.0" />
  69.                 <cp x="0.5"        value="0.0" />
  70.                 <cp x="1.0"        value="1.0" />
  71.             </blend_curve>
  72.             
  73.             <blend_curve    name="dimple_curve_in"  spline="true" >
  74.                 <cp x="0.0"        value="0.0" />
  75.                 <cp x="0.5"        value="0.0" />
  76.                 <cp x="0.8"        value="1.0" />
  77.                 <cp x="1.0"        value="0.5" />
  78.             </blend_curve>
  79.             
  80.             <raster     blend_curve        ="dimple_curve_out"
  81.                         source            ="devskin.psd|out_dimple" 
  82.                         source_offset    ="devskin.psd|out_dimple @ devskin.psd|windowshape"
  83.                         blendmode        ="ps_normal" 
  84.                         alignment        ="entire" 
  85.                         
  86.             />
  87.         
  88.             <raster      state            ="HIT"
  89.                         blend_curve        ="dimple_curve_out"
  90.                         source            ="devskin.psd|in_dimple" 
  91.                         source_offset    ="devskin.psd|in_dimple @ devskin.psd|windowshape"
  92.                         blendmode        ="ps_normal" 
  93.                         alignment        ="entire"
  94.             />
  95.             
  96.             
  97.             <raster     source            ="devskin.psd|unlit_button" 
  98.                         source_offset    ="devskin.psd|unlit_button @ devskin.psd|windowshape"
  99.                         blendmode        ="ps_normal" 
  100.                         alignment        ="entire"
  101.                         opacity            =".8"
  102.             />
  103.             <raster     state            ="HIT"
  104.                         blend_curve        ="nip_curve" 
  105.                         invert_blend    ="true"
  106.                         source            ="devskin.psd|unlit_button" 
  107.                         source_offset    ="devskin.psd|unlit_button @ devskin.psd|windowshape"
  108.                         blendmode        ="ps_normal" 
  109.                         alignment        ="entire"
  110.                         opacity            =".8"
  111.             />
  112.             <raster     state            ="HIT"
  113.                         blend_curve        ="nip_curve" 
  114.                         source            ="devskin.psd|lit_button" 
  115.                         source_offset    ="devskin.psd|lit_button @ devskin.psd|windowshape"
  116.                         blendmode        ="ps_normal" 
  117.                         alignment        ="entire"
  118.                         
  119.             />
  120.         </ImageStyle>
  121.  
  122.         <ImageStyle name="OrangeMood">
  123.             <color_fill
  124.                     color        ="#333333"
  125.                     offset        ="0,0,0,0" 
  126.                     alignment    ="entire" 
  127.                 />
  128.         </ImageStyle>
  129.  
  130.  
  131.         <ImageStyle name="dropborder" >
  132.                 <raster  
  133.                     source            ="devskin.psd|rect_bevel" 
  134.                     blendmode        ="ps_normal" 
  135.                     alignment        ="entire"
  136.                     fillmode        ="resize"
  137.                     inner_rect        ="devskin.psd|rect_inner" 
  138.                     outer_rect        ="devskin.psd|rect_bevel"
  139.                 />
  140.         </ImageStyle>
  141.  
  142.         <window name="test" >
  143.             <imagestyle name="background">
  144.                 <include source="OrangeMood" />
  145.             </imagestyle>
  146.         </window>
  147.  
  148.             
  149.         <!-- Window Bits!!!!!!! -->
  150.         <window name="devwin" transparent="false" min_size="120,150" default_size="435,435" max_size="1024,1024" shape="frame" hitstyle="frame" >
  151.             <dock_point type="master" name="Frame_UL"     alignment="upperleft" /> 
  152.             <dock_point type="master" name="Frame_UR"     alignment="upperright" /> 
  153.             <dock_point type="master" name="Frame_LL"     alignment="lowerleft" /> 
  154.             <dock_point type="master" name="Frame_LR"     alignment="lowerright" /> 
  155.             <dock_point type="slave" name="Frame_UR"     alignment="upperleft" />
  156.             <dock_point type="slave" name="MonitorUL"     alignment="upperleft" /> 
  157.             <dock_point type="slave" name="MonitorUR"     alignment="upperright" /> 
  158.             <dock_point type="slave" name="MonitorLL"     alignment="lowerleft" /> 
  159.             <dock_point type="slave" name="MonitorLR"     alignment="lowerright" /> 
  160.             <Shape name="frame" >
  161.                 <shape_raster 
  162.                     source            ="devskin.psd|windowshape" 
  163.                     alignment        ="0,0,1,1" 
  164.                     inner_rect        ="inner_resizerect"
  165.                     outer_rect        ="mainwindow"
  166.                     fillmode        ="resize"
  167.                 />
  168.             </Shape>
  169.             <ImageStyle name="background">
  170.                 <include source="OrangeMood" />
  171.                 <raster   
  172.                     language        ="english"
  173.                     source            ="devskin.psd|logo" 
  174.                     offset            ="devskin.psd|logo @ devskin.psd|windowshape"
  175.                     alignment        ="lowerleft"  
  176.                     blendmode        ="ps_normal" 
  177.                 />
  178.                 <raster  
  179.                     language        ="chinese"
  180.                     source            ="devskin.psd|logo_chinese" 
  181.                     offset            ="devskin.psd|logo_chinese @ devskin.psd|windowshape"
  182.                     alignment        ="lowerleft"  
  183.                     blendmode        ="ps_normal" 
  184.                 />
  185.  
  186.                 <raster  
  187.                     source            ="devskin.psd|resizehandle_image" 
  188.                     offset            ="devskin.psd|resizehandle_image @ mainwindow"
  189.                     alignment        ="lowerright" 
  190.                     blendmode        ="ps_normal"  
  191.                 />
  192.                 <raster  
  193.                     source            ="devskin.psd|bevel" 
  194.                     fillmode        ="resize" 
  195.                     blendmode        ="ps_normal" 
  196.                     inner_rect        ="inner_resizerect" 
  197.                     outer_rect        ="mainwindow" 
  198.                     offset            ="0,0,0,0" 
  199.                     alignment        ="0,0,1,1" 
  200.                     source_offset    ="devskin.psd|bevel  @ mainwindow"
  201.                 />            
  202.             </ImageStyle>
  203.             <HitStyle name="frame" default_hitcode="DRAG" >
  204.                 <!-- resize handle -->
  205.                 <hitcode type="BOTTOMRIGHT">
  206.                     <shape> 
  207.                         <shape_raster source = "devskin.psd|resizehandle_shape" alignment = "lowerright" 
  208.                         offset ="devskin.psd|resizehandle_shape @ mainwindow" />
  209.                     </shape>
  210.                 </hitcode>
  211.                 <!-- left edge -->
  212.                 <hitcode type="LEFT"><shape><shape_rect alignment="0,0,0,1" offset="0,0,5,0" /></shape></hitcode>
  213.                 <!-- bottom edge -->
  214.                 <hitcode type="BOTTOM"><shape><shape_rect alignment="0,1,1,1" offset="0,-5,0,0" /></shape></hitcode>
  215.                 <!-- top edge -->
  216.                 <hitcode type="TOP"><shape><shape_rect alignment="0,0,1,0" offset="0,0,0,5" /></shape></hitcode>
  217.                 <!-- right edge -->
  218.                 <hitcode type="RIGHT"><shape><shape_rect alignment="1,0,1,1" offset="-5,0,0,0" /></shape></hitcode>
  219.             </HitStyle>
  220.             <script name="OnInit">
  221.                 :sonique.InterfacePrefsCreateSection("main");
  222.  
  223.                 $size = :sonique.InterfacePrefsGetStringArray("main", "size");
  224.                 if ($size.IsArray())
  225.                 { 
  226.                     if ( $size[0] gt 0 and $size[1] gt 0 )
  227.                     {
  228.                         SetSize($size, 0, 1000, "linear_accel"); 
  229.                     }
  230.                 }
  231.                 sizeState = 0;
  232.                 
  233.                 $location = :sonique.InterfacePrefsGetStringArray("main", "location");
  234.                 if ($location.IsArray())
  235.                 { 
  236.                     $dim = :app.GetScreenDimensions();
  237.                     if ( $location[0] gte $dim[0]["left"] and $location[1] gte $dim[0]["top"] )
  238.                     {
  239.                         if ( $location[0] lt $dim[0]["right"] and $location[1] lt $dim[0]["bottom"] )
  240.                         {
  241.                             SetLocation($location); 
  242.                         }
  243.                     }
  244.                 }
  245.                 
  246.                 if( :sonique.InterfacePrefsGetString("main", "alwaysontop") )
  247.                     { SetAlwaysOnTop( 1 ); } 
  248.                 else 
  249.                     { SetAlwaysOnTop( 0 ); }
  250.  
  251.                 $section = "sonique/gui/slate/hotkeys";
  252.                 :sonique.prefs.CreateSection($section);
  253.                 alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  254.                 if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  255.             </script>
  256.             <script name="OnDestroy">
  257.                 $size = GetSize();
  258.                 :sonique.InterfacePrefsSetStringArray("main", "size", $size);
  259.  
  260.                 $location = GetLocation();
  261.                 :sonique.InterfacePrefsSetStringArray("main", "location", $location );
  262.  
  263.                 :sonique.InterfacePrefsSetString("main", "alwaysontop", GetAlwaysOnTop());
  264.  
  265.                 if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  266.             </script>
  267.             <script name="OnDoubleClick">
  268.                 // thanks travelian...
  269.                 if (sizeState == 1) {
  270.                     SetSize(size, 0, 1000, "linear_accel");
  271.                     sizeState = 0; 
  272.                 }
  273.                 else    { 
  274.                     size = GetSize();
  275.                     if (size != {435,435}) {
  276.                         SetSize({435,435}, 0, 1000, "linear_accel");
  277.                         sizeState = 1;
  278.                     }
  279.                 } 
  280.             </script>
  281.  
  282.         
  283.             <window name="drawer" transparent="false" alignment="0,1,1,1" offset="6 -145 -6 -20" belowparent="true" popout="true" hitstyle="DRAG" >
  284.                 <ImageStyle name="background">
  285.                     <include source="OrangeMood" />
  286.                     <include source="dropborder" />
  287.                 </ImageStyle>
  288.             
  289.                 <script name="_movein">
  290.                     SetOffset( {6, "-145", "-6", "-20"}, "0", "1000", "linear_decel" );
  291.                     OnClick = "_moveout()";
  292.                     return(1);
  293.                 </script>
  294.                 <script name="_moveout">
  295.                     SetOffset( {6, "-20", "-6", 105}, "0", "1000", "linear_decel" );
  296.                     OnClick = "_movein()";
  297.                 </script>
  298.                 <script name="OnClick">
  299.                     _moveout();
  300.                 </script>
  301.  
  302.                 <window name="eq" type="Sonique2_equalizer" alignment="entire" offset="5,25,-35,-5" hitstyle="ACTIVE" >
  303.                     <Script name="GetNumBands">
  304.                         :sonique.players.default.equalizer.GetNumBands()
  305.                     </Script>
  306.                     <Script name="GetBandFreqString">
  307.                         $eqdata = :sonique.players.default.equalizer.GetEQData();
  308.                         $val = $eqdata[$params[0]]["frequency"];
  309.                         if( $val > 9999 )
  310.                         {
  311.                             $res = :math.Truncate($val/1000) | "KHz"
  312.                         } else {
  313.                             $res = :math.Truncate($val)
  314.                         }
  315.                         $res
  316.                     </Script>
  317.                     <Script name="GetBandGain">
  318.                         :sonique.players.default.equalizer.GetBandGain($params[0]);
  319.                     </Script>
  320.                     <Script name="SetBandGain">
  321.                         :sonique.players.default.equalizer.SetBandGain($params[0], $params[1]);
  322.                     </Script>
  323.                     <Script name="OnInit">
  324.                         :sonique.players.default.equalizer.RegisterChangeCallback("", "if( $params[1] ) { UpdateDisplay(); } else { UpdateBands(); } :sonique.players.default.SendFilterMessage(\"equalizerReloadSettings\");", this);
  325.                     </Script>
  326.                     <Script name="OnDestroy">
  327.                         :sonique.players.default.equalizer.UnregisterChangeCallback("", this);
  328.                     </Script>
  329.  
  330.                     <ImageStyle name="background">
  331.                         <color_fill color="0xFF000000" alignment="entire" />
  332.                     </ImageStyle> 
  333.                 </window>
  334.  
  335.                 <?macrodef animation 
  336.                     <imagestyle name="background" >
  337.                         <raster  
  338.                                     source        = "devskin.psd|spin_knob"
  339.                                     state        = "hit,hover,normal"
  340.                                     num_frames    = "36"
  341.                                     blendmode        = "PS_NORMAL"
  342.                                     blend_frames    ="true"
  343.                             />
  344.                     </imagestyle>
  345.                 ?>
  346.  
  347.  
  348.                 <window name="pitchknob" type="spinbutton" alignment="1,0,1,0" offset="-30,30,-15,45" transparent="true" hitstyle="ACTIVE" >
  349.                     <?macroins animation ?>
  350.                     <property 
  351.                         hover="true"
  352.                         hoverhint="Pitch"
  353.                         radial="true"
  354.                         radialstartangle="45"
  355.                         radialstopangle="315" />
  356.                     <script name="OnInit">
  357.                         :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateKnob()", this);
  358.                         UpdateKnob();
  359.                     </script>
  360.                     <script name="OnDestroy">
  361.                         :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  362.                     </script>
  363.                     <script name="UpdateKnob">
  364.                         SetRealPos( (:math.Log( 2, :sonique.players.default.pitchampbal.GetPitch() )+3)/6 );
  365.                     </script>
  366.                     <script name="OnPosChange">
  367.                         $val = :math.Power( 2, $params[0]["real"]*6-3 );
  368.                         :sonique.players.default.pitchampbal.SetPitch( $val );
  369.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  370.                         :sonique.Status("Setting pitch:" | :math.Truncate($val*100) | "%");
  371.                     </script>
  372.                     <script name="OnDoubleClick">
  373.                         :sonique.players.default.pitchampbal.SetPitch( 1.0 );
  374.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  375.                         :sonique.Status("Setting pitch: 100%");
  376.                     </script>
  377.                 </window>
  378.                 <window name="ampknob" type="spinbutton" alignment="1,0,1,0" offset="-30,50,-15,65" transparent="true" hitstyle="ACTIVE"  >
  379.                     <?macroins animation ?>
  380.                     <property 
  381.                         hover="true"
  382.                         hoverhint="Amplification"
  383.                         radial="true"
  384.                         radialstartangle="45"
  385.                         radialstopangle="315" />
  386.                     <script name="OnInit">
  387.                         :sonique.players.default.pitchampbal.RegisterChangeCallback("","UpdateKnob()", this);
  388.                         UpdateKnob();
  389.                     </script>
  390.                     <script name="OnDestroy">
  391.                         :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  392.                     </script>
  393.                     <script name="UpdateKnob">
  394.                         SetRealPos( (:math.Log( 2, :sonique.players.default.pitchampbal.GetAmplification() )+3)/6 );
  395.                     </script>
  396.                     <script name="OnPosChange">
  397.                         $val = :math.Power( 2, $params[0]["real"]*6-3 );
  398.                         :sonique.players.default.pitchampbal.SetAmplification( $val );
  399.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  400.                         :sonique.Status("Setting amplification: " | :math.Truncate($val*100) | "%");
  401.                     </script>
  402.                     <script name="OnDoubleClick">
  403.                         :sonique.players.default.pitchampbal.SetAmplification( 1.0 );
  404.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  405.                         :sonique.Status("Setting amplification: 100%");
  406.                     </script>
  407.                 </window>
  408.                 <window name="balknob" type="spinbutton" alignment="1,0,1,0" offset="-30,70,-15,85" transparent="true" hitstyle="ACTIVE"  >
  409.                     <?macroins animation ?>
  410.                     <property 
  411.                         hover="true"
  412.                         hoverhint="Balance"
  413.                         radial="true"
  414.                         radialstartangle="45"
  415.                         radialstopangle="315" />
  416.                     <script name="OnInit">
  417.                         :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateKnob()", this);
  418.                         UpdateKnob();
  419.                     </script>
  420.                     <script name="OnDestroy">
  421.                         :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  422.                     </script>
  423.                     <script name="UpdateKnob">
  424.                         SetRealPos( (:sonique.players.default.pitchampbal.GetBalance()+1)/2 );
  425.                     </script>
  426.                     <script name="OnPosChange">
  427.                         $val = $params[0]["real"]*2-1;
  428.                         :sonique.players.default.pitchampbal.SetBalance( $val );
  429.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  430.                         if( $val == 0 )
  431.                         {
  432.                             :sonique.Status("Setting balance: center");
  433.                         } else {
  434.                             :sonique.Status("Setting balance: " | :math.Truncate($val*100) | "%");
  435.                         }
  436.                     </script>
  437.                     <script name="OnDoubleClick">
  438.                         :sonique.players.default.pitchampbal.SetBalance( 0.0 );
  439.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  440.                         :sonique.Status("Setting balance: center");
  441.                     </script>
  442.                 </window>
  443.                 <window name="resetbutton" type="button" alignment="1,0,1,0" offset="-36,90,-10,110" transparent="true"  hitstyle="ACTIVE">
  444.                     <script name="OnClick">
  445.                         :sonique.players.default.equalizer.Reset();
  446.                     </script>
  447.                     <Property    hoverhint="Reset equalizer to flat"
  448.                                 default_delay    = "150"    />
  449.                     <ImageStyle name="state0">
  450.                         <include source="nip_button_funky"/>
  451.                     </ImageStyle>
  452.                 </window>
  453.  
  454.                 
  455.             </window>
  456.             
  457.             <window name="shadow" alignment="0,1,1,1" offset="devskin.psd|windowshape_shadow @ devskin.psd|windowshape" belowparent="true" popup="true" transparent="true">
  458.                 <ImageStyle name="background">
  459.                     <raster  
  460.                         source            ="devskin.psd|windowshape_shadow" 
  461.                         blendmode        ="ps_normal" 
  462.                         alignment        ="entire"
  463.                         fillmode        ="resize"
  464.                         inner_rect        ="inner_resizerect"
  465.                         outer_rect        ="devskin.psd|windowshape_shadow"
  466.                     />
  467.                 </ImageStyle>
  468.             </window>
  469.             <window 
  470.                 name            ="slate_display"
  471.                 type            ="Sonique2_Display" 
  472.                 transparent        ="false" 
  473.                 alignment        ="entire" 
  474.                 offset            ="devskin.psd|displayshape @ devskin.psd|windowshape"
  475.                 shape            ="displayShape"
  476.                 hitstyle        ="displayHitStyle"
  477.             >
  478.                 <Shape name="displayShape" >
  479.                     <shape_raster
  480.                         source            ="devskin.psd|displayshape" 
  481.                         alignment        ="entire" 
  482.                         inner_rect        ="inner_resizerect"
  483.                         outer_rect        ="displaywindow"
  484.                         fillmode        ="resize" 
  485.                     />
  486.                 </Shape>
  487.                 <HitStyle name="displayHitStyle">
  488.                     <hitcode type="INACTIVE" shape="displayShape" />
  489.                 </HitStyle>
  490.                 <script name="OnInit" >
  491.                     DisplayWindow("SQ2_OnlineWindow");
  492.                 </script>
  493.             </window>
  494.             <window name="b1" type="button" transparent="true" alignment="lowerleft" offset="141,-27,165,-2" hitstyle="ACTIVE|DRAG"  >
  495.                 <property    hoverhint        = "Previous track"
  496.                             default_delay    = "150"    />
  497.  
  498.                 <script name="OnClick" >
  499.                     :sonique.players.default.Previous();
  500.                 </script>
  501.  
  502.                 <ImageStyle name="state0">
  503.                     <include source="nip_button_funky"/>
  504.                 </ImageStyle>
  505.             </window>
  506.  
  507.             <window name="b2" type="button" transparent="true" alignment="lowerleft" offset="171,-27,195,-2" hitstyle="ACTIVE" >
  508.                 <property    hoverhint        = "Next track"
  509.                             default_delay    = "150"    />
  510.                 <ImageStyle name="state0">
  511.                     <include source="nip_button"/>
  512.                 </ImageStyle>
  513.                 <script name="OnClick" >
  514.                     :sonique.players.default.Next();
  515.                 </script>
  516.  
  517.             </window>
  518.  
  519.             <script name="LaunchPill"> :sonique.LaunchRemote("ians/orange/pill/1.0","Pill"); </script>
  520.             
  521.             <window name="b3" type="button" transparent="true" alignment="lowerleft" offset="201,-27,225,-2" hitstyle="ACTIVE" >
  522.                 <script name="OnClick" > drawer.OnClick(); </script> 
  523.                 <property    hoverhint        = "Equalizer drawer"
  524.                             default_delay    = "150"    />
  525.                 <ImageStyle name="state0">
  526.                     <include source="nip_button"/>
  527.                 </ImageStyle>
  528.             </window>
  529.  
  530.             <window name="b4" type="button" transparent="true" alignment="lowerleft" offset="231,-27,255,-2" hitstyle="ACTIVE" >
  531.                 <script name="_movein">
  532.                     MoveTo({20, 18}) ;
  533.                     OnClick= "_moveout()";
  534.                 </script>
  535.                 <script name="_moveout">
  536.                     MoveTo({40, 48}) ;
  537.                     OnClick = "_movein()";
  538.                 </script>
  539.                 <script name="OnClick">
  540.                     <include source="LaunchPill" />
  541.                 </script>
  542.                 <property    hoverhint        = "Open Pill remote"
  543.                             default_delay    = "150"    />
  544.                 <ImageStyle name="state0">
  545.                     <include source="nip_button_funky"/>
  546.                 </ImageStyle>
  547.             </window>
  548.             <window type="button" transparent="true" alignment="upperright" offset="-18, 0, 0, 18" hitstyle="ACTIVE">
  549.                 <script name="OnClick">
  550.                      parent.DestroyWindow();
  551.                 </script>
  552.                 <property hoverhint = "Close this window"
  553.                             default_delay = "150" />
  554.                 <ImageStyle name="state0">
  555.                     <color_fill alignment="entire" blendmode="ps_normal" color="0x60FFFFFF"/>
  556.                     <text color="#0" justification="h_center|v_center|single_line_only" alignment="entire" offset="-8,0,0,8">X</text>
  557.                 </ImageStyle>
  558.             </window>
  559.  
  560.             <window type="button" transparent="true" alignment="upperright" offset="-28, 0, -18, 18" hitstyle="ACTIVE">
  561.                 <script name="OnClick">
  562.                      parent.MinimizeWindow(true);
  563.                 </script>
  564.                 <property hoverhint = "Minimize this window"
  565.                             default_delay = "150" />
  566.                 <ImageStyle name="state0">
  567.                     <color_fill alignment="entire" blendmode="ps_normal" color="0x60FFFFFF"/>
  568.                     <text color="#0" justification="h_center|v_center|single_line_only" alignment="entire" offset="1,0,0,4">_</text>
  569.                 </ImageStyle>
  570.             </window>
  571.         </window>
  572.     </interface>
  573. </mml>
  574.