home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / audio-video / sonique / s2beta_103_install.exe / a5_file / index.mml < prev    next >
Text File  |  2004-03-02  |  568KB  |  9,990 lines

  1. <!-- 
  2.  
  3. Sonique2 Default Skin
  4.  
  5. Credits: 
  6.     Juan - Design and Graphics
  7.     John - Hacks and Kludges
  8.     Bits - redid :(
  9. -->
  10.  
  11. <?mml version="0.6"?> 
  12. <mml>
  13. <interface    cosmetic_name="Sonique2 Default" 
  14.             unique_name="teamsonique/default_interface/Sonique2Default"
  15.             author="Team Sonique/bits"
  16.             url="http://www.sonique.com/" url_title="Sonique.com"
  17.             comments="Designed by Juan Melano" >
  18.     <exports>
  19.         <sonique2_frame name="Default Skin" window="main" thumb_120="color.psd|120" thumb_60="color.psd|60"/>
  20.     </exports>
  21.  
  22.     <fontstyle name="tracktime_font" type="raster" source="grayscale.psd|tracktime_font" monochrome="false">
  23.         <glyphlist>0123456789:.&#e001;&#e000;&#e002;&#e003;</glyphlist>
  24.     </fontstyle>
  25.     
  26.     <color name="transparent">0x00000000</color>
  27.     <color name="color_todo_1">0xFFFFFF00</color>
  28.     <color name="color_todo_2">0xFF18EE07</color>
  29.  
  30.     <!-- Default Skin Theme Colors (for use by the ID3, Settings, Interface Browser popups) -->
  31.     <!-- default colors -->
  32.     <color name="color1">0xFF303030</color> <!-- dark grey -->
  33.     <color name="color2">0xFFBBBBBB</color> <!-- grey -->
  34.     <color name="color3">0xFFFFFFFF</color> <!-- white 100% -->
  35.     <color name="color3_25">0x44FFFFFF</color>    <!-- white 25% -->
  36.     <color name="color3_50">0x88FFFFFF</color>    <!-- white 50% -->
  37.  
  38.  
  39. <!--     desert -->
  40.     <color name="theme10_color1">0xFF303030</color>
  41.     <color name="theme10_color2">0xFFCBD64D</color>
  42.     <color name="theme10_color3">0xFFFFFFFF</color>
  43.     <color name="theme10_color3_25">0xFFFF0000</color>
  44.     <color name="theme10_color3_50">0xFFFF0000</color>
  45.  
  46. <!-- scrollbar defs -->
  47.         <!-- todo scrollbar not ready for transparent buttons.  which is odd, since transparent bars work -->
  48.         <imagestyle name="horizontal_lines">
  49.             <color_line color = "color3" alignment = "0,0,1,0" offset="0,0,0,0" opacity="0.5"/>
  50.             <color_line color = "color3" alignment = "0,1,1,1" offset="0,-1,0,-1" opacity="0.5"/>
  51.         </imagestyle>
  52.         <imagestyle name="scrollbar_background_horizontal">
  53.             <color_fill color="transparent" blendmode="ps_normal" opacity="1.0"/>
  54.             <raster fillmode="tile" tile_size="7,8" blendmode="ps_normal" source="grayscale.psd|scrollbar_background" opacity="1.0" />    
  55.             <include source="horizontal_lines" />
  56.         </imagestyle>
  57.         <imagestyle name="scrollbar_foreground_horizontal">
  58.             <color_fill color="transparent" blendmode="ps_normal" opacity="1.0"/>
  59.             <raster fillmode="tile" tile_size="7,8" blendmode="ps_normal" source="grayscale.psd|scrollbar_foreground" opacity="1.0" />
  60.             <include source="horizontal_lines" />
  61.         </imagestyle>
  62.         <imagestyle name="scrollbar_leftbutton">
  63.             <color_fill color="color1" blendmode="ps_normal" opacity="1.0"/>
  64.             <raster source="grayscale.psd|scrollbar_left" opacity="1.0" alignment=".5,.5,.5,.5" offset="-3,-4,3,3" blendmode = "ps_normal" />
  65.             <include source="horizontal_lines" />
  66.             <color_line color = "color3" alignment = "0,0,0,1" offset="0,1,0,-2" opacity="0.5"/>
  67.         </imagestyle>
  68.         <imagestyle name="scrollbar_rightbutton" >
  69.              <color_fill color="color1" blendmode="ps_normal" opacity="1.0"/>
  70.             <raster alignment=".5,.5,.5,.5" offset="-3,-4,3,3" source="grayscale.psd|scrollbar_right" opacity="1.0" blendmode = "ps_normal" />
  71.             <include source="horizontal_lines" />
  72.             <color_line color = "color3" alignment = "1,0,1,1" offset="-1,1,-1,-2" opacity="0.5"/>
  73.         </imagestyle>
  74.  
  75.         <imagestyle name="vertical_lines">
  76.             <color_line color = "color3" alignment = "0,0,0,1" offset="0,0,0,0" opacity="0.5"/>
  77.             <color_line color = "color3" alignment = "1,0,1,1" offset="-1,0,-1,0" opacity="0.5"/>
  78.         </imagestyle>
  79.         <imagestyle name="scrollbar_background_vertical">
  80.             <color_fill color="transparent" blendmode="ps_normal" opacity="1.0"/>
  81.             <raster fillmode="tile" tile_size="8,7" blendmode="ps_normal" source="grayscale.psd|scrollbar_background" opacity="1.0" />
  82.             <include source="vertical_lines" />
  83.          </imagestyle>
  84.          <imagestyle name="scrollbar_foreground_vertical">
  85.             <color_fill color="transparent" blendmode="ps_normal" opacity="1.0"/>
  86.             <raster fillmode="tile" tile_size="8,7" blendmode="ps_normal" source="grayscale.psd|scrollbar_foreground" opacity="1.0" />
  87.             <include source="vertical_lines" />
  88.          </imagestyle>
  89.          <imagestyle name="scrollbar_upbutton">
  90.              <color_fill color="color1" blendmode="ps_normal" opacity="1.0"/>
  91.             <color_line color = "color3" alignment = "0,0,1,0" offset="1,0,-2,0" opacity="0.5"/>
  92.             <raster source="grayscale.psd|scrollbar_up" opacity="1.0" alignment=".5,.5,.5,.5" offset="-3,-3,3,3" blendmode = "ps_normal" />
  93.             <include source="vertical_lines" />
  94.          </imagestyle>
  95.          <imagestyle name="scrollbar_downbutton">
  96.              <color_fill color="color1" blendmode="ps_normal" opacity="1.0"/>
  97.             <raster source="grayscale.psd|scrollbar_down" opacity="1.0" alignment=".5,.5,.5,.5" offset="-3,-3,3,3" blendmode = "ps_normal" />
  98.             <color_line color = "color3" alignment = "0,1,1,1" offset="1,-1,-2,-1" opacity="0.5"/>
  99.             <include source="vertical_lines" />
  100.          </imagestyle>
  101.         <property    name="MML_Scrollbar"
  102.                     img_upbutton="scrollbar_upbutton"
  103.                     img_downbutton="scrollbar_downbutton"
  104.                     img_leftbutton="scrollbar_leftbutton"
  105.                     img_rightbutton="scrollbar_rightbutton"
  106.                     pixel_scrollbarthickness="10"
  107.                     pixel_minscrollbarsize="10"
  108.                     img_bar_vertical="scrollbar_foreground_vertical"
  109.                     img_bar_horizontal="scrollbar_foreground_horizontal"
  110.                     img_background_vertical="scrollbar_background_vertical"
  111.                     img_background_horizontal="scrollbar_background_horizontal"
  112.          />
  113.  
  114.  
  115. <!-- playlist defs -->
  116.         <imagestyle name="transparent" transparent="true" />
  117.         <imagestyle name="playlist_header_imagestyle" transparent="true" >
  118.             <color_fill color="color3_25" alignment="0,0,1,1" blendmode="COPY|RGB|ALPHA_SRCALPHA"/>
  119.             <color_rect color="color1" alignment="0,0,1,1"    />
  120.         </imagestyle>
  121.         <imagestyle name="playlist_row_imagestyle" transparent="true" >
  122.             <color_line color = "color1" alignment = "0,0,1,0" offset="0,0,0,0" />
  123.         </imagestyle>
  124.         <imagestyle name="playlist_column_imagestyle" transparent="true">
  125.             <color_rect color="color1" alignment="0,0,1,1"    />
  126.         </imagestyle>
  127.          <imagestyle name="playlist_itemdrophint_imagestyle" transparent="false">
  128.             <color_fill color = "color1" blendmode  = "COPY|RGB" />
  129.          </imagestyle>
  130.          <imagestyle name="uparrow_imagestyle" transparent="true">
  131.             <color_line color = "color3" alignment = "1,0,1,0" offset      = "-5,1,-9,5" antialiased = "true" />
  132.             <color_line color = "color3" alignment = "1,0,1,0" offset      = "-5,1,-1,5" antialiased = "true"/>
  133.             <color_line color = "color3" alignment = "1,0,1,0" offset      = "-5,1,-5,9" antialiased = "true"/>
  134.          </imagestyle>
  135.          <imagestyle name="downarrow_imagestyle" transparent="true">
  136.             <color_line color= "color3" alignment = "1,0,1,0" offset = "-5,9,-9,5" antialiased = "true" />
  137.             <color_line color= "color3" alignment = "1,0,1,0"    offset = "-5,9,-1,5" antialiased = "true" />
  138.             <color_line color= "color3" alignment = "1,0,1,0" offset = "-5,9,-5,1" antialiased = "true" />
  139.          </imagestyle>
  140.          <imagestyle name="playlist_selectedrow_imagestyle" transparent="true">
  141.             <color_fill color = "color1" opacity="0.5" alignment= "0,0,1,1"  blendmode= "COPY|RGB|ALPHA_SRCALPHA" />
  142.          </imagestyle>
  143.          <imagestyle name="playlist_headerdrophint_imagestyle" transparent="true">
  144.             <color_fill color = "color1" alignment= "0,0,1,1" blendmode= "SUBDST" />
  145.          </imagestyle>
  146.  
  147.         <property name="SQ2_PlaylistWindow"
  148.                     img_content_background    ="playlist_row_imagestyle"
  149.                     _img_background        ="playlist_background_imagestyle"
  150.                     img_column            ="playlist_column_imagestyle"
  151.                     _img_selectcolumn        ="playlist_selectcolumn_imagestyle"
  152.                     img_selectcolumn        ="playlist_column_imagestyle"
  153.                     _img_header_background    ="playlist_header_background_imagestyle"
  154.                     img_header            ="playlist_header_imagestyle"
  155.                     _img_sortheader        ="playlist_sortheader_imagestyle"
  156.                     _img_sortheader        ="transparent_imagestyle"
  157.                     _img_currentsongrow        =""
  158.                     img_row                ="playlist_row_imagestyle"
  159.                     item_height            ="16"
  160.                     header_height            ="18"
  161.                     font_item                ="my_font_10"
  162.                     font_currentselecteditem_color="color3"
  163.                     font_selecteditem_color    ="color3"
  164.                     font_currentitem_color    ="color3"
  165.                     font_playingitem_color    ="0xFFFFFF00"
  166.                     font_currentsongitem_color="color3"
  167.                     font_header_color        ="color3"
  168.                     font_header_justification="h_center|v_center"
  169.                     font_header            ="my_font_12"
  170.                     font_headersort_color    ="color1"
  171.                     font_headersort_justification="right"
  172.                     font_headersort        ="my_font_12_bold"
  173.                     rect_headertext_offsets    ="3,1,-3,-1"
  174.                     rect_headersorttext_offsets="3,1,-10,-1"
  175.                     rect_cell_offsets        ="3,1,-3,-1"
  176.                     rect_row_offsets        ="3,1,-3,-1"
  177.                     rect_itemtext_offsets    ="5,1,-5,-1"
  178.                     img_headerdrophintstyle    ="playlist_headerdrophint_imagestyle"
  179.                     img_itemdrophintstyle    ="playlist_itemdrophint_imagestyle"
  180.                     img_sortheader_sortforwardimage="downarrow_imagestyle"
  181.                     img_sortheader_sortreverseimage="uparrow_imagestyle"
  182.                     img_searchhighlightstyle    ="playlist_headerdrophint_imagestyle"
  183.                     rect_borderoffset        ="3,1,-3,-1"
  184.  
  185.                     img_selectedrow        ="playlist_selectedrow_imagestyle"
  186.                     img_currentselectedrow    ="playlist_selectedrow_imagestyle"
  187.          />
  188.  
  189. <!-- menu defs -->
  190.         <!-- todo - move the generic ones into sq2.rez (SQ2_PopupMenu) -->
  191.         <imagestyle name="menu_background">
  192.             <color_fill color="color1"/>
  193.             <color_rect color="color3" />
  194.         </imagestyle>
  195.         <imagestyle name="theme1_menu_background">
  196.             <color_fill color="0xFF303030"/>
  197.             <color_rect color="0xFFFFFFFF" />
  198.         </imagestyle>
  199.         <imagestyle name="theme2_menu_background">
  200.             <color_fill color="0xFFFF9900"/>
  201.             <color_rect color="0xFFFFFFFF" />
  202.         </imagestyle>
  203.         <imagestyle name="theme3_menu_background">
  204.             <color_fill color="0xFF28497F"/>
  205.             <color_rect color="0xFFFFFFFF" />
  206.         </imagestyle>
  207.         <imagestyle name="theme4_menu_background">
  208.             <color_fill color="0xFF000000"/>
  209.             <color_rect color="0xFFFFFFFF" />
  210.         </imagestyle>
  211.         <imagestyle name="theme5_menu_background">
  212.             <color_fill color="0xFF888888"/>
  213.             <color_rect color="0xFFFFFFFF" />
  214.         </imagestyle>
  215.         <imagestyle name="theme6_menu_background">
  216.             <color_fill color="0xFF303030"/>
  217.             <color_rect color="0xFFFFFFFF" />
  218.         </imagestyle>
  219.         <imagestyle name="theme7_menu_background">
  220.             <color_fill color="0xFF606060"/>
  221.             <color_rect color="0xFFFFFFFF" />
  222.         </imagestyle>
  223.         <imagestyle name="theme8_menu_background">
  224.             <color_fill color="0xFF143B14"/>
  225.             <color_rect color="0xFFFFFFFF" />
  226.         </imagestyle>
  227.         <imagestyle name="theme9_menu_background">
  228.             <color_fill color="0xFF303030"/>
  229.             <color_rect color="0xFFFFFFFF" />
  230.         </imagestyle>
  231.         <imagestyle name="theme10_menu_background">
  232.             <color_fill color="theme10_color1"/>
  233.             <color_rect color="theme10_color3" />
  234.         </imagestyle>
  235.  
  236.         <imagestyle name="menu_item_imagestyle" transparent="true">
  237.             <color_fill color="color2" state="normal" alignment="0,0,1,1" opacity="0.50" />
  238.             <color_fill color="color2" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  239.         </imagestyle>
  240.         <imagestyle name="theme1_menu_item_imagestyle" transparent="true" >
  241.             <color_fill color="0xFF99EE00" state="normal" alignment="0,0,1,1" opacity="0.50" />
  242.             <color_fill color="0xFF99EE00" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  243.         </imagestyle>
  244.         <imagestyle name="theme2_menu_item_imagestyle"  transparent="true">
  245.             <color_fill color="0xFFB83F3F" state="normal" alignment="0,0,1,1" opacity="0.50" />
  246.             <color_fill color="0xFFB83F3F" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  247.         </imagestyle>
  248.         <imagestyle name="theme3_menu_item_imagestyle"  transparent="true">
  249.             <color_fill color="0xFFCBFF66" state="normal" alignment="0,0,1,1" opacity="0.50" />
  250.             <color_fill color="0xFFCBFF66" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  251.         </imagestyle>
  252.         <imagestyle name="theme4_menu_item_imagestyle" transparent="true" >
  253.             <color_fill color="0xFFFF0000" state="normal" alignment="0,0,1,1" opacity="0.50" />
  254.             <color_fill color="0xFFFF0000" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  255.         </imagestyle>
  256.         <imagestyle name="theme5_menu_item_imagestyle" transparent="true" >
  257.             <color_fill color="0xFFBBBBBB" state="normal" alignment="0,0,1,1" opacity="0.50" />
  258.             <color_fill color="0xFFBBBBBB" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  259.         </imagestyle>
  260.         <imagestyle name="theme6_menu_item_imagestyle" transparent="true" >
  261.             <color_fill color="0xFF00CCFF" state="normal" alignment="0,0,1,1" opacity="0.50" />
  262.             <color_fill color="0xFF00CCFF" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  263.         </imagestyle>
  264.         <imagestyle name="theme7_menu_item_imagestyle"  transparent="true">
  265.             <color_fill color="0xFFFF0000" state="normal" alignment="0,0,1,1" opacity="0.50" />
  266.             <color_fill color="0xFFFF0000" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  267.         </imagestyle>
  268.         <imagestyle name="theme8_menu_item_imagestyle" transparent="true" >
  269.             <color_fill color="0xFF00B200" state="normal" alignment="0,0,1,1" opacity="0.50" />
  270.             <color_fill color="0xFF00B200" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  271.         </imagestyle>
  272.         <imagestyle name="theme9_menu_item_imagestyle" transparent="true" >
  273.             <color_fill color="0xFF588FBA" state="normal" alignment="0,0,1,1" opacity="0.50" />
  274.             <color_fill color="0xFF588FBA" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  275.         </imagestyle>
  276.         <imagestyle name="theme10_menu_item_imagestyle" transparent="true" >
  277.             <color_fill color="theme10_color2" state="normal" alignment="0,0,1,1" opacity="0.50" />
  278.             <color_fill color="theme10_color2" state="hover"  alignment="0,0,1,1" opacity="0.25"/>
  279.         </imagestyle>
  280.  
  281.         <!--<imagestyle name ="not_selected_icon" >
  282.         </imagestyle>-->
  283.         <imagestyle name ="selected_icon" >
  284.             <color_fill offset="3,3,-3,-3" alignment="0,0,1,1" state="normal"    color="color_todo_1" />
  285.             <color_fill offset="3,3,-3,-3" alignment="0,0,1,1" state="hover"     color="color_todo_2" />
  286.         </imagestyle>
  287.  
  288.          <property    name    ="SQ2_PopupMenu"
  289.                     img_drop_background="menu_background"
  290.                     img_drop_item_first="menu_item_imagestyle"
  291.                     img_drop_item_middle="menu_item_imagestyle"
  292.                     img_drop_item_last="menu_item_imagestyle"
  293.                     textshadow    ="false"
  294.                     drop_fade_duration="0"
  295.                     drop_font_color1="color3"
  296.                     drop_font_color2="color3"
  297.                     drop_font_justification="left"
  298.                     text_offset_drop="0,0,0,0"
  299.                     text_alignment_drop="0,0,1,1"
  300.                     rect_borderoffset="25,0,-25,-5"
  301.  
  302.                     img_checkoff    ="MML_Mood_DlgCheckBoxState0"
  303.                     img_checkon    ="MML_Mood_DlgCheckBoxState1"
  304.                     text_offset_toggle="0,0,-16,0"
  305.                     text_alignment_toggle="0,0,1,1"
  306.                     checkbox_offset="-11,-5,-2,4"
  307.                     checkbox_alignment="1,0.5,1,0.5"
  308.  
  309.                     _img_notselected="not_selected_icon"
  310.                     img_selected    ="selected_icon"
  311.                     text_offset_select="0,0,-16,0"
  312.                     text_alignment_select="0,0,1,1"
  313.                     selecticon_offset="-15,-6,-2,7"
  314.                     selecticon_alignment="1,0.5,1,0.5"
  315.          />    
  316.          <property    name="theme1_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  317.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  318.                     img_drop_background="theme1_menu_background"
  319.                     img_drop_item_first="theme1_menu_item_imagestyle"
  320.                     img_drop_item_middle="theme1_menu_item_imagestyle"
  321.                     img_drop_item_last="theme1_menu_item_imagestyle"
  322.                     drop_fade_duration="0"
  323.                     drop_font_color1="0xFFFFFFFF"
  324.                     drop_font_color2="0xFFFFFFFF"
  325.                     drop_font_justification="left"
  326.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  327.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  328.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  329.                     img_selected="selected_icon"
  330.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  331.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  332.          />    
  333.          <property    name="theme2_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  334.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  335.                     img_drop_background="theme2_menu_background"
  336.                     img_drop_item_first="theme2_menu_item_imagestyle"
  337.                     img_drop_item_middle="theme2_menu_item_imagestyle"
  338.                     img_drop_item_last="theme2_menu_item_imagestyle"
  339.                     drop_fade_duration="0"
  340.                     drop_font_color1="0xFFFFFFFF"
  341.                     drop_font_color2="0xFFFFFFFF"
  342.                     drop_font_justification="left"
  343.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  344.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  345.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  346.                     img_selected="selected_icon"
  347.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  348.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  349.          />    
  350.          <property    name="theme3_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  351.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  352.                     img_drop_background="theme3_menu_background"
  353.                     img_drop_item_first="theme3_menu_item_imagestyle"
  354.                     img_drop_item_middle="theme3_menu_item_imagestyle"
  355.                     img_drop_item_last="theme3_menu_item_imagestyle"
  356.                     drop_fade_duration="0"
  357.                     drop_font_color1="0xFFFFFFFF"
  358.                     drop_font_color2="0xFFFFFFFF"
  359.                     drop_font_justification="left"
  360.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  361.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  362.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  363.                     img_selected="selected_icon"
  364.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  365.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  366.          />    
  367.          <property    name="theme4_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  368.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  369.                     img_drop_background="theme4_menu_background"
  370.                     img_drop_item_first="theme4_menu_item_imagestyle"
  371.                     img_drop_item_middle="theme4_menu_item_imagestyle"
  372.                     img_drop_item_last="theme4_menu_item_imagestyle"
  373.                     drop_fade_duration="0"
  374.                     drop_font_color1="0xFFFFFFFF"
  375.                     drop_font_color2="0xFFFFFFFF"
  376.                     drop_font_justification="left"
  377.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  378.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  379.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  380.                     img_selected="selected_icon"
  381.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  382.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  383.          />    
  384.          <property    name="theme5_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  385.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  386.                     img_drop_background="theme5_menu_background"
  387.                     img_drop_item_first="theme5_menu_item_imagestyle"
  388.                     img_drop_item_middle="theme5_menu_item_imagestyle"
  389.                     img_drop_item_last="theme5_menu_item_imagestyle"
  390.                     drop_fade_duration="0"
  391.                     drop_font_color1="0xFFFFFFFF"
  392.                     drop_font_color2="0xFFFFFFFF"
  393.                     drop_font_justification="left"
  394.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  395.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  396.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  397.                     img_selected="selected_icon"
  398.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  399.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  400.          />
  401.          <property    name="theme6_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  402.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  403.                     img_drop_background="theme6_menu_background"
  404.                     img_drop_item_first="theme6_menu_item_imagestyle"
  405.                     img_drop_item_middle="theme6_menu_item_imagestyle"
  406.                     img_drop_item_last="theme6_menu_item_imagestyle"
  407.                     drop_fade_duration="0"
  408.                     drop_font_color1="0xFFFFFFFF"
  409.                     drop_font_color2="0xFFFFFFFF"
  410.                     drop_font_justification="left"
  411.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  412.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  413.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  414.                     img_selected="selected_icon"
  415.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  416.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  417.          />
  418.          <property    name="theme7_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  419.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  420.                     img_drop_background="theme7_menu_background"
  421.                     img_drop_item_first="theme7_menu_item_imagestyle"
  422.                     img_drop_item_middle="theme7_menu_item_imagestyle"
  423.                     img_drop_item_last="theme7_menu_item_imagestyle"
  424.                     drop_fade_duration="0"
  425.                     drop_font_color1="0xFFFFFFFF"
  426.                     drop_font_color2="0xFFFFFFFF"
  427.                     drop_font_justification="left"
  428.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  429.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  430.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  431.                     img_selected="selected_icon"
  432.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  433.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  434.          />    
  435.          <property    name="theme8_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  436.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  437.                     img_drop_background="theme8_menu_background"
  438.                     img_drop_item_first="theme8_menu_item_imagestyle"
  439.                     img_drop_item_middle="theme8_menu_item_imagestyle"
  440.                     img_drop_item_last="theme8_menu_item_imagestyle"
  441.                     drop_fade_duration="0"
  442.                     drop_font_color1="0xFFFFFFFF"
  443.                     drop_font_color2="0xFFFFFFFF"
  444.                     drop_font_justification="left"
  445.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  446.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  447.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  448.                     img_selected="selected_icon"
  449.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  450.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  451.          />    
  452.          <property    name="theme9_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  453.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  454.                     img_drop_background="theme9_menu_background"
  455.                     img_drop_item_first="theme9_menu_item_imagestyle"
  456.                     img_drop_item_middle="theme9_menu_item_imagestyle"
  457.                     img_drop_item_last="theme9_menu_item_imagestyle"
  458.                     drop_fade_duration="0"
  459.                     drop_font_color1="0xFFFFFFFF"
  460.                     drop_font_color2="0xFFFFFFFF"
  461.                     drop_font_justification="left"
  462.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  463.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  464.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  465.                     img_selected="selected_icon"
  466.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  467.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  468.          />
  469.          <property    name="theme10_popupmenu" rect_borderoffset="25,0,-25,-5" textshadow="false" 
  470.                     text_offset_drop="0,0,0,0" text_alignment_drop="0,0,1,1"
  471.                     img_drop_background="theme10_menu_background"
  472.                     img_drop_item_first="theme10_menu_item_imagestyle"
  473.                     img_drop_item_middle="theme10_menu_item_imagestyle"
  474.                     img_drop_item_last="theme10_menu_item_imagestyle"
  475.                     drop_fade_duration="0"
  476.                     drop_font_color1="theme10_color3"
  477.                     drop_font_color2="theme10_color3"
  478.                     drop_font_justification="left"
  479.                     img_checkoff="MML_Mood_DlgCheckBoxState0" img_checkon="MML_Mood_DlgCheckBoxState1"
  480.                     text_offset_toggle="0,0,-16,0" text_alignment_toggle="0,0,1,1"
  481.                     checkbox_offset="-11,-5,-2,4" checkbox_alignment="1,0.5,1,0.5"
  482.                     img_selected="selected_icon"
  483.                     text_offset_select="0,0,-16,0" text_alignment_select="0,0,1,1"
  484.                     selecticon_offset="-15,-6,-2,7" selecticon_alignment="1,0.5,1,0.5"
  485.          />
  486.  
  487.  
  488.  
  489. <!-- interface browser -->
  490.         <imagestyle name="img_no_thumb" transparent="true">
  491.             <color_rect color="color3" opacity="0.75" cornerradius="5.0" alignment="0,0,1,1" />
  492.         </imagestyle>
  493.  
  494.         <imagestyle name="img_tab" transparent="true">
  495.             <color_rect color="color2" antialiased="true" filled="true" opacity="0.50" cornerradius="4.0" alignment="0,0,1,1" offset="2,1,-2,-1"/>
  496.         </imagestyle>
  497.         <imagestyle name="img_tab_selected" transparent="true">
  498.             <color_rect color="color2" antialiased="true" filled="true" opacity="0.75" cornerradius="4.0" alignment="0,0,1,1" offset="2,1,-2,-1"/>
  499.         </imagestyle>
  500.  
  501.         <imagestyle name="img_skin_header" transparent="true">
  502.             <color_rect color="color2" antialiased="true" filled="true" opacity="0.75" cornerradius="4.0" alignment="0,0,1,1" offset="0,3,0,-1"/>
  503.         </imagestyle>
  504.         <imagestyle name="img_remote_header" transparent="true">
  505.             <color_rect color="color2" antialiased="true" filled="true" opacity="0.50" cornerradius="4.0" alignment="0,0,1,1" offset="0,3,0,-1"/>
  506.         </imagestyle>
  507.         <imagestyle name="img_mid_column" transparent="true">
  508.             <color_line color = "color3" alignment="0,0,0,1" offset="1,0,1,0" />
  509.             <color_line color = "color3" alignment="1,0,1,1" offset="-2,0,-2,0" />
  510.         </imagestyle>
  511.         <imagestyle name="img_bottom_column" transparent="true">
  512.             <color_rect color="color3" antialiased="true" opacity="1.0" cornerradius="4.0" alignment="0,0,1,1" offset="1,-5,-1,0"/>
  513.         </imagestyle>
  514.         <imagestyle name="img_top_column" transparent="true">
  515.             <color_rect color="color3" antialiased="true" opacity="1.0" cornerradius="4.0" alignment="0,0,1,1" offset="1,1,-1,5"/>
  516.         </imagestyle>
  517.  
  518.          <property     name                ="SQ2_InterfacesWindow"
  519.                     img_background        ="transparent"
  520.                     rect_borderoffset        ="3,1,-3,-1"
  521.                     img_content_background    ="transparent"
  522.  
  523.                     interface_spacer_width="10"
  524.  
  525.                     min_tab_height            ="10"
  526.                     font_tab                ="my_font_10"
  527.                     font_tab_justification    ="h_center|v_center|single_line_only|trim_chars_w_ellipses"
  528.                     rect_tabtext_offsets    ="2,2,-2,-2"
  529.  
  530.                     min_all_tab_width="20"
  531.                     _img_all_tab            ="img_all_tab"
  532.                     img_all_tab            ="img_tab"
  533.                     img_tab
  534.                     font_all_tab_color        ="color3"
  535.                     _img_all_tab_selected    ="img_all_tab_selected"
  536.                     img_all_tab_selected    ="img_tab_selected"
  537.                     font_all_tab_color_selected="color3"
  538.  
  539.                     min_skins_tab_width="20"
  540.                     _img_skins_tab            ="img_skins_tab"
  541.                     img_skins_tab            ="img_tab"
  542.                     font_skins_tab_color    ="color3"
  543.                     _img_skins_tab_selected    ="img_skins_tab_selected"
  544.                     img_skins_tab_selected    ="img_tab_selected"
  545.                     font_skins_tab_color_selected="color3"
  546.                     
  547.                     min_remotes_tab_width="20"
  548.                     _img_remotes_tab        ="img_remotes_tab"
  549.                     img_remotes_tab        ="img_tab"
  550.                     font_remotes_tab_color    ="color3"
  551.                     _img_remotes_tab_selected="img_remotes_tab_selected"
  552.                     img_remotes_tab_selected    ="img_tab_selected"
  553.                     font_remotes_tab_color_selected="color3"
  554.  
  555.                     header_height            ="19"
  556.                     font_header            ="my_font_10"
  557.                     font_header_justification="h_center|v_center|single_line_only|trim_chars_w_ellipses"
  558.                     rect_headertext_offsets    ="1,1,-1,-1"
  559.                     font_skin_header_color    ="color1"
  560.                     img_skin_header        ="img_skin_header"
  561.                     font_remote_header_color    ="color3"
  562.                     img_remote_header        ="img_remote_header"
  563.  
  564.                     title_height            ="14" 
  565.                     rect_titletext_offsets    ="1,2,-1,0"
  566.                     font_title            ="my_font_10"
  567.                     font_title_justification    ="h_center|v_center|single_line_only|trim_chars_w_ellipses"
  568.                     font_skin_title_color    ="color3"
  569.                     img_skin_title            ="img_top_column"
  570.                     font_remote_title_color    ="color3"
  571.                     img_remote_title        ="img_top_column"
  572.  
  573.                     thumb_height            ="60" 
  574.                     thumb_border_height        ="10"
  575.                     thumb_border_width        ="30"
  576.                     img_skin_thumb_border = "img_mid_column"
  577.                     img_remote_thumb_border = "img_mid_column"
  578.  
  579.                     launch_height            ="14"
  580.                     rect_launchtext_offsets    ="1,1,-1,-1"
  581.                     font_launch            ="my_font_10"
  582.                     font_launch_justification="h_center|v_center|single_line_only|trim_chars_w_ellipses"
  583.                     font_skin_launch_color    ="color3"
  584.                     img_skin_launch        ="img_mid_column"
  585.                     font_remote_launch_color    ="color3"
  586.                     img_remote_launch        ="img_mid_column"
  587.  
  588.                     author_height            ="12"
  589.                     rect_authortext_offsets    ="1,1,-1,-1"
  590.                     font_author            ="my_font_8"
  591.                     font_author_justification="h_center|v_center|single_line_only|trim_chars_w_ellipses"
  592.                     font_skin_author_color    ="color3"
  593.                     img_skin_author        ="img_mid_column"
  594.                     font_remote_author_color    ="color3"
  595.                     img_remote_author        ="img_mid_column"
  596.  
  597.                     url_height            ="12"
  598.                     rect_urltext_offsets    ="1,1,-1,-2"
  599.                     font_url_justification    ="h_center|v_center|single_line_only|trim_chars_w_ellipses"
  600.                     font_url                ="my_font_8"
  601.                     font_skin_url_color        ="color3"
  602.                     img_skin_url            ="img_bottom_column"
  603.                     font_remote_url_color    ="color3"
  604.                     img_remote_url            ="img_bottom_column"
  605.  
  606.                     rect_nothumb_text_offsets="1,1,-1,-1"
  607.                     font_nothumb_justification="h_center|v_center"
  608.                     font_nothumb            ="my_font_8"
  609.                     font_skin_nothumb_color    ="color3"
  610.                     img_skin_nothumb        ="img_no_thumb"
  611.                     font_remote_nothumb_color="color3"
  612.                     img_remote_nothumb        ="img_no_thumb"
  613.          >
  614.         </property>
  615.  
  616.  
  617.         <!-- **************** SQ2_SettingsWindow - start -   ***************** -->
  618.         <imagestyle name="settings_menu_background">
  619.             <color_fill color="color1"/>
  620.         </imagestyle>
  621.  
  622.         <imagestyle name="settings_menu_item_imagestyle" >
  623.             <color_fill state="normal" alignment="0,0,1,1" color="color1" opacity="0.50" />
  624.             <color_fill state="hover"  alignment="0,0,1,1" color="color1" opacity="0.25"/>
  625.             <color_rect offset="0,0,0,1" alignment="0,0,1,1" color="color3" />
  626.         </imagestyle>
  627.         <imagestyle name="settings_menu_item_imagestyle" transparent="true">
  628.             <include source="settings_menu_item_imagestyle" />
  629.         </imagestyle>
  630.         <imagestyle name="settings_menu_bottom_imagestyle" transparent="true">
  631.             <include source="settings_menu_item_imagestyle" />
  632.             <color_rect offset="0,-1,0,1" alignment="0,1,1,1" color="color3" />
  633.         </imagestyle>
  634.         <imagestyle name="img_top_bar" transparent="false">
  635.             <include source="settings_menu_background" />
  636.             <color_rect color="color3" alignment="0,0,1,1" offset="0,0,0,1" blendmode="COPY|RGB" />
  637.             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,1,1,1" offset="-10,-10,-3,-3" />
  638.         </imagestyle>
  639.     
  640.         <property     name        ="SQ2_SettingsWindow"
  641.                     img_background="transparent"
  642.                     rect_borderoffset="3,1,-3,-1"
  643.  
  644.                     img_top_background= "transparent"
  645.                     img_top_empty_left= "transparent"
  646.                     img_top_empty_right= "transparent"
  647.                     img_top_item_first= "img_top_bar"
  648.                     img_top_item_middle= "img_top_bar"
  649.                     img_top_item_last= "img_top_bar"
  650.                     img_drop_background= "settings_menu_background" 
  651.                     img_drop_item_first= "settings_menu_item_imagestyle"
  652.                     img_drop_item_middle= "settings_menu_item_imagestyle"
  653.                     img_drop_item_last= "settings_menu_bottom_imagestyle"
  654.                     textshadow    = "false"
  655.                     top_font_color1= "color3"
  656.                     top_font_color2= "color3_50"
  657.                     top_font_justification= "left"
  658.                     top_fade_duration= "300"
  659.                     drop_fade_duration= "300"
  660.                     drop_font_color1= "color3"
  661.                     drop_font_color2= "color3_50"
  662.                     drop_font_justification= "left"
  663.                     text_offset_top= "3,1,-30,-1"
  664.                     text_alignment_top= "0,0,1,1"
  665.                     text_offset_drop= "0,0,0,0"
  666.                     text_alignment_drop= "0,0,1,1"
  667.         />
  668.  
  669.  
  670.  
  671.     <window name="main" default_size="444,367" min_size="415,221" hitstyle="frame_hitstyle" transparent="false" shape="chassis_shape">
  672.         <shape name="chassis_shape">
  673.             <shape_raster
  674.                 source        ="grayscale.psd|chassis"
  675.                 alignment    ="0,0,1,1" 
  676.                 fillmode    ="resize"
  677.                 inner_rect    ="40,45,100,100"
  678.                 outer_rect    ="grayscale.psd|chassis"
  679.             />
  680.         </shape>
  681.  
  682.         <imagestyle name="background">
  683.             <raster
  684.                 source        ="grayscale.psd|chassis"
  685.                 alignment    ="0,0,1,1"
  686.                 fillmode    ="resize"
  687.                 inner_rect    ="40,45,100,100"
  688.                 outer_rect    ="grayscale.psd|chassis"
  689.                 blendmode    ="ps_normal"
  690.             />
  691.         </imagestyle>
  692.  
  693.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  694.             <hitcode type="LEFT">
  695.                 <shape>
  696.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  697.                 </shape>
  698.             </hitcode>
  699.             <hitcode type="BOTTOM">
  700.                 <shape>
  701.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  702.                 </shape>
  703.             </hitcode>
  704.             <hitcode type="TOP">
  705.                 <shape>
  706.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  707.                 </shape>
  708.             </hitcode>
  709.             <hitcode type="RIGHT">
  710.                 <shape>
  711.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  712.                 </shape>
  713.             </hitcode>
  714.             <hitcode type="BOTTOMRIGHT">
  715.                 <shape>
  716.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  717.                 </shape>
  718.             </hitcode>
  719.         </hitstyle>
  720.  
  721.         <hitstyle name="info_window_hitstyle" default_hitcode="DRAG" >
  722.             <hitcode type="RIGHT">
  723.                 <shape>
  724.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  725.                 </shape>
  726.             </hitcode>
  727.         </hitstyle>
  728.  
  729.         <!-- monitor dock points -->
  730.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  731.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  732.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  733.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  734.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  735.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  736.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  737.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  738.  
  739.         <!-- master dock points -->
  740.         <dock_point type="master" name="Main_UL" alignment="0,0,0,0" /> 
  741.         <dock_point type="master" name="Main_TC" alignment="0.5,0,0.5,0" /> 
  742.         <dock_point type="master" name="Main_UR" alignment="1,0,1,0" /> 
  743.         <dock_point type="master" name="Main_LL" alignment="0,1,0,1" /> 
  744.         <dock_point type="master" name="Main_BC" alignment="0.5,1,0.5,1" /> 
  745.         <dock_point type="master" name="Main_LR" alignment="1,1,1,1" /> 
  746.         <dock_point type="master" name="Main_RC" alignment="1,0.5,1,0.5" />
  747.         <dock_point type="master" name="Main_LC" alignment="0,0.5,0,0.5" />
  748.  
  749.         <script name="OnInit">
  750.             // todo
  751.             SetDesiredFPS(45);
  752.  
  753.             :sonique.InterfacePrefsCreateSection("main");
  754.             :sonique.prefs.PrepString("misc", "theme", 1);
  755.             :sonique.InterfacePrefsPrepString("main", "full_vis", "0");
  756.             :sonique.InterfacePrefsPrepString("main", "mini_vis", "1");
  757.             :sonique.InterfacePrefsPrepString("main", "death_mode", "1");
  758.             :sonique.InterfacePrefsCreateSection("song_popup");
  759.             :sonique.InterfacePrefsPrepString("song_popup", "enabled", "0");
  760.             :sonique.InterfacePrefsPrepString("song_popup", "offset", "87");
  761.             :sonique.InterfacePrefsPrepString("main", "currentwindow", "main_online_window");
  762.  
  763.             done=0;
  764.             background_window.right_quadrant_window.position = -1;
  765.             introReady = 0;
  766.  
  767.             theme = :sonique.prefs.GetString("misc", "theme");
  768.  
  769.             // duped in OnSkinChange
  770.             popupNameArray={"eq_popup", "playlist_popup","online_popup","vis_popup","settings_popup","SQ2_SettingsPopup","SQ2_InterfaceBrowserPopup","SQ2_ID3EditPopup","console_popup"};
  771.  
  772.             currentwindows={:sonique.InterfacePrefsGetString("main", "currentwindow")};
  773.  
  774.             // screen smartness
  775.             $size=:sonique.InterfacePrefsGetStringArray("main", "size");
  776.             if ($size.IsArray()) { 
  777.                 if ( $size[0] gt 0 and $size[1] gt 0 )    {
  778.                     SetSize($size,0,0,"linear_accel");
  779.                 }
  780.             }
  781.             $location=:sonique.InterfacePrefsGetStringArray("main", "location");
  782.             if ($location.IsArray())    { 
  783.                 $dim=:app.GetScreenDimensions();
  784.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  785.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  786.                         SetLocation($location,0,0,"linear_accel"); 
  787.                     }
  788.                 }
  789.             }
  790.  
  791.             main_settings_window.skin_settings_window.SelectTheme();
  792.  
  793.             :system.timer.SetTimer("more", 500, "MoreOnInit();", this, false);
  794.         </script>
  795.  
  796.         <script name="MoreOnInit">
  797.             introReady = 1;
  798.  
  799.             SetWindowTitle("Default - Stopped", true);
  800.             if(:sonique.players.default.IsPlaying()){
  801.                 SetWindowTitle("Default - " | :sonique.player.GetTitleString(), true);
  802.             }
  803.             :sonique.players.default.RegisterCallback("CurrentIDChanged", "SetWindowTitle(\"Default - \" | :sonique.player.GetTitleString(), true);", this);
  804.             :sonique.players.default.RegisterCallback("Stopping", "SetWindowTitle(\"Default - Stopped \", true);", this);
  805.             :sonique.players.default.RegisterCallback("SongStarted","SongStarted();",this);
  806.  
  807.             if( :sonique.InterfacePrefsGetString("main", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  808.  
  809.             $section="sonique/gui/slate/hotkeys";
  810.             :sonique.prefs.CreateSection($section);
  811.             alwaysontop=:sonique.prefs.GetString($section, "alwaysontop"); 
  812.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  813.             // override togglefullscreenvis 
  814.             :app.RegisterGlobalKeyScript( :sonique.prefs.GetString($section, "togglefullscreenvis"), "LaunchFullScreenVis();", this );
  815.  
  816.             background_window.display_lines_window.SetOffset({0,0,0,0},0,1000,"linear_accel"); 
  817.             if (:sonique.InterfacePrefsGetString("main", "full_vis") == 1) {
  818.                 main_vis_window.vis_window.SetAlignment({1,1,1,1});
  819.                 main_vis_window.vis_window.Hide();
  820.                 background_window.full_vis_window.Show();
  821.                 :sonique.CompactMem(); // todo ?
  822.             }
  823.  
  824.             if(currentwindows){
  825.                 :system.timer.SetTimer("intro", 1000, "$script=currentwindows[0]|\".ViewWindow();\"; $script2=$script();", this, false);
  826.             }
  827.             else{
  828.                 // save people that are lost somehow!!
  829.                 currentwindows={"main_online_window"};
  830.                 :system.timer.SetTimer("intro", 1000, "main_online_window.ViewWindow();", this, false);
  831.             }
  832.             StartIntro();
  833.             :system.timer.UnsetTimer("more", this);
  834.         </script>
  835.         <script name="OnSkinChange">
  836. <!-- fuck it, causes crashes and slowdowns which aint worth it right now -->
  837. //            popupNameArray={"eq_popup", "playlist_popup","online_popup","vis_popup","settings_popup","SQ2_SettingsPopup","SQ2_InterfaceBrowserPopup","SQ2_ID3EditPopup","console_popup"};
  838.  
  839. //            foreach ($popup in popupNameArray ) {
  840. //                foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  841. //                    if ($window.Name() == $popup)    {
  842. //                        $window.DestroyWindow();
  843. //                    }
  844. //                }
  845. //            }
  846.         </script>
  847.         <script name="OnDestroy">
  848.             :sonique.playlists.default.UnregisterCallback("ItemsAdded", this);
  849.             
  850.             :sonique.players.default.UnregisterCallback("CurrentIDChanged", this);
  851.             :sonique.players.default.UnregisterCallback("Stopping", this);
  852.             :sonique.players.default.UnregisterCallback("SongStarted", this);
  853.  
  854.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  855.  
  856.             // screen smartness
  857.             $size=GetSize();
  858.             :sonique.InterfacePrefsSetStringArray("main", "size", $size);
  859.             $location=GetLocation();
  860.             :sonique.InterfacePrefsSetStringArray("main", "location", $location );
  861.             :sonique.InterfacePrefsSetString("main", "alwaysontop", GetAlwaysOnTop());
  862.             :sonique.InterfacePrefsSetString("main", "currentwindow", currentwindows[currentwindows.ArraySize()-1]);
  863.  
  864.             // undo override F11 since s2 isn't smart enough to not paint vis windows that are hidden (minimized, behind another app, behind fullscreen vis, etc)
  865.             $section = "sonique/gui/slate/hotkeys";
  866.             :app.RegisterGlobalKeyScript( :sonique.prefs.GetString($section, "togglefullscreenvis"), ":sonique.visuals.LaunchFullScreenVis(1);" );
  867.         </script>
  868.         <script name="OnActivate">
  869.             if (introReady == 1) {
  870.                 background_window.right_quadrant_window.MoveSomething();
  871.                 background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_accel");
  872.                 window_controls_window.help_button_window.SetOpacity(1.0);
  873.                 window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  874.                 window_controls_window.minimize_button_window.SetOpacity(1.0);
  875.                 window_controls_window.close_button_window.SetOpacity(1.0);
  876.  
  877.                 vis_button_window.mini_vis_window_alt.Animate();
  878.             }
  879.         </script>
  880.         <script name="OnDeactivate">
  881.             if (introReady == 1) {
  882.                 background_window.right_quadrant_window.MoveSomething();
  883.                 $leftOffset = background_window.left_quadrant_window.GetOffset();
  884.                 $size = GetSize();
  885.                 background_window.left_quadrant_window.SetOffset({$leftOffset[0],$leftOffset[1]+$size[1],$leftOffset[2],$leftOffset[1]},0,1000,"linear_accel");
  886.                 window_controls_window.help_button_window.SetOpacity(0.5);
  887.                 window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  888.                 window_controls_window.minimize_button_window.SetOpacity(0.5);
  889.                 window_controls_window.close_button_window.SetOpacity(0.5);
  890.             }
  891.         </script>
  892.         <script name="SetTheme">
  893.             SetMenuProperty("theme" | theme | "_popupmenu");
  894.             background_window.SetImageStyle("background","theme" | theme);
  895.             background_window.outside_frame_window.SetImageStyle("background","theme" | theme);
  896.             status_display_window.SetImageStyle("background", "theme" | theme);
  897.             advanced_icons_window.SetImageStyle("background", "theme" | theme);
  898.             death_star_window.SetImageStyle("background", "theme" | theme);
  899.             righthand_bar_window.SetImageStyle("background", "theme" | theme);
  900.             outer_circle_window.SetImageStyle("background", "theme" | theme);
  901.             inner_circle_window.SetImageStyle("background", "theme" | theme);
  902.             progress_window.SetImageStyle("background", "theme" | theme);
  903.             online_button_window.SetImageStyle("state0", "theme" | theme | "_state0");
  904.             online_button_window.SetImageStyle("state1", "theme" | theme | "_state1");
  905.             vis_button_window.vis_button.SetImageStyle("state0", "theme" | theme | "_state0");
  906.             vis_button_window.vis_button.SetImageStyle("state1", "theme" | theme | "_state1");
  907.             eq_button_window.mini_eq_button.SetImageStyle("state0", "theme" | theme | "_state0");
  908.             eq_button_window.mini_eq_button.SetImageStyle("state1", "theme" | theme | "_state1");
  909.             interfaces_button_window.SetImageStyle("state0", "theme" | theme | "_state0");
  910.             interfaces_button_window.SetImageStyle("state1", "theme" | theme | "_state1");
  911.             settings_button_window.SetImageStyle("state0", "theme" | theme | "_state0");
  912.             settings_button_window.SetImageStyle("state1", "theme" | theme | "_state1");
  913.             playlist_button_window.SetImageStyle("state0", "theme" | theme | "_state0");
  914.             playlist_button_window.SetImageStyle("state1", "theme" | theme | "_state1");
  915.             info_window.SetImageStyle("background", "theme" | theme);
  916.             copyright_window.SetImageStyle("background", "theme" | theme);
  917.             main_settings_window.app_settings_tab_window.SetImageStyle("state0", "theme" | theme | "_state0");
  918.             main_settings_window.app_settings_tab_window.SetImageStyle("state1", "theme" | theme | "_state1");
  919.             main_settings_window.skin_settings_tab_window.SetImageStyle("state0", "theme" | theme | "_state0");
  920.             main_settings_window.skin_settings_tab_window.SetImageStyle("state1", "theme" | theme | "_state1");
  921.             main_playlist_window.playlist_window.SetImageStyle("background", "theme" | theme);
  922.             main_playlist_window.playlist_progressbar_window.SetImageStyle("barempty", "theme" | theme | "_barempty");
  923.             main_playlist_window.playlist_progressbar_window.SetImageStyle("barfilled", "theme" | theme | "_barfilled");
  924.             main_eq_window.eq_presets_window.SetImageStyle("background", "theme" | theme);
  925.             main_eq_window.eq_presets_window.preset_picker.SetImageStyle("img_picker_background", "theme" | theme | "_img_picker_background");
  926.             main_eq_window.eq_presets_window.preset_picker.SetImageStyle("img_menu_background", "theme" | theme | "_img_menu_background");
  927.             main_eq_window.eq_presets_window.preset_picker.SetImageStyle("img_item", "theme" | theme | "_img_item");
  928.             main_eq_window.eq_pab_window.SetImageStyle("background", "theme" | theme);
  929.             main_vis_window.vis_info_container.visual_info_window.SetImageStyle("background", "theme" | theme);
  930.             foreach ($popup in popupNameArray ) {
  931.                 foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  932.                     if ($window.Name() == $popup)    {
  933.                         $window.theme = theme;
  934.                         if($popup == "settings_popup"){
  935.                             $window.main.skin_settings_window.careful=0;
  936.                             $window.main.skin_settings_window.SelectTheme();
  937.                         }
  938.                         else{
  939.                             $window.SetTheme();
  940.                         }
  941.                     }
  942.                 }
  943.             }
  944.         </script>
  945.         <script name="OnSizeChange">
  946.             $ysize=GetSize()[1];
  947.             if ($ysize lt 365 and done lt 4) {
  948.                 if(done lt 1){
  949.                     mini_icon_holder.Show();
  950.                     settings_button_window.Hide();
  951.                     mini_settings_shadow.Hide();
  952.                     done=1;
  953.                 }
  954.  
  955.                 if ($ysize lt 333) {
  956.                     if(done lt 2){
  957.                         mini_icon_holder.interfaces_icon_button.Show();
  958.                         interfaces_button_window.Hide();
  959.                         mini_interfaces_shadow.Hide();
  960.                         done=2;
  961.                     }
  962.                     if ($ysize lt 295) {
  963.                         if(done lt 3){
  964.                             mini_icon_holder.eq_icon_button.Show();
  965.                             eq_button_window.Hide();
  966.                             mini_eq_shadow.Hide();
  967.                             done=3;
  968.                         }
  969.                         if ($ysize lt 257){
  970.                             mini_icon_holder.vis_icon_button.Show();
  971.                             vis_button_window.Hide();
  972.                             mini_vis_shadow.Hide();
  973.                             done=4;
  974.                         }
  975.                     }
  976.                 }
  977.             }
  978.             if ($ysize gte 257 and done gt 0) {
  979.                 if (done gt 3) {
  980.                     vis_button_window.Show();
  981.                     mini_vis_shadow.Show();
  982.                     mini_icon_holder.vis_icon_button.Hide();
  983.                     done=3;
  984.                 }
  985.                 if ($ysize gte 295) {
  986.                     if (done gt 2) {
  987.                         eq_button_window.Show();
  988.                         mini_eq_shadow.Show();
  989.                         mini_icon_holder.eq_icon_button.Hide();
  990.                         done=2;
  991.                     }
  992.                     if ($ysize gte 333) {
  993.                         if (done gt 1) {
  994.                             interfaces_button_window.Show();
  995.                             mini_interfaces_shadow.Show();
  996.                             mini_icon_holder.interfaces_icon_button.Hide();
  997.                             done=1;
  998.                         }
  999.                         if($ysize gte 365){
  1000.                             settings_button_window.Show();
  1001.                             mini_settings_shadow.Show();
  1002.                             mini_icon_holder.Hide();
  1003.                             done=0;
  1004.                         }
  1005.                     }
  1006.                 }
  1007.             }
  1008.         </script>
  1009.         <script name="OnAlwaysOnTopChange">
  1010.             if (introReady == 1) {
  1011.                 window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]);
  1012.             }
  1013.         </script>
  1014.         <script name="ToggleFullWindowVis">
  1015.             if (:sonique.InterfacePrefsGetString("main", "full_vis") == 0) {
  1016.                 main_vis_window.vis_window.SetAlignment({1,1,1,1});
  1017.                 main_vis_window.vis_window.Hide();
  1018.                 background_window.full_vis_window.SetAlignment({0,0,1,1});
  1019.                 background_window.full_vis_window.Show();
  1020.                 :sonique.CompactMem(); // todo ?
  1021.                 :sonique.InterfacePrefsSetString("main", "full_vis", 1);
  1022.             } else {
  1023.                 background_window.full_vis_window.SetAlignment({1,1,1,1});
  1024.                 background_window.full_vis_window.Hide();
  1025.                 main_vis_window.vis_window.Show();
  1026.                 main_vis_window.vis_window.SetAlignment({0,0,1,1});
  1027.                 :sonique.InterfacePrefsSetString("main", "full_vis", 0);
  1028.             }
  1029.             vis_button_window.enable_mini_vis_button.SmartVis();
  1030.         </script>
  1031.         <script name="LaunchFullScreenVis">
  1032.             :sonique.CompactMem(); // todo
  1033.  
  1034.             // todo - get rid of dimension logic when full screen vis is more user preference sensitive
  1035.             $x = 800;
  1036.             $y = 600;
  1037.             $dim = :app.GetScreenDimensions(); 
  1038.             if ($dim.ArraySize() == 1) {
  1039.                 $x = $dim[0]["right"]-$dim[0]["left"];
  1040.                 $y = $dim[0]["bottom"]-$dim[0]["top"];
  1041.             } 
  1042.             :sonique.visuals.LaunchFullScreenVis( main_vis_window.vis_window.GetVisual(), "default", {$x,$y} );
  1043.         </script>
  1044.         <script name="MoveWindows">
  1045.             background_window.right_quadrant_window.MoveSomething();
  1046.             $arrsize=currentwindows.ArraySize();
  1047.             $temparr="";
  1048.             if($params[0] == currentwindows[$arrsize-1]){
  1049.                 if($arrsize gt 1){
  1050.                     hidescript=$params[0]|".HideWindow();";
  1051.                     viewscript=currentwindows[$arrsize-2]|".ViewWindow();";
  1052.                     for($i in 0 to $arrsize-2){
  1053.                         $temparr=$temparr|{currentwindows[$i]};
  1054.                     }
  1055.                 }
  1056.             }
  1057.             if($params[0] != currentwindows[$arrsize-1]){
  1058.                 hidescript=currentwindows[$arrsize-1]|".HideWindow();";
  1059.                 viewscript=$params[0]|".ViewWindow();";
  1060.                 for($i in 0 to $arrsize-1){
  1061.                     if(currentwindows[$i] != $params[0]){
  1062.                         $temparr=$temparr|{currentwindows[$i]};
  1063.                     }
  1064.                 }
  1065.                 $temparr=$temparr|{$params[0]};
  1066.             }
  1067.             if($temparr){
  1068.                 hidescript2=hidescript();
  1069.                 viewscript2=viewscript();
  1070.                 hidescript2();
  1071.                 viewscript2();
  1072.                 currentwindows=$temparr;
  1073.                 vis_button_window.enable_mini_vis_button.SmartVis();
  1074.             }
  1075.         </script>
  1076.         <script name="AttachPopup">
  1077.             if ($params[0] == "playlist_popup") {
  1078.                 MoveWindows("main_playlist_window");
  1079.             } else {
  1080.                 if ($params[0] == "eq_popup") {
  1081.                     MoveWindows("main_eq_window");
  1082.                 } else {
  1083.                     if ($params[0] == "vis_popup") {
  1084.                         MoveWindows("main_vis_window");
  1085.                     } else {
  1086.                         if ($params[0] == "online_popup") {
  1087.                             MoveWindows("main_online_window");
  1088.                         } else {
  1089.                             if ($params[0] == "settings_popup") {
  1090.                                 MoveWindows("main_settings_window");
  1091.                             } else {
  1092.                                 if ($params[0] == "console_popup") {
  1093.                                     MoveWindows("main_console_window");
  1094.                                 }
  1095.                             }
  1096.                         }
  1097.                     }
  1098.                 }
  1099.             }
  1100.         </script>
  1101.  
  1102.         <script name="IsOpen">
  1103.             $thing=0;
  1104.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  1105.                 if ($window.Name() == $params[0])    {
  1106.                     $thing=1;
  1107.                 }
  1108.             }
  1109.             return( $thing );
  1110.         </script>
  1111.  
  1112.         <script name="SongStarted">
  1113.             $bFound=0;
  1114.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  1115.                 if ($window.Name() == "song_popup")    {
  1116.                     $bFound=1;
  1117.                     $window.Update();
  1118.                 }
  1119.             }
  1120.             if($bFound == 0 and :sonique.InterfacePrefsGetString("song_popup", "enabled")){
  1121.                 :sonique.LaunchLocalWindow("song_popup");
  1122.             }
  1123.         </script>
  1124.  
  1125.         <window name="background_window" transparent="true" shape="background_shape">
  1126.             <shape name="background_shape">
  1127.                 <shape_raster
  1128.                     source        ="grayscale.psd|backgound_color_region"
  1129.                     source_offset    ="grayscale.psd|backgound_color_region @ grayscale.psd|chassis"
  1130.                     alignment    ="0,0,1,1"
  1131.                     fillmode    ="resize"
  1132.                     inner_rect    ="40,45,100,100"
  1133.                     outer_rect    ="grayscale.psd|chassis"
  1134.                 />
  1135.             </shape>
  1136.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle>
  1137.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  1138.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  1139.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  1140.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  1141.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle>
  1142.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle>
  1143.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  1144.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  1145.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle>
  1146.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle>
  1147.  
  1148.             <window name="full_vis_window" type="Sonique2_Visual" hidden="true" >
  1149.                 <property blendmode="COPY|RGB" />
  1150.                 <imagestyle name="background"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle>
  1151.                 <script name="OnInit">:sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",false);
  1152.                     :sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",true);</script>
  1153.             </window>
  1154.  
  1155.             <window name="main_background_grid" transparent="true" hidden="true">
  1156.                 <imagestyle name="background" transparent="true">
  1157.                     <raster source="grayscale.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" />
  1158.                 </imagestyle>
  1159.                 <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  1160.             </window>
  1161.  
  1162.             <window name="outside_frame_window" shape="my_shape" hidden="true" transparent="true" >
  1163.                 <shape name="my_shape">
  1164.                     <shape_raster
  1165.                         source        ="grayscale.psd|outside_frame_shape" 
  1166.                         source_offset    ="grayscale.psd|outside_frame_shape @ grayscale.psd|chassis"
  1167.                         alignment    ="0,0,1,1"
  1168.                         inner_rect    ="40,45,100,100"
  1169.                         outer_rect    ="grayscale.psd|chassis"
  1170.                         fillmode    ="resize"
  1171.                     />
  1172.                 </shape>
  1173.                 <imagestyle name="background"><color_fill color="color2" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1174.                 <imagestyle name="theme1"><color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1175.                 <imagestyle name="theme2"><color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1176.                 <imagestyle name="theme3"><color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1177.                 <imagestyle name="theme4"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1178.                 <imagestyle name="theme5"><color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1179.                 <imagestyle name="theme6"><color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1180.                 <imagestyle name="theme7"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1181.                 <imagestyle name="theme8"><color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1182.                 <imagestyle name="theme9"><color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1183.                 <imagestyle name="theme10"><color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.35"/></imagestyle>
  1184.  
  1185.                 <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  1186.             </window>
  1187.  
  1188.             <window name="outside_frame_shadow" transparent="true" hidden="true" alignment="0,0,1,1" >
  1189.                 <imagestyle name="background"> 
  1190.                     <raster
  1191.                         source        ="grayscale.psd|outside_frame_shadow"
  1192.                         source_offset    ="grayscale.psd|outside_frame_shadow @ grayscale.psd|chassis"
  1193.                         alignment    ="0,0,1,1"
  1194.                         inner_rect    ="40,45,100,100"
  1195.                         outer_rect    ="grayscale.psd|chassis"
  1196.                         fillmode    ="resize"
  1197.                         blendmode    ="ps_normal"
  1198.                     />
  1199.                 </imagestyle>
  1200.                 <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0, 0,1500,"linear_accel"); </script>
  1201.             </window>
  1202.  
  1203.             <window name="top_right_shadow" transparent="true" hidden="true" alignment="1,0,1,0" offset="-255,6,-8,25" >
  1204.                 <imagestyle name="background">
  1205.                     <raster source="grayscale.psd|top_right_shadow" blendmode="ps_normal" />
  1206.                 </imagestyle>
  1207.                 <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  1208.             </window>
  1209.  
  1210.         
  1211.             <window name="display_lines_window" transparent="true" alignment="0,0,1,1" offset="-100,-100,100,100">
  1212.                 <imagestyle name="background">
  1213.                     <raster source="grayscale.psd|display_vertical_left_line" offset="grayscale.psd|display_vertical_left_line @ grayscale.psd|chassis" alignment="0,1,0,1"  blendmode="ps_normal" opacity="0.45" />
  1214.                     <raster source="grayscale.psd|display_corner_top_left"  offset="grayscale.psd|display_corner_top_left @ grayscale.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  1215.                     <raster source="grayscale.psd|display_corner_top_right" offset="grayscale.psd|display_corner_top_right @ grayscale.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  1216.                     <raster source="grayscale.psd|display_corner_bottom_right" offset="grayscale.psd|display_corner_bottom_right @ grayscale.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  1217.                     <raster source="grayscale.psd|display_line_over_mini_windows" offset="grayscale.psd|display_line_over_mini_windows @ grayscale.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  1218.                     <raster source="grayscale.psd|display_top_line_level_1" offset="grayscale.psd|display_top_line_level_1 @ grayscale.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  1219.                     <raster source="grayscale.psd|bottom_line_with_circle" alignment="1,1,1,1" opacity="0.5" blendmode="ps_normal" offset ="grayscale.psd|bottom_line_with_circle @ grayscale.psd|chassis" />
  1220.                     <raster source="grayscale.psd|volume_circle_stroke" alignment="1,1,1,1" opacity="0.5" blendmode="ps_normal" offset="grayscale.psd|volume_circle_stroke @ grayscale.psd|chassis" />
  1221.                     <raster source="grayscale.psd|inner_circle_stroke" alignment="1,1,1,1" opacity="0.2" blendmode="ps_normal" offset="grayscale.psd|inner_circle_stroke @ grayscale.psd|chassis"/>
  1222.                     <!-- left and right vertical lines -->
  1223.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-108" opacity="0.45" />
  1224.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-127" opacity="0.45" />
  1225.                     
  1226.                     <!-- top  lines -->
  1227.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  1228.                     <!-- righthand tiny vert line-->
  1229.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  1230.                     <!-- lefthand tiny vert line-->
  1231.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  1232.                     <!-- first long horizontal line -->
  1233.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  1234.                     <!-- second long horizontal line -->
  1235.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  1236.                     <!-- top_right_lines -->
  1237.                     <color_line color="color3" alignment="1,0,1,0" offset="-247,6,-8,6" opacity="0.45" />
  1238.                     <!-- lower hor. -->
  1239.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,10,-88,10" opacity="0.45" />
  1240.                     <color_line color="color3" alignment="1,0,1,0" offset="-16,10,-9,10" opacity="0.45" />
  1241.                     <!-- righthand mini vert -->
  1242.                     <color_line color="color3" alignment="1,0,1,0" offset="-8,7,-8,10" opacity="0.45" />
  1243.                     <!-- center mini verts -->
  1244.                     <color_line color="color3" alignment="1,0,1,0" offset="-144,7,-144,9" opacity="0.45" />
  1245.                     <color_line color="color3" alignment="1,0,1,0" offset="-172,7,-172,9" opacity="0.45" />
  1246.                     <color_fill color="color3" alignment="1,0,1,0" offset="-122,7,-110,10" opacity="0.45" />
  1247.                     <color_fill color="color3" alignment="1,0,1,0" offset="-100,7,-88,10" opacity="0.45" />
  1248.                     <color_fill color="color3" alignment="1,0,1,0" offset="-207,7,-195,10" opacity="0.45" />
  1249.                     <color_fill color="color3" alignment="1,0,1,0" offset="-229,7,-217,10" opacity="0.45" />
  1250.                     <color_line color="color3" alignment="1,0,1,0" offset="-250,9,-248,7" opacity="0.45" />
  1251.                     
  1252.                     <!-- bottom lines -->
  1253.                     <!-- horizontals -->
  1254.                     <color_line color="color3" alignment="1,1,1,1" offset="-63,-17,-33,-17" opacity="0.45" />
  1255.                     <color_line color="color3" alignment="0,1,1,1" offset="4,-25,-236,-25" opacity="0.45" />
  1256.                     <color_line color="color3" alignment="1,1,1,1" offset="-313,-21,-192,-21" opacity="0.45" />
  1257.                     <!-- verts -->
  1258.                     <color_line color="color3" alignment="1,1,1,1" offset="-313,-24,-313,-22" opacity="0.45" />
  1259.                     <color_line color="color3" alignment="1,1,1,1" offset="-236,-24,-236,-22" opacity="0.45" />
  1260.                     <!-- rects -->
  1261.                     <color_fill color="color3" alignment="1,1,1,1" offset="-291,-24,-279,-21" opacity="0.45" />
  1262.                     <color_fill color="color3" alignment="1,1,1,1" offset="-269,-24,-257,-21" opacity="0.45" />
  1263.                     <!-- vertical_bottom_lines -->
  1264.                     <!-- right-->
  1265.                     <color_line color="color3" alignment="1,1,1,1" offset="-55,-39,-55,-9" opacity="0.45" />
  1266.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-23,-192,-14" opacity="0.45" />
  1267.                     <!-- left -->
  1268.                     <color_line color="color3" alignment="0,1,0,1" offset="8,-101,8,-26" opacity="0.45" />
  1269.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-46,13,-16" opacity="0.45" />
  1270.                 </imagestyle>
  1271.             </window>
  1272.  
  1273.  
  1274.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,1112,20,20" transparent="true" >
  1275.                 <imagestyle name="background"> <raster source="grayscale.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1276.                 <script name="OnIntro"> SetOffset({12,32,20,-110},0,1500,"linear_accel"); </script>
  1277.             </window> 
  1278.             <window name="right_quadrant_window" transparent="true" hidden="true" alignment="1,0,1,1" offset="-95,-200,-87,0" >
  1279.                 <imagestyle name="background"> <raster source="grayscale.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /> </imagestyle>
  1280.                 <script name="OnIntro">     
  1281.                     SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel");
  1282.                     MoveSomething();
  1283.                 </script>
  1284.                 <script name="MoveSomething">
  1285.                     if ( position == -1 ) {
  1286.                         SetOffset({-95,0,-87,400},0,1000,"linear_accel"); 
  1287.                         position = 1;
  1288.                     } else {
  1289.                         SetOffset({-95,-400,-87,0},0,1000,"linear_accel"); 
  1290.                         position = -1;
  1291.                     }
  1292.                 </script>
  1293.             </window> 
  1294.         </window> //background_window
  1295.  
  1296.         <window name="sonique_logo_window" type="button" hidden="true" alignment="0,0,0,0" offset="27,12,82,22" transparent="true" hitstyle="ACTIVE">
  1297.             <property hover="true" />
  1298.             <imagestyle name="background">
  1299.                 <raster
  1300.                     source        ="grayscale.psd|sonique_logo"
  1301.                     blendmode    ="ps_normal" opacity="1.0" 
  1302.                 />
  1303.             </imagestyle>
  1304.             <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.viewcopywindow")); </script>
  1305.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  1306.             <script name="OnClick"> 
  1307.                 if (copyright_window.visible == 0) {
  1308.                     copyright_window.visible = 1;
  1309.                     copyright_window.Show();
  1310.                     SetHoverHint(:language.Translate("defaultskin/hint.hidecopywindow"));
  1311.                 } else {
  1312.                     copyright_window.visible = 0;
  1313.                     copyright_window.Hide();
  1314.                     SetHoverHint(:language.Translate("defaultskin/hint.viewcopywindow"));
  1315.                 }
  1316.             </script>
  1317.         </window>
  1318.  
  1319.         <window name="main_vis_window" offset="0,0,0,0" hidden="true" alignment="1,1,1,1" transparent="true" hitstyle="ACTIVE">
  1320.             <script name="ViewWindow">
  1321.                 :system.timer.UnsetTimer("hideVis",this);
  1322.                 vis_button_window.vis_button.SetButtonState(1);
  1323.                 vis_button_window.vis_button.SetHoverHint(:language.Translate("defaultskin/hint.hidevis"));
  1324.                 mini_icon_holder.vis_icon_button.SetButtonState(1);
  1325.                 mini_icon_holder.vis_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.hidevis"));
  1326.  
  1327.                 vis_button_window.mini_vis_window_alt.Show();
  1328.                 vis_button_window.mini_vis_window_alt.Animate();
  1329.                 vis_button_window.mini_vis_window.Hide();
  1330.  
  1331.                 vis_controls_window.ViewWindow();
  1332.                 Show();
  1333.                 SetOffset({22,30,-103,-130},0,0,"linear_accel");
  1334.                 SetAlignment({1,0,2,1},0,0,"linear_accel");
  1335.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  1336.             </script>
  1337.             <script name="HideWindow">
  1338.                 vis_button_window.vis_button.SetButtonState(0);
  1339.                 vis_button_window.vis_button.SetHoverHint(:language.Translate("defaultskin/hint.viewvis"));
  1340.                 mini_icon_holder.vis_icon_button.SetButtonState(0);
  1341.                 mini_icon_holder.vis_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.viewvis"));
  1342.  
  1343.                 vis_controls_window.HideWindow();
  1344.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  1345.                 :system.timer.SetTimer("hideVis",500,"SetAlignment({1,1,1,1}); SetOffset({0,0,0,0});",this);
  1346.                 // do this to let sonique not worry about getting vis data at this size.
  1347.                 //:system.timer.SetTimer("hideVis",1000,"Hide();",this);
  1348.  
  1349.                 vis_button_window.enable_mini_vis_button.SmartVis();
  1350.                 :sonique.CompactMem(); // todo ?
  1351.             </script>
  1352.             <script name="DetachWindow">
  1353.                 if(!IsOpen("vis_popup")){
  1354.                 // hide full window vis and mini vis - for now at least, try and have only one vis going at a time.
  1355.                 if (:sonique.InterfacePrefsGetString("main", "full_vis")) {
  1356.                     ToggleFullWindowVis();
  1357.                 }
  1358.                 if (currentwindows[currentwindows.ArraySize()-1] == "main_vis_window") {
  1359.                     main.MoveWindows("main_vis_window");
  1360.                 }
  1361.                 if (vis_button_window.enable_mini_vis_button.GetButtonState() == 1) {
  1362.                     vis_button_window.enable_mini_vis_button.OnClick();
  1363.                 }
  1364.                 :sonique.LaunchLocalWindow("vis_popup");
  1365.                 }
  1366.             </script>
  1367.  
  1368.             <script name="OnMouseOver">vis_info_container.SetOffset({0,0,250,100},0,500,"linear_decel");</script>
  1369.             <script name="OnMouseExit">vis_info_container.SetOffset({-250,0,0,100},0,500,"linear_decel");</script>
  1370.  
  1371.             <window name="vis_window" type="Sonique2_Visual" hitstyle="ACTIVE" >
  1372.                 <imagestyle name="background"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  1373.                 <property blendmode="RGB"/>
  1374.                 <script name="OnInit">:sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",false);
  1375.                     :sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",true);</script>
  1376.                 <script name="OnVisualChanged">vis_info_container.visual_info_window.UpdateBar();</script>
  1377.                 <script name="OnMouseOver">main_vis_window.vis_info_container.SetOffset({0,0,250,100},0,500,"linear_decel");</script>
  1378.                 <script name="OnMouseExit">main_vis_window.vis_info_container.SetOffset({-250,0,0,100},0,500,"linear_decel");</script>
  1379.             </window>
  1380.  
  1381.             <window name="vis_info_container" transparent="true" alignment="0,0,0,0" offset="-250,0,0,100">
  1382.                 <shape name="my_shape">
  1383.                     <shape_raster source="grayscale.psd|select_visual_button_background" />
  1384.                 </shape>
  1385.                 <window name="visual_info_shadow_window" transparent="true" alignment="0,0,0,0" offset="12,9,237,58" >
  1386.                     <imagestyle name="background">
  1387.                         <raster source="grayscale.psd|vis_info_shadow" blendmode="ps_normal" />
  1388.                     </imagestyle>
  1389.                 </window>
  1390.  
  1391.                 <window name="visual_prev_background" transparent="true" alignment="0,0,0,0" shape="my_shape" offset="140,39,149,48"  >
  1392.                     <imagestyle name="background">
  1393.                         <color_fill color="color1" blendmode="ps_normal" opacity="0.25"/>
  1394.                     </imagestyle>
  1395.                 </window>
  1396.  
  1397.                 <window name="visual_next_background" transparent="true" alignment="0,0,0,0" shape="my_shape" offset="159,39,168,48"  >
  1398.                     <imagestyle name="background">
  1399.                         <color_fill color="color1" blendmode="ps_normal" opacity="0.25"/>
  1400.                     </imagestyle>
  1401.                 </window>
  1402.  
  1403.                 <window name="visual_info_window" type="textdisplay" transparent="true" alignment="0,0,0,0" shape="my_shape" offset="12,9,231,50"  >
  1404.                     <property
  1405.                         font_color        ="color3"
  1406.                         font_style        ="my_font_10"
  1407.                         font_justification    ="left|v_center|trim_chars|single_line_only"
  1408.                         whitespace        ="20"
  1409.                         scroll_mode        ="horizontal"
  1410.                         scroll_speed        ="25"
  1411.                         edge_offset_rect    ="5,5,-5,-25"
  1412.                     />
  1413.                     <shape name="my_shape">
  1414.                         <shape_raster source="grayscale.psd|vis_info_background" />
  1415.                     </shape>
  1416.                     <imagestyle name="background"><color_fill color="color1" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1417.                     <imagestyle name="theme1"><color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45"/></imagestyle>
  1418.                     <imagestyle name="theme2"><color_fill color="0xFFFF9900" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1419.                     <imagestyle name="theme3"><color_fill color="0xFF28497F" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1420.                     <imagestyle name="theme4"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1421.                     <imagestyle name="theme5"><color_fill color="0xFF888888" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1422.                     <imagestyle name="theme6"><color_fill color="0xFF303030" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1423.                     <imagestyle name="theme7"><color_fill color="0xFF606060" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1424.                     <imagestyle name="theme8"><color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1425.                     <imagestyle name="theme9"><color_fill color="0xFF303030" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1426.                     <imagestyle name="theme10"><color_fill color="theme10_color1" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  1427.  
  1428.                     <script name="OnInit"> UpdateBar(); </script>
  1429.                     <script name="UpdateBar" >
  1430.                         $cur=vis_window.GetVisual();
  1431.                         if( $cur ) { SetText( :sonique.visuals.GetVisualInfo( $cur )["name"] ); }
  1432.                     </script>
  1433.                 </window>
  1434.  
  1435.                 <window name="select_prev_visual_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="138,36,150,51" alignment="0,0,0,0">
  1436.                     <property hover="true" />
  1437.                     <imagestyle name="state0">
  1438.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|select_prev_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal" />
  1439.                         <raster state="normal" opacity="1.0" source="grayscale.psd|select_prev_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal"/>
  1440.                     </imagestyle> 
  1441.                     <script name="OnInit">SetHoverHint(:language.Translate("viswindow/hint.prevvis")); </script>
  1442.                     <script name="OnClick"> :sonique.visuals.GroupPrevVisual("default"); </script>
  1443.                 </window>
  1444.  
  1445.                 <window name="select_next_visual_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="158,36,170,51" alignment="0,0,0,0">
  1446.                     <property hover="true" />
  1447.                     <imagestyle name="state0">
  1448.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|select_next_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal" />
  1449.                         <raster state="normal" opacity="1.0" source="grayscale.psd|select_next_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal"/>
  1450.                     </imagestyle> 
  1451.  
  1452.                     <script name="OnInit">SetHoverHint(:language.Translate("viswindow/hint.nextvis")); </script>
  1453.                     <script name="OnClick"> :sonique.visuals.GroupNextVisual("default");</script>
  1454.                 </window>
  1455.             </window> //vis_info_container
  1456.         </window> //main_vis_window
  1457.  
  1458.         <window name="vis_controls_window" transparent="true">
  1459.             <script name="ViewWindow">
  1460.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  1461.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  1462.                 full_screen_icon_window.SetOffset({-82,64,-74,71},0,1000,"linear_accel");
  1463.             </script>
  1464.             <script name="HideWindow">
  1465.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  1466.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  1467.                 full_screen_icon_window.SetOffset({-82,-64,-74,-71},0,1000,"linear_accel");
  1468.             </script>
  1469.  
  1470.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  1471.                 <property hover="true" />
  1472.                 <imagestyle name="state0">
  1473.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1474.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  1475.                 </imagestyle> 
  1476.                 <imagestyle name="state1">
  1477.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  1478.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1479.                 </imagestyle>
  1480.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  1481.                 <script name="OnClick"> main_vis_window.DetachWindow(); </script>
  1482.             </window>
  1483.  
  1484.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  1485.                 <property hover="true" />
  1486.                 <imagestyle name="state0">
  1487.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  1488.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  1489.                 </imagestyle> 
  1490.                 <imagestyle name="state1">
  1491.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  1492.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  1493.                 </imagestyle>
  1494.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  1495.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  1496.             </window>
  1497.  
  1498.             <window name="full_screen_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-67,-74,-74" alignment="1,0,1,0">
  1499.                 <property hover="true" />
  1500.                 <imagestyle name="state0">
  1501.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal" />
  1502.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal"/>
  1503.                 </imagestyle> 
  1504.                 <imagestyle name="state1">
  1505.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal"  />
  1506.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal" />
  1507.                 </imagestyle>
  1508.                 <script name="OnInit"> SetHoverHint(:language.Translate("viswindow/hint.fullscreen"));</script>
  1509.                 <script name="OnClick">
  1510.                     main.LaunchFullScreenVis();
  1511.                 </script>
  1512.             </window>
  1513.         </window>
  1514.  
  1515.         <window name="main_console_window" offset="22,30,-92,-130" alignment="1,0,2,1" transparent="true" >
  1516.             <imagestyle name="background" transparent="true" />
  1517.             <script name="ViewWindow">
  1518.                 advanced_icons_window.console_button_window.SetHoverHint(:language.Translate("defaultskin/hint.hideconsole"));
  1519.                 console_controls_window.ViewWindow();
  1520.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  1521.             </script>
  1522.             <script name="HideWindow">
  1523.                 advanced_icons_window.console_button_window.SetHoverHint(:language.Translate("defaultskin/hint.viewconsole"));
  1524.                 console_controls_window.HideWindow();
  1525.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  1526.             </script>
  1527.             <script name="DetachWindow">
  1528.                 if(!IsOpen("console_popup")){
  1529.                     if (currentwindows[currentwindows.ArraySize()-1] == "main_console_window") {
  1530.                         MoveWindows("main_console_window");
  1531.                     }
  1532.                     :sonique.LaunchLocalWindow("console_popup");
  1533.                 }
  1534.             </script>
  1535.  
  1536.             <window name="console_window" type="console"  transparent="true" alignment="0,0,1,1" offset="0,0,0,0">
  1537.                 <imagestyle name="background"> <color_fill color="0x00000000"/> </imagestyle>
  1538.             </window>
  1539.         </window>
  1540.  
  1541.         <window name="console_controls_window" transparent="true">
  1542.             <script name="ViewWindow">
  1543.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  1544.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  1545.             </script>
  1546.             <script name="HideWindow">
  1547.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  1548.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  1549.             </script>
  1550.  
  1551.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  1552.                 <property hover="true" />
  1553.                 <imagestyle name="state0">
  1554.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1555.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  1556.                 </imagestyle> 
  1557.                 <imagestyle name="state1">
  1558.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  1559.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1560.                 </imagestyle>
  1561.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  1562.                 <script name="OnClick"> main_console_window.DetachWindow(); </script>
  1563.             </window>
  1564.  
  1565.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  1566.                 <property hover="true" />
  1567.                 <imagestyle name="state0">
  1568.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  1569.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  1570.                 </imagestyle> 
  1571.                 <imagestyle name="state1">
  1572.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  1573.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  1574.                 </imagestyle>
  1575.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  1576.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  1577.             </window>
  1578.         </window>
  1579.  
  1580.         <window name="main_interfaces_window" alignment="1,0,2,1" transparent="true" offset="22,30,-92,-130" >
  1581.             <script name="ViewWindow">
  1582.                 interfaces_button_window.SetButtonState(1);
  1583.                 interfaces_button_window.SetHoverHint(:language.Translate("defaultskin/hint.hideinterfaces"));
  1584.                 mini_icon_holder.interfaces_icon_button.SetButtonState(1);
  1585.                 mini_icon_holder.interfaces_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.hideinterfaces"));
  1586.                 interfaces_controls_window.ViewWindow();
  1587.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  1588.             </script>
  1589.             <script name="HideWindow">
  1590.                 interfaces_button_window.SetButtonState(0);
  1591.                 interfaces_button_window.SetHoverHint(:language.Translate("defaultskin/hint.viewinterfaces"));
  1592.                 mini_icon_holder.interfaces_icon_button.SetButtonState(0);
  1593.                 mini_icon_holder.interfaces_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.viewinterfaces"));
  1594.                 interfaces_controls_window.HideWindow();
  1595.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  1596.             </script>
  1597.             <script name="DetachWindow">
  1598.                 if(!IsOpen("SQ2_InterfaceBrowserPopup")){
  1599.                 if (currentwindows[currentwindows.ArraySize()-1] == "main_interfaces_window") {
  1600.                     MoveWindows("main_interfaces_window");
  1601.                 }
  1602.                 :sonique.LaunchInterfaceBrowserPopup();
  1603.                 }
  1604.             </script>
  1605.             <window name="interfaces_window" type="Sonique2_Interfaces" transparent="true" hitstyle="NONE" />
  1606.         </window>
  1607.  
  1608.         <window name="interfaces_controls_window" transparent="true" >
  1609.             <script name="ViewWindow">
  1610.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  1611.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  1612.             </script>
  1613.             <script name="HideWindow">                
  1614.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  1615.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  1616.             </script>
  1617.  
  1618.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  1619.                 <property hover="true" />
  1620.                 <imagestyle name="state0">
  1621.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1622.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  1623.                 </imagestyle> 
  1624.                 <imagestyle name="state1">
  1625.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  1626.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1627.                 </imagestyle>
  1628.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  1629.                 <script name="OnClick"> main_interfaces_window.DetachWindow(); </script>
  1630.             </window>
  1631.  
  1632.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  1633.                 <property hover="true" />
  1634.                 <imagestyle name="state0">
  1635.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  1636.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  1637.                 </imagestyle> 
  1638.                 <imagestyle name="state1">
  1639.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  1640.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  1641.                 </imagestyle>
  1642.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  1643.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  1644.             </window>
  1645.         </window>
  1646.  
  1647.         <window name="main_settings_window" offset="22,30,-92,-130" alignment="1,0,2,1" transparent="true" >
  1648.             <imagestyle name="background" transparent="true" />
  1649.             <script name="ViewWindow">
  1650.                 settings_window.StartIntro();
  1651.                 settings_button_window.SetButtonState(1);
  1652.                 settings_button_window.SetHoverHint(:language.Translate("defaultskin/hint.hidesettings"));
  1653.                 mini_icon_holder.settings_icon_button.SetButtonState(1);
  1654.                 mini_icon_holder.settings_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.hidesettings"));
  1655.                 settings_controls_window.ViewWindow();
  1656.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  1657.             </script>
  1658.             <script name="HideWindow">
  1659.                 settings_window.StartExtro();
  1660.                 settings_button_window.SetButtonState(0);
  1661.                 settings_button_window.SetHoverHint(:language.Translate("defaultskin/hint.viewsettings"));
  1662.                 mini_icon_holder.settings_icon_button.SetButtonState(0);
  1663.                 mini_icon_holder.settings_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.viewsettings"));
  1664.                 settings_controls_window.HideWindow();
  1665.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  1666.             </script>
  1667.             <script name="DetachWindow">
  1668.                 if(!IsOpen("settings_popup")){
  1669.                     if (currentwindows[currentwindows.ArraySize()-1] == "main_settings_window") {
  1670.                         MoveWindows("main_settings_window");
  1671.                     }
  1672.                     :sonique.LaunchLocalWindow("settings_popup");
  1673.                 }
  1674.             </script>
  1675.  
  1676.             <window name="app_settings_tab_window" shape="MyShape" type="button" transparent="true"  alignment="0,0,0,0" offset="26,2,171,21" hitstyle="ACTIVE">
  1677.                 <property    hover="true" default_delay = "150" font_color= "color3" font_style = "my_font_10" />
  1678.                 <shape name="MyShape"><shape_roundrect corner_size="4,4" />    </shape>
  1679.                 <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1680.                 <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1681.                 <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1682.                 <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1683.                 <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1684.                 <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1685.                 <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1686.                 <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1687.                 <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1688.                 <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1689.                 <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1690.                 <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1691.                 <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1692.                 <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1693.                 <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1694.                 <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1695.                 <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1696.                 <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1697.                 <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1698.                 <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1699.                 <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1700.                 <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1701.  
  1702.                 <script name="OnInit">
  1703.                     SetButtonState(1);
  1704.                     SetText("Sonique");
  1705.                     SetHoverHint(:language.Translate("defaultskin/hint.appsettings"));
  1706.                 </script>
  1707.                 <script name="OnClick">
  1708.                     SetButtonState(1);
  1709.                     skin_settings_tab_window.SetButtonState(0);
  1710.                     tabs_foreground_window.SetImageStyle("background", "left_tab_selected");
  1711.                     skin_settings_window.Hide();
  1712.                     settings_window.Show();
  1713.                 </script>
  1714.             </window>
  1715.             <window name="skin_settings_tab_window" shape="MyShape" type="button" transparent="true" alignment="0,0,0,0" 
  1716.                     offset="180,2,325,21" hitstyle="ACTIVE">
  1717.                 <property    hover="true" default_delay = "150" font_color= "color3" font_style = "my_font_10" />
  1718.                 <shape name="MyShape"><shape_roundrect corner_size="4,4" /></shape>
  1719.                 <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1720.                 <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1721.                 <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1722.                 <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1723.                 <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1724.                 <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1725.                 <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1726.                 <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1727.                 <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1728.                 <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1729.                 <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1730.                 <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1731.                 <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1732.                 <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1733.                 <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1734.                 <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1735.                 <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1736.                 <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1737.                 <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1738.                 <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1739.                 <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  1740.                 <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  1741.  
  1742.                 <script name="OnInit">
  1743.                     SetText(:language.Translate("defaultskin/label.skinsettings"));
  1744.                     SetHoverHint(:language.Translate("defaultskin/hint.skinsettings"));
  1745.                 </script>
  1746.                 <script name="OnClick">
  1747.                     SetButtonState(1);
  1748.                     app_settings_tab_window.SetButtonState(0);
  1749.                     tabs_foreground_window.SetImageStyle("background", "right_tab_selected");
  1750.                     settings_window.Hide();
  1751.                     skin_settings_window.Show();
  1752.                 </script>
  1753.             </window>
  1754.             <window name="tabs_foreground_window" alignment="0,0,1,0" offset="0,0,0,34" transparent="true">
  1755.                 <imagestyle name="background" transparent="true" >
  1756.                     <raster source="grayscale.psd|tabs_front_left" blendmode="ps_normal" opacity="1.0" />
  1757.                 </imagestyle>
  1758.                 <imagestyle name="right_tab_selected" transparent="true" >
  1759.                     <raster source="grayscale.psd|tabs_front_right" blendmode="ps_normal" opacity="1.0" />
  1760.                 </imagestyle>
  1761.                 <imagestyle name="left_tab_selected" transparent="true" >
  1762.                     <raster source="grayscale.psd|tabs_front_left" blendmode="ps_normal" opacity="1.0" />
  1763.                 </imagestyle>
  1764.                 
  1765.             </window>
  1766.             <window name="settings_window" type="Sonique2_Settings" transparent="true" alignment="0,0,1,1" offset="0,33,0,0">
  1767.                 <imagestyle name="background" transparent="true" ><color_rect color="color3"/></imagestyle>
  1768.             </window>
  1769.             <window name="skin_settings_window" type="textdisplay" hidden="true" transparent="true" alignment="0,0,1,1" offset="0,33,0,0">
  1770.                 <imagestyle name="background" transparent="true" ><color_rect color="color3"/></imagestyle>
  1771.                 <script name="SelectTheme">
  1772.                     if (theme == "1") {
  1773.                         theme_highlight.SetOffset({17,27,42,98},0,500,"linear_accel");
  1774.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Mamboreta");
  1775.                     }
  1776.                     if (theme == "2") {
  1777.                         theme_highlight.SetOffset({57,27,82,98},0,500,"linear_accel");
  1778.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Earth");
  1779.                     }
  1780.                     if (theme == "3") {
  1781.                         theme_highlight.SetOffset({97,27,122,98},0,500,"linear_accel");
  1782.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Sea");
  1783.                     }
  1784.                     if (theme == "4") {
  1785.                         theme_highlight.SetOffset({137,27,162,98},0,500,"linear_accel");
  1786.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Metropolitan");
  1787.                     }
  1788.                     if (theme == "5") {
  1789.                         theme_highlight.SetOffset({177,27,202,98},0,500,"linear_accel");
  1790.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Absence");
  1791.                     }
  1792.                     if (theme == "6") {
  1793.                         theme_highlight.SetOffset({17,107,42,178},0,500,"linear_accel");
  1794.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Lagoon");
  1795.                     }
  1796.                     if (theme == "7") {
  1797.                         theme_highlight.SetOffset({57,107,82,178},0,500,"linear_accel");
  1798.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "red");
  1799.                     }
  1800.                     if (theme == "8") {
  1801.                         theme_highlight.SetOffset({97,107,122,178},0,500,"linear_accel");
  1802.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Grass");
  1803.                     }
  1804.                     if (theme == "9") {
  1805.                         theme_highlight.SetOffset({137,107,162,178},0,500,"linear_accel");
  1806.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Metal");
  1807.                     }
  1808.                     if (theme == "10") {
  1809.                         theme_highlight.SetOffset({177,107,202,178},0,500,"linear_accel");
  1810.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Desert");
  1811.                     }
  1812.                     :sonique.prefs.SetString("misc", "theme", theme);
  1813.                     main.SetTheme();
  1814.                 </script>
  1815.                 <window name="themes_label_window" type="textdisplay" alignment="0,0,1,0" offset="5,5,-5,20" transparent="true">
  1816.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  1817.                     <script name="OnInit"> SetText(:language.Translate("defaultskin/label.choosetheme")); </script>
  1818.                 </window>
  1819.                 <window name="theme_1_button" type="button" alignment="0,0,0,0" offset="20,30,40,95" hitstyle="ACTIVE">
  1820.                     <imagestyle name="background" >
  1821.                         <color_fill color="0xFF303030" />
  1822.                         <color_fill color="0xFF99EE00" opacity="0.45"  />
  1823.                     </imagestyle>
  1824.                     <script name="OnInit">SetHoverHint("Mamboreta");</script>
  1825.                     <script name="OnClick">theme=1; SelectTheme();</script>
  1826.                 </window>
  1827.                 <window name="theme_2_button" type="button" alignment="0,0,0,0" offset="60,30,80,95" hitstyle="ACTIVE">
  1828.                     <imagestyle name="background" transparent="true" >
  1829.                         <color_fill color="0xFFFF9900" />
  1830.                         <color_fill color="0xFFB83F3F" opacity="0.45" />
  1831.                     </imagestyle>
  1832.                     <script name="OnInit">SetHoverHint("Earth");</script>
  1833.                     <script name="OnClick">theme=2; SelectTheme();</script>
  1834.                 </window>
  1835.                 <window name="theme_3_button" type="button" alignment="0,0,0,0" offset="100,30,120,95" hitstyle="ACTIVE">
  1836.                     <imagestyle name="background" transparent="true" >
  1837.                         <color_fill color="0xFF28497F"/>
  1838.                         <color_fill color="0xFFCBFF66" opacity="0.45" />
  1839.                     </imagestyle>
  1840.                     <script name="OnInit">SetHoverHint("Sea");</script>
  1841.                     <script name="OnClick">theme=3; SelectTheme();</script>
  1842.                 </window>
  1843.                 <window name="theme_4_button" type="button" alignment="0,0,0,0" offset="140,30,160,95" hitstyle="ACTIVE">
  1844.                     <imagestyle name="background" transparent="true" >
  1845.                         <color_fill color="0xFF000000"/>
  1846.                         <color_fill color="0xFFFF0000" opacity="0.45" />
  1847.                     </imagestyle>
  1848.                     <script name="OnInit">SetHoverHint("Metropolitan");</script>
  1849.                     <script name="OnClick">theme=4; SelectTheme();</script>
  1850.                 </window>
  1851.                 <window name="theme_5_button" type="button" alignment="0,0,0,0" offset="180,30,200,95" hitstyle="ACTIVE">
  1852.                     <imagestyle name="background" transparent="true" >
  1853.                         <color_fill color="0xFF888888"/>
  1854.                         <color_fill color="0xFFBBBBBB" opacity="0.45" />
  1855.                     </imagestyle>
  1856.                     <script name="OnInit">SetHoverHint("Absence");</script>
  1857.                     <script name="OnClick">theme=5; SelectTheme();</script>
  1858.                 </window>
  1859.                 <window name="theme_6_button" type="button" alignment="0,0,0,0" offset="20,110,40,175" hitstyle="ACTIVE">
  1860.                     <imagestyle name="background" transparent="true" >
  1861.                         <color_fill color="0xFF303030"/>
  1862.                         <color_fill color="0xFF00CCFF" opacity="0.45" />
  1863.                     </imagestyle>
  1864.                     <script name="OnInit">SetHoverHint("Lagoon");</script>
  1865.                     <script name="OnClick">theme=6; SelectTheme();</script>
  1866.                 </window>
  1867.                 <window name="theme_7_button" type="button" alignment="0,0,0,0" offset="60,110,80,175" hitstyle="ACTIVE">
  1868.                     <imagestyle name="background" transparent="true" >
  1869.                         <color_fill color="0xFF606060"/>
  1870.                         <color_fill color="0xFFFF0000" opacity="0.45" />
  1871.                     </imagestyle>
  1872.                     <script name="OnInit">SetHoverHint("red");</script>
  1873.                     <script name="OnClick">theme=7; SelectTheme();</script>
  1874.                 </window>
  1875.                 <window name="theme_8_button" type="button" alignment="0,0,0,0" offset="100,110,120,175" hitstyle="ACTIVE">
  1876.                     <imagestyle name="background" transparent="true" >
  1877.                         <color_fill color="0xFF143B14"/>
  1878.                         <color_fill color="0xFF00B200" opacity="0.45" />
  1879.                     </imagestyle>
  1880.                     <script name="OnInit">SetHoverHint("Grass");</script>
  1881.                     <script name="OnClick">theme=8; SelectTheme();</script>
  1882.                 </window>
  1883.                 <window name="theme_9_button" type="button" alignment="0,0,0,0" offset="140,110,160,175" hitstyle="ACTIVE">
  1884.                     <imagestyle name="background" transparent="true" >
  1885.                         <color_fill color="0xFF303030"/>
  1886.                         <color_fill color="0xFF588FBA" opacity="0.45" />
  1887.                     </imagestyle>
  1888.                     <script name="OnInit">SetHoverHint("Metal");</script>
  1889.                     <script name="OnClick">theme=9; SelectTheme();</script>
  1890.                 </window>
  1891.                 <window name="theme_10_button" type="button" alignment="0,0,0,0" offset="180,110,200,175" hitstyle="ACTIVE">
  1892.                     <imagestyle name="background" transparent="true" >
  1893.                         <color_fill color="theme10_color1"/>
  1894.                         <color_fill color="theme10_color2" opacity="0.45" />
  1895.                     </imagestyle>
  1896.                     <script name="OnInit">SetHoverHint("Desert");</script>
  1897.                     <script name="OnClick">theme=10; SelectTheme();</script>
  1898.                 </window>
  1899.                 <window name="theme_highlight" alignment="0,0,0,0" offset="17,27,42,98" hitstyle="none" transparent="true">
  1900.                     <imagestyle name="background" transparent="true" >
  1901.                         <color_rect color="color3" cornerradius="3.0" />
  1902.                     </imagestyle>
  1903.                 </window>
  1904.  
  1905.                 <window name="current_label_window" type="textdisplay" alignment="0,0,1,0" offset="5,190,-5,200" transparent="true">
  1906.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  1907.                 </window>
  1908.  
  1909.                 <window name="song_popup_button" type="button" alignment="0,0,0,0" offset="20,200,40,220" transparent="true" hitstyle="ACTIVE">
  1910.                     <property hover="true" />
  1911.                     <imagestyle name="state0">
  1912.                         <include source="MML_Mood_DlgCheckBoxState0" />
  1913.                     </imagestyle>
  1914.                     <imagestyle name="state1">
  1915.                         <include source="MML_Mood_DlgCheckBoxState1" />
  1916.                     </imagestyle>
  1917.                     <script name="OnInit">
  1918.                         SetToggle(true);
  1919.                         if(:sonique.InterfacePrefsGetString("song_popup", "enabled")){
  1920.                             SetButtonState(1);
  1921.                         }
  1922.                     </script>
  1923.                     <script name="OnClick">
  1924.                         if(GetButtonState()){
  1925.                             :sonique.InterfacePrefsSetString("song_popup", "enabled", 1);
  1926.                         }
  1927.                         else{
  1928.                             :sonique.InterfacePrefsSetString("song_popup", "enabled", 0);
  1929.                         }    
  1930.                     </script>
  1931.                 </window>
  1932.                 <window name="song_popup_label_window" type="textdisplay" alignment="0,0,0,0" offset="50,200,160,220" transparent="true">
  1933.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  1934.                     <script name="OnInit"> SetText("Song Tooltips"); </script>
  1935.                 </window>
  1936.  
  1937.                 <window name="song_popup_fillbar_label_window" type="textdisplay" alignment="0,0,0,0" offset="40,224,80,234" transparent="true">
  1938.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  1939.                     <script name="OnInit"> SetText("Offset"); </script>
  1940.                 </window>
  1941.                 <window name="song_popup_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE" offset="90,224,200,234" alignment="0,0,0,0" >
  1942.                     <property orientation="left_to_right"/>
  1943.                     <imagestyle name="barempty"> <color_fill color="0xFF8080FF" alignment="entire"/> </imagestyle>
  1944.                     <imagestyle name="barfilled"> <color_fill color="0xFF0000FF" alignment="entire"/> </imagestyle>
  1945.                     <script name="OnInit"> 
  1946.                         SetHoverHint("song popup offset");
  1947.                         SetMin(0);
  1948.                         SetMax(400);
  1949.                         UpdateDisplay();
  1950.                     </script>
  1951.                     <script name="OnPosChange">
  1952.                         $offset=GetIntPos();
  1953.                         :sonique.Status("song popup offset  " | $offset);
  1954.                         song_popup_fillbar_number_label_window.SetText($offset);
  1955.                     </script>
  1956.                     <script name="OnPosFinalized">
  1957.                         :sonique.InterfacePrefsSetString("song_popup", "offset", GetIntPos());
  1958.                         $bFound=0;
  1959.                         foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  1960.                             if ($window.Name() =="main")    {
  1961.                                 $window.main_settings_window.skin_settings_window.song_popup_fillbar.UpdateDisplay();
  1962.                             }
  1963.                             if ($window.Name() == "song_popup")    {
  1964.                                 $bFound=1;
  1965.                                 $window.Update();
  1966.                             }
  1967.                         }
  1968.                         if($bFound == 0 and :sonique.InterfacePrefsGetString("song_popup", "enabled")){
  1969.                             :sonique.LaunchLocalWindow("song_popup");
  1970.                         }
  1971.                     </script>
  1972.                     <script name="UpdateDisplay">
  1973.                         $offset=:sonique.InterfacePrefsGetString("song_popup", "offset");
  1974.                         SetIntPos($offset);
  1975.                         song_popup_fillbar_number_label_window.SetText($offset);
  1976.                     </script>
  1977.                 </window>
  1978.                 <window name="song_popup_fillbar_number_label_window" type="textdisplay" alignment="0,0,0,0" offset="210,224,260,234" transparent="true">
  1979.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  1980.                 </window>
  1981.             </window>
  1982.         </window> // main settings window
  1983.  
  1984.         <window name="settings_controls_window" transparent="true">
  1985.             <script name="ViewWindow">
  1986.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  1987.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  1988.             </script>
  1989.             <script name="HideWindow">
  1990.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  1991.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  1992.             </script>
  1993.  
  1994.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  1995.                 <property hover="true" />
  1996.                 <imagestyle name="state0">
  1997.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  1998.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  1999.                 </imagestyle> 
  2000.                 <imagestyle name="state1">
  2001.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  2002.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  2003.                 </imagestyle>
  2004.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  2005.                 <script name="OnClick"> main_settings_window.DetachWindow(); </script>
  2006.             </window>
  2007.  
  2008.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  2009.                 <property hover="true" />
  2010.                 <imagestyle name="state0">
  2011.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  2012.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  2013.                 </imagestyle> 
  2014.                 <imagestyle name="state1">
  2015.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  2016.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  2017.                 </imagestyle>
  2018.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  2019.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  2020.             </window>
  2021.         </window>
  2022.  
  2023.         <window name="main_playlist_window" alignment="1,0,2,1" offset="22,30,-92,-130" transparent="true">
  2024.             <script name="ViewWindow">
  2025.                 playlist_button_window.SetButtonState(1);
  2026.                 playlist_button_window.SetHoverHint(:language.Translate("defaultskin/hint.hideplaylist"));
  2027.                 playlist_controls_window.ViewWindow();
  2028.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  2029.             </script>
  2030.             <script name="HideWindow">
  2031.                 playlist_button_window.SetButtonState(0);
  2032.                 playlist_button_window.SetHoverHint(:language.Translate("defaultskin/hint.viewplaylist"));
  2033.                 playlist_controls_window.HideWindow();
  2034.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  2035.             </script>
  2036.             <script name="DetachWindow">
  2037.                 if(!IsOpen("playlist_popup")){
  2038.                     if (currentwindows[currentwindows.ArraySize()-1] == "main_playlist_window") {
  2039.                         MoveWindows("main_playlist_window");
  2040.                     }
  2041.                     :sonique.LaunchLocalWindow("playlist_popup");
  2042.                 }
  2043.             </script>
  2044.  
  2045.             <window name="playlist_window" type="Sonique2_Playlist" transparent="true" hitstyle="ACTIVE" offset="0,0,0,-28" alignment="0,0,1,1">
  2046.                 <imagestyle name="background"><color_fill color="color2" opacity="0.5"/></imagestyle>
  2047.                 <imagestyle name="theme1"><color_fill color = "0xFF99EE00" opacity="0.5"/></imagestyle>
  2048.                 <imagestyle name="theme2"><color_fill color = "0xFFB83F3F" opacity="0.5"/></imagestyle>
  2049.                 <imagestyle name="theme3"><color_fill color = "0xFFCBFF66" opacity="0.5"/></imagestyle>
  2050.                 <imagestyle name="theme4"><color_fill color = "0xFFFF0000" opacity="0.5"/></imagestyle>
  2051.                 <imagestyle name="theme5"><color_fill color = "0xFFBBBBBB" opacity="0.5"/></imagestyle>
  2052.                 <imagestyle name="theme6"><color_fill color = "0xFF00CCFF" opacity="0.5"/></imagestyle>
  2053.                 <imagestyle name="theme7"><color_fill color = "0xFFFF0000" opacity="0.5"/></imagestyle>
  2054.                 <imagestyle name="theme8"><color_fill color = "0xFF00B200" opacity="0.5"/></imagestyle>
  2055.                 <imagestyle name="theme9"><color_fill color = "0xFF588FBA" opacity="0.5"/></imagestyle>
  2056.                 <imagestyle name="theme10"><color_fill color = "theme10_color2" opacity="0.5"/></imagestyle>
  2057.  
  2058.                 <script name="OnTrackDoubleClick">
  2059.                     if (:sonique.players.default.GetAssociatedPlaylist().Name()!="default") {
  2060.                         :sonique.players.default.SetAssociatedPlaylist( "default" );
  2061.                         :system.timer.SetTimer("tmp_timer", 50, ":sonique.players.default.SeekTo("|$params[0]|"); :sonique.players.default.Play();", this, false );
  2062.                     }
  2063.                 </script>
  2064.             </window>
  2065.  
  2066.             <window name="RandomizeButton" type="button" transparent="true" hitstyle="ACTIVE" offset="5,-23,15,-10" alignment="0,1,0,1">
  2067.                 <property hover="true" />
  2068.                 <imagestyle name="state0">
  2069.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal" />
  2070.                     <raster state="normal" opacity="1.0" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal"/>
  2071.                 </imagestyle> 
  2072.                 <imagestyle name="state1">
  2073.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal"  />
  2074.                     <raster state="normal" opacity="0.75" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal" />
  2075.                 </imagestyle>
  2076.                 <script name="OnInit">
  2077.                     SetHoverHint(:language.Translate("playlistwindow/hint.randomize"));
  2078.                 </script>
  2079.                 <script name="OnClick">:sonique.playlists.default.RandomizeList();</script>
  2080.                 <property    hover="true" />
  2081.             </window>
  2082.  
  2083.             <window name="SortButton" type="button" transparent="true" hitstyle="ACTIVE" offset="20,-23,30,-10" alignment="0,1,0,1">
  2084.                 <property hover="true" />
  2085.                 <imagestyle name="state0">
  2086.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal" />
  2087.                     <raster state="normal" opacity="1.0" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal"/>
  2088.                 </imagestyle> 
  2089.                 <imagestyle name="state1">
  2090.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal"  />
  2091.                     <raster state="normal" opacity="0.75" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal" />
  2092.                 </imagestyle>
  2093.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.sort")); </script>
  2094.                 <script name="OnClick">
  2095.                     :sonique.prefs.CreateSection("sonique/gui/slate/defaultsort"); 
  2096.                     $origFieldArray = :sonique.prefs.GetStringArray("sonique/gui/slate/defaultsort","Fields");
  2097.                     $origDirectionArray = :sonique.prefs.GetStringArray("sonique/gui/slate/defaultsort","Directions");
  2098.                     $ick    = 0;
  2099.  
  2100.                     if ($origFieldArray.IsArray()) { 
  2101.                         $ick = $origFieldArray.ArraySize();
  2102.                         if ($origDirectionArray.IsArray()) {
  2103.                             if ($ick != $origDirectionArray.ArraySize())    {
  2104.                                 $origDirectionArray = 0;
  2105.                             }
  2106.                         }
  2107.                     }
  2108.                     else    {
  2109.                         $origFieldArray = {"artist","album","track","filename"};
  2110.                         $ick = $origFieldArray.ArraySize();
  2111.                         $origDirectionArray = 0;
  2112.                     }
  2113.  
  2114.                     // for simplicity, assume a max of 6 fields.  this logic is ugly.                            
  2115.                     if ($ick > 5) {
  2116.                         if ($origDirectionArray.IsArray()) {
  2117.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]},{$origFieldArray[3],$origDirectionArray[3]},{$origFieldArray[4],$origDirectionArray[4]},{$origFieldArray[5],$origDirectionArray[5]});
  2118.                         }
  2119.                         else {
  2120.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]},{$origFieldArray[3]},{$origFieldArray[4]},{$origFieldArray[5]});
  2121.                         }
  2122.                     }
  2123.                     else if ($ick > 4) {
  2124.                         if ($origDirectionArray.IsArray()) {
  2125.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]},{$origFieldArray[3],$origDirectionArray[3]},{$origFieldArray[4],$origDirectionArray[4]});
  2126.                         }
  2127.                         else {
  2128.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]},{$origFieldArray[3]},{$origFieldArray[4]});
  2129.                         }
  2130.                     }
  2131.                     else if ($ick > 3) {
  2132.                         if ($origDirectionArray.IsArray()) {
  2133.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]},{$origFieldArray[3],$origDirectionArray[3]});
  2134.                         }
  2135.                         else {
  2136.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]},{$origFieldArray[3]});
  2137.                         }
  2138.                     }
  2139.                     else if ($ick > 2) {
  2140.                         if ($origDirectionArray.IsArray()) {
  2141.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]});
  2142.                         }
  2143.                         else {
  2144.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]});
  2145.                         }
  2146.                     }
  2147.                     else if ($ick > 1) {
  2148.                         if ($origDirectionArray.IsArray()) {
  2149.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]});
  2150.                         }
  2151.                         else {
  2152.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]});
  2153.                         }
  2154.                     }
  2155.                     else if ($ick > 0) {
  2156.                         if ($origDirectionArray.IsArray()) {
  2157.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]});
  2158.                         }
  2159.                         else {
  2160.                             :sonique.playlists.default.AdvancedSort({$origFieldArray[0]});
  2161.                         }
  2162.                     }
  2163.                     else {
  2164.                         // this should never happen
  2165.                         :sonique.playlists.default.AdvancedSort({"artist"},{"album"},{"track"},{"filename"});
  2166.                     }                    
  2167.                 </script>
  2168.             </window>
  2169.  
  2170.             <window name="ReverseButton" type="button" transparent="true" hitstyle="ACTIVE" offset="35,-23,45,-10" alignment="0,1,0,1">
  2171.                 <property hover="true" />
  2172.                 <imagestyle name="state0">
  2173.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal" />
  2174.                     <raster state="normal" opacity="1.0" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal"/>
  2175.                 </imagestyle> 
  2176.                 <imagestyle name="state1">
  2177.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal"  />
  2178.                     <raster state="normal" opacity="0.75" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal" />
  2179.                 </imagestyle>
  2180.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.reverse")); </script>
  2181.                 <script name="OnClick">    :sonique.playlists.default.Reverse();    </script>
  2182.             </window>
  2183.             <window name="StopStartScanButton" type="button" transparent="true" hitstyle="ACTIVE" 
  2184.                     offset="50,-23,60,-10" alignment="0,1,0,1" >
  2185.                 <property    hover="true" />
  2186.                 <imagestyle name="state0">
  2187.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|scan_icon" num_frames="4" blendmode="ps_normal" />
  2188.                     <raster state="normal" opacity="1.0" source="grayscale.psd|scan_icon" num_frames="4" blendmode="ps_normal"/>
  2189.                 </imagestyle> 
  2190.                 <script name="OnInit">
  2191.                     :sonique.playlists.default.RegisterCallback("ScanningStarted","OnScanStarted()",this);
  2192.                     :sonique.playlists.default.RegisterCallback("ScanningFinished","OnScanFinished()",this);
  2193.                     if(:sonique.playlists.default.IdleScanningIsActive()){
  2194.                         OnScanStarted();
  2195.                     }
  2196.                     scanning=0;
  2197.                     SetHoverHint(:language.Translate("playlistwindow/hint.startscan"));
  2198.                     if(:sonique.playlists.default.CurrentlyIdleScanning()){
  2199.                         SetHoverHint(:language.Translate("playlistwindow/hint.stopscan"));
  2200.                         scanning=1;
  2201.                     }
  2202.                 </script>
  2203.                 <script name="OnDestroy">
  2204.                     :system.timer.UnsetTimer("animation_timer", this);
  2205.                     :sonique.playlists.default.UnregisterCallback("ScanningStarted",this);
  2206.                     :sonique.playlists.default.UnregisterCallback("ScanningFinished",this);
  2207.                 </script>
  2208.                 <script name="OnScanStarted">
  2209.                     :system.timer.SetTimer("animation_timer", 10000, "Animate();", this, true);
  2210.                     Animate();
  2211.                 </script>
  2212.                 <script name="OnScanFinished">
  2213.                     :system.timer.UnsetTimer("animation_timer", this);
  2214.                     SetAnimTime(0,0,0,"linear_smooth", true);
  2215.                 </script>
  2216.                 <script name="Animate">
  2217.                     SetAnimTime(0,0,0,"linear_smooth", true);
  2218.                     SetAnimTime(10, 0, 10000,"linear_smooth", true);
  2219.                 </script>
  2220.                 <script name="OnClick">
  2221.                     if( scanning )    {
  2222.                         scanning=0;
  2223.                         :sonique.playlists.default.StopIdleScan();
  2224.                         SetHoverHint(:language.Translate("playlistwindow/hint.startscan"));
  2225.  
  2226.                     } else {
  2227.                         scanning=1;
  2228.                         :sonique.playlists.default.StartIdleScan();
  2229.                         SetHoverHint(:language.Translate("playlistwindow/hint.stopscan"));
  2230.                     }
  2231.                 </script>
  2232.             </window>    
  2233.  
  2234.             <window name="playlist_progressbar_window" type="Sonique2_Progress" transparent="true" hitstyle="ACTIVE" 
  2235.                     offset="23,-7,-23,-4" alignment="0,1,1,1" >
  2236.                 <property orientation="left_to_right" hover="true" hovertext="true" type="PlaylistProgress" />
  2237.                 <imagestyle name="barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2238.                     <color_line color = "color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  2239.                     <color_line color = "color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2240.                 </imagestyle>
  2241.                 <imagestyle name="barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2242.                     <color_line color = "color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  2243.                     <color_line color = "color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2244.                 </imagestyle>
  2245.                 <imagestyle name="theme1_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2246.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2247.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2248.                 </imagestyle>
  2249.                 <imagestyle name="theme2_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2250.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2251.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2252.                 </imagestyle>
  2253.                 <imagestyle name="theme3_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2254.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2255.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2256.                 </imagestyle>
  2257.                 <imagestyle name="theme4_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2258.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2259.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2260.                 </imagestyle>
  2261.                 <imagestyle name="theme5_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2262.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2263.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2264.                 </imagestyle>
  2265.                 <imagestyle name="theme6_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2266.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2267.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2268.                 </imagestyle>
  2269.                 <imagestyle name="theme7_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2270.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2271.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2272.                 </imagestyle>
  2273.                 <imagestyle name="theme8_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2274.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2275.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2276.                 </imagestyle>
  2277.                 <imagestyle name="theme9_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2278.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2279.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2280.                 </imagestyle>
  2281.                 <imagestyle name="theme10_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2282.                     <color_line color = "theme10_color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  2283.                     <color_line color = "theme10_color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2284.                 </imagestyle>
  2285.                 <imagestyle name="theme1_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2286.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2287.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2288.                 </imagestyle>
  2289.                 <imagestyle name="theme2_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2290.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2291.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2292.                 </imagestyle>
  2293.                 <imagestyle name="theme3_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2294.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2295.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2296.                 </imagestyle>
  2297.                 <imagestyle name="theme4_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2298.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2299.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2300.                 </imagestyle>
  2301.                 <imagestyle name="theme5_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2302.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2303.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2304.                 </imagestyle>
  2305.                 <imagestyle name="theme6_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2306.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2307.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2308.                 </imagestyle>
  2309.                 <imagestyle name="theme7_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2310.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2311.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2312.                 </imagestyle>
  2313.                 <imagestyle name="theme8_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2314.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2315.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2316.                 </imagestyle>
  2317.                 <imagestyle name="theme9_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2318.                     <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  2319.                     <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2320.                 </imagestyle>
  2321.                 <imagestyle name="theme10_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  2322.                     <color_line color = "theme10_color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  2323.                     <color_line color = "theme10_color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  2324.                 </imagestyle>
  2325. <!--                <script name="OnInit">SetHoverHint(:language.Translate("playlistwindow/hint.playlistprogress")); </script> -->
  2326.             </window>
  2327.         </window> // main playlist window
  2328.  
  2329.         <window name="playlist_controls_window" transparent="true" >
  2330.             <script name="ViewWindow">
  2331.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  2332.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  2333.             </script>
  2334.             <script name="HideWindow">
  2335.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  2336.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  2337.             </script>
  2338.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  2339.                 <property hover="true" />
  2340.                 <imagestyle name="state0">
  2341.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  2342.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  2343.                 </imagestyle> 
  2344.                 <imagestyle name="state1">
  2345.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  2346.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  2347.                 </imagestyle>
  2348.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  2349.                 <script name="OnClick"> main_playlist_window.DetachWindow(); </script>
  2350.             </window>
  2351.  
  2352.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  2353.                 <property hover="true" />
  2354.                 <imagestyle name="state0">
  2355.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  2356.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  2357.                 </imagestyle> 
  2358.                 <imagestyle name="state1">
  2359.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  2360.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  2361.                 </imagestyle>
  2362.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  2363.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  2364.             </window>
  2365.         </window>
  2366.  
  2367.         <window name="main_online_window" alignment="1,0,2,1" transparent="true" offset="22,30,-92,-130" >
  2368.             <script name="ViewWindow">
  2369.                 online_button_window.SetButtonState(1);
  2370.                 online_button_window.SetHoverHint(:language.Translate("defaultskin/hint.hideonline"));
  2371.                 online_controls_window.ViewWindow();
  2372.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  2373.             </script>
  2374.             <script name="HideWindow">
  2375.                 online_button_window.SetButtonState(0);
  2376.                 online_button_window.SetHoverHint(:language.Translate("defaultskin/hint.viewonline"));
  2377.                 online_controls_window.HideWindow();
  2378.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  2379.             </script>
  2380.             <script name="DetachWindow">
  2381.                 if(!IsOpen("online_popup")){
  2382.                     if (currentwindows[currentwindows.ArraySize()-1] == "main_online_window") {
  2383.                         MoveWindows("main_online_window");
  2384.                     }
  2385.                     :sonique.LaunchLocalWindow("online_popup");
  2386.                 }
  2387.             </script>
  2388.             <window name="online_window" type="Sonique2_Online" transparent="true" hitstyle="NONE" />
  2389.         </window>
  2390.  
  2391.         <window name="online_controls_window" transparent="true" >
  2392.             <script name="ViewWindow">
  2393.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  2394.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  2395.                 refresh_window_icon_window.SetOffset({-83,67,-74,78},0,1000,"linear_accel");
  2396.             </script>
  2397.             <script name="HideWindow">                
  2398.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  2399.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  2400.                 refresh_window_icon_window.SetOffset({-83,-67,-74,-78},0,1000,"linear_accel");
  2401.             </script>
  2402.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  2403.                 <property hover="true" />
  2404.                 <imagestyle name="state0">
  2405.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  2406.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  2407.                 </imagestyle> 
  2408.                 <imagestyle name="state1">
  2409.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  2410.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  2411.                 </imagestyle>
  2412.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  2413.                 <script name="OnClick"> main_online_window.DetachWindow(); </script>
  2414.             </window>
  2415.  
  2416.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  2417.                 <property hover="true" />
  2418.                 <imagestyle name="state0">
  2419.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  2420.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  2421.                 </imagestyle> 
  2422.                 <imagestyle name="state1">
  2423.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  2424.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  2425.                 </imagestyle>
  2426.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  2427.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  2428.             </window>
  2429.  
  2430.             <window name="refresh_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-83,-67,-74,-78" alignment="1,0,1,0">
  2431.                 <property hover="true" />
  2432.                 <imagestyle name="state0">
  2433.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal" />
  2434.                     <raster state="normal" opacity="1.0" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal"/>
  2435.                 </imagestyle> 
  2436.                 <imagestyle name="state1">
  2437.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal"  />
  2438.                     <raster state="normal" opacity="0.75" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal" />
  2439.                 </imagestyle>
  2440.                 <script name="OnInit"> SetHoverHint(:language.Translate("onlinewindow/hint.refresh"));</script>
  2441.                 <script name="OnClick"> main_online_window.online_window.ReloadContent(); </script>
  2442.             </window>
  2443.         </window>
  2444.  
  2445.         <window name="main_eq_window" alignment="1,0,2,1" transparent="true" offset="22,30,-92,-130" hitstyle="ACTIVE" >
  2446.             <script name="ViewWindow">
  2447.                 eq_button_window.mini_eq_button.SetButtonState(1);
  2448.                 eq_button_window.mini_eq_button.SetHoverHint(:language.Translate("defaultskin/hint.hideeq"));
  2449.                 mini_icon_holder.eq_icon_button.SetButtonState(1);
  2450.                 mini_icon_holder.eq_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.hideeq"));
  2451.                 eq_controls_window.ViewWindow();
  2452.                 SetAlignment({0,0,1,1},0,500,"linear_accel");
  2453.             </script>
  2454.             <script name="HideWindow">
  2455.                 eq_button_window.mini_eq_button.SetButtonState(0);
  2456.                 eq_button_window.mini_eq_button.SetHoverHint(:language.Translate("defaultskin/hint.vieweq"));
  2457.                 mini_icon_holder.eq_icon_button.SetButtonState(0);
  2458.                 mini_icon_holder.eq_icon_button.SetHoverHint(:language.Translate("defaultskin/hint.vieweq"));
  2459.                 eq_controls_window.HideWindow();
  2460.                 SetAlignment({1,0,2,1},0,500,"linear_accel");
  2461.             </script>
  2462.             <script name="DetachWindow">
  2463.                 if(!IsOpen("eq_popup")){
  2464.                     if (currentwindows[currentwindows.ArraySize()-1] == "main_eq_window") {
  2465.                         MoveWindows("main_eq_window");
  2466.                     }
  2467.                     :sonique.LaunchLocalWindow("eq_popup");
  2468.                 }
  2469.             </script>
  2470.  
  2471.             <window name="eq_window" type="Sonique2_Equalizer" transparent="true" hitstyle="ACTIVE" offset="0,0,-12,-50" alignment="0,0,1,1">
  2472.                 <property    freq_string_rows = "0"
  2473.                     freq_line_color = "color3_50" freq_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  2474.                     center_line_color = "color3_50" center_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  2475.                     curve_line_color = "color3" curve_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  2476.                     border_line_color = "color3_50" border_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  2477.                 />
  2478.                 <imagestyle name="background" transparent="true" />
  2479.                 <script name="GetNumBands">:sonique.players.default.equalizer.GetNumBands();</script>
  2480.                 <script name="SetNumBands">:sonique.players.default.equalizer.SetNumBands($params[0]);</script>
  2481.                 <script name="GetBandGain">:sonique.players.default.equalizer.GetBandGain($params[0]);</script>
  2482.                 <script name="SetBandGain">:sonique.players.default.equalizer.SetBandGain($params[0], $params[1]);</script>
  2483.                 <script name="OnInit">
  2484.                     loadingPreset = 0;
  2485.                     :sonique.players.default.equalizer.RegisterChangeCallback("", "myOnChange()", this);
  2486.                 </script>
  2487.                 <script name="OnDestroy">:sonique.players.default.equalizer.UnregisterChangeCallback("", this);</script>
  2488.                 <script name="myOnChange">
  2489.                     UpdateBands();
  2490.                     UpdateDisplay();
  2491.                     :sonique.players.default.SendFilterMessage("equalizerReloadSettings");
  2492.                     $cur=eq_presets_window.preset_picker.GetCurrentItem()["text"]|" ";
  2493.                     $string=:string.SubString($cur, 0, 4);
  2494.                     if($string != "User"){
  2495.                         eq_presets_window.preset_picker.SetCurrentIndex(0);
  2496.                     }
  2497.                 </script>
  2498.             </window>
  2499.             <window name="eq_presets_window" transparent="true" offset="0,-48,-2,-2" alignment="0,1,0.5,1" >
  2500.                 <imagestyle name="background">
  2501.                     <color_fill color = "color2" opacity="0.25"/>
  2502.                     <color_rect color = "color3" opacity="0.25"/>
  2503.                 </imagestyle>
  2504.                 <imagestyle name="theme1">
  2505.                     <color_fill color = "0xFF99EE00" opacity="0.25"/>
  2506.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2507.                 </imagestyle>
  2508.                 <imagestyle name="theme2">
  2509.                     <color_fill color = "0xFFB83F3F" opacity="0.25"/>
  2510.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2511.                 </imagestyle>
  2512.                 <imagestyle name="theme3">
  2513.                     <color_fill color = "0xFFCBFF66" opacity="0.25"/>
  2514.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2515.                 </imagestyle>
  2516.                 <imagestyle name="theme4">
  2517.                     <color_fill color = "0xFFFF0000" opacity="0.25"/>
  2518.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2519.                 </imagestyle>
  2520.                 <imagestyle name="theme5">
  2521.                     <color_fill color = "0xFFBBBBBB" opacity="0.25"/>
  2522.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2523.                 </imagestyle>
  2524.                 <imagestyle name="theme6">
  2525.                     <color_fill color = "0xFF00CCFF" opacity="0.25"/>
  2526.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2527.                 </imagestyle>
  2528.                 <imagestyle name="theme7">
  2529.                     <color_fill color = "0xFFFF0000" opacity="0.25"/>
  2530.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2531.                 </imagestyle>
  2532.                 <imagestyle name="theme8">
  2533.                     <color_fill color = "0xFF00B200" opacity="0.25"/>
  2534.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2535.                 </imagestyle>
  2536.                 <imagestyle name="theme9">
  2537.                     <color_fill color = "0xFF588FBA" opacity="0.25"/>
  2538.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2539.                 </imagestyle>
  2540.                 <imagestyle name="theme10">
  2541.                     <color_fill color = "theme10_color2" opacity="0.25"/>
  2542.                     <color_rect color = "theme10_color3" opacity="0.25"/>
  2543.                 </imagestyle>
  2544.  
  2545.                 <window name="presets_label_window" type="textdisplay" alignment="0,0,1,0" offset="2,10,-5,20" transparent="true">
  2546.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  2547.                     <script name="OnInit"> SetText( :language.Translate("eqwindow/label.presets")); </script>
  2548.                 </window>
  2549.                 <window name="preset_picker" type="picker" hitstyle="ACTIVE" alignment="0,0,1,0" offset="5,25,-5,40" transparent="true" >
  2550.                     <property hover="true" fade_duration="0"
  2551.                         font_style="my_font_8" font_justification="h_center|top" textshadow="false"
  2552.                         font_color1="color3" font_color2="color3" font_color3="color3" 
  2553.                         text_offset_rect="0,-3,0,0" />
  2554.                     <imagestyle name="img_picker_background" transparent="true">
  2555.                         <color_fill color="color1" />
  2556.                         <color_rect color="color3" opacity="0.25"/>
  2557.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2558.                     </imagestyle>
  2559.                     <imagestyle name="theme1_img_picker_background" transparent="true">
  2560.                         <color_fill color="0xFF303030" />
  2561.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2562.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2563.                     </imagestyle>
  2564.                     <imagestyle name="theme2_img_picker_background" transparent="true">
  2565.                         <color_fill color="0xFFFF9900" />
  2566.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2567.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2568.                     </imagestyle>
  2569.                     <imagestyle name="theme3_img_picker_background" transparent="true">
  2570.                         <color_fill color="0xFF28497F" />
  2571.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2572.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2573.                     </imagestyle>
  2574.                     <imagestyle name="theme4_img_picker_background" transparent="true">
  2575.                         <color_fill color="0xFF000000" />
  2576.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2577.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2578.                     </imagestyle>
  2579.                     <imagestyle name="theme5_img_picker_background" transparent="true">
  2580.                         <color_fill color="0xFF888888" />
  2581.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2582.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2583.                     </imagestyle>
  2584.                     <imagestyle name="theme6_img_picker_background" transparent="true">
  2585.                         <color_fill color="0xFF303030" />
  2586.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2587.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2588.                     </imagestyle>
  2589.                     <imagestyle name="theme7_img_picker_background" transparent="true">
  2590.                         <color_fill color="0xFF606060" />
  2591.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2592.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2593.                     </imagestyle>
  2594.                     <imagestyle name="theme8_img_picker_background" transparent="true">
  2595.                         <color_fill color="0xFF143B14" />
  2596.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2597.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2598.                     </imagestyle>
  2599.                     <imagestyle name="theme9_img_picker_background" transparent="true">
  2600.                         <color_fill color="0xFF303030" />
  2601.                         <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  2602.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2603.                     </imagestyle>
  2604.                     <imagestyle name="theme10_img_picker_background" transparent="true">
  2605.                         <color_fill color="theme10_color1" />
  2606.                         <color_rect color="theme10_color3" opacity="0.25"/>
  2607.                         <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  2608.                     </imagestyle>
  2609.                     <imagestyle name="img_menu_background" transparent="true" >
  2610.                         <color_fill color="color1"/>
  2611.                         <color_rect color="color3" opacity="0.25" />
  2612.                     </imagestyle>
  2613.                     <imagestyle name="theme1_img_menu_background" transparent="true" >
  2614.                         <color_fill color="0xFF303030"/>
  2615.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2616.                     </imagestyle>
  2617.                     <imagestyle name="theme2_img_menu_background" transparent="true" >
  2618.                         <color_fill color="0xFFFF9900"/>
  2619.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2620.                     </imagestyle>
  2621.                     <imagestyle name="theme3_img_menu_background" transparent="true" >
  2622.                         <color_fill color="0xFF28497F"/>
  2623.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2624.                     </imagestyle>
  2625.                     <imagestyle name="theme4_img_menu_background" transparent="true" >
  2626.                         <color_fill color="0xFF000000"/>
  2627.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2628.                     </imagestyle>
  2629.                     <imagestyle name="theme5_img_menu_background" transparent="true" >
  2630.                         <color_fill color="0xFF888888"/>
  2631.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2632.                     </imagestyle>
  2633.                     <imagestyle name="theme6_img_menu_background" transparent="true" >
  2634.                         <color_fill color="0xFF303030"/>
  2635.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2636.                     </imagestyle>
  2637.                     <imagestyle name="theme7_img_menu_background" transparent="true" >
  2638.                         <color_fill color="0xFF606060"/>
  2639.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2640.                     </imagestyle>
  2641.                     <imagestyle name="theme8_img_menu_background" transparent="true" >
  2642.                         <color_fill color="0xFF143B14"/>
  2643.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2644.                     </imagestyle>
  2645.                     <imagestyle name="theme9_img_menu_background" transparent="true" >
  2646.                         <color_fill color="0xFF303030"/>
  2647.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2648.                     </imagestyle>
  2649.                     <imagestyle name="theme10_img_menu_background" transparent="true" >
  2650.                         <color_fill color="theme10_color1"/>
  2651.                         <color_rect color="theme10_color3" opacity="0.25" />
  2652.                     </imagestyle>
  2653.                     <imagestyle name="img_item" transparent="true">
  2654.                         <color_fill state="hover,hit" color="color2" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2655.                         <color_fill state="normal" color="color2" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2656.                     </imagestyle>
  2657.                     <imagestyle name="theme1_img_item" transparent="true">
  2658.                         <color_fill state="hover,hit" color="0xFF99EE00" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2659.                         <color_fill state="normal" color="0xFF99EE00" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2660.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2661.                     </imagestyle>
  2662.                     <imagestyle name="theme2_img_item" transparent="true">
  2663.                         <color_fill state="hover,hit" color="0xFFB83F3F" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2664.                         <color_fill state="normal" color="0xFFB83F3F" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2665.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2666.                     </imagestyle>
  2667.                     <imagestyle name="theme3_img_item" transparent="true">
  2668.                         <color_fill state="hover,hit" color="0xFFCBFF66" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2669.                         <color_fill state="normal" color="0xFFCBFF66" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2670.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2671.                     </imagestyle>
  2672.                     <imagestyle name="theme4_img_item" transparent="true">
  2673.                         <color_fill state="hover,hit" color="0xFFFF0000" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2674.                         <color_fill state="normal" color="0xFFFF0000" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2675.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2676.                     </imagestyle>
  2677.                     <imagestyle name="theme5_img_item" transparent="true">
  2678.                         <color_fill state="hover,hit" color="0xFFBBBBBB" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2679.                         <color_fill state="normal" color="0xFFBBBBBB" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2680.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2681.                     </imagestyle>
  2682.                     <imagestyle name="theme6_img_item" transparent="true">
  2683.                         <color_fill state="hover,hit" color="0xFF00CCFF" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2684.                         <color_fill state="normal" color="0xFF00CCFF" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2685.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2686.                     </imagestyle>
  2687.                     <imagestyle name="theme7_img_item" transparent="true">
  2688.                         <color_fill state="hover,hit" color="0xFFFF0000" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2689.                         <color_fill state="normal" color="0xFFFF0000" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2690.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2691.                     </imagestyle>
  2692.                     <imagestyle name="theme8_img_item" transparent="true">
  2693.                         <color_fill state="hover,hit" color="0xFF00B200" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2694.                         <color_fill state="normal" color="0xFF00B200" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2695.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2696.                     </imagestyle>
  2697.                     <imagestyle name="theme9_img_item" transparent="true">
  2698.                         <color_fill state="hover,hit" color="0xFF588FBA" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2699.                         <color_fill state="normal" color="0xFF588FBA" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2700.                         <color_rect color="0xFFFFFFFF" opacity="0.25" />
  2701.                     </imagestyle>
  2702.                     <imagestyle name="theme10_img_item" transparent="true">
  2703.                         <color_fill state="hover,hit" color="theme10_color2" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  2704.                         <color_fill state="normal" color="theme10_color2" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  2705.                         <color_rect color="theme10_color3" opacity="0.25" />
  2706.                     </imagestyle>
  2707.                     <script name="OnInit">
  2708.                         SetHoverHint(:language.Translate("eqwindow/hint.presetpicker"));
  2709.                         if (!:sonique.prefs.DoesSectionExist("eqpresets")) {
  2710.                             AddItem( { Text: "No Presets Loaded", Data: "" } );
  2711.                         }
  2712.                         else {
  2713.                             $presets = :sonique.prefs.GetStringArray("eqpresets", "Names"); 
  2714.                             if ($presets.IsArray()) {
  2715.                                 AddItem( { text: :language.Translate("general/label.none"), data: "" } );
  2716.                                 // jmctodo - mscript bug.  if i use foreach ($preset in $presets)
  2717.                                 // and set the data element to $preset for each, then the 
  2718.                                 // data ends up holding whatever the last $preset was.  ugh.
  2719.                                 //foreach ($preset in $presets)
  2720.                                 for ($i in 1 to $presets.ArraySize()) {
  2721.                                     //if (:sonique.prefs.DoesSectionExist("eqpresets/" | $preset))
  2722.                                     if (:sonique.prefs.DoesSectionExist("eqpresets/" |  $presets[$i-1]))    {
  2723.                                         //$name = :sonique.prefs.GetString("eqpresets/" | $preset, "Name"); 
  2724.                                         $name = :sonique.prefs.GetString("eqpresets/" | $presets[$i-1], "Name"); 
  2725.                                         if ($name) {
  2726.                                             //AddItem( { text: $name, data: $preset } );
  2727.                                             AddItem( { Text: $name, Data: $presets[$i-1] });
  2728.                                         }
  2729.                                     }
  2730.                                 }
  2731.                             } else {
  2732.                                 AddItem( { Text: "No Presets Loaded", Data: "" } );
  2733.                             }
  2734.                         }
  2735.                     </script>
  2736.                     <script name="OnItemSelected">
  2737.                         if ($params[0] != 0) 
  2738.                         {
  2739.                             $name=GetItem($params[0])["Data"];
  2740.                             $prettyname=GetItem($params[0])["Text"];
  2741.                             $section = "eqpresets/" | $name;
  2742.                                 $GainArray = :sonique.prefs.GetStringArray($section, "Gain");
  2743.                             if ($GainArray.IsArray()) {
  2744.                                 if ($GainArray.ArraySize() > 0) {
  2745.                                     eq_window.SetNumBands($GainArray.ArraySize());
  2746.                                     for ($i in 1 to $GainArray.ArraySize()) {
  2747.                                         eq_window.SetBandGain($i-1, $GainArray[$i-1]);
  2748.                                     }
  2749.                                 }
  2750.                             }
  2751.                         }
  2752.                         SetCurrentIndex($params[0]);
  2753.                         :sonique.players.default.SendFilterMessage("equalizerReloadSettings");
  2754.                     </script>
  2755.                 </window> <!-- preset_picker -->
  2756.  
  2757.                 <window name="eq_save_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-20,5,-5,20" alignment="1,0,1,0">
  2758.                     <property hover="true" />
  2759.                     <imagestyle name="state0">
  2760.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|eq_save" blendmode="ps_normal" />
  2761.                         <raster state="normal" opacity="1.0" source="grayscale.psd|eq_save" blendmode="ps_normal"/>
  2762.                     </imagestyle> 
  2763.                     <imagestyle name="state1">
  2764.                         <raster state="hit,hover" opacity="1.0" source="grayscale.psd|eq_save" blendmode="ps_normal"  />
  2765.                         <raster state="normal" opacity="0.75" source="grayscale.psd|eq_save" blendmode="ps_normal" />
  2766.                     </imagestyle>
  2767.                     <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.save"));    </script>
  2768.                     <script name="OnClick">
  2769.                         $preset=0;
  2770.                         $cur=preset_picker.GetCurrentItem()["text"]|" ";
  2771.                         $string=:string.SubString($cur, 0, 4);
  2772.                         $bands=0;
  2773.                         if($string == "User"){
  2774.                             $preset=:string.SubString($cur, 4, 1);
  2775.                             $bands = main_eq_window.eq_window.GetNumBands();
  2776.                             if ($bands gt 0) {
  2777.                                 $gainArray =  { main_eq_window.eq_window.GetBandGain(0) };
  2778.                                 for ($i in 1 to $bands-1) {
  2779.                                     $gainArray = $gainArray | { main_eq_window.eq_window.GetBandGain($i) };
  2780.                                 }
  2781.                                 $eqsection = "eqpresets/user"|$preset;
  2782.                                 :sonique.prefs.CreateSection($eqsection);
  2783.                                 // :sonique.prefs.SetString($eqsection, "Name", "My Preset!"); 
  2784.                                 :sonique.prefs.SetStringArray($eqsection, "Gain", $gainArray);
  2785.                             }
  2786.                         }
  2787.                         if($preset==0){
  2788.                             :sonique.Status("Please pick preset \"user1-5\"");
  2789.                         }
  2790.                     </script>
  2791.                 </window> 
  2792.  
  2793.                 <window name="eq_reset_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-40,5,-25,20" alignment="1,0,1,0">
  2794.                     <property hover="true" />
  2795.                     <imagestyle name="state0">
  2796.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|eq_flat" blendmode="ps_normal" />
  2797.                         <raster state="normal" opacity="1.0" source="grayscale.psd|eq_flat" blendmode="ps_normal"/>
  2798.                     </imagestyle> 
  2799.                     <imagestyle name="state1">
  2800.                         <raster state="hit,hover" opacity="1.0" source="grayscale.psd|eq_flat" blendmode="ps_normal"  />
  2801.                         <raster state="normal" opacity="0.75" source="grayscale.psd|eq_flat" blendmode="ps_normal" />
  2802.                     </imagestyle>
  2803.                     <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.reset"));</script>
  2804.                     <script name="OnClick">:sonique.players.default.equalizer.Reset();</script>
  2805.                 </window>
  2806.             </window> <!-- eq_presets_window -->
  2807.             <window name="eq_pab_window" transparent="true" offset="0,-48,-12,-2" alignment="0.5,1,1,1" >
  2808.                 <imagestyle name="background">
  2809.                     <color_fill color = "color2" opacity="0.25"/>
  2810.                     <color_rect color = "color3" opacity="0.25"/>
  2811.                 </imagestyle>
  2812.                 <imagestyle name="theme1">
  2813.                     <color_fill color = "0xFF99EE00" opacity="0.25"/>
  2814.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2815.                 </imagestyle>
  2816.                 <imagestyle name="theme2">
  2817.                     <color_fill color = "0xFFB83F3F" opacity="0.25"/>
  2818.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2819.                 </imagestyle>
  2820.                 <imagestyle name="theme3">
  2821.                     <color_fill color = "0xFFCBFF66" opacity="0.25"/>
  2822.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2823.                 </imagestyle>
  2824.                 <imagestyle name="theme4">
  2825.                     <color_fill color = "0xFFFF0000" opacity="0.25"/>
  2826.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2827.                 </imagestyle>
  2828.                 <imagestyle name="theme5">
  2829.                     <color_fill color = "0xFFBBBBBB" opacity="0.25"/>
  2830.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2831.                 </imagestyle>
  2832.                 <imagestyle name="theme6">
  2833.                     <color_fill color = "0xFF00CCFF" opacity="0.25"/>
  2834.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2835.                 </imagestyle>
  2836.                 <imagestyle name="theme7">
  2837.                     <color_fill color = "0xFFFF0000" opacity="0.25"/>
  2838.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2839.                 </imagestyle>
  2840.                 <imagestyle name="theme8">
  2841.                     <color_fill color = "0xFF00B200" opacity="0.25"/>
  2842.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2843.                 </imagestyle>
  2844.                 <imagestyle name="theme9">
  2845.                     <color_fill color = "0xFF588FBA" opacity="0.25"/>
  2846.                     <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  2847.                 </imagestyle>
  2848.                 <imagestyle name="theme10">
  2849.                     <color_fill color = "theme10_color2" opacity="0.25"/>
  2850.                     <color_rect color = "theme10_color3" opacity="0.25"/>
  2851.                 </imagestyle>
  2852.                 <window name="balance_label_window" type="textdisplay" alignment="0,0,0,0" offset="2,2,62,14" transparent="true">
  2853.                     <property font_style="my_font_10" font_color="color3" font_justification="right|v_center" />
  2854.                     <script name="OnInit"> SetText( :language.Translate("eqwindow/label.balance")); </script>
  2855.                 </window>
  2856.                 <window name="pitch_label_window" type="textdisplay" alignment="0,0,0,0" offset="2,16,62,28" transparent="true">
  2857.                     <property font_style="my_font_10" font_color="color3" font_justification="right|v_center" />
  2858.                     <script name="OnInit"> SetText( :language.Translate("eqwindow/label.pitch")); </script>
  2859.                 </window>
  2860.                 <window name="amp_label_window" type="textdisplay" alignment="0,0,0,0" offset="2,30,62,44" transparent="true">
  2861.                     <property font_style="my_font_10" font_color="color3" font_justification="right|v_center" />
  2862.                     <script name="OnInit"> SetText( :language.Translate("eqwindow/label.amp")); </script>
  2863.                 </window>
  2864.                 <window name="bal_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE"
  2865.                         offset="64,6,-16,12" alignment="0,0,1,0" >
  2866.                     <property orientation="left_to_right" outer_handle_offset_rect="-3.5,0,3.5,7"/>
  2867.                     <imagestyle name="barempty"> <raster source="color.psd|pab_bar_empty" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2868.                     <imagestyle name="barfilled"><raster source="color.psd|pab_bar_full" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2869.                     <imagestyle name="handle"><raster source="color.psd|pab_bar_handle" blendmode="ps_normal"  /></imagestyle>
  2870.                     <script name="OnInit"> 
  2871.                         SetHoverHint(:language.Translate("eqwindow/hint.balance"));
  2872.                         SetMin(-100);
  2873.                         SetMax(100);
  2874.                         :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateDisplay()", this);
  2875.                         UpdateDisplay();
  2876.                     </script>
  2877.                     <script name="OnDestroy">
  2878.                         // NB: bug - this OnDestroy being called twice!  todo.  
  2879.                         :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  2880.                     </script>
  2881.                     <script name="OnPosChange">
  2882.                         $bal = GetIntPos();
  2883.                         $realbal = $bal/100;
  2884.                         if($bal gt 0){
  2885.                             $pos = :language.Translate("eqwindow/hint.right");
  2886.                         }
  2887.                         if($bal lt 0){
  2888.                             $pos = :language.Translate("eqwindow/hint.left");
  2889.                             $bal = -1*$bal;
  2890.                         }
  2891.                         if($bal == 0){
  2892.                             $pos = :language.Translate("eqwindow/hint.center");
  2893.                         }
  2894.                         :sonique.Status(:language.Translate("eqwindow/hint.balance") | "  " | $bal | "%  " | $pos);
  2895.                         :sonique.players.default.pitchampbal.SetBalance($realbal);
  2896.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  2897.                     </script>
  2898.                     <script name="UpdateDisplay">
  2899.                         $bal = :sonique.players.default.pitchampbal.GetBalance()*100;
  2900.                         SetIntPos($bal);
  2901.                     </script>
  2902.                 </window>
  2903.                 <window name="pitch_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE" 
  2904.                         offset="64,20,-16,26" alignment="0,0,1,0" >
  2905.                     <property orientation="left_to_right" outer_handle_offset_rect="-3.5,0,3.5,7"/>
  2906.                     <imagestyle name="barempty"> <raster source="color.psd|pab_bar_empty" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2907.                     <imagestyle name="barfilled"> <raster source="color.psd|pab_bar_full" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2908.                     <imagestyle name="handle"><raster source="color.psd|pab_bar_handle" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2909.                     <script name="OnInit"> 
  2910.                         SetHoverHint(:language.Translate("eqwindow/hint.pitch"));
  2911.                         // 0.125 to 8.0 is the range for pitch.  convert it to relative integers (reals don't seem to work so well right now with the fillbar)
  2912.                         $min = :math.Truncate(100*((:math.Log( 2, 0.125 )+3)/6));
  2913.                         $max = :math.Truncate(100*((:math.Log( 2, 8.0 )+3)/6));
  2914.                         SetMin($min);
  2915.                         SetMax($max);
  2916.                         :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateDisplay()", this);
  2917.                         UpdateDisplay();
  2918.                     </script>
  2919.                     <script name="OnDestroy">
  2920.                         :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  2921.                     </script>
  2922.                     <script name="OnPosChange">
  2923.                         $pitch= :math.Power( 2, ( (GetIntPos()/100)*6-3 ) );
  2924.                         :sonique.players.default.pitchampbal.SetPitch($pitch);
  2925.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  2926.                         :sonique.Status(:language.Translate("eqwindow/hint.pitch") | "  " | $pitch*100 | "%");
  2927.                     </script>
  2928.                     <script name="UpdateDisplay">
  2929.                         $pitch = :sonique.players.default.pitchampbal.GetPitch();
  2930.                         $relpitch = :math.Truncate(100*((:math.Log( 2, $pitch )+3)/6));
  2931.                         SetIntPos( $relpitch );
  2932.                     </script>
  2933.                 </window>
  2934.                 <window name="amp_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE"
  2935.                         offset="64,34,-16,40" alignment="0,0,1,0" >
  2936.                     <property orientation="left_to_right" outer_handle_offset_rect="-3.5,0,3.5,7"/>
  2937.                     <imagestyle name="barempty"> <raster source="color.psd|pab_bar_empty" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2938.                     <imagestyle name="barfilled"> <raster source="color.psd|pab_bar_full" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  2939.                     <imagestyle name="handle"><raster source="color.psd|pab_bar_handle" blendmode="ps_normal"  /></imagestyle>
  2940.                     <script name="OnInit"> 
  2941.                         SetHoverHint(:language.Translate("eqwindow/hint.amp"));
  2942.                         // 0.125 to 8.0 is the range for amplification.  convert it to relative integers (reals don't seem to work so well right now with the fillbar)
  2943.                         $min = :math.Truncate(100*((:math.Log( 2, 0.125 )+3)/6));
  2944.                         $max = :math.Truncate(100*((:math.Log( 2, 8.0 )+3)/6));
  2945.                         SetMin($min);
  2946.                         SetMax($max);
  2947.                         :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateDisplay()", this);
  2948.                         UpdateDisplay();
  2949.                     </script>
  2950.                     <script name="OnDestroy">
  2951.                         // NB: bug - this OnDestroy being called twice!  todo.  
  2952.                         :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  2953.                     </script>
  2954.                     <script name="OnPosChange">
  2955.                         $amp= :math.Power( 2, ( (GetIntPos()/100)*6-3 ) );
  2956.                         :sonique.players.default.pitchampbal.SetAmplification($amp);
  2957.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  2958.                         :sonique.Status(:language.Translate("eqwindow/hint.amp") | "  " | $amp*100 | "%");
  2959.                     </script>
  2960.                     <script name="UpdateDisplay">
  2961.                         $amp = :sonique.players.default.pitchampbal.GetAmplification();
  2962.                         $relAmp = :math.Truncate(100*((:math.Log( 2, $amp )+3)/6));
  2963.                         SetIntPos( $relAmp );
  2964.                     </script>
  2965.                 </window>
  2966.  
  2967.                 <window name="reset_balance_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-12,5,-2,14" alignment="1,0,1,0">
  2968.                     <property hover="true" />
  2969.                     <imagestyle name="state0">
  2970.                         <raster state="hit,hover" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  2971.                         <raster state="normal" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"/>
  2972.                     </imagestyle> 
  2973.                     <imagestyle name="state1">
  2974.                         <raster state="hit,hover" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"  />
  2975.                         <raster state="normal" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  2976.                     </imagestyle>
  2977.                     <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.resetbalance"));    </script>
  2978.                     <script name="OnClick">
  2979.                         :sonique.players.default.pitchampbal.SetBalance(0);
  2980.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  2981.                         :sonique.Status(:language.Translate("eqwindow/hint.balance") | "  0%  " | :language.Translate("eqwindow/hint.center"));
  2982.                     </script>
  2983.                 </window>
  2984.  
  2985.                 <window name="reset_pitch_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-12,19,-2,28" alignment="1,0,1,0">
  2986.                     <property hover="true" />
  2987.                     <imagestyle name="state0">
  2988.                         <raster state="hit,hover" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  2989.                         <raster state="normal" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"/>
  2990.                     </imagestyle> 
  2991.                     <imagestyle name="state1">
  2992.                         <raster state="hit,hover" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"  />
  2993.                         <raster state="normal" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  2994.                     </imagestyle>
  2995.                     <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.resetpitch"));    </script>
  2996.                     <script name="OnClick">
  2997.                         :sonique.players.default.pitchampbal.SetPitch(1);
  2998.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  2999.                         :sonique.Status(:language.Translate("eqwindow/hint.pitch") | "  100%");
  3000.                     </script>
  3001.                 </window>
  3002.  
  3003.                 <window name="reset_amp_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-12,33,-3,42" alignment="1,0,1,0">
  3004.                     <property hover="true" />
  3005.                     <imagestyle name="state0">
  3006.                         <raster state="hit,hover" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  3007.                         <raster state="normal" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"/>
  3008.                     </imagestyle> 
  3009.                     <imagestyle name="state1">
  3010.                         <raster state="hit,hover" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"  />
  3011.                         <raster state="normal" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  3012.                     </imagestyle>
  3013.                     <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.resetamp"));    </script>
  3014.                     <script name="OnClick">
  3015.                         :sonique.players.default.pitchampbal.SetAmplification(1);
  3016.                         :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  3017.                         :sonique.Status(:language.Translate("eqwindow/hint.amp") | "  100%");
  3018.                     </script>
  3019.                 </window>
  3020.             </window> // eq_pab_window
  3021.         </window> // main eq window
  3022.  
  3023.         <window name="eq_controls_window" transparent="true" >
  3024.             <script name="ViewWindow">
  3025.                 detach_window_icon_window.SetOffset({-84,33,-73,43},0,1000,"linear_accel");
  3026.                 full_window_icon_window.SetOffset({-82,50,-74,57},0,1000,"linear_accel");
  3027.             </script>
  3028.             <script name="HideWindow">                
  3029.                 detach_window_icon_window.SetOffset({-84,-33,-73,-43},0,1000,"linear_accel");
  3030.                 full_window_icon_window.SetOffset({-82,-50,-74,-57},0,1000,"linear_accel");
  3031.             </script>
  3032.             <window name="detach_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  3033.                 <property hover="true" />
  3034.                 <imagestyle name="state0">
  3035.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  3036.                     <raster state="normal" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"/>
  3037.                 </imagestyle> 
  3038.                 <imagestyle name="state1">
  3039.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|detach_window_icon" blendmode="ps_normal"  />
  3040.                     <raster state="normal" opacity="0.75" source="grayscale.psd|detach_window_icon" blendmode="ps_normal" />
  3041.                 </imagestyle>
  3042.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.detachwindow"));    </script>
  3043.                 <script name="OnClick"> main_eq_window.DetachWindow(); </script>
  3044.             </window>
  3045.  
  3046.             <window name="full_window_icon_window" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  3047.                 <property hover="true" />
  3048.                 <imagestyle name="state0">
  3049.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  3050.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"/>
  3051.                 </imagestyle> 
  3052.                 <imagestyle name="state1">
  3053.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal"  />
  3054.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_window_visual_icon" blendmode="ps_normal" />
  3055.                 </imagestyle>
  3056.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.fullviswindow")); </script>
  3057.                 <script name="OnClick"> main.ToggleFullWindowVis();</script>
  3058.             </window>
  3059.         </window>
  3060.  
  3061.         <window name="status_display_window" type="Sonique2_StatusBar" hidden="true" transparent="true" shape="my_shape"
  3062.                     alignment="0,1,1,1" offset="24,-52,-183,-34">
  3063.             <shape name="my_shape"> <shape_roundrect corner_size="5,5" /></shape>
  3064.             <imagestyle name="background">
  3065.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  3066.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3067.             </imagestyle>
  3068.             <imagestyle name="theme1">
  3069.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  3070.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3071.             </imagestyle>
  3072.             <imagestyle name="theme2">
  3073.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  3074.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3075.             </imagestyle>
  3076.             <imagestyle name="theme3">
  3077.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  3078.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3079.             </imagestyle>
  3080.             <imagestyle name="theme4">
  3081.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  3082.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3083.             </imagestyle>
  3084.             <imagestyle name="theme5">
  3085.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  3086.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3087.             </imagestyle>
  3088.             <imagestyle name="theme6">
  3089.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  3090.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3091.             </imagestyle>
  3092.             <imagestyle name="theme7">
  3093.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  3094.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3095.             </imagestyle>
  3096.             <imagestyle name="theme8">
  3097.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  3098.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3099.             </imagestyle>
  3100.             <imagestyle name="theme9">
  3101.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  3102.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3103.             </imagestyle>
  3104.             <imagestyle name="theme10">
  3105.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  3106.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3107.             </imagestyle>
  3108.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  3109.                     rect_status_offset="10,3,-10,-3" rect_progress_offset="10,2,-10,-2"
  3110.                     info_font_style="my_font_10" info_font_color="color3" info_font_justification="left|v_center|single_line_only"
  3111.                     error_font_style="my_font_10" error_font_color="color_todo_1" error_font_justification="left|v_center|single_line_only" 
  3112.                     warning_font_style="my_font_10" warning_font_color="color_todo_2" warning_font_justification="left|v_center|single_line_only" 
  3113.                     fallback_font_style="my_font_10" fallback_font_color="color3" fallback_font_justification="left|v_center|single_line_only"
  3114.                 />
  3115.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3116.         </window>
  3117.         <window name="status_shadow" transparent="true" hidden="true" alignment="0,1,1,1" offset="22,-53,-176,-26" >
  3118.             <imagestyle name="background"> <raster source="grayscale.psd|status_shadow" blendmode="ps_normal" fillmode="resize" inner_rect="177,260,178,261" outer_rect="57,248,273,275" /></imagestyle>
  3119.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3120.         </window>
  3121.  
  3122.         <window name="advanced_icons_window" hidden="true" transparent="true" shape="my_shape" offset="30,-78,199,-62" alignment= "0,1,0,1" >
  3123.             <shape name="my_shape">
  3124.                 <shape_roundrect corner_size="5,5" />
  3125.             </shape>
  3126.             <imagestyle name="background">
  3127.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  3128.                 <color_rect color="color1"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3129.             </imagestyle>
  3130.             <imagestyle name="theme1">
  3131.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  3132.                 <color_rect color="0xFF303030"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3133.             </imagestyle>
  3134.             <imagestyle name="theme2">
  3135.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  3136.                 <color_rect color="0xFFFF9900"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3137.             </imagestyle>
  3138.             <imagestyle name="theme3">
  3139.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  3140.                 <color_rect color="0xFF28497F"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3141.             </imagestyle>
  3142.             <imagestyle name="theme4">
  3143.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  3144.                 <color_rect color="0xFF000000"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3145.             </imagestyle>
  3146.             <imagestyle name="theme5">
  3147.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  3148.                 <color_rect color="0xFF888888"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3149.             </imagestyle>
  3150.             <imagestyle name="theme6">
  3151.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  3152.                 <color_rect color="0xFF303030"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3153.             </imagestyle>
  3154.             <imagestyle name="theme7">
  3155.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  3156.                 <color_rect color="0xFF606060"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3157.             </imagestyle>
  3158.             <imagestyle name="theme8">
  3159.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  3160.                 <color_rect color="0xFF143B14"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3161.             </imagestyle>
  3162.             <imagestyle name="theme9">
  3163.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  3164.                 <color_rect color="0xFF303030"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3165.             </imagestyle>
  3166.             <imagestyle name="theme10">
  3167.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  3168.                 <color_rect color="theme10_color1"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  3169.             </imagestyle>
  3170.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3171.  
  3172.             <window name="console_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-141,-13,-130,-3" alignment="1,1,1,1">
  3173.                 <property hover="true" />
  3174.                 <imagestyle name="state0">
  3175.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|console_icon" blendmode="ps_normal" />
  3176.                     <raster state="normal" opacity="1.0" source="grayscale.psd|console_icon" blendmode="ps_normal"/>
  3177.                 </imagestyle> 
  3178.                 <imagestyle name="state1">
  3179.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|console_icon" blendmode="ps_normal"  />
  3180.                     <raster state="normal" opacity="0.75" source="grayscale.psd|console_icon" blendmode="ps_normal" />
  3181.                 </imagestyle>
  3182.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.viewconsole")); </script>
  3183.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3184.                 <script name="OnClick"> 
  3185.                     MoveWindows("main_console_window");
  3186.                 </script>
  3187.                 <script name="OnRightButtonUp">
  3188.                     if(currentwindows[currentwindows.ArraySize()-1] == "main_console_window"){
  3189.                         MoveWindows("main_console_window");
  3190.                     }
  3191.                     :sonique.LaunchLocalWindow("console_popup");
  3192.                 </script>
  3193.             </window>
  3194.             <window name="wavewrite_silent_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  3195.                     offset="-124,-13,-111,-3" alignment="1,1,1,1" >
  3196.                 <property hover="true" />
  3197.                 <imagestyle name="state0"><raster opacity="1.0" source="grayscale.psd|wavewrite_icon_silent_off" blendmode="ps_normal" /></imagestyle> 
  3198.                 <imagestyle name="state1"><raster opacity="1.0" source="grayscale.psd|wavewrite_icon_silent_on" blendmode="ps_normal"  /></imagestyle>
  3199.                 <script name="OnInit"> 
  3200.                     SetButtonState(0);
  3201.                     SetHoverHint(:language.Translate("general/hint.wavewritesilent ")); 
  3202.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState(0);", this);
  3203.                 </script>
  3204.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3205.                 <script name="OnClick"> 
  3206.                     if (GetButtonState() == 1) {
  3207.                         :sonique.players.default.Stop();
  3208.                         UpdateState(0);
  3209.                     } else {
  3210.                         :sonique.players.default.WaveWrite(false);
  3211.                         UpdateState(1);
  3212.                     }
  3213.                 </script>
  3214.                 <script name="UpdateState">
  3215.                     if ($params[0] == 0) {
  3216.                         SetButtonState(0);
  3217.                         :sonique.Status(:language.Translate("general/status.startwavewrite") | " " | :sonique.players.default.settings.DiskWriterOutput.Get("destpath"));
  3218.                         SetHoverHint(:language.Translate("general/hint.wavewritesilent ")); 
  3219.                     } else {
  3220.                         SetButtonState(1);
  3221.                         :sonique.Status(:language.Translate("general/status.stopwavewrite") | " " | :sonique.players.default.settings.DiskWriterOutput.Get("destpath"));
  3222.                         SetHoverHint(:language.Translate("general/hint.stopwavewrite")); 
  3223.                     }
  3224.                 </script>
  3225.             </window>
  3226.             <window name="wavewrite_audible_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  3227.                     offset="-105,-13,-92,-3" alignment="1,1,1,1" >
  3228.                 <property hover="true" />
  3229.                 <imagestyle name="state0"><raster opacity="1.0" source="grayscale.psd|wavewrite_icon_audible_off" blendmode="ps_normal" /></imagestyle> 
  3230.                 <imagestyle name="state1"><raster opacity="1.0" source="grayscale.psd|wavewrite_icon_audible_on" blendmode="ps_normal"  /></imagestyle>
  3231.                 <script name="OnInit"> 
  3232.                     SetButtonState(0);
  3233.                     SetHoverHint(:language.Translate("general/hint.wavewriteaudible")); 
  3234.                 </script>
  3235.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3236.                 <script name="OnClick"> 
  3237.                     if (GetButtonState() == 1) {
  3238.                         :sonique.players.default.Stop();
  3239.                         SetButtonState(0);
  3240.                         :sonique.Status(:language.Translate("general/status.startwavewrite") | " " | :sonique.players.default.settings.DiskWriterOutput.Get("destpath"));
  3241.                         SetHoverHint(:language.Translate("general/hint.wavewriteaudible")); 
  3242.                     } else {
  3243.                         :sonique.players.default.WaveWrite(true);
  3244.                         SetButtonState(1);
  3245.                         :sonique.Status(:language.Translate("general/status.stopwavewrite") | " " | :sonique.players.default.settings.DiskWriterOutput.Get("destpath"));
  3246.                         SetHoverHint(:language.Translate("general/hint.stopwavewrite")); 
  3247.                     }
  3248.                 </script>
  3249.             </window>
  3250.             <window name="savestreams_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  3251.                     offset="-86,-13,-75,-2" alignment="1,1,1,1" >
  3252.                 <property hover="true" />
  3253.                 <imagestyle name="state0"><raster opacity="1.0" source="grayscale.psd|savestream_icon_off" blendmode="ps_normal" /></imagestyle> 
  3254.                 <imagestyle name="state1"><raster opacity="1.0" source="grayscale.psd|savestream_icon_on" blendmode="ps_normal"  /></imagestyle>
  3255.                 <script name="OnInit"> 
  3256.                     :sonique.players.default.RegisterCallback("SaveStreamsChanged","Update()", this);
  3257.                     Update();
  3258.                 </script>
  3259.                 <script name="OnDestroy"> 
  3260.                     :sonique.players.default.UnregisterCallback("SaveStreamsChanged", this);
  3261.                 </script>
  3262.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3263.                 <script name="OnClick"> 
  3264.                     $state = GetButtonState();
  3265.                     if ($state == 0) {
  3266.                         SetButtonState(1);
  3267.                         :sonique.players.default.SetSaveStreams(1);
  3268.                         :sonique.Status(:language.Translate("general/status.enablesavestream") | " " | :sonique.players.default.settings.DiskWriterOutput.Get("destpath"));
  3269.                     } else {
  3270.                         SetButtonState(0);
  3271.                         :sonique.players.default.SetSaveStreams(0);
  3272.                         :sonique.Status(:language.Translate("general/status.disablesavestream"));
  3273.                     }
  3274.                 </script>
  3275.                 <script name="Update">
  3276.                     if (:sonique.players.default.GetSaveStreams()) {
  3277.                         SetButtonState(1);
  3278.                         SetHoverHint(:language.Translate("general/hint.disablesavestream")); 
  3279.                     } else {
  3280.                         SetButtonState(0);
  3281.                         SetHoverHint(:language.Translate("general/hint.enablesavestreams ")); 
  3282.                     }
  3283.                 </script>
  3284.             </window>
  3285.             <window name="transition_method_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  3286.                     offset="-69,-13,-56,-2" alignment="1,1,1,1" >
  3287.                 <property hover="true" />
  3288.                 <imagestyle name="state0"><raster opacity="1.0" source="grayscale.psd|transition_normal_icon" blendmode="ps_normal" /></imagestyle> 
  3289.                 <imagestyle name="state1"><raster opacity="1.0" source="grayscale.psd|transition_seamless_icon" blendmode="ps_normal"  /></imagestyle>
  3290.                 <imagestyle name="state2"><raster opacity="1.0" source="grayscale.psd|transition_crossfade_icon" blendmode="ps_normal"  /></imagestyle>
  3291.                 <script name="OnInit"> 
  3292.                     :sonique.players.default.RegisterCallback("PlaybackMethodChanged","UpdateState()", this);
  3293.                     UpdateState();
  3294.                 </script>
  3295.                 <script name="OnDestroy"> 
  3296.                     :sonique.players.default.UnregisterCallback("PlaybackMethodChanged", this);
  3297.                 </script>
  3298.                 <script name="UpdateState">
  3299.                     $index =  { normal: 0, seamless: 1, crossfade: 2 }[:sonique.players.default.GetPlaybackMethod()["method"]];
  3300.                     $hints = { :language.Translate("general/hint.normaltransition"), :language.Translate("general/hint.seamlesstransition"), :language.Translate("general/hint.crossfadetransition") };
  3301.                     SetButtonState($index);    
  3302.                     SetHoverHint($hints[$index]);                     
  3303.                 </script>
  3304.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3305.                 <script name="OnClick">
  3306.                     $index = GetButtonState();
  3307.  
  3308.                     // no crossfade available for waveout
  3309.                     $endpoint = :sonique.players.GetDefaultEndpoint();
  3310.                     if ($endpoint == "waveOutOutput") {
  3311.                         $index = (($index + 1) % 2);
  3312.                     } else {
  3313.                         $index = (($index + 1) % 3);
  3314.                     }
  3315.  
  3316.                     if ($index == 2) {
  3317.                         :sonique.players.default.SetPlaybackMethod("Crossfade");
  3318.                     } else {
  3319.                         if ($index == 1) {
  3320.                             :sonique.players.default.SetPlaybackMethod("Seamless");
  3321.                         } else {
  3322.                             :sonique.players.default.SetPlaybackMethod("Normal");
  3323.                         }
  3324.                     }
  3325.                     UpdateState();
  3326.                 </script>
  3327.             </window>
  3328.             <window name="repeat_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  3329.                     offset="-50,-13,-38,2" alignment="1,1,1,1" >
  3330.                 <property hover="true" />
  3331.                 <imagestyle name="state0"><raster opacity="1.0" source="grayscale.psd|repeat_icon_off" blendmode="ps_normal"/></imagestyle> 
  3332.                 <imagestyle name="state1"><raster opacity="1.0" source="grayscale.psd|repeat_icon_all" blendmode="ps_normal"  /></imagestyle>
  3333.                 <imagestyle name="state2"><raster opacity="1.0" source="grayscale.psd|repeat_icon_one" blendmode="ps_normal" /></imagestyle>
  3334.                 <script name="OnInit"> 
  3335.                     :sonique.players.default.RegisterCallback("RepeatChanged","UpdateState()", this);
  3336.                     UpdateState();
  3337.                     SetHoverHint(:language.Translate("general/hint.repeat"));                     
  3338.                 </script>
  3339.                 <script name="OnDestroy"> 
  3340.                     :sonique.players.default.UnregisterCallback("RepeatChanged", this);
  3341.                 </script>
  3342.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3343.                 <script name="OnClick"> :sonique.players.default.ToggleRepeat(); </script>
  3344.                 <script name="UpdateState"> 
  3345.                     $state = :sonique.players.default.GetRepeat();
  3346.                     if ($state == "off") {
  3347.                         SetButtonState(0); 
  3348.                     }
  3349.                     if ($state == "all") {
  3350.                         SetButtonState(1); 
  3351.                     }
  3352.                     if ($state == "one") {
  3353.                         SetButtonState(2); 
  3354.                     }
  3355.                 </script>
  3356.             </window>
  3357.             <window name="shuffle_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  3358.                     offset="-34,-13,-22,1"  alignment="1,1,1,1" >
  3359.                 <property hover="true" />
  3360.                 <imagestyle name="state0"><raster opacity="1.0" source="grayscale.psd|shuffle_icon_off" blendmode="ps_normal" /></imagestyle> 
  3361.                 <imagestyle name="state1"><raster opacity="1.0" source="grayscale.psd|shuffle_icon_on" blendmode="ps_normal"  /></imagestyle>
  3362.                 <script name="OnInit"> 
  3363.                     :sonique.players.default.RegisterCallback("ShuffleChanged","UpdateState()", this);
  3364.                     UpdateState();
  3365.                     SetHoverHint(:language.Translate("general/hint.shuffle"));                     
  3366.                 </script>
  3367.                 <script name="OnDestroy"> 
  3368.                     :sonique.players.default.UnregisterCallback("ShuffleChanged", this);
  3369.                 </script>
  3370.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3371.                 <script name="OnClick"> :sonique.players.default.ToggleShuffle(); </script>
  3372.                 <script name="UpdateState"> 
  3373.                     $state = :sonique.players.default.GetShuffle();
  3374.                     if ($state == false) {
  3375.                         SetButtonState(0); 
  3376.                     }
  3377.                     if ($state == true) {
  3378.                         SetButtonState(1); 
  3379.                     }
  3380.                 </script>
  3381.             </window>
  3382.             <window name="info_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-16,-13,-6,-3" alignment="1,1,1,1">
  3383.                 <property hover="true" />
  3384.                 <imagestyle name="state0">
  3385.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|info_window_icon" blendmode="ps_normal" />
  3386.                     <raster state="normal" opacity="1.0" source="grayscale.psd|info_window_icon" blendmode="ps_normal"/>
  3387.                 </imagestyle> 
  3388.                 <imagestyle name="state1">
  3389.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|info_window_icon" blendmode="ps_normal"  />
  3390.                     <raster state="normal" opacity="0.75" source="grayscale.psd|info_window_icon" blendmode="ps_normal" />
  3391.                 </imagestyle>
  3392.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.viewinfowindow")); </script>
  3393.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3394.                 <script name="OnClick"> 
  3395.                     if (info_window.visible == 0) {
  3396.                         info_window.visible = 1;
  3397.                         info_window.Show();
  3398.                         SetHoverHint(:language.Translate("defaultskin/hint.hideinfowindow"));
  3399.                     } else {
  3400.                         info_window.visible = 0;
  3401.                         info_window.Hide();
  3402.                         SetHoverHint(:language.Translate("defaultskin/hint.viewinfowindow"));
  3403.                     }
  3404.                 </script>
  3405.             </window> 
  3406.         </window> <!-- advanced_icons_window -->
  3407.  
  3408.         <window name="death_star_window" alignment="0,1,1,1" transparent="true" hidden="true"
  3409.                 shape="my_shape"  offset="27,-84,-362,-58" >
  3410.             <shape name="my_shape"><shape_raster source="grayscale.psd|advanced_icons_bg_shape_sphere" /></shape>
  3411.             <imagestyle name="background">
  3412.                 <color_fill color="color1" blendmode="ps_normal" opacity="1.0" />
  3413.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  3414.             </imagestyle>
  3415.             <imagestyle name="theme1">
  3416.                 <color_fill color="0xFF303030" blendmode="ps_normal" opacity="1.0" />
  3417.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  3418.             </imagestyle>
  3419.             <imagestyle name="theme2">
  3420.                 <color_fill color="0xFFFF9900" blendmode="ps_normal" opacity="1.0" />
  3421.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  3422.             </imagestyle>
  3423.             <imagestyle name="theme3">
  3424.                 <color_fill color="0xFF28497F" blendmode="ps_normal" opacity="1.0" />
  3425.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  3426.             </imagestyle>
  3427.             <imagestyle name="theme4">
  3428.                 <color_fill color="0xFF000000" blendmode="ps_normal" opacity="1.0" />
  3429.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  3430.             </imagestyle>
  3431.             <imagestyle name="theme5">
  3432.                 <color_fill color="0xFF888888" blendmode="ps_normal" opacity="1.0" />
  3433.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  3434.             </imagestyle>
  3435.             <imagestyle name="theme6">
  3436.                 <color_fill color="0xFF303030" blendmode="ps_normal" opacity="1.0" />
  3437.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  3438.             </imagestyle>
  3439.             <imagestyle name="theme7">
  3440.                 <color_fill color="0xFF606060" blendmode="ps_normal" opacity="1.0" />
  3441.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  3442.             </imagestyle>
  3443.             <imagestyle name="theme8">
  3444.                 <color_fill color="0xFF143B14" blendmode="ps_normal" opacity="1.0" />
  3445.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  3446.             </imagestyle>
  3447.             <imagestyle name="theme9">
  3448.                 <color_fill color="0xFF303030" blendmode="ps_normal" opacity="1.0" />
  3449.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  3450.             </imagestyle>
  3451.             <imagestyle name="theme10">
  3452.                 <color_fill color="theme10_color1" blendmode="ps_normal" opacity="1.0" />
  3453.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  3454.             </imagestyle>
  3455.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3456.  
  3457.             <window name="death_star_window_button" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="0,-26,26,0" alignment="0,1,0,1">
  3458.                 <property hover="true" />
  3459.                 <shape name="my_shape"><shape_raster source="grayscale.psd|sonique_death_star"  /></shape>
  3460.                 <imagestyle name="state0">
  3461.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|sonique_death_star" blendmode="ps_normal" />
  3462.                     <raster state="normal" opacity="1.0" source="grayscale.psd|sonique_death_star" blendmode="ps_normal"/>
  3463.                 </imagestyle> 
  3464.                 <imagestyle name="state1">
  3465.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|sonique_death_star" blendmode="ps_normal"  />
  3466.                     <raster state="normal" opacity="0.75" source="grayscale.psd|sonique_death_star" blendmode="ps_normal" />
  3467.                 </imagestyle>
  3468.                 <script name="OnIntro">
  3469.                     SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel");
  3470.  
  3471.                     // retracted  = 0
  3472.                     // normal_out = 1
  3473.                     // normal_in  = 2
  3474.                     // extracted  = 3
  3475.  
  3476.                     normal_offset={30,-78,108,-62}; 
  3477.                     extracted_offset={30,-78,199,-62};
  3478.                     retracted_offset={30,-78,30,-62};
  3479.  
  3480.                     state=:sonique.InterfacePrefsGetString("main", "death_mode");
  3481.                     if (state == 0) {
  3482.                         advanced_icons_window.SetOffset(retracted_offset,0,1000,"linear_accel");
  3483.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarexpand"));
  3484.                     } else if (state == 1) {
  3485.                         advanced_icons_window.SetOffset(normal_offset,0,1000,"linear_accel");
  3486.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarexpand"));
  3487.                     } else if (state == 2) {
  3488.                         advanced_icons_window.SetOffset(normal_offset,0,1000,"linear_accel");
  3489.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarretract"));
  3490.                     } else if (state == 3) {
  3491.                         advanced_icons_window.SetOffset(extracted_offset,0,1000,"linear_accel");
  3492.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarretract"));
  3493.                     }                        
  3494.                 </script>
  3495.                 <script name="OnClick"> 
  3496.                     if (state == 0) {
  3497.                         advanced_icons_window.SetOffset(normal_offset,0,1000,"linear_accel");
  3498.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarexpand"));
  3499.                         state=1;
  3500.                     } else if (state == 1) {
  3501.                         advanced_icons_window.SetOffset(extracted_offset,0,1000,"linear_accel");
  3502.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarretract"));
  3503.                         state=3;
  3504.                     } else if (state == 2) {
  3505.                         advanced_icons_window.SetOffset(retracted_offset,0,1000,"linear_accel");
  3506.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarexpand"));
  3507.                         state=0;
  3508.                     } else if (state == 3) {
  3509.                         advanced_icons_window.SetOffset(normal_offset,0,1000,"linear_accel");
  3510.                         SetHoverHint(:language.Translate("defaultskin/hint.deathstarretract"));
  3511.                         state=2;
  3512.                     }
  3513.                 </script>
  3514.                 <script name="OnDestroy">
  3515.                     :sonique.InterfacePrefsSetString("main", "death_mode", state);
  3516.                 </script>
  3517.             </window> <!-- death_star_window -->
  3518.         </window>
  3519.         <window name="death_star_shadow" transparent="true" hidden="true" alignment="0,1,1,1" offset="26,-84,-355,-50" >
  3520.             <imagestyle name="background"> <raster source="grayscale.psd|advanced_icons_sphere_shadow" blendmode="ps_normal" /></imagestyle>
  3521.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3522.         </window>
  3523.  
  3524.  
  3525.         <window name="righthand_bar_window" hidden="true" transparent="true" alignment="1,1,1,1" shape="my_shape" offset="-248,-86,-138,-67" >
  3526.             <shape name="my_shape">
  3527.                 <shape_raster source="grayscale.psd|setup_skins_id3_bg_shape" />
  3528.             </shape>
  3529.             <imagestyle name="background"><color_fill color="color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3530.             <imagestyle name="theme1"><color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3531.             <imagestyle name="theme2"><color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3532.             <imagestyle name="theme3"><color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3533.             <imagestyle name="theme4"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3534.             <imagestyle name="theme5"><color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3535.             <imagestyle name="theme6"><color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3536.             <imagestyle name="theme7"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3537.             <imagestyle name="theme8"><color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3538.             <imagestyle name="theme9"><color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3539.             <imagestyle name="theme10"><color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3540.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3541.  
  3542.             <window name="add_directory_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="6,4,17,-1" alignment="0,0,0,1">
  3543.                 <property hover="true" />
  3544.                 <imagestyle name="state0">
  3545.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal" />
  3546.                     <raster state="normal" opacity="1.0" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal"/>
  3547.                 </imagestyle> 
  3548.                 <imagestyle name="state1">
  3549.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal"  />
  3550.                     <raster state="normal" opacity="0.75" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal" />
  3551.                 </imagestyle>
  3552.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.adddirectory"));    </script>
  3553.                 <script name="OnClick">
  3554.                     $dir=:sonique.BrowseForFolder("Add folder..."); 
  3555.                     if ($dir) {:sonique.AddFile($dir);}
  3556.                 </script>
  3557.             </window>
  3558.  
  3559.             <window name="append_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="23,4,32,-1" alignment="0,0,0,1">
  3560.                 <property hover="true" />
  3561.                 <imagestyle name="state0">
  3562.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal" />
  3563.                     <raster state="normal" opacity="1.0" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal"/>
  3564.                 </imagestyle> 
  3565.                 <imagestyle name="state1">
  3566.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal"  />
  3567.                     <raster state="normal" opacity="0.75" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal" />
  3568.                 </imagestyle>
  3569.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.append"));</script>
  3570.                 <script name="OnClick">:sonique.LoadPlaylistFile(:sonique.playlists.default,"true");</script>
  3571.             </window>
  3572.  
  3573.             <window name="add_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="38,4,48,-1" alignment="0,0,0,1">
  3574.                 <property hover="true" />
  3575.                 <imagestyle name="state0">
  3576.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal" />
  3577.                     <raster state="normal" opacity="1.0" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal"/>
  3578.                 </imagestyle> 
  3579.                 <imagestyle name="state1">
  3580.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal"  />
  3581.                     <raster state="normal" opacity="0.75" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal" />
  3582.                 </imagestyle>
  3583.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.load"));</script>
  3584.                 <script name="OnClick"> :sonique.LoadPlaylistFile(); </script>
  3585.             </window>
  3586.  
  3587.             <window name="add_cd_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="54,4,64,-1" alignment="0,0,0,1">
  3588.                 <property hover="true" />
  3589.                 <imagestyle name="state0">
  3590.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|cd_icon" blendmode="ps_normal" />
  3591.                     <raster state="normal" opacity="1.0" source="grayscale.psd|cd_icon" blendmode="ps_normal"/>
  3592.                 </imagestyle> 
  3593.                 <imagestyle name="state1">
  3594.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|cd_icon" blendmode="ps_normal"  />
  3595.                     <raster state="normal" opacity="0.75" source="grayscale.psd|cd_icon" blendmode="ps_normal" />
  3596.                 </imagestyle>
  3597.                 <script name="OnInit"> 
  3598.                     //SetHoverHint(:language.Translate("playlistwindow/hint.addcd"));
  3599.                     SetHoverHint("WARNING: Not fully implemented, will Add all CD drives found.");
  3600.                 </script>
  3601.                 <script name="OnClick">    
  3602.                     // todo - if only one drive, just add.  otherwise, offer choices
  3603.                     $drives = :sonique.GetSystemDrives();        
  3604.                     for ($i in 1 to $drives.ArraySize()) {
  3605.                         $type = $drives[$i - 1]["type"];
  3606.                         if ($type == "5") {
  3607.                             $path = $drives[$i - 1]["drive"];
  3608.                             //AddItem({ Text: " " | $drives[$i - 1]["drive"], Data: $drives[$i - 1]["drive"]});
  3609.                             :sonique.Status(:language.Translate("playlistwindow/status.addcd") | " " | $path);
  3610.                             :sonique.playlists.default.AddAudioCD($path);
  3611.                         }
  3612.                     }
  3613.                 </script>
  3614.             </window>
  3615.  
  3616.             <window name="clear_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="70,4,80,-1" alignment="0,0,0,1">
  3617.                 <property hover="true" />
  3618.                 <imagestyle name="state0">
  3619.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal" />
  3620.                     <raster state="normal" opacity="1.0" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal"/>
  3621.                 </imagestyle> 
  3622.                 <imagestyle name="state1">
  3623.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal"  />
  3624.                     <raster state="normal" opacity="0.75" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal" />
  3625.                 </imagestyle>
  3626.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.clear"));</script>
  3627.                 <script name="OnClick">    :sonique.playlists.default.RemoveAll();    </script>
  3628.             </window>
  3629.  
  3630.             <window name="save_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="86,4,96,-1" alignment="0,0,0,1">
  3631.                 <property hover="true" />
  3632.                 <imagestyle name="state0">
  3633.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal" />
  3634.                     <raster state="normal" opacity="1.0" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal"/>
  3635.                 </imagestyle> 
  3636.                 <imagestyle name="state1">
  3637.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal"  />
  3638.                     <raster state="normal" opacity="0.75" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal" />
  3639.                 </imagestyle>
  3640.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.save"));</script>
  3641.                 <script name="OnClick">    :sonique.SavePlaylistFile(:sonique.playlists.default);    </script>
  3642.             </window> 
  3643.         </window> <!-- righthand_bar_window -->
  3644.  
  3645.         <window name="setup_skins_id3_shadow" transparent="true" hidden="true" alignment="1,1,1,1" offset="-255,-84,-132,-55" >
  3646.             <imagestyle name="background"> <raster source="grayscale.psd|setup_skins_id3_shadow" blendmode="ps_normal" /></imagestyle>
  3647.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3648.         </window>
  3649.  
  3650.  
  3651.         <window name="window_controls_window" transparent="true">
  3652.             <script name="OnIntro">
  3653.                 help_button_window.SetOffset({-82,9,-65,19},0,1500,"linear_accel");
  3654.                 always_on_top_button_window.SetOffset({-67,9,-50,19},0,1500,"linear_accel");
  3655.                 minimize_button_window.SetOffset({-53,9,-27,19},0,1500,"linear_accel");
  3656.                 close_button_window.SetOffset({-39,9,-22,19},0,1500,"linear_accel");
  3657.             </script>
  3658.  
  3659.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-1300,9,-1300,19" alignment="1,0,1,0">
  3660.                 <property hover="true" />
  3661.                 <shape name="my_shape"><shape_raster source="grayscale.psd|help_button"  /></shape>
  3662.                 <imagestyle name="state0">
  3663.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|help_button" blendmode="ps_normal" />
  3664.                     <raster state="normal" opacity="1.0" source="grayscale.psd|help_button" blendmode="ps_normal"/>
  3665.                 </imagestyle> 
  3666.                 <imagestyle name="state1">
  3667.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|help_button" blendmode="ps_normal"  />
  3668.                     <raster state="normal" opacity="0.75" source="grayscale.psd|help_button" blendmode="ps_normal" />
  3669.                 </imagestyle>
  3670.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.help")); </script>
  3671.                 <script name="OnClick"> :sonique.LaunchHelp(); </script>
  3672.             </window>
  3673.  
  3674.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-1250,9,-1250,19" alignment="1,0,1,0">
  3675.                 <property hover="true" />
  3676.                 <shape name="my_shape"><shape_raster source="grayscale.psd|always_on_top_button"  /></shape>
  3677.                 <imagestyle name="state0">
  3678.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|always_on_top_button" blendmode="ps_normal" />
  3679.                     <raster state="normal" opacity="1.0" source="grayscale.psd|always_on_top_button" blendmode="ps_normal"/>
  3680.                 </imagestyle> 
  3681.                 <imagestyle name="state1">
  3682.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|always_on_top_button" blendmode="ps_normal"  />
  3683.                     <raster state="normal" opacity="0.75" source="grayscale.psd|always_on_top_button" blendmode="ps_normal" />
  3684.                 </imagestyle>
  3685.                 <script name="OnInit">
  3686.                     $topstate = main.GetAlwaysOnTop();
  3687.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  3688.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  3689.                 </script>
  3690.                 <script name="OnClick"> 
  3691.                     $topstate = parent.parent.GetAlwaysOnTop();
  3692.                     if ($topstate == true) {
  3693.                         parent.parent.SetAlwaysOnTop(0);
  3694.                         SetButtonState(0);
  3695.                     } else {    
  3696.                         parent.parent.SetAlwaysOnTop(1);
  3697.                         SetButtonState(1);                        
  3698.                     }
  3699.                 </script>
  3700.                 <script name="UpdateAlwaysOnTopState">
  3701.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  3702.                 </script>
  3703.             </window>
  3704.  
  3705.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-1200,9,-1200,19" alignment="1,0,1,0">
  3706.                 <property hover="true" />
  3707.                 <shape name="my_shape"><shape_raster source="grayscale.psd|minimize_button"  /></shape>
  3708.                 <imagestyle name="state0">
  3709.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|minimize_button" blendmode="ps_normal" />
  3710.                     <raster state="normal" opacity="1.0" source="grayscale.psd|minimize_button" blendmode="ps_normal"/>
  3711.                 </imagestyle> 
  3712.                 <imagestyle name="state1">
  3713.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|minimize_button" blendmode="ps_normal"  />
  3714.                     <raster state="normal" opacity="0.75" source="grayscale.psd|minimize_button" blendmode="ps_normal" />
  3715.                 </imagestyle>
  3716.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  3717.                 <script name="OnClick"> main.MinimizeWindow(true); </script>
  3718.             </window>
  3719.  
  3720.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-1150,9,-1150,19" alignment="1,0,1,0">
  3721.                 <property hover="true" />
  3722.                 <shape name="my_shape"><shape_raster source="grayscale.psd|close_button"  /></shape>
  3723.                 <imagestyle name="state0">
  3724.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|close_button" blendmode="ps_normal" />
  3725.                     <raster state="normal" opacity="1.0" source="grayscale.psd|close_button" blendmode="ps_normal"/>
  3726.                 </imagestyle> 
  3727.                 <imagestyle name="state1">
  3728.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|close_button" blendmode="ps_normal"  />
  3729.                     <raster state="normal" opacity="0.75" source="grayscale.psd|close_button" blendmode="ps_normal" />
  3730.                 </imagestyle>
  3731.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin"));</script>
  3732.                 <script name="OnClick"> main.DestroyWindow();</script>
  3733.             </window>
  3734.         </window> <!-- window_controls_window -->
  3735.  
  3736.  
  3737.         <window name="main_circle_outer_shadow" transparent="true" hidden="true" alignment="1,1,1,1" offset="-165,-117,-12,2" >
  3738.             <imagestyle name="background"> <raster source="grayscale.psd|main_circle_outer_shadow" blendmode="PS_NORMAL" /></imagestyle>
  3739.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3740.         </window>
  3741.         <window name="outer_circle_window" hidden="true" hidden="true" transparent="true" shape="my_shape" alignment="1,1,1,1" offset="-167,-135,-19,-6" >
  3742.             <shape name="my_shape"><shape_raster source="grayscale.psd|main_circle_outer_bg_shape" /></shape>
  3743.             <imagestyle name="background"><color_fill color="color2" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3744.             <imagestyle name="theme1"><color_fill color="0xFF99EE00" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3745.             <imagestyle name="theme2"><color_fill color="0xFFB83F3F" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3746.             <imagestyle name="theme3"><color_fill color="0xFFCBFF66" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3747.             <imagestyle name="theme4"><color_fill color="0xFFFF0000" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3748.             <imagestyle name="theme5"><color_fill color="0xFFBBBBBB" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3749.             <imagestyle name="theme6"><color_fill color="0xFF00CCFF" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3750.             <imagestyle name="theme7"><color_fill color="0xFFFF0000" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3751.             <imagestyle name="theme8"><color_fill color="0xFF00B200" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3752.             <imagestyle name="theme9"><color_fill color="0xFF588FBA" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3753.             <imagestyle name="theme10"><color_fill color="theme10_color2" opacity="0.25" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3754.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3755.         </window>
  3756.         <window name="inner_circle_window" opacity="0.0" hidden="true" transparent="true"
  3757.                 alignment= "1,1,1,1" offset="-128,-97,-23,-3" >
  3758.             <imagestyle name="background"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="color2" opacity="0.35" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3759.             <imagestyle name="theme1"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFF99EE00" opacity="0.35" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3760.             <imagestyle name="theme2"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFFB83F3F" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3761.             <imagestyle name="theme3"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFFCBFF66" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3762.             <imagestyle name="theme4"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFFFF0000" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3763.             <imagestyle name="theme5"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFFBBBBBB" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3764.             <imagestyle name="theme6"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFF00CCFF" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3765.             <imagestyle name="theme7"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFFFF0000" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3766.             <imagestyle name="theme8"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFF00B200" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3767.             <imagestyle name="theme9"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="0xFF588FBA" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3768.             <imagestyle name="theme10"><color_ellipse alignment="0,0,1,1," offset="0,0,0,11" filled="true" color="theme10_color2" opacity="0.15" blendmode="COPY|RGB|ALPHA_SRCALPHA" /></imagestyle>
  3769.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3770.         </window>
  3771.         <window name="controls_background_window" hidden="true" opacity="0.0" transparent="true" >
  3772.             <imagestyle name="background">
  3773.                 <raster source="grayscale.psd|controls_background_shape" alignment="1,1,1,1" offset="grayscale.psd|controls_background_shape @ grayscale.psd|chassis" blendmode="ps_normal" />
  3774.             </imagestyle>
  3775.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3776.         </window>
  3777.  
  3778.         <window name="next_track_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-132,-56,-117,-41" alignment="1,1,1,1">
  3779.             <property hover="true" />
  3780.             <imagestyle name="state0">
  3781.                 <raster state="hit,hover" opacity="0.75" source="grayscale.psd|track_ahead_button" blendmode="ps_normal" />
  3782.                 <raster state="normal" opacity="1.0" source="grayscale.psd|track_ahead_button" blendmode="ps_normal"/>
  3783.             </imagestyle> 
  3784.             <imagestyle name="state1">
  3785.                 <raster state="hit,hover" opacity="1.0" source="grayscale.psd|track_ahead_button" blendmode="ps_normal"  />
  3786.                 <raster state="normal" opacity="0.75" source="grayscale.psd|track_ahead_button" blendmode="ps_normal" />
  3787.             </imagestyle>
  3788.             <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  3789.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3790.             <script name="OnClick"> :sonique.players.default.Next();</script>
  3791.         </window>
  3792.  
  3793.         <window name="prev_track_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-160,-56,-145,-41" alignment="1,1,1,1">
  3794.             <property hover="true" />
  3795.             <imagestyle name="state0">
  3796.                 <raster state="hit,hover" opacity="0.75" source="grayscale.psd|track_back_button" blendmode="ps_normal" />
  3797.                 <raster state="normal" opacity="1.0" source="grayscale.psd|track_back_button" blendmode="ps_normal"/>
  3798.             </imagestyle> 
  3799.             <imagestyle name="state1">
  3800.                 <raster state="hit,hover" opacity="1.0" source="grayscale.psd|track_back_button" blendmode="ps_normal"  />
  3801.                 <raster state="normal" opacity="0.75" source="grayscale.psd|track_back_button" blendmode="ps_normal" />
  3802.             </imagestyle>
  3803.             <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  3804.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3805.             <script name="OnClick"> :sonique.players.default.Previous();</script>
  3806.         </window>
  3807.  
  3808.         <window name="open_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-51,-66,-36,-51" alignment="1,1,1,1">
  3809.             <property hover="true" />
  3810.             <imagestyle name="state0">
  3811.                 <raster state="hit,hover" opacity="0.75" source="grayscale.psd|file_open_button" blendmode="ps_normal" />
  3812.                 <raster state="normal" opacity="1.0" source="grayscale.psd|file_open_button" blendmode="ps_normal"/>
  3813.             </imagestyle> 
  3814.             <imagestyle name="state1">
  3815.                 <raster state="hit,hover" opacity="1.0" source="grayscale.psd|file_open_button" blendmode="ps_normal"  />
  3816.                 <raster state="normal" opacity="0.75" source="grayscale.psd|file_open_button" blendmode="ps_normal" />
  3817.             </imagestyle>
  3818.             <script name="OnInit">SetHoverHint(:language.Translate("general/hint.openfiles")); </script>
  3819.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3820.             <script name="OnClick"> :sonique.OpenFiles(); </script>
  3821.         </window>
  3822.  
  3823.         <window name="stop_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-142,-29,-135,-22" alignment="1,1,1,1">
  3824.             <property hover="true" />
  3825.             <imagestyle name="state0">
  3826.                 <raster state="hit,hover" opacity="0.75" source="grayscale.psd|stop_button" blendmode="ps_normal" />
  3827.                 <raster state="normal" opacity="1.0" source="grayscale.psd|stop_button" blendmode="ps_normal"/>
  3828.             </imagestyle> 
  3829.             <imagestyle name="state1">
  3830.                 <raster state="hit,hover" opacity="1.0" source="grayscale.psd|stop_button" blendmode="ps_normal"  />
  3831.                 <raster state="normal" opacity="0.75" source="grayscale.psd|stop_button" blendmode="ps_normal" />
  3832.             </imagestyle>
  3833.             <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  3834.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3835.             <script name="OnClick"> :sonique.players.default.Stop(); </script>
  3836.         </window>
  3837.         <window name="play_pause_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" 
  3838.                     offset="-78,-48,-64,-34" alignment="1,1,1,1" >
  3839.             <property hover="true" />
  3840.             <imagestyle name="state0">
  3841.                 <raster state="hit,hover" source="grayscale.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  3842.                 <raster state="normal" source="grayscale.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  3843.             </imagestyle> 
  3844.             <imagestyle name="state1">
  3845.                 <raster state="hit,hover" source="grayscale.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  3846.                 <raster state="normal" source="grayscale.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  3847.             </imagestyle> 
  3848.             <script name="OnInit">
  3849.                 :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  3850.                 :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  3851.                 :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  3852.                 UpdateState();
  3853.             </script>
  3854.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3855.             <script name="OnClick"> 
  3856.                 if (:sonique.players.default.IsPlaying()) {
  3857.                     :sonique.players.default.TogglePause(); 
  3858.                 } else { 
  3859.                     :sonique.players.default.Play(); 
  3860.                 } 
  3861.                 UpdateState();
  3862.             </script>
  3863.             <script name="UpdateState">
  3864.                 if (:sonique.players.default.IsPlaying()) {
  3865.                     if (:sonique.players.default.IsPaused()) {
  3866.                         SetButtonState(0);
  3867.                         SetHoverHint(:language.Translate("general/hint.play")); 
  3868.                     } else {
  3869.                         SetButtonState(1);
  3870.                         SetHoverHint(:language.Translate("general/hint.pause")); 
  3871.                     }
  3872.                 } else { 
  3873.                     SetButtonState(0);
  3874.                     SetHoverHint(:language.Translate("general/hint.play")); 
  3875.                 } 
  3876.             </script>
  3877.             <script name="OnDestroy">
  3878.                 :sonique.players.default.UnregisterCallback("Playing", this);
  3879.                 :sonique.players.default.UnregisterCallback("Stopping", this);
  3880.                 :sonique.players.default.UnregisterCallback("Pausing", this);
  3881.             </script>
  3882.         </window>
  3883.  
  3884. <!-- todo get rid of shape here.  clean up more psd layers -->
  3885.         <window name="progress_window" transparent="true" hidden="true" alignment="0,1,1,1"  shape="my_shape" offset="48,-119,-102,-45" >
  3886.             <shape name="my_shape">
  3887.                 <shape_raster
  3888.                     source="grayscale.psd|progress_region_shape"
  3889.                     fillmode="resize" 
  3890.                     inner_rect="142,188,152,197"
  3891.                     outer_rect="grayscale.psd|progress_region_shape"
  3892.                 />
  3893.             </shape>
  3894.             <imagestyle name="background"><color_fill color="color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3895.             <imagestyle name="theme1"><color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3896.             <imagestyle name="theme2"><color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3897.             <imagestyle name="theme3"><color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3898.             <imagestyle name="theme4"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3899.             <imagestyle name="theme5"><color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3900.             <imagestyle name="theme6"><color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3901.             <imagestyle name="theme7"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3902.             <imagestyle name="theme8"><color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3903.             <imagestyle name="theme9"><color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3904.             <imagestyle name="theme10"><color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  3905.  
  3906.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3907.  
  3908.  
  3909.             <window name="progressbar_window" type="Sonique2_Progress" shape="bar_shape" offset="15,-70,-34,-64" transparent="true" hitstyle="ACTIVE" alignment="0,1,1,1" >
  3910.                 <shape name="bar_shape">
  3911.                     <shape_raster source="grayscale.psd|progress_bar_region" fillmode="resize" inner_rect="grayscale.psd|progress_bar_inner" outer_rect="grayscale.psd|progress_bar_region" />
  3912.                 </shape>
  3913.                 <property orientation="left_to_right"
  3914.                         hover="true"
  3915.                         hovertext="true"
  3916.                         type="SongProgress"
  3917.                         bar_align_rect ="0,0,1,1" 
  3918.                         outer_handle_offset_rect="-0.5,0,0.5,6" 
  3919.                         outer_handle_align_rect="0,0,0,0"                    
  3920.                     />
  3921.                 <imagestyle name="background"><raster source="grayscale.psd|progress_bar_background" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" />    </imagestyle> 
  3922.                 <imagestyle name="barfilled"><raster source="grayscale.psd|progress_bar_fill" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  3923. <!--                <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.songprogress")); </script> -->
  3924.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3925.             </window>
  3926.  
  3927.             <window name="scan_backwards_window" type="button" transparent="true" hitstyle="ACTIVE" alignment="0,1,0,1" offset="4,-69,11,-65" >
  3928.                 <property hover="true" />
  3929.                 <imagestyle name="state0">
  3930.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|scan_backwards" blendmode="ps_normal"  />
  3931.                     <raster state="normal" opacity="1.0" source="grayscale.psd|scan_backwards" blendmode="ps_normal"  />
  3932.                 </imagestyle> 
  3933.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.scanbackwards")); </script>
  3934.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3935.                 <script name="OnLeftButtonDown"> :system.timer.SetTimer("backward",50,":sonique.players.default.Scan(-5, \"false\");",this,1); </script>
  3936.                 <script name="OnLeftButtonUp"> :system.timer.UnsetTimer("backward",this); </script>
  3937.             </window>
  3938.             <window name="scan_forwards_window" type="button" transparent="true" hitstyle="ACTIVE" alignment="1,1,1,1" offset="-30,-69,-23,-65" >
  3939.                 <property hover="true" />
  3940.                 <imagestyle name="state0">
  3941.                     <raster state="hit,hover" source="grayscale.psd|scan_forwards"  blendmode="ps_normal" opacity="0.75" />
  3942.                     <raster state="normal" source="grayscale.psd|scan_forwards" blendmode="ps_normal" opacity="1.0" />
  3943.                 </imagestyle> 
  3944.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.scanforwards")); </script>
  3945.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3946.                 <script name="OnLeftButtonDown"> :system.timer.SetTimer("forward",50,":sonique.players.default.Scan(5, \"false\");",this,1); </script>
  3947.                 <script name="OnLeftButtonUp">   :system.timer.UnsetTimer("forward",this); </script>
  3948.             </window>
  3949.  
  3950.             <window name="track_window" type="Sonique2_TrackDisplay" transparent="true" hitstyle="ACTIVE" alignment="0.5,1,0.5,1" offset="-111,-63,-54,-48" >
  3951.                 <property format="04" font_style="tracktime_font" font_color="color3" font_justification="v_center|left" />
  3952.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.currenttrack")); </script>
  3953.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3954.             </window>
  3955.             <window name="time_window" type="Sonique2_TimeDisplay" transparent="true" hitstyle="ACTIVE" alignment="0.5,1,0.5,1" offset="-49,-63,81,-48">
  3956.                 <property font_style="tracktime_font" font_color="color3" font_justification="v_center|right" 
  3957.                     updateinterval="500" mode="all" format="%(ClassChar)%(02Hours):%(02%Minutes):%(02%Seconds)" hovertext="true" />
  3958.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.currenttime")); </script>
  3959.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3960.             </window> 
  3961.         </window> <!-- progress_window -->
  3962.  
  3963.         <window name="progress_region_shadow" transparent="true" hidden="true" alignment="0,1,1,1" offset="47,-119,-95,-45" >
  3964.             <imagestyle name="background"> 
  3965.                 <raster source="grayscale.psd|progress_region_shadow" blendmode="ps_normal"
  3966.                     fillmode="resize" inner_rect="142,192,152,197" outer_rect="82,180,355,253"    />
  3967.             </imagestyle>
  3968.             <script name="OnIntro"> SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  3969.         </window>
  3970.  
  3971.         <window name="volume_controls_window" transparent="true">
  3972.             <window name="mute_button_window" type="button" shape="my_shape" hidden="true" transparent="true" hitstyle="ACTIVE" >
  3973.                 <property hover="true" />
  3974.                 <shape name="my_shape"><shape_raster source="grayscale.psd|volume_enabled" offset="grayscale.psd|volume_enabled @ grayscale.psd|chassis" alignment="1,1,1,1" /></shape>
  3975.                 <imagestyle name="state0">
  3976.                     <raster
  3977.                         state        ="hit,hover"
  3978.                         source        ="grayscale.psd|volume_enabled"
  3979.                         offset        ="grayscale.psd|volume_enabled @ grayscale.psd|chassis"
  3980.                         alignment    ="1,1,1,1"
  3981.                         blendmode    ="ps_normal"
  3982.                         opacity        ="0.75"
  3983.                     />
  3984.                     <raster
  3985.                         state        ="normal"
  3986.                         source        ="grayscale.psd|volume_enabled"
  3987.                         offset        ="grayscale.psd|volume_enabled @ grayscale.psd|chassis"
  3988.                         alignment    ="1,1,1,1"
  3989.                         blendmode    ="ps_normal"
  3990.                         opacity        ="1.0"
  3991.                     />
  3992.                 </imagestyle> 
  3993.                 <imagestyle name="state1">
  3994.                     <raster
  3995.                         state        ="hit,hover"
  3996.                         source        ="grayscale.psd|volume_disabled"
  3997.                         offset        ="grayscale.psd|volume_disabled @ grayscale.psd|chassis"
  3998.                         alignment    ="1,1,1,1"
  3999.                         blendmode    ="ps_normal"
  4000.                         opacity        ="1.0"
  4001.                     />
  4002.                     <raster
  4003.                         state        ="normal"
  4004.                         source        ="grayscale.psd|volume_disabled"
  4005.                         offset        ="grayscale.psd|volume_disabled @ grayscale.psd|chassis"
  4006.                         alignment    ="1,1,1,1"
  4007.                         blendmode    ="ps_normal"
  4008.                         opacity        ="0.75"
  4009.                     />
  4010.                 </imagestyle> 
  4011.                 <script name="OnInit">
  4012.                     :sonique.players.default.RegisterCallback("VolumeChanged","OnVolumeChanged()", this);
  4013.                     UpdateState();
  4014.                     SetHoverHint(:language.Translate("general/hint.mute")); 
  4015.                 </script>
  4016.                 <script name="OnDestroy">
  4017.                     :sonique.players.default.UnregisterCallback("VolumeChanged", this);
  4018.                 </script>
  4019.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  4020.                 <script name="OnClick"> 
  4021.                     if (:app.mutevol == 0.0) { 
  4022.                         SetButtonState(1);
  4023.                         :app.mutevol=:sonique.players.default.GetVolume(); 
  4024.                         :sonique.players.default.SetVolume(0.0); 
  4025.                     } else {
  4026.                         SetButtonState(0);
  4027.                         :sonique.players.default.SetVolume(:app.mutevol); 
  4028.                         :app.mutevol=0.0;
  4029.                     }
  4030.                 </script>
  4031.                 <script name="OnVolumeChanged">
  4032.                     if (:sonique.players.default.GetVolume() != 0.0) {
  4033.                         :app.mutevol=0.0;
  4034.                     }
  4035.                     UpdateState();
  4036.                 </script>
  4037.                 <script name="UpdateState">
  4038.                     if ((:app.mutevol != 0.0) and (:sonique.players.default.GetVolume() == 0.0)) {
  4039.                         SetButtonState(1);
  4040.                     } else {
  4041.                         SetButtonState(0);
  4042.                     }
  4043.                 </script>
  4044.             </window>
  4045.  
  4046.             <window name="volume_bar_window" type="fillbar" shape="bar_shape" offset="-43,-90,-15,-6" transparent="true" hitstyle="ACTIVE" alignment="1,1,1,1" hidden="true">
  4047.                 <shape name="bar_shape"><shape_raster source="grayscale.psd|volume_region" /></shape>
  4048.                 <property orientation="bottom_to_top"
  4049.                         hover="true"
  4050.                         hovertext="true"
  4051.                         relative="true"
  4052.                         bar_offset_rect="grayscale.psd|volume_bar_background @ grayscale.psd|volume_region"
  4053.                         bar_align_rect ="0,0,1,1" 
  4054.                         _outer_handle_offset_rect="-0.5,0,0.5,0.5"
  4055.                         _outer_handle_align_rect="0,0,0,0"
  4056.                         _fill_offset_rect="0,0,-1,0"
  4057.                         _empty_offset_rect="1,0,0,0"
  4058.                     />
  4059.                 <imagestyle name="barfilled">
  4060.                     <raster state="hit,hover" source="grayscale.psd|volume_bar_background" offset="grayscale.psd|volume_bar_background @ grayscale.psd|volume_region"
  4061.                         alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.75" />
  4062.                     <raster state="normal" source="grayscale.psd|volume_bar_background" offset="grayscale.psd|volume_bar_background @ grayscale.psd|volume_region"
  4063.                         alignment="1,1,1,1"  blendmode="ps_normal" opacity="1.0" />
  4064.                 </imagestyle> 
  4065.                 <imagestyle name="barempty">
  4066.                     <raster state="hit,hover" source="grayscale.psd|volume_bar_filled" offset="grayscale.psd|volume_bar_filled @ grayscale.psd|volume_region"
  4067.                         alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.75" />
  4068.                     <raster state="normal" source="grayscale.psd|volume_bar_filled" offset="grayscale.psd|volume_bar_filled @ grayscale.psd|volume_region"
  4069.                         alignment="1,1,1,1"  blendmode="ps_normal" opacity="1.0" />
  4070.                 </imagestyle>
  4071.                 <imagestyle name="handle">
  4072.                     <raster source="grayscale.psd|volume_bar_handle" offset="grayscale.psd|volume_bar_handle @ grayscale.psd|volume_region"
  4073.                         alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.75" />
  4074.                 </imagestyle>
  4075.                 <script name="OnInit">
  4076.                     :sonique.players.default.RegisterCallback("VolumeChanged","OnVolumeChanged()", this);
  4077.                     OnVolumeChanged();
  4078.                     SetHoverHint(:language.Translate("general/hint.volume")); 
  4079.                 </script>
  4080.                 <script name="OnDestroy">
  4081.                     :sonique.players.default.UnregisterCallback("VolumeChanged", this);
  4082.                 </script>
  4083.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  4084.                 <script name="OnPosChange">
  4085.                     :sonique.players.default.SetVolume( GetRealPos() );
  4086.                 </script>
  4087.                 <script name="OnVolumeChanged">
  4088.                     SetRealPos( :sonique.players.default.GetVolume() );
  4089.                 </script>
  4090.             </window> <!-- volume_bar_window -->
  4091.         </window><!-- volume_controls_window -->
  4092.  
  4093.  
  4094. <!-- START MINI windows -->
  4095.         <window name="online_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-70,32,-16,65" alignment="0,0,0,0">
  4096.             <property hover="true" />
  4097.             <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4098.             <imagestyle name="background">
  4099.                 <raster source="grayscale.psd|the_s_logo" source_offset="10,1,-1,-1" blendmode="ps_normal" opacity="0.45" />
  4100.             </imagestyle> 
  4101.             <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.45"/></imagestyle> 
  4102.             <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.1"/></imagestyle> 
  4103.             <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.45"/></imagestyle> 
  4104.             <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.1"/></imagestyle> 
  4105.             <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.45"/></imagestyle> 
  4106.             <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.1"/></imagestyle> 
  4107.             <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.45"/></imagestyle> 
  4108.             <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.1"/></imagestyle> 
  4109.             <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4110.             <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4111.             <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.45"/></imagestyle> 
  4112.             <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.1"/></imagestyle>
  4113.             <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.45"/></imagestyle> 
  4114.             <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.1"/></imagestyle> 
  4115.             <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4116.             <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4117.             <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.45"/></imagestyle> 
  4118.             <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.1"/></imagestyle> 
  4119.             <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.45"/></imagestyle> 
  4120.             <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.1"/></imagestyle>
  4121.             <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.45"/></imagestyle> 
  4122.             <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.1"/></imagestyle>
  4123.  
  4124.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1300,"linear_accel");</script>
  4125.             <script name="OnInit">
  4126.                 SetHoverHint(:language.Translate("defaultskin/hint.viewonline")); 
  4127.             </script>
  4128.             <script name="OnClick"> 
  4129.                 MoveWindows("main_online_window");
  4130.             </script>
  4131.             <script name="OnRightButtonUp">
  4132.                 :sonique.LaunchLocalWindow("online_popup");
  4133.             </script>
  4134.         </window>
  4135.         <window name="mini_online_shadow" transparent="true" alignment="0,0,0,0" offset="-71,32,-10,72" >
  4136.             <imagestyle name="background"> <raster source="grayscale.psd|mini_shadow" blendmode="ps_normal" /></imagestyle>
  4137.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1300,"linear_accel");</script>
  4138.         </window>
  4139.  
  4140.         <window name="vis_button_window" transparent="true" shape="my_shape" alignment="0,0,0,0" offset="-70,70,-16,103" >
  4141.             <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4142.             <imagestyle name="background" transparent="true">
  4143.                 <color_rect filled="true" cornerradius="4.0" color="0xFF000000" opacity="0.3" alignment="0,0,1,1"/>
  4144.             </imagestyle> 
  4145.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1350,"linear_accel");</script>
  4146.  
  4147.             <window name="mini_vis_window_alt" hidden="true" shape="my_shape" transparent="true"  >
  4148.                 <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4149.                 <imagestyle name="background" ><raster source="grayscale.psd|vis_animation" num_frames="3" blend_frames="false" blendmode="PS_NORMAL" /></imagestyle>
  4150.                 <script name="OnInit" >
  4151.                     Animate();
  4152.                 </script>
  4153.                 <script name="Animate">
  4154.                     SetAnimTime(0);
  4155.                     SetAnimTime(30, 0, 10000,"linear_smooth", true);
  4156.                 </script>
  4157.             </window>
  4158.             <window name="mini_vis_window" hidden="true" alignment="0,0,1,1" offset="2,2,-2,-2" type="Sonique2_Visual" transparent="false" shape="my_shape" hitstyle="NONE"  >
  4159.                 <shape name="my_shape"> <shape_roundrect corner_size="4,4" /> </shape>
  4160.                 <script name="OnInit">:sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",false);
  4161.                     :sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",true);</script>
  4162.             </window>
  4163.             <window name="vis_button" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE"  >
  4164.                 <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4165.                 <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.45"/></imagestyle> 
  4166.                 <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.1"/></imagestyle> 
  4167.                 <imagestyle name="background"><color_rect filled="true" cornerradius="4.0" color="color3" opacity="0.3"/></imagestyle>
  4168.                 <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.45"/></imagestyle> 
  4169.                 <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.1"/></imagestyle> 
  4170.                 <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.45"/></imagestyle> 
  4171.                 <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.1"/></imagestyle> 
  4172.                 <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.45"/></imagestyle> 
  4173.                 <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.1"/></imagestyle> 
  4174.                 <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4175.                 <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4176.                 <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.45"/></imagestyle> 
  4177.                 <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.1"/></imagestyle> 
  4178.                 <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.45"/></imagestyle> 
  4179.                 <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.1"/></imagestyle> 
  4180.                 <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4181.                 <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4182.                 <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.45"/></imagestyle> 
  4183.                 <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.1"/></imagestyle> 
  4184.                 <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.45"/></imagestyle> 
  4185.                 <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.1"/></imagestyle> 
  4186.                 <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.45"/></imagestyle> 
  4187.                 <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.1"/></imagestyle> 
  4188.  
  4189.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.viewvis"));</script>
  4190.                 <script name="OnClick"> 
  4191.                     MoveWindows("main_vis_window");
  4192.                 </script>
  4193.                 <script name="OnRightButtonUp">
  4194.                     if (:sonique.InterfacePrefsGetString("main", "full_vis")) {
  4195.                         ToggleFullWindowVis();
  4196.                     }
  4197.                     if (currentwindows[currentwindows.ArraySize()-1] == "main_vis_window") {
  4198.                         main.MoveWindows("main_vis_window");
  4199.                     }
  4200.                     if (vis_button_window.enable_mini_vis_button.GetButtonState() == 1) {
  4201.                         vis_button_window.enable_mini_vis_button.OnClick();
  4202.                     }
  4203.                     :sonique.LaunchLocalWindow("vis_popup");
  4204.                 </script>
  4205.             </window>
  4206.             <window name="enable_mini_vis_button" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-48,24,-40,30" alignment="0,0,0,0" >
  4207.                 <imagestyle name="state0"><raster source="grayscale.psd|hide_mini_vis" blendmode="ps_normal" opacity="1.0" /></imagestyle> 
  4208.                 <imagestyle name="state1"><raster source="grayscale.psd|show_mini_vis" blendmode="ps_normal" opacity="1.0" /></imagestyle> 
  4209.                 <script name="OnInit">
  4210.                     SetHoverHint(:language.Translate("defaultskin/hint.toggleminivis"));
  4211.  
  4212.                     :sonique.players.default.RegisterCallback("Playing","SmartVis()", this);
  4213.                     :sonique.players.default.RegisterCallback("Stopping","SmartVis()", this);
  4214.  
  4215.                     SetButtonState(:sonique.InterfacePrefsGetString("main", "mini_vis"));
  4216.                     SmartVis();
  4217.                 </script>
  4218.                 <script name="OnIntro">
  4219.                     SetAlignment({1,0,1,0},0,1450,"linear_accel");
  4220.                     SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); 
  4221.                 </script>
  4222.                 <script name="OnClick">
  4223.                     if (GetButtonState()) {
  4224.                         SetButtonState(0);
  4225.                     } else {
  4226.                         SetButtonState(1);
  4227.                     }
  4228.                     SmartVis();
  4229.                 </script>
  4230.                 <script name="SmartVis">
  4231.                     if ( (:sonique.players.default.IsPlaying()) and (GetButtonState()) and :sonique.InterfacePrefsGetString("main", "full_vis") == 0 ) 
  4232.                     {
  4233.                         if (currentwindows[currentwindows.ArraySize()-1] != "main_vis_window") {
  4234.                             mini_vis_window.Show();
  4235.                             mini_vis_window_alt.Hide();
  4236.                         }
  4237.                     } else {
  4238.                         mini_vis_window_alt.Show();
  4239.                         mini_vis_window_alt.Animate();
  4240.                         mini_vis_window.Hide();
  4241.                         :sonique.CompactMem(); // todo ?
  4242.                     }                    
  4243.                 </script>
  4244.                 <script name="OnDestroy">
  4245.                     :sonique.players.default.UnregisterCallback("Playing", this);
  4246.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  4247.  
  4248.                     :sonique.InterfacePrefsSetString("main", "mini_vis", GetButtonState());
  4249.                 </script>
  4250.             </window>
  4251.         </window>
  4252.         <window name="mini_vis_shadow" transparent="true" alignment="0,0,0,0" offset="-71,70,-10,110" >
  4253.             <imagestyle name="background"> <raster source="grayscale.psd|mini_shadow" blendmode="ps_normal" /></imagestyle>
  4254.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1350,"linear_accel");</script>
  4255.         </window>
  4256.  
  4257.         <window name="eq_button_window" shape="my_shape" transparent="true" alignment="0,0,0,0" offset="-70,108,-16,141" >
  4258.             <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4259.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1400,"linear_accel");</script>
  4260.             <window name="mini_eq_window" transparent="true" type="Sonique2_Equalizer" offset="0,4,0,-4" alignment="0,0,1,1" hitstyle="NONE">
  4261.                 <property freq_string_rows="0"
  4262.                     freq_line_color="color3_25"
  4263.                     freq_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  4264.                     center_line_color="color3_25"
  4265.                     center_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  4266.                     curve_line_color="color3_50"
  4267.                     curve_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  4268.                     border_line_color="color1"
  4269.                     border_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"                    
  4270.                 />
  4271.                 <imagestyle name="background" transparent="true" />
  4272.                 <script name="GetNumBands">:sonique.players.default.equalizer.GetNumBands();</script>
  4273.                 <script name="GetBandGain">:sonique.players.default.equalizer.GetBandGain($params[0]);</script>
  4274.                 <script name="SetBandGain">:sonique.players.default.equalizer.SetBandGain($params[0], $params[1]);</script>
  4275.                 <script name="OnInit">:sonique.players.default.equalizer.RegisterChangeCallback("", "if( $params[1] )    { UpdateDisplay(); } else { UpdateBands(); }    :sonique.players.default.SendFilterMessage(\"equalizerReloadSettings\");",    this);</script>
  4276.                 <script name="OnDestroy">:sonique.players.default.equalizer.UnregisterChangeCallback("", this);</script>
  4277.             </window>
  4278.             <window name="mini_eq_button" type="button" transparent="true" hitstyle="ACTIVE">
  4279.                 <property hover="true" />
  4280.                 <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.45"/></imagestyle> 
  4281.                 <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.1"/></imagestyle> 
  4282.                 <imagestyle name="background"><color_rect filled="true" cornerradius="4.0" color="color3" opacity="0.3"/></imagestyle> 
  4283.                 <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.45"/></imagestyle> 
  4284.                 <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.1"/></imagestyle> 
  4285.                 <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.45"/></imagestyle> 
  4286.                 <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.1"/></imagestyle> 
  4287.                 <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.45"/></imagestyle> 
  4288.                 <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.1"/></imagestyle> 
  4289.                 <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4290.                 <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4291.                 <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.45"/></imagestyle> 
  4292.                 <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.1"/></imagestyle> 
  4293.                 <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.45"/></imagestyle> 
  4294.                 <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.1"/></imagestyle> 
  4295.                 <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4296.                 <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4297.                 <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.45"/></imagestyle> 
  4298.                 <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.1"/></imagestyle> 
  4299.                 <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.45"/></imagestyle> 
  4300.                 <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.1"/></imagestyle> 
  4301.                 <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.45"/></imagestyle>
  4302.                 <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.1"/></imagestyle> 
  4303.  
  4304.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.vieweq")); </script>
  4305.                 <script name="OnClick"> 
  4306.                     MoveWindows("main_eq_window");
  4307.                 </script>
  4308.                 <script name="OnRightButtonUp">
  4309.                     :sonique.LaunchLocalWindow("eq_popup");
  4310.                 </script>
  4311.             </window><!-- mini_eq_button -->
  4312.         </window>
  4313.         <window name="mini_eq_shadow" transparent="true" alignment="0,0,0,0" offset="-71,108,-10,148" >
  4314.             <imagestyle name="background"> <raster source="grayscale.psd|mini_shadow" blendmode="ps_normal" /></imagestyle>
  4315.             <script name="OnIntro">SetOffset({1,0,1,0},0,1400,"linear_accel");</script>
  4316.         </window>
  4317.  
  4318.         <window name="interfaces_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-70,147,-16,180" alignment="0,0,0,0">
  4319.             <property hover="true" />
  4320.             <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4321.             <imagestyle name="background">
  4322.                 <raster source="grayscale.psd|mini_interfaces_front" source_offset="3,1,-1,-1" blendmode="ps_normal" opacity="0.45" />
  4323.             </imagestyle> 
  4324.             <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.45"/></imagestyle> 
  4325.             <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.1"/></imagestyle> 
  4326.             <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.45"/></imagestyle> 
  4327.             <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.1"/></imagestyle> 
  4328.             <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.45"/></imagestyle> 
  4329.             <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.1"/></imagestyle> 
  4330.             <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.45"/></imagestyle> 
  4331.             <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.1"/></imagestyle> 
  4332.             <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4333.             <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4334.             <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.45"/></imagestyle> 
  4335.             <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.1"/></imagestyle> 
  4336.             <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.45"/></imagestyle> 
  4337.             <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.1"/></imagestyle> 
  4338.             <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4339.             <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4340.             <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.45"/></imagestyle> 
  4341.             <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.1"/></imagestyle> 
  4342.             <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.45"/></imagestyle> 
  4343.             <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.1"/></imagestyle> 
  4344.             <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.45"/></imagestyle>
  4345.             <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.1"/></imagestyle> 
  4346.             <script name="OnIntro">
  4347.                 SetAlignment({1,0,1,0},0,1450,"linear_accel");
  4348.             </script>
  4349.             <script name="OnInit"> 
  4350.                 SetHoverHint(:language.Translate("defaultskin/hint.viewinterfaces")); 
  4351.             </script>
  4352.             <script name="OnClick">
  4353.                 MoveWindows("main_interfaces_window");
  4354.             </script>
  4355.             <script name="OnRightButtonUp">
  4356.                 :sonique.LaunchInterfaceBrowserPopup();
  4357.             </script>
  4358.         </window>
  4359.         <window name="mini_interfaces_shadow" transparent="true" alignment="0,0,0,0" offset="-71,147,-10,187" >
  4360.             <imagestyle name="background"> <raster source="grayscale.psd|mini_shadow" blendmode="ps_normal" /></imagestyle>
  4361.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1450,"linear_accel");</script>
  4362.         </window>
  4363.  
  4364.         <window name="settings_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" offset="-70,185,-16,218" alignment="0,0,0,0">
  4365.             <property hover="true" />
  4366.             <shape name="my_shape"><shape_roundrect corner_size="4,4" /></shape>
  4367.             <imagestyle name="background"><raster source="grayscale.psd|mini_settings_front" source_offset="13,1,-1,-1" blendmode="ps_normal" opacity="0.45" /></imagestyle> 
  4368.             <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.45"/></imagestyle> 
  4369.             <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0" color="color2" opacity="0.1"/></imagestyle> 
  4370.             <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.45"/></imagestyle> 
  4371.             <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF99EE00" opacity="0.1"/></imagestyle> 
  4372.             <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.45"/></imagestyle> 
  4373.             <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFB83F3F" opacity="0.1"/></imagestyle> 
  4374.             <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.45"/></imagestyle> 
  4375.             <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFCBFF66" opacity="0.1"/></imagestyle> 
  4376.             <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4377.             <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4378.             <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.45"/></imagestyle> 
  4379.             <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFBBBBBB" opacity="0.1"/></imagestyle> 
  4380.             <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.45"/></imagestyle> 
  4381.             <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00CCFF" opacity="0.1"/></imagestyle> 
  4382.             <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4383.             <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0" color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4384.             <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.45"/></imagestyle> 
  4385.             <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF00B200" opacity="0.1"/></imagestyle> 
  4386.             <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.45"/></imagestyle> 
  4387.             <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0" color="0xFF588FBA" opacity="0.1"/></imagestyle> 
  4388.             <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.45"/></imagestyle> 
  4389.             <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0" color="theme10_color2" opacity="0.1"/></imagestyle> 
  4390.  
  4391.             <script name="OnIntro">
  4392.                 SetAlignment({1,0,1,0},0,1500,"linear_accel");
  4393.             </script>
  4394.             <script name="OnInit"> 
  4395.                 SetHoverHint(:language.Translate("defaultskin/hint.viewsettings")); 
  4396.             </script>
  4397.             <script name="OnClick">
  4398.                 MoveWindows("main_settings_window");
  4399.             </script>
  4400.             <script name="OnRightButtonUp">
  4401.                 :sonique.LaunchLocalWindow("settings_popup");
  4402.             </script>
  4403.         </window>
  4404.         <window name="mini_settings_shadow" transparent="true" alignment="0,0,0,0" offset="-71,185,-10,225" >
  4405.             <imagestyle name="background"> <raster source="grayscale.psd|mini_shadow" blendmode="ps_normal" /></imagestyle>
  4406.             <script name="OnIntro">SetAlignment({1,0,1,0},0,1500,"linear_accel");</script>
  4407.         </window>
  4408.  
  4409.         <window name="mini_icon_holder" hidden="true" transparent="true" alignment="0,1,0,1" hitstyle="NONE" offset="-86,-160,-16,-143">
  4410.             <imagestyle name="background">
  4411.                 <color_fill color="color3" opacity="0.01"/>
  4412.             </imagestyle>    
  4413.             <script name="OnIntro">SetAlignment({1,1,1,1},0,1500,"linear_accel");</script>
  4414.  
  4415.             <window name="vis_icon_button" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-56,1,-45,-1" alignment="1,0,1,1">
  4416.                 <property hover="true" />
  4417.                 <imagestyle name="state0">
  4418.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|vis_mini_icon" blendmode="ps_normal" />
  4419.                     <raster state="normal" opacity="1.0" source="grayscale.psd|vis_mini_icon" blendmode="ps_normal"/>
  4420.                 </imagestyle> 
  4421.                 <imagestyle name="state1">
  4422.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|vis_mini_icon" blendmode="ps_normal"  />
  4423.                     <raster state="normal" opacity="0.75" source="grayscale.psd|vis_mini_icon" blendmode="ps_normal" />
  4424.                 </imagestyle>
  4425.                 <script name="OnInit">SetHoverHint(:language.Translate("defaultskin/hint.viewvis")); </script>
  4426.                 <script name="OnClick">vis_button_window.vis_button.OnClick();</script>
  4427.                 <script name="OnRightButtonUp">vis_button_window.vis_button.OnRightButtonUp();</script>
  4428.             </window>
  4429.  
  4430.             <window name="eq_icon_button" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-42,1,-31,-1" alignment="1,0,1,1">
  4431.                 <property hover="true" />
  4432.                 <imagestyle name="state0">
  4433.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|eq_mini_icon" blendmode="ps_normal" />
  4434.                     <raster state="normal" opacity="1.0" source="grayscale.psd|eq_mini_icon" blendmode="ps_normal"/>
  4435.                 </imagestyle> 
  4436.                 <imagestyle name="state1">
  4437.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|eq_mini_icon" blendmode="ps_normal"  />
  4438.                     <raster state="normal" opacity="0.75" source="grayscale.psd|eq_mini_icon" blendmode="ps_normal" />
  4439.                 </imagestyle>
  4440.                 <script name="OnInit">SetHoverHint(:language.Translate("defaultskin/hint.vieweq")); </script>
  4441.                 <script name="OnClick">eq_button_window.mini_eq_button.OnClick();</script>
  4442.                 <script name="OnRightButtonUp">eq_button_window.mini_eq_button.OnRightButtonUp();</script>
  4443.             </window>
  4444.  
  4445.             <window name="interfaces_icon_button" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-28,1,-17,-1" alignment="1,0,1,1">
  4446.                 <property hover="true" />
  4447.                 <imagestyle name="state0">
  4448.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|skins_mini_icon" blendmode="ps_normal" />
  4449.                     <raster state="normal" opacity="1.0" source="grayscale.psd|skins_mini_icon" blendmode="ps_normal"/>
  4450.                 </imagestyle> 
  4451.                 <imagestyle name="state1">
  4452.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|skins_mini_icon" blendmode="ps_normal"  />
  4453.                     <raster state="normal" opacity="0.75" source="grayscale.psd|skins_mini_icon" blendmode="ps_normal" />
  4454.                 </imagestyle>
  4455.                 <script name="OnInit">SetHoverHint(:language.Translate("defaultskin/hint.viewinterfaces")); </script>
  4456.                 <script name="OnClick">interfaces_button_window.OnClick();</script>
  4457.                 <script name="OnRightButtonUp">interfaces_button_window.OnRightButtonUp();</script>
  4458.             </window>
  4459.  
  4460.             <window name="settings_icon_button" type="button" hidden="false" transparent="true" hitstyle="ACTIVE" offset="-14,1,-2,-1" alignment="1,0,1,1">
  4461.                 <property hover="true" />
  4462.                 <imagestyle name="state0">
  4463.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|setup_mini_icon" blendmode="ps_normal" />
  4464.                     <raster state="normal" opacity="1.0" source="grayscale.psd|setup_mini_icon" blendmode="ps_normal"/>
  4465.                 </imagestyle> 
  4466.                 <imagestyle name="state1">
  4467.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|setup_mini_icon" blendmode="ps_normal"  />
  4468.                     <raster state="normal" opacity="0.75" source="grayscale.psd|setup_mini_icon" blendmode="ps_normal" />
  4469.                 </imagestyle>
  4470.                 <script name="OnInit">SetHoverHint(:language.Translate("defaultskin/hint.viewsettings"));</script>
  4471.                 <script name="OnClick">settings_button_window.OnClick();</script>
  4472.                 <script name="OnRightButtonUp">settings_button_window.OnRightButtonUp();</script>
  4473.             </window>
  4474.         </window>
  4475.  
  4476.         <window name="playlist_button_window" type="button" hidden="true" transparent="true" hitstyle="ACTIVE" offset="-102,-143,-15,-95" alignment="1,1,1,1" shape="my_shape">
  4477.             <property
  4478.                 hover        ="true"
  4479.                 default_delay    ="150" 
  4480.                 text        ="Playlist" 
  4481.                 font_style    ="my_font_10" 
  4482.                 font_color    ="color3"
  4483.                 font_justification="left" 
  4484.                 text_offset_rect="18,2,-2,-26"
  4485.             />
  4486.             <shape name="my_shape"><shape_raster source="grayscale.psd|playlist_background_shape" /></shape>
  4487.             <imagestyle name="background">
  4488.                 <color_fill color color="color3" opacity="0.01"/>
  4489.                 <raster
  4490.                     source        ="grayscale.psd|playlist_window_front_line" 
  4491.                     offset        ="grayscale.psd|playlist_window_front_line @ grayscale.psd|playlist_background_shape"
  4492.                     alignment    ="1,1,1,1"
  4493.                     blendmode    ="ps_normal"
  4494.                     opacity        ="0.15"
  4495.                 />
  4496.                 <raster    
  4497.                     state        ="hit,hover"
  4498.                     source        ="grayscale.psd|mini_playlist_icon" 
  4499.                     offset        ="grayscale.psd|mini_playlist_icon @ grayscale.psd|playlist_background_shape"
  4500.                     alignment    ="1,1,1,1"
  4501.                     blendmode    ="ps_normal"
  4502.                     opacity        ="0.75"
  4503.                 />
  4504.                 <raster
  4505.                     state        ="normal"
  4506.                     source        ="grayscale.psd|playlist_window_front_line" 
  4507.                     offset        ="grayscale.psd|playlist_window_front_line @ grayscale.psd|playlist_background_shape"
  4508.                     alignment    ="1,1,1,1"
  4509.                     blendmode    ="ps_normal"
  4510.                     opacity        ="0.10"
  4511.                 />
  4512.                 <raster
  4513.                     state        ="normal"
  4514.                     source        ="grayscale.psd|mini_playlist_icon" 
  4515.                     offset        ="grayscale.psd|mini_playlist_icon @ grayscale.psd|playlist_background_shape"
  4516.                     alignment    ="1,1,1,1"
  4517.                     blendmode    ="ps_normal"
  4518.                     opacity        ="1.0"
  4519.                 />
  4520.             </imagestyle> 
  4521.             <imagestyle name="state0"><color_fill color="color2" opacity="0.45"/></imagestyle> 
  4522.             <imagestyle name="state1"><color_fill color="color2" opacity="0.1"/></imagestyle> 
  4523.             <imagestyle name="theme1_state0"><color_fill color="0xFF99EE00" opacity="0.45"/></imagestyle> 
  4524.             <imagestyle name="theme1_state1"><color_fill color="0xFF99EE00" opacity="0.1"/></imagestyle> 
  4525.             <imagestyle name="theme2_state0"><color_fill color="0xFFB83F3F" opacity="0.45"/></imagestyle> 
  4526.             <imagestyle name="theme2_state1"><color_fill color="0xFFB83F3F" opacity="0.1"/></imagestyle> 
  4527.             <imagestyle name="theme3_state0"><color_fill color="0xFFCBFF66" opacity="0.45"/></imagestyle> 
  4528.             <imagestyle name="theme3_state1"><color_fill color="0xFFCBFF66" opacity="0.1"/></imagestyle> 
  4529.             <imagestyle name="theme4_state0"><color_fill color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4530.             <imagestyle name="theme4_state1"><color_fill color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4531.             <imagestyle name="theme5_state0"><color_fill color="0xFFBBBBBB" opacity="0.45"/></imagestyle> 
  4532.             <imagestyle name="theme5_state1"><color_fill color="0xFFBBBBBB" opacity="0.1"/></imagestyle> 
  4533.             <imagestyle name="theme6_state0"><color_fill color="0xFF00CCFF" opacity="0.45"/></imagestyle> 
  4534.             <imagestyle name="theme6_state1"><color_fill color="0xFF00CCFF" opacity="0.1"/></imagestyle> 
  4535.             <imagestyle name="theme7_state0"><color_fill color="0xFFFF0000" opacity="0.45"/></imagestyle> 
  4536.             <imagestyle name="theme7_state1"><color_fill color="0xFFFF0000" opacity="0.1"/></imagestyle> 
  4537.             <imagestyle name="theme8_state0"><color_fill color="0xFF00B200" opacity="0.45"/></imagestyle> 
  4538.             <imagestyle name="theme8_state1"><color_fill color="0xFF00B200" opacity="0.1"/></imagestyle> 
  4539.             <imagestyle name="theme9_state0"><color_fill color="0xFF588FBA" opacity="0.45"/></imagestyle> 
  4540.             <imagestyle name="theme9_state1"><color_fill color="0xFF588FBA" opacity="0.1"/></imagestyle> 
  4541.             <imagestyle name="theme10_state0"><color_fill color="theme10_color2" opacity="0.45"/></imagestyle> 
  4542.             <imagestyle name="theme10_state1"><color_fill color="theme10_color2" opacity="0.1"/></imagestyle> 
  4543.  
  4544.             <script name="OnInit"> 
  4545.                 SetHoverHint(:language.Translate("defaultskin/hint.viewplaylist"));
  4546.                 SetText(:language.Translate("topmenu/view.playlist"));
  4547.             </script>
  4548.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  4549.             <script name="OnClick"> 
  4550.                 if (currentwindows[currentwindows.ArraySize()-1] == "main_playlist_window") {
  4551.                     SetHoverHint(:language.Translate("defaultskin/hint.hideplaylist"));
  4552.                 } else {
  4553.                     SetHoverHint(:language.Translate("defaultskin/hint.viewplaylist"));
  4554.                 }
  4555.                 MoveWindows("main_playlist_window");
  4556.             </script>
  4557.             <script name="OnRightButtonUp">
  4558.                 :sonique.LaunchLocalWindow("playlist_popup");
  4559.             </script>
  4560.  
  4561.             <window name="file_count_window" transparent="true" type="textdisplay" alignment="0,0,1,0" offset="4,25,-4,35" >
  4562.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|trim_char" />
  4563.                 <script name="OnInit">
  4564.                     :sonique.playlists.default.RegisterCallback("ItemsAdded", "UpdateText()", this);
  4565.                     :sonique.playlists.default.RegisterCallback("ItemsRemoved", "UpdateText()", this);
  4566.                     :sonique.playlists.default.RegisterCallback("AllItemsRemoved", "UpdateText()", this);
  4567.                     UpdateText();
  4568.                 </script>
  4569.                 <script name="OnDestroy">
  4570.                     :sonique.players.default.UnregisterCallback("ItemsAdded", this);
  4571.                     :sonique.players.default.UnregisterCallback("ItemsRemoved", this);
  4572.                     :sonique.players.default.UnregisterCallback("AllItemsRemoved", this);
  4573.                 </script>
  4574.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  4575.                 <script name="UpdateText"> SetText( :language.Translate("playlistwindow/label.numfiles") | " " | :sonique.playlists.default.GetCount()); </script>
  4576.             </window>
  4577.             <window name="total_time_window" transparent="true" type="textdisplay" alignment="0,0,1,0" offset="4,35,-8,45" >
  4578.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|trim_char" />
  4579.                 <script name="OnInit">
  4580.                     :sonique.playlists.default.RegisterCallback("ItemsAdded", "UpdateText()", this);
  4581.                     :sonique.playlists.default.RegisterCallback("ItemsRemoved", "UpdateText()", this);
  4582.                     :sonique.playlists.default.RegisterCallback("ItemsUpdated", "UpdateText()", this);
  4583.                     :sonique.playlists.default.RegisterCallback("AllItemsRemoved", "UpdateText()", this);
  4584.                     :sonique.playlists.default.RegisterCallback("ScanningStarted", "UpdateText()", this);
  4585.                     :sonique.playlists.default.RegisterCallback("ScanningFinished", "UpdateText()", this);
  4586.                     UpdateText();
  4587.                 </script>
  4588.                 <script name="OnDestroy">
  4589.                     :sonique.players.default.UnregisterCallback("ItemsAdded", this);
  4590.                     :sonique.players.default.UnregisterCallback("ItemsRemoved", this);
  4591.                     :sonique.players.default.UnregisterCallback("ItemsUpdated", this);
  4592.                     :sonique.players.default.UnregisterCallback("ItemsAdded", this);
  4593.                     :sonique.players.default.UnregisterCallback("AllItemsRemoved", this);
  4594.                     :sonique.players.default.UnregisterCallback("ScanningStarted", this);
  4595.                     :sonique.players.default.UnregisterCallback("ScanningFinished", this);
  4596.                 </script>
  4597.                 <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  4598.                 <script name="UpdateText"> 
  4599.                     if( :sonique.playlists.default.IdleScanningIsActive() ) { 
  4600.                         $str=:language.Translate("playlistwindow/label.scantotal"); 
  4601.                     } else { 
  4602.                         $str=:language.Translate("playlistwindow/label.total");
  4603.                     }; 
  4604.                     SetText( :sonique.player.GetTotalTimeString( "", :sonique.playlists.default.Name()) ); </script>
  4605.             </window>
  4606.         </window> <!-- playlist_button_window -->
  4607.  
  4608.         <window name="playlist_button_shadow" hidden="true" transparent="true" alignment="1,1,1,1" offset="-103,-143,-9,-87" >
  4609.             <imagestyle name="background"> <raster source="grayscale.psd|playlist_button_shadow" blendmode="ps_normal" /></imagestyle>
  4610.             <script name="OnIntro">SetOpacity(0.0); Show(); SetOpacity(1.0,0,1500,"linear_accel"); </script>
  4611.         </window>
  4612.  
  4613. <!-- END MINI windows -->
  4614.  
  4615.         <window name="info_window" hidden="true" shape="my_shape" alignment="0,1,0,1" hitstyle="info_window_hitstyle" transparent="true" offset="180,-102,348,-20" >
  4616.             <shape name="my_shape"> <shape_roundrect corner_size="8,8" /></shape>
  4617.             <imagestyle name="background">
  4618.                 <color_rect color="color2" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4619.                 <color_rect color="color3" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4620.             </imagestyle>
  4621.             <imagestyle name="theme1">
  4622.                 <color_rect color="0xFF303030" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.65" />
  4623.                 <color_rect color="0xFF99EE00" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4624.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4625.             </imagestyle>
  4626.             <imagestyle name="theme2">
  4627.                 <color_rect color="0xFFB83F3F" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4628.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4629.             </imagestyle>
  4630.             <imagestyle name="theme3">
  4631.                 <color_rect color="0xFFCBFF66" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4632.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4633.             </imagestyle>
  4634.             <imagestyle name="theme4">
  4635.                 <color_rect color="0xFFFF0000" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4636.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4637.             </imagestyle>
  4638.             <imagestyle name="theme5">
  4639.                 <color_rect color="0xFFBBBBBB" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4640.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4641.             </imagestyle>
  4642.             <imagestyle name="theme6">
  4643.                 <color_rect color="0xFF00CCFF" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4644.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4645.             </imagestyle>
  4646.             <imagestyle name="theme7">
  4647.                 <color_rect color="0xFFFF0000" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4648.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4649.             </imagestyle>
  4650.             <imagestyle name="theme8">
  4651.                 <color_rect color="0xFF00B200" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4652.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4653.             </imagestyle>
  4654.             <imagestyle name="theme9">
  4655.                 <color_rect color="0xFF588FBA" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4656.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4657.             </imagestyle>
  4658.             <imagestyle name="theme10">
  4659.                 <color_rect color="theme10_color2" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4660.                 <color_rect color="theme10_color3" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4661.             </imagestyle>
  4662.             <script name="OnInit">
  4663.                 visible = 0;
  4664.                 :sonique.players.default.RegisterCallback("CurrentIDChanged", "UpdateText()", this);
  4665.                 :sonique.players.default.RegisterCallback("Stopping", "UpdateText()", this);
  4666.                 UpdateText();
  4667.             </script>
  4668.             <script name="OnDestroy">
  4669.                 :sonique.players.default.UnregisterCallback("CurrentIDChanged", this);
  4670.                 :sonique.players.default.RegisterCallback("Stopping", this);
  4671.             </script>
  4672.             <script name="UpdateText">
  4673.                 $file=0;
  4674.                 if (:sonique.players.default.IsPlaying()) {
  4675.                     $file = :sonique.players.default.GetInfo()[0];
  4676.                 }
  4677.                 else {
  4678.                 if (:sonique.playlists.default.GetCount() gt 0) {
  4679.                         $file = :sonique.playlists.default.GetUIDInfo(main.main_playlist_window.playlist_window.GetCurrentItem());
  4680.                     }
  4681.                 }
  4682.  
  4683.                 if($file != 0) {
  4684.                     if ($file["extension"] != ".mp3") {
  4685.                         tagedit_icon_window.Hide();
  4686.                     } else {
  4687.                         tagedit_icon_window.Show();
  4688.                     }
  4689.                 } else {
  4690.                     tagedit_icon_window.Hide();
  4691.                 }
  4692.  
  4693.  
  4694.                 if (:sonique.players.default.IsPlaying()) {
  4695.                     // name instead of path?
  4696.                     //title_window.SetText(:sonique.player.GetTitleString("%?(title){%(title)}{%(path)}")); 
  4697.                     title_window.SetText(:sonique.player.GetTitleString("%(name)")); 
  4698.  
  4699.                     //author_year_window.SetText(:sonique.player.GetTitleString("%?(artist){%(artist)%?(album){ - %(album)}}{%(album)}"));                
  4700.                     //author_year_window.SetText(:sonique.player.GetTitleString("%?(year){%(year)%?(album){ - %(album)}}{%(album)}"));
  4701.                     $album = :sonique.player.GetTitleString("%(album)");
  4702.                     if ( $album ) {
  4703.                         author_year_window.SetText($album);                     
  4704.                     } else {
  4705.                         author_year_window.SetText(:language.Translate("defaultskin/info.noalbum")); 
  4706.                     }
  4707.                     $format = :sonique.player.GetInfoString("%(format)");
  4708.                     if ( $format ) {
  4709.                         format_window.SetText($format);                     
  4710.                     } else {
  4711.                         format_window.SetText(:language.Translate("defaultskin/info.noformat")); 
  4712.                     }
  4713.                     // working around a bug in GetInfoString
  4714.                     //$rates = :sonique.player.GetInfoString("%?(bitrate){%(bitrate)Kbps %(samplerate)KHz }%(Channels)");
  4715.                     $rates = :sonique.player.GetInfoString("%?(bitrate){%(bitrate)Kbps %(samplerate)KHz %(Channels)}");
  4716.                     if ( $rates ) {
  4717.                         file_info_window.SetText($rates);                     
  4718.                     } else {
  4719.                         file_info_window.SetText(:language.Translate("defaultskin/info.norates")); 
  4720.                     }
  4721.                 }
  4722.                 else {
  4723.                     title_window.SetText("");
  4724.                     author_year_window.SetText(:language.Translate("defaultskin/info.noalbum")); 
  4725.                     format_window.SetText(:language.Translate("defaultskin/info.noformat"));
  4726.                     file_info_window.SetText(:language.Translate("defaultskin/info.norates")); 
  4727.                 }                    
  4728.             </script>
  4729.             <window name="info_icon_window" transparent="true" offset="5,5,17,17" alignment="0,0,0,0" >
  4730.                 <imagestyle name="background"> <raster source="grayscale.psd|small_info_icon" blendmode="ps_normal" /></imagestyle>
  4731.             </window> 
  4732.             <window name="dotted_line_window" transparent="true" offset="0,20,0,21" alignment="0,0,1,0" >
  4733.                 <imagestyle name="background"> <raster source="grayscale.psd|dotted_line" fillmode="tile" tile_size="2,1" blendmode="ps_normal" /></imagestyle>
  4734.             </window> 
  4735.  
  4736.             <window name="tagedit_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="20,5,38,17" alignment="0,0,0,0">
  4737.                 <property hover="true" />
  4738.                 <imagestyle name="state0">
  4739.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|edit_info_icon" blendmode="ps_normal" />
  4740.                     <raster state="normal" opacity="1.0" source="grayscale.psd|edit_info_icon" blendmode="ps_normal"/>
  4741.                 </imagestyle> 
  4742.                 <imagestyle name="state1">
  4743.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|edit_info_icon" blendmode="ps_normal"  />
  4744.                     <raster state="normal" opacity="0.75" source="grayscale.psd|edit_info_icon" blendmode="ps_normal" />
  4745.                 </imagestyle>
  4746.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/track.editinfo"));    </script>
  4747.                 <script name="OnClick">
  4748.                     if (:sonique.players.default.IsPlaying()) {
  4749.                         :sonique.ID3Editor.path = :sonique.players.default.GetInfo()[0]["url"];
  4750.                     }
  4751.                     else {
  4752.                         :sonique.ID3Editor.path = :sonique.playlists.default.GetUIDInfo(main.main_playlist_window.playlist_window.GetCurrentItem())["url"]
  4753.                     }
  4754.                     :sonique.LaunchID3EditPopup(); 
  4755.                 </script>
  4756.             </window> 
  4757.  
  4758.             <window name="close_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-20,5,-5,17" alignment="1,0,1,0">
  4759.                 <property hover="true" />
  4760.                 <imagestyle name="state0">
  4761.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|close_info_icon" blendmode="ps_normal" />
  4762.                     <raster state="normal" opacity="1.0" source="grayscale.psd|close_info_icon" blendmode="ps_normal"/>
  4763.                 </imagestyle> 
  4764.                 <imagestyle name="state1">
  4765.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|close_info_icon" blendmode="ps_normal"  />
  4766.                     <raster state="normal" opacity="0.75" source="grayscale.psd|close_info_icon" blendmode="ps_normal" />
  4767.                 </imagestyle>
  4768.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.hideinfowindow")); </script>
  4769.                 <script name="OnClick"> 
  4770.                     main.advanced_icons_window.info_button_window.OnClick();
  4771.                 </script>
  4772.             </window> 
  4773.             <window name="title_window" transparent="true" type="textdisplay"  offset="8,-58,-5,-46" alignment="0,1,1,1">
  4774.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" />
  4775.             </window>
  4776.             <window name="author_year_window" transparent="true" type="textdisplay" offset="8,-44,-5,-32" alignment="0,1,1,1">
  4777.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" />
  4778.             </window>
  4779.             <window name="format_window" transparent="true" type="textdisplay" offset="8,-30,-5,-18" alignment="0,1,1,1">
  4780.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" />
  4781.             </window>
  4782.             <window name="file_info_window" transparent="true" type="textdisplay" offset="8,-16,-5,-4" alignment="0,1,1,1">
  4783.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" />
  4784.             </window>
  4785.         </window>    <!-- info_window -->
  4786.  
  4787.         <window name="copyright_window" hidden="true" shape="my_shape" alignment="0,0,0,0" hitstyle="drag" transparent="true" offset="50,50,250,130" >
  4788.             <shape name="my_shape"> <shape_roundrect corner_size="8,8" /></shape>
  4789.             <imagestyle name="background">
  4790.                 <color_rect color="color2" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4791.                 <color_rect color="color3" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4792.             </imagestyle>
  4793.             <imagestyle name="theme1">
  4794.                 <color_rect color="0xFF303030" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.65" />
  4795.                 <color_rect color="0xFF99EE00" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4796.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4797.             </imagestyle>
  4798.             <imagestyle name="theme2">
  4799.                 <color_rect color="0xFFB83F3F" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4800.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4801.             </imagestyle>
  4802.             <imagestyle name="theme3">
  4803.                 <color_rect color="0xFFCBFF66" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4804.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4805.             </imagestyle>
  4806.             <imagestyle name="theme4">
  4807.                 <color_rect color="0xFFFF0000" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4808.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4809.             </imagestyle>
  4810.             <imagestyle name="theme5">
  4811.                 <color_rect color="0xFFBBBBBB" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4812.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4813.             </imagestyle>
  4814.             <imagestyle name="theme6">
  4815.                 <color_rect color="0xFF00CCFF" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4816.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4817.             </imagestyle>
  4818.             <imagestyle name="theme7">
  4819.                 <color_rect color="0xFFFF0000" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4820.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4821.             </imagestyle>
  4822.             <imagestyle name="theme8">
  4823.                 <color_rect color="0xFF00B200" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4824.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4825.             </imagestyle>
  4826.             <imagestyle name="theme9">
  4827.                 <color_rect color="0xFF588FBA" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4828.                 <color_rect color="0xFFFFFFFF" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4829.             </imagestyle>
  4830.             <imagestyle name="theme10">
  4831.                 <color_rect color="theme10_color2" filled="true"  cornerradius="8.0" blendmode="ps_normal" opacity="0.45" />
  4832.                 <color_rect color="theme10_color3" cornerradius="8.0" blendmode="ps_normal" opacity="0.5"/>
  4833.             </imagestyle>
  4834.             <script name="OnInit">
  4835.                 visible=0;
  4836.             </script>
  4837.  
  4838.             <window name="copyright_title" transparent="true" type="textdisplay" offset="5,5,200,15" alignment="0,0,0,0">
  4839.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" />
  4840.                 <script name="OnInit">
  4841.                     SetText("Sonique2");
  4842.                 </script>
  4843.             </window>
  4844.  
  4845.             <window name="dotted_copy_line_window" transparent="true" offset="0,20,0,21" alignment="0,0,1,0" >
  4846.                 <imagestyle name="background"> <raster source="grayscale.psd|dotted_line" fillmode="tile" tile_size="2,1" blendmode="ps_normal" /></imagestyle>
  4847.             </window>
  4848.  
  4849.             <window name="close_copy_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-20,5,-5,17" alignment="1,0,1,0">
  4850.                 <property hover="true" />
  4851.                 <imagestyle name="state0">
  4852.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|close_info_icon" blendmode="ps_normal" />
  4853.                     <raster state="normal" opacity="1.0" source="grayscale.psd|close_info_icon" blendmode="ps_normal"/>
  4854.                 </imagestyle> 
  4855.                 <imagestyle name="state1">
  4856.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|close_info_icon" blendmode="ps_normal"  />
  4857.                     <raster state="normal" opacity="0.75" source="grayscale.psd|close_info_icon" blendmode="ps_normal" />
  4858.                 </imagestyle>
  4859.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.hidecopywindow")); </script>
  4860.                 <script name="OnClick"> 
  4861.                     main.sonique_logo_window.OnClick();
  4862.                 </script>
  4863.             </window> 
  4864.             <window name="copyright" transparent="true" type="textdisplay"  offset="8,22,-5,-4" alignment="0,0,1,1">
  4865.                 <property font_style="my_font_8" font_color="color3" font_justification="left|v_top" />
  4866.                 <script name="OnInit">
  4867.                     SetText("⌐ Copyright 2003\nLycos, Inc. All Rights Reserved\nLycos« is a registered trademark of Carnegie Mellon University.");
  4868.                 </script>
  4869.             </window>
  4870.  
  4871.         </window>    <!-- info_window -->
  4872.     </window> //end it all
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879. <!--
  4880.             *******************************************************************************************************************************
  4881.             *******************************************************************************************************************************
  4882.             **                                                                                                                           **
  4883.             **                                              POPUPS                                                                       **
  4884.             **                                                                                                                           **
  4885.             *******************************************************************************************************************************
  4886.             *******************************************************************************************************************************
  4887. -->
  4888.  
  4889.  
  4890.     <window name="song_popup" default_size="200,60" transparent="true" hitstyle="none">
  4891.         <imagestyle name="background">
  4892.             <color_fill color="color1" />
  4893.             <color_rect color="color3" />
  4894.             <color_fill color="color2" opacity="0.50" />
  4895.         </imagestyle> 
  4896.         <imagestyle name="theme1">
  4897.             <color_fill color="0xFF303030" />
  4898.             <color_rect color="0xFFFFFFFF" />
  4899.             <color_fill color="0xFF99EE00" opacity="0.50" />
  4900.         </imagestyle> 
  4901.         <imagestyle name="theme2">
  4902.             <color_fill color="0xFFFF9900" />
  4903.             <color_rect color="0xFFFFFFFF" />
  4904.             <color_fill color="0xFFB83F3F" opacity="0.50" />
  4905.         </imagestyle> 
  4906.         <imagestyle name="theme3">
  4907.             <color_fill color="0xFF28497F" />
  4908.             <color_rect color="0xFFFFFFFF" />
  4909.             <color_fill color="0xFFCBFF66" opacity="0.50" />
  4910.         </imagestyle> 
  4911.         <imagestyle name="theme4">
  4912.             <color_fill color="0xFF000000" />
  4913.             <color_rect color="0xFFFFFFFF" />
  4914.             <color_fill color="0xFFFF0000" opacity="0.50" />
  4915.         </imagestyle> 
  4916.         <imagestyle name="theme5">
  4917.             <color_fill color="0xFF888888" />
  4918.             <color_rect color="0xFFFFFFFF" />
  4919.             <color_fill color="0xFFBBBBBB" opacity="0.50" />
  4920.         </imagestyle> 
  4921.         <imagestyle name="theme6">
  4922.             <color_fill color="0xFF303030" />
  4923.             <color_rect color="0xFFFFFFFF" />
  4924.             <color_fill color="0xFF00CCFF" opacity="0.50" />
  4925.         </imagestyle> 
  4926.         <imagestyle name="theme7">
  4927.             <color_fill color="0xFF606060" />
  4928.             <color_rect color="0xFFFFFFFF" />
  4929.             <color_fill color="0xFFFF0000" opacity="0.50" />
  4930.         </imagestyle> 
  4931.         <imagestyle name="theme8">
  4932.             <color_fill color="0xFF143B14" />
  4933.             <color_rect color="0xFFFFFFFF" />
  4934.             <color_fill color="0xFF00B200" opacity="0.50" />
  4935.         </imagestyle> 
  4936.         <imagestyle name="theme9">
  4937.             <color_fill color="0xFF303030" />
  4938.             <color_rect color="0xFFFFFFFF" />
  4939.             <color_fill color="0xFF588FBA" opacity="0.50" />
  4940.         </imagestyle> 
  4941.         <imagestyle name="theme10">
  4942.             <color_fill color="theme10_color1" />
  4943.             <color_rect color="theme10_color3" />
  4944.             <color_fill color="theme10_color2" opacity="0.50" />
  4945.         </imagestyle>
  4946.  
  4947.         <script name="OnInit">
  4948.             SetOpacity(0,0);
  4949.             SetInputFocus(false);
  4950.             SetLocation({:app.GetScreenDimensions()[0][2]-120,:app.GetScreenDimensions()[0][3]-:sonique.InterfacePrefsGetString("song_popup", "offset")});
  4951.             SetImageStyle("background","theme" | :sonique.prefs.GetString("misc", "theme"));
  4952.             Show();
  4953.             SetAlwaysOnTop(true);
  4954.             name.SetText("Sonique2");
  4955.             title.SetText("Track:");
  4956.             artist.SetText("Artist:");
  4957.             album.SetText("Album:");
  4958.             Update();
  4959.             SetOpacity(1,0,1000,"linear_accel",false);
  4960.         </script>
  4961.         <script name="SongOnInit">
  4962.             :system.timer.UnsetTimer("songintro", this);
  4963.             SetOpacity(0,0,1000,"linear_accel",false);
  4964.             :system.timer.SetTimer("kill", 1000, "DestroyWindow();", this, false);
  4965.         </script>
  4966.         <script name="Update">
  4967.             :system.timer.SetTimer("songintro", 4000, "SongOnInit();", this, false);
  4968.             SetSize( {100,65} );
  4969.             $info = :sonique.players.default.GetInfo()["info"];
  4970.             if ( $info["title"] ) {
  4971.                 $selcont = {$info["title"], $info["artist"]};
  4972.             } else {
  4973.                 $selcont = {$info["filename"], $info["artist"]};
  4974.             }
  4975.             if ( $info.IsValidIndex("album") ) {
  4976.                 $selcont |= {$info["album"]};
  4977.             }
  4978.             info.SetAllItems($selcont);
  4979.             :system.timer.SetTimer( "resizeTimer", 10, "SetTehSize();", this, false);            
  4980.         </script>
  4981.         <script name="SetTehSize">
  4982.             :system.timer.UnsetTimer( "resizeTimer", this );
  4983.             $screen = :app.GetScreenDimensions()[0];
  4984.             $sizeX = 50 + info.GetVirtSize()[0];
  4985.             SetSize( {$sizeX, 65} );
  4986.             SetLocation( {$screen["right"]-$sizeX-20, $screen["bottom"]-:sonique.InterfacePrefsGetString("song_popup", "offset")} );
  4987.         </script>
  4988.  
  4989.         <window name="name" type="TextDisplay" offset="3,0,55,15" transparent="true" >
  4990.             <property    font_color="#FFFFFF"
  4991.                     font_justification= "left|v_center"        
  4992.                     scroll_mode="none"
  4993.             />
  4994.         </window>
  4995.         
  4996.         <window name="title" type="TextDisplay" offset="1,16,52,32" transparent="true">
  4997.             <property    font_color="#FFFFFF"
  4998.                     font_justification= "right|v_center"        
  4999.                     scroll_mode="none"
  5000.             />
  5001.         </window>
  5002.         <window name="artist" type="TextDisplay" offset="3,33,52,49" transparent="true">
  5003.             <property    font_color="#FFFFFF"
  5004.                     font_justification= "right"        
  5005.                     scroll_mode="none"
  5006.             />
  5007.         </window>
  5008.         <window name="album" type="TextDisplay" offset="1,49,52,65" transparent="true">
  5009.             <property    font_color="#FFFFFF"
  5010.                     font_justification= "right"        
  5011.                     scroll_mode="none"
  5012.             />
  5013.         </window>
  5014.         <window name="info" type="SelectionList" alignment="0,0,1,0" offset="50,16,0,65" transparent="true" hitstyle="none">
  5015.             <imagestyle name="img_item_off" transparent="true" />
  5016.             <imagestyle name="img_item_on" transparent="true" />
  5017.             <property font_color="#FFFFFF" textshadow="false" selection_type="none" />
  5018.         </window>
  5019.     </window>
  5020.  
  5021.  
  5022.  
  5023.  
  5024.  
  5025.  
  5026. <!-- popup windows -->
  5027.  
  5028.     <shape name="popup_chassis_shape">
  5029.         <shape_raster
  5030.             source        ="popup.psd|chassis"
  5031.             alignment    ="0,0,1,1" 
  5032.             fillmode    ="resize"
  5033.             inner_rect    ="40,45,100,100"
  5034.             outer_rect    ="popup.psd|chassis"
  5035.         />
  5036.     </shape>
  5037.  
  5038.     <window name="playlist_popup" hitstyle="frame_hitstyle" shape="popup_chassis_shape" transparent="false" default_size="485,365" min_size="400,200">
  5039.  
  5040.         <imagestyle name="background">
  5041.             <raster
  5042.                 source        ="popup.psd|chassis"
  5043.                 offset        ="0,0,0,0"
  5044.                 alignment    ="0,0,1,1"
  5045.                 blendmode    ="ps_normal" 
  5046.                 fillmode    ="resize" opacity="1"
  5047.                 inner_rect    ="40,45,100,100"
  5048.                 outer_rect    ="popup.psd|chassis"
  5049.             />
  5050.         </imagestyle>
  5051.  
  5052.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  5053.             <hitcode type="LEFT">
  5054.                 <shape>
  5055.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  5056.                 </shape>
  5057.             </hitcode>
  5058.             <hitcode type="BOTTOM">
  5059.                 <shape>
  5060.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  5061.                 </shape>
  5062.             </hitcode>
  5063.             <hitcode type="TOP">
  5064.                 <shape>
  5065.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  5066.                 </shape>
  5067.             </hitcode>
  5068.             <hitcode type="RIGHT">
  5069.                 <shape>
  5070.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  5071.                 </shape>
  5072.             </hitcode>
  5073.             <hitcode type="BOTTOMRIGHT">
  5074.                 <shape>
  5075.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  5076.                 </shape>
  5077.             </hitcode>
  5078.         </hitstyle>
  5079.  
  5080.         <!-- monitor dock points -->
  5081.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  5082.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  5083.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  5084.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  5085.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  5086.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  5087.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  5088.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  5089.  
  5090.         <!-- master dock points -->
  5091.         <dock_point type="master" name="Popup_UL" alignment="0,0,0,0" /> 
  5092.         <dock_point type="master" name="Popup_TC" alignment="0.5,0,0.5,0" /> 
  5093.         <dock_point type="master" name="Popup_UR" alignment="1,0,1,0" /> 
  5094.         <dock_point type="master" name="Popup_LL" alignment="0,1,0,1" /> 
  5095.         <dock_point type="master" name="Popup_BC" alignment="0.5,1,0.5,1" /> 
  5096.         <dock_point type="master" name="Popup_LR" alignment="1,1,1,1" /> 
  5097.         <dock_point type="master" name="Popup_RC" alignment="1,0.5,1,0.5" />
  5098.         <dock_point type="master" name="Popup_LC" alignment="0,0.5,0,0.5" />
  5099.  
  5100.         <!-- slave to other popups -->
  5101.         <dock_point type="slave" name="Popup_UL" alignment="1,0,1,0" /> 
  5102.         <dock_point type="slave" name="Popup_UL" alignment="0,1,0,1" /> 
  5103.         <dock_point type="slave" name="Popup_UR" alignment="0,0,0,0" /> 
  5104.         <dock_point type="slave" name="Popup_UR" alignment="1,1,1,1" /> 
  5105.         <dock_point type="slave" name="Popup_LL" alignment="0,0,0,0" /> 
  5106.         <dock_point type="slave" name="Popup_LL" alignment="1,1,1,1" /> 
  5107.         <dock_point type="slave" name="Popup_LR" alignment="0,1,0,1" /> 
  5108.         <dock_point type="slave" name="Popup_LR" alignment="1,0,1,0" /> 
  5109.  
  5110.         <!-- slave to the main window -->
  5111.         <dock_point type="slave" name="Main_UL" alignment="1,0,1,0" /> 
  5112.         <dock_point type="slave" name="Main_UL" alignment="0,1,0,1" /> 
  5113.         <dock_point type="slave" name="Main_UR" alignment="0,0,0,0" /> 
  5114.         <dock_point type="slave" name="Main_UR" alignment="1,1,1,1" /> 
  5115.         <dock_point type="slave" name="Main_LL" alignment="0,0,0,0" /> 
  5116.         <dock_point type="slave" name="Main_LL" alignment="1,1,1,1" /> 
  5117.         <dock_point type="slave" name="Main_LR" alignment="0,1,0,1" /> 
  5118.         <dock_point type="slave" name="Main_LR" alignment="1,0,1,0" /> 
  5119.  
  5120.         <script name="OnInit">
  5121.             rightQuadReady = 1;
  5122.  
  5123.             // todo deal with FPS better - user settings
  5124.             SetDesiredFPS(45);
  5125.             SetWindowTitle(:language.Translate("topmenu/view.playlist"),true);
  5126.             StartIntro();
  5127.  
  5128.             :sonique.InterfacePrefsCreateSection("playlist_popup");
  5129.             $size = :sonique.InterfacePrefsGetStringArray("playlist_popup", "size");
  5130.             if ($size.IsArray() == true) { 
  5131.                 if ( ($size[0] gt 0) and ($size[1] gt 0) ){
  5132.                 // todo - fix bug where if SetSize comes to early, the OS window shape sometimes isn't updated.  grrr...
  5133.                     SetSize($size, 0, 0, "linear_accel"); 
  5134.                 }
  5135.             }
  5136.             $location = :sonique.InterfacePrefsGetStringArray("playlist_popup", "location");
  5137.             if ($location.IsArray())    { 
  5138.                 $dim = :app.GetScreenDimensions();
  5139.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  5140.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  5141.                         SetLocation($location); 
  5142.                     }
  5143.                 }
  5144.             }
  5145.             if( :sonique.InterfacePrefsGetString("playlist_popup", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  5146.             else { SetAlwaysOnTop( 0 ); }
  5147.             // hotkeys
  5148.             $section = "sonique/gui/slate/hotkeys";
  5149.             :sonique.prefs.CreateSection($section);
  5150.             alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  5151.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  5152.             
  5153.             theme = :sonique.prefs.GetString("misc", "theme");
  5154.             SetTheme();
  5155.         </script>
  5156.         <script name="OnDestroy">
  5157.             $size = GetSize();
  5158.             :sonique.InterfacePrefsSetStringArray("playlist_popup", "size", $size);
  5159.             $location = GetLocation();
  5160.             :sonique.InterfacePrefsSetStringArray("playlist_popup", "location", $location );
  5161.             :sonique.InterfacePrefsSetString("playlist_popup", "alwaysontop", GetAlwaysOnTop());
  5162.             // hotkeys
  5163.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  5164.         </script>
  5165.         <script name="OnAlwaysOnTopChange"> 
  5166.             window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]); 
  5167.         </script>
  5168.         <script name="OnActivate">
  5169.             background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_decel");
  5170.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  5171.             window_controls_window.help_button_window.SetOpacity(1.0);
  5172.             window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  5173.             window_controls_window.minimize_button_window.SetOpacity(1.0);
  5174.             window_controls_window.close_button_window.SetOpacity(1.0);
  5175.         </script>
  5176.         <script name="OnDeactivate">
  5177.             background_window.left_quadrant_window.SetOffset({12,1112,20,20},0,1000,"linear_accel" );
  5178.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  5179.             window_controls_window.help_button_window.SetOpacity(0.5);
  5180.             window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  5181.             window_controls_window.minimize_button_window.SetOpacity(0.5);
  5182.             window_controls_window.close_button_window.SetOpacity(0.5);
  5183.         </script>
  5184.         <script name="AttachWindow">
  5185.             // find main and tell it to show me
  5186.             $bFound = false;
  5187.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  5188.                 if ($window.Name() == "main")    {
  5189.                     $bFound = true;
  5190.                     $window.AttachPopup(Name());
  5191.                 }
  5192.             }
  5193.             if ($bFound == false) {
  5194.                 // launch main and try it again.
  5195.                 :sonique.InterfacePrefsSetString("main", "currentwindow", "main_playlist_window");
  5196.                 :sonique.LaunchAppWindow("Default Skin");
  5197.             }
  5198.             // close me
  5199.             DestroyWindow();
  5200.         </script>
  5201.         <script name="SetTheme">
  5202.             // all popups need these:
  5203.             SetMenuProperty("theme" | theme | "_popupmenu");
  5204.             background_window.SetImageStyle("background","theme" | theme);
  5205.             title_window.SetImageStyle("background","theme" | theme);
  5206.             status_display_window.SetImageStyle("background","theme" | theme);
  5207.             container.main_playlist_window.playlist_window.SetImageStyle("background", "theme" | theme);
  5208.             container.main_playlist_window.playlist_progressbar_window.SetImageStyle("barempty", "theme" | theme | "_barempty");
  5209.             container.main_playlist_window.playlist_progressbar_window.SetImageStyle("barfilled", "theme" | theme | "_barfilled");
  5210.         </script>
  5211.  
  5212.         <window name="background_window" transparent="true" shape="background_shape" _hitstyle="DRAG">
  5213.             <shape name="background_shape">
  5214.                 <shape_raster
  5215.                     fillmode    ="resize"
  5216.                     alignment    ="0,0,1,1"
  5217.                     source        ="popup.psd|backgound_color_region" 
  5218.                     source_offset    ="popup.psd|backgound_color_region @ popup.psd|chassis" 
  5219.                     inner_rect    ="40,45,100,100"
  5220.                     outer_rect    ="popup.psd|chassis"
  5221.                 />
  5222.             </shape>
  5223.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle> 
  5224.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  5225.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  5226.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  5227.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  5228.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle> 
  5229.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  5230.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  5231.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  5232.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  5233.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle> 
  5234.  
  5235.             <window name="main_background_grid" transparent="true" >
  5236.                 <imagestyle name="background" transparent="true"><raster source="popup.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" /></imagestyle>
  5237.             </window>
  5238.             <window name="display_lines_window" transparent="true" _hitstyle="ACTIVE">
  5239.                 <imagestyle name="background">
  5240.                     <raster source="popup.psd|display_corner_top_left"  offset="popup.psd|display_corner_top_left @ popup.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  5241.                     <raster source="popup.psd|display_corner_top_right" offset="popup.psd|display_corner_top_right @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  5242.                     <raster source="popup.psd|display_corner_bottom_right" offset="popup.psd|display_corner_bottom_right @ popup.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  5243.                     <raster source="popup.psd|display_line_over_mini_windows" offset="popup.psd|display_line_over_mini_windows @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  5244.                     <raster source="popup.psd|display_top_line_level_1" offset="popup.psd|display_top_line_level_1 @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  5245.                     <raster source = "popup.psd|display_vertical_left_line" offset="popup.psd|display_vertical_left_line @ popup.psd|chassis" alignment="0,1,0,1"  blendmode = "ps_normal" opacity="0.45" />
  5246.  
  5247.                                         
  5248.                     <!-- main left and right vertical lines -->
  5249.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-116" opacity="0.45" />
  5250.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-36" opacity="0.45" />
  5251.                     <!--top horizontal lines -->
  5252.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  5253.                     <!-- right hand tiny very line-->
  5254.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  5255.                     <!-- lefthand tiny vert line-->
  5256.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  5257.                     <!-- first long horizontal line -->
  5258.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  5259.                     <!-- second long horizontal line -->
  5260.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  5261.  
  5262.                     <!-- top_right_lines -->
  5263.                     <color_line color="color3" alignment="1,0,1,0" offset="-248,5,-9,5" opacity="0.45" />
  5264.                     <!-- lower hor. -->
  5265.                     <color_line color="color3" alignment="1,0,1,0" offset="-252,9,-89,9" opacity="0.45" />
  5266.                     <color_line color="color3" alignment="1,0,1,0" offset="-17,9,-10,9" opacity="0.45" />
  5267.                     <!-- righthand mini vert -->
  5268.                     <color_line color="color3" alignment="1,0,1,0" offset="-9,6,-9,9" opacity="0.45" />
  5269.                     <!-- center mini verts -->
  5270.                     <color_line color="color3" alignment="1,0,1,0" offset="-145,6,-145,9" opacity="0.45" />
  5271.                     <color_line color="color3" alignment="1,0,1,0" offset="-173,6,-173,9" opacity="0.45" />
  5272.                     <color_fill color="color3" alignment="1,0,1,0" offset="-123,6,-111,9" opacity="0.45" />
  5273.                     <color_fill color="color3" alignment="1,0,1,0" offset="-101,6,-89,9" opacity="0.45" />
  5274.                     <color_fill color="color3" alignment="1,0,1,0" offset="-208,6,-196,9" opacity="0.45" />
  5275.                     <color_fill color="color3" alignment="1,0,1,0" offset="-230,6,-218,9" opacity="0.45" />
  5276.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,8,-249,6" opacity="0.45" />
  5277.  
  5278.                     <!-- bottom left lines with squares -->
  5279.                     <color_line color="color3" alignment="0,1,0,1" offset="9,-93,,9,-19" opacity="0.45" />
  5280.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-93,12,-93" opacity="0.45" />
  5281.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-74,13,-62" opacity="0.45" />
  5282.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-52,13,-40" opacity="0.45" />
  5283.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-19,12,-19" opacity="0.45" />
  5284.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-93,13,-19" opacity="0.45" />
  5285.                     <!-- bottom left criss cross -->
  5286.                     <color_line color="color3" alignment="0,1,0,1" offset="5,-15,19,-15" opacity="0.45" />
  5287.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-17,13,-8" opacity="0.45" />
  5288.                     <!-- righthand criss cross lines on bottom -->
  5289.                     <color_line color="color3" alignment="1,1,1,1" offset="-197,-6,-167,-6" opacity="0.45" />
  5290.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-9,-188,-9" opacity="0.45" />
  5291.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-13,-191,0" opacity="0.45" />
  5292.  
  5293.  
  5294.                     <!-- bottom lines -->
  5295.                     <!-- horizontals -->
  5296.                     <!-- leaving spaces for the playbar controls -->
  5297.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-18,-107,-18" opacity="0.45" />
  5298.                     <color_line color="color3" alignment="1,1,1,1" offset="-95,-18,-90,-18" opacity="0.45" />
  5299.                     <color_line color="color3" alignment="1,1,1,1" offset="-78,-18,-73,-18" opacity="0.45" />
  5300.                     <color_line color="color3" alignment="1,1,1,1" offset="-61,-18,-56,-18" opacity="0.45" />
  5301.                     <color_line color="color3" alignment="1,1,1,1" offset="-44,-18,-29,-18" opacity="0.45" />
  5302.  
  5303.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-14,-130,-14" opacity="0.45" />
  5304.                     <!-- verts -->
  5305.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-17,-191,-15" opacity="0.45" />
  5306.                     <color_line color="color3" alignment="1,1,1,1" offset="-129,-17,-129,-14" opacity="0.45" />
  5307.                     <!-- rects -->
  5308.                     <color_fill color="color3" alignment="1,1,1,1" offset="-176,-17,-164,-14" opacity="0.45" />
  5309.                     <color_fill color="color3" alignment="1,1,1,1" offset="-154,-17,-142,-14" opacity="0.45" />
  5310.                 </imagestyle>
  5311.             </window> <!-- display_lines_window -->
  5312.  
  5313.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,2112,20,20" transparent="true" _hitstyle="ACTIVE">
  5314.                 <imagestyle name="background"> 
  5315.                     <raster source="popup.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" />    
  5316.                 </imagestyle>
  5317.                 <script name="OnIntro"> 
  5318.                     SetOffset({12,32,20,-115},0,1000,"linear_decel"); 
  5319.                 </script>
  5320.             </window> 
  5321.             <window name="right_quadrant_window" transparent="true" alignment="1,0,1,1" offset="-95,-200,-87,0" _hitstyle="ACTIVE">
  5322.                 <imagestyle name="background"><raster source="popup.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  5323.                 <script name="OnInit"> 
  5324.                     position = -1; 
  5325.                 </script>
  5326.                 <script name="OnIntro"> 
  5327.                     OnInit();
  5328.                     MoveSomething(); 
  5329.                 </script>
  5330.                 <script name="MoveSomething">
  5331.                     if ( position == -1 ) {
  5332.                         SetOffset({-95,0,-87,400},0,1000,"linear_decel"); 
  5333.                         position = 1;
  5334.                     } else {
  5335.                         SetOffset({-95,-400,-87,0},0,1000,"linear_decel"); 
  5336.                         position = -1;
  5337.                     }
  5338.                 </script>
  5339.             </window>
  5340.  
  5341.         </window> <!-- background_window -->
  5342.  
  5343.         <window name="title_window" type="textdisplay" transparent="true" shape="my_shape"
  5344.                 alignment="0,0,1,0" offset="22,11,-259,26" >
  5345.             <property font_style="my_font_10" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" 
  5346.                     edge_offset_rect="7,1,-7,-1"/>
  5347.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  5348.             <imagestyle name="background">
  5349.                 <color_rect color="color2" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5350.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5351.             </imagestyle>
  5352.             <imagestyle name="theme1">
  5353.                 <color_rect color="0xFF99EE00" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5354.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5355.             </imagestyle>
  5356.             <imagestyle name="theme2">
  5357.                 <color_rect color="0xFFB83F3F" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5358.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5359.             </imagestyle>
  5360.             <imagestyle name="theme3">
  5361.                 <color_rect color="0xFFCBFF66" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5362.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5363.             </imagestyle>
  5364.             <imagestyle name="theme4">
  5365.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5366.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5367.             </imagestyle>
  5368.             <imagestyle name="theme5">
  5369.                 <color_rect color="0xFFBBBBBB" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5370.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5371.             </imagestyle>
  5372.             <imagestyle name="theme6">
  5373.                 <color_rect color="0xFF00CCFF" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5374.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5375.             </imagestyle>
  5376.             <imagestyle name="theme7">
  5377.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5378.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5379.             </imagestyle>
  5380.             <imagestyle name="theme8">
  5381.                 <color_rect color="0xFF00B200" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5382.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5383.             </imagestyle>
  5384.             <imagestyle name="theme9">
  5385.                 <color_rect color="0xFF588FBA" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5386.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5387.             </imagestyle>
  5388.             <imagestyle name="theme10">
  5389.                 <color_rect color="theme10_color2" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  5390.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5391.             </imagestyle>
  5392.  
  5393.             <script name="OnInit"> 
  5394.                 SetText(:language.Translate("topmenu/view.playlist"));
  5395.             </script>
  5396.         </window> <!-- title_window -->
  5397.  
  5398.         <window name="status_display_window" type="Sonique2_StatusBar"  transparent="true" shape="my_shape"
  5399.                     alignment="0,1,1,1" 
  5400.                     offset="20,-26,-191,-10" >
  5401.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  5402.             <imagestyle name="background">
  5403.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  5404.                 <color_rect color="color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5405.             </imagestyle>
  5406.             <imagestyle name="theme1">
  5407.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  5408.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5409.             </imagestyle>
  5410.             <imagestyle name="theme2">
  5411.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  5412.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5413.             </imagestyle>
  5414.             <imagestyle name="theme3">
  5415.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  5416.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5417.             </imagestyle>
  5418.             <imagestyle name="theme4">
  5419.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  5420.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5421.             </imagestyle>
  5422.             <imagestyle name="theme5">
  5423.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  5424.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5425.             </imagestyle>
  5426.             <imagestyle name="theme6">
  5427.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  5428.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5429.             </imagestyle>
  5430.             <imagestyle name="theme7">
  5431.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  5432.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5433.             </imagestyle>
  5434.             <imagestyle name="theme8">
  5435.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  5436.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5437.             </imagestyle>
  5438.             <imagestyle name="theme9">
  5439.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  5440.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5441.             </imagestyle>
  5442.             <imagestyle name="theme10">
  5443.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  5444.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  5445.             </imagestyle>
  5446.  
  5447.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  5448.                     rect_status_offset= "7,1,-7,-1" rect_progress_offset="7,1,-7,-1"
  5449.                     info_font_color="color3" info_font_style="my_font_10" info_font_justification="left|v_center|single_line_only"
  5450.                     error_font_color="color1" error_font_style="my_font_10" error_font_justification="left|v_center|single_line_only"
  5451.                     warning_font_color="color1" warning_font_style="my_font_10" warning_font_justification="left|v_center|single_line_only"
  5452.                     fallback_font_color="color3" fallback_font_style="my_font_10" fallback_font_justification="left|v_center|single_line_only" 
  5453.             />
  5454.         </window> <!--  status_display_window -->
  5455.  
  5456.         <window name="window_controls_window" transparent="true">
  5457.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  5458.                 <property hover="true" />
  5459.                 <shape name="my_shape"><shape_raster source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  5460.                 <imagestyle name="state0">
  5461.                     <raster state="hit,hover" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  5462.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  5463.                     <raster state="normal" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  5464.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  5465.                 </imagestyle> 
  5466.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.help")); // todo pl </script>
  5467.                 <script name="OnClick">  :sonique.LaunchHelp(); </script>
  5468.             </window>
  5469.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  5470.                 <property hover="true" />
  5471.                 <shape name="my_shape"><shape_raster source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  5472.                 <imagestyle name="state0">
  5473.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  5474.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  5475.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  5476.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  5477.                 </imagestyle> 
  5478.                 <imagestyle name="state1">
  5479.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  5480.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  5481.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  5482.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  5483.                 </imagestyle> 
  5484.                 <script name="OnInit">
  5485.                     $topstate = parent.parent.GetAlwaysOnTop();
  5486.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  5487.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  5488.                 </script>
  5489.                 <script name="OnClick"> 
  5490.                     $topstate = parent.parent.GetAlwaysOnTop();
  5491.                     if ($topstate == true) {
  5492.                         parent.parent.SetAlwaysOnTop(0);
  5493.                         SetButtonState(0);
  5494.                     } else {    
  5495.                         parent.parent.SetAlwaysOnTop(1);
  5496.                         SetButtonState(1);                        
  5497.                     }
  5498.                 </script>
  5499.                 <script name="UpdateAlwaysOnTopState">
  5500.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  5501.                 </script>
  5502.             </window>
  5503.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  5504.                 <property hover="true" />
  5505.                 <shape name="my_shape"><shape_raster source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  5506.                 <imagestyle name="state0">
  5507.                     <raster state="hit,hover" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  5508.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  5509.                     <raster state="normal" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  5510.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  5511.                 </imagestyle> 
  5512.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  5513.                 <script name="OnClick"> parent.parent.MinimizeWindow(true); </script>
  5514.             </window>
  5515.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  5516.                 <property hover="true" />
  5517.                 <shape name="my_shape"><shape_raster source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  5518.                 <imagestyle name="state0">
  5519.                     <raster state="hit,hover" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  5520.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  5521.                     <raster state="normal" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  5522.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  5523.                 </imagestyle> 
  5524.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin")); </script>
  5525.                 <script name="OnClick"> 
  5526.                     parent.parent.DestroyWindow();
  5527.                 </script>
  5528.             </window>
  5529.         </window> <!-- window_controls_window --> 
  5530.  
  5531.         <window name="playbar_controls_window" transparent="true">
  5532.             <imagestyle name="background">
  5533.                 <raster opacity="0.75" source="popup.psd|control_circles" offset="popup.psd|control_circles @ popup.psd|chassis" alignment="1,1,1,1" blendmode="ps_normal" />
  5534.             </imagestyle> 
  5535.             <window name="prev_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  5536.                     offset="popup.psd|prev_button @ popup.psd|chassis" alignment="1,1,1,1" >
  5537.                 <property hover="true" />
  5538.                 <imagestyle name="state0">
  5539.                     <raster state="hit,hover" source="popup.psd|prev_button" blendmode="ps_normal" opacity="0.75" />
  5540.                     <raster state="normal" source="popup.psd|prev_button" blendmode="ps_normal" opacity="1.0" />
  5541.                 </imagestyle> 
  5542.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  5543.                 <script name="OnClick"> :sonique.players.default.Prev();</script>
  5544.             </window>
  5545.             <window name="playpause_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  5546.                     offset="popup.psd|pause_button @ popup.psd|chassis" alignment="1,1,1,1" >
  5547.                 <property hover="true" />
  5548.                 <imagestyle name="state0">
  5549.                     <raster state="hover" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  5550.                     <raster state="normal" source="popup.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  5551.  
  5552.                     <raster state="hit" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />                    
  5553.                 </imagestyle> 
  5554.                 <imagestyle name="state1">
  5555.                     <raster state="hover" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  5556.                     <raster state="normal" source="popup.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  5557.  
  5558.                     <raster state="hit" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  5559.                 </imagestyle> 
  5560.                 <script name="OnInit">
  5561.                     :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  5562.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  5563.                     :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  5564.                     UpdateState();
  5565.                 </script>
  5566.                 <script name="OnDestroy">
  5567.                     :sonique.players.default.UnregisterCallback("Playing", this);
  5568.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  5569.                     :sonique.players.default.UnregisterCallback("Pausing", this);
  5570.                 </script>
  5571.                 <script name="OnClick"> 
  5572.                     if (:sonique.players.default.IsPlaying()) {
  5573.                         :sonique.players.default.TogglePause(); 
  5574.                     } else { 
  5575.                         :sonique.players.default.Play(); 
  5576.                     } 
  5577.                     UpdateState();
  5578.                 </script>
  5579.                 <script name="UpdateState">
  5580.                     if (:sonique.players.default.IsPlaying()) {
  5581.                         if (:sonique.players.default.IsPaused()) {
  5582.                             SetButtonState(0);
  5583.                             SetHoverHint(:language.Translate("general/hint.play")); 
  5584.                         } else {
  5585.                             SetButtonState(1);
  5586.                             SetHoverHint(:language.Translate("general/hint.pause")); 
  5587.                         }
  5588.                     } else { 
  5589.                         SetButtonState(0);
  5590.                         SetHoverHint(:language.Translate("general/hint.play")); 
  5591.                     } 
  5592.                 </script>
  5593.             </window>
  5594.             <window name="stop_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  5595.                 offset="popup.psd|stop_button @ popup.psd|chassis" alignment="1,1,1,1" >
  5596.                 <property hover="true" />
  5597.                 <imagestyle name="state0">
  5598.                     <raster state="hit,hover" source="popup.psd|stop_button" blendmode="ps_normal" opacity="0.75" />
  5599.                     <raster state="normal" source="popup.psd|stop_button" blendmode="ps_normal" opacity="1.0" />
  5600.                 </imagestyle> 
  5601.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  5602.                 <script name="OnClick"> :sonique.players.default.Stop(); </script>
  5603.             </window>
  5604.             <window name="next_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  5605.                     offset="popup.psd|next_button @ popup.psd|chassis" alignment="1,1,1,1" >
  5606.                 <property hover="true" />
  5607.                 <imagestyle name="state0">
  5608.                     <raster state="hit,hover" source="popup.psd|next_button" blendmode="ps_normal" opacity="0.75" />
  5609.                     <raster state="normal" source="popup.psd|next_button" blendmode="ps_normal" opacity="1.0" />
  5610.                 </imagestyle> 
  5611.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  5612.                 <script name="OnClick"> :sonique.players.default.Next();</script>
  5613.             </window>
  5614.         </window> <!-- playbar_controls_window -->
  5615.  
  5616.         <window name="container" transparent="true" offset="25,33,-30,-35" alignment="0,0,1,1" >
  5617.             <window name="main_playlist_window" alignment="0,0,1,1" transparent="true" hitstyle="ACTIVE" >
  5618.  
  5619.                 <!-- playlist window -->
  5620.                 <window name="playlist_window" type="Sonique2_Playlist" transparent="true" hitstyle="ACTIVE" offset="0,0,0,-28" alignment="0,0,1,1">
  5621.                     <imagestyle name="background"><color_fill color="color2" opacity="0.5"/></imagestyle>
  5622.                     <imagestyle name="theme1"><color_fill color = "0xFF99EE00" opacity="0.5"/></imagestyle>
  5623.                     <imagestyle name="theme2"><color_fill color = "0xFFB83F3F" opacity="0.5"/></imagestyle>
  5624.                     <imagestyle name="theme3"><color_fill color = "0xFFCBFF66" opacity="0.5"/></imagestyle>
  5625.                     <imagestyle name="theme4"><color_fill color = "0xFFFF0000" opacity="0.5"/></imagestyle>
  5626.                     <imagestyle name="theme5"><color_fill color = "0xFFBBBBBB" opacity="0.5"/></imagestyle>
  5627.                     <imagestyle name="theme6"><color_fill color = "0xFF00CCFF" opacity="0.5"/></imagestyle>
  5628.                     <imagestyle name="theme7"><color_fill color = "0xFFFF0000" opacity="0.5"/></imagestyle>
  5629.                     <imagestyle name="theme8"><color_fill color = "0xFF00B200" opacity="0.5"/></imagestyle>
  5630.                     <imagestyle name="theme9"><color_fill color = "0xFF588FBA" opacity="0.5"/></imagestyle>
  5631.                     <imagestyle name="theme10"><color_fill color = "theme10_color2" opacity="0.5"/></imagestyle>
  5632.                 </window>
  5633.  
  5634.                 <!-- playlist bottom controls windows -->
  5635.                 <window name="RandomizeButton" type="button" transparent="true" hitstyle="ACTIVE" offset="5,-23,15,-10" alignment="0,1,0,1">
  5636.                     <property hover="true" />
  5637.                     <imagestyle name="state0">
  5638.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal" />
  5639.                         <raster state="normal" opacity="1.0" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal"/>
  5640.                     </imagestyle> 
  5641.                     <imagestyle name="state1">
  5642.                         <raster state="hit,hover" opacity="1.0" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal"  />
  5643.                         <raster state="normal" opacity="0.75" source="grayscale.psd|randomize_shortcut_icon" blendmode="ps_normal" />
  5644.                     </imagestyle>
  5645.                     <script name="OnInit">
  5646.                         SetHoverHint(:language.Translate("playlistwindow/hint.randomize"));
  5647.                     </script>
  5648.                     <script name="OnClick">:sonique.playlists.default.RandomizeList();</script>
  5649.                     <property    hover="true" />
  5650.                 </window>
  5651.  
  5652.                 <window name="SortButton" type="button" transparent="true" hitstyle="ACTIVE" offset="20,-23,30,-10" alignment="0,1,0,1">
  5653.                     <property hover="true" />
  5654.                     <imagestyle name="state0">
  5655.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal" />
  5656.                         <raster state="normal" opacity="1.0" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal"/>
  5657.                     </imagestyle> 
  5658.                     <imagestyle name="state1">
  5659.                         <raster state="hit,hover" opacity="1.0" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal"  />
  5660.                         <raster state="normal" opacity="0.75" source="grayscale.psd|sort_shortcut_icon" blendmode="ps_normal" />
  5661.                     </imagestyle>
  5662.                     <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.sort")); </script>
  5663.                     <script name="OnClick">
  5664.                         :sonique.prefs.CreateSection("sonique/gui/slate/defaultsort"); 
  5665.                         $origFieldArray = :sonique.prefs.GetStringArray("sonique/gui/slate/defaultsort","Fields");
  5666.                         $origDirectionArray = :sonique.prefs.GetStringArray("sonique/gui/slate/defaultsort","Directions");
  5667.                         $ick    = 0;
  5668.  
  5669.                         if ($origFieldArray.IsArray()) { 
  5670.                             $ick = $origFieldArray.ArraySize();
  5671.                             if ($origDirectionArray.IsArray()) {
  5672.                                 if ($ick != $origDirectionArray.ArraySize())    {
  5673.                                     $origDirectionArray = 0;
  5674.                                 }
  5675.                             }
  5676.                         }
  5677.                         else    {
  5678.                             $origFieldArray = {"artist","album","track","filename"};
  5679.                             $ick = $origFieldArray.ArraySize();
  5680.                             $origDirectionArray = 0;
  5681.                         }
  5682.  
  5683.                         // for simplicity, assume a max of 6 fields.  this logic is ugly.                            
  5684.                         if ($ick > 5) {
  5685.                             if ($origDirectionArray.IsArray()) {
  5686.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]},{$origFieldArray[3],$origDirectionArray[3]},{$origFieldArray[4],$origDirectionArray[4]},{$origFieldArray[5],$origDirectionArray[5]});
  5687.                             }
  5688.                             else {
  5689.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]},{$origFieldArray[3]},{$origFieldArray[4]},{$origFieldArray[5]});
  5690.                             }
  5691.                         }
  5692.                         else if ($ick > 4) {
  5693.                             if ($origDirectionArray.IsArray()) {
  5694.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]},{$origFieldArray[3],$origDirectionArray[3]},{$origFieldArray[4],$origDirectionArray[4]});
  5695.                             }
  5696.                             else {
  5697.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]},{$origFieldArray[3]},{$origFieldArray[4]});
  5698.                             }
  5699.                         }
  5700.                         else if ($ick > 3) {
  5701.                             if ($origDirectionArray.IsArray()) {
  5702.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]},{$origFieldArray[3],$origDirectionArray[3]});
  5703.                             }
  5704.                             else {
  5705.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]},{$origFieldArray[3]});
  5706.                             }
  5707.                         }
  5708.                         else if ($ick > 2) {
  5709.                             if ($origDirectionArray.IsArray()) {
  5710.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]},{$origFieldArray[2],$origDirectionArray[2]});
  5711.                             }
  5712.                             else {
  5713.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]},{$origFieldArray[2]});
  5714.                             }
  5715.                         }
  5716.                         else if ($ick > 1) {
  5717.                             if ($origDirectionArray.IsArray()) {
  5718.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]},{$origFieldArray[1],$origDirectionArray[1]});
  5719.                             }
  5720.                             else {
  5721.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0]},{$origFieldArray[1]});
  5722.                             }
  5723.                         }
  5724.                         else if ($ick > 0) {
  5725.                             if ($origDirectionArray.IsArray()) {
  5726.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0],$origDirectionArray[0]});
  5727.                             }
  5728.                             else {
  5729.                                 :sonique.playlists.default.AdvancedSort({$origFieldArray[0]});
  5730.                             }
  5731.                         }
  5732.                         else {
  5733.                             // this should never happen
  5734.                             :sonique.playlists.default.AdvancedSort({"artist"},{"album"},{"track"},{"filename"});
  5735.                         }                    
  5736.                     </script>
  5737.                 </window>
  5738.  
  5739.                 <window name="ReverseButton" type="button" transparent="true" hitstyle="ACTIVE" offset="35,-23,45,-10" alignment="0,1,0,1">
  5740.                     <property hover="true" />
  5741.                     <imagestyle name="state0">
  5742.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal" />
  5743.                         <raster state="normal" opacity="1.0" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal"/>
  5744.                     </imagestyle> 
  5745.                     <imagestyle name="state1">
  5746.                         <raster state="hit,hover" opacity="1.0" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal"  />
  5747.                         <raster state="normal" opacity="0.75" source="grayscale.psd|reverse_shortcut_icon" blendmode="ps_normal" />
  5748.                     </imagestyle>
  5749.                     <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.reverse")); </script>
  5750.                     <script name="OnClick">    :sonique.playlists.default.Reverse();    </script>
  5751.                 </window>
  5752.  
  5753.                 <window name="StopStartScanButton" type="button" transparent="true" hitstyle="ACTIVE" offset="50,-23,60,-10" alignment="0,1,0,1" >
  5754.                     <property    hover="true" />
  5755.                     <imagestyle name="state0">
  5756.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|scan_icon" num_frames="4" blendmode="ps_normal" />
  5757.                         <raster state="normal" opacity="1.0" source="grayscale.psd|scan_icon" num_frames="4" blendmode="ps_normal"/>
  5758.                     </imagestyle> 
  5759.                     <script name="OnInit">
  5760.                         :sonique.playlists.default.RegisterCallback("ScanningStarted","OnScanStarted()",this);
  5761.                         :sonique.playlists.default.RegisterCallback("ScanningFinished","OnScanFinished()",this);
  5762.                         if(:sonique.playlists.default.IdleScanningIsActive()){
  5763.                             OnScanStarted();
  5764.                         }
  5765.                         scanning=0;
  5766.                         SetHoverHint(:language.Translate("playlistwindow/hint.startscan"));
  5767.                         if(:sonique.playlists.default.CurrentlyIdleScanning()){
  5768.                             SetHoverHint(:language.Translate("playlistwindow/hint.stopscan"));
  5769.                             scanning=1;
  5770.                         }
  5771.                     </script>
  5772.                     <script name="OnDestroy">
  5773.                         :system.timer.UnsetTimer("animation_timer2", this);
  5774.                         :sonique.playlists.default.UnregisterCallback("ScanningStarted",this);
  5775.                         :sonique.playlists.default.UnregisterCallback("ScanningFinished",this);
  5776.                     </script>
  5777.                     <script name="OnScanStarted">
  5778.                         :system.timer.SetTimer("animation_timer2", 10000, "Animate();", this, true);
  5779.                         Animate();
  5780.                     </script>
  5781.                     <script name="OnScanFinished">
  5782.                         :system.timer.UnsetTimer("animation_timer2", this);
  5783.                         SetAnimTime(0,0,0,"linear_smooth", true);
  5784.                     </script>
  5785.                     <script name="Animate">
  5786.                         SetAnimTime(0,0,0,"linear_smooth", true);
  5787.                         SetAnimTime(10, 0, 10000,"linear_smooth", true);
  5788.                     </script>
  5789.                     <script name="OnClick">
  5790.                         if( scanning )    {
  5791.                             scanning=0;
  5792.                             :sonique.playlists.default.StopIdleScan();
  5793.                             SetHoverHint(:language.Translate("playlistwindow/hint.startscan"));
  5794.  
  5795.                         } else {
  5796.                             scanning=1;
  5797.                             :sonique.playlists.default.StartIdleScan();
  5798.                             SetHoverHint(:language.Translate("playlistwindow/hint.stopscan"));
  5799.                         }
  5800.                     </script>
  5801.                 </window>    
  5802.  
  5803.                 <window name="playlist_progressbar_window" type="Sonique2_Progress" transparent="true" hitstyle="ACTIVE" offset="23,-7,-23,-4" alignment="0,1,1,1" >
  5804.                     <property orientation="left_to_right" hover="true" type="PlaylistProgress" />
  5805.                     <imagestyle name="barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5806.                         <color_line color = "color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  5807.                         <color_line color = "color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5808.                     </imagestyle>
  5809.                     <imagestyle name="barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5810.                         <color_line color = "color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  5811.                         <color_line color = "color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5812.                     </imagestyle>
  5813.                     <imagestyle name="theme1_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5814.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5815.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5816.                     </imagestyle>
  5817.                     <imagestyle name="theme2_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5818.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5819.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5820.                     </imagestyle>
  5821.                     <imagestyle name="theme3_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5822.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5823.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5824.                     </imagestyle>
  5825.                     <imagestyle name="theme4_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5826.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5827.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5828.                     </imagestyle>
  5829.                     <imagestyle name="theme5_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5830.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5831.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5832.                     </imagestyle>
  5833.                     <imagestyle name="theme6_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5834.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5835.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5836.                     </imagestyle>
  5837.                     <imagestyle name="theme7_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5838.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5839.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5840.                     </imagestyle>
  5841.                     <imagestyle name="theme8_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5842.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5843.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5844.                     </imagestyle>
  5845.                     <imagestyle name="theme9_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5846.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5847.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5848.                     </imagestyle>
  5849.                     <imagestyle name="theme10_barempty"><raster source="grayscale.psd|playlist_progress_empty" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5850.                         <color_line color = "theme10_color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  5851.                         <color_line color = "theme10_color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5852.                     </imagestyle>
  5853.                     <imagestyle name="theme1_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5854.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5855.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5856.                     </imagestyle>
  5857.                     <imagestyle name="theme2_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5858.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5859.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5860.                     </imagestyle>
  5861.                     <imagestyle name="theme3_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5862.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5863.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5864.                     </imagestyle>
  5865.                     <imagestyle name="theme4_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5866.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5867.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5868.                     </imagestyle>
  5869.                     <imagestyle name="theme5_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5870.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5871.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5872.                     </imagestyle>
  5873.                     <imagestyle name="theme6_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5874.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5875.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5876.                     </imagestyle>
  5877.                     <imagestyle name="theme7_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5878.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5879.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5880.                     </imagestyle>
  5881.                     <imagestyle name="theme8_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5882.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5883.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5884.                     </imagestyle>
  5885.                     <imagestyle name="theme9_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5886.                         <color_line color = "0xFFFFFFFF" alignment = "0,0,1,0" offset="0,0,0,0" />
  5887.                         <color_line color = "0xFFFFFFFF" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5888.                     </imagestyle>
  5889.                     <imagestyle name="theme10_barfilled"><raster source="grayscale.psd|playlist_progress_fill" fillmode="tile" tile_size="2,1" blendmode="ps_normal" opacity="1.0" />
  5890.                         <color_line color = "theme10_color3" alignment = "0,0,1,0" offset="0,0,0,0" />
  5891.                         <color_line color = "theme10_color3" alignment = "0,1,1,1" offset="0,-1,0,-1" />
  5892.                     </imagestyle>
  5893.                         <script name="OnInit">SetHoverHint(:language.Translate("playlistwindow/hint.playlistprogress")); </script>
  5894.                 </window>    
  5895.             </window> <!-- main_playlist_window -->
  5896.         </window> <!-- container -->
  5897.  
  5898.  
  5899.         <window name="playlist_controls_window" transparent="true" >
  5900.             <script name="OnIntro">
  5901.                 main_window_icon_window.SetOffset({-26,33,-15,43},0,1000,"linear_accel");
  5902.                 add_file_shortcut_icon_window.SetOffset({-25,53,-15,62},0,1000,"linear_accel");
  5903.                 add_directory_shortcut_icon_window.SetOffset({-26,66,-15,75},0,1000,"linear_accel");
  5904.                 append_list_shortcut_icon_window.SetOffset({-25,79,-15,88},0,1000,"linear_accel");
  5905.                 add_list_shortcut_icon_window.SetOffset({-25,92,-15,101},0,1000,"linear_accel");
  5906.                 add_cd_shortcut_icon_window.SetOffset({-25,105,-15,115},0,1000,"linear_accel");
  5907.                 clear_list_shortcut_icon_window.SetOffset({-25,119,-15,118},0,1000,"linear_accel");
  5908.                 save_list_shortcut_icon_window.SetOffset({-25,122,-15,131},0,1000,"linear_accel");
  5909.             </script>
  5910.  
  5911.             <window name="main_window_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  5912.                 <property hover="true" />
  5913.                 <imagestyle name="state0">
  5914.                     <raster state="hit,hover" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  5915.                     <raster state="normal" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"/>
  5916.                 </imagestyle> 
  5917.                 <imagestyle name="state1">
  5918.                     <raster state="hit,hover" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"  />
  5919.                     <raster state="normal" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  5920.                 </imagestyle>
  5921.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.attachwindow"));    </script>
  5922.                 <script name="OnClick"> parent.parent.AttachWindow(); </script>
  5923.             </window> <!-- main_window_icon_window -->
  5924.             <window name="add_file_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-62" alignment="1,0,1,0">
  5925.                 <property hover="true" />
  5926.                 <imagestyle name="state0">
  5927.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|add_file_shortcut_icon" blendmode="ps_normal" />
  5928.                     <raster state="normal" opacity="1.0" source="grayscale.psd|add_file_shortcut_icon" blendmode="ps_normal"/>
  5929.                 </imagestyle> 
  5930.                 <imagestyle name="state1">
  5931.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|add_file_shortcut_icon" blendmode="ps_normal"  />
  5932.                     <raster state="normal" opacity="0.75" source="grayscale.psd|add_file_shortcut_icon" blendmode="ps_normal" />
  5933.                 </imagestyle>
  5934.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.openfiles"));    </script>
  5935.                 <script name="OnClick"> :sonique.OpenFiles(); </script>
  5936.             </window> <!-- add_file_shortcut_icon_window -->
  5937.             <window name="add_directory_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-66,-71,-75" alignment="1,0,1,0">
  5938.                 <property hover="true" />
  5939.                 <imagestyle name="state0">
  5940.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal" />
  5941.                     <raster state="normal" opacity="1.0" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal"/>
  5942.                 </imagestyle> 
  5943.                 <imagestyle name="state1">
  5944.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal"  />
  5945.                     <raster state="normal" opacity="0.75" source="grayscale.psd|add_directory_shortcut_icon" blendmode="ps_normal" />
  5946.                 </imagestyle>
  5947.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.adddirectory"));    </script>
  5948.                 <script name="OnClick">
  5949.                     $dir = :sonique.BrowseForFolder("Add folder..."); 
  5950.                     if ($dir) {:sonique.AddFile($dir);}
  5951.                 </script>
  5952.             </window> <!-- add_directory_shortcut_icon_window -->
  5953.             <window name="append_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-79,-73,-88" alignment="1,0,1,0">
  5954.                 <property hover="true" />
  5955.                 <imagestyle name="state0">
  5956.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal" />
  5957.                     <raster state="normal" opacity="1.0" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal"/>
  5958.                 </imagestyle> 
  5959.                 <imagestyle name="state1">
  5960.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal"  />
  5961.                     <raster state="normal" opacity="0.75" source="grayscale.psd|append_list_shortcut_icon" blendmode="ps_normal" />
  5962.                 </imagestyle>
  5963.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.append"));</script>
  5964.                 <script name="OnClick">:sonique.LoadPlaylistFile(:sonique.playlists.default,"true");</script>
  5965.             </window> <!-- append_list_shortcut_icon_window -->
  5966.             <window name="add_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-92,-74,-101" alignment="1,0,1,0">
  5967.                 <property hover="true" />
  5968.                 <imagestyle name="state0">
  5969.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal" />
  5970.                     <raster state="normal" opacity="1.0" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal"/>
  5971.                 </imagestyle> 
  5972.                 <imagestyle name="state1">
  5973.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal"  />
  5974.                     <raster state="normal" opacity="0.75" source="grayscale.psd|add_list_shortcut_icon" blendmode="ps_normal" />
  5975.                 </imagestyle>
  5976.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.load"));</script>
  5977.                 <script name="OnClick"> :sonique.LoadPlaylistFile(); </script>
  5978.             </window> <!-- add_list_shortcut_icon_window -->
  5979.             <window name="add_cd_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-105,-74,-114" alignment="1,0,1,0">
  5980.                 <property hover="true" />
  5981.                 <imagestyle name="state0">
  5982.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|cd_icon" blendmode="ps_normal" />
  5983.                     <raster state="normal" opacity="1.0" source="grayscale.psd|cd_icon" blendmode="ps_normal"/>
  5984.                 </imagestyle> 
  5985.                 <imagestyle name="state1">
  5986.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|cd_icon" blendmode="ps_normal"  />
  5987.                     <raster state="normal" opacity="0.75" source="grayscale.psd|cd_icon" blendmode="ps_normal" />
  5988.                 </imagestyle>
  5989.                 <script name="OnInit"> 
  5990.                     // todo
  5991.                     //SetHoverHint(:language.Translate("playlistwindow/hint.addcd"));
  5992.                     SetHoverHint("WARNING: Not fully implemented, will Add all CD drives found.");
  5993.                 </script>
  5994.                 <script name="OnClick">    
  5995.                     // todo - if only one drive, just add.  otherwise, offer choices
  5996.                     $drives = :sonique.GetSystemDrives();        
  5997.                     for ($i in 1 to $drives.ArraySize()) {
  5998.                         $type = $drives[$i - 1]["type"];
  5999.                         if ($type == "5") {
  6000.                             $path = $drives[$i - 1]["drive"];
  6001.                             //AddItem({ Text: " " | $drives[$i - 1]["drive"], Data: $drives[$i - 1]["drive"]});
  6002.                             :sonique.Status(:language.Translate("playlistwindow/status.addcd") | " " | $path);
  6003.                             :sonique.playlists.default.AddAudioCD($path);
  6004.                         }
  6005.                     }
  6006.                 </script>
  6007.             </window>
  6008.             <window name="clear_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-118,-74,-117" alignment="1,0,1,0">
  6009.                 <property hover="true" />
  6010.                 <imagestyle name="state0">
  6011.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal" />
  6012.                     <raster state="normal" opacity="1.0" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal"/>
  6013.                 </imagestyle> 
  6014.                 <imagestyle name="state1">
  6015.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal"  />
  6016.                     <raster state="normal" opacity="0.75" source="grayscale.psd|clear_list_shortcut_icon" blendmode="ps_normal" />
  6017.                 </imagestyle>
  6018.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.clear"));</script>
  6019.                 <script name="OnClick">    :sonique.playlists.default.RemoveAll();    </script>
  6020.             </window>
  6021.             <window name="save_list_shortcut_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-121,-74,-130" alignment="1,0,1,0">
  6022.                 <property hover="true" />
  6023.                 <imagestyle name="state0">
  6024.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal" />
  6025.                     <raster state="normal" opacity="1.0" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal"/>
  6026.                 </imagestyle> 
  6027.                 <imagestyle name="state1">
  6028.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal"  />
  6029.                     <raster state="normal" opacity="0.75" source="grayscale.psd|save_list_shortcut_icon" blendmode="ps_normal" />
  6030.                 </imagestyle>
  6031.                 <script name="OnInit"> SetHoverHint(:language.Translate("playlistwindow/hint.save"));</script>
  6032.                 <script name="OnClick">    :sonique.SavePlaylistFile(:sonique.playlists.default);    </script>
  6033.             </window> 
  6034.  
  6035.         </window> <!-- main_window_controls_window -->
  6036.     </window> <!-- pl popup -->
  6037.  
  6038.  
  6039.  
  6040.  
  6041. <!-- eq popup -->
  6042.     <window name="eq_popup" hitstyle="frame_hitstyle" shape="popup_chassis_shape" transparent="false" default_size="485,365" min_size="400,200">
  6043.  
  6044.         <imagestyle name="background">
  6045.             <raster
  6046.                 source        ="popup.psd|chassis"
  6047.                 offset        ="0,0,0,0"
  6048.                 alignment    ="0,0,1,1"
  6049.                 blendmode    ="ps_normal" 
  6050.                 fillmode    ="resize" opacity="1"
  6051.                 inner_rect    ="40,45,100,100"
  6052.                 outer_rect    ="popup.psd|chassis"
  6053.             />
  6054.         </imagestyle>
  6055.  
  6056.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  6057.             <hitcode type="LEFT">
  6058.                 <shape>
  6059.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  6060.                 </shape>
  6061.             </hitcode>
  6062.             <hitcode type="BOTTOM">
  6063.                 <shape>
  6064.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  6065.                 </shape>
  6066.             </hitcode>
  6067.             <hitcode type="TOP">
  6068.                 <shape>
  6069.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  6070.                 </shape>
  6071.             </hitcode>
  6072.             <hitcode type="RIGHT">
  6073.                 <shape>
  6074.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  6075.                 </shape>
  6076.             </hitcode>
  6077.             <hitcode type="BOTTOMRIGHT">
  6078.                 <shape>
  6079.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  6080.                 </shape>
  6081.             </hitcode>
  6082.         </hitstyle>
  6083.  
  6084.         <!-- monitor dock points -->
  6085.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  6086.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  6087.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  6088.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  6089.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  6090.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  6091.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  6092.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  6093.  
  6094.         <!-- master dock points -->
  6095.         <dock_point type="master" name="Popup_UL" alignment="0,0,0,0" /> 
  6096.         <dock_point type="master" name="Popup_TC" alignment="0.5,0,0.5,0" /> 
  6097.         <dock_point type="master" name="Popup_UR" alignment="1,0,1,0" /> 
  6098.         <dock_point type="master" name="Popup_LL" alignment="0,1,0,1" /> 
  6099.         <dock_point type="master" name="Popup_BC" alignment="0.5,1,0.5,1" /> 
  6100.         <dock_point type="master" name="Popup_LR" alignment="1,1,1,1" /> 
  6101.         <dock_point type="master" name="Popup_RC" alignment="1,0.5,1,0.5" />
  6102.         <dock_point type="master" name="Popup_LC" alignment="0,0.5,0,0.5" />
  6103.  
  6104.         <!-- slave to other popups -->
  6105.         <dock_point type="slave" name="Popup_UL" alignment="1,0,1,0" /> 
  6106.         <dock_point type="slave" name="Popup_UL" alignment="0,1,0,1" /> 
  6107.         <dock_point type="slave" name="Popup_UR" alignment="0,0,0,0" /> 
  6108.         <dock_point type="slave" name="Popup_UR" alignment="1,1,1,1" /> 
  6109.         <dock_point type="slave" name="Popup_LL" alignment="0,0,0,0" /> 
  6110.         <dock_point type="slave" name="Popup_LL" alignment="1,1,1,1" /> 
  6111.         <dock_point type="slave" name="Popup_LR" alignment="0,1,0,1" /> 
  6112.         <dock_point type="slave" name="Popup_LR" alignment="1,0,1,0" /> 
  6113.  
  6114.         <!-- slave to the main window -->
  6115.         <dock_point type="slave" name="Main_UL" alignment="1,0,1,0" /> 
  6116.         <dock_point type="slave" name="Main_UL" alignment="0,1,0,1" /> 
  6117.         <dock_point type="slave" name="Main_UR" alignment="0,0,0,0" /> 
  6118.         <dock_point type="slave" name="Main_UR" alignment="1,1,1,1" /> 
  6119.         <dock_point type="slave" name="Main_LL" alignment="0,0,0,0" /> 
  6120.         <dock_point type="slave" name="Main_LL" alignment="1,1,1,1" /> 
  6121.         <dock_point type="slave" name="Main_LR" alignment="0,1,0,1" /> 
  6122.         <dock_point type="slave" name="Main_LR" alignment="1,0,1,0" /> 
  6123.  
  6124.         <script name="OnInit">
  6125.             rightQuadReady = 1;
  6126.  
  6127.             // todo deal with FPS better - user settings
  6128.             SetDesiredFPS(45);
  6129.             SetWindowTitle(:language.Translate("topmenu/view.eq"),true);
  6130.             StartIntro();
  6131.  
  6132.             :sonique.InterfacePrefsCreateSection("eq_popup");
  6133.             $size = :sonique.InterfacePrefsGetStringArray("eq_popup", "size");
  6134.             if ($size.IsArray() == true) { 
  6135.                 if ( ($size[0] gt 0) and ($size[1] gt 0) ){
  6136.                 // todo - fix bug where if SetSize comes to early, the OS window shape sometimes isn't updated.  grrr...
  6137.                     SetSize($size, 0, 0, "linear_accel"); 
  6138.                 }
  6139.             }
  6140.             $location = :sonique.InterfacePrefsGetStringArray("eq_popup", "location");
  6141.             if ($location.IsArray())    { 
  6142.                 $dim = :app.GetScreenDimensions();
  6143.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  6144.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  6145.                         SetLocation($location); 
  6146.                     }
  6147.                 }
  6148.             }
  6149.             if( :sonique.InterfacePrefsGetString("eq_popup", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  6150.             else { SetAlwaysOnTop( 0 ); }
  6151.             // hotkeys
  6152.             $section = "sonique/gui/slate/hotkeys";
  6153.             :sonique.prefs.CreateSection($section);
  6154.             alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  6155.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  6156.             
  6157.             theme = :sonique.prefs.GetString("misc", "theme");
  6158.             SetTheme();
  6159.         </script>
  6160.         <script name="OnDestroy">
  6161.             $size = GetSize();
  6162.             :sonique.InterfacePrefsSetStringArray("eq_popup", "size", $size);
  6163.             $location = GetLocation();
  6164.             :sonique.InterfacePrefsSetStringArray("eq_popup", "location", $location );
  6165.             :sonique.InterfacePrefsSetString("eq_popup", "alwaysontop", GetAlwaysOnTop());
  6166.             // hotkeys
  6167.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  6168.         </script>
  6169.         <script name="OnAlwaysOnTopChange"> 
  6170.             window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]); 
  6171.         </script>
  6172.         <script name="OnActivate">
  6173.             background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_decel");
  6174.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  6175.             window_controls_window.help_button_window.SetOpacity(1.0);
  6176.             window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  6177.             window_controls_window.minimize_button_window.SetOpacity(1.0);
  6178.             window_controls_window.close_button_window.SetOpacity(1.0);
  6179.         </script>
  6180.         <script name="OnDeactivate">
  6181.             background_window.left_quadrant_window.SetOffset({12,1112,20,20},0,1000,"linear_accel" );
  6182.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  6183.             window_controls_window.help_button_window.SetOpacity(0.5);
  6184.             window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  6185.             window_controls_window.minimize_button_window.SetOpacity(0.5);
  6186.             window_controls_window.close_button_window.SetOpacity(0.5);
  6187.         </script>
  6188.         <script name="AttachWindow">
  6189.             // find main and tell it to show me
  6190.             $bFound = false;
  6191.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  6192.                 if ($window.Name() == "main")    {
  6193.                     $bFound = true;
  6194.                     $window.AttachPopup(Name());
  6195.                 }
  6196.             }
  6197.             if ($bFound == false) {
  6198.                 :sonique.InterfacePrefsSetString("main", "currentwindow", "main_eq_window");
  6199.                 :sonique.LaunchAppWindow("Default Skin");
  6200.             }
  6201.             // close me
  6202.             DestroyWindow();
  6203.         </script>
  6204.         <script name="SetTheme">
  6205.             // all popups need these:
  6206.             SetMenuProperty("theme" | theme | "_popupmenu");
  6207.             background_window.SetImageStyle("background","theme" | theme);
  6208.             title_window.SetImageStyle("background","theme" | theme);
  6209.             status_display_window.SetImageStyle("background","theme" | theme);
  6210.             container.main_eq_window.eq_presets_window.SetImageStyle("background", "theme" | theme);
  6211.             container.main_eq_window.eq_presets_window.preset_picker.SetImageStyle("img_picker_background", "theme" | theme | "_img_picker_background");
  6212.             container.main_eq_window.eq_presets_window.preset_picker.SetImageStyle("img_menu_background", "theme" | theme | "_img_menu_background");
  6213.             container.main_eq_window.eq_presets_window.preset_picker.SetImageStyle("img_item", "theme" | theme | "_img_item");
  6214.             container.main_eq_window.eq_pab_window.SetImageStyle("background", "theme" | theme);
  6215.         </script>
  6216.  
  6217.         <window name="background_window" transparent="true" shape="background_shape" _hitstyle="DRAG">
  6218.             <shape name="background_shape">
  6219.                 <shape_raster
  6220.                     fillmode    ="resize"
  6221.                     alignment    ="0,0,1,1"
  6222.                     source        ="popup.psd|backgound_color_region" 
  6223.                     source_offset    ="popup.psd|backgound_color_region @ popup.psd|chassis" 
  6224.                     inner_rect    ="40,45,100,100"
  6225.                     outer_rect    ="popup.psd|chassis"
  6226.                 />
  6227.             </shape>
  6228.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle> 
  6229.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  6230.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  6231.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  6232.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  6233.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle> 
  6234.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  6235.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  6236.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  6237.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  6238.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle> 
  6239.             <window name="main_background_grid" transparent="true" >
  6240.                 <imagestyle name="background" transparent="true"><raster source="popup.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" /></imagestyle>
  6241.             </window>
  6242.             <window name="display_lines_window" transparent="true" _hitstyle="ACTIVE">
  6243.                 <imagestyle name="background">
  6244.                     <raster source="popup.psd|display_corner_top_left"  offset="popup.psd|display_corner_top_left @ popup.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  6245.                     <raster source="popup.psd|display_corner_top_right" offset="popup.psd|display_corner_top_right @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  6246.                     <raster source="popup.psd|display_corner_bottom_right" offset="popup.psd|display_corner_bottom_right @ popup.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  6247.                     <raster source="popup.psd|display_line_over_mini_windows" offset="popup.psd|display_line_over_mini_windows @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  6248.                     <raster source="popup.psd|display_top_line_level_1" offset="popup.psd|display_top_line_level_1 @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  6249.                     <raster source = "popup.psd|display_vertical_left_line" offset="popup.psd|display_vertical_left_line @ popup.psd|chassis" alignment="0,1,0,1"  blendmode = "ps_normal" opacity="0.45" />
  6250.  
  6251.                                         
  6252.                     <!-- main left and right vertical lines -->
  6253.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-116" opacity="0.45" />
  6254.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-36" opacity="0.45" />
  6255.                     <!--top horizontal lines -->
  6256.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  6257.                     <!-- right hand tiny very line-->
  6258.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  6259.                     <!-- lefthand tiny vert line-->
  6260.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  6261.                     <!-- first long horizontal line -->
  6262.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  6263.                     <!-- second long horizontal line -->
  6264.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  6265.  
  6266.                     <!-- top_right_lines -->
  6267.                     <color_line color="color3" alignment="1,0,1,0" offset="-248,5,-9,5" opacity="0.45" />
  6268.                     <!-- lower hor. -->
  6269.                     <color_line color="color3" alignment="1,0,1,0" offset="-252,9,-89,9" opacity="0.45" />
  6270.                     <color_line color="color3" alignment="1,0,1,0" offset="-17,9,-10,9" opacity="0.45" />
  6271.                     <!-- righthand mini vert -->
  6272.                     <color_line color="color3" alignment="1,0,1,0" offset="-9,6,-9,9" opacity="0.45" />
  6273.                     <!-- center mini verts -->
  6274.                     <color_line color="color3" alignment="1,0,1,0" offset="-145,6,-145,9" opacity="0.45" />
  6275.                     <color_line color="color3" alignment="1,0,1,0" offset="-173,6,-173,9" opacity="0.45" />
  6276.                     <color_fill color="color3" alignment="1,0,1,0" offset="-123,6,-111,9" opacity="0.45" />
  6277.                     <color_fill color="color3" alignment="1,0,1,0" offset="-101,6,-89,9" opacity="0.45" />
  6278.                     <color_fill color="color3" alignment="1,0,1,0" offset="-208,6,-196,9" opacity="0.45" />
  6279.                     <color_fill color="color3" alignment="1,0,1,0" offset="-230,6,-218,9" opacity="0.45" />
  6280.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,8,-249,6" opacity="0.45" />
  6281.  
  6282.                     <!-- bottom left lines with squares -->
  6283.                     <color_line color="color3" alignment="0,1,0,1" offset="9,-93,,9,-19" opacity="0.45" />
  6284.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-93,12,-93" opacity="0.45" />
  6285.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-74,13,-62" opacity="0.45" />
  6286.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-52,13,-40" opacity="0.45" />
  6287.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-19,12,-19" opacity="0.45" />
  6288.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-93,13,-19" opacity="0.45" />
  6289.                     <!-- bottom left criss cross -->
  6290.                     <color_line color="color3" alignment="0,1,0,1" offset="5,-15,19,-15" opacity="0.45" />
  6291.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-17,13,-8" opacity="0.45" />
  6292.                     <!-- righthand criss cross lines on bottom -->
  6293.                     <color_line color="color3" alignment="1,1,1,1" offset="-197,-6,-167,-6" opacity="0.45" />
  6294.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-9,-188,-9" opacity="0.45" />
  6295.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-13,-191,0" opacity="0.45" />
  6296.  
  6297.  
  6298.                     <!-- bottom lines -->
  6299.                     <!-- horizontals -->
  6300.                     <!-- leaving spaces for the playbar controls -->
  6301.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-18,-107,-18" opacity="0.45" />
  6302.                     <color_line color="color3" alignment="1,1,1,1" offset="-95,-18,-90,-18" opacity="0.45" />
  6303.                     <color_line color="color3" alignment="1,1,1,1" offset="-78,-18,-73,-18" opacity="0.45" />
  6304.                     <color_line color="color3" alignment="1,1,1,1" offset="-61,-18,-56,-18" opacity="0.45" />
  6305.                     <color_line color="color3" alignment="1,1,1,1" offset="-44,-18,-29,-18" opacity="0.45" />
  6306.  
  6307.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-14,-130,-14" opacity="0.45" />
  6308.                     <!-- verts -->
  6309.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-17,-191,-15" opacity="0.45" />
  6310.                     <color_line color="color3" alignment="1,1,1,1" offset="-129,-17,-129,-14" opacity="0.45" />
  6311.                     <!-- rects -->
  6312.                     <color_fill color="color3" alignment="1,1,1,1" offset="-176,-17,-164,-14" opacity="0.45" />
  6313.                     <color_fill color="color3" alignment="1,1,1,1" offset="-154,-17,-142,-14" opacity="0.45" />
  6314.                 </imagestyle>
  6315.             </window> <!-- display_lines_window -->
  6316.  
  6317.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,2112,20,20" transparent="true" _hitstyle="ACTIVE">
  6318.                 <imagestyle name="background"> 
  6319.                     <raster source="popup.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" />    
  6320.                 </imagestyle>
  6321.                 <script name="OnIntro"> 
  6322.                     SetOffset({12,32,20,-115},0,1000,"linear_decel"); 
  6323.                 </script>
  6324.             </window> 
  6325.             <window name="right_quadrant_window" transparent="true" alignment="1,0,1,1" offset="-95,-200,-87,0" _hitstyle="ACTIVE">
  6326.                 <imagestyle name="background"><raster source="popup.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  6327.                 <script name="OnInit"> 
  6328.                     position = -1; 
  6329.                 </script>
  6330.                 <script name="OnIntro"> 
  6331.                     OnInit();
  6332.                     MoveSomething(); 
  6333.                 </script>
  6334.                 <script name="MoveSomething">
  6335.                     if ( position == -1 ) {
  6336.                         SetOffset({-95,0,-87,400},0,1000,"linear_decel"); 
  6337.                         position = 1;
  6338.                     } else {
  6339.                         SetOffset({-95,-400,-87,0},0,1000,"linear_decel"); 
  6340.                         position = -1;
  6341.                     }
  6342.                 </script>
  6343.             </window>
  6344.  
  6345.         </window> <!-- background_window -->
  6346.  
  6347.         <window name="title_window" type="textdisplay" transparent="true" shape="my_shape"
  6348.                 alignment="0,0,1,0" offset="22,11,-259,26" >
  6349.             <property font_style="my_font_10" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" 
  6350.                     edge_offset_rect="7,1,-7,-1"/>
  6351.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  6352.             <imagestyle name="background">
  6353.                 <color_rect color="color2" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6354.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6355.             </imagestyle>
  6356.             <imagestyle name="theme1">
  6357.                 <color_rect color="0xFF99EE00" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6358.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6359.             </imagestyle>
  6360.             <imagestyle name="theme2">
  6361.                 <color_rect color="0xFFB83F3F" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6362.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6363.             </imagestyle>
  6364.             <imagestyle name="theme3">
  6365.                 <color_rect color="0xFFCBFF66" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6366.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6367.             </imagestyle>
  6368.             <imagestyle name="theme4">
  6369.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6370.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6371.             </imagestyle>
  6372.             <imagestyle name="theme5">
  6373.                 <color_rect color="0xFFBBBBBB" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6374.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6375.             </imagestyle>
  6376.             <imagestyle name="theme6">
  6377.                 <color_rect color="0xFF00CCFF" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6378.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6379.             </imagestyle>
  6380.             <imagestyle name="theme7">
  6381.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6382.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6383.             </imagestyle>
  6384.             <imagestyle name="theme8">
  6385.                 <color_rect color="0xFF00B200" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6386.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6387.             </imagestyle>
  6388.             <imagestyle name="theme9">
  6389.                 <color_rect color="0xFF588FBA" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6390.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6391.             </imagestyle>
  6392.             <imagestyle name="theme10">
  6393.                 <color_rect color="theme10_color2" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  6394.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6395.             </imagestyle>
  6396.             <script name="OnInit"> 
  6397.                 SetText(:language.Translate("topmenu/view.eq"));
  6398.             </script>
  6399.         </window> <!-- title_window -->
  6400.  
  6401.         <window name="status_display_window" type="Sonique2_StatusBar"  transparent="true" shape="my_shape"
  6402.                     alignment="0,1,1,1" 
  6403.                     offset="20,-26,-191,-10" >
  6404.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  6405.             <imagestyle name="background">
  6406.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  6407.                 <color_rect color="color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6408.             </imagestyle>
  6409.             <imagestyle name="theme1">
  6410.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  6411.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6412.             </imagestyle>
  6413.             <imagestyle name="theme2">
  6414.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  6415.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6416.             </imagestyle>
  6417.             <imagestyle name="theme3">
  6418.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  6419.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6420.             </imagestyle>
  6421.             <imagestyle name="theme4">
  6422.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  6423.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6424.             </imagestyle>
  6425.             <imagestyle name="theme5">
  6426.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  6427.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6428.             </imagestyle>
  6429.             <imagestyle name="theme6">
  6430.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  6431.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6432.             </imagestyle>
  6433.             <imagestyle name="theme7">
  6434.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  6435.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6436.             </imagestyle>
  6437.             <imagestyle name="theme8">
  6438.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  6439.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6440.             </imagestyle>
  6441.             <imagestyle name="theme9">
  6442.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  6443.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6444.             </imagestyle>
  6445.             <imagestyle name="theme10">
  6446.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  6447.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  6448.             </imagestyle>
  6449.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  6450.                     rect_status_offset= "7,1,-7,-1" rect_progress_offset="7,1,-7,-1"
  6451.                     info_font_color="color3" info_font_style="my_font_10" info_font_justification="left|v_center|single_line_only"
  6452.                     error_font_color="color1" error_font_style="my_font_10" error_font_justification="left|v_center|single_line_only"
  6453.                     warning_font_color="color1" warning_font_style="my_font_10" warning_font_justification="left|v_center|single_line_only"
  6454.                     fallback_font_color="color3" fallback_font_style="my_font_10" fallback_font_justification="left|v_center|single_line_only" 
  6455.             />
  6456.             <script name="OnInit"> 
  6457.                 :sonique.LocalStatus("", "fallback", this); 
  6458.             </script>
  6459.         </window> <!--  status_display_window -->
  6460.  
  6461.         <window name="window_controls_window" transparent="true">
  6462.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  6463.                 <property hover="true" />
  6464.                 <shape name="my_shape"><shape_raster source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  6465.                 <imagestyle name="state0">
  6466.                     <raster state="hit,hover" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  6467.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  6468.                     <raster state="normal" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  6469.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  6470.                 </imagestyle> 
  6471.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.help")); // todo pl </script>
  6472.                 <script name="OnClick">  :sonique.LaunchHelp(); </script>
  6473.             </window>
  6474.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  6475.                 <property hover="true" />
  6476.                 <shape name="my_shape"><shape_raster source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  6477.                 <imagestyle name="state0">
  6478.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  6479.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  6480.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  6481.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  6482.                 </imagestyle> 
  6483.                 <imagestyle name="state1">
  6484.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  6485.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  6486.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  6487.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  6488.                 </imagestyle> 
  6489.                 <script name="OnInit">
  6490.                     $topstate = parent.parent.GetAlwaysOnTop();
  6491.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  6492.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  6493.                 </script>
  6494.                 <script name="OnClick"> 
  6495.                     $topstate = parent.parent.GetAlwaysOnTop();
  6496.                     if ($topstate == true) {
  6497.                         parent.parent.SetAlwaysOnTop(0);
  6498.                         SetButtonState(0);
  6499.                     } else {    
  6500.                         parent.parent.SetAlwaysOnTop(1);
  6501.                         SetButtonState(1);                        
  6502.                     }
  6503.                 </script>
  6504.                 <script name="UpdateAlwaysOnTopState">
  6505.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  6506.                 </script>
  6507.             </window>
  6508.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  6509.                 <property hover="true" />
  6510.                 <shape name="my_shape"><shape_raster source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  6511.                 <imagestyle name="state0">
  6512.                     <raster state="hit,hover" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  6513.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  6514.                     <raster state="normal" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  6515.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  6516.                 </imagestyle> 
  6517.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  6518.                 <script name="OnClick"> parent.parent.MinimizeWindow(true); </script>
  6519.             </window>
  6520.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  6521.                 <property hover="true" />
  6522.                 <shape name="my_shape"><shape_raster source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  6523.                 <imagestyle name="state0">
  6524.                     <raster state="hit,hover" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  6525.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  6526.                     <raster state="normal" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  6527.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  6528.                 </imagestyle> 
  6529.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin")); </script>
  6530.                 <script name="OnClick"> 
  6531.                     parent.parent.DestroyWindow();
  6532.                 </script>
  6533.             </window>
  6534.         </window> <!-- window_controls_window --> 
  6535.  
  6536.         <window name="playbar_controls_window" transparent="true">
  6537.             <imagestyle name="background">
  6538.                 <raster opacity="0.75" source="popup.psd|control_circles" offset="popup.psd|control_circles @ popup.psd|chassis" alignment="1,1,1,1" blendmode="ps_normal" />
  6539.             </imagestyle> 
  6540.             <window name="prev_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  6541.                     offset="popup.psd|prev_button @ popup.psd|chassis" alignment="1,1,1,1" >
  6542.                 <property hover="true" />
  6543.                 <imagestyle name="state0">
  6544.                     <raster state="hit,hover" source="popup.psd|prev_button" blendmode="ps_normal" opacity="0.75" />
  6545.                     <raster state="normal" source="popup.psd|prev_button" blendmode="ps_normal" opacity="1.0" />
  6546.                 </imagestyle> 
  6547.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  6548.                 <script name="OnClick"> :sonique.players.default.Prev();</script>
  6549.             </window>
  6550.             <window name="playpause_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  6551.                     offset="popup.psd|pause_button @ popup.psd|chassis" alignment="1,1,1,1" >
  6552.                 <property hover="true" />
  6553.                 <imagestyle name="state0">
  6554.                     <raster state="hover" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  6555.                     <raster state="normal" source="popup.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  6556.  
  6557.                     <raster state="hit" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />                    
  6558.                 </imagestyle> 
  6559.                 <imagestyle name="state1">
  6560.                     <raster state="hover" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  6561.                     <raster state="normal" source="popup.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  6562.  
  6563.                     <raster state="hit" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  6564.                 </imagestyle> 
  6565.                 <script name="OnInit">
  6566.                     :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  6567.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  6568.                     :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  6569.                     UpdateState();
  6570.                 </script>
  6571.                 <script name="OnDestroy">
  6572.                     :sonique.players.default.UnregisterCallback("Playing", this);
  6573.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  6574.                     :sonique.players.default.UnregisterCallback("Pausing", this);
  6575.                 </script>
  6576.                 <script name="OnClick"> 
  6577.                     if (:sonique.players.default.IsPlaying()) {
  6578.                         :sonique.players.default.TogglePause(); 
  6579.                     } else { 
  6580.                         :sonique.players.default.Play(); 
  6581.                     } 
  6582.                     UpdateState();
  6583.                 </script>
  6584.                 <script name="UpdateState">
  6585.                     if (:sonique.players.default.IsPlaying()) {
  6586.                         if (:sonique.players.default.IsPaused()) {
  6587.                             SetButtonState(0);
  6588.                             SetHoverHint(:language.Translate("general/hint.play")); 
  6589.                         } else {
  6590.                             SetButtonState(1);
  6591.                             SetHoverHint(:language.Translate("general/hint.pause")); 
  6592.                         }
  6593.                     } else { 
  6594.                         SetButtonState(0);
  6595.                         SetHoverHint(:language.Translate("general/hint.play")); 
  6596.                     } 
  6597.                 </script>
  6598.             </window>
  6599.             <window name="stop_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  6600.                 offset="popup.psd|stop_button @ popup.psd|chassis" alignment="1,1,1,1" >
  6601.                 <property hover="true" />
  6602.                 <imagestyle name="state0">
  6603.                     <raster state="hit,hover" source="popup.psd|stop_button" blendmode="ps_normal" opacity="0.75" />
  6604.                     <raster state="normal" source="popup.psd|stop_button" blendmode="ps_normal" opacity="1.0" />
  6605.                 </imagestyle> 
  6606.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  6607.                 <script name="OnClick"> :sonique.players.default.Stop(); </script>
  6608.             </window>
  6609.             <window name="next_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  6610.                     offset="popup.psd|next_button @ popup.psd|chassis" alignment="1,1,1,1" >
  6611.                 <property hover="true" />
  6612.                 <imagestyle name="state0">
  6613.                     <raster state="hit,hover" source="popup.psd|next_button" blendmode="ps_normal" opacity="0.75" />
  6614.                     <raster state="normal" source="popup.psd|next_button" blendmode="ps_normal" opacity="1.0" />
  6615.                 </imagestyle> 
  6616.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  6617.                 <script name="OnClick"> :sonique.players.default.Next();</script>
  6618.             </window>
  6619.         </window> <!-- playbar_controls_window -->
  6620.  
  6621.         <window name="container" transparent="true" offset="25,35,-20,-35" alignment="0,0,1,1" >
  6622.             <window name="main_eq_window" alignment="0,0,1,1" transparent="true" hitstyle="ACTIVE" >
  6623.                 <window name="eq_window" type="Sonique2_Equalizer" transparent="true" hitstyle="ACTIVE" offset="0,0,-12,-50" alignment="0,0,1,1">
  6624.                     <property    freq_string_rows = "0"
  6625.                         freq_line_color = "color3_50" freq_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  6626.                         center_line_color = "color3_50" center_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  6627.                         curve_line_color = "color3" curve_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  6628.                         border_line_color = "color3_50" border_line_blendmode="RGB|COPY|ALPHA_SRCALPHA"
  6629.                     />
  6630.                     <imagestyle name="background" transparent="true" />
  6631.                     <script name="GetNumBands">:sonique.players.default.equalizer.GetNumBands();</script>
  6632.                     <script name="SetNumBands">:sonique.players.default.equalizer.SetNumBands($params[0]);</script>
  6633.                     <script name="GetBandGain">:sonique.players.default.equalizer.GetBandGain($params[0]);</script>
  6634.                     <script name="SetBandGain">:sonique.players.default.equalizer.SetBandGain($params[0], $params[1]);</script>
  6635.                     <script name="OnInit">
  6636.                         loadingPreset = 0;
  6637.                         :sonique.players.default.equalizer.RegisterChangeCallback("", "myOnChange()", this);
  6638.                     </script>
  6639.                     <script name="OnDestroy">:sonique.players.default.equalizer.UnregisterChangeCallback("", this);</script>
  6640.                     <script name="myOnChange">
  6641.                         UpdateBands();
  6642.                         UpdateDisplay();
  6643.                         :sonique.players.default.SendFilterMessage("equalizerReloadSettings");
  6644.                         eq_presets_window.preset_picker.SetCurrentIndex(0);
  6645.                     </script>
  6646.                 </window>
  6647.                 <window name="eq_presets_window" transparent="true" offset="0,-48,-2,-2" alignment="0,1,0.5,1" >
  6648.                     <imagestyle name="background">
  6649.                         <color_fill color = "color2" opacity="0.25"/>
  6650.                         <color_rect color = "color3" opacity="0.25"/>
  6651.                     </imagestyle>
  6652.                     <imagestyle name="theme1">
  6653.                         <color_fill color = "0xFF99EE00" opacity="0.25"/>
  6654.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6655.                     </imagestyle>
  6656.                     <imagestyle name="theme2">
  6657.                         <color_fill color = "0xFFB83F3F" opacity="0.25"/>
  6658.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6659.                     </imagestyle>
  6660.                     <imagestyle name="theme3">
  6661.                         <color_fill color = "0xFFCBFF66" opacity="0.25"/>
  6662.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6663.                     </imagestyle>
  6664.                     <imagestyle name="theme4">
  6665.                         <color_fill color = "0xFFFF0000" opacity="0.25"/>
  6666.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6667.                     </imagestyle>
  6668.                     <imagestyle name="theme5">
  6669.                         <color_fill color = "0xFFBBBBBB" opacity="0.25"/>
  6670.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6671.                     </imagestyle>
  6672.                     <imagestyle name="theme6">
  6673.                         <color_fill color = "0xFF00CCFF" opacity="0.25"/>
  6674.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6675.                     </imagestyle>
  6676.                     <imagestyle name="theme7">
  6677.                         <color_fill color = "0xFFFF0000" opacity="0.25"/>
  6678.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6679.                     </imagestyle>
  6680.                     <imagestyle name="theme8">
  6681.                         <color_fill color = "0xFF00B200" opacity="0.25"/>
  6682.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6683.                     </imagestyle>
  6684.                     <imagestyle name="theme9">
  6685.                         <color_fill color = "0xFF588FBA" opacity="0.25"/>
  6686.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6687.                     </imagestyle>
  6688.                     <imagestyle name="theme10">
  6689.                         <color_fill color = "theme10_color2" opacity="0.25"/>
  6690.                         <color_rect color = "theme10_color3" opacity="0.25"/>
  6691.                     </imagestyle>
  6692.  
  6693.                     <window name="presets_label_window" type="textdisplay" alignment="0,0,1,0" offset="2,10,-5,20" transparent="true">
  6694.                         <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  6695.                         <script name="OnInit"> SetText( :language.Translate("eqwindow/label.presets")); </script>
  6696.                     </window>
  6697.                     <window name="preset_picker" type="picker" hitstyle="ACTIVE" alignment="0,0,1,0" offset="5,25,-5,40" transparent="true" >
  6698.                         <property hover="true" fade_duration="0"
  6699.                             font_style="my_font_8" font_justification="h_center|top" textshadow="false"
  6700.                             font_color1="color3" font_color2="color3" font_color3="color3" 
  6701.                             text_offset_rect="0,-3,0,0" />
  6702.                         <imagestyle name="img_picker_background" transparent="true">
  6703.                             <color_fill color="color1" />
  6704.                             <color_rect color="color3" opacity="0.25"/>
  6705.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6706.                         </imagestyle>
  6707.                         <imagestyle name="theme1_img_picker_background" transparent="true">
  6708.                             <color_fill color="0xFF303030" />
  6709.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6710.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6711.                         </imagestyle>
  6712.                         <imagestyle name="theme2_img_picker_background" transparent="true">
  6713.                             <color_fill color="0xFFFF9900" />
  6714.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6715.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6716.                         </imagestyle>
  6717.                         <imagestyle name="theme3_img_picker_background" transparent="true">
  6718.                             <color_fill color="0xFF28497F" />
  6719.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6720.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6721.                         </imagestyle>
  6722.                         <imagestyle name="theme4_img_picker_background" transparent="true">
  6723.                             <color_fill color="0xFF000000" />
  6724.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6725.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6726.                         </imagestyle>
  6727.                         <imagestyle name="theme5_img_picker_background" transparent="true">
  6728.                             <color_fill color="0xFF888888" />
  6729.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6730.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6731.                         </imagestyle>
  6732.                         <imagestyle name="theme6_img_picker_background" transparent="true">
  6733.                             <color_fill color="0xFF303030" />
  6734.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6735.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6736.                         </imagestyle>
  6737.                         <imagestyle name="theme7_img_picker_background" transparent="true">
  6738.                             <color_fill color="0xFF606060" />
  6739.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6740.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6741.                         </imagestyle>
  6742.                         <imagestyle name="theme8_img_picker_background" transparent="true">
  6743.                             <color_fill color="0xFF143B14" />
  6744.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6745.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6746.                         </imagestyle>
  6747.                         <imagestyle name="theme9_img_picker_background" transparent="true">
  6748.                             <color_fill color="0xFF303030" />
  6749.                             <color_rect color="0xFFFFFFFF" opacity="0.25"/>
  6750.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6751.                         </imagestyle>
  6752.                         <imagestyle name="theme10_img_picker_background" transparent="true">
  6753.                             <color_fill color="theme10_color1" />
  6754.                             <color_rect color="theme10_color3" opacity="0.25"/>
  6755.                             <raster source="grayscale.psd|down_arrow_icon" blendmode="ps_normal" alignment="1,0,1,1" offset="-12,6,-5,0" />
  6756.                         </imagestyle>
  6757.                         <imagestyle name="img_menu_background" transparent="true" >
  6758.                             <color_fill color="color1"/>
  6759.                             <color_rect color="color3" opacity="0.25" />
  6760.                         </imagestyle>
  6761.                         <imagestyle name="theme1_img_menu_background" transparent="true" >
  6762.                             <color_fill color="0xFF303030"/>
  6763.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6764.                         </imagestyle>
  6765.                         <imagestyle name="theme2_img_menu_background" transparent="true" >
  6766.                             <color_fill color="0xFFFF9900"/>
  6767.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6768.                         </imagestyle>
  6769.                         <imagestyle name="theme3_img_menu_background" transparent="true" >
  6770.                             <color_fill color="0xFF28497F"/>
  6771.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6772.                         </imagestyle>
  6773.                         <imagestyle name="theme4_img_menu_background" transparent="true" >
  6774.                             <color_fill color="0xFF000000"/>
  6775.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6776.                         </imagestyle>
  6777.                         <imagestyle name="theme5_img_menu_background" transparent="true" >
  6778.                             <color_fill color="0xFF888888"/>
  6779.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6780.                         </imagestyle>
  6781.                         <imagestyle name="theme6_img_menu_background" transparent="true" >
  6782.                             <color_fill color="0xFF303030"/>
  6783.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6784.                         </imagestyle>
  6785.                         <imagestyle name="theme7_img_menu_background" transparent="true" >
  6786.                             <color_fill color="0xFF606060"/>
  6787.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6788.                         </imagestyle>
  6789.                         <imagestyle name="theme8_img_menu_background" transparent="true" >
  6790.                             <color_fill color="0xFF143B14"/>
  6791.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6792.                         </imagestyle>
  6793.                         <imagestyle name="theme9_img_menu_background" transparent="true" >
  6794.                             <color_fill color="0xFF303030"/>
  6795.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6796.                         </imagestyle>
  6797.                         <imagestyle name="theme10_img_menu_background" transparent="true" >
  6798.                             <color_fill color="theme10_color1"/>
  6799.                             <color_rect color="theme10_color3" opacity="0.25" />
  6800.                         </imagestyle>
  6801.                         <imagestyle name="img_item" transparent="true">
  6802.                             <color_fill state="hover,hit" color="color2" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6803.                             <color_fill state="normal" color="color2" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6804.                         </imagestyle>
  6805.                         <imagestyle name="theme1_img_item" transparent="true">
  6806.                             <color_fill state="hover,hit" color="0xFF99EE00" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6807.                             <color_fill state="normal" color="0xFF99EE00" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6808.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6809.                         </imagestyle>
  6810.                         <imagestyle name="theme2_img_item" transparent="true">
  6811.                             <color_fill state="hover,hit" color="0xFFB83F3F" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6812.                             <color_fill state="normal" color="0xFFB83F3F" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6813.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6814.                         </imagestyle>
  6815.                         <imagestyle name="theme3_img_item" transparent="true">
  6816.                             <color_fill state="hover,hit" color="0xFFCBFF66" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6817.                             <color_fill state="normal" color="0xFFCBFF66" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6818.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6819.                         </imagestyle>
  6820.                         <imagestyle name="theme4_img_item" transparent="true">
  6821.                             <color_fill state="hover,hit" color="0xFFFF0000" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6822.                             <color_fill state="normal" color="0xFFFF0000" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6823.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6824.                         </imagestyle>
  6825.                         <imagestyle name="theme5_img_item" transparent="true">
  6826.                             <color_fill state="hover,hit" color="0xFFBBBBBB" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6827.                             <color_fill state="normal" color="0xFFBBBBBB" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6828.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6829.                         </imagestyle>
  6830.                         <imagestyle name="theme6_img_item" transparent="true">
  6831.                             <color_fill state="hover,hit" color="0xFF00CCFF" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6832.                             <color_fill state="normal" color="0xFF00CCFF" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6833.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6834.                         </imagestyle>
  6835.                         <imagestyle name="theme7_img_item" transparent="true">
  6836.                             <color_fill state="hover,hit" color="0xFFFF0000" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6837.                             <color_fill state="normal" color="0xFFFF0000" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6838.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6839.                         </imagestyle>
  6840.                         <imagestyle name="theme8_img_item" transparent="true">
  6841.                             <color_fill state="hover,hit" color="0xFF00B200" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6842.                             <color_fill state="normal" color="0xFF00B200" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6843.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6844.                         </imagestyle>
  6845.                         <imagestyle name="theme9_img_item" transparent="true">
  6846.                             <color_fill state="hover,hit" color="0xFF588FBA" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6847.                             <color_fill state="normal" color="0xFF588FBA" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6848.                             <color_rect color="0xFFFFFFFF" opacity="0.25" />
  6849.                         </imagestyle>
  6850.                         <imagestyle name="theme10_img_item" transparent="true">
  6851.                             <color_fill state="hover,hit" color="theme10_color2" opacity="0.5" alignment="0,0,1,1" offset="1,0,-1,0" />
  6852.                             <color_fill state="normal" color="theme10_color2" opacity="0.25" alignment="0,0,1,1" offset="1,0,-1,0" />
  6853.                             <color_rect color="theme10_color3" opacity="0.25" />
  6854.                         </imagestyle>
  6855.                         <script name="OnInit">
  6856.                             SetHoverHint(:language.Translate("eqwindow/hint.presetpicker"));
  6857.                             if (!:sonique.prefs.DoesSectionExist("eqpresets")) {
  6858.                                 AddItem( { Text: "No Presets Loaded", Data: "" } );
  6859.                             }
  6860.                             else {
  6861.                                 $presets = :sonique.prefs.GetStringArray("eqpresets", "Names"); 
  6862.                                 if ($presets.IsArray()) {
  6863.                                     AddItem( { text: :language.Translate("general/label.none"), data: "" } );
  6864.                                     // jmctodo - mscript bug.  if i use foreach ($preset in $presets)
  6865.                                     // and set the data element to $preset for each, then the 
  6866.                                     // data ends up holding whatever the last $preset was.  ugh.
  6867.                                     //foreach ($preset in $presets)
  6868.                                     for ($i in 1 to $presets.ArraySize()) {
  6869.                                         //if (:sonique.prefs.DoesSectionExist("eqpresets/" | $preset))
  6870.                                         if (:sonique.prefs.DoesSectionExist("eqpresets/" |  $presets[$i-1]))    {
  6871.                                             //$name = :sonique.prefs.GetString("eqpresets/" | $preset, "Name"); 
  6872.                                             $name = :sonique.prefs.GetString("eqpresets/" | $presets[$i-1], "Name"); 
  6873.                                             if ($name) {
  6874.                                                 //AddItem( { text: $name, data: $preset } );
  6875.                                                 AddItem( { Text: $name, Data: $presets[$i-1] });
  6876.                                             }
  6877.                                         }
  6878.                                     }
  6879.                                 } else {
  6880.                                     AddItem( { Text: "No Presets Loaded", Data: "" } );
  6881.                                 }
  6882.                             }
  6883.                         </script>
  6884.                         <script name="OnItemSelected">
  6885.                             if ($params[0] != 0) 
  6886.                             {
  6887.                                 $name=GetItem($params[0])["Data"];
  6888.                                 $prettyname=GetItem($params[0])["Text"];
  6889.                                 $section = "eqpresets/" | $name;
  6890.                                     $GainArray = :sonique.prefs.GetStringArray($section, "Gain");
  6891.                                 if ($GainArray.IsArray()) {
  6892.                                     if ($GainArray.ArraySize() > 0) {
  6893.                                         eq_window.SetNumBands($GainArray.ArraySize());
  6894.                                         for ($i in 1 to $GainArray.ArraySize()) {
  6895.                                             eq_window.SetBandGain($i-1, $GainArray[$i-1]);
  6896.                                         }
  6897.                                     }
  6898.                                 }
  6899.                             }
  6900.                             SetCurrentIndex($params[0]);
  6901.                             :sonique.players.default.SendFilterMessage("equalizerReloadSettings");
  6902.                         </script>
  6903.                     </window> <!-- preset_picker -->
  6904.  
  6905.                     <window name="eq_save_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-20,5,-5,20" alignment="1,0,1,0">
  6906.                         <property hover="true" />
  6907.                         <imagestyle name="state0">
  6908.                             <raster state="hit,hover" opacity="0.75" source="grayscale.psd|eq_save" blendmode="ps_normal" />
  6909.                             <raster state="normal" opacity="1.0" source="grayscale.psd|eq_save" blendmode="ps_normal"/>
  6910.                         </imagestyle> 
  6911.                         <imagestyle name="state1">
  6912.                             <raster state="hit,hover" opacity="1.0" source="grayscale.psd|eq_save" blendmode="ps_normal"  />
  6913.                             <raster state="normal" opacity="0.75" source="grayscale.psd|eq_save" blendmode="ps_normal" />
  6914.                         </imagestyle>
  6915.                         <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.save"));    </script>
  6916.                         <script name="OnClick">
  6917.                             // todo save as preset
  6918.                             :sonique.Status("Not yet implemented.","warning");
  6919.                         </script>
  6920.                     </window> 
  6921.  
  6922.                     <window name="eq_reset_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-40,5,-25,20" alignment="1,0,1,0">
  6923.                         <property hover="true" />
  6924.                         <imagestyle name="state0">
  6925.                             <raster state="hit,hover" opacity="0.75" source="grayscale.psd|eq_flat" blendmode="ps_normal" />
  6926.                             <raster state="normal" opacity="1.0" source="grayscale.psd|eq_flat" blendmode="ps_normal"/>
  6927.                         </imagestyle> 
  6928.                         <imagestyle name="state1">
  6929.                             <raster state="hit,hover" opacity="1.0" source="grayscale.psd|eq_flat" blendmode="ps_normal"  />
  6930.                             <raster state="normal" opacity="0.75" source="grayscale.psd|eq_flat" blendmode="ps_normal" />
  6931.                         </imagestyle>
  6932.                         <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.reset"));</script>
  6933.                         <script name="OnClick">:sonique.players.default.equalizer.Reset();</script>
  6934.                     </window>
  6935.                 </window> <!-- eq_presets_window -->
  6936.                 <window name="eq_pab_window" transparent="true" offset="0,-48,-12,-2" alignment="0.5,1,1,1" >
  6937.                     <imagestyle name="background">
  6938.                         <color_fill color = "color2" opacity="0.25"/>
  6939.                         <color_rect color = "color3" opacity="0.25"/>
  6940.                     </imagestyle>
  6941.                     <imagestyle name="theme1">
  6942.                         <color_fill color = "0xFF99EE00" opacity="0.25"/>
  6943.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6944.                     </imagestyle>
  6945.                     <imagestyle name="theme2">
  6946.                         <color_fill color = "0xFFB83F3F" opacity="0.25"/>
  6947.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6948.                     </imagestyle>
  6949.                     <imagestyle name="theme3">
  6950.                         <color_fill color = "0xFFCBFF66" opacity="0.25"/>
  6951.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6952.                     </imagestyle>
  6953.                     <imagestyle name="theme4">
  6954.                         <color_fill color = "0xFFFF0000" opacity="0.25"/>
  6955.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6956.                     </imagestyle>
  6957.                     <imagestyle name="theme5">
  6958.                         <color_fill color = "0xFFBBBBBB" opacity="0.25"/>
  6959.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6960.                     </imagestyle>
  6961.                     <imagestyle name="theme6">
  6962.                         <color_fill color = "0xFF00CCFF" opacity="0.25"/>
  6963.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6964.                     </imagestyle>
  6965.                     <imagestyle name="theme7">
  6966.                         <color_fill color = "0xFFFF0000" opacity="0.25"/>
  6967.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6968.                     </imagestyle>
  6969.                     <imagestyle name="theme8">
  6970.                         <color_fill color = "0xFF00B200" opacity="0.25"/>
  6971.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6972.                     </imagestyle>
  6973.                     <imagestyle name="theme9">
  6974.                         <color_fill color = "0xFF588FBA" opacity="0.25"/>
  6975.                         <color_rect color = "0xFFFFFFFF" opacity="0.25"/>
  6976.                     </imagestyle>
  6977.                     <imagestyle name="theme10">
  6978.                         <color_fill color = "theme10_color2" opacity="0.25"/>
  6979.                         <color_rect color = "theme10_color3" opacity="0.25"/>
  6980.                     </imagestyle>
  6981.                     <window name="balance_label_window" type="textdisplay" alignment="0,0,0,0" offset="2,2,62,14" transparent="true">
  6982.                         <property font_style="my_font_10" font_color="color3" font_justification="right|v_center" />
  6983.                         <script name="OnInit"> SetText( :language.Translate("eqwindow/label.balance")); </script>
  6984.                     </window>
  6985.                     <window name="pitch_label_window" type="textdisplay" alignment="0,0,0,0" offset="2,16,62,28" transparent="true">
  6986.                         <property font_style="my_font_10" font_color="color3" font_justification="right|v_center" />
  6987.                         <script name="OnInit"> SetText( :language.Translate("eqwindow/label.pitch")); </script>
  6988.                     </window>
  6989.                     <window name="amp_label_window" type="textdisplay" alignment="0,0,0,0" offset="2,30,62,44" transparent="true">
  6990.                         <property font_style="my_font_10" font_color="color3" font_justification="right|v_center" />
  6991.                         <script name="OnInit"> SetText( :language.Translate("eqwindow/label.amp")); </script>
  6992.                     </window>
  6993.                     <window name="bal_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE"
  6994.                             offset="64,6,-16,12" alignment="0,0,1,0" >
  6995.                         <property orientation="left_to_right" outer_handle_offset_rect="-3.5,0,3.5,7"/>
  6996.                         <imagestyle name="barempty"> <raster source="color.psd|pab_bar_empty" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  6997.                         <imagestyle name="barfilled"><raster source="color.psd|pab_bar_full" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  6998.                         <imagestyle name="handle"><raster source="color.psd|pab_bar_handle" blendmode="ps_normal"  /></imagestyle>
  6999.                         <script name="OnInit"> 
  7000.                             SetHoverHint(:language.Translate("eqwindow/hint.balance"));
  7001.                             SetMin(-100);
  7002.                             SetMax(100);
  7003.                             :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateDisplay()", this);
  7004.                             UpdateDisplay();
  7005.                         </script>
  7006.                         <script name="OnDestroy">
  7007.                             // NB: bug - this OnDestroy being called twice!  todo.  
  7008.                             :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  7009.                         </script>
  7010.                         <script name="OnPosChange">
  7011.                             $bal = GetIntPos();
  7012.                             $realbal = $bal/100;
  7013.                             if($bal gt 0){
  7014.                                 $pos = :language.Translate("eqwindow/hint.right");
  7015.                             }
  7016.                             if($bal lt 0){
  7017.                                 $pos = :language.Translate("eqwindow/hint.left");
  7018.                                 $bal = -1*$bal;
  7019.                             }
  7020.                             if($bal == 0){
  7021.                                 $pos = :language.Translate("eqwindow/hint.center");
  7022.                             }
  7023.                             :sonique.Status(:language.Translate("eqwindow/hint.balance") | "  " | $bal | "%  " | $pos);
  7024.                             :sonique.players.default.pitchampbal.SetBalance($realbal);
  7025.                             :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  7026.                         </script>
  7027.                         <script name="UpdateDisplay">
  7028.                             $bal = :sonique.players.default.pitchampbal.GetBalance()*100;
  7029.                             SetIntPos($bal);
  7030.                         </script>
  7031.                     </window>
  7032.                     <window name="pitch_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE" 
  7033.                             offset="64,20,-16,26" alignment="0,0,1,0" >
  7034.                         <property orientation="left_to_right" outer_handle_offset_rect="-3.5,0,3.5,7"/>
  7035.                         <imagestyle name="barempty"> <raster source="color.psd|pab_bar_empty" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  7036.                         <imagestyle name="barfilled"> <raster source="color.psd|pab_bar_full" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  7037.                         <imagestyle name="handle"><raster source="color.psd|pab_bar_handle" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  7038.                         <script name="OnInit"> 
  7039.                             SetHoverHint(:language.Translate("eqwindow/hint.pitch"));
  7040.                             // 0.125 to 8.0 is the range for pitch.  convert it to relative integers (reals don't seem to work so well right now with the fillbar)
  7041.                             $min = :math.Truncate(100*((:math.Log( 2, 0.125 )+3)/6));
  7042.                             $max = :math.Truncate(100*((:math.Log( 2, 8.0 )+3)/6));
  7043.                             SetMin($min);
  7044.                             SetMax($max);
  7045.                             :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateDisplay()", this);
  7046.                             UpdateDisplay();
  7047.                         </script>
  7048.                         <script name="OnDestroy">
  7049.                             :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  7050.                         </script>
  7051.                         <script name="OnPosChange">
  7052.                             $pitch= :math.Power( 2, ( (GetIntPos()/100)*6-3 ) );
  7053.                             :sonique.players.default.pitchampbal.SetPitch($pitch);
  7054.                             :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  7055.                             :sonique.Status(:language.Translate("eqwindow/hint.pitch") | "  " | $pitch*100 | "%");
  7056.                             </script>
  7057.                         <script name="UpdateDisplay">
  7058.                             $pitch = :sonique.players.default.pitchampbal.GetPitch();
  7059.                             $relpitch = :math.Truncate(100*((:math.Log( 2, $pitch )+3)/6));
  7060.                             SetIntPos( $relpitch );
  7061.                         </script>
  7062.                     </window>
  7063.                     <window name="amp_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE"
  7064.                             offset="64,34,-16,40" alignment="0,0,1,0" >
  7065.                         <property orientation="left_to_right" outer_handle_offset_rect="-3.5,0,3.5,7"/>
  7066.                         <imagestyle name="barempty"> <raster source="color.psd|pab_bar_empty" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  7067.                         <imagestyle name="barfilled"> <raster source="color.psd|pab_bar_full" fillmode="tile" tile_size="6,6" blendmode="ps_normal" opacity="1.0" /></imagestyle>
  7068.                         <imagestyle name="handle"><raster source="color.psd|pab_bar_handle" blendmode="ps_normal"  /></imagestyle>
  7069.                         <script name="OnInit"> 
  7070.                             SetHoverHint(:language.Translate("eqwindow/hint.amp"));
  7071.                             // 0.125 to 8.0 is the range for amplification.  convert it to relative integers (reals don't seem to work so well right now with the fillbar)
  7072.                             $min = :math.Truncate(100*((:math.Log( 2, 0.125 )+3)/6));
  7073.                             $max = :math.Truncate(100*((:math.Log( 2, 8.0 )+3)/6));
  7074.                             SetMin($min);
  7075.                             SetMax($max);
  7076.                             :sonique.players.default.pitchampbal.RegisterChangeCallback("", "UpdateDisplay()", this);
  7077.                             UpdateDisplay();
  7078.                         </script>
  7079.                         <script name="OnDestroy">
  7080.                             // NB: bug - this OnDestroy being called twice!  todo.  
  7081.                             :sonique.players.default.pitchampbal.UnregisterChangeCallback("", this);
  7082.                         </script>
  7083.                         <script name="OnPosChange">
  7084.                             $amp= :math.Power( 2, ( (GetIntPos()/100)*6-3 ) );
  7085.                             :sonique.players.default.pitchampbal.SetAmplification($amp);
  7086.                             :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  7087.                             :sonique.Status(:language.Translate("eqwindow/hint.amp") | "  " | $amp*100 | "%");
  7088.                         </script>
  7089.                         <script name="UpdateDisplay">
  7090.                             $amp = :sonique.players.default.pitchampbal.GetAmplification();
  7091.                             $relAmp = :math.Truncate(100*((:math.Log( 2, $amp )+3)/6));
  7092.                             SetIntPos( $relAmp );
  7093.                         </script>
  7094.                     </window>
  7095.  
  7096.                     <window name="reset_balance_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-12,5,-2,14" alignment="1,0,1,0">
  7097.                         <property hover="true" />
  7098.                         <imagestyle name="state0">
  7099.                             <raster state="hit,hover" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  7100.                             <raster state="normal" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"/>
  7101.                         </imagestyle> 
  7102.                         <imagestyle name="state1">
  7103.                             <raster state="hit,hover" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"  />
  7104.                             <raster state="normal" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  7105.                         </imagestyle>
  7106.                         <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.resetbalance"));    </script>
  7107.                         <script name="OnClick">
  7108.                             :sonique.players.default.pitchampbal.SetBalance(0);
  7109.                             :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  7110.                             :sonique.Status(:language.Translate("eqwindow/hint.balance") | "  0%  " | :language.Translate("eqwindow/hint.center"));
  7111.                         </script>
  7112.                     </window>
  7113.  
  7114.                     <window name="reset_pitch_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-12,19,-2,28" alignment="1,0,1,0">
  7115.                         <property hover="true" />
  7116.                         <imagestyle name="state0">
  7117.                             <raster state="hit,hover" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  7118.                             <raster state="normal" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"/>
  7119.                         </imagestyle> 
  7120.                         <imagestyle name="state1">
  7121.                             <raster state="hit,hover" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"  />
  7122.                             <raster state="normal" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  7123.                         </imagestyle>
  7124.                         <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.resetpitch"));    </script>
  7125.                         <script name="OnClick">
  7126.                             :sonique.players.default.pitchampbal.SetPitch(1);
  7127.                             :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  7128.                             :sonique.Status(:language.Translate("eqwindow/hint.pitch") | "  100%");
  7129.                         </script>
  7130.                     </window>
  7131.  
  7132.                     <window name="reset_amp_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-12,33,-3,42" alignment="1,0,1,0">
  7133.                         <property hover="true" />
  7134.                         <imagestyle name="state0">
  7135.                             <raster state="hit,hover" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  7136.                             <raster state="normal" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"/>
  7137.                         </imagestyle> 
  7138.                         <imagestyle name="state1">
  7139.                             <raster state="hit,hover" opacity="1.0" source="color.psd|pab_reset_icon" blendmode="ps_normal"  />
  7140.                             <raster state="normal" opacity="0.75" source="color.psd|pab_reset_icon" blendmode="ps_normal" />
  7141.                         </imagestyle>
  7142.                         <script name="OnInit"> SetHoverHint(:language.Translate("eqwindow/hint.resetamp"));    </script>
  7143.                         <script name="OnClick">
  7144.                             :sonique.players.default.pitchampbal.SetAmplification(1);
  7145.                             :sonique.players.default.SendFilterMessage("PitchAmpBalReloadSettings");
  7146.                             :sonique.Status(:language.Translate("eqwindow/hint.amp") | "  100%");
  7147.                         </script>
  7148.                     </window>
  7149.                 </window> // eq_pab_window
  7150.             </window> <!-- main_eq_window -->
  7151.         </window> <!-- container -->
  7152.  
  7153.         <window name="eq_controls_window" transparent="true" >
  7154.             <script name="OnIntro">
  7155.                 main_window_icon_window.SetOffset({-26,33,-15,43},0,1000,"linear_accel");
  7156.             </script>
  7157.             <window name="main_window_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  7158.                 <property hover="true" />
  7159.                 <imagestyle name="state0">
  7160.                     <raster state="hit,hover" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  7161.                     <raster state="normal" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"/>
  7162.                 </imagestyle> 
  7163.                 <imagestyle name="state1">
  7164.                     <raster state="hit,hover" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"  />
  7165.                     <raster state="normal" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  7166.                 </imagestyle>
  7167.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.attachwindow"));    </script>
  7168.                 <script name="OnClick"> parent.parent.AttachWindow(); </script>
  7169.             </window> <!-- main_window_icon_window -->
  7170.         </window> <!-- eq_controls_window -->
  7171.     </window> <!-- eq popup -->
  7172.  
  7173.  
  7174.  
  7175.  
  7176. <!-- online -->
  7177.     <window name="online_popup" hitstyle="frame_hitstyle" shape="popup_chassis_shape" transparent="false" default_size="400,200" min_size="400,200">
  7178.  
  7179.         <imagestyle name="background">
  7180.             <raster
  7181.                 source        ="popup.psd|chassis"
  7182.                 offset        ="0,0,0,0"
  7183.                 alignment    ="0,0,1,1"
  7184.                 blendmode    ="ps_normal" 
  7185.                 fillmode    ="resize" opacity="1"
  7186.                 inner_rect    ="40,45,100,100"
  7187.                 outer_rect    ="popup.psd|chassis"
  7188.             />
  7189.         </imagestyle>
  7190.  
  7191.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  7192.             <hitcode type="LEFT">
  7193.                 <shape>
  7194.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  7195.                 </shape>
  7196.             </hitcode>
  7197.             <hitcode type="BOTTOM">
  7198.                 <shape>
  7199.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  7200.                 </shape>
  7201.             </hitcode>
  7202.             <hitcode type="TOP">
  7203.                 <shape>
  7204.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  7205.                 </shape>
  7206.             </hitcode>
  7207.             <hitcode type="RIGHT">
  7208.                 <shape>
  7209.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  7210.                 </shape>
  7211.             </hitcode>
  7212.             <hitcode type="BOTTOMRIGHT">
  7213.                 <shape>
  7214.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  7215.                 </shape>
  7216.             </hitcode>
  7217.         </hitstyle>
  7218.  
  7219.         <!-- monitor dock points -->
  7220.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  7221.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  7222.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  7223.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  7224.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  7225.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  7226.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  7227.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  7228.  
  7229.         <!-- master dock points -->
  7230.         <dock_point type="master" name="Popup_UL" alignment="0,0,0,0" /> 
  7231.         <dock_point type="master" name="Popup_TC" alignment="0.5,0,0.5,0" /> 
  7232.         <dock_point type="master" name="Popup_UR" alignment="1,0,1,0" /> 
  7233.         <dock_point type="master" name="Popup_LL" alignment="0,1,0,1" /> 
  7234.         <dock_point type="master" name="Popup_BC" alignment="0.5,1,0.5,1" /> 
  7235.         <dock_point type="master" name="Popup_LR" alignment="1,1,1,1" /> 
  7236.         <dock_point type="master" name="Popup_RC" alignment="1,0.5,1,0.5" />
  7237.         <dock_point type="master" name="Popup_LC" alignment="0,0.5,0,0.5" />
  7238.  
  7239.         <!-- slave to other popups -->
  7240.         <dock_point type="slave" name="Popup_UL" alignment="1,0,1,0" /> 
  7241.         <dock_point type="slave" name="Popup_UL" alignment="0,1,0,1" /> 
  7242.         <dock_point type="slave" name="Popup_UR" alignment="0,0,0,0" /> 
  7243.         <dock_point type="slave" name="Popup_UR" alignment="1,1,1,1" /> 
  7244.         <dock_point type="slave" name="Popup_LL" alignment="0,0,0,0" /> 
  7245.         <dock_point type="slave" name="Popup_LL" alignment="1,1,1,1" /> 
  7246.         <dock_point type="slave" name="Popup_LR" alignment="0,1,0,1" /> 
  7247.         <dock_point type="slave" name="Popup_LR" alignment="1,0,1,0" /> 
  7248.  
  7249.         <!-- slave to the main window -->
  7250.         <dock_point type="slave" name="Main_UL" alignment="1,0,1,0" /> 
  7251.         <dock_point type="slave" name="Main_UL" alignment="0,1,0,1" /> 
  7252.         <dock_point type="slave" name="Main_UR" alignment="0,0,0,0" /> 
  7253.         <dock_point type="slave" name="Main_UR" alignment="1,1,1,1" /> 
  7254.         <dock_point type="slave" name="Main_LL" alignment="0,0,0,0" /> 
  7255.         <dock_point type="slave" name="Main_LL" alignment="1,1,1,1" /> 
  7256.         <dock_point type="slave" name="Main_LR" alignment="0,1,0,1" /> 
  7257.         <dock_point type="slave" name="Main_LR" alignment="1,0,1,0" /> 
  7258.  
  7259.         <script name="OnInit">
  7260.             rightQuadReady = 1;
  7261.  
  7262.             // todo deal with FPS better - user settings
  7263.             SetDesiredFPS(45);
  7264.             SetWindowTitle(:language.Translate("topmenu/view.onlinewindow"),true);
  7265.             StartIntro();
  7266.  
  7267.             :sonique.InterfacePrefsCreateSection("online_popup");
  7268.             $size = :sonique.InterfacePrefsGetStringArray("online_popup", "size");
  7269.             if ($size.IsArray() == true) { 
  7270.                 if ( ($size[0] gt 0) and ($size[1] gt 0) ){
  7271.                 // todo - fix bug where if SetSize comes to early, the OS window shape sometimes isn't updated.  grrr...
  7272.                     SetSize($size, 0, 0, "linear_accel"); 
  7273.                 }
  7274.             }
  7275.             $location = :sonique.InterfacePrefsGetStringArray("online_popup", "location");
  7276.             if ($location.IsArray())    { 
  7277.                 $dim = :app.GetScreenDimensions();
  7278.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  7279.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  7280.                         SetLocation($location); 
  7281.                     }
  7282.                 }
  7283.             }
  7284.             if( :sonique.InterfacePrefsGetString("online_popup", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  7285.             else { SetAlwaysOnTop( 0 ); }
  7286.             // hotkeys
  7287.             $section = "sonique/gui/slate/hotkeys";
  7288.             :sonique.prefs.CreateSection($section);
  7289.             alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  7290.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  7291.             
  7292.             theme = :sonique.prefs.GetString("misc", "theme");
  7293.             SetTheme();
  7294.         </script>
  7295.         <script name="OnDestroy">
  7296.             $size = GetSize();
  7297.             :sonique.InterfacePrefsSetStringArray("online_popup", "size", $size);
  7298.             $location = GetLocation();
  7299.             :sonique.InterfacePrefsSetStringArray("online_popup", "location", $location );
  7300.             :sonique.InterfacePrefsSetString("online_popup", "alwaysontop", GetAlwaysOnTop());
  7301.             // hotkeys
  7302.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  7303.         </script>
  7304.         <script name="OnAlwaysOnTopChange"> 
  7305.             window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]); 
  7306.         </script>
  7307.         <script name="OnActivate">
  7308.             background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_decel");
  7309.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  7310.             window_controls_window.help_button_window.SetOpacity(1.0);
  7311.             window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  7312.             window_controls_window.minimize_button_window.SetOpacity(1.0);
  7313.             window_controls_window.close_button_window.SetOpacity(1.0);
  7314.         </script>
  7315.         <script name="OnDeactivate">
  7316.             background_window.left_quadrant_window.SetOffset({12,1112,20,20},0,1000,"linear_accel" );
  7317.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  7318.             window_controls_window.help_button_window.SetOpacity(0.5);
  7319.             window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  7320.             window_controls_window.minimize_button_window.SetOpacity(0.5);
  7321.             window_controls_window.close_button_window.SetOpacity(0.5);
  7322.         </script>
  7323.         <script name="AttachWindow">
  7324.             // find main and tell it to show me
  7325.             $bFound = false;
  7326.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  7327.                 if ($window.Name() == "main")    {
  7328.                     $bFound = true;
  7329.                     $window.AttachPopup(Name());
  7330.                 }
  7331.             }
  7332.             if ($bFound == false) {
  7333.                 // launch main and try it again.
  7334.                 :sonique.InterfacePrefsSetString("main", "currentwindow", "main_online_window");
  7335.                 :sonique.LaunchAppWindow("Default Skin");
  7336.             }
  7337.             // close me
  7338.             DestroyWindow();
  7339.         </script>
  7340.         <script name="SetTheme">
  7341.             // all popups need these:
  7342.             SetMenuProperty("theme" | theme | "_popupmenu");
  7343.             background_window.SetImageStyle("background","theme" | theme);
  7344.             title_window.SetImageStyle("background","theme" | theme);
  7345.             status_display_window.SetImageStyle("background","theme" | theme);
  7346.         </script>
  7347.  
  7348.         <window name="background_window" transparent="true" shape="background_shape" _hitstyle="DRAG">
  7349.             <shape name="background_shape">
  7350.                 <shape_raster
  7351.                     fillmode    ="resize"
  7352.                     alignment    ="0,0,1,1"
  7353.                     source        ="popup.psd|backgound_color_region" 
  7354.                     source_offset    ="popup.psd|backgound_color_region @ popup.psd|chassis" 
  7355.                     inner_rect    ="40,45,100,100"
  7356.                     outer_rect    ="popup.psd|chassis"
  7357.                 />
  7358.             </shape>
  7359.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle> 
  7360.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  7361.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  7362.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  7363.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  7364.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle> 
  7365.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  7366.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  7367.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  7368.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  7369.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle> 
  7370.             <window name="main_background_grid" transparent="true" >
  7371.                 <imagestyle name="background" transparent="true"><raster source="popup.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" /></imagestyle>
  7372.             </window>
  7373.             <window name="display_lines_window" transparent="true" _hitstyle="ACTIVE">
  7374.                 <imagestyle name="background">
  7375.                     <raster source="popup.psd|display_corner_top_left"  offset="popup.psd|display_corner_top_left @ popup.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  7376.                     <raster source="popup.psd|display_corner_top_right" offset="popup.psd|display_corner_top_right @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  7377.                     <raster source="popup.psd|display_corner_bottom_right" offset="popup.psd|display_corner_bottom_right @ popup.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  7378.                     <raster source="popup.psd|display_line_over_mini_windows" offset="popup.psd|display_line_over_mini_windows @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  7379.                     <raster source="popup.psd|display_top_line_level_1" offset="popup.psd|display_top_line_level_1 @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  7380.                     <raster source = "popup.psd|display_vertical_left_line" offset="popup.psd|display_vertical_left_line @ popup.psd|chassis" alignment="0,1,0,1"  blendmode = "ps_normal" opacity="0.45" />
  7381.  
  7382.                                         
  7383.                     <!-- main left and right vertical lines -->
  7384.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-116" opacity="0.45" />
  7385.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-36" opacity="0.45" />
  7386.                     <!--top horizontal lines -->
  7387.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  7388.                     <!-- right hand tiny very line-->
  7389.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  7390.                     <!-- lefthand tiny vert line-->
  7391.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  7392.                     <!-- first long horizontal line -->
  7393.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  7394.                     <!-- second long horizontal line -->
  7395.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  7396.  
  7397.                     <!-- top_right_lines -->
  7398.                     <color_line color="color3" alignment="1,0,1,0" offset="-248,5,-9,5" opacity="0.45" />
  7399.                     <!-- lower hor. -->
  7400.                     <color_line color="color3" alignment="1,0,1,0" offset="-252,9,-89,9" opacity="0.45" />
  7401.                     <color_line color="color3" alignment="1,0,1,0" offset="-17,9,-10,9" opacity="0.45" />
  7402.                     <!-- righthand mini vert -->
  7403.                     <color_line color="color3" alignment="1,0,1,0" offset="-9,6,-9,9" opacity="0.45" />
  7404.                     <!-- center mini verts -->
  7405.                     <color_line color="color3" alignment="1,0,1,0" offset="-145,6,-145,9" opacity="0.45" />
  7406.                     <color_line color="color3" alignment="1,0,1,0" offset="-173,6,-173,9" opacity="0.45" />
  7407.                     <color_fill color="color3" alignment="1,0,1,0" offset="-123,6,-111,9" opacity="0.45" />
  7408.                     <color_fill color="color3" alignment="1,0,1,0" offset="-101,6,-89,9" opacity="0.45" />
  7409.                     <color_fill color="color3" alignment="1,0,1,0" offset="-208,6,-196,9" opacity="0.45" />
  7410.                     <color_fill color="color3" alignment="1,0,1,0" offset="-230,6,-218,9" opacity="0.45" />
  7411.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,8,-249,6" opacity="0.45" />
  7412.  
  7413.                     <!-- bottom left lines with squares -->
  7414.                     <color_line color="color3" alignment="0,1,0,1" offset="9,-93,,9,-19" opacity="0.45" />
  7415.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-93,12,-93" opacity="0.45" />
  7416.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-74,13,-62" opacity="0.45" />
  7417.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-52,13,-40" opacity="0.45" />
  7418.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-19,12,-19" opacity="0.45" />
  7419.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-93,13,-19" opacity="0.45" />
  7420.                     <!-- bottom left criss cross -->
  7421.                     <color_line color="color3" alignment="0,1,0,1" offset="5,-15,19,-15" opacity="0.45" />
  7422.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-17,13,-8" opacity="0.45" />
  7423.                     <!-- righthand criss cross lines on bottom -->
  7424.                     <color_line color="color3" alignment="1,1,1,1" offset="-197,-6,-167,-6" opacity="0.45" />
  7425.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-9,-188,-9" opacity="0.45" />
  7426.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-13,-191,0" opacity="0.45" />
  7427.  
  7428.  
  7429.                     <!-- bottom lines -->
  7430.                     <!-- horizontals -->
  7431.                     <!-- leaving spaces for the playbar controls -->
  7432.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-18,-107,-18" opacity="0.45" />
  7433.                     <color_line color="color3" alignment="1,1,1,1" offset="-95,-18,-90,-18" opacity="0.45" />
  7434.                     <color_line color="color3" alignment="1,1,1,1" offset="-78,-18,-73,-18" opacity="0.45" />
  7435.                     <color_line color="color3" alignment="1,1,1,1" offset="-61,-18,-56,-18" opacity="0.45" />
  7436.                     <color_line color="color3" alignment="1,1,1,1" offset="-44,-18,-29,-18" opacity="0.45" />
  7437.  
  7438.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-14,-130,-14" opacity="0.45" />
  7439.                     <!-- verts -->
  7440.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-17,-191,-15" opacity="0.45" />
  7441.                     <color_line color="color3" alignment="1,1,1,1" offset="-129,-17,-129,-14" opacity="0.45" />
  7442.                     <!-- rects -->
  7443.                     <color_fill color="color3" alignment="1,1,1,1" offset="-176,-17,-164,-14" opacity="0.45" />
  7444.                     <color_fill color="color3" alignment="1,1,1,1" offset="-154,-17,-142,-14" opacity="0.45" />
  7445.                 </imagestyle>
  7446.             </window> <!-- display_lines_window -->
  7447.  
  7448.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,2112,20,20" transparent="true" _hitstyle="ACTIVE">
  7449.                 <imagestyle name="background"> 
  7450.                     <raster source="popup.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" />    
  7451.                 </imagestyle>
  7452.                 <script name="OnIntro"> 
  7453.                     SetOffset({12,32,20,-115},0,1000,"linear_decel"); 
  7454.                 </script>
  7455.             </window> 
  7456.             <window name="right_quadrant_window" transparent="true" alignment="1,0,1,1" offset="-95,-200,-87,0" _hitstyle="ACTIVE">
  7457.                 <imagestyle name="background"><raster source="popup.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  7458.                 <script name="OnInit"> 
  7459.                     position = -1; 
  7460.                 </script>
  7461.                 <script name="OnIntro"> 
  7462.                     OnInit();
  7463.                     MoveSomething(); 
  7464.                 </script>
  7465.                 <script name="MoveSomething">
  7466.                     if ( position == -1 ) {
  7467.                         SetOffset({-95,0,-87,400},0,1000,"linear_decel"); 
  7468.                         position = 1;
  7469.                     } else {
  7470.                         SetOffset({-95,-400,-87,0},0,1000,"linear_decel"); 
  7471.                         position = -1;
  7472.                     }
  7473.                 </script>
  7474.             </window>
  7475.  
  7476.         </window> <!-- background_window -->
  7477.  
  7478.         <window name="title_window" type="textdisplay" transparent="true" shape="my_shape"
  7479.                 alignment="0,0,1,0" offset="22,11,-259,26" >
  7480.             <property font_style="my_font_10" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" 
  7481.                     edge_offset_rect="7,1,-7,-1"/>
  7482.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  7483.             <imagestyle name="background">
  7484.                 <color_rect color="color2" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7485.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7486.             </imagestyle>
  7487.             <imagestyle name="theme1">
  7488.                 <color_rect color="0xFF99EE00" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7489.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7490.             </imagestyle>
  7491.             <imagestyle name="theme2">
  7492.                 <color_rect color="0xFFB83F3F" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7493.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7494.             </imagestyle>
  7495.             <imagestyle name="theme3">
  7496.                 <color_rect color="0xFFCBFF66" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7497.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7498.             </imagestyle>
  7499.             <imagestyle name="theme4">
  7500.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7501.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7502.             </imagestyle>
  7503.             <imagestyle name="theme5">
  7504.                 <color_rect color="0xFFBBBBBB" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7505.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7506.             </imagestyle>
  7507.             <imagestyle name="theme6">
  7508.                 <color_rect color="0xFF00CCFF" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7509.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7510.             </imagestyle>
  7511.             <imagestyle name="theme7">
  7512.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7513.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7514.             </imagestyle>
  7515.             <imagestyle name="theme8">
  7516.                 <color_rect color="0xFF00B200" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7517.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7518.             </imagestyle>
  7519.             <imagestyle name="theme9">
  7520.                 <color_rect color="0xFF588FBA" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7521.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7522.             </imagestyle>
  7523.             <imagestyle name="theme10">
  7524.                 <color_rect color="theme10_color2" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  7525.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7526.             </imagestyle>
  7527.             <script name="OnInit"> 
  7528.                 SetText(:language.Translate("topmenu/view.onlinewindow"));
  7529.             </script>
  7530.         </window> <!-- title_window -->
  7531.  
  7532.         <window name="status_display_window" type="Sonique2_StatusBar"  transparent="true" shape="my_shape"
  7533.                     alignment="0,1,1,1" 
  7534.                     offset="20,-26,-191,-10" >
  7535.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  7536.             <imagestyle name="background">
  7537.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  7538.                 <color_rect color="color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7539.             </imagestyle>
  7540.             <imagestyle name="theme1">
  7541.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  7542.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7543.             </imagestyle>
  7544.             <imagestyle name="theme2">
  7545.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  7546.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7547.             </imagestyle>
  7548.             <imagestyle name="theme3">
  7549.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  7550.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7551.             </imagestyle>
  7552.             <imagestyle name="theme4">
  7553.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  7554.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7555.             </imagestyle>
  7556.             <imagestyle name="theme5">
  7557.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  7558.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7559.             </imagestyle>
  7560.             <imagestyle name="theme6">
  7561.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  7562.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7563.             </imagestyle>
  7564.             <imagestyle name="theme7">
  7565.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  7566.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7567.             </imagestyle>
  7568.             <imagestyle name="theme8">
  7569.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  7570.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7571.             </imagestyle>
  7572.             <imagestyle name="theme9">
  7573.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  7574.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7575.             </imagestyle>
  7576.             <imagestyle name="theme10">
  7577.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  7578.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  7579.             </imagestyle>
  7580.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  7581.                     rect_status_offset= "7,1,-7,-1" rect_progress_offset="7,1,-7,-1"
  7582.                     info_font_color="color3" info_font_style="my_font_10" info_font_justification="left|v_center|single_line_only"
  7583.                     error_font_color="color1" error_font_style="my_font_10" error_font_justification="left|v_center|single_line_only"
  7584.                     warning_font_color="color1" warning_font_style="my_font_10" warning_font_justification="left|v_center|single_line_only"
  7585.                     fallback_font_color="color3" fallback_font_style="my_font_10" fallback_font_justification="left|v_center|single_line_only" 
  7586.             />
  7587.         </window> <!--  status_display_window -->
  7588.  
  7589.         <window name="window_controls_window" transparent="true">
  7590.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  7591.                 <property hover="true" />
  7592.                 <shape name="my_shape"><shape_raster source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  7593.                 <imagestyle name="state0">
  7594.                     <raster state="hit,hover" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  7595.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  7596.                     <raster state="normal" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  7597.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  7598.                 </imagestyle> 
  7599.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.help")); // todo pl </script>
  7600.                 <script name="OnClick">  :sonique.LaunchHelp(); </script>
  7601.             </window>
  7602.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  7603.                 <property hover="true" />
  7604.                 <shape name="my_shape"><shape_raster source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  7605.                 <imagestyle name="state0">
  7606.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  7607.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  7608.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  7609.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  7610.                 </imagestyle> 
  7611.                 <imagestyle name="state1">
  7612.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  7613.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  7614.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  7615.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  7616.                 </imagestyle> 
  7617.                 <script name="OnInit">
  7618.                     $topstate = parent.parent.GetAlwaysOnTop();
  7619.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  7620.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  7621.                 </script>
  7622.                 <script name="OnClick"> 
  7623.                     $topstate = parent.parent.GetAlwaysOnTop();
  7624.                     if ($topstate == true) {
  7625.                         parent.parent.SetAlwaysOnTop(0);
  7626.                         SetButtonState(0);
  7627.                     } else {    
  7628.                         parent.parent.SetAlwaysOnTop(1);
  7629.                         SetButtonState(1);                        
  7630.                     }
  7631.                 </script>
  7632.                 <script name="UpdateAlwaysOnTopState">
  7633.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  7634.                 </script>
  7635.             </window>
  7636.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  7637.                 <property hover="true" />
  7638.                 <shape name="my_shape"><shape_raster source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  7639.                 <imagestyle name="state0">
  7640.                     <raster state="hit,hover" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  7641.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  7642.                     <raster state="normal" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  7643.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  7644.                 </imagestyle> 
  7645.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  7646.                 <script name="OnClick"> parent.parent.MinimizeWindow(true); </script>
  7647.             </window>
  7648.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  7649.                 <property hover="true" />
  7650.                 <shape name="my_shape"><shape_raster source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  7651.                 <imagestyle name="state0">
  7652.                     <raster state="hit,hover" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  7653.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  7654.                     <raster state="normal" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  7655.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  7656.                 </imagestyle> 
  7657.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin")); </script>
  7658.                 <script name="OnClick"> 
  7659.                     parent.parent.DestroyWindow();
  7660.                 </script>
  7661.             </window>
  7662.         </window> <!-- window_controls_window --> 
  7663.  
  7664.         <window name="playbar_controls_window" transparent="true">
  7665.             <imagestyle name="background">
  7666.                 <raster opacity="0.75" source="popup.psd|control_circles" offset="popup.psd|control_circles @ popup.psd|chassis" alignment="1,1,1,1" blendmode="ps_normal" />
  7667.             </imagestyle> 
  7668.             <window name="prev_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  7669.                     offset="popup.psd|prev_button @ popup.psd|chassis" alignment="1,1,1,1" >
  7670.                 <property hover="true" />
  7671.                 <imagestyle name="state0">
  7672.                     <raster state="hit,hover" source="popup.psd|prev_button" blendmode="ps_normal" opacity="0.75" />
  7673.                     <raster state="normal" source="popup.psd|prev_button" blendmode="ps_normal" opacity="1.0" />
  7674.                 </imagestyle> 
  7675.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  7676.                 <script name="OnClick"> :sonique.players.default.Prev();</script>
  7677.             </window>
  7678.             <window name="playpause_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  7679.                     offset="popup.psd|pause_button @ popup.psd|chassis" alignment="1,1,1,1" >
  7680.                 <property hover="true" />
  7681.                 <imagestyle name="state0">
  7682.                     <raster state="hover" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  7683.                     <raster state="normal" source="popup.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  7684.  
  7685.                     <raster state="hit" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />                    
  7686.                 </imagestyle> 
  7687.                 <imagestyle name="state1">
  7688.                     <raster state="hover" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  7689.                     <raster state="normal" source="popup.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  7690.  
  7691.                     <raster state="hit" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  7692.                 </imagestyle> 
  7693.                 <script name="OnInit">
  7694.                     :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  7695.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  7696.                     :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  7697.                     UpdateState();
  7698.                 </script>
  7699.                 <script name="OnDestroy">
  7700.                     :sonique.players.default.UnregisterCallback("Playing", this);
  7701.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  7702.                     :sonique.players.default.UnregisterCallback("Pausing", this);
  7703.                 </script>
  7704.                 <script name="OnClick"> 
  7705.                     if (:sonique.players.default.IsPlaying()) {
  7706.                         :sonique.players.default.TogglePause(); 
  7707.                     } else { 
  7708.                         :sonique.players.default.Play(); 
  7709.                     } 
  7710.                     UpdateState();
  7711.                 </script>
  7712.                 <script name="UpdateState">
  7713.                     if (:sonique.players.default.IsPlaying()) {
  7714.                         if (:sonique.players.default.IsPaused()) {
  7715.                             SetButtonState(0);
  7716.                             SetHoverHint(:language.Translate("general/hint.play")); 
  7717.                         } else {
  7718.                             SetButtonState(1);
  7719.                             SetHoverHint(:language.Translate("general/hint.pause")); 
  7720.                         }
  7721.                     } else { 
  7722.                         SetButtonState(0);
  7723.                         SetHoverHint(:language.Translate("general/hint.play")); 
  7724.                     } 
  7725.                 </script>
  7726.             </window>
  7727.             <window name="stop_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  7728.                 offset="popup.psd|stop_button @ popup.psd|chassis" alignment="1,1,1,1" >
  7729.                 <property hover="true" />
  7730.                 <imagestyle name="state0">
  7731.                     <raster state="hit,hover" source="popup.psd|stop_button" blendmode="ps_normal" opacity="0.75" />
  7732.                     <raster state="normal" source="popup.psd|stop_button" blendmode="ps_normal" opacity="1.0" />
  7733.                 </imagestyle> 
  7734.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  7735.                 <script name="OnClick"> :sonique.players.default.Stop(); </script>
  7736.             </window>
  7737.             <window name="next_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  7738.                     offset="popup.psd|next_button @ popup.psd|chassis" alignment="1,1,1,1" >
  7739.                 <property hover="true" />
  7740.                 <imagestyle name="state0">
  7741.                     <raster state="hit,hover" source="popup.psd|next_button" blendmode="ps_normal" opacity="0.75" />
  7742.                     <raster state="normal" source="popup.psd|next_button" blendmode="ps_normal" opacity="1.0" />
  7743.                 </imagestyle> 
  7744.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  7745.                 <script name="OnClick"> :sonique.players.default.Next();</script>
  7746.             </window>
  7747.         </window> <!-- playbar_controls_window -->
  7748.  
  7749.         <window name="main_online_window" transparent="true" offset="25,33,-30,-35" alignment="0,0,1,1" >
  7750.             <window name="online_window" type="Sonique2_Online" transparent="true" hitstyle="ACTIVE" />
  7751.         </window>
  7752.         <window name="online_controls_window" transparent="true" >
  7753.             <script name="OnIntro">
  7754.                 main_window_icon_window.SetOffset({-26,33,-15,43},0,1000,"linear_accel");
  7755.                 refresh_window_icon_window.SetOffset({-26,50,-14,61},0,1000,"linear_accel");
  7756.             </script>
  7757.             <window name="main_window_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  7758.                 <property hover="true" />
  7759.                 <imagestyle name="state0">
  7760.                     <raster state="hit,hover" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  7761.                     <raster state="normal" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"/>
  7762.                 </imagestyle> 
  7763.                 <imagestyle name="state1">
  7764.                     <raster state="hit,hover" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"  />
  7765.                     <raster state="normal" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  7766.                 </imagestyle>
  7767.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.attachwindow"));    </script>
  7768.                 <script name="OnClick"> parent.parent.AttachWindow(); </script>
  7769.             </window> <!-- main_window_icon_window -->
  7770.             <window name="refresh_window_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-26,-50,-14,-61" alignment="1,0,1,0">
  7771.                 <property hover="true" />
  7772.                 <imagestyle name="state0">
  7773.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal" />
  7774.                     <raster state="normal" opacity="1.0" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal"/>
  7775.                 </imagestyle> 
  7776.                 <imagestyle name="state1">
  7777.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal"  />
  7778.                     <raster state="normal" opacity="0.75" source="grayscale.psd|online_refresh_icon" blendmode="ps_normal" />
  7779.                 </imagestyle>
  7780.                 <script name="OnInit"> SetHoverHint(:language.Translate("onlinewindow/hint.refresh"));</script>
  7781.                 <script name="OnClick"> main_online_window.online_window.ReloadContent(); </script>
  7782.             </window> <!-- refresh -->
  7783.         </window> <!-- online_controls_window -->
  7784.     </window>
  7785.  
  7786.  
  7787.  
  7788.  
  7789. <!-- console -->
  7790.     <window name="console_popup" hitstyle="frame_hitstyle" shape="popup_chassis_shape" transparent="false" default_size="485,565" min_size="400,200">
  7791.  
  7792.         <imagestyle name="background">
  7793.             <raster
  7794.                 source        ="popup.psd|chassis"
  7795.                 offset        ="0,0,0,0"
  7796.                 alignment    ="0,0,1,1"
  7797.                 blendmode    ="ps_normal" 
  7798.                 fillmode    ="resize" opacity="1"
  7799.                 inner_rect    ="40,45,100,100"
  7800.                 outer_rect    ="popup.psd|chassis"
  7801.             />
  7802.         </imagestyle>
  7803.  
  7804.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  7805.             <hitcode type="LEFT">
  7806.                 <shape>
  7807.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  7808.                 </shape>
  7809.             </hitcode>
  7810.             <hitcode type="BOTTOM">
  7811.                 <shape>
  7812.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  7813.                 </shape>
  7814.             </hitcode>
  7815.             <hitcode type="TOP">
  7816.                 <shape>
  7817.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  7818.                 </shape>
  7819.             </hitcode>
  7820.             <hitcode type="RIGHT">
  7821.                 <shape>
  7822.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  7823.                 </shape>
  7824.             </hitcode>
  7825.             <hitcode type="BOTTOMRIGHT">
  7826.                 <shape>
  7827.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  7828.                 </shape>
  7829.             </hitcode>
  7830.         </hitstyle>
  7831.  
  7832.         <!-- monitor dock points -->
  7833.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  7834.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  7835.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  7836.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  7837.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  7838.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  7839.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  7840.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  7841.  
  7842.         <!-- master dock points -->
  7843.         <dock_point type="master" name="Popup_UL" alignment="0,0,0,0" /> 
  7844.         <dock_point type="master" name="Popup_TC" alignment="0.5,0,0.5,0" /> 
  7845.         <dock_point type="master" name="Popup_UR" alignment="1,0,1,0" /> 
  7846.         <dock_point type="master" name="Popup_LL" alignment="0,1,0,1" /> 
  7847.         <dock_point type="master" name="Popup_BC" alignment="0.5,1,0.5,1" /> 
  7848.         <dock_point type="master" name="Popup_LR" alignment="1,1,1,1" /> 
  7849.         <dock_point type="master" name="Popup_RC" alignment="1,0.5,1,0.5" />
  7850.         <dock_point type="master" name="Popup_LC" alignment="0,0.5,0,0.5" />
  7851.  
  7852.         <!-- slave to other popups -->
  7853.         <dock_point type="slave" name="Popup_UL" alignment="1,0,1,0" /> 
  7854.         <dock_point type="slave" name="Popup_UL" alignment="0,1,0,1" /> 
  7855.         <dock_point type="slave" name="Popup_UR" alignment="0,0,0,0" /> 
  7856.         <dock_point type="slave" name="Popup_UR" alignment="1,1,1,1" /> 
  7857.         <dock_point type="slave" name="Popup_LL" alignment="0,0,0,0" /> 
  7858.         <dock_point type="slave" name="Popup_LL" alignment="1,1,1,1" /> 
  7859.         <dock_point type="slave" name="Popup_LR" alignment="0,1,0,1" /> 
  7860.         <dock_point type="slave" name="Popup_LR" alignment="1,0,1,0" /> 
  7861.  
  7862.         <!-- slave to the main window -->
  7863.         <dock_point type="slave" name="Main_UL" alignment="1,0,1,0" /> 
  7864.         <dock_point type="slave" name="Main_UL" alignment="0,1,0,1" /> 
  7865.         <dock_point type="slave" name="Main_UR" alignment="0,0,0,0" /> 
  7866.         <dock_point type="slave" name="Main_UR" alignment="1,1,1,1" /> 
  7867.         <dock_point type="slave" name="Main_LL" alignment="0,0,0,0" /> 
  7868.         <dock_point type="slave" name="Main_LL" alignment="1,1,1,1" /> 
  7869.         <dock_point type="slave" name="Main_LR" alignment="0,1,0,1" /> 
  7870.         <dock_point type="slave" name="Main_LR" alignment="1,0,1,0" /> 
  7871.  
  7872.         <script name="OnInit">
  7873.             rightQuadReady = 1;
  7874.  
  7875.             // todo deal with FPS better - user settings
  7876.             SetDesiredFPS(45);
  7877.             SetWindowTitle(:language.Translate("topmenu/view.console"),true);
  7878.             StartIntro();
  7879.  
  7880.             :sonique.InterfacePrefsCreateSection("console_popup");
  7881.             $size = :sonique.InterfacePrefsGetStringArray("console_popup", "size");
  7882.             if ($size.IsArray() == true) { 
  7883.                 if ( ($size[0] gt 0) and ($size[1] gt 0) ){
  7884.                 // todo - fix bug where if SetSize comes to early, the OS window shape sometimes isn't updated.  grrr...
  7885.                     SetSize($size, 0, 0, "linear_accel"); 
  7886.                 }
  7887.             }
  7888.             $location = :sonique.InterfacePrefsGetStringArray("console_popup", "location");
  7889.             if ($location.IsArray())    { 
  7890.                 $dim = :app.GetScreenDimensions();
  7891.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  7892.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  7893.                         SetLocation($location); 
  7894.                     }
  7895.                 }
  7896.             }
  7897.             if( :sonique.InterfacePrefsGetString("console_popup", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  7898.             else { SetAlwaysOnTop( 0 ); }
  7899.             // hotkeys
  7900.             $section = "sonique/gui/slate/hotkeys";
  7901.             :sonique.prefs.CreateSection($section);
  7902.             alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  7903.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  7904.             
  7905.             theme = :sonique.prefs.GetString("misc", "theme");
  7906.             SetTheme();
  7907.         </script>
  7908.         <script name="OnDestroy">
  7909.             $size = GetSize();
  7910.             :sonique.InterfacePrefsSetStringArray("console_popup", "size", $size);
  7911.             $location = GetLocation();
  7912.             :sonique.InterfacePrefsSetStringArray("console_popup", "location", $location );
  7913.             :sonique.InterfacePrefsSetString("console_popup", "alwaysontop", GetAlwaysOnTop());
  7914.             // hotkeys
  7915.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  7916.         </script>
  7917.         <script name="OnAlwaysOnTopChange"> 
  7918.             window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]); 
  7919.         </script>
  7920.         <script name="OnActivate">
  7921.             background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_decel");
  7922.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  7923.             window_controls_window.help_button_window.SetOpacity(1.0);
  7924.             window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  7925.             window_controls_window.minimize_button_window.SetOpacity(1.0);
  7926.             window_controls_window.close_button_window.SetOpacity(1.0);
  7927.         </script>
  7928.         <script name="OnDeactivate">
  7929.             background_window.left_quadrant_window.SetOffset({12,1112,20,20},0,1000,"linear_accel" );
  7930.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  7931.             window_controls_window.help_button_window.SetOpacity(0.5);
  7932.             window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  7933.             window_controls_window.minimize_button_window.SetOpacity(0.5);
  7934.             window_controls_window.close_button_window.SetOpacity(0.5);
  7935.         </script>
  7936.         <script name="AttachWindow">
  7937.             // find main and tell it to show me
  7938.             $bFound = false;
  7939.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  7940.                 if ($window.Name() == "main")    {
  7941.                     $bFound = true;
  7942.                     $window.AttachPopup(Name());
  7943.                 }
  7944.             }
  7945.             if ($bFound == false) {
  7946.                 :sonique.InterfacePrefsSetString("main", "currentwindow", "main_console_window");
  7947.                 :sonique.LaunchAppWindow("Default Skin");
  7948.             }
  7949.             // close me
  7950.             DestroyWindow();
  7951.         </script>
  7952.         <script name="SetTheme">
  7953.             // all popups need these:
  7954.             SetMenuProperty("theme" | theme | "_popupmenu");
  7955.             background_window.SetImageStyle("background","theme" | theme);
  7956.             title_window.SetImageStyle("background","theme" | theme);
  7957.             status_display_window.SetImageStyle("background","theme" | theme);
  7958.         </script>
  7959.  
  7960.         <window name="background_window" transparent="true" shape="background_shape" _hitstyle="DRAG">
  7961.             <shape name="background_shape">
  7962.                 <shape_raster
  7963.                     fillmode    ="resize"
  7964.                     alignment    ="0,0,1,1"
  7965.                     source        ="popup.psd|backgound_color_region" 
  7966.                     source_offset    ="popup.psd|backgound_color_region @ popup.psd|chassis" 
  7967.                     inner_rect    ="40,45,100,100"
  7968.                     outer_rect    ="popup.psd|chassis"
  7969.                 />
  7970.             </shape>
  7971.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle> 
  7972.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  7973.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  7974.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  7975.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  7976.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle> 
  7977.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  7978.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  7979.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  7980.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  7981.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle>
  7982.             <window name="main_background_grid" transparent="true" >
  7983.                 <imagestyle name="background" transparent="true"><raster source="popup.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" /></imagestyle>
  7984.             </window>
  7985.             <window name="display_lines_window" transparent="true" _hitstyle="ACTIVE">
  7986.                 <imagestyle name="background">
  7987.                     <raster source="popup.psd|display_corner_top_left"  offset="popup.psd|display_corner_top_left @ popup.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  7988.                     <raster source="popup.psd|display_corner_top_right" offset="popup.psd|display_corner_top_right @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  7989.                     <raster source="popup.psd|display_corner_bottom_right" offset="popup.psd|display_corner_bottom_right @ popup.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  7990.                     <raster source="popup.psd|display_line_over_mini_windows" offset="popup.psd|display_line_over_mini_windows @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  7991.                     <raster source="popup.psd|display_top_line_level_1" offset="popup.psd|display_top_line_level_1 @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  7992.                     <raster source = "popup.psd|display_vertical_left_line" offset="popup.psd|display_vertical_left_line @ popup.psd|chassis" alignment="0,1,0,1"  blendmode = "ps_normal" opacity="0.45" />
  7993.  
  7994.                                         
  7995.                     <!-- main left and right vertical lines -->
  7996.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-116" opacity="0.45" />
  7997.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-36" opacity="0.45" />
  7998.                     <!--top horizontal lines -->
  7999.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  8000.                     <!-- right hand tiny very line-->
  8001.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  8002.                     <!-- lefthand tiny vert line-->
  8003.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  8004.                     <!-- first long horizontal line -->
  8005.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  8006.                     <!-- second long horizontal line -->
  8007.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  8008.  
  8009.                     <!-- top_right_lines -->
  8010.                     <color_line color="color3" alignment="1,0,1,0" offset="-248,5,-9,5" opacity="0.45" />
  8011.                     <!-- lower hor. -->
  8012.                     <color_line color="color3" alignment="1,0,1,0" offset="-252,9,-89,9" opacity="0.45" />
  8013.                     <color_line color="color3" alignment="1,0,1,0" offset="-17,9,-10,9" opacity="0.45" />
  8014.                     <!-- righthand mini vert -->
  8015.                     <color_line color="color3" alignment="1,0,1,0" offset="-9,6,-9,9" opacity="0.45" />
  8016.                     <!-- center mini verts -->
  8017.                     <color_line color="color3" alignment="1,0,1,0" offset="-145,6,-145,9" opacity="0.45" />
  8018.                     <color_line color="color3" alignment="1,0,1,0" offset="-173,6,-173,9" opacity="0.45" />
  8019.                     <color_fill color="color3" alignment="1,0,1,0" offset="-123,6,-111,9" opacity="0.45" />
  8020.                     <color_fill color="color3" alignment="1,0,1,0" offset="-101,6,-89,9" opacity="0.45" />
  8021.                     <color_fill color="color3" alignment="1,0,1,0" offset="-208,6,-196,9" opacity="0.45" />
  8022.                     <color_fill color="color3" alignment="1,0,1,0" offset="-230,6,-218,9" opacity="0.45" />
  8023.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,8,-249,6" opacity="0.45" />
  8024.  
  8025.                     <!-- bottom left lines with squares -->
  8026.                     <color_line color="color3" alignment="0,1,0,1" offset="9,-93,,9,-19" opacity="0.45" />
  8027.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-93,12,-93" opacity="0.45" />
  8028.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-74,13,-62" opacity="0.45" />
  8029.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-52,13,-40" opacity="0.45" />
  8030.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-19,12,-19" opacity="0.45" />
  8031.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-93,13,-19" opacity="0.45" />
  8032.                     <!-- bottom left criss cross -->
  8033.                     <color_line color="color3" alignment="0,1,0,1" offset="5,-15,19,-15" opacity="0.45" />
  8034.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-17,13,-8" opacity="0.45" />
  8035.                     <!-- righthand criss cross lines on bottom -->
  8036.                     <color_line color="color3" alignment="1,1,1,1" offset="-197,-6,-167,-6" opacity="0.45" />
  8037.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-9,-188,-9" opacity="0.45" />
  8038.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-13,-191,0" opacity="0.45" />
  8039.  
  8040.  
  8041.                     <!-- bottom lines -->
  8042.                     <!-- horizontals -->
  8043.                     <!-- leaving spaces for the playbar controls -->
  8044.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-18,-107,-18" opacity="0.45" />
  8045.                     <color_line color="color3" alignment="1,1,1,1" offset="-95,-18,-90,-18" opacity="0.45" />
  8046.                     <color_line color="color3" alignment="1,1,1,1" offset="-78,-18,-73,-18" opacity="0.45" />
  8047.                     <color_line color="color3" alignment="1,1,1,1" offset="-61,-18,-56,-18" opacity="0.45" />
  8048.                     <color_line color="color3" alignment="1,1,1,1" offset="-44,-18,-29,-18" opacity="0.45" />
  8049.  
  8050.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-14,-130,-14" opacity="0.45" />
  8051.                     <!-- verts -->
  8052.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-17,-191,-15" opacity="0.45" />
  8053.                     <color_line color="color3" alignment="1,1,1,1" offset="-129,-17,-129,-14" opacity="0.45" />
  8054.                     <!-- rects -->
  8055.                     <color_fill color="color3" alignment="1,1,1,1" offset="-176,-17,-164,-14" opacity="0.45" />
  8056.                     <color_fill color="color3" alignment="1,1,1,1" offset="-154,-17,-142,-14" opacity="0.45" />
  8057.                 </imagestyle>
  8058.             </window> <!-- display_lines_window -->
  8059.  
  8060.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,2112,20,20" transparent="true" _hitstyle="ACTIVE">
  8061.                 <imagestyle name="background"> 
  8062.                     <raster source="popup.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" />    
  8063.                 </imagestyle>
  8064.                 <script name="OnIntro"> 
  8065.                     SetOffset({12,32,20,-115},0,1000,"linear_decel"); 
  8066.                 </script>
  8067.             </window> 
  8068.             <window name="right_quadrant_window" transparent="true" alignment="1,0,1,1" offset="-95,-200,-87,0" _hitstyle="ACTIVE">
  8069.                 <imagestyle name="background"><raster source="popup.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8070.                 <script name="OnInit"> 
  8071.                     position = -1; 
  8072.                 </script>
  8073.                 <script name="OnIntro"> 
  8074.                     OnInit();
  8075.                     MoveSomething(); 
  8076.                 </script>
  8077.                 <script name="MoveSomething">
  8078.                     if ( position == -1 ) {
  8079.                         SetOffset({-95,0,-87,400},0,1000,"linear_decel"); 
  8080.                         position = 1;
  8081.                     } else {
  8082.                         SetOffset({-95,-400,-87,0},0,1000,"linear_decel"); 
  8083.                         position = -1;
  8084.                     }
  8085.                 </script>
  8086.             </window>
  8087.  
  8088.         </window> <!-- background_window -->
  8089.  
  8090.         <window name="title_window" type="textdisplay" transparent="true" shape="my_shape"
  8091.                 alignment="0,0,1,0" offset="22,11,-259,26" >
  8092.             <property font_style="my_font_10" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" 
  8093.                     edge_offset_rect="7,1,-7,-1"/>
  8094.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  8095.             <imagestyle name="background">
  8096.                 <color_rect color="color2" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8097.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8098.             </imagestyle>
  8099.             <imagestyle name="theme1">
  8100.                 <color_rect color="0xFF99EE00" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8101.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8102.             </imagestyle>
  8103.             <imagestyle name="theme2">
  8104.                 <color_rect color="0xFFB83F3F" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8105.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8106.             </imagestyle>
  8107.             <imagestyle name="theme3">
  8108.                 <color_rect color="0xFFCBFF66" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8109.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8110.             </imagestyle>
  8111.             <imagestyle name="theme4">
  8112.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8113.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8114.             </imagestyle>
  8115.             <imagestyle name="theme5">
  8116.                 <color_rect color="0xFFBBBBBB" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8117.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8118.             </imagestyle>
  8119.             <imagestyle name="theme6">
  8120.                 <color_rect color="0xFF00CCFF" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8121.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8122.             </imagestyle>
  8123.             <imagestyle name="theme7">
  8124.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8125.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8126.             </imagestyle>
  8127.             <imagestyle name="theme8">
  8128.                 <color_rect color="0xFF00B200" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8129.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8130.             </imagestyle>
  8131.             <imagestyle name="theme9">
  8132.                 <color_rect color="0xFF588FBA" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8133.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8134.             </imagestyle>
  8135.             <imagestyle name="theme10">
  8136.                 <color_rect color="theme10_color2" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8137.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8138.             </imagestyle>
  8139.             <script name="OnInit"> 
  8140.                 SetText(:language.Translate("topmenu/view.console"));
  8141.             </script>
  8142.         </window> <!-- title_window -->
  8143.  
  8144.         <window name="status_display_window" type="Sonique2_StatusBar"  transparent="true" shape="my_shape"
  8145.                     alignment="0,1,1,1" 
  8146.                     offset="20,-26,-191,-10" >
  8147.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  8148.             <imagestyle name="background">
  8149.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  8150.                 <color_rect color="color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8151.             </imagestyle>
  8152.             <imagestyle name="theme1">
  8153.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  8154.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8155.             </imagestyle>
  8156.             <imagestyle name="theme2">
  8157.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  8158.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8159.             </imagestyle>
  8160.             <imagestyle name="theme3">
  8161.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  8162.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8163.             </imagestyle>
  8164.             <imagestyle name="theme4">
  8165.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  8166.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8167.             </imagestyle>
  8168.             <imagestyle name="theme5">
  8169.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  8170.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8171.             </imagestyle>
  8172.             <imagestyle name="theme6">
  8173.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  8174.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8175.             </imagestyle>
  8176.             <imagestyle name="theme7">
  8177.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  8178.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8179.             </imagestyle>
  8180.             <imagestyle name="theme8">
  8181.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  8182.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8183.             </imagestyle>
  8184.             <imagestyle name="theme9">
  8185.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  8186.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8187.             </imagestyle>
  8188.             <imagestyle name="theme10">
  8189.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  8190.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8191.             </imagestyle>
  8192.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  8193.                     rect_status_offset= "7,1,-7,-1" rect_progress_offset="7,1,-7,-1"
  8194.                     info_font_color="color3" info_font_style="my_font_10" info_font_justification="left|v_center|single_line_only"
  8195.                     error_font_color="color1" error_font_style="my_font_10" error_font_justification="left|v_center|single_line_only"
  8196.                     warning_font_color="color1" warning_font_style="my_font_10" warning_font_justification="left|v_center|single_line_only"
  8197.                     fallback_font_color="color3" fallback_font_style="my_font_10" fallback_font_justification="left|v_center|single_line_only" 
  8198.             />
  8199.         </window> <!--  status_display_window -->
  8200.  
  8201.         <window name="window_controls_window" transparent="true">
  8202.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8203.                 <property hover="true" />
  8204.                 <shape name="my_shape"><shape_raster source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8205.                 <imagestyle name="state0">
  8206.                     <raster state="hit,hover" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  8207.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8208.                     <raster state="normal" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  8209.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8210.                 </imagestyle> 
  8211.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.help")); // todo pl </script>
  8212.                 <script name="OnClick">  :sonique.LaunchHelp(); </script>
  8213.             </window>
  8214.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8215.                 <property hover="true" />
  8216.                 <shape name="my_shape"><shape_raster source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8217.                 <imagestyle name="state0">
  8218.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8219.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8220.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8221.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8222.                 </imagestyle> 
  8223.                 <imagestyle name="state1">
  8224.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8225.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8226.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8227.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8228.                 </imagestyle> 
  8229.                 <script name="OnInit">
  8230.                     $topstate = parent.parent.GetAlwaysOnTop();
  8231.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  8232.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  8233.                 </script>
  8234.                 <script name="OnClick"> 
  8235.                     $topstate = parent.parent.GetAlwaysOnTop();
  8236.                     if ($topstate == true) {
  8237.                         parent.parent.SetAlwaysOnTop(0);
  8238.                         SetButtonState(0);
  8239.                     } else {    
  8240.                         parent.parent.SetAlwaysOnTop(1);
  8241.                         SetButtonState(1);                        
  8242.                     }
  8243.                 </script>
  8244.                 <script name="UpdateAlwaysOnTopState">
  8245.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  8246.                 </script>
  8247.             </window>
  8248.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8249.                 <property hover="true" />
  8250.                 <shape name="my_shape"><shape_raster source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8251.                 <imagestyle name="state0">
  8252.                     <raster state="hit,hover" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  8253.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8254.                     <raster state="normal" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  8255.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8256.                 </imagestyle> 
  8257.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  8258.                 <script name="OnClick"> parent.parent.MinimizeWindow(true); </script>
  8259.             </window>
  8260.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8261.                 <property hover="true" />
  8262.                 <shape name="my_shape"><shape_raster source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8263.                 <imagestyle name="state0">
  8264.                     <raster state="hit,hover" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  8265.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8266.                     <raster state="normal" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  8267.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8268.                 </imagestyle> 
  8269.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin")); </script>
  8270.                 <script name="OnClick"> 
  8271.                     parent.parent.DestroyWindow();
  8272.                 </script>
  8273.             </window>
  8274.         </window> <!-- window_controls_window --> 
  8275.  
  8276.         <window name="playbar_controls_window" transparent="true">
  8277.             <imagestyle name="background">
  8278.                 <raster opacity="0.75" source="popup.psd|control_circles" offset="popup.psd|control_circles @ popup.psd|chassis" alignment="1,1,1,1" blendmode="ps_normal" />
  8279.             </imagestyle> 
  8280.             <window name="prev_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8281.                     offset="popup.psd|prev_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8282.                 <property hover="true" />
  8283.                 <imagestyle name="state0">
  8284.                     <raster state="hit,hover" source="popup.psd|prev_button" blendmode="ps_normal" opacity="0.75" />
  8285.                     <raster state="normal" source="popup.psd|prev_button" blendmode="ps_normal" opacity="1.0" />
  8286.                 </imagestyle> 
  8287.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  8288.                 <script name="OnClick"> :sonique.players.default.Prev();</script>
  8289.             </window>
  8290.             <window name="playpause_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8291.                     offset="popup.psd|pause_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8292.                 <property hover="true" />
  8293.                 <imagestyle name="state0">
  8294.                     <raster state="hover" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  8295.                     <raster state="normal" source="popup.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  8296.  
  8297.                     <raster state="hit" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />                    
  8298.                 </imagestyle> 
  8299.                 <imagestyle name="state1">
  8300.                     <raster state="hover" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  8301.                     <raster state="normal" source="popup.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  8302.  
  8303.                     <raster state="hit" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  8304.                 </imagestyle> 
  8305.                 <script name="OnInit">
  8306.                     :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  8307.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  8308.                     :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  8309.                     UpdateState();
  8310.                 </script>
  8311.                 <script name="OnDestroy">
  8312.                     :sonique.players.default.UnregisterCallback("Playing", this);
  8313.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  8314.                     :sonique.players.default.UnregisterCallback("Pausing", this);
  8315.                 </script>
  8316.                 <script name="OnClick"> 
  8317.                     if (:sonique.players.default.IsPlaying()) {
  8318.                         :sonique.players.default.TogglePause(); 
  8319.                     } else { 
  8320.                         :sonique.players.default.Play(); 
  8321.                     } 
  8322.                     UpdateState();
  8323.                 </script>
  8324.                 <script name="UpdateState">
  8325.                     if (:sonique.players.default.IsPlaying()) {
  8326.                         if (:sonique.players.default.IsPaused()) {
  8327.                             SetButtonState(0);
  8328.                             SetHoverHint(:language.Translate("general/hint.play")); 
  8329.                         } else {
  8330.                             SetButtonState(1);
  8331.                             SetHoverHint(:language.Translate("general/hint.pause")); 
  8332.                         }
  8333.                     } else { 
  8334.                         SetButtonState(0);
  8335.                         SetHoverHint(:language.Translate("general/hint.play")); 
  8336.                     } 
  8337.                 </script>
  8338.             </window>
  8339.             <window name="stop_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8340.                 offset="popup.psd|stop_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8341.                 <property hover="true" />
  8342.                 <imagestyle name="state0">
  8343.                     <raster state="hit,hover" source="popup.psd|stop_button" blendmode="ps_normal" opacity="0.75" />
  8344.                     <raster state="normal" source="popup.psd|stop_button" blendmode="ps_normal" opacity="1.0" />
  8345.                 </imagestyle> 
  8346.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  8347.                 <script name="OnClick"> :sonique.players.default.Stop(); </script>
  8348.             </window>
  8349.             <window name="next_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8350.                     offset="popup.psd|next_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8351.                 <property hover="true" />
  8352.                 <imagestyle name="state0">
  8353.                     <raster state="hit,hover" source="popup.psd|next_button" blendmode="ps_normal" opacity="0.75" />
  8354.                     <raster state="normal" source="popup.psd|next_button" blendmode="ps_normal" opacity="1.0" />
  8355.                 </imagestyle> 
  8356.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  8357.                 <script name="OnClick"> :sonique.players.default.Next();</script>
  8358.             </window>
  8359.         </window> <!-- playbar_controls_window -->
  8360.  
  8361.         <window name="console_window" type="console" offset="25,35,-20,-35" alignment="0,0,1,1" transparent="false">
  8362.             <imagestyle name="background"> <color_fill color="0x00000000"/> </imagestyle>
  8363.         </window> 
  8364.         <window name="console_controls_window" transparent="true" >
  8365.             <script name="OnIntro">
  8366.                 main_window_icon_window.SetOffset({-26,33,-15,43},0,1000,"linear_accel");
  8367.             </script>
  8368.             <window name="main_window_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  8369.                 <property hover="true" />
  8370.                 <imagestyle name="state0">
  8371.                     <raster state="hit,hover" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  8372.                     <raster state="normal" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"/>
  8373.                 </imagestyle> 
  8374.                 <imagestyle name="state1">
  8375.                     <raster state="hit,hover" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"  />
  8376.                     <raster state="normal" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  8377.                 </imagestyle>
  8378.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.attachwindow"));    </script>
  8379.                 <script name="OnClick"> parent.parent.AttachWindow(); </script>
  8380.             </window> <!-- main_window_icon_window -->
  8381.         </window> <!-- console_controls_window -->
  8382.     </window>
  8383.  
  8384.  
  8385. <!-- settings -->
  8386.  
  8387.     <window name="settings_popup" hitstyle="frame_hitstyle" shape="popup_chassis_shape" transparent="false" default_size="485,365" min_size="400,200">
  8388.  
  8389.         <imagestyle name="background">
  8390.             <raster
  8391.                 source        ="popup.psd|chassis"
  8392.                 offset        ="0,0,0,0"
  8393.                 alignment    ="0,0,1,1"
  8394.                 blendmode    ="ps_normal" 
  8395.                 fillmode    ="resize" opacity="1"
  8396.                 inner_rect    ="40,45,100,100"
  8397.                 outer_rect    ="popup.psd|chassis"
  8398.             />
  8399.         </imagestyle>
  8400.  
  8401.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  8402.             <hitcode type="LEFT">
  8403.                 <shape>
  8404.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  8405.                 </shape>
  8406.             </hitcode>
  8407.             <hitcode type="BOTTOM">
  8408.                 <shape>
  8409.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  8410.                 </shape>
  8411.             </hitcode>
  8412.             <hitcode type="TOP">
  8413.                 <shape>
  8414.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  8415.                 </shape>
  8416.             </hitcode>
  8417.             <hitcode type="RIGHT">
  8418.                 <shape>
  8419.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  8420.                 </shape>
  8421.             </hitcode>
  8422.             <hitcode type="BOTTOMRIGHT">
  8423.                 <shape>
  8424.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  8425.                 </shape>
  8426.             </hitcode>
  8427.         </hitstyle>
  8428.  
  8429.         <!-- monitor dock points -->
  8430.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  8431.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  8432.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  8433.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  8434.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  8435.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  8436.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  8437.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  8438.  
  8439.         <!-- master dock points -->
  8440.         <dock_point type="master" name="Popup_UL" alignment="0,0,0,0" /> 
  8441.         <dock_point type="master" name="Popup_TC" alignment="0.5,0,0.5,0" /> 
  8442.         <dock_point type="master" name="Popup_UR" alignment="1,0,1,0" /> 
  8443.         <dock_point type="master" name="Popup_LL" alignment="0,1,0,1" /> 
  8444.         <dock_point type="master" name="Popup_BC" alignment="0.5,1,0.5,1" /> 
  8445.         <dock_point type="master" name="Popup_LR" alignment="1,1,1,1" /> 
  8446.         <dock_point type="master" name="Popup_RC" alignment="1,0.5,1,0.5" />
  8447.         <dock_point type="master" name="Popup_LC" alignment="0,0.5,0,0.5" />
  8448.  
  8449.         <!-- slave to other popups -->
  8450.         <dock_point type="slave" name="Popup_UL" alignment="1,0,1,0" /> 
  8451.         <dock_point type="slave" name="Popup_UL" alignment="0,1,0,1" /> 
  8452.         <dock_point type="slave" name="Popup_UR" alignment="0,0,0,0" /> 
  8453.         <dock_point type="slave" name="Popup_UR" alignment="1,1,1,1" /> 
  8454.         <dock_point type="slave" name="Popup_LL" alignment="0,0,0,0" /> 
  8455.         <dock_point type="slave" name="Popup_LL" alignment="1,1,1,1" /> 
  8456.         <dock_point type="slave" name="Popup_LR" alignment="0,1,0,1" /> 
  8457.         <dock_point type="slave" name="Popup_LR" alignment="1,0,1,0" /> 
  8458.  
  8459.         <!-- slave to the main window -->
  8460.         <dock_point type="slave" name="Main_UL" alignment="1,0,1,0" /> 
  8461.         <dock_point type="slave" name="Main_UL" alignment="0,1,0,1" /> 
  8462.         <dock_point type="slave" name="Main_UR" alignment="0,0,0,0" /> 
  8463.         <dock_point type="slave" name="Main_UR" alignment="1,1,1,1" /> 
  8464.         <dock_point type="slave" name="Main_LL" alignment="0,0,0,0" /> 
  8465.         <dock_point type="slave" name="Main_LL" alignment="1,1,1,1" /> 
  8466.         <dock_point type="slave" name="Main_LR" alignment="0,1,0,1" /> 
  8467.         <dock_point type="slave" name="Main_LR" alignment="1,0,1,0" /> 
  8468.  
  8469.         <script name="OnInit">
  8470.             rightQuadReady = 1;
  8471.  
  8472.             // todo deal with FPS better - user settings
  8473.             SetDesiredFPS(45);
  8474.             SetWindowTitle(:language.Translate("topmenu/view.setup"),true);
  8475.             StartIntro();
  8476.  
  8477.             :sonique.InterfacePrefsCreateSection("settings_popup");
  8478.             $size = :sonique.InterfacePrefsGetStringArray("settings_popup", "size");
  8479.             if ($size.IsArray() == true) { 
  8480.                 if ( ($size[0] gt 0) and ($size[1] gt 0) ){
  8481.                 // todo - fix bug where if SetSize comes to early, the OS window shape sometimes isn't updated.  grrr...
  8482.                     SetSize($size, 0, 0, "linear_accel"); 
  8483.                 }
  8484.             }
  8485.             $location = :sonique.InterfacePrefsGetStringArray("settings_popup", "location");
  8486.             if ($location.IsArray())    { 
  8487.                 $dim = :app.GetScreenDimensions();
  8488.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  8489.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  8490.                         SetLocation($location); 
  8491.                     }
  8492.                 }
  8493.             }
  8494.             if( :sonique.InterfacePrefsGetString("settings_popup", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  8495.             else { SetAlwaysOnTop( 0 ); }
  8496.             // hotkeys
  8497.             $section = "sonique/gui/slate/hotkeys";
  8498.             :sonique.prefs.CreateSection($section);
  8499.             alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  8500.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  8501.             main.skin_settings_window.careful=0;
  8502.             theme = :sonique.prefs.GetString("misc", "theme");
  8503.             main.skin_settings_window.SelectTheme();
  8504.         </script>
  8505.         <script name="OnDestroy">
  8506.             $size = GetSize();
  8507.             :sonique.InterfacePrefsSetStringArray("settings_popup", "size", $size);
  8508.             $location = GetLocation();
  8509.             :sonique.InterfacePrefsSetStringArray("settings_popup", "location", $location );
  8510.             :sonique.InterfacePrefsSetString("settings_popup", "alwaysontop", GetAlwaysOnTop());
  8511.             // hotkeys
  8512.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  8513.         </script>
  8514.         <script name="OnAlwaysOnTopChange"> 
  8515.             window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]); 
  8516.         </script>
  8517.         <script name="OnActivate">
  8518.             background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_decel");
  8519.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  8520.             window_controls_window.help_button_window.SetOpacity(1.0);
  8521.             window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  8522.             window_controls_window.minimize_button_window.SetOpacity(1.0);
  8523.             window_controls_window.close_button_window.SetOpacity(1.0);
  8524.         </script>
  8525.         <script name="OnDeactivate">
  8526.             background_window.left_quadrant_window.SetOffset({12,1112,20,20},0,1000,"linear_accel" );
  8527.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  8528.             window_controls_window.help_button_window.SetOpacity(0.5);
  8529.             window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  8530.             window_controls_window.minimize_button_window.SetOpacity(0.5);
  8531.             window_controls_window.close_button_window.SetOpacity(0.5);
  8532.         </script>
  8533.         <script name="AttachWindow">
  8534.             // find main and tell it to show me
  8535.             $bFound = false;
  8536.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  8537.                 if ($window.Name() == "main")    {
  8538.                     $bFound = true;
  8539.                     $window.AttachPopup(Name());
  8540.                 }
  8541.             }
  8542.             if ($bFound == false) {
  8543.                 // launch main and try it again.
  8544.                 :sonique.InterfacePrefsSetString("main", "currentwindow", "main_settings_window");
  8545.                 :sonique.LaunchAppWindow("Default Skin");
  8546.             }
  8547.             // close me
  8548.             DestroyWindow();
  8549.         </script>
  8550.         <script name="SetTheme">
  8551.             // all popups need these:
  8552.             SetMenuProperty("theme" | theme | "_popupmenu");
  8553.             background_window.SetImageStyle("background","theme" | theme);
  8554.             title_window.SetImageStyle("background","theme" | theme);
  8555.             status_display_window.SetImageStyle("background","theme" | theme);
  8556.  
  8557.             main.app_settings_tab_window.SetImageStyle("state0", "theme" | theme | "_state0");
  8558.             main.app_settings_tab_window.SetImageStyle("state1", "theme" | theme | "_state1");
  8559.             main.skin_settings_tab_window.SetImageStyle("state0", "theme" | theme | "_state0");
  8560.             main.skin_settings_tab_window.SetImageStyle("state1", "theme" | theme | "_state1");
  8561.         </script>
  8562.  
  8563.         <window name="background_window" transparent="true" shape="background_shape" _hitstyle="DRAG">
  8564.             <shape name="background_shape">
  8565.                 <shape_raster
  8566.                     fillmode    ="resize"
  8567.                     alignment    ="0,0,1,1"
  8568.                     source        ="popup.psd|backgound_color_region" 
  8569.                     source_offset    ="popup.psd|backgound_color_region @ popup.psd|chassis" 
  8570.                     inner_rect    ="40,45,100,100"
  8571.                     outer_rect    ="popup.psd|chassis"
  8572.                 />
  8573.             </shape>
  8574.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle> 
  8575.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  8576.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  8577.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  8578.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  8579.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle> 
  8580.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  8581.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  8582.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  8583.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  8584.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle> 
  8585.             <window name="main_background_grid" transparent="true" >
  8586.                 <imagestyle name="background" transparent="true"><raster source="popup.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" /></imagestyle>
  8587.             </window>
  8588.             <window name="display_lines_window" transparent="true" _hitstyle="ACTIVE">
  8589.                 <imagestyle name="background">
  8590.                     <raster source="popup.psd|display_corner_top_left"  offset="popup.psd|display_corner_top_left @ popup.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  8591.                     <raster source="popup.psd|display_corner_top_right" offset="popup.psd|display_corner_top_right @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  8592.                     <raster source="popup.psd|display_corner_bottom_right" offset="popup.psd|display_corner_bottom_right @ popup.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  8593.                     <raster source="popup.psd|display_line_over_mini_windows" offset="popup.psd|display_line_over_mini_windows @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  8594.                     <raster source="popup.psd|display_top_line_level_1" offset="popup.psd|display_top_line_level_1 @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  8595.                     <raster source = "popup.psd|display_vertical_left_line" offset="popup.psd|display_vertical_left_line @ popup.psd|chassis" alignment="0,1,0,1"  blendmode = "ps_normal" opacity="0.45" />
  8596.  
  8597.                                         
  8598.                     <!-- main left and right vertical lines -->
  8599.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-116" opacity="0.45" />
  8600.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-36" opacity="0.45" />
  8601.                     <!--top horizontal lines -->
  8602.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  8603.                     <!-- right hand tiny very line-->
  8604.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  8605.                     <!-- lefthand tiny vert line-->
  8606.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  8607.                     <!-- first long horizontal line -->
  8608.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  8609.                     <!-- second long horizontal line -->
  8610.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  8611.  
  8612.                     <!-- top_right_lines -->
  8613.                     <color_line color="color3" alignment="1,0,1,0" offset="-248,5,-9,5" opacity="0.45" />
  8614.                     <!-- lower hor. -->
  8615.                     <color_line color="color3" alignment="1,0,1,0" offset="-252,9,-89,9" opacity="0.45" />
  8616.                     <color_line color="color3" alignment="1,0,1,0" offset="-17,9,-10,9" opacity="0.45" />
  8617.                     <!-- righthand mini vert -->
  8618.                     <color_line color="color3" alignment="1,0,1,0" offset="-9,6,-9,9" opacity="0.45" />
  8619.                     <!-- center mini verts -->
  8620.                     <color_line color="color3" alignment="1,0,1,0" offset="-145,6,-145,9" opacity="0.45" />
  8621.                     <color_line color="color3" alignment="1,0,1,0" offset="-173,6,-173,9" opacity="0.45" />
  8622.                     <color_fill color="color3" alignment="1,0,1,0" offset="-123,6,-111,9" opacity="0.45" />
  8623.                     <color_fill color="color3" alignment="1,0,1,0" offset="-101,6,-89,9" opacity="0.45" />
  8624.                     <color_fill color="color3" alignment="1,0,1,0" offset="-208,6,-196,9" opacity="0.45" />
  8625.                     <color_fill color="color3" alignment="1,0,1,0" offset="-230,6,-218,9" opacity="0.45" />
  8626.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,8,-249,6" opacity="0.45" />
  8627.  
  8628.                     <!-- bottom left lines with squares -->
  8629.                     <color_line color="color3" alignment="0,1,0,1" offset="9,-93,,9,-19" opacity="0.45" />
  8630.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-93,12,-93" opacity="0.45" />
  8631.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-74,13,-62" opacity="0.45" />
  8632.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-52,13,-40" opacity="0.45" />
  8633.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-19,12,-19" opacity="0.45" />
  8634.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-93,13,-19" opacity="0.45" />
  8635.                     <!-- bottom left criss cross -->
  8636.                     <color_line color="color3" alignment="0,1,0,1" offset="5,-15,19,-15" opacity="0.45" />
  8637.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-17,13,-8" opacity="0.45" />
  8638.                     <!-- righthand criss cross lines on bottom -->
  8639.                     <color_line color="color3" alignment="1,1,1,1" offset="-197,-6,-167,-6" opacity="0.45" />
  8640.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-9,-188,-9" opacity="0.45" />
  8641.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-13,-191,0" opacity="0.45" />
  8642.  
  8643.  
  8644.                     <!-- bottom lines -->
  8645.                     <!-- horizontals -->
  8646.                     <!-- leaving spaces for the playbar controls -->
  8647.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-18,-107,-18" opacity="0.45" />
  8648.                     <color_line color="color3" alignment="1,1,1,1" offset="-95,-18,-90,-18" opacity="0.45" />
  8649.                     <color_line color="color3" alignment="1,1,1,1" offset="-78,-18,-73,-18" opacity="0.45" />
  8650.                     <color_line color="color3" alignment="1,1,1,1" offset="-61,-18,-56,-18" opacity="0.45" />
  8651.                     <color_line color="color3" alignment="1,1,1,1" offset="-44,-18,-29,-18" opacity="0.45" />
  8652.  
  8653.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-14,-130,-14" opacity="0.45" />
  8654.                     <!-- verts -->
  8655.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-17,-191,-15" opacity="0.45" />
  8656.                     <color_line color="color3" alignment="1,1,1,1" offset="-129,-17,-129,-14" opacity="0.45" />
  8657.                     <!-- rects -->
  8658.                     <color_fill color="color3" alignment="1,1,1,1" offset="-176,-17,-164,-14" opacity="0.45" />
  8659.                     <color_fill color="color3" alignment="1,1,1,1" offset="-154,-17,-142,-14" opacity="0.45" />
  8660.                 </imagestyle>
  8661.             </window> <!-- display_lines_window -->
  8662.  
  8663.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,2112,20,20" transparent="true" _hitstyle="ACTIVE">
  8664.                 <imagestyle name="background"> 
  8665.                     <raster source="popup.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" />    
  8666.                 </imagestyle>
  8667.                 <script name="OnIntro"> 
  8668.                     SetOffset({12,32,20,-115},0,1000,"linear_decel"); 
  8669.                 </script>
  8670.             </window> 
  8671.             <window name="right_quadrant_window" transparent="true" alignment="1,0,1,1" offset="-95,-200,-87,0" _hitstyle="ACTIVE">
  8672.                 <imagestyle name="background"><raster source="popup.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8673.                 <script name="OnInit"> 
  8674.                     position = -1; 
  8675.                 </script>
  8676.                 <script name="OnIntro"> 
  8677.                     OnInit();
  8678.                     MoveSomething(); 
  8679.                 </script>
  8680.                 <script name="MoveSomething">
  8681.                     if ( position == -1 ) {
  8682.                         SetOffset({-95,0,-87,400},0,1000,"linear_decel"); 
  8683.                         position = 1;
  8684.                     } else {
  8685.                         SetOffset({-95,-400,-87,0},0,1000,"linear_decel"); 
  8686.                         position = -1;
  8687.                     }
  8688.                 </script>
  8689.             </window>
  8690.  
  8691.         </window> <!-- background_window -->
  8692.  
  8693.         <window name="title_window" type="textdisplay" transparent="true" shape="my_shape"
  8694.                 alignment="0,0,1,0" offset="22,11,-259,26" >
  8695.             <property font_style="my_font_10" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" 
  8696.                     edge_offset_rect="7,1,-7,-1"/>
  8697.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  8698.             <imagestyle name="background">
  8699.                 <color_rect color="color2" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8700.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8701.             </imagestyle>
  8702.             <imagestyle name="theme1">
  8703.                 <color_rect color="0xFF99EE00" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8704.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8705.             </imagestyle>
  8706.             <imagestyle name="theme2">
  8707.                 <color_rect color="0xFFB83F3F" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8708.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8709.             </imagestyle>
  8710.             <imagestyle name="theme3">
  8711.                 <color_rect color="0xFFCBFF66" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8712.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8713.             </imagestyle>
  8714.             <imagestyle name="theme4">
  8715.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8716.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8717.             </imagestyle>
  8718.             <imagestyle name="theme5">
  8719.                 <color_rect color="0xFFBBBBBB" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8720.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8721.             </imagestyle>
  8722.             <imagestyle name="theme6">
  8723.                 <color_rect color="0xFF00CCFF" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8724.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8725.             </imagestyle>
  8726.             <imagestyle name="theme7">
  8727.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8728.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8729.             </imagestyle>
  8730.             <imagestyle name="theme8">
  8731.                 <color_rect color="0xFF00B200" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8732.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8733.             </imagestyle>
  8734.             <imagestyle name="theme9">
  8735.                 <color_rect color="0xFF588FBA" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8736.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8737.             </imagestyle>
  8738.             <imagestyle name="theme10">
  8739.                 <color_rect color="theme10_color2" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  8740.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8741.             </imagestyle>
  8742.             <script name="OnInit"> 
  8743.                 SetText(:language.Translate("topmenu/view.setup"));
  8744.             </script>
  8745.         </window> <!-- title_window -->
  8746.  
  8747.         <window name="status_display_window" type="Sonique2_StatusBar"  transparent="true" shape="my_shape"
  8748.                     alignment="0,1,1,1" 
  8749.                     offset="20,-26,-191,-10" >
  8750.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  8751.             <imagestyle name="background">
  8752.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  8753.                 <color_rect color="color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8754.             </imagestyle>
  8755.             <imagestyle name="theme1">
  8756.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  8757.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8758.             </imagestyle>
  8759.             <imagestyle name="theme2">
  8760.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  8761.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8762.             </imagestyle>
  8763.             <imagestyle name="theme3">
  8764.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  8765.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8766.             </imagestyle>
  8767.             <imagestyle name="theme4">
  8768.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  8769.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8770.             </imagestyle>
  8771.             <imagestyle name="theme5">
  8772.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  8773.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8774.             </imagestyle>
  8775.             <imagestyle name="theme6">
  8776.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  8777.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8778.             </imagestyle>
  8779.             <imagestyle name="theme7">
  8780.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  8781.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8782.             </imagestyle>
  8783.             <imagestyle name="theme8">
  8784.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  8785.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8786.             </imagestyle>
  8787.             <imagestyle name="theme9">
  8788.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  8789.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8790.             </imagestyle>
  8791.             <imagestyle name="theme10">
  8792.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  8793.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  8794.             </imagestyle>
  8795.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  8796.                     rect_status_offset= "7,1,-7,-1" rect_progress_offset="7,1,-7,-1"
  8797.                     info_font_color="color3" info_font_style="my_font_10" info_font_justification="left|v_center|single_line_only"
  8798.                     error_font_color="color1" error_font_style="my_font_10" error_font_justification="left|v_center|single_line_only"
  8799.                     warning_font_color="color1" warning_font_style="my_font_10" warning_font_justification="left|v_center|single_line_only"
  8800.                     fallback_font_color="color3" fallback_font_style="my_font_10" fallback_font_justification="left|v_center|single_line_only" 
  8801.             />
  8802.             <script name="OnInit"> 
  8803.                 :sonique.LocalStatus("", "fallback", this); 
  8804.             </script>
  8805.         </window> <!--  status_display_window -->
  8806.  
  8807.         <window name="window_controls_window" transparent="true">
  8808.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8809.                 <property hover="true" />
  8810.                 <shape name="my_shape"><shape_raster source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8811.                 <imagestyle name="state0">
  8812.                     <raster state="hit,hover" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  8813.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8814.                     <raster state="normal" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  8815.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8816.                 </imagestyle> 
  8817.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.help")); // todo pl </script>
  8818.                 <script name="OnClick">  :sonique.LaunchHelp(); </script>
  8819.             </window>
  8820.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8821.                 <property hover="true" />
  8822.                 <shape name="my_shape"><shape_raster source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8823.                 <imagestyle name="state0">
  8824.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8825.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8826.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8827.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8828.                 </imagestyle> 
  8829.                 <imagestyle name="state1">
  8830.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8831.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8832.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  8833.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8834.                 </imagestyle> 
  8835.                 <script name="OnInit">
  8836.                     $topstate = parent.parent.GetAlwaysOnTop();
  8837.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  8838.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  8839.                 </script>
  8840.                 <script name="OnClick"> 
  8841.                     $topstate = parent.parent.GetAlwaysOnTop();
  8842.                     if ($topstate == true) {
  8843.                         parent.parent.SetAlwaysOnTop(0);
  8844.                         SetButtonState(0);
  8845.                     } else {    
  8846.                         parent.parent.SetAlwaysOnTop(1);
  8847.                         SetButtonState(1);                        
  8848.                     }
  8849.                 </script>
  8850.                 <script name="UpdateAlwaysOnTopState">
  8851.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  8852.                 </script>
  8853.             </window>
  8854.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8855.                 <property hover="true" />
  8856.                 <shape name="my_shape"><shape_raster source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8857.                 <imagestyle name="state0">
  8858.                     <raster state="hit,hover" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  8859.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8860.                     <raster state="normal" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  8861.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8862.                 </imagestyle> 
  8863.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  8864.                 <script name="OnClick"> parent.parent.MinimizeWindow(true); </script>
  8865.             </window>
  8866.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  8867.                 <property hover="true" />
  8868.                 <shape name="my_shape"><shape_raster source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  8869.                 <imagestyle name="state0">
  8870.                     <raster state="hit,hover" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  8871.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  8872.                     <raster state="normal" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  8873.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  8874.                 </imagestyle> 
  8875.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin")); </script>
  8876.                 <script name="OnClick"> 
  8877.                     parent.parent.DestroyWindow();
  8878.                 </script>
  8879.             </window>
  8880.         </window> <!-- window_controls_window --> 
  8881.  
  8882.         <window name="playbar_controls_window" transparent="true">
  8883.             <imagestyle name="background">
  8884.                 <raster opacity="0.75" source="popup.psd|control_circles" offset="popup.psd|control_circles @ popup.psd|chassis" alignment="1,1,1,1" blendmode="ps_normal" />
  8885.             </imagestyle> 
  8886.             <window name="prev_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8887.                     offset="popup.psd|prev_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8888.                 <property hover="true" />
  8889.                 <imagestyle name="state0">
  8890.                     <raster state="hit,hover" source="popup.psd|prev_button" blendmode="ps_normal" opacity="0.75" />
  8891.                     <raster state="normal" source="popup.psd|prev_button" blendmode="ps_normal" opacity="1.0" />
  8892.                 </imagestyle> 
  8893.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  8894.                 <script name="OnClick"> :sonique.players.default.Prev();</script>
  8895.             </window>
  8896.             <window name="playpause_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8897.                     offset="popup.psd|pause_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8898.                 <property hover="true" />
  8899.                 <imagestyle name="state0">
  8900.                     <raster state="hover" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  8901.                     <raster state="normal" source="popup.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  8902.  
  8903.                     <raster state="hit" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />                    
  8904.                 </imagestyle> 
  8905.                 <imagestyle name="state1">
  8906.                     <raster state="hover" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  8907.                     <raster state="normal" source="popup.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  8908.  
  8909.                     <raster state="hit" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  8910.                 </imagestyle> 
  8911.                 <script name="OnInit">
  8912.                     :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  8913.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  8914.                     :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  8915.                     UpdateState();
  8916.                 </script>
  8917.                 <script name="OnDestroy">
  8918.                     :sonique.players.default.UnregisterCallback("Playing", this);
  8919.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  8920.                     :sonique.players.default.UnregisterCallback("Pausing", this);
  8921.                 </script>
  8922.                 <script name="OnClick"> 
  8923.                     if (:sonique.players.default.IsPlaying()) {
  8924.                         :sonique.players.default.TogglePause(); 
  8925.                     } else { 
  8926.                         :sonique.players.default.Play(); 
  8927.                     } 
  8928.                     UpdateState();
  8929.                 </script>
  8930.                 <script name="UpdateState">
  8931.                     if (:sonique.players.default.IsPlaying()) {
  8932.                         if (:sonique.players.default.IsPaused()) {
  8933.                             SetButtonState(0);
  8934.                             SetHoverHint(:language.Translate("general/hint.play")); 
  8935.                         } else {
  8936.                             SetButtonState(1);
  8937.                             SetHoverHint(:language.Translate("general/hint.pause")); 
  8938.                         }
  8939.                     } else { 
  8940.                         SetButtonState(0);
  8941.                         SetHoverHint(:language.Translate("general/hint.play")); 
  8942.                     } 
  8943.                 </script>
  8944.             </window>
  8945.             <window name="stop_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8946.                 offset="popup.psd|stop_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8947.                 <property hover="true" />
  8948.                 <imagestyle name="state0">
  8949.                     <raster state="hit,hover" source="popup.psd|stop_button" blendmode="ps_normal" opacity="0.75" />
  8950.                     <raster state="normal" source="popup.psd|stop_button" blendmode="ps_normal" opacity="1.0" />
  8951.                 </imagestyle> 
  8952.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  8953.                 <script name="OnClick"> :sonique.players.default.Stop(); </script>
  8954.             </window>
  8955.             <window name="next_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  8956.                     offset="popup.psd|next_button @ popup.psd|chassis" alignment="1,1,1,1" >
  8957.                 <property hover="true" />
  8958.                 <imagestyle name="state0">
  8959.                     <raster state="hit,hover" source="popup.psd|next_button" blendmode="ps_normal" opacity="0.75" />
  8960.                     <raster state="normal" source="popup.psd|next_button" blendmode="ps_normal" opacity="1.0" />
  8961.                 </imagestyle> 
  8962.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  8963.                 <script name="OnClick"> :sonique.players.default.Next();</script>
  8964.             </window>
  8965.         </window> <!-- playbar_controls_window -->
  8966.  
  8967.         <window name="main" transparent="true" offset="25,35,-20,-35" alignment="0,0,1,1" >
  8968.             <window name="app_settings_tab_window" shape="MyShape" type="button" transparent="true"  alignment="0,0,0,0" offset="26,2,171,21" hitstyle="ACTIVE">
  8969.                 <property    hover="true" default_delay = "150" font_color= "color3" font_style = "my_font_10" />
  8970.                 <shape name="MyShape"><shape_roundrect corner_size="4,4" />    </shape>
  8971.                 <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8972.                 <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8973.                 <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8974.                 <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8975.                 <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8976.                 <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8977.                 <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8978.                 <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8979.                 <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8980.                 <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8981.                 <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8982.                 <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8983.                 <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8984.                 <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8985.                 <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8986.                 <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8987.                 <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8988.                 <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8989.                 <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8990.                 <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8991.                 <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  8992.                 <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  8993.                 <script name="OnInit">
  8994.                     SetButtonState(1);
  8995.                     SetText("Sonique");
  8996.                     SetHoverHint(:language.Translate("defaultskin/hint.appsettings"));
  8997.                 </script>
  8998.                 <script name="OnClick">
  8999.                     SetButtonState(1);
  9000.                     skin_settings_tab_window.SetButtonState(0);
  9001.                     tabs_foreground_window.SetImageStyle("background", "left_tab_selected");
  9002.                     skin_settings_window.Hide();
  9003.                     settings_window.Show();
  9004.                 </script>
  9005.             </window>
  9006.             <window name="skin_settings_tab_window" shape="MyShape" type="button" transparent="true" alignment="0,0,0,0" 
  9007.                     offset="180,2,325,21" hitstyle="ACTIVE">
  9008.                 <property    hover="true" default_delay = "150" font_color= "color3" font_style = "my_font_10" />
  9009.                 <shape name="MyShape"><shape_roundrect corner_size="4,4" /></shape>
  9010.                 <imagestyle name="state0"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9011.                 <imagestyle name="state1"><color_rect filled="true" cornerradius="4.0"  color="color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9012.                 <imagestyle name="theme1_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9013.                 <imagestyle name="theme1_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF99EE00" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9014.                 <imagestyle name="theme2_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9015.                 <imagestyle name="theme2_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFB83F3F" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9016.                 <imagestyle name="theme3_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9017.                 <imagestyle name="theme3_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFCBFF66" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9018.                 <imagestyle name="theme4_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9019.                 <imagestyle name="theme4_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9020.                 <imagestyle name="theme5_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9021.                 <imagestyle name="theme5_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9022.                 <imagestyle name="theme6_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9023.                 <imagestyle name="theme6_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00CCFF" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9024.                 <imagestyle name="theme7_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9025.                 <imagestyle name="theme7_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFFFF0000" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9026.                 <imagestyle name="theme8_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9027.                 <imagestyle name="theme8_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF00B200" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9028.                 <imagestyle name="theme9_state0"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9029.                 <imagestyle name="theme9_state1"><color_rect filled="true" cornerradius="4.0"  color="0xFF588FBA" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9030.                 <imagestyle name="theme10_state0"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9031.                 <imagestyle name="theme10_state1"><color_rect filled="true" cornerradius="4.0"  color="theme10_color2" blendmode="ps_normal" opacity="0.1" /></imagestyle>
  9032.                 <script name="OnInit">
  9033.                     SetText(:language.Translate("defaultskin/label.skinsettings"));
  9034.                     SetHoverHint(:language.Translate("defaultskin/hint.skinsettings"));
  9035.                 </script>
  9036.                 <script name="OnClick">
  9037.                     SetButtonState(1);
  9038.                     app_settings_tab_window.SetButtonState(0);
  9039.                     tabs_foreground_window.SetImageStyle("background", "right_tab_selected");
  9040.                     settings_window.Hide();
  9041.                     skin_settings_window.Show();
  9042.                 </script>
  9043.             </window>
  9044.             <window name="tabs_foreground_window" alignment="0,0,1,0" offset="0,0,0,34" transparent="true">
  9045.                 <imagestyle name="background" transparent="true" >
  9046.                     <raster source="grayscale.psd|tabs_front_left" blendmode="ps_normal" opacity="1.0" />
  9047.                 </imagestyle>
  9048.                 <imagestyle name="right_tab_selected" transparent="true" >
  9049.                     <raster source="grayscale.psd|tabs_front_right" blendmode="ps_normal" opacity="1.0" />
  9050.                 </imagestyle>
  9051.                 <imagestyle name="left_tab_selected" transparent="true" >
  9052.                     <raster source="grayscale.psd|tabs_front_left" blendmode="ps_normal" opacity="1.0" />
  9053.                 </imagestyle>
  9054.                 
  9055.             </window>
  9056.             <window name="settings_window" type="Sonique2_Settings" transparent="true" alignment="0,0,1,1" offset="0,33,0,0">
  9057.                 <imagestyle name="background" transparent="true" ><color_rect color="color3"/></imagestyle>
  9058.             </window>
  9059.             <window name="skin_settings_window" type="textdisplay" hidden="true" transparent="true" alignment="0,0,1,1" offset="0,33,0,0">
  9060.                 <imagestyle name="background" transparent="true" ><color_rect color="color3"/></imagestyle>
  9061.                 <script name="SelectTheme">
  9062.                     if (theme == "1") {
  9063.                         theme_highlight.SetOffset({17,27,42,98},0,500,"linear_accel");
  9064.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Mamboreta");
  9065.                     }
  9066.                     if (theme == "2") {
  9067.                         theme_highlight.SetOffset({57,27,82,98},0,500,"linear_accel");
  9068.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Earth");
  9069.                     }
  9070.                     if (theme == "3") {
  9071.                         theme_highlight.SetOffset({97,27,122,98},0,500,"linear_accel");
  9072.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Sea");
  9073.                     }
  9074.                     if (theme == "4") {
  9075.                         theme_highlight.SetOffset({137,27,162,98},0,500,"linear_accel");
  9076.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Metropolitan");
  9077.                     }
  9078.                     if (theme == "5") {
  9079.                         theme_highlight.SetOffset({177,27,202,98},0,500,"linear_accel");
  9080.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Absence");
  9081.                     }
  9082.                     if (theme == "6") {
  9083.                         theme_highlight.SetOffset({17,107,42,178},0,500,"linear_accel");
  9084.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Lagoon");
  9085.                     }
  9086.                     if (theme == "7") {
  9087.                         theme_highlight.SetOffset({57,107,82,178},0,500,"linear_accel");
  9088.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "red");
  9089.                     }
  9090.                     if (theme == "8") {
  9091.                         theme_highlight.SetOffset({97,107,122,178},0,500,"linear_accel");
  9092.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Grass");
  9093.                     }
  9094.                     if (theme == "9") {
  9095.                         theme_highlight.SetOffset({137,107,162,178},0,500,"linear_accel");
  9096.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Metal");
  9097.                     }
  9098.                     if (theme == "10") {
  9099.                         theme_highlight.SetOffset({177,107,202,178},0,500,"linear_accel");
  9100.                         current_label_window.SetText(:language.Translate("defaultskin/label.currenttheme") | "Desert");
  9101.                     }
  9102.                     :sonique.prefs.SetString("misc", "theme", theme);
  9103.                     SetTheme();
  9104.                     if(careful){
  9105.                         foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  9106.                             if ($window.Name() == "main")    {
  9107.                                 $window.theme = theme;
  9108.                                 $window.main_settings_window.skin_settings_window.SelectTheme();
  9109.                             }
  9110.                         }
  9111.                     }
  9112.                     careful=1;
  9113.                 </script>
  9114.                 <window name="themes_label_window" type="textdisplay" alignment="0,0,1,0" offset="5,5,-5,20" transparent="true">
  9115.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  9116.                     <script name="OnInit"> SetText(:language.Translate("defaultskin/label.choosetheme")); </script>
  9117.                 </window>
  9118.                 <window name="theme_1_button" type="button" alignment="0,0,0,0" offset="20,30,40,95" hitstyle="ACTIVE">
  9119.                     <imagestyle name="background" >
  9120.                         <color_fill color="0xFF303030" />
  9121.                         <color_fill color="0xFF99EE00" opacity="0.45"  />
  9122.                     </imagestyle>
  9123.                     <script name="OnInit">SetHoverHint("Mamboreta");</script>
  9124.                     <script name="OnClick">theme=1; SelectTheme();</script>
  9125.                 </window>
  9126.                 <window name="theme_2_button" type="button" alignment="0,0,0,0" offset="60,30,80,95" hitstyle="ACTIVE">
  9127.                     <imagestyle name="background" transparent="true" >
  9128.                         <color_fill color="0xFFFF9900" />
  9129.                         <color_fill color="0xFFB83F3F" opacity="0.45" />
  9130.                     </imagestyle>
  9131.                     <script name="OnInit">SetHoverHint("Earth");</script>
  9132.                     <script name="OnClick">theme=2; SelectTheme();</script>
  9133.                 </window>
  9134.                 <window name="theme_3_button" type="button" alignment="0,0,0,0" offset="100,30,120,95" hitstyle="ACTIVE">
  9135.                     <imagestyle name="background" transparent="true" >
  9136.                         <color_fill color="0xFF28497F"/>
  9137.                         <color_fill color="0xFFCBFF66" opacity="0.45" />
  9138.                     </imagestyle>
  9139.                     <script name="OnInit">SetHoverHint("Sea");</script>
  9140.                     <script name="OnClick">theme=3; SelectTheme();</script>
  9141.                 </window>
  9142.                 <window name="theme_4_button" type="button" alignment="0,0,0,0" offset="140,30,160,95" hitstyle="ACTIVE">
  9143.                     <imagestyle name="background" transparent="true" >
  9144.                         <color_fill color="0xFF000000"/>
  9145.                         <color_fill color="0xFFFF0000" opacity="0.45" />
  9146.                     </imagestyle>
  9147.                     <script name="OnInit">SetHoverHint("Metropolitan");</script>
  9148.                     <script name="OnClick">theme=4; SelectTheme();</script>
  9149.                 </window>
  9150.                 <window name="theme_5_button" type="button" alignment="0,0,0,0" offset="180,30,200,95" hitstyle="ACTIVE">
  9151.                     <imagestyle name="background" transparent="true" >
  9152.                         <color_fill color="0xFF888888"/>
  9153.                         <color_fill color="0xFFBBBBBB" opacity="0.45" />
  9154.                     </imagestyle>
  9155.                     <script name="OnInit">SetHoverHint("Absence");</script>
  9156.                     <script name="OnClick">theme=5; SelectTheme();</script>
  9157.                 </window>
  9158.                 <window name="theme_6_button" type="button" alignment="0,0,0,0" offset="20,110,40,175" hitstyle="ACTIVE">
  9159.                     <imagestyle name="background" transparent="true" >
  9160.                         <color_fill color="0xFF303030"/>
  9161.                         <color_fill color="0xFF00CCFF" opacity="0.45" />
  9162.                     </imagestyle>
  9163.                     <script name="OnInit">SetHoverHint("Lagoon");</script>
  9164.                     <script name="OnClick">theme=6; SelectTheme();</script>
  9165.                 </window>
  9166.                 <window name="theme_7_button" type="button" alignment="0,0,0,0" offset="60,110,80,175" hitstyle="ACTIVE">
  9167.                     <imagestyle name="background" transparent="true" >
  9168.                         <color_fill color="0xFF606060"/>
  9169.                         <color_fill color="0xFFFF0000" opacity="0.45" />
  9170.                     </imagestyle>
  9171.                     <script name="OnInit">SetHoverHint("red");</script>
  9172.                     <script name="OnClick">theme=7; SelectTheme();</script>
  9173.                 </window>
  9174.                 <window name="theme_8_button" type="button" alignment="0,0,0,0" offset="100,110,120,175" hitstyle="ACTIVE">
  9175.                     <imagestyle name="background" transparent="true" >
  9176.                         <color_fill color="0xFF143B14"/>
  9177.                         <color_fill color="0xFF00B200" opacity="0.45" />
  9178.                     </imagestyle>
  9179.                     <script name="OnInit">SetHoverHint("Grass");</script>
  9180.                     <script name="OnClick">theme=8; SelectTheme();</script>
  9181.                 </window>
  9182.                 <window name="theme_9_button" type="button" alignment="0,0,0,0" offset="140,110,160,175" hitstyle="ACTIVE">
  9183.                     <imagestyle name="background" transparent="true" >
  9184.                         <color_fill color="0xFF303030"/>
  9185.                         <color_fill color="0xFF588FBA" opacity="0.45" />
  9186.                     </imagestyle>
  9187.                     <script name="OnInit">SetHoverHint("Metal");</script>
  9188.                     <script name="OnClick">theme=9; SelectTheme();</script>
  9189.                 </window>
  9190.                 <window name="theme_10_button" type="button" alignment="0,0,0,0" offset="180,110,200,175" hitstyle="ACTIVE">
  9191.                     <imagestyle name="background" transparent="true" >
  9192.                         <color_fill color="theme10_color1"/>
  9193.                         <color_fill color="theme10_color2" opacity="0.45" />
  9194.                     </imagestyle>
  9195.                     <script name="OnInit">SetHoverHint("Desert");</script>
  9196.                     <script name="OnClick">theme=10; SelectTheme();</script>
  9197.                 </window>
  9198.                 <window name="theme_highlight" alignment="0,0,0,0" offset="17,27,42,98" hitstyle="none" transparent="true">
  9199.                     <imagestyle name="background" transparent="true" >
  9200.                         <color_rect color="color3" cornerradius="3.0" />
  9201.                     </imagestyle>
  9202.                 </window>
  9203.  
  9204.                 <window name="current_label_window" type="textdisplay" alignment="0,0,1,0" offset="5,190,-5,200" transparent="true">
  9205.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  9206.                 </window>
  9207.  
  9208.                 <window name="song_popup_button" type="button" alignment="0,0,0,0" offset="20,200,40,220" transparent="true" hitstyle="ACTIVE">
  9209.                     <property hover="true" />
  9210.                     <imagestyle name="state0">
  9211.                         <include source="MML_Mood_DlgCheckBoxState0" />
  9212.                     </imagestyle>
  9213.                     <imagestyle name="state1">
  9214.                         <include source="MML_Mood_DlgCheckBoxState1" />
  9215.                     </imagestyle>
  9216.                     <script name="OnInit">
  9217.                         SetToggle(true);
  9218.                         if(:sonique.InterfacePrefsGetString("song_popup", "enabled")){
  9219.                             SetButtonState(1);
  9220.                         }
  9221.                     </script>
  9222.                     <script name="OnClick">
  9223.                         if(GetButtonState()){
  9224.                             :sonique.InterfacePrefsSetString("song_popup", "enabled", 1);
  9225.                         }
  9226.                         else{
  9227.                             :sonique.InterfacePrefsSetString("song_popup", "enabled", 0);
  9228.                         }    
  9229.                     </script>
  9230.                 </window>
  9231.                 <window name="song_popup_label_window" type="textdisplay" alignment="0,0,0,0" offset="50,200,160,220" transparent="true">
  9232.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  9233.                     <script name="OnInit"> SetText("Song Tooltips"); </script>
  9234.                 </window>
  9235.  
  9236.                 <window name="song_popup_fillbar_label_window" type="textdisplay" alignment="0,0,0,0" offset="40,224,80,234" transparent="true">
  9237.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  9238.                     <script name="OnInit"> SetText("Offset"); </script>
  9239.                 </window>
  9240.                 <window name="song_popup_fillbar" type="fillbar" transparent="true"  hitstyle="ACTIVE" offset="90,224,200,234" alignment="0,0,0,0" >
  9241.                     <property orientation="left_to_right"/>
  9242.                     <imagestyle name="barempty"> <color_fill color="0xFF8080FF" alignment="entire"/> </imagestyle>
  9243.                     <imagestyle name="barfilled"> <color_fill color="0xFF0000FF" alignment="entire"/> </imagestyle>
  9244.                     <script name="OnInit"> 
  9245.                         SetHoverHint("song popup offset");
  9246.                         SetMin(0);
  9247.                         SetMax(400);
  9248.                         UpdateDisplay();
  9249.                     </script>
  9250.                     <script name="OnPosChange">
  9251.                         $offset=GetIntPos();
  9252.                         :sonique.Status("song popup offset  " | $offset);
  9253.                         song_popup_fillbar_number_label_window.SetText($offset);
  9254.                     </script>
  9255.                     <script name="OnPosFinalized">
  9256.                         :sonique.InterfacePrefsSetString("song_popup", "offset", GetIntPos());
  9257.                         $bFound=0;
  9258.                         foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  9259.                             if ($window.Name() =="main")    {
  9260.                                 $window.main_settings_window.skin_settings_window.song_popup_fillbar.UpdateDisplay();
  9261.                             }
  9262.                             if ($window.Name() == "song_popup")    {
  9263.                                 $bFound=1;
  9264.                                 $window.Update();
  9265.                             }
  9266.                         }
  9267.                         if($bFound == 0 and :sonique.InterfacePrefsGetString("song_popup", "enabled")){
  9268.                             :sonique.LaunchLocalWindow("song_popup");
  9269.                         }
  9270.                     </script>
  9271.                     <script name="UpdateDisplay">
  9272.                         $offset=:sonique.InterfacePrefsGetString("song_popup", "offset");
  9273.                         SetIntPos($offset);
  9274.                         song_popup_fillbar_number_label_window.SetText($offset);
  9275.                     </script>
  9276.                 </window>
  9277.                 <window name="song_popup_fillbar_number_label_window" type="textdisplay" alignment="0,0,0,0" offset="210,224,260,234" transparent="true">
  9278.                     <property font_style="my_font_8" font_color="color3" font_justification="left|v_center" />
  9279.                 </window>
  9280.             </window>
  9281.         </window>
  9282.     </window>
  9283.  
  9284. <!-- vis -->
  9285.  
  9286.     <window name="vis_popup" hitstyle="frame_hitstyle" shape="popup_chassis_shape" transparent="false" default_size="485,365" min_size="400,200">
  9287.  
  9288.         <imagestyle name="background">
  9289.             <raster
  9290.                 source        ="popup.psd|chassis"
  9291.                 offset        ="0,0,0,0"
  9292.                 alignment    ="0,0,1,1"
  9293.                 blendmode    ="ps_normal" 
  9294.                 fillmode    ="resize" opacity="1"
  9295.                 inner_rect    ="40,45,100,100"
  9296.                 outer_rect    ="popup.psd|chassis"
  9297.             />
  9298.         </imagestyle>
  9299.  
  9300.         <hitstyle name="frame_hitstyle" default_hitcode="DRAG" >
  9301.             <hitcode type="LEFT">
  9302.                 <shape>
  9303.                     <shape_rect alignment="0,0,0,1" offset="0,0,5,0" />
  9304.                 </shape>
  9305.             </hitcode>
  9306.             <hitcode type="BOTTOM">
  9307.                 <shape>
  9308.                     <shape_rect alignment="0,1,1,1" offset="0,-5,0,0" />
  9309.                 </shape>
  9310.             </hitcode>
  9311.             <hitcode type="TOP">
  9312.                 <shape>
  9313.                     <shape_rect alignment="0,0,1,0" offset="0,0,0,5" />
  9314.                 </shape>
  9315.             </hitcode>
  9316.             <hitcode type="RIGHT">
  9317.                 <shape>
  9318.                     <shape_rect alignment="1,0,1,1" offset="-5,0,0,0" />
  9319.                 </shape>
  9320.             </hitcode>
  9321.             <hitcode type="BOTTOMRIGHT">
  9322.                 <shape>
  9323.                     <shape_rect alignment="1,1,1,1" offset="-20,-20,0,0" />
  9324.                 </shape>
  9325.             </hitcode>
  9326.         </hitstyle>
  9327.  
  9328.         <!-- monitor dock points -->
  9329.         <dock_point type="slave" name="MonitorUL" alignment="0,0,0,0" /> 
  9330.         <dock_point type="slave" name="MonitorTC" alignment="0.5,0,0.5,0" />         
  9331.         <dock_point type="slave" name="MonitorUR" alignment="1,0,1,0" /> 
  9332.         <dock_point type="slave" name="MonitorLL" alignment="0,1,0,1" /> 
  9333.         <dock_point type="slave" name="MonitorBC" alignment="0.5,1,0.5,1" />         
  9334.         <dock_point type="slave" name="MonitorLR" alignment="1,1,1,1" /> 
  9335.         <dock_point type="slave" name="MonitorRC" alignment="1,0.5,1,0.5" />         
  9336.         <dock_point type="slave" name="MonitorLC" alignment="0,0.5,0,0.5" />         
  9337.  
  9338.         <!-- master dock points -->
  9339.         <dock_point type="master" name="Popup_UL" alignment="0,0,0,0" /> 
  9340.         <dock_point type="master" name="Popup_TC" alignment="0.5,0,0.5,0" /> 
  9341.         <dock_point type="master" name="Popup_UR" alignment="1,0,1,0" /> 
  9342.         <dock_point type="master" name="Popup_LL" alignment="0,1,0,1" /> 
  9343.         <dock_point type="master" name="Popup_BC" alignment="0.5,1,0.5,1" /> 
  9344.         <dock_point type="master" name="Popup_LR" alignment="1,1,1,1" /> 
  9345.         <dock_point type="master" name="Popup_RC" alignment="1,0.5,1,0.5" />
  9346.         <dock_point type="master" name="Popup_LC" alignment="0,0.5,0,0.5" />
  9347.  
  9348.         <!-- slave to other popups -->
  9349.         <dock_point type="slave" name="Popup_UL" alignment="1,0,1,0" /> 
  9350.         <dock_point type="slave" name="Popup_UL" alignment="0,1,0,1" /> 
  9351.         <dock_point type="slave" name="Popup_UR" alignment="0,0,0,0" /> 
  9352.         <dock_point type="slave" name="Popup_UR" alignment="1,1,1,1" /> 
  9353.         <dock_point type="slave" name="Popup_LL" alignment="0,0,0,0" /> 
  9354.         <dock_point type="slave" name="Popup_LL" alignment="1,1,1,1" /> 
  9355.         <dock_point type="slave" name="Popup_LR" alignment="0,1,0,1" /> 
  9356.         <dock_point type="slave" name="Popup_LR" alignment="1,0,1,0" /> 
  9357.  
  9358.         <!-- slave to the main window -->
  9359.         <dock_point type="slave" name="Main_UL" alignment="1,0,1,0" /> 
  9360.         <dock_point type="slave" name="Main_UL" alignment="0,1,0,1" /> 
  9361.         <dock_point type="slave" name="Main_UR" alignment="0,0,0,0" /> 
  9362.         <dock_point type="slave" name="Main_UR" alignment="1,1,1,1" /> 
  9363.         <dock_point type="slave" name="Main_LL" alignment="0,0,0,0" /> 
  9364.         <dock_point type="slave" name="Main_LL" alignment="1,1,1,1" /> 
  9365.         <dock_point type="slave" name="Main_LR" alignment="0,1,0,1" /> 
  9366.         <dock_point type="slave" name="Main_LR" alignment="1,0,1,0" /> 
  9367.  
  9368.         <script name="OnInit">
  9369.             rightQuadReady = 1;
  9370.  
  9371.             // todo deal with FPS better - user settings
  9372.             SetDesiredFPS(45);
  9373.             SetWindowTitle(:language.Translate("topmenu/view.visuals"),true);
  9374.             StartIntro();
  9375.  
  9376.             :sonique.InterfacePrefsCreateSection("vis_popup");
  9377.             $size = :sonique.InterfacePrefsGetStringArray("vis_popup", "size");
  9378.             if ($size.IsArray() == true) { 
  9379.                 if ( ($size[0] gt 0) and ($size[1] gt 0) ){
  9380.                 // todo - fix bug where if SetSize comes to early, the OS window shape sometimes isn't updated.  grrr...
  9381.                     SetSize($size, 0, 0, "linear_accel"); 
  9382.                 }
  9383.             }
  9384.             $location = :sonique.InterfacePrefsGetStringArray("vis_popup", "location");
  9385.             if ($location.IsArray())    { 
  9386.                 $dim = :app.GetScreenDimensions();
  9387.                 if ( ($location[0] gte $dim[0]["left"]) and ($location[1] gte $dim[0]["top"]) ) {
  9388.                     if ( ($location[0] lt $dim[0]["right"]) and ($location[1] lt $dim[0]["bottom"]) ) {
  9389.                         SetLocation($location); 
  9390.                     }
  9391.                 }
  9392.             }
  9393.             if( :sonique.InterfacePrefsGetString("vis_popup", "alwaysontop") ) { SetAlwaysOnTop( 1 ); } 
  9394.             else { SetAlwaysOnTop( 0 ); }
  9395.             // hotkeys
  9396.             $section = "sonique/gui/slate/hotkeys";
  9397.             :sonique.prefs.CreateSection($section);
  9398.             alwaysontop = :sonique.prefs.GetString($section, "alwaysontop"); 
  9399.             if (alwaysontop) { :app.RegisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  9400.             
  9401.             theme = :sonique.prefs.GetString("misc", "theme");
  9402.             SetTheme();
  9403.         </script>
  9404.         <script name="OnDestroy">
  9405.             $size = GetSize();
  9406.             :sonique.InterfacePrefsSetStringArray("vis_popup", "size", $size);
  9407.             $location = GetLocation();
  9408.             :sonique.InterfacePrefsSetStringArray("vis_popup", "location", $location );
  9409.             :sonique.InterfacePrefsSetString("vis_popup", "alwaysontop", GetAlwaysOnTop());
  9410.             // hotkeys
  9411.             if (alwaysontop) { :app.UnregisterWindowKeyScript( alwaysontop, "SetAlwaysOnTop(!GetAlwaysOnTop());", this ); }
  9412.         </script>
  9413.         <script name="OnAlwaysOnTopChange"> 
  9414.             window_controls_window.always_on_top_button_window.UpdateAlwaysOnTopState($params[0]); 
  9415.         </script>
  9416.         <script name="OnActivate">
  9417.             background_window.left_quadrant_window.SetOffset({12,32,20,-110},0,1000,"linear_decel");
  9418.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  9419.             window_controls_window.help_button_window.SetOpacity(1.0);
  9420.             window_controls_window.always_on_top_button_window.SetOpacity(1.0);
  9421.             window_controls_window.minimize_button_window.SetOpacity(1.0);
  9422.             window_controls_window.close_button_window.SetOpacity(1.0);
  9423.         </script>
  9424.         <script name="OnDeactivate">
  9425.             background_window.left_quadrant_window.SetOffset({12,1112,20,20},0,1000,"linear_accel" );
  9426.             if (rightQuadReady == 1) { background_window.right_quadrant_window.MoveSomething(1000); }
  9427.             window_controls_window.help_button_window.SetOpacity(0.5);
  9428.             window_controls_window.always_on_top_button_window.SetOpacity(0.5);
  9429.             window_controls_window.minimize_button_window.SetOpacity(0.5);
  9430.             window_controls_window.close_button_window.SetOpacity(0.5);
  9431.         </script>
  9432.         <script name="AttachWindow">
  9433.             // find main and tell it to show me
  9434.             $bFound = false;
  9435.             foreach ($window in :app.interfaces["teamsonique/default_interface/Sonique2Default"].windows ) {
  9436.                 if ($window.Name() == "main")    {
  9437.                     $bFound = true;
  9438.                     $window.AttachPopup(Name());
  9439.                 }
  9440.             }
  9441.             if ($bFound == false) {
  9442.                 // launch main and try it again.
  9443.                 :sonique.InterfacePrefsSetString("main", "currentwindow", "main_vis_window");
  9444.                 :sonique.LaunchAppWindow("Default Skin");
  9445.             }
  9446.             // close me
  9447.             DestroyWindow();
  9448.         </script>
  9449.         <script name="SetTheme">
  9450.             // all popups need these:
  9451.             SetMenuProperty("theme" | theme | "_popupmenu");
  9452.             background_window.SetImageStyle("background","theme" | theme);
  9453.             title_window.SetImageStyle("background","theme" | theme);
  9454.             status_display_window.SetImageStyle("background","theme" | theme);
  9455.  
  9456.             main_vis_window.vis_info_container.visual_info_window.SetImageStyle("background","theme" | theme);
  9457.         </script>
  9458.  
  9459.         <window name="background_window" transparent="true" shape="background_shape" _hitstyle="DRAG">
  9460.             <shape name="background_shape">
  9461.                 <shape_raster
  9462.                     fillmode    ="resize"
  9463.                     alignment    ="0,0,1,1"
  9464.                     source        ="popup.psd|backgound_color_region" 
  9465.                     source_offset    ="popup.psd|backgound_color_region @ popup.psd|chassis" 
  9466.                     inner_rect    ="40,45,100,100"
  9467.                     outer_rect    ="popup.psd|chassis"
  9468.                 />
  9469.             </shape>
  9470.             <imagestyle name="background"><color_fill color="color1" alignment="0,0,1,1"/></imagestyle> 
  9471.             <imagestyle name="theme1"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  9472.             <imagestyle name="theme2"><color_fill color="0xFFFF9900" alignment="0,0,1,1"/></imagestyle> 
  9473.             <imagestyle name="theme3"><color_fill color="0xFF28497F" alignment="0,0,1,1"/></imagestyle> 
  9474.             <imagestyle name="theme4"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  9475.             <imagestyle name="theme5"><color_fill color="0xFF888888" alignment="0,0,1,1"/></imagestyle> 
  9476.             <imagestyle name="theme6"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  9477.             <imagestyle name="theme7"><color_fill color="0xFF606060" alignment="0,0,1,1"/></imagestyle> 
  9478.             <imagestyle name="theme8"><color_fill color="0xFF143B14" alignment="0,0,1,1"/></imagestyle> 
  9479.             <imagestyle name="theme9"><color_fill color="0xFF303030" alignment="0,0,1,1"/></imagestyle> 
  9480.             <imagestyle name="theme10"><color_fill color="theme10_color1" alignment="0,0,1,1"/></imagestyle> 
  9481.             <window name="main_background_grid" transparent="true" >
  9482.                 <imagestyle name="background" transparent="true"><raster source="popup.psd|background_tile_grid" opacity="0.1" fillmode="tile" blendmode="ps_normal" /></imagestyle>
  9483.             </window>
  9484.             <window name="display_lines_window" transparent="true" _hitstyle="ACTIVE">
  9485.                 <imagestyle name="background">
  9486.                     <raster source="popup.psd|display_corner_top_left"  offset="popup.psd|display_corner_top_left @ popup.psd|chassis" alignment="0,0,0,0"  blendmode="ps_normal" opacity="0.45" />
  9487.                     <raster source="popup.psd|display_corner_top_right" offset="popup.psd|display_corner_top_right @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  9488.                     <raster source="popup.psd|display_corner_bottom_right" offset="popup.psd|display_corner_bottom_right @ popup.psd|chassis" alignment="1,1,1,1"  blendmode="ps_normal" opacity="0.45" />
  9489.                     <raster source="popup.psd|display_line_over_mini_windows" offset="popup.psd|display_line_over_mini_windows @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  9490.                     <raster source="popup.psd|display_top_line_level_1" offset="popup.psd|display_top_line_level_1 @ popup.psd|chassis" alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.45" />
  9491.                     <raster source = "popup.psd|display_vertical_left_line" offset="popup.psd|display_vertical_left_line @ popup.psd|chassis" alignment="0,1,0,1"  blendmode = "ps_normal" opacity="0.45" />
  9492.  
  9493.                                         
  9494.                     <!-- main left and right vertical lines -->
  9495.                     <color_line color="color3" alignment="0,0,0,1" offset="7,33,7,-116" opacity="0.45" />
  9496.                     <color_line color="color3" alignment="1,0,1,1" offset="-9,41,-9,-36" opacity="0.45" />
  9497.                     <!--top horizontal lines -->
  9498.                     <color_line color="color3" alignment="1,0,1,0" offset="-105,26,-87,26" opacity="0.45" />
  9499.                     <!-- right hand tiny very line-->
  9500.                     <color_line color="color3" alignment="1,0,1,0" offset="-106,21,-106,25" opacity="0.45" />
  9501.                     <!-- lefthand tiny vert line-->
  9502.                     <color_line color="color3" alignment="0,0,0,0" offset="122,17,122,20" opacity="0.45" />
  9503.                     <!-- first long horizontal line -->
  9504.                     <color_line color="color3" alignment="0,0,1,0" offset="90,16,-13,16" opacity="0.45" />
  9505.                     <!-- second long horizontal line -->
  9506.                     <color_line color="color3" alignment="0,0,1,0" offset="123,20,-107,20" opacity="0.45" />
  9507.  
  9508.                     <!-- top_right_lines -->
  9509.                     <color_line color="color3" alignment="1,0,1,0" offset="-248,5,-9,5" opacity="0.45" />
  9510.                     <!-- lower hor. -->
  9511.                     <color_line color="color3" alignment="1,0,1,0" offset="-252,9,-89,9" opacity="0.45" />
  9512.                     <color_line color="color3" alignment="1,0,1,0" offset="-17,9,-10,9" opacity="0.45" />
  9513.                     <!-- righthand mini vert -->
  9514.                     <color_line color="color3" alignment="1,0,1,0" offset="-9,6,-9,9" opacity="0.45" />
  9515.                     <!-- center mini verts -->
  9516.                     <color_line color="color3" alignment="1,0,1,0" offset="-145,6,-145,9" opacity="0.45" />
  9517.                     <color_line color="color3" alignment="1,0,1,0" offset="-173,6,-173,9" opacity="0.45" />
  9518.                     <color_fill color="color3" alignment="1,0,1,0" offset="-123,6,-111,9" opacity="0.45" />
  9519.                     <color_fill color="color3" alignment="1,0,1,0" offset="-101,6,-89,9" opacity="0.45" />
  9520.                     <color_fill color="color3" alignment="1,0,1,0" offset="-208,6,-196,9" opacity="0.45" />
  9521.                     <color_fill color="color3" alignment="1,0,1,0" offset="-230,6,-218,9" opacity="0.45" />
  9522.                     <color_line color="color3" alignment="1,0,1,0" offset="-251,8,-249,6" opacity="0.45" />
  9523.  
  9524.                     <!-- bottom left lines with squares -->
  9525.                     <color_line color="color3" alignment="0,1,0,1" offset="9,-93,,9,-19" opacity="0.45" />
  9526.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-93,12,-93" opacity="0.45" />
  9527.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-74,13,-62" opacity="0.45" />
  9528.                     <color_fill color="color3" alignment="0,1,0,1" offset="10,-52,13,-40" opacity="0.45" />
  9529.                     <color_line color="color3" alignment="0,1,0,1" offset="10,-19,12,-19" opacity="0.45" />
  9530.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-93,13,-19" opacity="0.45" />
  9531.                     <!-- bottom left criss cross -->
  9532.                     <color_line color="color3" alignment="0,1,0,1" offset="5,-15,19,-15" opacity="0.45" />
  9533.                     <color_line color="color3" alignment="0,1,0,1" offset="13,-17,13,-8" opacity="0.45" />
  9534.                     <!-- righthand criss cross lines on bottom -->
  9535.                     <color_line color="color3" alignment="1,1,1,1" offset="-197,-6,-167,-6" opacity="0.45" />
  9536.                     <color_line color="color3" alignment="1,1,1,1" offset="-192,-9,-188,-9" opacity="0.45" />
  9537.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-13,-191,0" opacity="0.45" />
  9538.  
  9539.  
  9540.                     <!-- bottom lines -->
  9541.                     <!-- horizontals -->
  9542.                     <!-- leaving spaces for the playbar controls -->
  9543.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-18,-107,-18" opacity="0.45" />
  9544.                     <color_line color="color3" alignment="1,1,1,1" offset="-95,-18,-90,-18" opacity="0.45" />
  9545.                     <color_line color="color3" alignment="1,1,1,1" offset="-78,-18,-73,-18" opacity="0.45" />
  9546.                     <color_line color="color3" alignment="1,1,1,1" offset="-61,-18,-56,-18" opacity="0.45" />
  9547.                     <color_line color="color3" alignment="1,1,1,1" offset="-44,-18,-29,-18" opacity="0.45" />
  9548.  
  9549.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-14,-130,-14" opacity="0.45" />
  9550.                     <!-- verts -->
  9551.                     <color_line color="color3" alignment="1,1,1,1" offset="-191,-17,-191,-15" opacity="0.45" />
  9552.                     <color_line color="color3" alignment="1,1,1,1" offset="-129,-17,-129,-14" opacity="0.45" />
  9553.                     <!-- rects -->
  9554.                     <color_fill color="color3" alignment="1,1,1,1" offset="-176,-17,-164,-14" opacity="0.45" />
  9555.                     <color_fill color="color3" alignment="1,1,1,1" offset="-154,-17,-142,-14" opacity="0.45" />
  9556.                 </imagestyle>
  9557.             </window> <!-- display_lines_window -->
  9558.  
  9559.             <window name="left_quadrant_window" alignment="0,0,0,1" offset="12,2112,20,20" transparent="true" _hitstyle="ACTIVE">
  9560.                 <imagestyle name="background"> 
  9561.                     <raster source="popup.psd|left_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" />    
  9562.                 </imagestyle>
  9563.                 <script name="OnIntro"> 
  9564.                     SetOffset({12,32,20,-115},0,1000,"linear_decel"); 
  9565.                 </script>
  9566.             </window> 
  9567.             <window name="right_quadrant_window" transparent="true" alignment="1,0,1,1" offset="-95,-200,-87,0" _hitstyle="ACTIVE">
  9568.                 <imagestyle name="background"><raster source="popup.psd|right_quad" fillmode="tile" blendmode="ps_normal" opacity="0.45" /></imagestyle>
  9569.                 <script name="OnInit"> 
  9570.                     position = -1; 
  9571.                 </script>
  9572.                 <script name="OnIntro"> 
  9573.                     OnInit();
  9574.                     MoveSomething(); 
  9575.                 </script>
  9576.                 <script name="MoveSomething">
  9577.                     if ( position == -1 ) {
  9578.                         SetOffset({-95,0,-87,400},0,1000,"linear_decel"); 
  9579.                         position = 1;
  9580.                     } else {
  9581.                         SetOffset({-95,-400,-87,0},0,1000,"linear_decel"); 
  9582.                         position = -1;
  9583.                     }
  9584.                 </script>
  9585.             </window>
  9586.  
  9587.         </window> <!-- background_window -->
  9588.  
  9589.         <window name="title_window" type="textdisplay" transparent="true" shape="my_shape"
  9590.                 alignment="0,0,1,0" offset="22,11,-259,26" >
  9591.             <property font_style="my_font_10" font_color="color3" font_justification="left|v_center|single_line_only|trim_chars_w_ellipses" 
  9592.                     edge_offset_rect="7,1,-7,-1"/>
  9593.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  9594.             <imagestyle name="background">
  9595.                 <color_rect color="color2" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9596.                 <color_rect color="color3" cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9597.             </imagestyle>
  9598.             <imagestyle name="theme1">
  9599.                 <color_rect color="0xFF99EE00" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9600.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9601.             </imagestyle>
  9602.             <imagestyle name="theme2">
  9603.                 <color_rect color="0xFFB83F3F" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9604.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9605.             </imagestyle>
  9606.             <imagestyle name="theme3">
  9607.                 <color_rect color="0xFFCBFF66" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9608.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9609.             </imagestyle>
  9610.             <imagestyle name="theme4">
  9611.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9612.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9613.             </imagestyle>
  9614.             <imagestyle name="theme5">
  9615.                 <color_rect color="0xFFBBBBBB" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9616.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9617.             </imagestyle>
  9618.             <imagestyle name="theme6">
  9619.                 <color_rect color="0xFF00CCFF" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9620.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9621.             </imagestyle>
  9622.             <imagestyle name="theme7">
  9623.                 <color_rect color="0xFFFF0000" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9624.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9625.             </imagestyle>
  9626.             <imagestyle name="theme8">
  9627.                 <color_rect color="0xFF00B200" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9628.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9629.             </imagestyle>
  9630.             <imagestyle name="theme9">
  9631.                 <color_rect color="0xFF588FBA" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9632.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9633.             </imagestyle>
  9634.             <imagestyle name="theme10">
  9635.                 <color_rect color="theme10_color2" filled="true" cornerradius="5.0" blendmode="ps_normal" opacity="0.45" />
  9636.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9637.             </imagestyle>
  9638.             <script name="OnInit"> 
  9639.                 SetText(:language.Translate("topmenu/view.visuals"));
  9640.             </script>
  9641.         </window> <!-- title_window -->
  9642.  
  9643.         <window name="status_display_window" type="Sonique2_StatusBar"  transparent="true" shape="my_shape"
  9644.                     alignment="0,1,1,1" 
  9645.                     offset="20,-26,-191,-10" >
  9646.             <shape name="my_shape"><shape_roundrect corner_size="5,5" /></shape>
  9647.             <imagestyle name="background">
  9648.                 <color_fill color="color2" blendmode="ps_normal" opacity="0.45" />
  9649.                 <color_rect color="color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9650.             </imagestyle>
  9651.             <imagestyle name="theme1">
  9652.                 <color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45" />
  9653.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9654.             </imagestyle>
  9655.             <imagestyle name="theme2">
  9656.                 <color_fill color="0xFFB83F3F" blendmode="ps_normal" opacity="0.45" />
  9657.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9658.             </imagestyle>
  9659.             <imagestyle name="theme3">
  9660.                 <color_fill color="0xFFCBFF66" blendmode="ps_normal" opacity="0.45" />
  9661.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9662.             </imagestyle>
  9663.             <imagestyle name="theme4">
  9664.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  9665.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9666.             </imagestyle>
  9667.             <imagestyle name="theme5">
  9668.                 <color_fill color="0xFFBBBBBB" blendmode="ps_normal" opacity="0.45" />
  9669.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9670.             </imagestyle>
  9671.             <imagestyle name="theme6">
  9672.                 <color_fill color="0xFF00CCFF" blendmode="ps_normal" opacity="0.45" />
  9673.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9674.             </imagestyle>
  9675.             <imagestyle name="theme7">
  9676.                 <color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.45" />
  9677.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9678.             </imagestyle>
  9679.             <imagestyle name="theme8">
  9680.                 <color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.45" />
  9681.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9682.             </imagestyle>
  9683.             <imagestyle name="theme9">
  9684.                 <color_fill color="0xFF588FBA" blendmode="ps_normal" opacity="0.45" />
  9685.                 <color_rect color="0xFFFFFFFF"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9686.             </imagestyle>
  9687.             <imagestyle name="theme10">
  9688.                 <color_fill color="theme10_color2" blendmode="ps_normal" opacity="0.45" />
  9689.                 <color_rect color="theme10_color3"  cornerradius="5.0" blendmode="ps_normal" opacity="0.5"/>
  9690.             </imagestyle>
  9691.             <property scroll_mode="horizontal" scroll_speed="50" whitespace="50"
  9692.                     rect_status_offset= "7,1,-7,-1" rect_progress_offset="7,1,-7,-1"
  9693.                     info_font_color="color3" info_font_style="my_font_10" info_font_justification="left|v_center|single_line_only"
  9694.                     error_font_color="color1" error_font_style="my_font_10" error_font_justification="left|v_center|single_line_only"
  9695.                     warning_font_color="color1" warning_font_style="my_font_10" warning_font_justification="left|v_center|single_line_only"
  9696.                     fallback_font_color="color3" fallback_font_style="my_font_10" fallback_font_justification="left|v_center|single_line_only" 
  9697.             />
  9698.         </window> <!--  status_display_window -->
  9699.  
  9700.         <window name="window_controls_window" transparent="true">
  9701.             <window name="help_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  9702.                 <property hover="true" />
  9703.                 <shape name="my_shape"><shape_raster source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  9704.                 <imagestyle name="state0">
  9705.                     <raster state="hit,hover" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  9706.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  9707.                     <raster state="normal" source="popup.psd|help_button" offset="popup.psd|help_button @ popup.psd|chassis"
  9708.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  9709.                 </imagestyle> 
  9710.                 <script name="OnInit"> SetHoverHint(:language.Translate("general/hint.help")); // todo pl </script>
  9711.                 <script name="OnClick">  :sonique.LaunchHelp(); </script>
  9712.             </window>
  9713.             <window name="always_on_top_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  9714.                 <property hover="true" />
  9715.                 <shape name="my_shape"><shape_raster source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  9716.                 <imagestyle name="state0">
  9717.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  9718.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  9719.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  9720.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  9721.                 </imagestyle> 
  9722.                 <imagestyle name="state1">
  9723.                     <raster state="hit,hover" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  9724.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  9725.                     <raster state="normal" source="popup.psd|always_on_top_button" offset="popup.psd|always_on_top_button @ popup.psd|chassis"
  9726.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  9727.                 </imagestyle> 
  9728.                 <script name="OnInit">
  9729.                     $topstate = parent.parent.GetAlwaysOnTop();
  9730.                     if ($topstate == true) { SetButtonState(1); } else { SetButtonState(0); }
  9731.                     SetHoverHint(:language.Translate("topmenu/file.ontop")); 
  9732.                 </script>
  9733.                 <script name="OnClick"> 
  9734.                     $topstate = parent.parent.GetAlwaysOnTop();
  9735.                     if ($topstate == true) {
  9736.                         parent.parent.SetAlwaysOnTop(0);
  9737.                         SetButtonState(0);
  9738.                     } else {    
  9739.                         parent.parent.SetAlwaysOnTop(1);
  9740.                         SetButtonState(1);                        
  9741.                     }
  9742.                 </script>
  9743.                 <script name="UpdateAlwaysOnTopState">
  9744.                     if ($params[0] == true) { SetButtonState(1); } else { SetButtonState(0); }
  9745.                 </script>
  9746.             </window>
  9747.             <window name="minimize_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  9748.                 <property hover="true" />
  9749.                 <shape name="my_shape"><shape_raster source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  9750.                 <imagestyle name="state0">
  9751.                     <raster state="hit,hover" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  9752.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  9753.                     <raster state="normal" source="popup.psd|minimize_button" offset="popup.psd|minimize_button @ popup.psd|chassis"
  9754.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  9755.                 </imagestyle> 
  9756.                 <script name="OnInit"> SetHoverHint(:language.Translate("topmenu/file.minwin")); </script>
  9757.                 <script name="OnClick"> parent.parent.MinimizeWindow(true); </script>
  9758.             </window>
  9759.             <window name="close_button_window" type="button" shape="my_shape" transparent="true" hitstyle="ACTIVE" >
  9760.                 <property hover="true" />
  9761.                 <shape name="my_shape"><shape_raster source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis" alignment="1,0,1,0" /></shape>
  9762.                 <imagestyle name="state0">
  9763.                     <raster state="hit,hover" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  9764.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="0.75" />
  9765.                     <raster state="normal" source="popup.psd|close_button" offset="popup.psd|close_button @ popup.psd|chassis"
  9766.                         alignment="1,0,1,0"  blendmode="ps_normal" opacity="1.0" />
  9767.                 </imagestyle> 
  9768.                 <script name="OnInit">SetHoverHint(:language.Translate("topmenu/file.closewin")); </script>
  9769.                 <script name="OnClick"> 
  9770.                     parent.parent.DestroyWindow();
  9771.                 </script>
  9772.             </window>
  9773.         </window> <!-- window_controls_window --> 
  9774.  
  9775.         <window name="playbar_controls_window" transparent="true">
  9776.             <imagestyle name="background">
  9777.                 <raster opacity="0.75" source="popup.psd|control_circles" offset="popup.psd|control_circles @ popup.psd|chassis" alignment="1,1,1,1" blendmode="ps_normal" />
  9778.             </imagestyle> 
  9779.             <window name="prev_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  9780.                     offset="popup.psd|prev_button @ popup.psd|chassis" alignment="1,1,1,1" >
  9781.                 <property hover="true" />
  9782.                 <imagestyle name="state0">
  9783.                     <raster state="hit,hover" source="popup.psd|prev_button" blendmode="ps_normal" opacity="0.75" />
  9784.                     <raster state="normal" source="popup.psd|prev_button" blendmode="ps_normal" opacity="1.0" />
  9785.                 </imagestyle> 
  9786.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.prevtrack")); </script>
  9787.                 <script name="OnClick"> :sonique.players.default.Prev();</script>
  9788.             </window>
  9789.             <window name="playpause_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  9790.                     offset="popup.psd|pause_button @ popup.psd|chassis" alignment="1,1,1,1" >
  9791.                 <property hover="true" />
  9792.                 <imagestyle name="state0">
  9793.                     <raster state="hover" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  9794.                     <raster state="normal" source="popup.psd|play_button" blendmode="ps_normal" opacity="1.0" />
  9795.  
  9796.                     <raster state="hit" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />                    
  9797.                 </imagestyle> 
  9798.                 <imagestyle name="state1">
  9799.                     <raster state="hover" source="popup.psd|pause_button" blendmode="ps_normal" opacity="0.75" />
  9800.                     <raster state="normal" source="popup.psd|pause_button" blendmode="ps_normal" opacity="1.0" />
  9801.  
  9802.                     <raster state="hit" source="popup.psd|play_button" blendmode="ps_normal" opacity="0.75" />
  9803.                 </imagestyle> 
  9804.                 <script name="OnInit">
  9805.                     :sonique.players.default.RegisterCallback("Playing","UpdateState()", this);
  9806.                     :sonique.players.default.RegisterCallback("Stopping","UpdateState()", this);
  9807.                     :sonique.players.default.RegisterCallback("Pausing","UpdateState()", this);
  9808.                     UpdateState();
  9809.                 </script>
  9810.                 <script name="OnDestroy">
  9811.                     :sonique.players.default.UnregisterCallback("Playing", this);
  9812.                     :sonique.players.default.UnregisterCallback("Stopping", this);
  9813.                     :sonique.players.default.UnregisterCallback("Pausing", this);
  9814.                 </script>
  9815.                 <script name="OnClick"> 
  9816.                     if (:sonique.players.default.IsPlaying()) {
  9817.                         :sonique.players.default.TogglePause(); 
  9818.                     } else { 
  9819.                         :sonique.players.default.Play(); 
  9820.                     } 
  9821.                     UpdateState();
  9822.                 </script>
  9823.                 <script name="UpdateState">
  9824.                     if (:sonique.players.default.IsPlaying()) {
  9825.                         if (:sonique.players.default.IsPaused()) {
  9826.                             SetButtonState(0);
  9827.                             SetHoverHint(:language.Translate("general/hint.play")); 
  9828.                         } else {
  9829.                             SetButtonState(1);
  9830.                             SetHoverHint(:language.Translate("general/hint.pause")); 
  9831.                         }
  9832.                     } else { 
  9833.                         SetButtonState(0);
  9834.                         SetHoverHint(:language.Translate("general/hint.play")); 
  9835.                     } 
  9836.                 </script>
  9837.             </window>
  9838.             <window name="stop_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  9839.                 offset="popup.psd|stop_button @ popup.psd|chassis" alignment="1,1,1,1" >
  9840.                 <property hover="true" />
  9841.                 <imagestyle name="state0">
  9842.                     <raster state="hit,hover" source="popup.psd|stop_button" blendmode="ps_normal" opacity="0.75" />
  9843.                     <raster state="normal" source="popup.psd|stop_button" blendmode="ps_normal" opacity="1.0" />
  9844.                 </imagestyle> 
  9845.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.stop")); </script>
  9846.                 <script name="OnClick"> :sonique.players.default.Stop(); </script>
  9847.             </window>
  9848.             <window name="next_button_window" type="button" transparent="true" hitstyle="ACTIVE" 
  9849.                     offset="popup.psd|next_button @ popup.psd|chassis" alignment="1,1,1,1" >
  9850.                 <property hover="true" />
  9851.                 <imagestyle name="state0">
  9852.                     <raster state="hit,hover" source="popup.psd|next_button" blendmode="ps_normal" opacity="0.75" />
  9853.                     <raster state="normal" source="popup.psd|next_button" blendmode="ps_normal" opacity="1.0" />
  9854.                 </imagestyle> 
  9855.                 <script name="OnInit">SetHoverHint(:language.Translate("general/hint.nexttrack")); </script>
  9856.                 <script name="OnClick"> :sonique.players.default.Next();</script>
  9857.             </window>
  9858.         </window> <!-- playbar_controls_window -->
  9859.  
  9860.         <window name="main_vis_window" offset="25,35,-30,-35" alignment="0,0,1,1" transparent="true" hitstyle="ACTIVE">
  9861.             <!--
  9862.             <imagestyle name="background" transparent="true" ><color_rect filled="true" cornerradius="4.0" color="color3" opacity="0.3" alignment="0,0,1,1"/></imagestyle>
  9863.             -->
  9864.             <script name="OnMouseOver">vis_info_container.SetOffset({0,0,250,100},0,500,"linear_decel");</script>
  9865.             <script name="OnMouseExit">vis_info_container.SetOffset({-250,0,0,100},0,500,"linear_decel");</script>
  9866.             <window name="vis_window" type="Sonique2_Visual" transparent="false" hitstyle="ACTIVE" >
  9867.                 <imagestyle name="background"><color_fill color="0xFF000000" alignment="0,0,1,1"/></imagestyle> 
  9868.                 <property blendmode="RGB" />
  9869.                 <script name="OnInit">:sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",false);
  9870.                     :sonique.visuals.GroupEnablePostEffect("default","10B82A0E-1B28-4F4E-AF53-145248A73AB5",true);</script>
  9871.                 <script name="OnVisualChanged">vis_info_container.visual_info_window.UpdateBar();</script>
  9872.                 <script name="OnMouseOver">main_vis_window.vis_info_container.SetOffset({0,0,250,100},0,500,"linear_decel");</script>
  9873.                 <script name="OnMouseExit">main_vis_window.vis_info_container.SetOffset({-250,0,0,100},0,500,"linear_decel");</script>
  9874.             </window>
  9875.             <window name="vis_info_container" transparent="true" alignment="0,0,0,0" offset="-250,0,0,100">
  9876.                 <shape name="my_shape">
  9877.                     <shape_raster source="grayscale.psd|select_visual_button_background" />
  9878.                 </shape>
  9879.                 <window name="visual_info_shadow_window" transparent="true" alignment="0,0,0,0" offset="12,9,237,58" >
  9880.                     <imagestyle name="background">
  9881.                         <raster source="grayscale.psd|vis_info_shadow" blendmode="ps_normal" />
  9882.                     </imagestyle>
  9883.                 </window>
  9884.  
  9885.                 <window name="visual_prev_background" transparent="true" alignment="0,0,0,0" shape="my_shape" offset="140,39,149,48"  >
  9886.                     <imagestyle name="background">
  9887.                         <color_fill color="color1" blendmode="ps_normal" opacity="0.25"/>
  9888.                     </imagestyle>
  9889.                 </window>
  9890.  
  9891.                 <window name="visual_next_background" transparent="true" alignment="0,0,0,0" shape="my_shape" offset="159,39,168,48"  >
  9892.                     <imagestyle name="background">
  9893.                         <color_fill color="color1" blendmode="ps_normal" opacity="0.25"/>
  9894.                     </imagestyle>
  9895.                 </window>
  9896.  
  9897.                 <window name="visual_info_window" type="textdisplay" transparent="true" alignment="0,0,0,0" shape="my_shape" offset="12,9,231,50"  >
  9898.                     <property
  9899.                         font_color        ="color3"
  9900.                         font_style        ="my_font_10"
  9901.                         font_justification    ="left|v_center|trim_chars|single_line_only"
  9902.                         whitespace        ="20"
  9903.                         scroll_mode        ="horizontal"
  9904.                         scroll_speed        ="25"
  9905.                         edge_offset_rect    ="5,5,-5,-25"
  9906.                     />
  9907.                     <shape name="my_shape">
  9908.                         <shape_raster source="grayscale.psd|vis_info_background" />
  9909.                     </shape>
  9910.                     <imagestyle name="background"><color_fill color="color1" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9911.                     <imagestyle name="theme1"><color_fill color="0xFF99EE00" blendmode="ps_normal" opacity="0.45"/></imagestyle>
  9912.                     <imagestyle name="theme2"><color_fill color="0xFFFF9900" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9913.                     <imagestyle name="theme3"><color_fill color="0xFF28497F" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9914.                     <imagestyle name="theme4"><color_fill color="0xFFFF0000" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9915.                     <imagestyle name="theme5"><color_fill color="0xFF888888" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9916.                     <imagestyle name="theme6"><color_fill color="0xFF303030" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9917.                     <imagestyle name="theme7"><color_fill color="0xFF606060" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9918.                     <imagestyle name="theme8"><color_fill color="0xFF00B200" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9919.                     <imagestyle name="theme9"><color_fill color="0xFF303030" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9920.                     <imagestyle name="theme10"><color_fill color="theme10_color1" blendmode="ps_normal" opacity="0.65"/></imagestyle>
  9921.                     <script name="OnInit"> UpdateBar(); </script>
  9922.                     <script name="UpdateBar" >
  9923.                         $cur=vis_window.GetVisual();
  9924.                         if( $cur ) { SetText( :sonique.visuals.GetVisualInfo( $cur )["name"] ); }
  9925.                     </script>
  9926.                 </window>
  9927.  
  9928.                 <window name="select_prev_visual_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="138,36,150,51" alignment="0,0,0,0">
  9929.                     <property hover="true" />
  9930.                     <imagestyle name="state0">
  9931.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|select_prev_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal" />
  9932.                         <raster state="normal" opacity="1.0" source="grayscale.psd|select_prev_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal"/>
  9933.                     </imagestyle>
  9934.                     <script name="OnInit">SetHoverHint(:language.Translate("viswindow/hint.prevvis")); </script>
  9935.                     <script name="OnClick"> :sonique.visuals.GroupPrevVisual("default"); </script>
  9936.                 </window>
  9937.  
  9938.                 <window name="select_next_visual_button_window" type="button" transparent="true" hitstyle="ACTIVE" offset="158,36,170,51" alignment="0,0,0,0">
  9939.                     <property hover="true" />
  9940.                     <imagestyle name="state0">
  9941.                         <raster state="hit,hover" opacity="0.75" source="grayscale.psd|select_next_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal" />
  9942.                         <raster state="normal" opacity="1.0" source="grayscale.psd|select_next_visual_button" source_offset="4,4,-4,-4" blendmode="ps_normal"/>
  9943.                     </imagestyle>
  9944.                     <script name="OnInit">SetHoverHint(:language.Translate("viswindow/hint.nextvis")); </script>
  9945.                     <script name="OnClick"> :sonique.visuals.GroupNextVisual("default");</script>
  9946.                 </window>
  9947.             </window> //vis_info_container
  9948.         </window> //main_vis_window
  9949.  
  9950.         <window name="vis_controls_window" transparent="true">
  9951.             <script name="OnIntro">
  9952.                 main_window_icon_window.SetOffset({-27,32,-16,42},0,1000,"linear_accel");
  9953.                 full_screen_visual_icon_window.SetOffset({-25,48,-15,57},0,1000,"linear_accel");
  9954.             </script>
  9955.             <window name="main_window_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-84,-33,-73,-43" alignment="1,0,1,0">
  9956.                 <property hover="true" />
  9957.                 <imagestyle name="state0">
  9958.                     <raster state="hit,hover" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  9959.                     <raster state="normal" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"/>
  9960.                 </imagestyle> 
  9961.                 <imagestyle name="state1">
  9962.                     <raster state="hit,hover" opacity="1.0" source="popup.psd|main_window_icon" blendmode="ps_normal"  />
  9963.                     <raster state="normal" opacity="0.75" source="popup.psd|main_window_icon" blendmode="ps_normal" />
  9964.                 </imagestyle>
  9965.                 <script name="OnInit"> SetHoverHint(:language.Translate("defaultskin/hint.attachwindow"));    </script>
  9966.                 <script name="OnClick"> parent.parent.AttachWindow(); </script>
  9967.             </window> <!-- detach_window_icon_window -->
  9968.             <window name="full_screen_visual_icon_window" type="button" transparent="true" hitstyle="ACTIVE" offset="-82,-53,-74,-60" alignment="1,0,1,0">
  9969.                 <property hover="true" />
  9970.                 <imagestyle name="state0">
  9971.                     <raster state="hit,hover" opacity="0.75" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal" />
  9972.                     <raster state="normal" opacity="1.0" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal"/>
  9973.                 </imagestyle> 
  9974.                 <imagestyle name="state1">
  9975.                     <raster state="hit,hover" opacity="1.0" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal"  />
  9976.                     <raster state="normal" opacity="0.75" source="grayscale.psd|full_screen_visual_icon" blendmode="ps_normal" />
  9977.                 </imagestyle>
  9978.                 <script name="OnInit"> SetHoverHint(:language.Translate("viswindow/hint.fullscreen"));</script>
  9979.                 <script name="OnClick">     
  9980.                     :sonique.visuals.LaunchFullScreenVis( main_vis_window.vis_window.GetVisual(), "default", {800,600} );
  9981.                     :sonique.CompactMem();
  9982.                 </script>
  9983.             </window> <!-- full_screen_visual_icon_window -->
  9984.         </window>
  9985.     </window>
  9986.  
  9987.  
  9988. </interface>
  9989. </mml>
  9990.