aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/skins
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/resources/skins
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/resources/skins')
-rw-r--r--Src/resources/skins/Bento/screenshot.pngbin0 -> 22249 bytes
-rw-r--r--Src/resources/skins/Bento/scripts/mcvcore.m487
-rw-r--r--Src/resources/skins/Bento/scripts/mcvcore.makibin0 -> 21656 bytes
-rw-r--r--Src/resources/skins/Bento/scripts/mcvcore/load_handles.m131
-rw-r--r--Src/resources/skins/Bento/scripts/mcvcore/show_hide.m916
-rw-r--r--Src/resources/skins/Bento/scripts/playlistpro.m426
-rw-r--r--Src/resources/skins/Bento/scripts/playlistpro.makibin0 -> 12601 bytes
-rw-r--r--Src/resources/skins/Bento/scripts/pledit.m619
-rw-r--r--Src/resources/skins/Bento/scripts/pledit.makibin0 -> 13283 bytes
-rw-r--r--Src/resources/skins/Bento/scripts/workingdir.m1
-rw-r--r--Src/resources/skins/Bento/skin.xml45
-rw-r--r--Src/resources/skins/Bento/window/aol_radio_alb_art.jpgbin0 -> 13556 bytes
-rw-r--r--Src/resources/skins/Bento/window/config.pngbin0 -> 8367 bytes
-rw-r--r--Src/resources/skins/Bento/window/controls.pngbin0 -> 7798 bytes
-rw-r--r--Src/resources/skins/Bento/window/equalizer.pngbin0 -> 13554 bytes
-rw-r--r--Src/resources/skins/Bento/window/menu_file.pngbin0 -> 144 bytes
-rw-r--r--Src/resources/skins/Bento/window/menu_help.pngbin0 -> 149 bytes
-rw-r--r--Src/resources/skins/Bento/window/menu_options.pngbin0 -> 167 bytes
-rw-r--r--Src/resources/skins/Bento/window/menu_play.pngbin0 -> 145 bytes
-rw-r--r--Src/resources/skins/Bento/window/menu_view.pngbin0 -> 155 bytes
-rw-r--r--Src/resources/skins/Bento/window/numfont.pngbin0 -> 8730 bytes
-rw-r--r--Src/resources/skins/Bento/window/player.pngbin0 -> 18267 bytes
-rw-r--r--Src/resources/skins/Bento/window/sc_alb_art.jpgbin0 -> 2553 bytes
-rw-r--r--Src/resources/skins/Bento/window/scrollbars.pngbin0 -> 830 bytes
-rw-r--r--Src/resources/skins/Bento/window/shade.pngbin0 -> 3838 bytes
-rw-r--r--Src/resources/skins/Bento/window/sui.pngbin0 -> 4358 bytes
-rw-r--r--Src/resources/skins/Bento/window/sui2.pngbin0 -> 5544 bytes
-rw-r--r--Src/resources/skins/Bento/window/window-elements.pngbin0 -> 14696 bytes
-rw-r--r--Src/resources/skins/Bento/window/window.pngbin0 -> 1077 bytes
-rw-r--r--Src/resources/skins/Bento/xml/config.xml597
-rw-r--r--Src/resources/skins/Bento/xml/notifier-elements.xml22
-rw-r--r--Src/resources/skins/Bento/xml/notifier-normal.xml51
-rw-r--r--Src/resources/skins/Bento/xml/notifier.xml10
-rw-r--r--Src/resources/skins/Bento/xml/player-elements.xml640
-rw-r--r--Src/resources/skins/Bento/xml/player-normal-group.xml486
-rw-r--r--Src/resources/skins/Bento/xml/player-normal-mcv.xml828
-rw-r--r--Src/resources/skins/Bento/xml/player-normal-sui.xml315
-rw-r--r--Src/resources/skins/Bento/xml/player-normal.xml80
-rw-r--r--Src/resources/skins/Bento/xml/player-shade.xml341
-rw-r--r--Src/resources/skins/Bento/xml/player.xml65
-rw-r--r--Src/resources/skins/Bento/xml/playlistpro.xml62
-rw-r--r--Src/resources/skins/Bento/xml/standardframe.xml153
-rw-r--r--Src/resources/skins/Big Bento/about/about.m132
-rw-r--r--Src/resources/skins/Big Bento/about/about.makibin0 -> 16029 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/about.xml81
-rw-r--r--Src/resources/skins/Big Bento/about/about_fg.jpgbin0 -> 47483 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/fixedsys.pngbin0 -> 696 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/info.pngbin0 -> 177 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/info2.pngbin0 -> 197 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level1.pngbin0 -> 228 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level10.pngbin0 -> 284 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level2.pngbin0 -> 236 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level3.pngbin0 -> 253 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level4.pngbin0 -> 276 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level5.pngbin0 -> 392 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level6.pngbin0 -> 260 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level7.pngbin0 -> 268 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level8.pngbin0 -> 274 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/level9.pngbin0 -> 408 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/llama.pngbin0 -> 211 bytes
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/nibbles.m828
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/nibbles.xml52
-rw-r--r--Src/resources/skins/Big Bento/about/nibbles/sammy.pngbin0 -> 83 bytes
-rw-r--r--Src/resources/skins/Big Bento/screenshot.pngbin0 -> 21867 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/albumart.m135
-rw-r--r--Src/resources/skins/Big Bento/scripts/albumart.makibin0 -> 4539 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/gen_pageguids.m106
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_Autoresize.m92
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_appearance.m63
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_browser.m133
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_notifier.m327
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_playlist.m39
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_songticker.m82
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_vis.m80
-rw-r--r--Src/resources/skins/Big Bento/scripts/attribs/init_windowpage.m309
-rw-r--r--Src/resources/skins/Big Bento/scripts/beatvisualization.m160
-rw-r--r--Src/resources/skins/Big Bento/scripts/beatvisualization.makibin0 -> 6472 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/buildall.bat8
-rw-r--r--Src/resources/skins/Big Bento/scripts/cbuttons.m293
-rw-r--r--Src/resources/skins/Big Bento/scripts/cbuttons.makibin0 -> 16345 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/colorthemes.m56
-rw-r--r--Src/resources/skins/Big Bento/scripts/colorthemes.makibin0 -> 2788 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/configtarget.m159
-rw-r--r--Src/resources/skins/Big Bento/scripts/configtarget.makibin0 -> 3424 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/coverflow.m229
-rw-r--r--Src/resources/skins/Big Bento/scripts/coverflow.makibin0 -> 7356 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/eq.m247
-rw-r--r--Src/resources/skins/Big Bento/scripts/eq.makibin0 -> 9863 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/fileinfo.m1277
-rw-r--r--Src/resources/skins/Big Bento/scripts/fileinfo.makibin0 -> 27221 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/gen_dropbox.m145
-rw-r--r--Src/resources/skins/Big Bento/scripts/gen_dropbox.makibin0 -> 2529 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/hoverstimulate.m83
-rw-r--r--Src/resources/skins/Big Bento/scripts/hoverstimulate.makibin0 -> 3065 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/imagecontrol.m99
-rw-r--r--Src/resources/skins/Big Bento/scripts/imagecontrol.makibin0 -> 3761 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/infoline.m44
-rw-r--r--Src/resources/skins/Big Bento/scripts/infoline.makibin0 -> 2482 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/lib/debug.m52
-rw-r--r--Src/resources/skins/Big Bento/scripts/lib/glow.m111
-rw-r--r--Src/resources/skins/Big Bento/scripts/loadattribs.m89
-rw-r--r--Src/resources/skins/Big Bento/scripts/loadattribs.makibin0 -> 17490 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/mainmenu.m164
-rw-r--r--Src/resources/skins/Big Bento/scripts/mainmenu.makibin0 -> 6612 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/maximize.m648
-rw-r--r--Src/resources/skins/Big Bento/scripts/maximize.makibin0 -> 14235 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/mcvcore.m469
-rw-r--r--Src/resources/skins/Big Bento/scripts/mcvcore.makibin0 -> 21650 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/mcvcore/defs.m98
-rw-r--r--Src/resources/skins/Big Bento/scripts/mcvcore/external_handles.m295
-rw-r--r--Src/resources/skins/Big Bento/scripts/mcvcore/load_handles.m138
-rw-r--r--Src/resources/skins/Big Bento/scripts/mcvcore/show_hide.m915
-rw-r--r--Src/resources/skins/Big Bento/scripts/mute.m162
-rw-r--r--Src/resources/skins/Big Bento/scripts/mute.makibin0 -> 5883 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/notifier.m827
-rw-r--r--Src/resources/skins/Big Bento/scripts/notifier.makibin0 -> 18404 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/playlistpro.m426
-rw-r--r--Src/resources/skins/Big Bento/scripts/playlistpro.makibin0 -> 12601 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/pledit.m619
-rw-r--r--Src/resources/skins/Big Bento/scripts/pledit.makibin0 -> 13283 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/seek.m90
-rw-r--r--Src/resources/skins/Big Bento/scripts/seek.makibin0 -> 3312 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/shadelinks.m74
-rw-r--r--Src/resources/skins/Big Bento/scripts/shadelinks.makibin0 -> 2896 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/shadesize.m217
-rw-r--r--Src/resources/skins/Big Bento/scripts/shadesize.makibin0 -> 7066 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/simplemaximize.m72
-rw-r--r--Src/resources/skins/Big Bento/scripts/simplemaximize.makibin0 -> 3031 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/songinfo.m214
-rw-r--r--Src/resources/skins/Big Bento/scripts/songinfo.makibin0 -> 5541 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/songticker.m190
-rw-r--r--Src/resources/skins/Big Bento/scripts/songticker.makibin0 -> 5930 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/standardframe.m68
-rw-r--r--Src/resources/skins/Big Bento/scripts/standardframe.makibin0 -> 3618 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/suicore.m410
-rw-r--r--Src/resources/skins/Big Bento/scripts/suicore.makibin0 -> 21112 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/suicore/external_handles.m767
-rw-r--r--Src/resources/skins/Big Bento/scripts/suicore/load_handles.m221
-rw-r--r--Src/resources/skins/Big Bento/scripts/suicore/show_hide.m870
-rw-r--r--Src/resources/skins/Big Bento/scripts/suicore/video_handles.m146
-rw-r--r--Src/resources/skins/Big Bento/scripts/syncbutton.m55
-rw-r--r--Src/resources/skins/Big Bento/scripts/syncbutton.makibin0 -> 2577 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/tabbutton.m87
-rw-r--r--Src/resources/skins/Big Bento/scripts/tabbutton.makibin0 -> 3444 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/tabcontrol.m122
-rw-r--r--Src/resources/skins/Big Bento/scripts/tabcontrol.makibin0 -> 4952 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/timecontrol.m89
-rw-r--r--Src/resources/skins/Big Bento/scripts/timecontrol.makibin0 -> 4107 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/videoresize.m196
-rw-r--r--Src/resources/skins/Big Bento/scripts/videoresize.makibin0 -> 5992 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/visbuttons.m148
-rw-r--r--Src/resources/skins/Big Bento/scripts/visbuttons.makibin0 -> 4908 bytes
-rw-r--r--Src/resources/skins/Big Bento/scripts/visualizer.m356
-rw-r--r--Src/resources/skins/Big Bento/scripts/visualizer.makibin0 -> 9967 bytes
-rw-r--r--Src/resources/skins/Big Bento/skin.xml43
-rw-r--r--Src/resources/skins/Big Bento/window/Scrollgrips.pngbin0 -> 952 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/aol_radio_alb_art.jpgbin0 -> 5350 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/beatvis.pngbin0 -> 3283 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/branding.pngbin0 -> 4646 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/compcontrols.pngbin0 -> 18679 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/componentcontrols.pngbin0 -> 14238 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/config.pngbin0 -> 8744 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/equalizer.pngbin0 -> 14349 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/menu_file.pngbin0 -> 158 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/menu_help.pngbin0 -> 158 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/menu_options.pngbin0 -> 186 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/menu_play.pngbin0 -> 161 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/menu_view.pngbin0 -> 171 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/no_alb_art_big.pngbin0 -> 5321 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/notfound.pngbin0 -> 7740 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/notfoundXXL.pngbin0 -> 12952 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/notifier.pngbin0 -> 1780 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/numfont.pngbin0 -> 9888 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/pl_btn_icons.pngbin0 -> 413 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/player.pngbin0 -> 20573 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/rating.pngbin0 -> 349 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/sc_alb_art.jpgbin0 -> 3951 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/scrollbars.pngbin0 -> 830 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/shade.pngbin0 -> 3922 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/songinfo.pngbin0 -> 907 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/sui.pngbin0 -> 5544 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/window-elements.pngbin0 -> 14696 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/window-gradient.pngbin0 -> 11052 bytes
-rw-r--r--Src/resources/skins/Big Bento/window/window.pngbin0 -> 9702 bytes
-rw-r--r--Src/resources/skins/Big Bento/xml/color-presets.xml1414
-rw-r--r--Src/resources/skins/Big Bento/xml/config.xml626
-rw-r--r--Src/resources/skins/Big Bento/xml/notifier-elements.xml22
-rw-r--r--Src/resources/skins/Big Bento/xml/notifier-normal.xml51
-rw-r--r--Src/resources/skins/Big Bento/xml/notifier.xml10
-rw-r--r--Src/resources/skins/Big Bento/xml/player-elements.xml635
-rw-r--r--Src/resources/skins/Big Bento/xml/player-normal-group.xml482
-rw-r--r--Src/resources/skins/Big Bento/xml/player-normal-mcv.xml842
-rw-r--r--Src/resources/skins/Big Bento/xml/player-normal-sui.xml317
-rw-r--r--Src/resources/skins/Big Bento/xml/player-normal.xml80
-rw-r--r--Src/resources/skins/Big Bento/xml/player-shade.xml340
-rw-r--r--Src/resources/skins/Big Bento/xml/player.xml64
-rw-r--r--Src/resources/skins/Big Bento/xml/playlistpro.xml62
-rw-r--r--Src/resources/skins/Big Bento/xml/standardframe.xml152
-rw-r--r--Src/resources/skins/Big Bento/xml/system-colors.xml87
-rw-r--r--Src/resources/skins/Big Bento/xml/system-elements.xml126
-rw-r--r--Src/resources/skins/Big Bento/xml/window-overrides.xml83
-rw-r--r--Src/resources/skins/Nokia/Nokia_3250.walbin0 -> 98610 bytes
-rw-r--r--Src/resources/skins/Nokia/Nokia_Edition.walbin0 -> 524748 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/about/about.makibin0 -> 8541 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/about/about.xml138
-rw-r--r--Src/resources/skins/Winamp Modern/about/about_bg.pngbin0 -> 414 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/about/about_bolt.pngbin0 -> 6690 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/about/about_fg.pngbin0 -> 23132 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/about/about_star.pngbin0 -> 5351 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/about/eye.pngbin0 -> 92 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/notifier/aol_radio_alb_art.jpgbin0 -> 5350 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/notifier/notif-bg-alpha.pngbin0 -> 1112 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/notifier/notif-bg.pngbin0 -> 1046 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/notifier/sc_alb_art.jpgbin0 -> 3951 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/Eq_bg.pngbin0 -> 5795 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/Options_buttons.pngbin0 -> 6126 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/Options_elements.PNGbin0 -> 36230 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/Songtickerfont.pngbin0 -> 1722 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/beat_displayoverlay.pngbin0 -> 242 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/beat_l2.pngbin0 -> 8814 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/beat_left.pngbin0 -> 1863 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/beat_r2.pngbin0 -> 8795 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/beat_right.pngbin0 -> 1910 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/beat_textoverlay.pngbin0 -> 245 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/bolt.pngbin0 -> 2132 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_balance.pngbin0 -> 756 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_config_drawer.pngbin0 -> 757 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_ct_switch.pngbin0 -> 2642 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_eq.pngbin0 -> 781 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_mute.pngbin0 -> 1766 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_mute_bg.PNGbin0 -> 1399 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_repeat2.pngbin0 -> 1373 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_shufflerepeat.pngbin0 -> 2867 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_videoavs.pngbin0 -> 1012 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/button_volume.pngbin0 -> 895 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_detach.pngbin0 -> 8692 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_eq.pngbin0 -> 2885 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_mlpl.pngbin0 -> 3599 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_mlpl_bg.pngbin0 -> 2670 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_pl.pngbin0 -> 5627 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_switchto.pngbin0 -> 3666 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_video.pngbin0 -> 6349 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/buttons_vis.pngbin0 -> 7034 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/config_tabs.pngbin0 -> 2622 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/ct_background.pngbin0 -> 3854 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/ct_bg.pngbin0 -> 93 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/display.PNGbin0 -> 11388 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/displayoverlay.pngbin0 -> 5091 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/drawer_bg.PNGbin0 -> 1491 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/drawer_bg_regions.pngbin0 -> 186 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/drawer_shadow.PNGbin0 -> 374 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/eq_balance.pngbin0 -> 503 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/eq_labels.pngbin0 -> 351 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/eq_textoverlay.pngbin0 -> 678 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/main_bg.pngbin0 -> 368 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/mainregions.pngbin0 -> 108 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/menubar.PNGbin0 -> 639 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/numfont.pngbin0 -> 865 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/openclose_overlay.pngbin0 -> 134 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/options_bg.PNGbin0 -> 12692 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/options_buttons2.pngbin0 -> 524 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/options_more.pngbin0 -> 640 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/options_scrollbuttons.PNGbin0 -> 440 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/options_slider.pngbin0 -> 123 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/pe_time.pngbin0 -> 1897 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/pe_time_font.pngbin0 -> 221 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/playbackstatus.pngbin0 -> 320 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/player_buttons.pngbin0 -> 16867 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/player_buttons_status.pngbin0 -> 652 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/progressbar.PNGbin0 -> 144 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/resize_pl.pngbin0 -> 452 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/resizer.pngbin0 -> 298 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/seekbar.pngbin0 -> 1930 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/seekpos.pngbin0 -> 105 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/shufflerepeat_bg.PNGbin0 -> 2731 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/shufflerepeat_led.pngbin0 -> 740 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/smallfont.PNGbin0 -> 526 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/songinfo.pngbin0 -> 936 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/songinfofont.pngbin0 -> 311 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/txt_config.PNGbin0 -> 126 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/videoavs_bg.pngbin0 -> 999 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/videoavs_button_bg.pngbin0 -> 1135 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/videoavs_button_bg2.pngbin0 -> 1024 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/videoavs_button_overlay.pngbin0 -> 561 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg.pngbin0 -> 931 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg2.pngbin0 -> 300 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/visualization_background.pngbin0 -> 302 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/visualization_overlay.pngbin0 -> 560 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/player/volume_bar_bg.pngbin0 -> 1063 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/screenshot.pngbin0 -> 19303 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/albumart.m113
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/albumart.makibin0 -> 8817 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/attribs.m319
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/beatvisualization.m139
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/beatvisualization.makibin0 -> 10161 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/buildall.bat2
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/configtabs.m280
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/configtabs.makibin0 -> 12753 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/configtarget.m97
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/configtarget.makibin0 -> 3411 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/crossfade.m55
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/crossfade.makibin0 -> 2948 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/display.m120
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/display.makibin0 -> 9886 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/drawer.m1059
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/eq.m90
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/eq.makibin0 -> 4998 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/init_Playlist.m34
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mainmenu.m50
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mainmenu.makibin0 -> 8185 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.m25
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.makibin0 -> 7093 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/menualign.m14
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/menualign.makibin0 -> 2006 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mlmenu.m50
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mlmenu.makibin0 -> 8249 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mute.m125
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/mute.makibin0 -> 4167 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/notifications_fade_times.makibin0 -> 2265 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/notifier.m615
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/notifier.makibin0 -> 18108 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/playlistpro.m426
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/playlistpro.makibin0 -> 12425 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/plmenu.m72
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/plmenu.makibin0 -> 8935 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/pltime.m62
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/pltime.makibin0 -> 8281 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/seek.m65
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/seek.makibin0 -> 3191 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/seekshade.m64
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/seekshade.makibin0 -> 3219 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/shadecontrol.m190
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/shadecontrol.makibin0 -> 11757 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/shadelinks.m45
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/shadelinks.makibin0 -> 2409 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/shadesizepos.m41
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/shadesizepos.makibin0 -> 7659 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/songinfo.m165
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/songinfo.makibin0 -> 5260 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/standardframe.m68
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/standardframe.makibin0 -> 4118 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/titlebar.m104
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/titlebar.makibin0 -> 4218 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/video.m15
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/video.makibin0 -> 7186 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/videoavs.m313
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/videoavs.makibin0 -> 29158 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/vis.m42
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/vis.makibin0 -> 7681 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/visualizer.m267
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/visualizer.makibin0 -> 6951 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/bg_overlay.pngbin0 -> 3738 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/buttons.pngbin0 -> 22926 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/buttons2.PNGbin0 -> 4984 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/buttons_bg.pngbin0 -> 2653 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/corners.pngbin0 -> 104 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/display_overlay.pngbin0 -> 1045 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/led.pngbin0 -> 375 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/nowplaying.pngbin0 -> 144 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/pl_shade.pngbin0 -> 6993 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/playbackstatus.pngbin0 -> 186 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/seek.pngbin0 -> 551 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/shade_bg.PNGbin0 -> 6470 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/songtickerfont.PNGbin0 -> 1286 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/shade/volume.pngbin0 -> 558 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/skin.xml56
-rw-r--r--Src/resources/skins/Winamp Modern/standardframe/standardframe-elements.xml14
-rw-r--r--Src/resources/skins/Winamp Modern/standardframe/standardframe.xml517
-rw-r--r--Src/resources/skins/Winamp Modern/standardframe/window_menus.xml227
-rw-r--r--Src/resources/skins/Winamp Modern/titlebar/titlebar.xml120
-rw-r--r--Src/resources/skins/Winamp Modern/window/Scrollgrips.pngbin0 -> 133 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/background.pngbin0 -> 929 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/main.pngbin0 -> 5784 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/main2.pngbin0 -> 2353 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu.pngbin0 -> 1875 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/file.pngbin0 -> 168 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/help.pngbin0 -> 173 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/options.pngbin0 -> 194 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/play.pngbin0 -> 174 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/playlist.pngbin0 -> 195 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/sort.pngbin0 -> 177 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu/view.pngbin0 -> 186 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/menu_elements.pngbin0 -> 733 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/mlwindow.pngbin0 -> 1211 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/plwindow.pngbin0 -> 1096 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/scrollbars.pngbin0 -> 4606 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/sui.pngbin0 -> 6965 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/titlebar.pngbin0 -> 2505 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/titlebar_overlay.pngbin0 -> 149 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/wasabi_window.PNGbin0 -> 1477 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/window/window-elements.pngbin0 -> 1411 bytes
-rw-r--r--Src/resources/skins/Winamp Modern/xml/albumart.xml21
-rw-r--r--Src/resources/skins/Winamp Modern/xml/color-presets.xml1977
-rw-r--r--Src/resources/skins/Winamp Modern/xml/configdrawer.xml1214
-rw-r--r--Src/resources/skins/Winamp Modern/xml/ml-normal.xml121
-rw-r--r--Src/resources/skins/Winamp Modern/xml/ml.xml3
-rw-r--r--Src/resources/skins/Winamp Modern/xml/notifier-elements.xml11
-rw-r--r--Src/resources/skins/Winamp Modern/xml/notifier-normal.xml43
-rw-r--r--Src/resources/skins/Winamp Modern/xml/notifier.xml9
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player-elements-shade.xml186
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player-elements.xml723
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player-normal-group.xml1232
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player-normal.xml114
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player-shade-group.xml684
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player-shade.xml27
-rw-r--r--Src/resources/skins/Winamp Modern/xml/player.xml11
-rw-r--r--Src/resources/skins/Winamp Modern/xml/playlistpro.xml62
-rw-r--r--Src/resources/skins/Winamp Modern/xml/pledit-normal.xml259
-rw-r--r--Src/resources/skins/Winamp Modern/xml/pledit-normal_2.xml259
-rw-r--r--Src/resources/skins/Winamp Modern/xml/pledit-shade-group.xml161
-rw-r--r--Src/resources/skins/Winamp Modern/xml/pledit-shade.xml22
-rw-r--r--Src/resources/skins/Winamp Modern/xml/pledit.xml5
-rw-r--r--Src/resources/skins/Winamp Modern/xml/system-colors.xml58
-rw-r--r--Src/resources/skins/Winamp Modern/xml/video-normal.xml234
-rw-r--r--Src/resources/skins/Winamp Modern/xml/video.xml3
-rw-r--r--Src/resources/skins/Winamp Modern/xml/vis-normal.xml223
-rw-r--r--Src/resources/skins/Winamp Modern/xml/vis.xml3
417 files changed, 40238 insertions, 0 deletions
diff --git a/Src/resources/skins/Bento/screenshot.png b/Src/resources/skins/Bento/screenshot.png
new file mode 100644
index 00000000..d1515c9d
--- /dev/null
+++ b/Src/resources/skins/Bento/screenshot.png
Binary files differ
diff --git a/Src/resources/skins/Bento/scripts/mcvcore.m b/Src/resources/skins/Bento/scripts/mcvcore.m
new file mode 100644
index 00000000..1d3feed4
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/mcvcore.m
@@ -0,0 +1,487 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: mcvcore.m
+Version: 4.5
+
+Type: maki
+Date: 13. Aug. 2007 - 11:22
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script is based on drawer.m
+ from Winamp Modern, but extended to
+ 5 components presets!
+ Like in drawer.m I warn everybody not
+ to modify this script, cause it can be
+ harmed very fast! And you don't want
+ a buggy winamp skin, want you?
+
+ Since script version 3.1
+ (onesie build #022)
+ the script is devided into subscripts
+ for better debugging.
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+//define DEBUG
+#define FILE_NAME "infocompcore.m"
+#include <lib/com/debug.m>
+
+#include workingdir.m
+
+#define BIG_BENTO_WORKINGDIR 1
+
+#ifdef BIG_BENTO_WORKINGDIR
+#include ../../Big Bento/scripts/attribs/init_windowpage.m
+#include ../../Big Bento/scripts/attribs/init_vis.m
+#include ../../Big Bento/scripts/attribs/init_appearance.m
+#else
+#include ../../__codename_onesie/scripts/attribs/init_windowpage.m
+#include ../../__codename_onesie/scripts/attribs/init_vis.m
+#include ../../__codename_onesie/scripts/attribs/init_appearance.m
+#endif
+
+#define VIS_GUID "{0000000A-000C-0010-FF7B-01014263450C}"
+
+#ifndef DOHIDEMCV
+#define updateSaving //
+#endif
+
+//define FIT_W2_COMP fit(sui_fi, 159, 0, 2, 0, -162, 1, 76, 0)
+#define FIT_W2_COMP fit(sui_fi, 180, 0, 2, 0, -183, 1, 76, 0)
+//define FIT_W_COMP fit(sui_fi, 81, 0, 2, 0, -84, 1, 76, 0)
+#define FIT_W_COMP fit(sui_fi, 92, 0, 2, 0, -95, 1, 76, 0)
+#define FIT_WO_COMP fit(sui_fi, 4, 0, 2, 0, -7, 1, 76, 0)
+
+Global Boolean bypasscancel;
+Global Timer callbackTimer, tempDisable;
+
+#define CURR_COMP plsc
+#include ../../Big Bento/scripts/mcvcore/defs.m
+
+#ifdef IC_COVERFLOW
+#undef CURR_COMP
+#define CURR_COMP cflow
+#include mcvcore/defs.m
+#endif
+
+Function fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh);
+
+Function switchToIcOnly();
+Function switchToCover();
+Function switchToVisCover();
+Function switchToVis();
+Function switchToEQ();
+Function switchToCfg();
+Function switchToVis_Full();
+Function updateFileInfo();
+
+Function hideFi();
+Function showFi();
+Function hideCover();
+Function showCover();
+Function hideVis();
+Function showVis();
+Function hideVis_Full();
+Function showVis_Full();
+Function hideEq();
+Function showEq();
+Function hideCfg();
+Function showCfg();
+Function openIC();
+Function closeIC();
+Function openLC();
+Function closeLC();
+#ifdef DOHIDEMCV
+Function hideMCV();
+#endif
+
+Function onHideFi();
+Function onShowFi();
+Function onHideCover();
+Function onShowCover();
+Function onHideVis();
+Function onShowVis();
+Function onHideVis_Full();
+Function onShowVis_Full();
+Function onHideEq();
+Function onShowEq();
+Function onHideCfg();
+Function onShowCfg();
+Function onCloseIC();
+Function onOpenIC();
+Function onhideMCV();
+
+Function dc_hideFi();
+Function dc_showFi();
+Function dc_showEq();
+Function dc_hideEq();
+Function dc_showCfg();
+Function dc_hideCfg();
+Function dc_hideCover();
+Function dc_showCover();
+Function dc_hideVis();
+Function dc_showVis();
+Function dc_hideVis_Full();
+Function dc_showVis_Full();
+
+Function updateFooter();
+
+Function ProcessMenuResult (int a);
+
+#ifdef DOHIDEMCV
+function updateSaving (int l);
+#endif
+
+Global Group sg, sui_cover, sui_vis_full, sui_vis, sui_fi, sui_eq, sui_cfg, g_footer, g_visbtns;
+Global WindowHolder sui_vis_wdh, sui_vis_full_wdh;
+Global Layout main;
+Global Boolean callback_showing_vis, callback_hiding_vis, callback_showing_vis_full, callback_hiding_vis_full, callback_showing_cover, callback_hiding_cover, callback_showing_fi, callback_hiding_fi, callback_hiding_eq, callback_showing_eq, callback_hiding_cfg, callback_showing_cfg;
+Global Boolean showing_vis, hiding_vis, showing_vis_full, hiding_vis_full, showing_cover, hiding_cover, hiding_fi, showing_fi, showing_eq, hiding_eq, showing_cfg, hiding_cfg;
+Global Boolean Mychange;
+Global Boolean prevent_vis = 1;
+Global Frame dualwnd, mainframe;
+Global GuiObject footerGrid, sendToBtn;
+
+Global Popupmenu compMenu;
+//Global Button compChoose, nowPlayingBtn, webSearchBtn;
+Global Button compChoose;
+Global Boolean startup_done;
+Global Int substract = 0;
+
+#ifdef DOHIDEMCV
+Global Int last_menu_sel;
+#endif
+
+// script loading/unloading goes here
+#include mcvcore/load_handles.m
+
+// showing and hiding the components
+#include mcvcore/show_hide.m
+
+#ifdef BIG_BENTO_WORKINGDIR
+// open / hiding components not caused by button clicks
+#include ../../Big Bento/scripts/mcvcore/external_handles.m
+#else
+// open / hiding components not caused by button clicks
+#include ../../__codename_onesie/scripts/mcvcore/external_handles.m
+#endif
+
+/* Switching menu */
+compChoose.onRightButtonUp(int x, int y)
+{
+ complete;
+}
+
+compChoose.onRightClick () {
+ compChoose.onLeftClick ();
+}
+
+compChoose.onLeftClick ()
+{
+ compMenu = new Popupmenu;
+ popupmenu fiSub = new Popupmenu;
+ compMenu.addCommand("File Info", 1, ic_fileinfo.getData() == "1", 0);
+#ifdef IC_COVERFLOW
+ compMenu.addCommand("Cover Flow", 7, _cflow_ic_attrib.getData() == "1", 0);
+#endif
+ // System.isSafeMode() is not recognized by mc.exe
+ // if(!System.isSafeMode())
+ // {
+ compMenu.addCommand("Visualization", 2, ic_vis.getData() == "1", 0);
+ // }
+ compMenu.addCommand("Stored Playlists", 3, _plsc_ic_attrib.getData() == "1", 0);
+ compMenu.addCommand("Equalizer", 4, ic_eq.getData() == "1", 0);
+ compMenu.addCommand("Skin Settings", 5, ic_config.getData() == "1", 0);
+#ifdef DOHIDEMCV
+ compMenu.addCommand("Hide Multi Content View", 6, ic_hidden.getData() == "1", 0);
+#endif
+ compMenu.addSeparator();
+ compMenu.addSubmenu(fiSub, "File Info Components");
+
+ // System.isSafeMode() is not recognized by mc.exe
+ // if(!System.isSafeMode())
+ // {
+ fiSub.addCommand("Visualization", 12, ic_vis_fileinfo.getData() == "1", 0);
+ // }
+ fiSub.addCommand("Album Art", 11, ic_cover_fileinfo.getData() == "1", 0);
+ fiSub.addSeparator();
+ fiSub.addCommand("Show Track #", 24, infocomp_show_track.getData() == "1", 0);
+ fiSub.addCommand("Show Year", 21, infocomp_show_year.getData() == "1", 0);
+ fiSub.addCommand("Show Genre", 22, infocomp_show_genre.getData() == "1", 0);
+ fiSub.addCommand("Show Disc", 28, infocomp_show_disc.getData() == "1", 0);
+ fiSub.addCommand("Show Album Artist", 25, infocomp_show_albumartist.getData() == "1", 0);
+ fiSub.addCommand("Show Composer", 26, infocomp_show_composer.getData() == "1", 0);
+ fiSub.addCommand("Show Publisher", 23, infocomp_show_publisher.getData() == "1", 0);
+ fiSub.addCommand("Show Decoder", 27, infocomp_show_format.getData() == "1", 0);
+ fiSub.addCommand("Show Song Rating", 20, infocomp_show_rating.getData() == "1", 0);
+ fiSub.addSeparator();
+ fiSub.addCommand("Cycle File Info", 30, infocomp_cycle.getData() == "1", 0);
+ fiSub.addSeparator();
+ //fiSub.addCommand("Open Links in Now Playing", 40, infocomp_nowplaying.getData() == "1", 0);
+ //fiSub.addCommand("Open Links in Browser", 41, infocomp_browser.getData() == "1", 0);
+
+ ProcessMenuResult (compMenu.popAtXY(clientToScreenX(compChoose.getLeft()), clientToScreenY(compChoose.getTop() + compChoose.getHeight())));
+ delete compMenu;
+ delete fiSub;
+ complete;
+}
+
+ProcessMenuResult (int a)
+{
+ if (a < 1) return;
+ if (a == 1)
+ {
+ ic_fileinfo.setData("1");
+ }
+ else if (a == 2)
+ {
+ ic_vis.setData("1");
+ }
+ else if (a == 3)
+ {
+ _plsc_ic_attrib.setData("1");
+ }
+#ifdef IC_COVERFLOW
+ else if (a == 7)
+ {
+ _cflow_ic_attrib.setData("1");
+ }
+#endif
+ else if (a == 4)
+ {
+ ic_eq.setData("1");
+ }
+ else if (a == 5)
+ {
+ ic_config.setData("1");
+ }
+#ifdef DOHIDEMCV
+ else if (a == 6)
+ {
+ ic_hidden.setData("1");
+ }
+#endif
+ else if (a == 11)
+ {
+ toggleAttrib(ic_cover_fileinfo);
+ }
+ else if (a == 12)
+ {
+ toggleAttrib(ic_vis_fileinfo);
+ }
+ else if (a == 20)
+ {
+ toggleAttrib(infocomp_show_rating);
+ }
+ else if (a == 21)
+ {
+ toggleAttrib(infocomp_show_year);
+ }
+ else if (a == 22)
+ {
+ toggleAttrib(infocomp_show_genre);
+ }
+ else if (a == 23)
+ {
+ toggleAttrib(infocomp_show_publisher);
+ }
+ else if (a == 24)
+ {
+ toggleAttrib(infocomp_show_track);
+ }
+ else if (a == 25)
+ {
+ toggleAttrib(infocomp_show_albumartist);
+ }
+ else if (a == 26)
+ {
+ toggleAttrib(infocomp_show_composer);
+ }
+ else if (a == 27)
+ {
+ toggleAttrib(infocomp_show_format);
+ }
+ else if (a == 28)
+ {
+ toggleAttrib(infocomp_show_disc);
+ }
+ else if (a == 30)
+ {
+ toggleAttrib(infocomp_cycle);
+ }
+/* else if (a == 40)
+ {
+ toggleAttrib(infocomp_nowplaying);
+ }
+ else if (a == 41)
+ {
+ toggleAttrib(infocomp_browser);
+ }
+*/
+}
+
+// Hiding footer buttons (for file info view)
+
+/* artist_info_buttons_attrib.onDataChanged ()
+{
+
+ updateFooter ();
+}
+*/
+
+g_footer.onResize (int x, int y, int w, int h)
+{
+ if (substract == 1)
+ w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 101;
+ else if (substract == 2)
+ w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 135;
+ else if (substract == 3)
+ w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 66;
+
+/* if (artist_info_buttons_attrib.getData() == "1")
+ {
+ if (w < 117) footerGrid.hide();
+ else footerGrid.show();
+
+ if (w < 97) nowPlayingBtn.hide();
+ else nowPlayingBtn.show();
+
+ if (w < 74) webSearchBtn.hide();
+ else webSearchBtn.show();
+ }
+ else
+ {
+ if (w < 70) footerGrid.hide();
+ else footerGrid.show();
+ nowPlayingBtn.hide();
+ webSearchBtn.hide();
+ }
+*/
+ if (w < 50) sendToBtn.hide();
+ else sendToBtn.show();
+
+ if (w < 26) compChoose.hide();
+ else compChoose.show();
+}
+
+updateFooter ()
+{
+ g_footer.onResize (0, 0, g_footer.getWidth(), 0);
+}
+
+#ifdef DOHIDEMCV
+// Switching back from no comp
+
+sg.onResize (int x, int y, int w, int h)
+{
+
+ if (ic_hidden.getData() == "0" || last_menu_sel == 0 || w == 0)// && dualwnd.getXmlParam("from") == "left")
+ {
+ return;
+ }
+ ProcessMenuResult (getPrivateInt(getSkinName(), "MCV last sel", 1));
+}
+
+// save last pos
+
+updateSaving (int l)
+{
+ if (last_menu_sel == l)
+ {
+ return;
+ }
+ if (last_menu_sel != 0) setPrivateInt(getSkinName(), "MCV last sel", last_menu_sel);
+ last_menu_sel = l;
+}
+#endif
+
+/** OSD */
+/*
+Global boolean mouse_is_over = FALSE;
+
+osd_trigger.onEnterArea ()
+{
+ //setXmlParam("ghost", "1");
+}
+
+osd_trigger.onMouseMove (int x, int y)
+{
+ if (!isMouseOverRect() && mouse_is_over)
+ {
+ mouse_is_over = 0;
+ component c = sui_vis_full.findObject("vis");
+ c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
+ c = sui_vis.findObject("vis");
+ c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
+ }
+ else if (isMouseOverRect() && !mouse_is_over)
+ {
+ mouse_is_over = 1;
+ component c = sui_vis_full.findObject("vis");
+ c.sendAction("setregion", "vis.button.region", 0, 0, 0, 0);
+ c = sui_vis.findObject("vis");
+ c.sendAction("setregion", "vis.button.region", 0, 0, 0, 0);
+ }
+}
+
+osd_trigger.onLeaveArea ()
+{
+ component c = sui_vis_full.findObject("vis");
+ c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
+}*/
+
+/** Calls after comp is shown */
+
+onCloseIC() {}
+onOpenIC() {}
+
+onShowCover() {}
+
+onHideCover() {}
+
+onShowFi() {}
+
+onHideFi() {}
+
+onShowEq() {}
+
+onHideEq() {}
+
+onShowCfg() {}
+
+onHideCfg() {}
+
+onShowVis()
+{
+ g_visbtns.show();
+}
+onHideVis()
+{
+ g_visbtns.hide();
+}
+
+onShowVis_Full() {}
+
+onHideVis_Full() {}
+
+#ifdef DOHIDEMCV
+onhideMCV() {}
+#endif
+
+fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh)
+{
+ if (!g) return;
+ g.setXmlParam("x", integerToString(x));
+ g.setXmlParam("y", integerToString(y));
+ g.setXmlParam("w", integerToString(w));
+ g.setXmlParam("h", integerToString(h));
+ g.setXmlParam("relatx", integerToString(rx));
+ g.setXmlParam("relaty", integerToString(ry));
+ g.setXmlParam("relatw", integerToString(rw));
+ g.setXmlParam("relath", integerToString(rh));
+} \ No newline at end of file
diff --git a/Src/resources/skins/Bento/scripts/mcvcore.maki b/Src/resources/skins/Bento/scripts/mcvcore.maki
new file mode 100644
index 00000000..336e7252
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/mcvcore.maki
Binary files differ
diff --git a/Src/resources/skins/Bento/scripts/mcvcore/load_handles.m b/Src/resources/skins/Bento/scripts/mcvcore/load_handles.m
new file mode 100644
index 00000000..607c2901
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/mcvcore/load_handles.m
@@ -0,0 +1,131 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: load_handles.m
+Version: 1.0
+
+Type: maki
+Date: 28. Dez. 2006 - 08:40
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/infocompcore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+System.onScriptLoaded ()
+{
+ initAttribs_windowpage();
+ initAttribs_vis();
+ initAttribs_Appearance();
+
+ debugString(DEBUG_PREFIX "System.onScriptLoded() {", 0);
+
+ sg = getScriptGroup();
+ main = sg.getParentLayout();
+
+ mainframe = main.getObject("player.mainframe");
+ dualwnd = mainframe.findObject("player.dualwnd");
+
+ sui_cover = sg.findObject("info.component.cover");
+ sui_vis = sg.findObject("info.component.vis");
+ sui_vis_full = sg.findObject("info.component.vis.full");
+ sui_vis_wdh = sui_vis.getObject("vis");
+ sui_vis_full_wdh = sui_vis_full.getObject("vis");
+ sui_fi = sg.findObject("info.component.infodisplay");
+ sui_eq = sg.findObject("info.component.eq");
+ sui_cfg = sg.findObject("info.component.config");
+#ifdef IC_COVERFLOW
+ _cflow_sui = sg.findObject("info.component.coverflow");
+#endif
+ _plsc_sui = sg.findObject("info.component.plsidecar");
+ g_footer = sg.findObject("infocomp.background.footer");
+ g_visbtns = g_footer.findObject("infocomp.visbuttons");
+ footerGrid = g_footer.findObject("footer.background.grid");
+
+ compChoose = sg.findObject("comp.menu");
+ sendToBtn = sg.findObject("sendTo");
+ //nowPlayingBtn = sg.findObject("nowplaying");
+ //webSearchBtn = sg.findObject("search");
+#ifdef DOHIDEMCV
+ last_menu_sel = getPrivateInt(getSkinName(), "MCV last sel", 1);
+#endif
+ callbackTimer = new Timer;
+ callbackTimer.setDelay(1);
+ tempDisable = new Timer;
+ tempDisable.setDelay(50);
+
+
+ if (ic_fileinfo.getData() == "1")
+ {
+ updateFileInfo ();
+ }
+ else if (ic_vis.getData() == "1")
+ {
+ switchToVis_Full();
+ }
+ else if (ic_eq.getData() == "1")
+ {
+ switchToEq();
+ }
+ else if (ic_config.getData() == "1")
+ {
+ switchToCfg();
+ }
+ else if (_plsc_ic_attrib.getData() == "1")
+ {
+ _plsc_switchTo();
+ }
+#ifdef IC_COVERFLOW
+ else if (_cflow_ic_attrib.getData() == "1")
+ {
+ _cflow_switchTo();
+ }
+#endif
+#ifdef DOHIDEMCV
+ else if (ic_hidden.getData() == "1")
+ {
+ hideMCV();
+ }
+#endif
+ startup_done = 1;
+ debugString(DEBUG_PREFIX "}", 0);
+ prevent_vis = 0;
+}
+
+updateFileInfo ()
+{
+ if (ic_vis_fileinfo.getData() == "1" && ic_cover_fileinfo.getData() == "1")
+ {
+ switchToVisCover();
+ }
+ else if (ic_vis_fileinfo.getData() == "1")
+ {
+ switchToVis();
+ }
+ else if (ic_cover_fileinfo.getData() == "1")
+ {
+ switchToCover();
+ }
+ else
+ {
+ switchToIcOnly();
+ }
+}
+
+System.onScriptUnloading ()
+{
+ debugString(DEBUG_PREFIX "System.onScriptUnloading() {", 0);
+
+ delete callbackTimer;
+ delete tempDisable;
+
+ debugString(DEBUG_PREFIX " delete Timers;", 0);
+ debugString(DEBUG_PREFIX "}", 0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Bento/scripts/mcvcore/show_hide.m b/Src/resources/skins/Bento/scripts/mcvcore/show_hide.m
new file mode 100644
index 00000000..0bea76b3
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/mcvcore/show_hide.m
@@ -0,0 +1,916 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: show_hide.m
+Version: 1.0
+
+Type: maki
+Date: 29. Nov. 2006 - 15:57
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/infocompcore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+switchToCover ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis();
+ hideVis_Full();
+ hideEq();
+ hideCfg();
+ openIC();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done)
+ {
+ ic_cover_fileinfo.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ mychange = 0;
+ substract = 0;
+ sui_cover.setXmlParam("x", "4");
+
+ dualwnd.setXmlParam("maxwidth", "-100");
+ dualwnd.sendAction("set_maxwidth", "", -100, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "90");
+ g_footer.setXmlParam("w", "-91");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showCover();
+ FIT_W_COMP;
+ updateSaving(1);
+}
+
+switchToVisCover ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideEq();
+ hideCfg();
+ openIC();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done)
+ {
+ ic_cover_fileinfo.setData("1");
+ ic_vis_fileinfo.setData("1");
+ vis_lefttoplayer_attrib.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ mychange = 0;
+ substract = 0;
+ sui_cover.setXmlParam("x", "92");
+
+ dualwnd.setXmlParam("maxwidth", "-188");
+ dualwnd.sendAction("set_maxwidth", "", -188, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "178");
+ g_footer.setXmlParam("w", "-179");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showCover();
+ showVis();
+ FIT_W2_COMP;
+ updateSaving(1);
+}
+switchToVis ()
+{
+ debugString(DEBUG_PREFIX "switchToVis();", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideCover();
+ hideVis_Full();
+ hideEq();
+ hideCfg();
+ openIC();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done)
+ {
+ ic_vis_fileinfo.setData("1");
+ vis_lefttoplayer_attrib.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ mychange = 0;
+ substract = 1;
+
+ dualwnd.setXmlParam("maxwidth", "-100");
+ dualwnd.sendAction("set_maxwidth", "", -100, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "90");
+ g_footer.setXmlParam("w", "-91");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showVis();
+ FIT_W_COMP;
+ updateSaving(1);
+}
+
+switchToIcOnly ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideEq();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done) ic_fileinfo.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-100");
+ dualwnd.sendAction("set_maxwidth", "", -100, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showFi();
+ FIT_WO_COMP;
+ updateSaving(1);
+}
+
+switchToEq ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ substract = 1;
+ ic_eq.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-196");
+ dualwnd.sendAction("set_maxwidth", "", -196, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showEq();
+ updateSaving(4);
+}
+
+switchToCfg ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideEq();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ ic_config.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 2;
+
+ dualwnd.setXmlParam("maxwidth", "-244");
+ dualwnd.sendAction("set_maxwidth", "", -244, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "75");
+ g_footer.setXmlParam("w", "-76");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showCfg();
+ updateSaving(5);
+}
+
+_Plsc_switchTo ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideEq();
+ hideCfg();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ _plsc_ic_attrib.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ _Plsc_show();
+ updateSaving(3);
+}
+
+#ifdef IC_COVERFLOW
+_Cflow_switchTo ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideEq();
+ hideCfg();
+ _Plsc_hide();
+ mychange = 1;
+ _cflow_ic_attrib.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ _Cflow_show();
+ updateSaving(3);
+}
+#endif
+
+switchToVis_Full ()
+{
+ debugString(DEBUG_PREFIX "switchToVis_FULL();", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ closeIC();
+ hideVis();
+ hideCover();
+ hideEq();
+ //hideFi();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ ic_vis.setData("1");
+ vis_lefttoplayer_full_attrib.setData("1");
+ mychange = 0;
+ substract = 1;
+
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showVis_Full();
+ updateSaving(2);
+}
+
+#ifdef DOHIDEMCV
+hideMCV ()
+{
+ debugString(DEBUG_PREFIX "hideMCV();", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ closeIC();
+ hideVis();
+ hideCover();
+ hideEq();
+ //hideFi();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ ic_hidden.setData("1");
+ mychange = 0;
+ updateSaving(0);
+ /*g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);*/
+// dualwnd.setXmlParam("maxwidth", "-8");
+// dualwnd.sendAction("set_maxwidth", "", -8, 0 , 0, 0);
+ dualwnd.setXmlParam("from", "left");
+ dualwnd.setXmlParam("minwidth", integerToString(8 - stringtoInteger(dualwnd.getXmlParam("maxwidth"))));
+ dualwnd.setXmlParam("maxwidth", "-155");
+ dualwnd.sendAction("set_maxwidth", "", -155, 0 , 0, 0);
+ dualwnd.setPosition(0);
+ updateSaving(6);
+}
+#endif
+
+tempDisable.onTimer()
+{
+ stop();
+}
+
+closeLC ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis();
+ hideCover();
+ hideCfg();
+ hideEq();
+ hideVis_Full();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+}
+
+closeIC ()
+{
+ debugString(DEBUG_PREFIX "closeIC() {", 0);
+
+ hideFi();
+
+ onCloseIC();
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+openIC ()
+{
+ debugString(DEBUG_PREFIX "openIC() {", 0);
+
+ showFi();
+
+ onOpenIC();
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+showFi()
+{
+ debugString(DEBUG_PREFIX "showFi() {", 0);
+
+ showing_fi = 1;
+ setPrivateString(getSkinName(), "Component3", "File Info");
+ GuiObject o = sui_fi;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) fi object not provided (show)", 0);
+#endif
+ onShowFi();
+ showing_Fi = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+hideFi()
+{
+ debugString(DEBUG_PREFIX "hideFi() {", 0);
+
+ hiding_Fi = 1;
+ GuiObject o = sui_fi;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) sfi object not provided (hide)", 0);
+#endif
+ onHideFi();
+ hiding_Fi = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+showVis()
+{
+ //if (vis_inbig_attrib.getData() == "1") return;
+ debugString(DEBUG_PREFIX "showVis() {", D_WTF);
+ showing_vis = 1;
+ GuiObject o = sui_vis;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) vis object not provided (show)", D_WTF);
+#endif
+ onShowVis();
+ showing_vis = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideVis()
+{
+ debugString(DEBUG_PREFIX "hideVis() {", D_WTF);
+
+ hiding_vis = 1;
+ GuiObject o = sui_vis;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) vis object not provided (hide)", D_WTF);
+#endif
+ onHideVis();
+ hiding_vis = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+showCover()
+{
+ debugString(DEBUG_PREFIX "showCover() {", 0);
+
+ showing_Cover = 1;
+ GuiObject o = sui_Cover;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Cover object not provided (show)", 0);
+#endif
+ onShowCover();
+ showing_Cover = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+hideCover()
+{
+ debugString(DEBUG_PREFIX "hideCover() {", 0);
+
+ hiding_Cover = 1;
+ GuiObject o = sui_Cover;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Cover object not provided (hide)", 0);
+#endif
+ onHideCover();
+ hiding_Cover = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+showVis_Full()
+{
+ debugString(DEBUG_PREFIX "showVis_Full() {", D_WTF);
+
+ showing_vis_full = 1;
+ GuiObject o = sui_vis_full;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (show)", D_WTF);
+#endif
+ onShowVis_Full();
+ showing_vis_full = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideVis_Full()
+{
+ debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
+
+ hiding_vis_full = 1;
+ GuiObject o = sui_vis_full;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (hide)", D_WTF);
+#endif
+ onHideVis_Full();
+ hiding_vis_full = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+showEq()
+{
+ debugString(DEBUG_PREFIX "showEq() {", D_WTF);
+
+ showing_eq = 1;
+ GuiObject o = sui_eq;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (show)", D_WTF);
+#endif
+ onShowEq();
+ showing_eq = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideEq()
+{
+ debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
+
+ hiding_eq = 1;
+ GuiObject o = sui_eq;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Eq object not provided (hide)", D_WTF);
+#endif
+ onHideEq();
+ hiding_eq = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+showCfg()
+{
+ debugString(DEBUG_PREFIX "showCfg() {", D_WTF);
+
+ showing_cfg = 1;
+ GuiObject o = sui_cfg;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) cfg_Full object not provided (show)", D_WTF);
+#endif
+ onShowcfg();
+ showing_cfg = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideCfg()
+{
+ debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
+
+ hiding_cfg = 1;
+ GuiObject o = sui_cfg;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) cfg object not provided (hide)", D_WTF);
+#endif
+ onHidecfg();
+ hiding_cfg = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+callbackTimer.onTimer()
+{
+ callbackTimer.stop();
+
+ debugString(DEBUG_PREFIX "callbackTimer();", D_WTF);
+
+ int _callback_showing_vis = callback_showing_vis;
+ int _callback_hiding_vis = callback_hiding_vis;
+ int _callback_showing_fi = callback_showing_fi;
+ int _callback_hiding_fi = callback_hiding_fi;
+ int _callback_showing_cover = callback_showing_cover;
+ int _callback_hiding_cover = callback_hiding_cover;
+ int _callback_showing_vis_full = callback_showing_vis_full;
+ int _callback_hiding_vis_full = callback_hiding_vis_full;
+ int _callback_showing_eq = callback_showing_eq;
+ int _callback_hiding_eq = callback_hiding_eq;
+ int _callback_showing_cfg = callback_showing_cfg;
+ int _callback_hiding_cfg = callback_hiding_cfg;
+ int _plsc_callback_showing_temp = _plsc_callback_showing;
+ int _plsc_callback_hiding_temp = _plsc_callback_hiding;
+#ifdef IC_COVERFLOW
+ int _cflow_callback_showing_temp = _cflow_callback_showing;
+ int _cflow_callback_hiding_temp = _cflow_callback_hiding;
+#endif
+
+ callback_showing_vis = 0;
+ callback_hiding_vis = 0;
+ callback_showing_fi = 0;
+ callback_hiding_fi = 0;
+ callback_showing_cover = 0;
+ callback_hiding_cover = 0;
+ callback_showing_vis_full = 0;
+ callback_hiding_vis_full = 0;
+ callback_showing_eq = 0;
+ callback_hiding_eq = 0;
+ callback_showing_cfg = 0;
+ callback_hiding_cfg = 0;
+ _plsc_callback_showing = 0;
+ _plsc_callback_hiding = 0;
+#ifdef IC_COVERFLOW
+ _cflow_callback_showing = 0;
+ _cflow_callback_hiding = 0;
+#endif
+
+ if (_callback_showing_vis == 1)
+ {
+ ic_vis_fileinfo.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ if (_callback_hiding_vis == 1)
+ {
+ ic_vis_fileinfo.setData("0");
+ }
+ if (_callback_showing_fi == 1)
+ {
+ showFi();
+ }
+ if (_callback_hiding_fi == 1)
+ {
+ hideFi();
+ }
+ if (_callback_showing_cover == 1)
+ {
+ ic_cover_fileinfo.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ if (_callback_hiding_cover == 1)
+ {
+ ic_cover_fileinfo.setData("0");
+ }
+ if (_callback_showing_vis_full == 1)
+ {
+ switchToVis_Full();
+ }
+ if (_callback_hiding_vis_full == 1)
+ {
+ hideVis_Full();
+ }
+ if (_callback_showing_eq == 1)
+ {
+ switchToEq();
+ }
+ if (_callback_hiding_eq == 1)
+ {
+ hideEq();
+ }
+ if (_callback_showing_cfg == 1)
+ {
+ switchTocfg();
+ }
+ if (_callback_hiding_cfg == 1)
+ {
+ hidecfg();
+ }
+ if (_plsc_callback_showing_temp == 1)
+ {
+ _Plsc_switchTo();
+ }
+ if (_plsc_callback_hiding_temp == 1)
+ {
+ _Plsc_hide();
+ }
+#ifdef IC_COVERFLOW
+ if (_cflow_callback_showing_temp == 1)
+ {
+ _Cflow_switchTo();
+ }
+ if (_cflow_callback_hiding_temp == 1)
+ {
+ _Cflow_hide();
+ }
+#endif
+}
+
+dc_showFi ()
+{
+ callback_showing_fi = 1;
+ callback_hiding_fi = 0;
+ callbackTimer.start();
+}
+
+dc_hideFi ()
+{
+ callback_showing_fi = 0;
+ callback_hiding_fi = 1;
+ callbackTimer.start();
+}
+
+dc_showCover ()
+{
+ callback_showing_cover = 1;
+ callback_hiding_cover = 0;
+ callbackTimer.start();
+}
+
+dc_hideCover ()
+{
+ callback_showing_cover = 0;
+ callback_hiding_cover = 1;
+ callbackTimer.start();
+}
+
+dc_showVis ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis();", D_WTF);
+ callback_showing_vis = 1;
+ callback_hiding_vis = 0;
+ callbackTimer.start();
+}
+
+dc_hideVis ()
+{
+ callback_showing_vis = 0;
+ callback_hiding_vis = 1;
+ callbackTimer.start();
+}
+
+dc_showVis_Full ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
+ callback_showing_vis_full = 1;
+ callback_hiding_vis_full = 0;
+ callbackTimer.start();
+}
+
+dc_hideVis_Full ()
+{
+ callback_showing_vis_full = 0;
+ callback_hiding_vis_full = 1;
+ callbackTimer.start();
+}
+
+dc_showEq ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
+ callback_showing_eq = 1;
+ callback_hiding_eq = 0;
+ callbackTimer.start();
+}
+
+dc_hideEq ()
+{
+ callback_showing_eq = 0;
+ callback_hiding_eq = 1;
+ callbackTimer.start();
+}
+
+dc_showCfg ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
+ callback_showing_Cfg = 1;
+ callback_hiding_Cfg = 0;
+ callbackTimer.start();
+}
+
+dc_hideCfg ()
+{
+ callback_showing_Cfg = 0;
+ callback_hiding_Cfg = 1;
+ callbackTimer.start();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Bento/scripts/playlistpro.m b/Src/resources/skins/Bento/scripts/playlistpro.m
new file mode 100644
index 00000000..17532b21
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/playlistpro.m
@@ -0,0 +1,426 @@
+/*
+
+PlaylistPro build 005
+Originally done by pjn123 (www.skinconsortium.com) for the Classic Pro plugin
+
+*/
+
+#include "lib/std.mi"
+#include "lib/pldir.mi"
+#include "init_Playlist.m"
+
+Function resizeResults(int items);
+Function doSearch(String input);
+Function setSearchBox(boolean onOff);
+Function clearSearchBox();
+Function int getPlEntry(int search_item);
+Function String replaceString(string baseString, string toreplace, string replacedby);
+
+Global Group frameGroup, topbar;
+Global Edit searchBox;
+Global Text helpSearch, searchNews;// fakeText;
+Global GuiObject fakeSB, searchXUI, searchButtonXui;
+Global Button searchButton, clearButton, clearButtonText;
+Global GuiList searchResults;
+Global Boolean foundsomething;
+Global int tn, h_tune;
+Global String temptoken;
+Global Windowholder plwh;
+GLobal Timer refreshActiveCheck;
+Global PopupMenu search_rc;
+
+Global Container results_container;
+Global Layout results_layout, main_layout;
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ topbar = frameGroup.findObject("PlaylistPro.topbar");
+ plwh = frameGroup.findObject("wdh.playlist");
+
+ searchBox = frameGroup.findObject("wasabi.edit.box");
+ searchXUI = frameGroup.findObject("pl.search.edit");
+ searchButton = frameGroup.findObject("pl.search.go");
+ searchButtonXui = frameGroup.findObject("pl.search.go");
+ fakeSB = frameGroup.findObject("pl.search.edit.rect");
+ clearButton = frameGroup.findObject("pl.search.edit.clear");
+ clearButtonText = frameGroup.findObject("pl.search.edit.clear.text");
+ helpSearch = frameGroup.findObject("pl.search.edit.searchhelp");
+ //fakeText = frameGroup.findObject("pl.search.go.text.fake");
+
+ results_container = newDynamicContainer("searchresults");
+ results_layout = results_container.getLayout("normal");
+ searchResults = results_layout.findObject("PlaylistPro.list");
+ searchResults.setFontSize(16);
+ searchNews = results_layout.findObject("PlaylistPro.list.news");
+
+ main_layout = getContainer("main").getLayout("normal");
+
+ initAttribs_Playlist();
+
+ //translation workaround
+ /*searchButtonXui.setXmlParam("text", System.translate("Search"));
+ searchButtonXui.setXmlParam("x", integerToString(-1*fakeText.getAutoWidth()-4));
+ searchButtonXui.setXmlParam("w", integerToString(fakeText.getAutoWidth()+2));
+ searchXUI.setXmlParam("w", integerToString(-1*fakeText.getAutoWidth()-9));*/
+
+ refreshActiveCheck = new Timer;
+ refreshActiveCheck.setDelay(100);
+}
+System.onScriptUnLoading() {
+ delete refreshActiveCheck;
+}
+
+refreshActiveCheck.onTimer(){
+ if((!System.isAppActive() || System.isMinimized()) && results_layout.isVisible() ) results_layout.hide();
+}
+
+results_layout.onSetVisible(boolean onOff){
+ if(onOff){
+ refreshActiveCheck.start();
+ }
+ else{
+ refreshActiveCheck.stop();
+ }
+}
+
+System.onShowLayout(Layout _layout){
+ if(main_layout.isVisible()) results_layout.setXmlParam("ontop", "1");
+}
+
+frameGroup.onSetVisible(boolean onOff){
+ if(!onOff) clearSearchBox();
+}
+
+searchButton.onLeftClick(){
+ doSearch(searchBox.getText());
+}
+
+resizeResults(int items){
+ /*results_layout.setTargetX(results_layout.getLeft());
+ results_layout.setTargetY(results_layout.getTop());
+ results_layout.setTargetW(results_layout.getWidth());
+ results_layout.setTargetH(500);
+ results_layout.setTargetSpeed(1);
+ results_layout.gotoTarget();*/
+
+ //items++; //temp add one extra for info... xx items found
+ if(items>20) items=20;
+
+
+ if(items>=1) h_tune=29;
+ else h_tune=25;
+
+ //results_layout.setXmlParam("h", integerToString(20+items*18));
+
+ /*results_layout.setTargetX(results_layout.getLeft());
+ results_layout.setTargetY(results_layout.getTop());
+ results_layout.setTargetW(results_layout.getWidth());
+ results_layout.setTargetH(h_tune+items*16);
+ results_layout.setTargetSpeed(0.3);
+ results_layout.gotoTarget();*/
+ results_layout.resize(results_layout.getLeft(), results_layout.getTop(), results_layout.getWidth(), h_tune+items*16);
+}
+
+searchBox.onEnter(){
+ doSearch(searchBox.getText());
+}
+
+doSearch(String input){
+ if(input==""){
+ clearSearchBox();
+ return;
+ }
+
+ //search history stuff
+ String history = getPublicString("cPro.PlaylistPro.history", "");
+ history = replaceString(history, input, "");
+ history = replaceString(history, ";;", ";");
+ if(strleft(history, 1)==";") history = strright(history, strlen(history)-1);
+ if(strright(history, 1)==";") history = strleft(history, strlen(history)-1);
+ if(history=="") history= input;
+ else history= input+";"+history;
+
+ String output = getToken(history, ";", 0);
+ for(int i = 1; i<15; i++){
+ if(getToken(history, ";", i)=="") break;
+ output+=";"+getToken(history, ";", i);
+ }
+ setPublicString("cPro.PlaylistPro.history", history);
+
+
+ int itemsfound = 0;
+ input = strlower(input);
+
+ results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
+ results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
+ results_layout.setXmlParam("w", integerToString(frameGroup.getWidth()-19));
+
+ if(!results_layout.isVisible()) results_layout.setXmlParam("h", "1");
+
+ searchResults.deleteAllItems();
+ searchResults.scrollToItem(0);
+
+ for(int i = 0; i<PlEdit.getNumTracks(); i++){
+ foundsomething=false;
+
+ for(tn = 0; tn<10; tn++){
+ if(getToken(input, " ", tn)==""){
+ break;
+ }
+
+ temptoken = getToken(input, " ", tn);
+ if(strsearch(strlower(PlEdit.getTitle(i) + " " + PlEdit.getFileName(i)), temptoken)>=0){
+ foundsomething=true;
+ }
+ else{
+ foundsomething=false;
+ }
+
+ if(!foundsomething){
+ break;
+ }
+ }
+
+ if(foundsomething){
+ itemsfound++;
+ searchResults.addItem(integerToString(i+1)+". " + PlEdit.getTitle(i));
+ if(itemsfound>500){
+ searchNews.setText("Search result limited to 500 items");
+ break;
+ }
+ }
+ }
+
+ if(itemsfound==0){
+ searchNews.setText("Nothing was found");
+ }
+ else if(itemsfound<=500){
+ searchNews.setText(System.translate("Items found: ") +integerToString(itemsfound));
+ }
+
+ if(!results_layout.isVisible()) results_layout.show();
+
+ // Fix if always on top is enabled.. it just refresh the ontop ;)
+ results_layout.setXmlParam("ontop", "1");
+
+ resizeResults(itemsfound);
+}
+
+searchResults.onDoubleClick(Int itemnum){
+ PlEdit.playTrack (getPlEntry(itemnum));
+ setSearchBox(false);
+}
+
+searchResults.onRightClick(Int itemnum){
+ search_rc = new PopupMenu;
+ search_rc.addCommand("Move selected to top", 1, 0, 0);
+ search_rc.addCommand("Move selected to bottom", 2, 0, 0);
+ search_rc.addCommand("Move selected after current", 3, 0, 0);
+ search_rc.addCommand("Move selected together", 4, 0, 0);
+ search_rc.addSeparator();
+ search_rc.addCommand("Remove selected from playlist", 5, 0, 0);
+ int result = search_rc.popAtMouse();
+ delete search_rc;
+
+ int lastselected = searchResults.getFirstItemSelected();
+ int itemcounter = 1;
+
+ if(result==1){
+ PlEdit.moveTo (getPlEntry(lastselected), 0);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected), itemcounter);
+ itemcounter++;
+ }
+ PlEdit.showTrack(0);
+ }
+ else if(result==2){
+ PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getNumTracks ()-1);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected)-itemcounter, PlEdit.getNumTracks ()-1);
+ itemcounter++;
+ }
+ PlEdit.showTrack(PlEdit.getNumTracks ()-1);
+ }
+ else if(result==3){
+ int align = 0;
+ int orignalPos = PlEdit.getCurrentIndex();
+ int temp = getPlEntry(lastselected);
+ if(PlEdit.getCurrentIndex() > temp) align++;
+
+ if(orignalPos > getPlEntry(lastselected)) PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex());
+ else PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+1);
+
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+
+ if(orignalPos != getPlEntry(lastselected)){
+ if(orignalPos > getPlEntry(lastselected)){
+ PlEdit.moveTo (getPlEntry(lastselected)-align, PlEdit.getCurrentIndex()+itemcounter);
+ }
+ else{
+ PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+itemcounter+1);
+ }
+
+ temp = getPlEntry(lastselected);
+ if(orignalPos > temp) align++;
+ itemcounter++;
+ }
+ }
+ PlEdit.showCurrentlyPlayingTrack();
+ }
+ else if(result==4){
+ int startpos = getPlEntry(lastselected);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected), startpos+itemcounter);
+ itemcounter++;
+ }
+ PlEdit.showTrack(startpos);
+ }
+ else if(result==5){
+ PlEdit.removeTrack (getPlEntry(lastselected));
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.removeTrack (getPlEntry(lastselected)-itemcounter);
+ itemcounter++;
+ }
+ }
+
+ else return;
+
+ //hides the search
+ setSearchBox(false);
+}
+
+int getPlEntry(int search_item){
+ return stringToInteger(getToken(searchResults.getItemLabel(search_item,0), ". ", 0))-1;
+}
+
+setSearchBox(boolean onOff){
+ if(onOff){
+ searchBox.show();
+ clearButton.show();
+ clearButtonText.show();
+ helpSearch.hide();
+ searchBox.setFocus();
+ }
+ else{
+ searchBox.hide();
+ clearButton.hide();
+ clearButtonText.hide();
+ helpSearch.show();
+ results_layout.hide();
+ }
+}
+
+fakeSB.onLeftButtonDown(int x, int y){
+ setSearchBox(true);
+}
+fakeSB.onRightButtonDown(int x, int y){
+ search_rc = new PopupMenu;
+ search_rc.addCommand("** Search history **", 0, 0, 1);
+ search_rc.addSeparator();
+
+ String history = getPublicString("cPro.PlaylistPro.history", "");
+ boolean historyfound=false;
+ for(int i=0;i<15;i++){
+ String historyitem = getToken(history, ";", i);
+ if(historyitem==""){
+ if(i>0) historyfound=true;
+ break;
+ }
+ search_rc.addCommand(historyitem, i+1, 0, 0);
+ }
+ if(historyfound) search_rc.addSeparator();
+ search_rc.addCommand("Clear History", 100, 0, 0);
+
+ int result = search_rc.popAtMouse();
+ delete search_rc;
+
+ if(result>0 && result<100){
+ setSearchBox(true);
+ searchBox.setText(getToken(history, ";", result-1));
+ searchButton.leftClick();
+ }
+ else if(result==100){
+ setPublicString("cPro.PlaylistPro.history", "");
+ }
+}
+
+clearSearchBox(){
+ searchBox.setText("");
+ setSearchBox(false);
+}
+
+main_layout.onMove(){
+ if(results_layout.isVisible()){
+ results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
+ results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
+ results_layout.setXmlParam("ontop", "1");
+ }
+}
+main_layout.onResize(int x, int y, int w, int h){
+ if(results_layout.isVisible()) clearSearchBox();
+}
+
+frameGroup.onResize(int x, int y, int w, int h){
+ if(results_layout.isVisible()) clearSearchBox();
+
+ //if(playlist_search_attib.getData()=="0") return;
+
+ if(h<102 || playlist_search_attrib.getData()=="0"){
+
+ if(!topbar.isVisible()) return; //Don't do the same code over and over
+
+ topbar.hide();
+ plwh.setXmlParam("y", "0");
+ plwh.setXmlParam("h", "0");
+ }
+ else{
+ if(topbar.isVisible()) return; //Don't do the same code over and over
+
+ topbar.show();
+ plwh.setXmlParam("y", "30");
+ plwh.setXmlParam("h", "-30");
+ }
+}
+
+clearButton.onLeftClick(){
+ clearSearchBox();
+}
+
+playlist_search_attrib.onDataChanged(){
+ frameGroup.onResize(frameGroup.getLeft(), frameGroup.getTop(), frameGroup.getWidth(), frameGroup.getHeight());
+ //debug("abc " + getData());
+
+ if (getData() == "0"){
+ topbar.hide();
+ plwh.setXMLParam("y", "0");
+ plwh.setXMLParam("h", "0");
+ }
+ else if(getData() == "1"){
+
+ topbar.show();
+ plwh.setXMLParam("y", "30");
+ plwh.setXMLParam("h", "-30");
+
+ }
+}
+
+
+
+String replaceString(string baseString, string toreplace, string replacedby){
+ if (toreplace == "") return baseString;
+ string sf1 = strupper(baseString);
+ string sf2 = strupper(toreplace);
+ int i = strsearch(sf1, sf2);
+ if (i == -1) return baseString;
+ string left = "", right = "";
+ if (i != 0) left = strleft(baseString, i);
+ if (strlen(basestring) - i - strlen(toreplace) != 0) {
+ right = strright(basestring, strlen(basestring) - i - strlen(toreplace));
+ }
+ return left + replacedby + right;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Bento/scripts/playlistpro.maki b/Src/resources/skins/Bento/scripts/playlistpro.maki
new file mode 100644
index 00000000..3db3ab8f
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/playlistpro.maki
Binary files differ
diff --git a/Src/resources/skins/Bento/scripts/pledit.m b/Src/resources/skins/Bento/scripts/pledit.m
new file mode 100644
index 00000000..87b2cf31
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/pledit.m
@@ -0,0 +1,619 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: pledit.m
+Version: 3.1
+
+Type: maki
+Date: 18. Sep. 2007 - 19:42
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+//#define DEBUG
+#define FILE_NAME "pledit.m"
+#include <lib/com/debug.m>
+
+#define PL_GUID "{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D}"
+#define PLC_POPPLER_POS 200
+
+#include "../../Big Bento/scripts/attribs/init_playlist.m"
+
+Function fitContent (int playlistw, int playlistx);
+Function fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh);
+Function int updatePoppler(int w);
+Function int updateMainPoppler(int w);
+
+Global Frame dualwnd, pl_dualwnd, mainframe;
+
+Global Group g_playlist, g_player, g_sui, g_buttons, g_mcv, g_cover, g_upper, wdh_pl;
+Global Button p_enlarge, p_small;
+Global Button p_resize;
+Global int down_x, down_gx, isresizing;
+Global layout normal;
+Global Container player;
+//Global WindowHolder wdh_pl;
+Global Text pl_time;
+
+Global Button pe_add, pe_rem, pe_sel, pe_misc, pe_manage;
+
+Global Boolean startup, isBig, bypass_nocomp;
+
+Global Timer dc_openPl, dc_closePl, dc_loadWnd;
+
+Global Int COMP_Y, COMP_H, SUI_Y, SUI_H, BOTTOMSPACER, MAX_PL_H;
+Global Int DEF_PL_W, SIDESPACER;
+
+Global Int min_infowidth;
+
+
+System.onScriptLoaded ()
+{
+ initAttribs_Playlist();
+ normal = getScriptGroup();
+ player = normal.getContainer();
+
+ isBig = (getParam() == "big");
+ if (isBig)
+ {
+ mainframe = normal.getObject("player.mainframe.big");
+ }
+ else
+ {
+ mainframe = normal.getObject("player.mainframe");
+ }
+
+ dualwnd = mainframe.findObject("player.dualwnd");
+ g_mcv = dualwnd.findObject("player.component.fileinfo");
+ g_upper = dualwnd.findObject("player.component.playlist.frame");
+ pl_dualwnd = dualwnd.findObject("playlist.dualwnd");
+ g_playlist = pl_dualwnd.findObject("player.component.playlist");
+ g_cover = pl_dualwnd.findObject("player.component.playlist.albumart");
+ g_player = dualwnd.findObject("player.layout");
+ g_sui = normal.getObject("sui.content");
+ g_buttons = g_playlist.getObject("player.component.playlist.buttons");
+ p_enlarge = g_buttons.getObject("player.playlist.enlarge");
+ p_small = g_buttons.getObject("player.playlist.small");
+ p_resize = g_playlist.getObject("player.resize");
+ wdh_pl = g_playlist.getObject("playlistpro");
+ pl_time = g_buttons.getObject("PLTime");
+
+ pe_add = g_buttons.getObject("player.playlist.add");
+ pe_rem = g_buttons.getObject("player.playlist.rem");
+ pe_sel = g_buttons.getObject("player.playlist.sel");
+ pe_misc = g_buttons.getObject("player.playlist.misc");
+ pe_manage = g_buttons.getObject("player.playlist.manage");
+
+ min_infowidth = stringtoInteger(dualwnd.getXmlParam("maxwidth"));
+
+ dc_openPl = new Timer;
+ dc_openPl.setDelay(1);
+
+ dc_closePl = new Timer;
+ dc_closePl.setDelay(1);
+
+ dc_loadWnd = new Timer;
+ dc_loadWnd.setDelay(1);
+
+ // Global Definitions:
+
+ DEF_PL_W = g_playlist.getGuiW(); // (-)
+ SIDESPACER = g_sui.getGuiX(); // (+)
+ COMP_Y = mainframe.getGuiY(); // (+)
+ COMP_H = mainframe.getGuiH(); // (+)
+ SUI_Y = g_sui.getGuiY(); // (+)
+ SUI_H = g_sui.getGuiH(); // (-)
+ BOTTOMSPACER = SUI_Y + SUI_H; // (-)
+ MAX_PL_H = BOTTOMSPACER - COMP_Y; // (-)
+
+ startup = 1;
+
+ // show playlist album art if checked
+ playlist_cover_attrib.onDataChanged();
+
+ //Bento v0.8 hack
+ if (mainframe.getPosition() < stringToInteger(mainframe.getXmlParam("minwidth")))
+ {
+ mainframe.setPosition(stringToInteger(mainframe.getXmlParam("minwidth")));
+ }
+}
+
+system.onScriptUnloading ()
+{
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ delete dc_loadWnd;
+}
+
+dc_loadWnd.onTimer ()
+{
+ stop();
+ int pos = dualwnd.getPosition();
+ if (pos > 0) updatePoppler(pos);
+ playlist_enlarge_attrib.onDataChanged();
+
+ if (dualwnd.getPosition() > 0
+#ifdef DOHIDEMCV
+ || dualwnd.getXMlParam("from") == "left"
+#endif
+ ) dc_openPL.start();
+
+
+ else wdh_pl.hide(); //hideWa2Component(PL_GUID);
+}
+
+playlist_enlarge_attrib.onDataChanged ()
+{
+ int pl_w = dualwnd.getPosition();
+
+#ifdef DOHIDEMCV
+ if (dualwnd.getXmlParam("from") == "left")
+ {
+ pl_w = dualwnd.getWidth() - 8;
+ }
+#endif
+
+ int pl_x = 0 - ( pl_w + SIDESPACER ); // (-)
+
+ if (getData() == "1")
+ {
+ int sui_w = pl_x - SIDESPACER; // (-)
+
+ dualwnd.setXmlParam("relath", "1");
+ dualwnd.setXmlParam("h", integerToString(0));
+ mainframe.setXmlParam("relath", "1");
+ mainframe.setXmlParam("h", integerToString(MAX_PL_H));
+
+ g_sui.setXmlParam("w", integerToString(sui_w-8));
+
+ int pos = getPrivateInt(getSkinName(), "playlist_cover_poppler", PLC_POPPLER_POS);
+ if (playlist_cover_attrib.getData() == "1" && pos > 0 && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
+ {
+ g_cover.show();
+ pl_dualwnd.setPosition (pos);
+ }
+ else
+ {
+ pl_dualwnd.setPosition (0);
+ g_cover.hide();
+ }
+
+ p_enlarge.hide();
+ p_small.show();
+ }
+ else
+ {
+ int sui_w = 0 - SIDESPACER - SIDESPACER; // (-)
+ int pc_w = pl_x - SIDESPACER; // (-)
+
+ g_cover.hide();
+
+ if (playlist_cover_attrib.getData() == "1")
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ }
+ pl_dualwnd.setPosition (0);
+
+ dualwnd.setXmlParam("h", integerToString(COMP_H-3));
+ dualwnd.setXmlParam("relath", "0");
+ mainframe.setXmlParam("h", integerToString(COMP_H));
+ mainframe.setXmlParam("relath", "0");
+
+ g_sui.setXmlParam("w", integerToString(sui_w));
+ p_enlarge.show();
+ p_small.hide();
+ }
+}
+
+g_playlist.onResize (int x, int y, int w, int h)
+{
+ int pos = dualwnd.getPosition();
+ debugString(integerToString(pos), 9);
+ updateMainPoppler(min_infowidth - pos - 8);
+
+ if (pos > 0
+#ifdef DOHIDEMCV
+ || dualwnd.getXMlParam("from") == "left"
+#endif
+ )
+ {
+ //setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
+ if (!wdh_pl.isVisible())
+ {
+ setPrivateString(getSkinName(), "Pledit_pos", "top");
+ g_sui.sendAction("hide_comp", "pe", 0,0,0,0);
+
+ dc_openPl.start();
+ }
+
+ if (isBig)
+ {
+ if (w > 189)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.show();
+ }
+ else if (w <= 189 && w >158)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.hide();
+ }
+ else if (w <= 158 && w >127)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 127 && w >96)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 96 && w >65)
+ {
+ pe_add.show();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else
+ {
+ pe_add.hide();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ }
+ else
+ {
+ if (w > 146)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.show();
+ }
+ else if (w <= 146 && w >122)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.hide();
+ }
+ else if (w <= 122 && w >98)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 98 && w >74)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 74 && w >50)
+ {
+ pe_add.show();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else
+ {
+ pe_add.hide();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ }
+ }
+ else wdh_pl.hide();
+ if (playlist_enlarge_attrib.getdata() == "1")
+ {
+ int sui_w = - g_playlist.getWidth() - (2 * SIDESPACER) - 8;
+ g_sui.setXmlParam("w", integerToString(sui_w));
+ if (startup)
+ {
+ startup = 0;
+ mainframe.setXmlParam("relath", "1");
+ mainframe.setXmlParam("h", integerToString(MAX_PL_H));
+ dualwnd.setXmlParam("relath", "1");
+ dualwnd.setXmlParam("h", integerToString(0));
+ }
+ }
+}
+
+normal.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ playlist_enlarge_attrib.onDataChanged();
+ int pos = dualwnd.getPosition();
+ if (pos > 0
+#ifdef DOHIDEMCV
+ || dualwnd.getXMlParam("from") == "left"
+#endif
+ )
+ {
+ updatePoppler(pos);
+ dc_openPL.start();
+ }
+ else wdh_pl.hide();//hideWa2Component(PL_GUID);
+ }
+}
+
+normal.onUserResize (int x, int y, int w, int h)
+{
+ int pos = dualwnd.getPosition();
+ if (pos > 0) updatePoppler(pos);
+}
+
+/** Hide pl_time if it cannot be full displayed */
+
+pl_time.onResize (int x, int y, int w, int h)
+{
+ if (w < getTextWidth())
+ {
+ hide();
+ }
+ else
+ {
+ show();
+ }
+}
+
+pl_time.onTextChanged (String newtxt)
+{
+ if (getWidth() < getTextWidth())
+ {
+ hide();
+ }
+ else
+ {
+ show();
+ }
+}
+
+/** Playlist Component Handling */
+
+System.onGetCancelComponent (String guid, boolean goingvisible)
+{
+ if (getPrivateString(getSkinName(), "Pledit_pos", "top") == "sui")
+ {
+ return;
+ }
+
+ debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " )", D_WTF);
+ if (guid == PL_GUID)
+ {
+ Boolean isShade = player.getCurLayout() != normal;
+ if (goingvisible == TRUE && !isShade)
+ {
+ int poppler_w = getPrivateInt(getSkinName(), "pledit poppler width", 200);
+ if (poppler_w < 1) poppler_w = 200;
+ g_playlist.show();
+ updatePoppler(poppler_w);
+ dc_openPl.start();
+ return FALSE;
+ }
+ else
+ {
+ if (dualwnd.getPosition() > 0) setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
+ wdh_pl.hide();
+ dualwnd.setPosition(0);
+ return FALSE;
+ }
+ }
+}
+
+normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (action == "load_comp" && strlower(param) == "pledit")
+ {
+ int poppler_w = getPrivateInt(getSkinName(), "pledit poppler width", 200);
+ if (dualwnd.getPosition() > 0) poppler_w = dualwnd.getPosition();
+ if (dualwnd.getPosition() == 0) poppler_w = 200;
+ updatePoppler(poppler_w);
+ dc_openPl.start();
+ }
+ if (action == "hide_comp" && strlower(param) == "pledit")
+ {
+ setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
+ wdh_pl.hide();
+ dualwnd.setPosition(0);
+ }
+ if (action == "pledit_posupdate")
+ {
+ int pos = dualwnd.getPosition();
+ if (pos > 0) updatePoppler(pos);
+ }
+ if (action == "sui")
+ {
+ if (param == "tonocomp")
+ {
+ if (playlist_cover_attrib.getData() == "1")
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ }
+ bypass_nocomp = TRUE; //we need to add a bypass otherwise playlist_cover_attrib will be turned OFF
+ pl_dualwnd.setPosition (0);
+ g_cover.hide();
+ bypass_nocomp = FALSE;
+ }
+ else if (param == "fromnocomp")
+ {
+ playlist_cover_attrib.onDataChanged ();
+ }
+ }
+}
+
+dualwnd.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (action == "set_maxwidth")
+ {
+ // update poppler for playlist/infocomp
+ updatePoppler(dualwnd.getPosition());
+ // update poppler bands for player/infocomp
+ min_infowidth = x;
+ updateMainPoppler(min_infowidth - dualwnd.getPosition() - 8);
+ }
+}
+
+wdh_pl.onSetVisible (Boolean onoff)
+{
+ debugString("wdh_pl set visible: " + integerToString(onoff), 9);
+ if (onoff)
+ {
+ playlist_cover_attrib.onDataChanged();
+ }
+ else
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ }
+}
+
+updatePoppler(int w)
+{
+ if (dualwnd.getPosition() == 0 && w == 0) return;
+ int min_w = stringToInteger(dualwnd.getXmlParam("minwidth"));
+ int max_w = stringToInteger(dualwnd.getXmlParam("maxwidth"));
+ if (max_w < 0) max_w = dualwnd.getWidth() + max_w;
+ debugString("max_w: " + integerToString(max_w), 9);
+ boolean reset = FALSE;
+ reset += (w == 0);
+ reset += (w < min_w);
+ if (reset) w = min_w;
+
+ // Prevent the playlist from overlapping the player
+ if (w > max_w)
+ {
+ w = max_w;
+
+ // Resize the player to get more space
+ if (max_w < min_w)
+ {
+ w = min_w;
+ int mainframe_pos = mainframe.getPosition() - (min_w - max_w); // I need to save this in a variable first, otherwise mainframe.setPos will crash...
+ mainframe.setPosition(mainframe_pos);
+ }
+ }
+ debugString("set poppler: " + integerToString(w), 9);
+ dualwnd.setPosition(w);
+}
+
+updateMainPoppler (int w)
+{
+ mainframe.setXmlparam("maxwidth", integerToString(w));
+}
+
+dc_openPl.onTimer ()
+{
+ dc_openPl.stop();
+ debugString("dc_openPl called!", 9);
+ wdh_pl.show();
+ g_playlist.show();
+ g_upper.show();
+ //if (!wdh_pl.isVisible()) debugInt(g_playlist.getWidth());
+}
+
+dc_closePl.onTimer ()
+{
+ dc_closePl.stop();
+ wdh_pl.hide();
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// Playlist Album Art Handles
+//----------------------------------------------------------------------------------------------------------------
+
+Global boolean attrib_bypass = false;
+
+playlist_cover_attrib.onDataChanged ()
+{
+ if (attrib_bypass)
+ return;
+
+ if (playlist_enlarge_attrib.getData() == "0")
+ return;
+
+ if (getData() == "1")
+ {
+ int pos = getPrivateInt(getSkinName(), "playlist_cover_poppler", PLC_POPPLER_POS);
+ if (pos > 0 && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
+ {
+ pl_dualwnd.setPosition (pos);
+ g_cover.show();
+ }
+ else
+ {
+ pl_dualwnd.setPosition (0);
+ g_cover.hide();
+ }
+ }
+ else
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ pl_dualwnd.setPosition(0);
+ g_cover.hide();
+ }
+}
+
+Global Boolean bypass;
+
+player.onBeforeSwitchToLayout (Layout oldlayout, Layout newlayout)
+{
+ if (oldlayout == normal)
+ {
+ bypass = 1;
+ }
+}
+
+g_cover.onSetVisible (Boolean onoff)
+{
+ if (bypass)
+ {
+ bypass = 0;
+ return;
+ }
+
+ if (!onoff && !bypass_nocomp && playlist_cover_attrib.getdata() == "1" && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden" && playlist_enlarge_attrib.getData() == "1" && dualwnd.getPosition() > 0)
+ {
+ playlist_cover_attrib.setdata("0");
+ }
+ else if (onoff && !bypass_nocomp && playlist_cover_attrib.getdata() == "0" && dualwnd.getPosition() > 0)
+ {
+ attrib_bypass = true;
+ playlist_cover_attrib.setdata("1");
+ attrib_bypass = false;
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Bento/scripts/pledit.maki b/Src/resources/skins/Bento/scripts/pledit.maki
new file mode 100644
index 00000000..0e4f04a4
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/pledit.maki
Binary files differ
diff --git a/Src/resources/skins/Bento/scripts/workingdir.m b/Src/resources/skins/Bento/scripts/workingdir.m
new file mode 100644
index 00000000..7ab02534
--- /dev/null
+++ b/Src/resources/skins/Bento/scripts/workingdir.m
@@ -0,0 +1 @@
+//define BIG_BENTO_WORKINGDIR \ No newline at end of file
diff --git a/Src/resources/skins/Bento/skin.xml b/Src/resources/skins/Bento/skin.xml
new file mode 100644
index 00000000..cadb8cd0
--- /dev/null
+++ b/Src/resources/skins/Bento/skin.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+
+<WinampAbstractionLayer version="1.35">
+ <skininfo>
+ <version>1.2.4</version>
+ <name>Bento</name>
+ <author>Martin Pöhlmann, Taber Buhl</author>
+ <comment>Graphics by Taber Buhl - Wasabi Development by Ben Allison and Martin Poehlmann</comment>
+ <email>martin@skinconsortium.com</email>
+ <screenshot>screenshot.png</screenshot>
+ <homepage>http://www.skinconsortium.com/</homepage>
+ </skininfo>
+
+ <accelerators section="general">
+ <accelerator bind="Alt+F" action="MENUHOTKEY_FILE" />
+ <accelerator bind="Alt+P" action="MENUHOTKEY_PLAY" />
+ <accelerator bind="Alt+O" action="MENUHOTKEY_OPTIONS" />
+ <accelerator bind="Alt+I" action="MENUHOTKEY_VIEW" />
+ <accelerator bind="Alt+H" action="MENUHOTKEY_HELP" />
+ </accelerators>
+
+ <accelerators section="normal">
+ <accelerator bind="space" action="SHOW_CURRENT_TRACK" />
+ </accelerators>
+
+ <!-- This Skin uses shared Graphics, XML and Maki from 'Big Bento' -->
+
+ <scripts>
+ <script file="../Big Bento/scripts/loadattribs.maki" param="small"/> <!-- Must be loaded at first -->
+ </scripts>
+
+ <include file="../Big Bento/xml/color-presets.xml"/>
+ <include file="../Big Bento/xml/system-colors.xml"/>
+ <include file="../Big Bento/xml/system-elements.xml"/>
+ <include file="xml/standardframe.xml" />
+ <include file="../Big Bento/xml/window-overrides.xml"/>
+ <include file="xml/player.xml"/>
+ <include file="xml/notifier.xml"/>
+ <include file="../Big Bento/about/about.xml"/>
+
+ <scripts>
+ <script file="../Big Bento/scripts/maximize.maki" param="130,18"/>
+ </scripts>
+
+</WinampAbstractionLayer> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/window/aol_radio_alb_art.jpg b/Src/resources/skins/Bento/window/aol_radio_alb_art.jpg
new file mode 100644
index 00000000..9523fce5
--- /dev/null
+++ b/Src/resources/skins/Bento/window/aol_radio_alb_art.jpg
Binary files differ
diff --git a/Src/resources/skins/Bento/window/config.png b/Src/resources/skins/Bento/window/config.png
new file mode 100644
index 00000000..4f071aa0
--- /dev/null
+++ b/Src/resources/skins/Bento/window/config.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/controls.png b/Src/resources/skins/Bento/window/controls.png
new file mode 100644
index 00000000..f87807d3
--- /dev/null
+++ b/Src/resources/skins/Bento/window/controls.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/equalizer.png b/Src/resources/skins/Bento/window/equalizer.png
new file mode 100644
index 00000000..50ae5d93
--- /dev/null
+++ b/Src/resources/skins/Bento/window/equalizer.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/menu_file.png b/Src/resources/skins/Bento/window/menu_file.png
new file mode 100644
index 00000000..7baced0b
--- /dev/null
+++ b/Src/resources/skins/Bento/window/menu_file.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/menu_help.png b/Src/resources/skins/Bento/window/menu_help.png
new file mode 100644
index 00000000..cb4cb613
--- /dev/null
+++ b/Src/resources/skins/Bento/window/menu_help.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/menu_options.png b/Src/resources/skins/Bento/window/menu_options.png
new file mode 100644
index 00000000..434ede9e
--- /dev/null
+++ b/Src/resources/skins/Bento/window/menu_options.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/menu_play.png b/Src/resources/skins/Bento/window/menu_play.png
new file mode 100644
index 00000000..0ac444b6
--- /dev/null
+++ b/Src/resources/skins/Bento/window/menu_play.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/menu_view.png b/Src/resources/skins/Bento/window/menu_view.png
new file mode 100644
index 00000000..53edb782
--- /dev/null
+++ b/Src/resources/skins/Bento/window/menu_view.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/numfont.png b/Src/resources/skins/Bento/window/numfont.png
new file mode 100644
index 00000000..1033d27c
--- /dev/null
+++ b/Src/resources/skins/Bento/window/numfont.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/player.png b/Src/resources/skins/Bento/window/player.png
new file mode 100644
index 00000000..f0ae7d88
--- /dev/null
+++ b/Src/resources/skins/Bento/window/player.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/sc_alb_art.jpg b/Src/resources/skins/Bento/window/sc_alb_art.jpg
new file mode 100644
index 00000000..3f677c12
--- /dev/null
+++ b/Src/resources/skins/Bento/window/sc_alb_art.jpg
Binary files differ
diff --git a/Src/resources/skins/Bento/window/scrollbars.png b/Src/resources/skins/Bento/window/scrollbars.png
new file mode 100644
index 00000000..b75e3959
--- /dev/null
+++ b/Src/resources/skins/Bento/window/scrollbars.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/shade.png b/Src/resources/skins/Bento/window/shade.png
new file mode 100644
index 00000000..e9532db7
--- /dev/null
+++ b/Src/resources/skins/Bento/window/shade.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/sui.png b/Src/resources/skins/Bento/window/sui.png
new file mode 100644
index 00000000..2c38d0af
--- /dev/null
+++ b/Src/resources/skins/Bento/window/sui.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/sui2.png b/Src/resources/skins/Bento/window/sui2.png
new file mode 100644
index 00000000..5f0e3872
--- /dev/null
+++ b/Src/resources/skins/Bento/window/sui2.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/window-elements.png b/Src/resources/skins/Bento/window/window-elements.png
new file mode 100644
index 00000000..4809baf8
--- /dev/null
+++ b/Src/resources/skins/Bento/window/window-elements.png
Binary files differ
diff --git a/Src/resources/skins/Bento/window/window.png b/Src/resources/skins/Bento/window/window.png
new file mode 100644
index 00000000..06fee270
--- /dev/null
+++ b/Src/resources/skins/Bento/window/window.png
Binary files differ
diff --git a/Src/resources/skins/Bento/xml/config.xml b/Src/resources/skins/Bento/xml/config.xml
new file mode 100644
index 00000000..ab5e9280
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/config.xml
@@ -0,0 +1,597 @@
+<groupdef id="info.component.config">
+
+ <!-- config page target -->
+ <GroupXFade speed="0.5" x="75" y="1" w="-75" h="0" relatw="1" relath="1" id="skin.config.target" move="1"/>
+
+ <!-- config menu -->
+ <componentbucket id="my.bucket" x="0" y="1" w="72" h="90" spacing="0" leftmargin="0" rightmargin="0" vertical="1" wndtype="skin.config" />
+ <layer x="73" y="0" image="config.vdivider" move="0"/>
+
+ <script file="../Big Bento/scripts/configtarget.maki" />
+</groupdef>
+
+<!-- config menu items -->
+
+<groupdef id="bucket.entry.0" windowtype="skin.config" w="72" h="14">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.appearance" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.appearance" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.1" windowtype="skin.config" w="98" h="18">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.songticker" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.songticker" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.2" windowtype="skin.config" w="98" h="18">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.autoresize" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.windowsizing" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.3" windowtype="skin.config" w="98" h="18">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.notifier" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.notifier" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.4" windowtype="skin.config" w="98" h="18">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.visualization" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.visualization" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.5" windowtype="skin.config" w="98" h="18">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.cthemes" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.colorthemes" ghost="1"/>
+</groupdef>
+
+
+<!-- config menu pages -->
+
+<groupdef id="optionsgroup.autoresize" h="91" w="209">
+
+ <togglebutton x="-2" y="14" h="12" w="208" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{0542AFA4-48D9-4c9f-8900-5739D52C114F};Prevent video resize"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{0542AFA4-48D9-4c9f-8900-5739D52C114F};Prevent video resize" />
+
+ <togglebutton x="-2" y="0" h="12" w="208" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Autoresize Main Window if maximized"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Autoresize Main Window if maximized" />
+
+ <togglebutton x="-2" y="28" h="12" w="208" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Link shade and player width"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Link shade and player width" />
+
+
+ <layer x="1" y="45" image="config.windowsizing.titlebar.text" ghost="1" />
+
+ <togglebutton x="-2" y="59" h="12" w="74" rectrgn="1"
+ hoverImage="config.windowsizing.titlebar.maximize.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Maximize Window on Titlebar Doubleclick"
+ />
+ <togglebutton x="1" y="59" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Maximize Window on Titlebar Doubleclick" />
+
+ <togglebutton x="67" y="59" h="12" w="129" rectrgn="1"
+ hoverImage="config.windowsizing.titlebar.shade.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Switch to Shade on Titlebar Doubleclick"
+ />
+ <togglebutton x="70" y="59" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Switch to Shade on Titlebar Doubleclick" />
+
+ <layer x="1" y="0" image="config.windowsizing.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.songticker" h="91" w="159">
+
+ <togglebutton x="-2" y="0" h="12" w="214" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Disable Songticker Scrolling"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Disable Songticker Scrolling" />
+
+ <togglebutton x="-2" y="14" h="12" w="214" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Modern Songticker Scrolling"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Modern Songticker Scrolling" />
+
+ <togglebutton x="-2" y="28" h="12" w="214" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Classic Songticker Scrolling"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Classic Songticker Scrolling" />
+
+ <layer x="1" y="0" image="config.songticker.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.cthemes" h="91" w="159">
+
+ <ColorThemes:List
+ id="colorthemes"
+ x="0" y="0"
+ w="0" h="75" relatw="1"
+ nohscroll="1"
+ nocolheader="1"
+ visible="0"
+ antialias="0"
+ fontsize="13"
+ />
+
+ <button id="colorthemes.prev"
+ action="colorthemes_previous"
+ action_target="colorthemes"
+ x="0" h="13" w="25" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous ColorTheme"
+ />
+
+ <button id="colorthemes.switch"
+ action="colorthemes_switch"
+ action_target="colorthemes"
+ x="24" h="13" w="31" y="76"
+ image="config.colorthemes.button.set.normal"
+ hoverImage="config.colorthemes.button.set.hover"
+ downImage="config.colorthemes.button.set.down"
+ tooltip="Switch to selected ColorTheme"
+ />
+
+ <button id="colorthemes.next"
+ action="colorthemes_next"
+ action_target="colorthemes"
+ x="54" h="13" w="25" y="76"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Next ColorTheme"
+ />
+
+ <button id="colorthemes.more"
+ x="78" h="13" w="31" y="76"
+ image="config.colorthemes.button.more.normal"
+ hoverImage="config.colorthemes.button.more.hover"
+ downImage="config.colorthemes.button.more.down"
+ tooltip="Download more ColorThemes"
+ />
+
+ <script file="../Big Bento/scripts/colorthemes.maki" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.appearance" h="91" w="209">
+
+ <togglebutton x="-2" y="0" h="12" w="194" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Main Window Menu"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Main Window Menu" />
+
+ <togglebutton x="-2" y="14" h="12" w="194" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Visualizer Reflection"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Visualizer Reflection" />
+
+ <togglebutton x="-2" y="28" h="12" w="194" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Timer Reflection"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Timer Reflection" />
+
+ <togglebutton x="-2" y="42" h="12" w="194" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Enable Beat Visualization"
+ />
+ <togglebutton x="1" y="42" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Enable Beat Visualization" />
+
+ <togglebutton x="-2" y="60" h="12" w="194" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Switch to Bento with Big Buttons"
+ />
+
+ <button
+ action="switchto;optionsgroup.appearance.2;subpage" action_target="skin.config.target"
+ x="0" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous Configpage"
+ />
+
+ <button
+ action="switchto;optionsgroup.appearance.2;subpage" action_target="skin.config.target"
+ x="24" y="76"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Next Configpage"
+ />
+
+ <layer x="1" y="0" image="config.appearance.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.appearance.2" >
+
+<!--does anyone know why this is still visible?-->
+<!-- <togglebutton x="-2" y="0" h="12" w="194" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Artist-Information Buttons"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Artist-Information Buttons" />
+-->
+ <togglebutton x="-2" y="14" h="12" w="194" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Playlist Tab"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Playlist Tab" />
+
+ <button
+ action="switchto;optionsgroup.appearance;subpage" action_target="skin.config.target"
+ x="0" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous Configpage"
+ />
+
+ <button
+ action="switchto;optionsgroup.appearance;subpage" action_target="skin.config.target"
+ x="24" y="76"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Next Configpage"
+ />
+
+ <layer x="1" y="0" image="config.appearance.2.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier" h="91" w="159">
+
+ <button id="holdtime.decrease"
+ x="67" y="42" h="12" w="8" rectrgn="1"
+ image="config.button.left.normal"
+ hoverImage="config.button.left.hover"
+ downImage="config.button.left.down"
+ />
+ <text id="holdtime.text"
+ x="72" y="42" w="40" h="12"
+ text=""
+ font="config.bitmapfont"
+ align="center"
+ />
+ <button id="holdtime.increase"
+ x="114" y="42" h="12" w="8" rectrgn="1"
+ image="config.button.right.normal"
+ hoverImage="config.button.right.hover"
+ downImage="config.button.right.down"
+ />
+ <script file="../Big Bento/scripts/timecontrol.maki" param="holdtime.text;holdtime.decrease;holdtime.increase|{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications display time|100|10000|0.001|a"/>
+
+ <button
+ action="switchto;optionsgroup.notifier.show;subpage" action_target="skin.config.target"
+ x="1" y="0" h="12" w="208" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.show" x="72" y="0" image="config.notifier.text.always" ghost="1"/>
+ <script file="../Big Bento/scripts/imagecontrol.maki" param="notifier.show|4|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always;config.notifier.text.always|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized;config.notifier.text.shade_minimized|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized;config.notifier.text.minimized|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show;config.notifier.text.never" />
+
+ <button
+ action="switchto;optionsgroup.notifier.location;subpage" action_target="skin.config.target"
+ x="1" y="14" h="12" w="208" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.location" x="49" y="14" image="config.notifier.text.bottomright" ghost="1"/>
+ <script file="../Big Bento/scripts/imagecontrol.maki" param="notifier.location|6|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Left;config.notifier.text.topleft|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Center;config.notifier.text.topcenter|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Right;config.notifier.text.topright|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Left;config.notifier.text.bottomleft|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Center;config.notifier.text.bottomcenter|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Right;config.notifier.text.bottomright" />
+
+ <button
+ action="switchto;optionsgroup.notifier.animation.fadein;subpage" action_target="skin.config.target"
+ x="1" y="28" h="12" w="208" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.fadein" x="92" y="28" image="config.notifier.text.alphafade" ghost="1"/>
+ <script file="../Big Bento/scripts/imagecontrol.maki" param="notifier.fadein|3|{D9891A39-7A38-45d8-9D51-A08F7270C836};Alpha Fade;config.notifier.text.alphafade|{D9891A39-7A38-45d8-9D51-A08F7270C836};Vertical Slide;config.notifier.text.vslide|{D9891A39-7A38-45d8-9D51-A08F7270C836};Horizontal Slide;config.notifier.text.hslide" />
+
+ <button
+ action="switchto;optionsgroup.notifier.animation.fadeout;subpage" action_target="skin.config.target"
+ x="1" y="56" h="12" w="208" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.fadeout" x="99" y="56" image="config.notifier.text.alphafade" ghost="1"/>
+ <script file="../Big Bento/scripts/imagecontrol.maki" param="notifier.fadeout|3|{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Alpha Fade ;config.notifier.text.alphafade|{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Vertical Slide ;config.notifier.text.vslide|{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Horizontal Slide ;config.notifier.text.hslide" />
+
+ <layer x="1" y="0" image="config.notifier.text" ghost="1" />
+</groupdef>
+
+<!-- notifier -->
+
+<groupdef id="optionsgroup.notifier.show" h="91" w="209">
+
+ <togglebutton x="-2" y="0" h="12" w="199" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always" />
+
+ <togglebutton x="-2" y="14" h="12" w="199" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized" />
+
+ <togglebutton x="-2" y="28" h="12" w="199" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized" />
+
+ <togglebutton x="-2" y="42" h="12" w="199" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show"
+ />
+ <togglebutton x="1" y="42" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show" />
+
+ <togglebutton x="-2" y="60" h="12" w="199" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Disable in fullscreen"
+ />
+ <togglebutton x="1" y="60" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Disable in fullscreen" />
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" h="13" w="25" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="1" y="0" image="config.notifier.show.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier.location" h="91" w="209">
+
+ <togglebutton x="-1" y="0" h="12" w="80" rectrgn="1"
+ hoverImage="config.notifier.location.top.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Left"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Left" />
+
+ <togglebutton x="-1" y="14" h="12" w="80" rectrgn="1"
+ hoverImage="config.notifier.location.top.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Center"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Center" />
+
+ <togglebutton x="-1" y="28" h="12" w="80" rectrgn="1"
+ hoverImage="config.notifier.location.top.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Right"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Right" />
+
+
+ <togglebutton x="75" y="0" h="12" w="111" rectrgn="1"
+ hoverImage="config.notifier.location.bottom.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Left"
+ />
+ <togglebutton x="77" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Left" />
+
+ <togglebutton x="75" y="14" h="12" w="111" rectrgn="1"
+ hoverImage="config.notifier.location.bottom.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Center"
+ />
+ <togglebutton x="77" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Center" />
+
+ <togglebutton x="75" y="28" h="12" w="111" rectrgn="1"
+ hoverImage="config.notifier.location.bottom.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Right"
+ />
+ <togglebutton x="77" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Right" />
+
+
+ <togglebutton x="-2" y="46" h="12" w="156" rectrgn="1"
+ hoverImage="config.notifier.location.relative.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Viewport"
+ />
+ <togglebutton x="1" y="46" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Viewport" />
+
+ <togglebutton x="-2" y="60" h="12" w="156" rectrgn="1"
+ hoverImage="config.notifier.location.relative.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Monitor"
+ />
+ <togglebutton x="1" y="60" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Monitor" />
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" h="13" w="25" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="1" y="0" image="config.notifier.location.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier.animation.fadein" h="91" w="209">
+
+ <togglebutton x="-1" y="0" h="12" w="113" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Alpha Fade"
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Alpha Fade" />
+
+ <togglebutton x="-1" y="14" h="12" w="113" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Vertical Slide"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Vertical Slide" />
+
+ <togglebutton x="-1" y="28" h="12" w="113" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Horizontal Slide"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Horizontal Slide" />
+
+ <button id="fdin.decrease"
+ x="91" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.left.normal"
+ hoverImage="config.button.left.hover"
+ downImage="config.button.left.down"
+ />
+ <text id="fdin.text"
+ x="96" y="46" w="40" h="12"
+ text=""
+ font="config.bitmapfont"
+ align="center"
+ />
+ <button id="fdin.increase"
+ x="138" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.right.normal"
+ hoverImage="config.button.right.hover"
+ downImage="config.button.right.down"
+ />
+ <script file="../Big Bento/scripts/timecontrol.maki" param="fdin.text;fdin.decrease;fdin.increase|{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications fade in time|100|10000|0.001|a"/>
+
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" h="13" w="25" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="1" y="0" image="config.notifier.animation.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier.animation.fadeout" h="91" w="209">
+
+ <togglebutton x="-1" y="0" h="12" w="113" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Alpha Fade "
+ />
+ <togglebutton x="1" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Alpha Fade " />
+
+ <togglebutton x="-1" y="14" h="12" w="113" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Vertical Slide "
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Vertical Slide " />
+
+ <togglebutton x="-1" y="28" h="12" w="113" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Horizontal Slide "
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Horizontal Slide " />
+
+ <button id="fdout.decrease"
+ x="91" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.left.normal"
+ hoverImage="config.button.left.hover"
+ downImage="config.button.left.down"
+ />
+ <text id="fdout.text"
+ x="96" y="46" w="40" h="12"
+ text=""
+ font="config.bitmapfont"
+ align="center"
+ />
+ <button id="fdout.increase"
+ x="138" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.right.normal"
+ hoverImage="config.button.right.hover"
+ downImage="config.button.right.down"
+ />
+ <script file="../Big Bento/scripts/timecontrol.maki" param="fdout.text;fdout.decrease;fdout.increase|{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications fade out time|100|10000|0.001|a"/>
+
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" h="13" w="25" y="76"
+ image="config.colorthemes.button.prev.normal"
+ hoverImage="config.colorthemes.button.prev.hover"
+ downImage="config.colorthemes.button.prev.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="1" y="0" image="config.notifier.animation.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.visualization" h="91" w="159">
+
+ <togglebutton x="-1" y="14" h="12" w="208" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Big Component View"
+ />
+ <togglebutton x="1" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Big Component View" />
+
+ <togglebutton x="-1" y="28" h="12" w="208" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (stretched)"
+ />
+ <togglebutton x="1" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (stretched)" />
+
+ <togglebutton x="-1" y="42" h="12" w="208" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (mini)"
+ />
+ <togglebutton x="1" y="42" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (mini)" />
+
+ <layer x="1" y="0" image="config.visualization.text" ghost="1" />
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/notifier-elements.xml b/Src/resources/skins/Bento/xml/notifier-elements.xml
new file mode 100644
index 00000000..8a1ff98d
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/notifier-elements.xml
@@ -0,0 +1,22 @@
+<elements>
+
+ <bitmap id="notifier.bg.left" file="../Big Bento/window/notifier.png" x="0" y="0" w="13" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.center" file="../Big Bento/window/notifier.png" x="13" y="0" w="133" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.right" file="../Big Bento/window/notifier.png" x="146" y="0" w="13" h="80" gammagroup="NotifierBackground"/>
+
+ <bitmap id="notifier.bg.left.da" file="../Big Bento/window/notifier.png" x="0" y="80" w="13" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.center.da" file="../Big Bento/window/notifier.png" x="13" y="80" w="133" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.right.da" file="../Big Bento/window/notifier.png" x="146" y="80" w="13" h="80" gammagroup="NotifierBackground"/>
+
+ <bitmap id="notifier.bg.cover" file="../Big Bento/window/notifier.png" x="0" y="160" w="78" h="80" gammagroup="NotifierBackground"/>
+
+
+ <color id="notifier.dark" value="35,35,35" gammagroup="NotifierTextShadow" />
+ <color id="notifier.bright" value="255,255,255" gammagroup="NotifierText" />
+
+ <color id="notifier.dark.upper" value="35,35,35" gammagroup="NotifierUpperText" />
+ <color id="notifier.bright.upper" value="255,255,255" gammagroup="NotifierUpperTextShadow" />
+
+
+</elements>
+
diff --git a/Src/resources/skins/Bento/xml/notifier-normal.xml b/Src/resources/skins/Bento/xml/notifier-normal.xml
new file mode 100644
index 00000000..c662dac7
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/notifier-normal.xml
@@ -0,0 +1,51 @@
+<groupdef id="notifier.albumart" sysregion="1" ghost="1" >
+
+ <layer id="notifier.cover.bg" x="0" y="0" image="notifier.bg.cover" move="0"/>
+ <AlbumArt id="notifier.cover" x="18" y="15" h="50" w="50" move="0" rectrgn="1" notfoundImage="winamp.cover.notfound.50" noAutoRefresh="1"/>
+ <layer id="notifier.webcover" x="18" y="15" h="50" w="50" move="0" rectrgn="1" visible="0"/>
+
+</groupdef>
+
+<groupdef id="notifier.text" sysregion = "1" ghost="1">
+
+ <!-- mp: I know this is an unusual way to get text shadow - but it creates a much better effect than the shadow params -->
+
+ <text id="plentry.shadow" x="0" y="13" default="2/15" w="100" color="notifier.bright.upper" font="Arial" fontsize="12" bold="1" ghost="1" alpha="128"/>
+ <text id="plentry" x="0" y="12" default="2/15" w="100" color="notifier.dark.upper" font="Arial" fontsize="12" bold="1" ghost="1"/>
+
+ <text id="nexttrack.shadow" x="-102" y="13" w="102" relatw="1" align="right" default="Next track" color="notifier.bright.upper" font="Arial" fontsize="12" bold="1" ghost="1" alpha="128"/>
+ <text id="nexttrack" x="-102" y="12" w="102" relatw="1" align="right" default="Next track" color="notifier.dark.upper" font="Arial" fontsize="12" bold="1" ghost="1"/>
+
+ <text id="title.shadow" x="0" y="28" w="0" relatw="1" default="Nothing" color="notifier.dark" font="Arial" fontsize="17" ghost="1" alpha="128" bold="1" translate="0"/>
+ <text id="title" x="0" y="27" w="0" relatw="1" default="Nothing" color="notifier.bright" font="Arial" fontsize="17" ghost="1" bold="1" translate="0"/>
+
+ <text id="artist.shadow" x="0" y="42" w="0" h="18" relatw="1" default="Nithin Sawhney" color="notifier.dark" font="Arial" fontsize="13" ghost="1" alpha="128" translate="0"/>
+ <text id="artist" x="0" y="41" w="0" h="18" relatw="1" default="Nithin Sawhney" color="notifier.bright" font="Arial" fontsize="13" ghost="1" alpha="235" translate="0"/>
+
+ <text id="album.shadow" x="0" y="55" w="0" h="14" relatw="1" default="Prophesy" color="notifier.dark" font="Arial" fontsize="13" ghost="1" alpha="128" translate="0"/>
+ <text id="album" x="0" y="54" w="0" h="14" relatw="1" default="Prophesy" color="notifier.bright" font="Arial" fontsize="13" ghost="1" alpha="235" translate="0"/>
+
+</groupdef>
+
+
+<layout id="normal" noparent="1" ontop="1" h="80" w="128" forcealpha="1" noactivation="1" nodock="1" move="0">
+
+ <grid left="notifier.bg.left" middle="notifier.bg.center" right="notifier.bg.right" fitparent="1" sysregion="1" ghost="1" rectrgn="0" move="0"/>
+ <group id="notifier.text" x="75" y="0" h="80" w="-95" relatw="1" move="0"/>
+ <group id="notifier.albumart" x="0" y="0" h="80" w="80" relatw="1" move="0" visible="0"/>
+
+ <text id="endofplayback.shadow" x="15" y="32" w="-35" relatw="1" align="center" default="End of playback" color="notifier.dark" font="Arial" fontsize="20" visible="0" ghost="1"/>
+ <text id="endofplayback" x="15" y="31" w="-35" relatw="1" align="center" default="End of playback" color="notifier.bright" font="Arial" fontsize="20" visible="0" ghost="1"/>
+
+</layout>
+
+<layout id="desktopalpha" noparent="1" ontop="1" h="80" w="128" desktopalpha="1" noactivation="1" nodock="1" move="0">
+
+ <grid left="notifier.bg.left.da" middle="notifier.bg.center.da" right="notifier.bg.right.da" fitparent="1" ghost="1" move="0"/>
+ <group id="notifier.text" x="75" y="0" h="80" w="-95" relatw="1" move="0"/>
+ <group id="notifier.albumart" x="0" y="0" h="80" w="80" relatw="1" move="0" visible="0"/>
+
+ <text id="endofplayback.shadow" x="15" y="32" w="-35" relatw="1" align="center" default="End of playback" color="notifier.dark" font="Arial" fontsize="20" visible="0" ghost="1"/>
+ <text id="endofplayback" x="15" y="31" w="-35" relatw="1" align="center" default="End of playback" color="notifier.bright" font="Arial" fontsize="20" visible="0" ghost="1"/>
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/notifier.xml b/Src/resources/skins/Bento/xml/notifier.xml
new file mode 100644
index 00000000..47a002ff
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/notifier.xml
@@ -0,0 +1,10 @@
+<include file="notifier-elements.xml"/>
+<container id="notifier" name="Notifier" dynamic="1" default_visible="0" nomenu="1" nofocusapponclose="1">
+
+ <include file="notifier-normal.xml"/>
+
+</container>
+
+<!-- this script runs independent -->
+<script file="@SKINSPATH@\Big Bento\scripts\notifier.maki"/>
+<!--script file="scripts\notifier.maki"/--> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player-elements.xml b/Src/resources/skins/Bento/xml/player-elements.xml
new file mode 100644
index 00000000..c1b11fd6
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player-elements.xml
@@ -0,0 +1,640 @@
+<elements>
+
+
+ <!-- SUI Playlist Search -->
+ <bitmap id="sui.pl.search.box.1" file="window/sui2.png" x="180" y="39" w="6" h="1" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.2" file="window/sui2.png" x="187" y="39" w="6" h="1" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.3" file="window/sui2.png" x="194" y="39" w="6" h="1" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.4" file="window/sui2.png" x="180" y="41" w="6" h="6" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.5" file="window/sui2.png" x="187" y="41" w="6" h="6" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.6" file="window/sui2.png" x="194" y="41" w="6" h="6" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.7" file="window/sui2.png" x="180" y="48" w="6" h="24" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.8" file="window/sui2.png" x="187" y="48" w="6" h="24" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.9" file="window/sui2.png" x="194" y="48" w="6" h="24" gammagroup="WindowBackground"/>
+
+ <bitmap id="sui.pl.search.bg.1" file="window/sui2.png" x="81" y="31" w="18" h="30" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.pl.search.bg.2" file="window/sui2.png" x="100" y="31" w="20" h="30" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.pl.search.bg.3" file="window/sui2.png" x="121" y="31" w="18" h="30" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="sui.pl.search.bgv.1" file="window/sui2.png" x="0" y="31" w="30" h="30" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.pl.search.bgv.2" file="window/sui2.png" x="31" y="31" w="20" h="30" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.pl.search.bgv.3" file="window/sui2.png" x="50" y="31" w="30" h="30" gammagroup="ComponentFrame"/>
+
+ <bitmap id="sui.pl.search.go.bgv" file="window/sui2.png" x="225" y="0" w="20" h="19" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.go.1" file="window/sui2.png" x="225" y="20" w="20" h="19" gammagroup="PlayerButton"/>
+ <bitmap id="sui.pl.search.go.2" file="window/sui2.png" x="225" y="40" w="20" h="19" gammagroup="PlayerButton"/>
+ <bitmap id="sui.pl.search.go.3" file="window/sui2.png" x="225" y="60" w="20" h="19" gammagroup="PlayerButton"/>
+
+ <bitmap id="sui.pl.search.stop.bgv" file="window/sui2.png" x="201" y="0" w="20" h="19" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.stop.1" file="window/sui2.png" x="201" y="20" w="20" h="19" gammagroup="Column"/>
+ <bitmap id="sui.pl.search.stop.2" file="window/sui2.png" x="201" y="40" w="20" h="19" gammagroup="Column"/>
+ <bitmap id="sui.pl.search.stop.3" file="window/sui2.png" x="201" y="60" w="20" h="19" gammagroup="Column"/>
+
+
+ <!-- TitleBar -->
+
+ <bitmap id="window.titlebar.grid.left" file="window/window.png" x="0" y="0" h="18" w="5" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.middle" file="window/window.png" x="5" y="0" h="18" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.right" file="window/window.png" x="15" y="0" h="18" w="5" gammagroup="Titlebar"/>
+
+ <bitmap id="window.titlebar.grid.over.left" file="window/window.png" x="20" y="0" h="18" w="5" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.over.middle" file="window/window.png" x="25" y="0" h="18" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.over.right" file="window/window.png" x="35" y="0" h="18" w="5" gammagroup="Titlebar"/>
+
+ <bitmap id="window.titlebar.text.winamp" file="window/window.png" x="100" y="32" h="7" w="37" gammagroup="TitlebarText"/>
+
+ <bitmap id="window.titlebar.menu.normal" file="window/window.png" x="25" y="1" h="20" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.menu.hover" file="window/window.png" x="40" y="1" h="20" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.menu.down" file="window/window.png" x="50" y="1" h="20" w="10" gammagroup="Titlebar"/>
+
+ <bitmap id="window.titlebar.menu.text.file" file="window/menu_file.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.play" file="window/menu_play.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.options" file="window/menu_options.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.view" file="window/menu_view.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.help" file="window/menu_help.png" gammagroup="TitlebarMenuText"/>
+
+ <bitmap id="window.titlebar.button.sysmenu.normal" file="../Big Bento/window/window.png" x="0" y="0" h="13" w="15" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.sysmenu.hover" file="../Big Bento/window/window.png" x="0" y="13" h="13" w="15" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.sysmenu.down" file="../Big Bento/window/window.png" x="0" y="26" h="13" w="15" gammagroup="TitleButtonOrange"/>
+
+ <bitmap id="window.titlebar.button.minimize.normal" file="../Big Bento/window/window.png" x="15" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.minimize.hover" file="../Big Bento/window/window.png" x="15" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.minimize.down" file="../Big Bento/window/window.png" x="15" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.maximize.normal" file="../Big Bento/window/window.png" x="32" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.maximize.hover" file="../Big Bento/window/window.png" x="32" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.maximize.down" file="../Big Bento/window/window.png" x="32" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.restore.normal" file="../Big Bento/window/window.png" x="49" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.restore.hover" file="../Big Bento/window/window.png" x="49" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.restore.down" file="../Big Bento/window/window.png" x="49" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.shade.normal" file="../Big Bento/window/window.png" x="66" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.shade.hover" file="../Big Bento/window/window.png" x="66" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.shade.down" file="../Big Bento/window/window.png" x="66" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.close.normal" file="../Big Bento/window/window.png" x="83" y="0" h="13" w="17" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.close.hover" file="../Big Bento/window/window.png" x="83" y="13" h="13" w="17" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.close.down" file="../Big Bento/window/window.png" x="83" y="26" h="13" w="17" gammagroup="TitleButtonOrange"/>
+
+
+ <!-- Window Elements -->
+
+ <bitmap id="window.background.maximized" file="$solid" h="64" w="64" color="0,0,0" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.gradient" file="../Big Bento/window/window-gradient.png" gammagroup="WindowBackgroundGradient"/>
+
+ <bitmap id="window.background.topleft" file="../Big Bento/window/window.png" x="100" y="23" h="5" w="5" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.top" file="../Big Bento/window/window.png" x="105" y="23" h="5" w="10" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.topright" file="../Big Bento/window/window.png" x="115" y="23" h="5" w="5" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.left" file="../Big Bento/window/window.png" x="100" y="28" h="6" w="5" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.center" file="../Big Bento/window/window.png" x="105" y="28" h="6" w="10" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.right" file="../Big Bento/window/window.png" x="115" y="28" h="6" w="5" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.bottomleft" file="../Big Bento/window/window.png" x="100" y="34" h="5" w="5" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.bottom" file="../Big Bento/window/window.png" x="105" y="34" h="5" w="10" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.bottomright" file="../Big Bento/window/window.png" x="115" y="34" h="5" w="5" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.resizer" file="window/window.png" x="137" y="32" h="7" w="15" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.region" file="$solid" h="1" w="1" color="0,0,0"/>
+
+ <bitmap id="window.button.collapse.normal" file="window/sui.png" x="282" y="0" h="11" w="34" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.collapse.hover" file="window/sui.png" x="282" y="11" h="11" w="34" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.collapse.down" file="window/sui.png" x="282" y="22" h="11" w="34" gammagroup="PlayerButton"/>
+
+ <bitmap id="window.button.expand.normal" file="window/sui.png" x="316" y="0" h="11" w="34" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.expand.hover" file="window/sui.png" x="316" y="11" h="11" w="34" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.expand.down" file="window/sui.png" x="316" y="22" h="11" w="34" gammagroup="PlayerButton"/>
+
+ <bitmap id="window.background.collapse" file="window/sui.png" x="282" y="36" h="13" w="36" gammagroup="WindowBackground"/>
+
+
+ <!-- Player -->
+
+ <bitmap id="player.display.background.left" file="window/player.png" x="0" y="0" h="54" w="80" gammagroup="PlayerDisplay"/>
+ <bitmap id="player.display.foreground.left" file="window/player.png" x="0" y="326" h="54" w="80" gammagroup="WindowBackground"/>
+ <bitmap id="player.display.background.center" file="window/player.png" x="80" y="0" h="54" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="player.display.foreground.center" file="window/player.png" x="80" y="326" h="54" w="10" gammagroup="WindowBackground"/>^
+ <bitmap id="player.display.background.right" file="window/player.png" x="90" y="0" h="54" w="132" gammagroup="PlayerDisplay"/>
+ <bitmap id="player.display.foreground.right" file="window/player.png" x="90" y="326" h="54" w="132" gammagroup="WindowBackground"/>
+
+ <bitmap id="player.songinfo.bitrate" file="../Big Bento/window/songinfo.png" x="0" y="15" h="5" w="14" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.frequency" file="../Big Bento/window/songinfo.png" x="15" y="15" h="5" w="11" gammagroup="DisplayText"/>
+
+ <bitmap id="player.songinfo.mono" file="../Big Bento/window/songinfo.png" x="0" y="21" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.stereo" file="../Big Bento/window/songinfo.png" x="0" y="27" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.multi" file="../Big Bento/window/songinfo.png" x="0" y="33" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.multi2" file="../Big Bento/window/songinfo.png" x="41" y="33" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.na" file="../Big Bento/window/songinfo.png" x="0" y="0" h="5" w="40" gammagroup="DisplayText"/>
+
+ <bitmap id="empty" file="$polygon" x="0" y="0" h="48" w="8" gammagroup="none"/>
+
+ <bitmap id="player.beatvis.left" file="../Big Bento/window/beatvis.png" x="0" y="0" w="43" h="280" gammagroup="DisplayText"/>
+ <bitmap id="player.beatvis.right" file="../Big Bento/window/beatvis.png" x="43" y="0" w="43" h="280" gammagroup="DisplayText"/>
+
+ <bitmap id="player.beatvis.left.wo" file="../Big Bento/window/beatvis.png" x="86" y="0" w="43" h="280" gammagroup="DisplayText"/>
+ <bitmap id="player.beatvis.right.wo" file="../Big Bento/window/beatvis.png" x="129" y="0" w="43" h="280" gammagroup="DisplayText"/>
+
+ <bitmap id="player.bitmapfont.songinfo.source" file="../Big Bento/window/songinfo.png" x="0" y="0" h="15" w="110" gammagroup="DisplayText"/>
+ <bitmapfont id="player.bitmapfont.songinfo" file="player.bitmapfont.songinfo.source" charwidth="5" charheight="5" hspacing="0" vspacing="0" />
+
+ <bitmap id="player.bitmapfont.nums.source" file="window/numfont.png" x="0" y="0" h="81" w="240" gammagroup="DisplayText"/>
+ <bitmapfont id="player.bitmapfont.nums" file="player.bitmapfont.nums.source" charwidth="15" charheight="27" hspacing="0" vspacing="-2"/>
+
+ <bitmap id="player.bitmapfont.nums.noreflect.source" file="window/numfont.png" x="0" y="81" h="81" w="240" gammagroup="DisplayText"/>
+ <bitmapfont id="player.bitmapfont.nums.noreflect" file="player.bitmapfont.nums.noreflect.source" charwidth="15" charheight="27" hspacing="0" vspacing="-2"/>
+
+ <bitmap id="player.display.status.playing" file="../Big Bento/window/songinfo.png" x="0" y="39" h="6" w="5" gammagroup="DisplayText"/>
+ <bitmap id="player.display.status.paused" file="../Big Bento/window/songinfo.png" x="6" y="39" h="6" w="5" gammagroup="DisplayText"/>
+ <bitmap id="player.display.status.stopped" file="../Big Bento/window/songinfo.png" x="12" y="39" h="6" w="5" gammagroup="DisplayText"/>
+
+ <bitmap id="player.button.mute.normal" file="window/player.png" x="0" y="55" h="14" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.mute.hover" file="window/player.png" x="25" y="55" h="14" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.mute.down" file="window/player.png" x="50" y="55" h="14" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.demute.normal" file="window/player.png" x="75" y="55" h="14" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.demute.hover" file="window/player.png" x="100" y="55" h="14" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.demute.down" file="window/player.png" x="125" y="55" h="14" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.mute.placeholder" file="window/player.png" x="150" y="55" h="14" w="25" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.mute.glow" file="window/player.png" x="125" y="175" h="16" w="25" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.mute.active" file="window/player.png" x="0" y="295" h="28" w="28" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="player.slider.background.left" file="window/player.png" x="175" y="56" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="player.slider.background.center" file="window/player.png" x="180" y="56" h="5" w="15" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="player.slider.background.right" file="window/player.png" x="195" y="56" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+
+ <bitmap id="player.slider.light.left" file="window/player.png" x="175" y="61" h="2" w="4" gammagroup="PlayerSliderLight"/>
+ <bitmap id="player.slider.light.center" file="window/player.png" x="179" y="61" h="2" w="8" gammagroup="PlayerSliderLight"/>
+ <bitmap id="player.slider.light.right" file="window/player.png" x="187" y="61" h="2" w="4" gammagroup="PlayerSliderLight"/>
+
+ <bitmap id="player.label.volume" file="window/player.png" x="0" y="69" h="8" w="71" gammagroup="WindowText"/>
+
+ <bitmap id="player.volume.thumb.normal" file="window/player.png" x="71" y="69" h="10" w="17" gammagroup="PlayerButton"/>
+ <bitmap id="player.volume.thumb.hover" file="window/player.png" x="88" y="69" h="10" w="17" gammagroup="PlayerButton"/>
+ <bitmap id="player.volume.thumb.down" file="window/player.png" x="105" y="69" h="10" w="17" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.posbar.thumb.normal" file="window/player.png" x="122" y="69" h="10" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="player.posbar.thumb.hover" file="window/player.png" x="153" y="69" h="10" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="player.posbar.thumb.down" file="window/player.png" x="184" y="69" h="10" w="31" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.previous.placeholder" file="window/player.png" x="0" y="79" h="24" w="26" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.play.placeholder" file="window/player.png" x="26" y="79" h="24" w="22" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.pause.placeholder" file="window/player.png" x="48" y="79" h="24" w="22" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.stop.placeholder" file="window/player.png" x="70" y="79" h="24" w="22" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.next.placeholder" file="window/player.png" x="92" y="79" h="24" w="26" gammagroup="PlayerButtonPlaceHolder"/>
+
+ <bitmap id="player.button.previous.normal" file="window/player.png" x="0" y="103" h="24" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.play.normal" file="window/player.png" x="26" y="103" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.pause.normal" file="window/player.png" x="48" y="103" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.stop.normal" file="window/player.png" x="70" y="103" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.next.normal" file="window/player.png" x="92" y="103" h="24" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.previous.hover" file="window/player.png" x="0" y="127" h="24" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.play.hover" file="window/player.png" x="26" y="127" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.pause.hover" file="window/player.png" x="48" y="127" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.stop.hover" file="window/player.png" x="70" y="127" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.next.hover" file="window/player.png" x="92" y="127" h="24" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.previous.glow" file="window/player.png" x="118" y="127" h="24" w="26" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.pps.glow" file="window/player.png" x="144" y="127" h="24" w="22" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.next.glow" file="window/player.png" x="166" y="127" h="24" w="26" gammagroup="PlayerButtonGlow"/>
+
+ <bitmap id="player.button.previous.down" file="window/player.png" x="0" y="151" h="24" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.play.down" file="window/player.png" x="26" y="151" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.pause.down" file="window/player.png" x="48" y="151" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.stop.down" file="window/player.png" x="70" y="151" h="24" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.next.down" file="window/player.png" x="92" y="151" h="24" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.eject.placeholder" file="window/player.png" x="0" y="175" h="17" w="25" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.eject.normal" file="window/player.png" x="25" y="175" h="17" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.eject.hover" file="window/player.png" x="50" y="175" h="17" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.eject.down" file="window/player.png" x="75" y="175" h="17" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.eject.glow" file="window/player.png" x="100" y="175" h="17" w="25" gammagroup="PlayerButtonGlow"/>
+
+ <bitmap id="player.button.shuffle.placeholder" file="window/player.png" x="0" y="192" h="17" w="32" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.shuffle.normal0" file="window/player.png" x="0" y="209" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.hover0" file="window/player.png" x="32" y="209" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.down0" file="window/player.png" x="64" y="209" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.normal1" file="window/player.png" x="0" y="226" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.hover1" file="window/player.png" x="32" y="226" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.down1" file="window/player.png" x="64" y="226" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.glow" file="window/player.png" x="96" y="209" h="17" w="32" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.shuffle.active0" file="$polygon" h="31" w="34" />
+ <bitmap id="player.button.shuffle.active1" file="window/player.png" x="28" y="295" h="31" w="34" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="player.button.repeat.placeholder" file="window/player.png" x="32" y="192" h="17" w="24" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.repeat.normal0" file="window/player.png" x="0" y="243" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.hover0" file="window/player.png" x="27" y="243" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.down0" file="window/player.png" x="54" y="243" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.normal1" file="window/player.png" x="0" y="260" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.hover1" file="window/player.png" x="27" y="260" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.down1" file="window/player.png" x="54" y="260" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.normal2" file="window/player.png" x="0" y="277" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.hover2" file="window/player.png" x="27" y="277" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.down2" file="window/player.png" x="54" y="277" h="17" w="27" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.glow" file="window/player.png" x="81" y="243" h="17" w="27" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.repeat.active0" file="$polygon" h="30" w="35" />
+ <bitmap id="player.button.repeat.active1" file="window/player.png" x="62" y="295" h="30" w="35" gammagroup="PlayerButtonActive"/>
+ <bitmap id="player.button.repeat.active2" file="window/player.png" x="97" y="295" h="30" w="35" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="player.button.bolt.glow" file="window/player.png" x="138" y="221" h="37" w="42" gammagroup="LightningBolt"/>
+ <bitmap id="player.button.bolt.normal" file="window/player.png" x="180" y="184" h="37" w="42" gammagroup="LightningBolt"/>
+ <bitmap id="player.button.bolt.hover" file="window/player.png" x="180" y="221" h="37" w="42" gammagroup="LightningBolt"/>
+ <bitmap id="player.button.bolt.down" file="window/player.png" x="180" y="258" h="37" w="42" gammagroup="LightningBolt"/>
+
+
+ <!-- SUI Background -->
+
+ <bitmap id="sui.background.topleft" file="../Big Bento/window/window.png" x="160" y="0" h="5" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.top" file="../Big Bento/window/window.png" x="165" y="0" h="5" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.topright" file="../Big Bento/window/window.png" x="175" y="0" h="5" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.left" file="../Big Bento/window/window.png" x="160" y="5" h="10" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.center" file="../Big Bento/window/window.png" x="165" y="5" h="10" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.right" file="../Big Bento/window/window.png" x="175" y="5" h="10" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.bottomleft" file="../Big Bento/window/window.png" x="160" y="15" h="5" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.bottom" file="../Big Bento/window/window.png" x="165" y="15" h="5" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.bottomright" file="../Big Bento/window/window.png" x="175" y="15" h="5" w="5" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="sui.component.topleft" file="../Big Bento/window/window.png" x="200" y="0" h="5" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.top" file="../Big Bento/window/window.png" x="205" y="0" h="5" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.top2" file="../Big Bento/window/window.png" x="205" y="0" h="1" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.topright" file="../Big Bento/window/window.png" x="215" y="0" h="5" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.left" file="../Big Bento/window/window.png" x="200" y="5" h="10" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.center" file="../Big Bento/window/window.png" x="205" y="5" h="10" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.right" file="../Big Bento/window/window.png" x="215" y="5" h="10" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottomleft" file="../Big Bento/window/window.png" x="200" y="15" h="5" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottom" file="../Big Bento/window/window.png" x="205" y="15" h="5" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottom2" file="../Big Bento/window/window.png" x="205" y="19" h="1" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottomright" file="../Big Bento/window/window.png" x="215" y="15" h="5" w="5" gammagroup="ComponentFrame"/>
+
+ <!-- SUI Component Buttons -->
+
+ <bitmap id="sui.button.active.normal.left" file="window/sui.png" x="0" y="18" h="18" w="6" gammagroup="CompButtonActive" />
+ <bitmap id="sui.button.active.normal.center" file="window/sui.png" x="6" y="18" h="18" w="10" gammagroup="CompButtonActive" />
+ <bitmap id="sui.button.active.normal.right" file="window/sui.png" x="81" y="18" h="18" w="6" gammagroup="CompButtonActive" />
+
+ <bitmap id="sui.button.active.footer.left" file="window/sui.png" x="0" y="34" h="1" w="6" gammagroup="ComponentFrame" />
+ <bitmap id="sui.button.active.footer.center" file="window/sui.png" x="6" y="34" h="1" w="10" gammagroup="ComponentFrame" />
+ <bitmap id="sui.button.active.footer.right" file="window/sui.png" x="81" y="34" h="1" w="6" gammagroup="ComponentFrame" />
+
+ <bitmap id="sui.button.inactive.normal.left" file="window/sui.png" x="0" y="0" h="17" w="6" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.normal.center" file="window/sui.png" x="6" y="0" h="17" w="10" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.normal.right" file="window/sui.png" x="81" y="0" h="17" w="6" gammagroup="CompButtonInactive" />
+
+ <bitmap id="sui.button.inactive.hover.left" file="window/sui.png" x="0" y="36" h="17" w="6" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.hover.center" file="window/sui.png" x="6" y="36" h="17" w="10" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.hover.right" file="window/sui.png" x="81" y="36" h="17" w="6" gammagroup="CompButtonInactive" />
+
+ <!-- Info Component -->
+
+ <bitmap id="infocomp.background.topleft" file="../Big Bento/window/window.png" x="180" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.top" file="../Big Bento/window/window.png" x="187" y="0" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.topright" file="../Big Bento/window/window.png" x="193" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.left" file="../Big Bento/window/window.png" x="180" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.center" file="../Big Bento/window/window.png" x="187" y="7" h="6" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.right" file="../Big Bento/window/window.png" x="193" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.bottomleft" file="../Big Bento/window/window.png" x="180" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.bottom" file="../Big Bento/window/window.png" x="187" y="13" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.bottomright" file="../Big Bento/window/window.png" x="193" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="infocomp.background.buttons.left.over" file="../Big Bento/window/window.png" x="0" y="83" h="13" w="130" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="infocomp.button.more.normal" file="window/controls.png" x="0" y="0" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.more.hover" file="window/controls.png" x="25" y="0" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.more.down" file="window/controls.png" x="50" y="0" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.toggle.normal" file="window/controls.png" x="0" y="13" h="13" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.toggle.hover" file="window/controls.png" x="26" y="13" h="13" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.toggle.down" file="window/controls.png" x="52" y="13" h="13" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.vis.cfg.normal" file="window/controls.png" x="0" y="143" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg.hover" file="window/controls.png" x="25" y="143" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg.down" file="window/controls.png" x="50" y="143" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.vis.rnd.normal" file="window/controls.png" x="0" y="156" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.rnd.hover" file="window/controls.png" x="25" y="156" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.rnd.down" file="window/controls.png" x="50" y="156" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.rnd.active" file="window/controls.png" x="75" y="143" h="17" w="41" gammagroup="PlayerButtonGlow"/>
+
+ <bitmap id="infocomp.button.vis.cfg2.normal" file="window/controls.png" x="0" y="169" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg2.hover" file="window/controls.png" x="25" y="169" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg2.down" file="window/controls.png" x="50" y="169" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.rating.empty" file="../Big Bento/window/rating.png" x="22" y="0" h="12" w="11" gammagroup="DisplayText"/>
+ <bitmap id="infocomp.rating.hover" file="../Big Bento/window/rating.png" x="11" y="0" h="12" w="11" gammagroup="DisplayText"/>
+ <bitmap id="infocomp.rating.star" file="../Big Bento/window/rating.png" x="0" y="0" h="12" w="11" gammagroup="DisplayText"/>
+
+ <bitmap id="infocomp.button.blank.normal" file="window/controls.png" x="0" y="195" h="13" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.blank.hover" file="window/controls.png" x="24" y="195" h="13" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.blank.down" file="window/controls.png" x="48" y="195" h="13" w="24" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.icon.nowplaying" file="window/controls.png" x="24" y="208" h="13" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.icon.search" file="window/controls.png" x="48" y="208" h="13" w="24" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.branding" file="../Big Bento/window/branding.png" x="0" y="0" h="53" w="129"/>
+
+ <bitmap id="winamp.cover.notfound" file="xml/winamp/cover/notfound.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.60" file="xml/winamp/cover/notfound60.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.90" file="xml/winamp/cover/notfound90.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.84" file="../Big Bento/window/notfound.png" x="0" y="0" h="84" w="84" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.50" file="../Big Bento/window/notfound.png" x="0" y="158" h="50" w="50" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.70" file="../Big Bento/window/notfound.png" x="0" y="84" h="70" w="70" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.xxl" file="../Big Bento/window/notfoundXXL.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.shoutcast" file="window/sc_alb_art.jpg" x="0" y="0" h="84" w="84" />
+
+ <bitmap id="coverflow.button.play.normal" file="../Big Bento/window/compcontrols.png" x="256" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="coverflow.button.play.hover" file="../Big Bento/window/compcontrols.png" x="256" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="coverflow.button.play.down" file="../Big Bento/window/compcontrols.png" x="256" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <!-- Playlist Editor -->
+
+ <bitmap id="pledit.background.topleft" file="../Big Bento/window/window.png" x="220" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.top" file="../Big Bento/window/window.png" x="227" y="0" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.topright" file="../Big Bento/window/window.png" x="233" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.left" file="../Big Bento/window/window.png" x="220" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.center" file="../Big Bento/window/window.png" x="227" y="7" h="6" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.right" file="../Big Bento/window/window.png" x="233" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.bottomleft" file="../Big Bento/window/window.png" x="220" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.bottom" file="../Big Bento/window/window.png" x="227" y="13" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.bottomright" file="../Big Bento/window/window.png" x="233" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="pledit.background.buttons.center" file="../Big Bento/window/window.png" x="221" y="24" h="13" w="11" gammagroup="PlayerDisplayGradient"/>
+ <bitmap id="pledit.background.buttons.right" file="../Big Bento/window/window.png" x="232" y="24" h="13" w="7" gammagroup="PlayerDisplayGradient"/>
+
+ <bitmap id="pledit.button.toggle.normal" file="window/controls.png" x="0" y="26" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.toggle.hover" file="window/controls.png" x="25" y="26" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.toggle.down" file="window/controls.png" x="50" y="26" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.manage.normal" file="window/controls.png" x="0" y="39" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.manage.hover" file="window/controls.png" x="25" y="39" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.manage.down" file="window/controls.png" x="50" y="39" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.misc.normal" file="window/controls.png" x="0" y="52" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.misc.hover" file="window/controls.png" x="25" y="52" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.misc.down" file="window/controls.png" x="50" y="52" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.sel.normal" file="window/controls.png" x="0" y="65" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.sel.hover" file="window/controls.png" x="25" y="65" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.sel.down" file="window/controls.png" x="50" y="65" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.rem.normal" file="window/controls.png" x="0" y="78" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.rem.hover" file="window/controls.png" x="25" y="78" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.rem.down" file="window/controls.png" x="50" y="78" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.add.normal" file="window/controls.png" x="0" y="91" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.add.hover" file="window/controls.png" x="25" y="91" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.add.down" file="window/controls.png" x="50" y="91" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <!-- Playlist Editor Tab -->
+
+ <bitmap id="pledit.tab.button.add" file="../Big Bento/window/pl_btn_icons.png" x="0" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.rem" file="../Big Bento/window/pl_btn_icons.png" x="25" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.sel" file="../Big Bento/window/pl_btn_icons.png" x="50" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.misc" file="../Big Bento/window/pl_btn_icons.png" x="75" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.manage" file="../Big Bento/window/pl_btn_icons.png" x="100" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.up" file="../Big Bento/window/pl_btn_icons.png" x="125" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+
+ <!-- Video -->
+
+ <bitmap id="video.button.fullscreen.normal" file="../Big Bento/window/compcontrols.png" x="0" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.fullscreen.hover" file="../Big Bento/window/compcontrols.png" x="0" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.fullscreen.down" file="../Big Bento/window/compcontrols.png" x="0" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.1x.normal" file="../Big Bento/window/compcontrols.png" x="24" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.1x.hover" file="../Big Bento/window/compcontrols.png" x="24" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.1x.down" file="../Big Bento/window/compcontrols.png" x="24" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.2x.normal" file="../Big Bento/window/compcontrols.png" x="48" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.2x.hover" file="../Big Bento/window/compcontrols.png" x="48" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.2x.down" file="../Big Bento/window/compcontrols.png" x="48" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <!--<bitmap id="video.button.itv.normal" file="../Big Bento/window/compcontrols.png" x="72" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.itv.hover" file="../Big Bento/window/compcontrols.png" x="72" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.itv.down" file="../Big Bento/window/compcontrols.png" x="72" y="42" h="21" w="24" gammagroup="WindowText"/>-->
+
+ <bitmap id="video.button.cfg.normal" file="../Big Bento/window/compcontrols.png" x="96" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.cfg.hover" file="../Big Bento/window/compcontrols.png" x="96" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.cfg.down" file="../Big Bento/window/compcontrols.png" x="96" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.pin.normal1" file="../Big Bento/window/compcontrols.png" x="208" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.hover1" file="../Big Bento/window/compcontrols.png" x="208" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.down1" file="../Big Bento/window/compcontrols.png" x="208" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.pin.normal0" file="../Big Bento/window/compcontrols.png" x="232" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.hover0" file="../Big Bento/window/compcontrols.png" x="232" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.down0" file="../Big Bento/window/compcontrols.png" x="232" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+
+ <!-- Visualizer -->
+
+ <bitmap id="vis.button.prev.normal" file="../Big Bento/window/compcontrols.png" x="120" y="0" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.prev.hover" file="../Big Bento/window/compcontrols.png" x="120" y="21" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.prev.down" file="../Big Bento/window/compcontrols.png" x="120" y="42" h="21" w="21" gammagroup="WindowText"/>
+
+ <bitmap id="vis.button.next.normal" file="../Big Bento/window/compcontrols.png" x="141" y="0" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.next.hover" file="../Big Bento/window/compcontrols.png" x="141" y="21" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.next.down" file="../Big Bento/window/compcontrols.png" x="141" y="42" h="21" w="21" gammagroup="WindowText"/>
+
+ <bitmap id="vis.button.random.normal" file="../Big Bento/window/compcontrols.png" x="162" y="0" h="21" w="25" gammagroup="WindowText"/>
+ <bitmap id="vis.button.random.hover" file="../Big Bento/window/compcontrols.png" x="162" y="21" h="21" w="25" gammagroup="WindowText"/>
+ <bitmap id="vis.button.random.down" file="../Big Bento/window/compcontrols.png" x="162" y="42" h="21" w="25" gammagroup="WindowText"/>
+ <bitmap id="vis.button.random.active" file="../Big Bento/window/compcontrols.png" x="162" y="63" h="21" w="25" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="vis.button.presets.normal" file="../Big Bento/window/compcontrols.png" x="187" y="0" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.presets.hover" file="../Big Bento/window/compcontrols.png" x="187" y="21" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.presets.down" file="../Big Bento/window/compcontrols.png" x="187" y="42" h="21" w="21" gammagroup="WindowText"/>
+
+
+ <!-- Equalizer -->
+
+ <bitmap id="equalizer.background" file="window/equalizer.png" x="0" y="0" h="92" w="188" gammagroup="WindowText" />
+ <bitmap id="equalizer.labels.winamp" file="../Big Bento/window/equalizer.png" x="0" y="195" h="5" w="188" gammagroup="WindowText" />
+ <bitmap id="equalizer.labels.iso" file="../Big Bento/window/equalizer.png" x="0" y="189" h="5" w="188" gammagroup="WindowText" />
+ <bitmap id="equalizer.button.xfade.normal" file="window/equalizer.png" x="0" y="92" h="12" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.xfade.hover" file="window/equalizer.png" x="0" y="104" h="12" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.xfade.down" file="window/equalizer.png" x="0" y="116" h="12" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.xfade.active" file="window/equalizer.png" x="51" y="105" h="21" w="31" gammagroup="PlayerButtonActive" />
+
+ <bitmap id="equalizer.button.decrease.normal" file="window/equalizer.png" x="25" y="92" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.decrease.hover" file="window/equalizer.png" x="25" y="104" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.decrease.down" file="window/equalizer.png" x="25" y="116" h="12" w="13" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.button.increase.normal" file="window/equalizer.png" x="38" y="92" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.increase.hover" file="window/equalizer.png" x="38" y="104" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.increase.down" file="window/equalizer.png" x="38" y="116" h="12" w="13" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.xfade.display" file="window/equalizer.png" x="51" y="92" h="12" w="19" gammagroup="PlayerDisplay" />
+
+ <bitmap id="equalizer.button.eqon.normal" file="window/equalizer.png" x="0" y="128" h="13" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.eqon.hover" file="window/equalizer.png" x="0" y="141" h="13" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.eqon.down" file="window/equalizer.png" x="0" y="154" h="13" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.eqon.active" file="window/equalizer.png" x="0" y="167" h="22" w="29" gammagroup="PlayerButtonActive" />
+
+ <bitmap id="equalizer.button.auto.normal" file="window/equalizer.png" x="25" y="128" h="13" w="32" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.auto.hover" file="window/equalizer.png" x="25" y="141" h="13" w="32" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.auto.down" file="window/equalizer.png" x="25" y="154" h="13" w="32" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.auto.active" file="window/equalizer.png" x="29" y="167" h="22" w="44" gammagroup="PlayerButtonActive" />
+
+ <bitmap id="equalizer.button.presets.normal" file="window/equalizer.png" x="57" y="128" h="13" w="47" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.presets.hover" file="window/equalizer.png" x="57" y="141" h="13" w="47" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.presets.down" file="window/equalizer.png" x="57" y="154" h="13" w="47" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.slider.balance.background" file="window/equalizer.png" x="70" y="92" h="10" w="78" gammagroup="PlayerSliderBackground" />
+ <bitmap id="equalizer.slider.balance.normal" file="window/equalizer.png" x="148" y="92" h="10" w="17" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.balance.hover" file="window/equalizer.png" x="165" y="92" h="10" w="17" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.balance.down" file="window/equalizer.png" x="182" y="92" h="10" w="17" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.slider.eqband.background" file="window/equalizer.png" x="104" y="102" h="55" w="11" gammagroup="PlayerSliderBackground" />
+ <bitmap id="equalizer.slider.eqband.normal" file="window/equalizer.png" x="115" y="102" h="19" w="11" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.eqband.hover" file="window/equalizer.png" x="115" y="121" h="19" w="11" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.eqband.down" file="window/equalizer.png" x="115" y="140" h="19" w="11" gammagroup="PlayerButton" />
+
+
+ <!-- Config -->
+
+ <bitmap id="config.button.text.windowsizing" file="window/config.png" x="0" y="0" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.visualization" file="window/config.png" x="72" y="0" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.songticker" file="window/config.png" x="0" y="14" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.colorthemes" file="window/config.png" x="0" y="28" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.notifier" file="window/config.png" x="0" y="42" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.appearance" file="window/config.png" x="0" y="56" h="14" w="72" gammagroup="DisplayText"/>
+
+ <bitmap id="config.button.selected" file="$solid" h="14" w="72" color="49,53,64" gammagroup="SelectionBg"/>
+ <bitmap id="config.button.hover" file="$solid" h="14" w="72" color="31,35,44" gammagroup="SelectionBg"/>
+
+ <bitmap id="config.vdivider" file="$solid" h="90" w="2" color="32,34,35" gammagroup="WindowBackground"/>
+
+ <bitmap id="config.checkbox.active" file="window/config.png" x="158" y="84" h="12" w="12" gammagroup="DisplayText"/>
+ <bitmap id="config.checkbox.inactive" file="window/config.png" x="170" y="84" h="12" w="12" gammagroup="DisplayText"/>
+
+ <bitmap id="config.windowsizing.text" file="window/config.png" x="0" y="70" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.windowsizing.autoresize.hover" file="window/config.png" x="158" y="70" h="12" w="158" gammagroup="SelectionBg"/>
+ <bitmap id="config.windowsizing.titlebar.maximize.hover" file="window/config.png" x="158" y="70" h="12" w="54" gammagroup="SelectionBg"/>
+ <bitmap id="config.windowsizing.titlebar.shade.hover" file="window/config.png" x="158" y="70" h="12" w="89" gammagroup="SelectionBg"/>
+
+ <bitmap id="config.appearance.text" file="window/config.png" x="0" y="144" h="74" w="158" gammagroup="DisplayText"/>
+
+ <bitmap id="config.colorthemes.button.prev.normal" file="window/controls.png" x="0" y="104" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.prev.hover" file="window/controls.png" x="25" y="104" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.prev.down" file="window/controls.png" x="50" y="104" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.next.normal" file="window/controls.png" x="0" y="117" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.next.hover" file="window/controls.png" x="25" y="117" h="13" w="25" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.next.down" file="window/controls.png" x="50" y="117" h="13" w="25" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.set.normal" file="window/controls.png" x="0" y="130" h="13" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.set.hover" file="window/controls.png" x="31" y="130" h="13" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.set.down" file="window/controls.png" x="62" y="130" h="13" w="31" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.more.normal" file="window/controls.png" x="0" y="182" h="13" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.more.hover" file="window/controls.png" x="31" y="182" h="13" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.more.down" file="window/controls.png" x="62" y="182" h="13" w="31" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.songticker.text" file="window/config.png" x="0" y="218" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.songticker.scroll.hover" file="window/config.png" x="158" y="70" h="12" w="144" gammagroup="SelectionBg"/>
+ <bitmap id="config.appearance.2.text" file="window/config.png" x="0" y="440" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text" file="window/config.png" x="158" y="144" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.show.text" file="window/config.png" x="158" y="218" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.location.text" file="window/config.png" x="158" y="292" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.animation.text" file="window/config.png" x="0" y="292" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.visualization.text" file="window/config.png" x="0" y="366" h="74" w="158" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.sub.hover" file="window/config.png" x="158" y="112" h="12" w="158" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.show.hover" file="window/config.png" x="158" y="70" h="12" w="139" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.location.top.hover" file="window/config.png" x="158" y="70" h="12" w="66" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.location.bottom.hover" file="window/config.png" x="158" y="70" h="12" w="81" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.location.relative.hover" file="window/config.png" x="158" y="70" h="12" w="106" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.animation.hover" file="window/config.png" x="158" y="70" h="12" w="83" gammagroup="SelectionBg"/>
+
+ <bitmap id="config.bitmapfont.source" file="window/config.png" x="158" y="0" h="42" w="158" gammagroup="DisplayText"/>
+ <bitmapfont id="config.bitmapfont" file="config.bitmapfont.source" charwidth="7" charheight="14" hspacing="0" vspacing="0"/>
+
+ <bitmap id="config.button.left.normal" file="window/config.png" x="183" y="98" h="12" w="8" gammagroup="DisplayText"/>
+ <bitmap id="config.button.right.normal" file="window/config.png" x="191" y="98" h="12" w="8" gammagroup="DisplayText"/>
+
+ <bitmap id="config.button.left.hover" file="window/config.png" x="199" y="98" h="12" w="8" gammagroup="DisplayText"/>
+ <bitmap id="config.button.right.hover" file="window/config.png" x="207" y="98" h="12" w="8" gammagroup="DisplayText"/>
+
+ <bitmap id="config.button.left.down" file="window/config.png" x="215" y="98" h="12" w="8" gammagroup="DisplayText"/>
+ <bitmap id="config.button.right.down" file="window/config.png" x="223" y="98" h="12" w="8" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.always" file="window/config.png" x="171" y="218" h="12" w="48" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.shade_minimized" file="window/config.png" x="158" y="28" h="12" w="80" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.minimized" file="window/config.png" x="196" y="28" h="12" w="42" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.never" file="window/config.png" x="171" y="260" h="12" w="58" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.topleft" file="window/config.png" x="171" y="292" h="12" w="50" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.topcenter" file="window/config.png" x="171" y="306" h="12" w="50" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.topright" file="window/config.png" x="171" y="320" h="12" w="50" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.bottomleft" file="window/config.png" x="248" y="292" h="12" w="65" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.bottomcenter" file="window/config.png" x="248" y="306" h="12" w="65" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.bottomright" file="window/config.png" x="248" y="320" h="12" w="65" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.alphafade" file="window/config.png" x="13" y="292" h="12" w="68" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.vslide" file="window/config.png" x="158" y="56" h="12" w="68" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.hslide" file="window/config.png" x="158" y="42" h="12" w="68" gammagroup="DisplayText"/>
+
+ <bitmap id="config.background.over" file="window/songinfo-gradient.png" x="0" y="13" h="13" w="74" gammagroup="PlayerDisplay"/>
+
+
+ <!-- Shade -->
+
+ <bitmap id="shade.resizer.right" file="window/shade.png" x="0" y="48" h="18" w="5" gammagroup="Titlebar"/>
+
+ <bitmap id="shade.button.previous.normal" file="window/shade.png" x="0" y="0" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.play.normal" file="window/shade.png" x="14" y="0" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.pause.normal" file="window/shade.png" x="26" y="0" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.stop.normal" file="window/shade.png" x="38" y="0" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.next.normal" file="window/shade.png" x="52" y="0" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.eject.normal" file="window/shade.png" x="66" y="0" h="16" w="15" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.button.previous.hover" file="window/shade.png" x="0" y="16" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.play.hover" file="window/shade.png" x="14" y="16" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.pause.hover" file="window/shade.png" x="26" y="16" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.stop.hover" file="window/shade.png" x="38" y="16" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.next.hover" file="window/shade.png" x="52" y="16" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.eject.hover" file="window/shade.png" x="66" y="16" h="16" w="15" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.button.previous.down" file="window/shade.png" x="0" y="32" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.play.down" file="window/shade.png" x="14" y="32" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.pause.down" file="window/shade.png" x="26" y="32" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.stop.down" file="window/shade.png" x="38" y="32" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.next.down" file="window/shade.png" x="52" y="32" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.eject.down" file="window/shade.png" x="66" y="32" h="16" w="15" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.button.mute.normal" file="window/shade.png" x="81" y="0" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.mute.hover" file="window/shade.png" x="81" y="16" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.mute.down" file="window/shade.png" x="81" y="32" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.demute.normal" file="window/shade.png" x="96" y="0" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.demute.hover" file="window/shade.png" x="96" y="16" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.demute.down" file="window/shade.png" x="96" y="32" h="16" w="16" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.display.left" file="window/shade.png" x="5" y="48" h="18" w="2" gammagroup="PlayerDisplay"/>
+ <bitmap id="shade.display.middle" file="window/shade.png" x="7" y="48" h="18" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="shade.display.right" file="window/shade.png" x="13" y="48" h="18" w="2" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="shade.label.volume" file="window/shade.png" x="15" y="48" h="4" w="35" gammagroup="WindowText"/>
+ <bitmap id="shade.track.volume" file="window/shade.png" x="50" y="48" h="5" w="40" gammagroup="WindowBackground"/>
+
+ <bitmap id="shade.track.seek.left" file="window/shade.png" x="50" y="48" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="shade.track.seek.middle" file="window/shade.png" x="55" y="48" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="shade.track.seek.right" file="window/shade.png" x="85" y="48" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+
+ <bitmap id="shade.volume.thumb.normal" file="window/shade.png" x="15" y="53" h="10" w="10" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.volume.thumb.hover" file="window/shade.png" x="25" y="53" h="10" w="10" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.volume.thumb.down" file="window/shade.png" x="35" y="53" h="10" w="10" gammagroup="PlayerShadeSlider"/>
+
+ <bitmap id="shade.seek.thumb.normal" file="window/shade.png" x="45" y="53" h="10" w="16" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.seek.thumb.hover" file="window/shade.png" x="61" y="53" h="10" w="16" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.seek.thumb.down" file="window/shade.png" x="77" y="53" h="10" w="16" gammagroup="PlayerShadeSlider"/>
+
+ <bitmap id="shade.button.search.normal" file="window/shade.png" x="120" y="0" h="16" w="18" gammagroup="WindowBackground"/>
+ <bitmap id="shade.button.search.hover" file="window/shade.png" x="120" y="18" h="16" w="18" gammagroup="WindowBackground"/>
+ <bitmap id="shade.button.search.down" file="window/shade.png" x="120" y="36" h="16" w="18" gammagroup="WindowBackground"/>
+
+ <bitmap id="shade.button.icon.nowplaying" file="window/shade.png" x="140" y="18" h="16" w="18" gammagroup="PlayerButton"/>
+ <bitmap id="shade.button.icon.search" file="window/shade.png" x="140" y="36" h="16" w="18" gammagroup="PlayerButton"/>
+
+</elements> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player-normal-group.xml b/Src/resources/skins/Bento/xml/player-normal-group.xml
new file mode 100644
index 00000000..2abd120a
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player-normal-group.xml
@@ -0,0 +1,486 @@
+<!-- Player:Component:Player -->
+
+<groupdef id="player.display.beatvis.content">
+
+ <animatedlayer id="beatvisleft" x="0" y="0" h="28" w="43" image="player.beatvis.left" move="0" autoplay="0" autoreplay="0" ghost="1" />
+ <animatedlayer id="beatvisright" x="44" y="0" h="28" w="43" image="player.beatvis.right" move="0" autoplay="0" autoreplay="0" ghost="1" />
+
+ <togglebutton fitparent="1" rectrgn="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Enable Beat Visualization" tooltip="Toggle Beat Visualization"/>
+
+</groupdef>
+
+<groupdef id="player.display.beatvis">
+
+ <group id="player.display.beatvis.content" x="0" y="0" w="87" h="28" />
+
+ <script file="../Big Bento/scripts/beatvisualization.maki"/>
+
+</groupdef>
+
+<groupdef id="player.display">
+
+ <grid x="0" y="0" h="54" w="0" relatw="1" left="player.display.background.left" middle="player.display.background.center" right="player.display.background.right" move="1"/>
+ <grid x="0" y="0" h="54" w="0" relatw="1" left="player.display.foreground.left" middle="player.display.foreground.center" right="player.display.foreground.right" move="1"/>
+
+ <status
+ id="status" w="5" h="6"
+ x="-122" y="20" relatx="1" move="1"
+ stopBitmap="player.display.status.stopped"
+ playBitmap="player.display.status.playing"
+ pauseBitmap="player.display.status.paused"
+ />
+
+ <text id="SongTime"
+ x="11" y="5" h="27" w="99"
+ font="player.bitmapfont.nums" timecolonwidth="6"
+ display="time" align="left" alpha="220"
+ />
+
+ <SongTicker id="Songticker"
+ x="70" y="3" h="20" w="-72" relatw="1"
+ showlen="1" rightpadding="-3"
+ rightclickaction="trackmenu" dblclickaction="trackinfo" align="right"
+ color="color.display" fontsize="13" valign="top" bold="2"
+ />
+ <Text id="InfoDisplay"
+ x="70" y="3" h="20" w="-72" relatw="1" alpha="0"
+ display="SONGTITLE" showlen="1" offsetx="-3" align="right"
+ color="color.display" fontsize="13" valign="top" bold="2" ghost="1"
+ />
+
+ <script file="../Big Bento/scripts/songticker.maki" param="-7,small"/>
+
+ <!-- Bitrate -->
+ <layer id="Bitrate.label" x="-96" relatx="1" y="20" image="player.songinfo.bitrate" move="1"/>
+ <text
+ id="Bitrate" move="1"
+ x="-118" y="20" w="20" h="5" relatx="1" fontsize="5" font="player.bitmapfont.songinfo" align="right"
+ />
+
+ <!-- Frequency -->
+ <layer id="Frequency.label" x="-63" y="20" relatx="1" image="player.songinfo.frequency" move="1"/>
+ <text
+ id="Frequency" move="1"
+ display="SONGSAMPLERATE" textrefreshrate="500"
+ x="-80" y="20" w="15" h="5" relatx="1" fontsize="5" font="player.bitmapfont.songinfo" align="right"
+ />
+
+ <layer id="monster" x="-45" y="20" h="5" w="40" relatx="1" image="player.songinfo.na" move="1" rectrgn="1" dblclickaction="WA5:Prefs" dblclickparam="42" />
+
+ <script file="../Big Bento/scripts/songinfo.maki" param="small"/>
+
+ <vis
+ id="main.vis"
+ x="15" y="31"
+ w="72" h="16"
+ colorbandpeak="162,193,204"
+ colorband1="82,97,102"
+ colorband2="74,88,93"
+ colorband3="78,92,97"
+ colorband4="83,97,104"
+ colorband5="88,102,107"
+ colorband6="94,107,112"
+ colorband7="100,113,118"
+ colorband8="106,120,125"
+ colorband9="112,121,131"
+ colorband10="117,131,136"
+ colorband11="122,137,142"
+ colorband12="127,141,146"
+ colorband13="131,145,150"
+ colorband14="136,150,155"
+ colorband15="140,154,159"
+ colorband16="145,159,164"
+ colorosc1="82,97,102"
+ colorosc2="83,97,104"
+ colorosc3="106,120,125"
+ colorosc4="127,141,146"
+ colorosc5="145,159,164"
+ gammagroup="DisplayText"
+ />
+
+ <vis
+ id="main.vis.mirror"
+ x="15" y="48"
+ w="72" h="16"
+ colorbandpeak="83,97,104"
+ colorband1="82,97,102"
+ colorband2="74,88,93"
+ colorband3="78,92,97"
+ colorband4="83,97,104"
+ colorband5="88,102,107"
+ colorband6="94,107,112"
+ colorband7="100,113,118"
+ colorband8="106,120,125"
+ colorband9="112,121,131"
+ colorband10="117,131,136"
+ colorband11="122,137,142"
+ colorband12="127,141,146"
+ colorband13="131,145,150"
+ colorband14="136,150,155"
+ colorband15="140,154,159"
+ colorband16="145,159,164"
+ colorosc1="82,97,102"
+ colorosc2="83,97,104"
+ colorosc3="106,120,125"
+ colorosc4="127,141,146"
+ colorosc5="145,159,164"
+ ghost="1"
+ alpha="100"
+ flipv="1"
+ mode="1"
+ gammagroup="DisplayText"
+ />
+
+ <layer id="main.vis.trigger" x="15" y="33" h="21" w="72" rectrgn="1"/>
+
+ <group id="player.display.beatvis" x="86" y="28" w="-208" h="28" relatw="1"/>
+
+ <script file="../Big Bento/scripts/visualizer.maki" />
+
+</groupdef>
+
+<groupdef id="player.cbuttons">
+
+ <layer x="0" y="0" image="player.button.previous.placeholder" move="0"/>
+ <Button id="Prev"
+ x="0" y="0" h="24" w="26"
+ image="player.button.previous.normal"
+ hoverImage="player.button.previous.hover"
+ downImage="player.button.previous.down"
+ action="PREV" tooltip="Previous Track"
+ />
+ <layer id="Prev.glow" x="0" y="0" image="player.button.previous.glow" alpha="0" ghost="1"/>
+
+ <layer x="25" y="0" image="player.button.play.placeholder" move="0"/>
+ <Button id="Play"
+ x="25" y="0" h="24" w="22"
+ image="player.button.play.normal"
+ hoverImage="player.button.play.hover"
+ downImage="player.button.play.down"
+ action="PLAY" tooltip="Play"
+ />
+ <layer id="Play.glow" x="25" y="0" image="player.button.pps.glow" alpha="0" ghost="1"/>
+
+ <layer x="46" y="0" image="player.button.pause.placeholder" move="0"/>
+ <Button id="Pause"
+ x="46" y="0" h="24" w="22"
+ image="player.button.pause.normal"
+ hoverImage="player.button.pause.hover"
+ downImage="player.button.pause.down"
+ action="PAUSE" tooltip="Pause Playback"
+ />
+ <layer id="Pause.glow" x="46" y="0" image="player.button.pps.glow" alpha="0" ghost="1"/>
+
+ <layer x="67" y="0" image="player.button.stop.placeholder" move="0"/>
+ <Button id="Stop"
+ x="67" y="0" h="24" w="22"
+ image="player.button.stop.normal"
+ hoverImage="player.button.stop.hover"
+ downImage="player.button.stop.down"
+ action="STOP" tooltip="Stop Playback"
+ />
+ <layer id="Stop.glow" x="67" y="0" image="player.button.pps.glow" alpha="0" ghost="1"/>
+
+ <layer x="88" y="0" image="player.button.next.placeholder" move="0"/>
+ <Button id="Next"
+ x="88" y="0" h="24" w="26"
+ image="player.button.next.normal"
+ hoverImage="player.button.next.hover"
+ downImage="player.button.next.down"
+ action="NEXT" tooltip="Next Track"
+ />
+ <layer id="Next.glow" x="88" y="0" image="player.button.next.glow" alpha="0" ghost="1"/>
+
+ <layer x="-112" y="3" relatx="1" image="player.button.eject.placeholder" move="0"/>
+ <Button id="Eject"
+ x="-112" y="3" h="17" w="25" relatx="1"
+ image="player.button.eject.normal"
+ hoverImage="player.button.eject.hover"
+ downImage="player.button.eject.down"
+ action="EJECT" tooltip="Open File(s)"
+ />
+ <layer id="Eject.glow" x="-112" y="3" relatx="1" image="player.button.Eject.glow" alpha="0" ghost="1"/>
+
+ <layer x="-83" y="3" relatx="1" image="player.button.shuffle.placeholder" move="0"/>
+ <NStatesButton
+ id="shuffle"
+ x="-83" y="3" w="32" h="17" relatx="1"
+ image="player.button.shuffle.normal"
+ hoverimage="player.button.shuffle.hover"
+ downimage="player.button.shuffle.down"
+ extendedSongtickerMessage="Shuffle: On; Shuffle: Off"
+ rectrgn="1" nstates="2"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ />
+ <layer id="shuffle.glow" x="-83" y="3" relatx="1" image="player.button.shuffle.glow" alpha="0" ghost="1"/>
+
+ <layer x="-51" y="3" relatx="1" image="player.button.repeat.placeholder" move="0"/>
+ <NStatesButton
+ id="repeat"
+ x="-54" y="3" w="27" h="17" relatx="1"
+ image="player.button.repeat.normal"
+ hoverimage="player.button.repeat.hover"
+ downimage="player.button.repeat.down"
+ extendedSongtickerMessage="Repeat: Playlist;Repeat: Track;Repeat: Off"
+ rectrgn="1" nstates="3"
+ tooltip="Toggle Playlist/Song Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ />
+ <layer id="repeat.glow" x="-54" y="3" relatx="1" image="player.button.repeat.glow" alpha="0" ghost="1"/>
+
+</groupdef>
+
+<groupdef id="player.layout" wantfocus="1" rectrgn="1" move="1">
+
+ <group id="player.display" x="3" w="-4" relatw="1" h="54" y="0"/>
+
+ <!-- Volume -->
+
+ <layer id="player.placeholder.mute" x="-112" y="40" relatx="1" image="player.button.mute.placeholder" move="0"/>
+
+ <button id="mute" x="-111" y="40" w="25" h="14" relatx="1"
+ image="player.button.mute.normal"
+ hoverImage="player.button.mute.hover"
+ downImage="player.button.mute.down"
+ tooltip="Mute Volume"
+ />
+ <button id="etum" x="-111" y="40" w="25" h="14" relatx="1"
+ image="player.button.demute.normal"
+ hoverImage="player.button.demute.hover"
+ downImage="player.button.demute.down"
+ tooltip="Turn Volume On"
+ visible="0"
+ />
+
+ <layer id="mute.glow" x="-112" y="39" relatx="1" image="player.button.mute.glow" alpha="0" ghost="1"/>
+ <layer id="mute.active" x="-115" y="33" relatx="1" image="player.button.mute.active" visible="0" ghost="1"/>
+
+ <layer id="player.volume.label" x="-78" y="34" relatx="1" image="player.label.volume" move="1"/>
+
+ <grid id="player.volume.bg"
+ x="-80" y="44" h="5" w="78" relatx="1"
+ left="player.slider.background.left"
+ middle="player.slider.background.center"
+ right="player.slider.background.right"
+ />
+
+ <grid id="player.volume.fill"
+ x="-78" y="46" h="2" w="76" relatx="1"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="Volume"
+ action="Volume"
+ x="-81" y="43" h="10" w="80" relatx="1"
+ thumb="player.volume.thumb.normal"
+ hoverThumb="player.volume.thumb.hover"
+ downThumb="player.volume.thumb.down"
+ tooltip="Volume"
+ />
+
+ <script file="../Big Bento/scripts/mute.maki" param="76"/>
+ <!-- param = max_w for volume fillbar -->
+
+ <!-- Seek -->
+
+ <grid id="player.seek.bg"
+ x="4" y="60" h="5" w="-6" relatw="1"
+ left="player.slider.background.left"
+ middle="player.slider.background.center"
+ right="player.slider.background.right"
+ />
+
+ <ProgressGrid id="progressbar"
+ x="6" y="62" h="2" w="-8" relatw="1"
+ orientation="right"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="seeker"
+ action="SEEK"
+ x="3" y="59" h="10" w="-4" relatw="1"
+ thumb="player.posbar.thumb.normal"
+ hoverThumb="player.posbar.thumb.hover"
+ downThumb="player.posbar.thumb.down"
+ ghost="1"
+ visible="0"
+ tooltip="Seeker"
+ />
+
+ <Slider
+ id="seeker.ghost"
+ action="SEEK"
+ x="3" y="59" h="10" w="-4" relatw="1"
+ thumb="player.posbar.thumb.normal"
+ hoverThumb="player.posbar.thumb.hover"
+ downThumb="player.posbar.thumb.down"
+ tooltip="Seeker"
+ />
+
+ <script file="../Big Bento/scripts/seek.maki"/>
+
+ <group id="player.cbuttons" x="0" y="70" h="32" w="0" relatw="1"/>
+ <NStatesButton id="shuffle.active" x="-84" relatx="1" y="66" image="player.button.shuffle.active" ghost="1" cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle" nstates="2"/>
+ <NStatesButton id="repeat.active" x="-56" relatx="1" y="66" image="player.button.repeat.active" ghost="1" cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat" cfgvals="0;1;-1" nstates="3"/>
+
+ <script file="../Big Bento/scripts/cbuttons.maki" param="226"/>
+ <!-- Param defines the min_w of the cbuttons group -->
+
+</groupdef>
+
+<!-- Player:Titlebar -->
+
+<groupdef id="player.mainmenu" rectregn="1" >
+
+ <!-- Note: Most of the items in this group will be placed by script, so don't waste your time -->
+
+ <layer id="menu.text.file" x="0" y="4" h="9" image="window.titlebar.menu.text.file" />
+ <layer id="menu.layer.file.normal" x="0" y="0" h="20" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.file.hover" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.file.down" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.play" x="0" y="4" h="9" image="window.titlebar.menu.text.play" />
+ <layer id="menu.layer.play.normal" x="0" y="0" h="20" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.play.hover" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.play.down" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.options" x="0" y="4" h="9" image="window.titlebar.menu.text.options" />
+ <layer id="menu.layer.options.normal" x="0" y="0" h="20" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.options.hover" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.options.down" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.view" x="0" y="4" h="9" image="window.titlebar.menu.text.view" />
+ <layer id="menu.layer.view.normal" x="0" y="0" h="20" w="20" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.view.hover" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.view.down" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.help" x="0" y="4" h="9" image="window.titlebar.menu.text.help" />
+ <layer id="menu.layer.help.normal" x="0" y="0" h="20" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.help.hover" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.help.down" x="0" y="0" h="20" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <Menu id="File.menu" menugroup="main" next="Play.menu" prev="Help.menu" x="0" y="0" h="16" w="0" menu="WA5:File" normal="menu.layer.file.normal" hover="menu.layer.file.hover" down="menu.layer.file.down" />
+ <Menu id="Play.menu" menugroup="main" next="Options.menu" prev="File.menu" x="0" y="0" h="16" w="0" menu="WA5:Play" normal="menu.layer.play.normal" hover="menu.layer.play.hover" down="menu.layer.play.down" />
+ <Menu id="Options.menu" menugroup="main" next="View.menu" prev="Play.menu" x="0" y="0" h="16" w="0" menu="WA5:Options" normal="menu.layer.options.normal" hover="menu.layer.options.hover" down="menu.layer.options.down" />
+ <Menu id="View.menu" menugroup="main" next="Help.menu" prev="Options.menu" x="0" y="0" h="16" w="0" menu="WA5:Windows" normal="menu.layer.view.normal" hover="menu.layer.view.hover" down="menu.layer.view.down" />
+ <Menu id="Help.menu" menugroup="main" next="File.menu" prev="View.menu" x="0" y="0" h="16" w="0" menu="WA5:Help" normal="menu.layer.help.normal" hover="menu.layer.help.hover" down="menu.layer.help.down" />
+
+ <guiObject fitparent="1" id="menu.hidden.mousetrap" visible="0" move="1"/>
+
+</groupdef>
+
+<groupdef id="player.titlebar">
+
+ <grid
+ x="0" y="0" h="18" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.left"
+ middle="window.titlebar.grid.middle"
+ right="window.titlebar.grid.right"
+ />
+
+ <layer x="27" y="6" image="window.titlebar.text.winamp" ghost="1" />
+
+ <guiobject fitparent="1" rectrgn="1" move="1" id="player.mousetrap.maximize"/>
+
+ <layer id="titlebar.resizer.topleft" x="0" y="0" h="3" w="5" rectrgn="1" resize="topleft" />
+ <layer id="titlebar.resizer.top" x="5" y="0" h="3" w="-10" relatw="1" rectrgn="1" resize="top" />
+ <layer id="titlebar.resizer.topright" x="-5" y="0" h="3" w="5" relatx="1" rectrgn="1" resize="topright" />
+ <layer x="0" y="3" h="15" w="5" rectrgn="1" resize="left" />
+ <layer x="-5" y="3" h="15" w="5" relatx="1" rectrgn="1" resize="right" />
+ <layer id="titlebar.resizer.disable" x="0" y="0" h="18" w="0" relatw="1" rectrgn="1" ghost="1" move="0"/>
+
+ <grid
+ x="0" y="0" h="18" w="75" relatw="0" regionop="1" ghost="1"
+ left="window.titlebar.grid.over.left"
+ middle="window.titlebar.grid.over.middle"
+ />
+
+ <grid
+ id="titlebar.grid.right"
+ x="231" y="0" h="18" w="-231" relatw="1" regionop="1" ghost="1"
+ middle="window.titlebar.grid.over.middle"
+ right="window.titlebar.grid.over.right"
+ />
+
+ <group id="player.mainmenu" x="75" y="1" w="300" h="16"/>
+
+ <button
+ x="5" y="2" h="13" w="20"
+ action="SYSMENU"
+ image="window.titlebar.button.sysmenu.normal"
+ hoverImage="window.titlebar.button.sysmenu.hover"
+ downImage="window.titlebar.button.sysmenu.down"
+ tooltip="Main Menu"
+ />
+
+ <button
+ x="-79" relatx="1" y="2" h="13" w="17"
+ id="player.button.minimize"
+ action="MINIMIZE"
+ image="window.titlebar.button.minimize.normal"
+ hoverImage="window.titlebar.button.minimize.hover"
+ downImage="window.titlebar.button.minimize.down"
+ tooltip="Minimize Winamp"
+ />
+
+ <button
+ x="-60" relatx="1" y="2" h="13" w="17"
+ id="player.titlebar.button.restore"
+ image="window.titlebar.button.restore.normal"
+ hoverImage="window.titlebar.button.restore.hover"
+ downImage="window.titlebar.button.restore.down"
+ tooltip="Restore Winamp"
+ />
+
+ <button
+ x="-60" relatx="1" y="2" h="13" w="17"
+ id="player.titlebar.button.maximize"
+ image="window.titlebar.button.maximize.normal"
+ hoverImage="window.titlebar.button.maximize.hover"
+ downImage="window.titlebar.button.maximize.down"
+ tooltip="Maximize Winamp"
+ />
+
+ <button
+ x="-41" relatx="1" y="2" h="13" w="17"
+ action="SWITCH" param="shade"
+ image="window.titlebar.button.shade.normal"
+ hoverImage="window.titlebar.button.shade.hover"
+ downImage="window.titlebar.button.shade.down"
+ tooltip="Windowshade Mode"
+ />
+
+ <button
+ id="maximize.slam.close" visible="1"
+ x="-22" relatx="1" y="0" h="15" w="22"
+ rectrgn="1"
+ action="CLOSE"
+ tooltip="Exit Winamp"
+ />
+ <button
+ x="-22" relatx="1" y="2" h="13" w="17"
+ action="CLOSE"
+ image="window.titlebar.button.close.normal"
+ hoverImage="window.titlebar.button.close.hover"
+ downImage="window.titlebar.button.close.down"
+ tooltip="Exit Winamp"
+ />
+
+ <script file="../Big Bento/scripts/mainmenu.maki"/>
+
+</groupdef>
+
+<groupdef id="window.background.regions">
+ <layer x="0" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="0" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player-normal-mcv.xml b/Src/resources/skins/Bento/xml/player-normal-mcv.xml
new file mode 100644
index 00000000..03b20c7b
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player-normal-mcv.xml
@@ -0,0 +1,828 @@
+<include file="config.xml"/>
+
+<groupdef id="player.dualwnd.pl.info" wantfocus="1" rectrgn="1">
+
+ <Wasabi:Frame id="player.dualwnd" x="0" y="0" w="0" relath="0" h="92" from="r" relatw="1" orientation="v" maxwidth="-141" left="player.component.fileinfo" right="player.component.playlist.frame" minwidth="27" width="200" jump="right" />
+
+</groupdef>
+
+<!-- Player:Component:PlayList -->
+
+<groupdef id="player.component.playlist.frame" wantfocus="1" rectrgn="1">
+
+ <Wasabi:Frame id="playlist.dualwnd" fitparent="1" from="bottom" orientation="h" maxheight="null" bottom="player.component.playlist.albumart" top="player.component.playlist" minheight="55" height="100" jump="0"/>
+
+</groupdef>
+
+<groupdef id="player.component.playlist.albumart" wantfocus="1" rectrgn="1">
+
+ <grid fitparent="1"
+ topleft="sui.background.topleft"
+ top="sui.background.top"
+ topright="sui.background.topright"
+ left="sui.background.left"
+ middle="sui.background.center"
+ right="sui.background.right"
+ bottomleft="sui.background.bottomleft"
+ bottom="sui.background.bottom"
+ bottomright="sui.background.bottomright"
+ />
+
+ <group fitparent="-2" id="info.component.cover2" />
+
+</groupdef>
+
+<groupdef id="player.component.playlist" wantfocus="1" rectrgn="1">
+
+ <grid fitparent="1"
+ topleft="pledit.background.topleft"
+ top="pledit.background.top"
+ topright="pledit.background.topright"
+ left="pledit.background.left"
+ middle="pledit.background.center"
+ right="pledit.background.right"
+ bottomleft="pledit.background.bottomleft"
+ bottom="pledit.background.bottom"
+ bottomright="pledit.background.bottomright"
+ />
+
+ <group id="playlistpro" y="1" h="-15" x="2" w="-3" relath="1" relatw="1"/>
+
+ <group id="player.component.playlist.buttons" x="1" y="-14" w="-2" relatw="1" relaty="1" />
+
+</groupdef>
+
+<groupdef id="player.component.playlist.buttons">
+
+ <grid
+ x="0" y="0" h="13" w="0" relatw="1" move="1"
+ middle="pledit.background.buttons.center"
+ right="pledit.background.buttons.right"
+ />
+
+ <button id="player.playlist.add"
+ x="0" h="13" w="25" y="0"
+ image="pledit.button.add.normal"
+ hoverImage="pledit.button.add.hover"
+ downImage="pledit.button.add.down"
+ action="PE_Add" tooltip="Add Files to Playlist"
+ />
+ <button id="player.playlist.rem"
+ x="24" h="13" w="25" y="0"
+ image="pledit.button.rem.normal"
+ hoverImage="pledit.button.rem.hover"
+ downImage="pledit.button.rem.down"
+ action="PE_Rem" tooltip="Remove Files from Playlist"
+ />
+ <button id="player.playlist.sel"
+ x="48" h="13" w="25" y="0"
+ image="pledit.button.sel.normal"
+ hoverImage="pledit.button.sel.hover"
+ downImage="pledit.button.sel.down"
+ action="PE_Sel" tooltip="Select Files in Playlist"
+ />
+ <button id="player.playlist.misc"
+ x="72" h="13" w="25" y="0"
+ image="pledit.button.misc.normal"
+ hoverImage="pledit.button.misc.hover"
+ downImage="pledit.button.misc.down"
+ action="PE_Misc" tooltip="Misc Actions"
+ />
+ <button id="player.playlist.manage"
+ x="96" h="13" w="25" y="0"
+ image="pledit.button.manage.normal"
+ hoverImage="pledit.button.manage.hover"
+ downImage="pledit.button.manage.down"
+ action="PE_List" tooltip="Manage Playlist"
+ />
+ <togglebutton id="player.playlist.small"
+ x="-25" h="13" w="25" y="0" relatx="1"
+ image="pledit.button.toggle.normal"
+ hoverImage="pledit.button.toggle.hover"
+ downImage="pledit.button.toggle.down"
+ cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Enlarge Playlist"
+ tooltip="Collapse Playlist"
+ />
+ <togglebutton id="player.playlist.enlarge"
+ x="-25" h="13" w="25" y="0" relatx="1"
+ image="pledit.button.toggle.normal"
+ hoverImage="pledit.button.toggle.hover"
+ downImage="pledit.button.toggle.down"
+ cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Enlarge Playlist"
+ tooltip="Enlarge Playlist"
+ />
+
+ <text id="PLTime" ticker="1" display="PE_Info"
+ x="122" y="0" h="13" w="-148" relatw="1"
+ align="center" color="color.display"
+ bold="0" fontsize="13" antialias="1" move="1"
+ />
+
+</groupdef>
+
+<!-- Info:Component:Vis -->
+
+<groupdef id="info.component.vis">
+
+ <component id="vis" fitparent="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="0" hold="guid:{0000000A-000C-0010-FF7B-01014263450C}"/>
+
+</groupdef>
+
+<groupdef id="info.component.vis.full">
+
+ <component id="vis" x="3" w="-6" y="0" h="74" relatw="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="0" hold="guid:{0000000A-000C-0010-FF7B-01014263450C}"/>
+
+ <button
+ image="infocomp.button.vis.cfg.normal"
+ downImage="infocomp.button.vis.cfg.down"
+ hoverImage="infocomp.button.vis.cfg.hover"
+ action="VIS_Menu"
+ x="1" y="-14" relaty="1"
+ tooltip="Configure Visualizer"
+ />
+
+ <button
+ image="config.colorthemes.button.prev.normal"
+ downImage="config.colorthemes.button.prev.down"
+ hoverImage="config.colorthemes.button.prev.hover"
+ action="VIS_Prev"
+ x="25" y="-14" relaty="1"
+ tooltip="Previous Visualization Preset"
+ />
+
+ <ToggleButton
+ id="vis.rnd"
+ image="infocomp.button.vis.rnd.normal"
+ downImage="infocomp.button.vis.rnd.down"
+ hoverImage="infocomp.button.vis.rnd.hover"
+ x="49" y="-14" relaty="1"
+ tooltip="Randomly change Visualization Presets"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <button
+ image="config.colorthemes.button.next.normal"
+ downImage="config.colorthemes.button.next.down"
+ hoverImage="config.colorthemes.button.next.hover"
+ action="VIS_Next"
+ x="73" y="-14" relaty="1"
+ tooltip="Next Visualization Preset"
+ />
+
+ <ToggleButton id="vis.rnd.active"
+ x="41" y="-17" h="17" w="41" relaty="1"
+ ActiveImage="infocomp.button.vis.rnd.active"
+ ghost="1"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <script file="../Big Bento/scripts/syncbutton.maki" param="vis.rnd;vis.rnd.active" />
+
+</groupdef>
+
+<!-- Info:Component:Cover -->
+
+<groupdef id="info.component.Cover">
+
+ <AlbumArt id="winamp.albumart" fitparent="1" move="1" rectrgn="1" notfoundImage="winamp.cover.notfound.84"/>
+ <script file="../Big Bento/scripts/albumart.maki" param="winamp.albumart,winamp.cover.notfound.84"/>
+
+</groupdef>
+
+<groupdef id="info.component.Cover2">
+
+ <AlbumArt id="winamp.albumart" fitparent="1" move="1" rectrgn="1" notfoundImage="winamp.cover.notfound.xxl"/>
+ <script file="../Big Bento/scripts/albumart.maki" param="winamp.albumart,winamp.cover.notfound.xxl"/>
+
+</groupdef>
+
+<!-- Info:Component:EQ -->
+
+<groupdef id="info.component.eq.content">
+
+ <layer x="0" y="0" image="equalizer.background" ghost="1" />
+
+ <layer id="frequency.labels" x="0" y="70" image="equalizer.labels.winamp" ghost="1" />
+
+ <slider
+ id="sCrossfade"
+ cfgattrib="{F1239F09-8CC6-4081-8519-C2AE99FCB14C};Crossfade time"
+ high="20" ghost="1" visible="0"
+ x="3" y="3"
+ w="2" h="2"
+ />
+
+ <togglebutton
+ id="Crossfade"
+ x="2" y="2"
+ image="equalizer.button.xfade.normal"
+ downImage="equalizer.button.xfade.down"
+ hoverImage="equalizer.button.xfade.hover"
+ tooltip="Toggle Crossfading Between Tracks"
+ cfgattrib="{FC3EAF78-C66E-4ED2-A0AA-1494DFCC13FF};Enable crossfading"
+ />
+
+ <layer id="CrossfadeActive" x="1" y="1" image="equalizer.button.xfade.active" visible="0" ghost="1"/>
+
+ <layer
+ image="equalizer.xfade.display"
+ x="39" y="2" move="0"
+ />
+
+ <button
+ id="CrossfadeDecrease"
+ image="equalizer.button.decrease.normal"
+ downImage="equalizer.button.decrease.down"
+ hoverImage="equalizer.button.decrease.hover"
+ x="27" y="2"
+ tooltip="Decrease Crossfade Time"
+ />
+ <button
+ id="CrossfadeIncrease"
+ image="equalizer.button.increase.normal"
+ downImage="equalizer.button.increase.down"
+ hoverImage="equalizer.button.increase.hover"
+ x="57" y="2"
+ tooltip="Increase Crossfade Time"
+ />
+
+ <text
+ id="CFDisplay"
+ x="39" y="5" w="19" h="5"
+ align="center"
+ valign="top"
+ fontsize="5" font="player.bitmapfont.songinfo"
+ text="00"
+ />
+
+ <layer x="95" y="4" w="78" h="10" image="equalizer.slider.balance.background" move="0" />
+ <slider
+ id="Balance"
+ action="PAN"
+ x="95" y="4"
+ w="79" h="10"
+ thumb="equalizer.slider.balance.normal"
+ downThumb="equalizer.slider.balance.down"
+ hoverThumb="equalizer.slider.balance.hover"
+ tooltip="Balance"
+ />
+
+ <layer x="4" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="preamp"
+ action="EQ_BAND" param="preamp"
+ x="4" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="Preamp"
+ orientation="vertical"
+ />
+
+ <layer x="29" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq1"
+ action="EQ_BAND" param="1"
+ x="29" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="70 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="45" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq2"
+ action="EQ_BAND" param="2"
+ x="45" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="180 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="61" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq3"
+ action="EQ_BAND" param="3"
+ x="61" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="320 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="77" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq4"
+ action="EQ_BAND" param="4"
+ x="77" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="600 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="93" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq5"
+ action="EQ_BAND" param="5"
+ x="93" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="1 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="109" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq6"
+ action="EQ_BAND" param="6"
+ x="109" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="3 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="125" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq7"
+ action="EQ_BAND" param="7"
+ x="125" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="6 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="141" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq8"
+ action="EQ_BAND" param="8"
+ x="141" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="12 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="157" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq9"
+ action="EQ_BAND" param="9"
+ x="157" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="14 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="173" y="14" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq10"
+ action="EQ_BAND" param="10"
+ x="173" y="14"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="16 KHz"
+ orientation="vertical"
+ />
+
+ <button
+ id="EQ_p12"
+ x="16" y="19"
+ w="12" h="7"
+ rectrgn="1"
+ />
+
+ <button
+ id="EQ_0"
+ x="16" y="37"
+ w="12" h="7"
+ rectrgn="1"
+ />
+
+ <button
+ id="EQ_m12"
+ x="16" y="55"
+ w="12" h="7"
+ rectrgn="1"
+ />
+
+</groupdef>
+
+<groupdef id="info.component.eq">
+
+ <group id="info.component.eq.content" x="0" y="0" h="92" w="188" />
+
+ <button
+ id="eqonoff"
+ image="equalizer.button.eqon.normal"
+ downImage="equalizer.button.eqon.down"
+ hoverImage="equalizer.button.eqon.hover"
+ action="EQ_TOGGLE"
+ x="1" y="-14" relaty="1"
+ tooltip="EQ on/off"
+ />
+ <button id="eqonoffActive" x="1" y="-23" h="22" w="29" relaty="1" activeImage="equalizer.button.eqon.active" visible="1" ghost="1" action="EQ_TOGGLE"/>
+
+ <button
+ id="eqauto"
+ image="equalizer.button.auto.normal"
+ downImage="equalizer.button.auto.down"
+ hoverImage="equalizer.button.auto.hover"
+ action="EQ_AUTO"
+ x="25" y="-14" relaty="1"
+ tooltip="EQ auto"
+ />
+
+ <button id="eqautoActive" x="22" y="-23" h="22" w="44" relaty="1" activeImage="equalizer.button.auto.active" visible="1" ghost="1" action="EQ_AUTO"/>
+
+ <button
+ id="eqpresets"
+ image="equalizer.button.presets.normal"
+ downImage="equalizer.button.presets.down"
+ hoverImage="equalizer.button.presets.hover"
+ action="MENU" param="presets"
+ x="56" y="-14" relaty="1"
+ tooltip="Open presets"
+ />
+
+ <script file="../Big Bento/scripts/eq.maki" />
+
+</groupdef>
+
+<!-- Info:Component:InfoDisplay -->
+
+<groupdef id="infodisplay.line.rating.stars" >
+
+ <button id="rate.1" x="0" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.1" ghost="1"
+ x="0" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.2" x="11" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.2" ghost="1"
+ x="11" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.3" x="22" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.3" ghost="1"
+ x="22" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.4" x="33" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.4" ghost="1"
+ x="33" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.5" x="44" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.5" ghost="1"
+ x="44" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+</groupdef>
+
+<groupdef id="infodisplay.line.rating" >
+
+ <Text
+ id="label"
+ x="0" y="0" w="0" relatw="1" h="12"
+ text="Rating:"
+ color="color.display" bold="1" fontsize="13" alpha="180" valign="bottom" antialias="0"
+ />
+
+ <group id="infodisplay.line.rating.stars" x="0" y="0" w="0" relatw="1" />
+
+ <button id="rate.0" x="0" y="0" h="12" w="0" rectrgn="1" tooltip="Remove Rating"/>
+
+</groupdef>
+
+<!--
+Params for <Bento:InfoLine/>
+label="sometext" displayed as label
+shift="someint" how much pixels text will be moved right (call before text!)
+text="sometext" displayed as line text
+link="sometext" displayed as hover tooltip
+-->
+
+<groupdef id="bento.infodisplay.line" embed_xui="text" xuitag="Bento:InfoLine">
+
+ <Text id="label"
+ x="0" y="0" w="0" relatw="1" h="12"
+ text="Error:"
+ color="color.display" bold="1" fontsize="13" alpha="180" valign="bottom" antialias="0"
+ />
+
+ <Text id="text"
+ x="0" y="0" w="0" relatw="1" h="12"
+ color="color.display" bold="2" fontsize="13" valign="bottom" antialias="0" ticker="1" translate="0" alpha="253"
+ />
+
+// <layer id="link" x="0" y="0" h="15" w="0" relatw="1" rectrgn="1" move="0" cursor="IDC_HAND"/>
+ <layer id="link" x="0" y="0" h="15" w="0" relatw="1" rectrgn="1" move="0"/>
+
+ <script file="../Big Bento/scripts/infoline.maki" />
+
+</groupdef>
+
+
+<groupdef id="info.component.infodisplay">
+
+ <group id="infodisplay.line.rating" x="0" y="0" w="0" relatw="1" h="15" visible="0" />
+
+ <Bento:InfoLine id="infodisplay.line.title" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Title:"/>
+
+ <Bento:InfoLine id="infodisplay.line.artist" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Artist:"/>
+
+ <Bento:InfoLine id="infodisplay.line.album" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Album:"/>
+
+ <Bento:InfoLine id="infodisplay.line.track" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Track:"/>
+
+ <Bento:InfoLine id="infodisplay.line.year" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Year:"/>
+
+ <Bento:InfoLine id="infodisplay.line.genre" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Genre:"/>
+
+ <Bento:InfoLine id="infodisplay.line.publisher" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Publisher:"/>
+
+ <Bento:InfoLine id="infodisplay.line.composer" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Composer:"/>
+
+ <Bento:InfoLine id="infodisplay.line.format" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Decoder:"/>
+
+ <Bento:InfoLine id="infodisplay.line.sname" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Stream:"/>
+
+ <Bento:InfoLine id="infodisplay.line.surl" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Homepage:"/>
+
+ <Bento:InfoLine id="infodisplay.line.albumartist" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Album Artist:"/>
+
+ <Bento:InfoLine id="infodisplay.line.disc" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ shift="-2" label="Disc:"/>
+
+ <script file="../Big Bento/scripts/fileinfo.maki" param="@HAVE_LIBRARY@,5"/>
+
+</groupdef>
+
+<!-- Info:Component:PLSideCar -->
+
+<groupdef id="info.component.plsidecar">
+
+ <PlaylistDirectory fitparent="1" antialias="0" fontsize="13"/>
+
+</groupdef>
+
+<groupdef id="info.component.coverflow">
+
+ <!--button id="coverflow.prev"
+ x="0" y="-18" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Scroll backwards in Playlist"
+ />
+
+ <button id="coverflow.next"
+ x="30" y="-18" relaty="1"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Scroll forwards in Playlist"
+ /-->
+
+ <text id="info" nograbb="1" move="0"
+ x="64" y="-14" relaty="1" h="12" w="-130" relatw="1"
+ align="center" color="color.display" fontsize="12" valign="top" bold="2" ghost="1"
+ />
+
+ <group id="info.component.coverflow.g" x="0" y="2" h="-1" relath="1" w="315" />
+
+</groupdef>
+
+<!-- Info:Instance -->
+
+<groupdef id="infocomp.visbuttons">
+
+ <button
+ id="vis.cfg"
+ image="infocomp.button.vis.cfg2.normal"
+ downImage="infocomp.button.vis.cfg2.down"
+ hoverImage="infocomp.button.vis.cfg2.hover"
+ action="VIS_Menu"
+ x="0" y="3"
+ tooltip="Configure Visualizer"
+ />
+
+ <button
+ id="vis.prv"
+ image="config.colorthemes.button.prev.normal"
+ downImage="config.colorthemes.button.prev.down"
+ hoverImage="config.colorthemes.button.prev.hover"
+ action="VIS_Prev"
+ x="24" y="3"
+ tooltip="Previous Visualization Preset"
+ />
+
+ <ToggleButton
+ id="vis.rnd"
+ image="infocomp.button.vis.rnd.normal"
+ downImage="infocomp.button.vis.rnd.down"
+ hoverImage="infocomp.button.vis.rnd.hover"
+ x="48" y="3"
+ tooltip="Randomly change Visualization Presets"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <button
+ id="vis.nxt"
+ image="config.colorthemes.button.next.normal"
+ downImage="config.colorthemes.button.next.down"
+ hoverImage="config.colorthemes.button.next.hover"
+ action="VIS_Next"
+ x="72" y="3"
+ tooltip="Next Visualization Preset"
+ />
+
+ <ToggleButton id="vis.rnd.active"
+ x="40" y="0" h="17" w="41"
+ ActiveImage="infocomp.button.vis.rnd.active"
+ ghost="1"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <script file="../Big Bento/scripts/syncbutton.maki" param="vis.rnd;vis.rnd.active" />
+ <script file="../Big Bento/scripts/visbuttons.maki" />
+</groupdef>
+
+<groupdef id="infocomp.background.footer.over">
+
+ <layer move="0" ghost="1"
+ x="0" y="3"
+ image="infocomp.background.buttons.left.over"
+ />
+
+</groupdef>
+
+<groupdef id="infocomp.background.footer">
+
+ <grid
+ id="footer.background.grid" move="1"
+ x="0" y="3" h="13" w="0" relatw="1"
+ middle="pledit.background.buttons.center"
+ right="pledit.background.buttons.right"
+ />
+
+ <group id="infocomp.background.footer.over" x="0" y="0" w="-5" relatw="1" />
+
+ <group x="0" y="0" h="17" w="0" relatw="1" id="infocomp.visbuttons" />
+
+</groupdef>
+
+<groupdef id="info.component.holder">
+
+ <grid fitparent="1" move="1"
+ topleft="infocomp.background.topleft"
+ top="infocomp.background.top"
+ topright="infocomp.background.topright"
+ left="infocomp.background.left"
+ middle="infocomp.background.center"
+ right="infocomp.background.right"
+ bottomleft="infocomp.background.bottomleft"
+ bottom="infocomp.background.bottom"
+ bottomright="infocomp.background.bottomright"
+ />
+
+ <group x="6" y="-17" h="17" w="-8" relatw="1" relaty="1" id="infocomp.background.footer" />
+
+ <group id="info.component.cover" x="4" y="4" h="84" w="84"/>
+ <group id="info.component.vis" x="4" y="4" h="84" w="84"/>
+ <group id="info.component.vis.full" x="0" y="3" h="89" w="0" relatw="1" visible="0"/>
+ <group id="info.component.eq" x="0" y="0" h="92" w="0" relatw="1" visible="0"/>
+ <group id="info.component.config" x="2" y="1" h="91" w="-4" relatw="1" visible="0"/>
+ <group id="info.component.plsidecar" x="3" y="3" h="75" w="-5" relatw="1" visible="0"/>
+
+ <layer id="branding" visible="0" move="1" ghost="1"
+ x="0" y="35" h="24" w="100" image="infocomp.branding"
+ />
+
+ <group id="info.component.infodisplay" x="80" y="3" h="-19" relath="1" w="-143" relatw="1" />
+
+ <button
+ id="comp.menu"
+ x="-27" y="-14" w="26" h="13" relatx="1" relaty="1"
+ image="infocomp.button.toggle.normal"
+ hoverImage="infocomp.button.toggle.hover"
+ downImage="infocomp.button.toggle.down"
+ tooltip="Change the content this area holds"
+ />
+
+ <button
+ id="sendTo"
+ x="-51" y="-14" w="25" h="13" relatx="1" relaty="1"
+ action="ML_SendTo"
+ image="infocomp.button.more.normal"
+ hoverImage="infocomp.button.more.hover"
+ downImage="infocomp.button.more.down"
+ tooltip="Send this file to..."
+ anchor_menu="bottomleft"
+ />
+
+<!-- <button
+ id="search"
+ x="-74" y="-14" relatx="1" relaty="1"
+ image="infocomp.button.blank.normal"
+ hoverImage="infocomp.button.blank.hover"
+ downImage="infocomp.button.blank.down"
+ tooltip="Search the web for this artist"
+ anchor_menu="bottomleft"
+ />
+ <layer id="search.icon.bg" x="-74" y="-14" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.bg" />
+ <script file="../Big Bento/scripts/syncbutton.maki" param="search;search.icon.bg"/>
+ <layer id="search.icon" x="-74" y="-14" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.search" />
+ <script file="../Big Bento/scripts/syncbutton.maki" param="search;search.icon"/>
+
+ <button
+ id="nowplaying"
+ x="-97" y="-14" relatx="1" relaty="1"
+ image="infocomp.button.blank.normal"
+ hoverImage="infocomp.button.blank.hover"
+ downImage="infocomp.button.blank.down"
+ tooltip="More information about this artist"
+ anchor_menu="bottomleft"
+ />
+ <layer id="nowplaying.icon.bg" x="-97" y="-14" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.bg" />
+ <script file="../Big Bento/scripts/syncbutton.maki" param="nowplaying;nowplaying.icon.bg"/>
+ <layer id="nowplaying.icon" x="-97" y="-14" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.nowplaying" />
+ <script file="../Big Bento/scripts/syncbutton.maki" param="nowplaying;nowplaying.icon"/>
+-->
+ <script file="../Big Bento/scripts/shadelinks.maki"/>
+
+ <!--script file="scripts/componentregion.maki" param="comp.menu" /-->
+
+ <!--layer id="osd.trigger" fitparent="1" rectrgn="1" ghost="0"/-->
+
+ <script file="scripts/mcvcore.maki" param="small" />
+</groupdef>
+
+<groupdef id="player.component.fileinfo">
+
+ <group id="info.component.holder" x="0" y="0" h="92" w="0" relatw="1"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player-normal-sui.xml b/Src/resources/skins/Bento/xml/player-normal-sui.xml
new file mode 100644
index 00000000..cb73cc24
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player-normal-sui.xml
@@ -0,0 +1,315 @@
+<!-- SUI:Component:Browser -->
+
+<!-- <groupdef id="wdh.browser">
+
+ <Winamp:Browser fitparent="1" id="sui.component.browser" />
+
+</groupdef> -->
+
+<!-- SUI:Component:MediaLibrary -->
+
+<groupdef id="wdh.ml">
+
+ <windowholder x="3" y="4" w="-5" h="-4" relath="1" relatw="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="0" visible="1" hold="guid:{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}"/>
+
+</groupdef>
+
+<!-- SUI:Component:Video -->
+
+<groupdef id="wdh.video.resizable">
+
+ <rect color="0,0,0" fitparent="1" filled="1"/>
+
+ <rect id="wdh.outer" x="4" y="4" w="-8" relatw="1" h="-8" relath="1" color="80,80,80"/>
+
+ <rect id="wdh.drag" x="-5" y="-5" relatx="1" relaty="1" h="5" w="5" filled="1" color="100,100,100" cursor="IDC_SIZENWSE"/>
+
+ <windowholder id="wdh" x="5" y="5" w="-10" relatw="1" h="-10" relath="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="0" visible="1" hold="guid:{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"/>
+
+ <script file="../Big Bento/scripts/videoresize.maki"/>
+
+</groupdef>
+
+<groupdef id="wdh.video">
+
+ <layer x="1" y="4" h="1" w="-2" relatw="1" image="sui.component.bottom2" move="0" alpha="180"/>
+ <layer x="1" y="-24" relaty="1" h="1" w="-2" relatw="1" image="sui.component.top2" move="0" />
+
+ <group id="wdh.video.resizable" x="1" y="5" w="-2" relatw="1" h="-29" relath="1" />
+
+ <Button action="VID_FS"
+ x="4" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.fullscreen.normal"
+ hoverImage="video.button.fullscreen.hover"
+ downImage="video.button.fullscreen.down"
+ tooltip="Fullscreen"
+ />
+
+ <Button action="VID_1X"
+ x="29" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.1x.normal"
+ hoverImage="video.button.1x.hover"
+ downImage="video.button.1x.down"
+ tooltip="Normal Size"
+ />
+
+ <Button action="VID_2X"
+ x="54" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.2x.normal"
+ hoverImage="video.button.2x.hover"
+ downImage="video.button.2x.down"
+ tooltip="Double Size"
+ />
+
+ <!--<Button action="VID_TV"
+ x="80" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.itv.normal"
+ hoverImage="video.button.itv.hover"
+ downImage="video.button.itv.down"
+ tooltip="Internet TV"
+ />-->
+
+ <NStatesButton nstates="2"
+ x="-53" relatx="1" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.pin.normal"
+ hoverImage="video.button.pin.hover"
+ downImage="video.button.pin.down"
+ tooltip="Enable Video in Window resizing"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Enable Video in Window resizing"
+ />
+
+ <Button action="VID_Misc"
+ x="-27" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="video.button.cfg.normal"
+ hoverImage="video.button.cfg.hover"
+ downImage="video.button.cfg.down"
+ tooltip="Video Options"
+ />
+
+ <text id="info" display="VID_Info" ticker="1"
+ x="105" y="-18" relaty="1" h="13" w="-161" relatw="1"
+ align="center" color="color.window.txt"
+ />
+
+</groupdef>
+
+<groupdef id="wdh.pl">
+
+ <layer x="1" y="4" h="1" w="-2" relatw="1" image="sui.component.bottom2" move="0" alpha="180"/>
+ <layer x="1" y="-24" relaty="1" h="1" w="-2" relatw="1" image="sui.component.top2" move="0" />
+
+ <group id="playlistpro" y="3" h="-25" x="2" w="-4" relath="1" relatw="1"/>
+
+ <Wasabi:Button action="PE_Add"
+ x="4" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.add"
+ center_image="1"
+ tooltip="Add Files to Playlist"
+ />
+
+ <Wasabi:Button action="PE_Rem"
+ x="29" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.rem"
+ center_image="1"
+ tooltip="Remove Files from Playlist"
+ />
+
+ <Wasabi:Button action="PE_Sel"
+ x="54" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.sel"
+ center_image="1"
+ tooltip="Select Files in Playlist"
+ />
+
+ <Wasabi:Button action="PE_Misc"
+ x="79" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.misc"
+ center_image="1"
+ tooltip="Misc Actions"
+ />
+
+ <Wasabi:Button action="PE_List"
+ x="104" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.manage"
+ center_image="1"
+ tooltip="Manage Playlist"
+ />
+
+ <Wasabi:Button id="pe.move.top"
+ x="-27" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="pledit.tab.button.up"
+ center_image="1"
+ tooltip="Restore original Playlist position"
+ />
+
+ <text id="info" display="PE_Info" ticker="1"
+ x="131" y="-18" relaty="1" h="13" w="-161" relatw="1"
+ align="center" color="color.window.txt"
+ />
+
+</groupdef>
+
+<!-- SUI:Component:Visualization -->
+
+<groupdef id="wdh.vis">
+
+ <layer x="1" y="4" h="1" w="-2" relatw="1" image="sui.component.bottom2" move="0" alpha="180"/>
+ <layer x="1" y="-24" relaty="1" h="1" w="-2" relatw="1" image="sui.component.top2" move="0" />
+
+ <windowholder id="wdh.vis.object" x="1" y="5" w="-2" relatw="1" h="-29" relath="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="0" visible="1" hold="guid:{0000000A-000C-0010-FF7B-01014263450C}"/>
+
+ <Button action="VIS_FS"
+ x="4" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.fullscreen.normal"
+ hoverImage="video.button.fullscreen.hover"
+ downImage="video.button.fullscreen.down"
+ tooltip="Fullscreen"
+ />
+
+ <Button action="VIS_Prev"
+ x="29" y="-21" h="21" w="21" relaty="1" rectrgn="1"
+ image="vis.button.prev.normal"
+ hoverImage="vis.button.prev.hover"
+ downImage="vis.button.prev.down"
+ tooltip="Previous Visualization Preset"
+ />
+
+ <Button action="VIS_Next"
+ x="51" y="-21" h="21" w="21" relaty="1" rectrgn="1"
+ image="vis.button.next.normal"
+ hoverImage="vis.button.next.hover"
+ downImage="vis.button.next.down"
+ tooltip="Next Visualization Preset"
+ />
+
+ <ToggleButton id="vis.random"
+ x="74" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="vis.button.random.normal"
+ hoverImage="vis.button.random.hover"
+ downImage="vis.button.random.down"
+ tooltip="Randomly change Visualization Presets"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <ToggleButton id="vis.random.active"
+ x="74" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ ActiveImage="vis.button.random.active"
+ ghost="1"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <script file="../Big Bento/scripts/syncbutton.maki" param="vis.random;vis.random.active" />
+
+ <Button action="VIS_Menu"
+ x="-52" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="vis.button.presets.normal"
+ hoverImage="vis.button.presets.hover"
+ downImage="vis.button.presets.down"
+ tooltip="Presets"
+ />
+
+ <Button action="VIS_Cfg"
+ x="-27" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="video.button.cfg.normal"
+ hoverImage="video.button.cfg.hover"
+ downImage="video.button.cfg.down"
+ tooltip="Preset Editor / Options"
+ />
+
+</groupdef>
+
+<groupdef id="sui.components">
+
+ <group id="wdh.ml" fitparent="1" visible="0" />
+ <group id="wdh.pl" fitparent="1" visible="0" />
+ <group id="wdh.vis" fitparent="1" visible="0" />
+ <group id="wdh.video" fitparent="1" visible="0" />
+ <!-- <group id="wdh.browser" fitparent="1" visible="0" /> -->
+
+</groupdef>
+
+<!--
+Params for <Bento:TabButton/>
+text="sometext"
+the object itself is a button.
+-->
+
+<groupdef id="bento.tabbutton" xuitag="Bento:TabButton" embed_xui="bento.tabbutton.mousetrap">
+
+ <grid id="bento.tabbutton.normal"
+ fitparent="1" y="1" h="-2" relath="1" visible="1"
+ left="sui.button.inactive.normal.left"
+ middle="sui.button.inactive.normal.center"
+ right="sui.button.inactive.normal.right"
+ />
+
+ <text id="bento.tabbutton.normal.text" x="7" y="2" w="-15" relatw="1" h="15" bold="1" align="center" font="Tahoma" fontsize="12" antialias="1" visible="1" color="color.tabbutton.text.inactive" shadow="1" shadowcolor="color.tabbutton.text.inactive.shadow" shadowx="0" shadowy="1"/>
+
+ <grid id="bento.tabbutton.hover"
+ fitparent="1" y="1" h="-2" relath="1" visible="0"
+ left="sui.button.inactive.hover.left"
+ middle="sui.button.inactive.hover.center"
+ right="sui.button.inactive.hover.right"
+ />
+
+ <text id="bento.tabbutton.hover.text" x="7" y="2" w="-15" relatw="1" h="15" bold="1" align="center" font="Tahoma" fontsize="12" antialias="1" visible="0" color="color.tabbutton.text.inactive.hover" shadow="1" shadowcolor="color.tabbutton.text.inactive.shadow" shadowx="0" shadowy="1"/>
+
+ <grid id="bento.tabbutton.active"
+ fitparent="1" y="0" h="-1" relath="1" visible="0"
+ left="sui.button.active.normal.left"
+ middle="sui.button.active.normal.center"
+ right="sui.button.active.normal.right"
+ />
+
+ <text id="bento.tabbutton.active.text" x="7" y="2" w="-15" relatw="1" h="15" bold="1" align="center" font="Tahoma" fontsize="12" antialias="1" visible="0" color="color.tabbutton.text.active" shadow="1" shadowcolor="color.tabbutton.text.active.shadow" shadowx="0" shadowy="1"/>
+
+ <grid id="bento.tabbutton.footer"
+ x="0" y="-1" h="1" w="0" relatw="1" relaty="1" visible="0"
+ left="sui.button.active.footer.left"
+ middle="sui.button.active.footer.center"
+ right="sui.button.active.footer.right"
+ />
+
+ <button id="bento.tabbutton.mousetrap" fitparent="1" y="1" h="-1" relath="1" rectrgn="1" />
+
+ <script file="../Big Bento/scripts/tabbutton.maki" />
+
+</groupdef>
+
+<groupdef id="sui.content" >
+
+ <grid fitparent="1" move="1"
+ topleft="sui.background.topleft"
+ top="sui.background.top"
+ topright="sui.background.topright"
+ left="sui.background.left"
+ middle="sui.background.center"
+ right="sui.background.right"
+ bottomleft="sui.background.bottomleft"
+ bottom="sui.background.bottom"
+ bottomright="sui.background.bottomright"
+ />
+
+ <grid x="1" y="23" h="-24" w="-2" relath="1" relatw="1"
+ topleft="sui.component.topleft"
+ top="sui.component.top"
+ topright="sui.component.topright"
+ left="sui.component.left"
+ middle="sui.component.center"
+ right="sui.component.right"
+ bottomleft="sui.component.bottomleft"
+ bottom="sui.component.bottom"
+ bottomright="sui.component.bottomright"
+ />
+
+ <Bento:TabButton id="switch.ml" x="4" h="19" w="87" y="5" tabtext="Media Library"/>
+ <Bento:TabButton id="switch.pl" x="4" h="19" w="87" y="5" tabtext="Playlist"/>
+ <Bento:TabButton id="switch.video" x="92" h="19" w="47" y="5" tabtext="Video"/>
+ <Bento:TabButton id="switch.vis" x="140" h="19" w="84" y="5" tabtext="Visualization"/>
+ <!-- <Bento:TabButton id="switch.browser" x="225" h="19" w="63" y="5" tabtext="Browser"/> -->
+
+ <script file="../Big Bento/scripts/tabcontrol.maki" param="@HAVE_LIBRARY@"/>
+
+ <group id="sui.components" x="1" y="23" h="-26" w="-2" relatw="1" relath="1"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player-normal.xml b/Src/resources/skins/Bento/xml/player-normal.xml
new file mode 100644
index 00000000..de81a1fb
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player-normal.xml
@@ -0,0 +1,80 @@
+<include file="player-normal-group.xml"/>
+<include file="player-normal-sui.xml"/>
+<include file="player-normal-mcv.xml"/>
+
+<layout id="normal" minimum_h="492" minimum_w="633" h="600" w="800" appbar="top|bottom" >
+
+ <!-- Background Outfit -->
+
+ <group id="window.background.regions" fitparent="1" sysregion="1" />
+
+ <layer id="window.background.maximize" fitparent="1" image="window.background.maximized" sysregion="1" visible="0"/>
+
+ <layer x="0" y="18" w="5" h="5" image="window.background.topleft" resize="left" regionop="1"/>
+ <layer x="5" y="18" w="-10" relatw="1" h="5" image="window.background.top" regionop="1"/>
+ <layer x="-5" relatx="1" y="18" w="5" h="5" image="window.background.topright" resize="right" regionop="1"/>
+ <layer x="0" y="23" w="5" h="-28" relath="1" image="window.background.left" resize="left" regionop="1"/>
+ <layer x="5" y="23" w="-10" relatw="1" h="-28" relath="1" image="window.background.center" move="0" regionop="1"/>
+ <layer x="-5" relatx="1" y="23" w="5" h="-28" relath="1" image="window.background.right" resize="right" regionop="1"/>
+ <layer x="0" y="-5" relaty="1" w="5" h="5" image="window.background.bottomleft" resize="bottomleft" id="player.resizer.bottomleft" regionop="1"/>
+ <layer x="5" y="-5" relaty="1" w="-79" relatw="1" h="5" image="window.background.bottom" resize="bottom" id="player.resizer.bottom" regionop="1"/>
+ <layer x="-74" y="-13" relaty="1" w="36" relatx="1" h="13" image="window.background.collapse" resize="bottom" id="player.resizer.collapse" regionop="1"/>
+ <layer x="-39" y="-5" relaty="1" w="34" relatx="1" h="5" image="window.background.bottom" resize="bottom" id="player.resizer.bottom2" regionop="1"/>
+ <layer x="-5" relatx="1" y="-5" relaty="1" w="5" h="5" image="window.background.bottomright" regionop="1"/>
+ <layer x="-20" y="-11" w="15" h="7" relaty="1" relatx="1" image="window.background.resizer" id="player.resizer.bottomright" rectrgn="1" regionop="1"/>
+
+ <layer id="player.resizer.disable" x="0" y="18" h="-18" w="0" relath="1" relatw="1" rectrgn="1" move="0"/>
+
+ <layer x="2" y="19" image="window.background.gradient" move="0" ghost="1"/>
+
+ <group id="focus.dummy" x="5" w="-10" relatw="1" y="18" h="-23" relath="1" rectrgn="1" wantfocus="1" move="1"/>
+
+ <layer x="-20" y="-11" w="20" h="11" relaty="1" relatx="1" resize="bottomright" id="player.resizer.bottomright.dummy" rectrgn="1" />
+
+ <group x="0" y="0" h="18" w="0" relatw="1" id="player.titlebar" sysregion="1" wantfocus="1" rectrgn="1"/>
+
+ <Wasabi:Frame id="player.mainframe" x="4" y="21" w="-8" relath="0" h="95" from="l" relatw="1" orientation="v" maxwidth="-300" left="player.layout" right="player.dualwnd.pl.info" minwidth="226" width="226" jump="none" vgrabber="empty" vbitmap="empty"/>
+
+ <layer id="player.mainframe.grabber" ghost="1" x="229" y="21" h="92" w="8" image="wasabi.framewnd.verticaldivider" move="1"/>
+
+ <layer id="bolt.glow" x="191" y="83" image="player.button.bolt.glow" alpha="0" ghost="1"/>
+ <button
+ id="bolt"
+ action="TOGGLE" param="guid:{D6201408-476A-4308-BF1B-7BACA1124B12}"
+ x="191" y="83"
+ image="player.button.bolt.normal"
+ downImage="player.button.bolt.down"
+ hoverImage="player.button.bolt.hover"
+ />
+
+ <script file="scripts/pledit.maki" param="small"/>
+
+ <group id="sui.content" x="4" y="119" h="-136" relath="1" w="-8" relatw="1" sysregion="1" wantfocus="1" rectrgn="1"/>
+
+ <button
+ id="sui.show" regionop="1"
+ x="-73" w="34" y="-12" h="11" relatx="1" relaty="1"
+ image="window.button.expand.normal"
+ hoverImage="window.button.expand.hover"
+ downImage="window.button.expand.down"
+ tooltip="Expand Window"
+ />
+ <button
+ id="sui.hide" regionop="1"
+ x="-73" w="34" y="-12" h="11" relatx="1" relaty="1"
+ image="window.button.collapse.normal"
+ hoverImage="window.button.collapse.hover"
+ downImage="window.button.collapse.down"
+ tooltip="Collapse Window"
+ />
+
+ <script file="../Big Bento/scripts/suicore.maki" param="130"/>
+ <!-- The main machine,
+ param - height of main wnd if you hide the sui
+ -->
+
+ <groupdef id="playlistpro">
+ <PlaylistPro id="centro.windowholder.playlist1" x="0" y="0" h="0" w="0" relath="1" relatw="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="1"/>
+ </groupdef>
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player-shade.xml b/Src/resources/skins/Bento/xml/player-shade.xml
new file mode 100644
index 00000000..f1831df4
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player-shade.xml
@@ -0,0 +1,341 @@
+<groupdef id="shade.cbuttons">
+
+ <Button id="Prev"
+ x="0" y="0" h="16" w="14" rectrgn="1"
+ image="shade.button.previous.normal"
+ hoverImage="shade.button.previous.hover"
+ downImage="shade.button.previous.down"
+ action="PREV" tooltip="Previous Track"
+ />
+
+ <Button id="Play"
+ x="14" y="0" h="16" w="12" rectrgn="1"
+ image="shade.button.play.normal"
+ hoverImage="shade.button.play.hover"
+ downImage="shade.button.play.down"
+ action="PLAY" tooltip="Play"
+ />
+
+ <Button id="Pause"
+ x="26" y="0" h="16" w="12" rectrgn="1"
+ image="shade.button.pause.normal"
+ hoverImage="shade.button.pause.hover"
+ downImage="shade.button.pause.down"
+ action="PAUSE" tooltip="Pause Playback"
+ />
+
+ <Button id="Stop"
+ x="38" y="0" h="16" w="14" rectrgn="1"
+ image="shade.button.stop.normal"
+ hoverImage="shade.button.stop.hover"
+ downImage="shade.button.stop.down"
+ action="STOP" tooltip="Stop Playback"
+ />
+
+ <Button id="Next"
+ x="52" y="0" h="16" w="14" rectrgn="1"
+ image="shade.button.next.normal"
+ hoverImage="shade.button.next.hover"
+ downImage="shade.button.next.down"
+ action="NEXT" tooltip="Next Track"
+ />
+
+ <Button id="Eject"
+ x="72" y="0" h="16" w="15" rectrgn="1"
+ image="shade.button.eject.normal"
+ hoverImage="shade.button.eject.hover"
+ downImage="shade.button.eject.down"
+ action="EJECT" tooltip="Open File(s)"
+ />
+</groupdef>
+
+<groupdef id="shade.display">
+
+ <grid
+ x="0" y="0" h="18" w="-5" relatw="1" ghost="1"
+ left="shade.display.left"
+ middle="shade.display.middle"
+ right="shade.display.right"
+ />
+
+ <text id="SongTime"
+ x="3" y="7" h="5" w="35" relatw="0" timeroffstyle="1" timecolonwidth="6"
+ display="time" align="left" font="player.bitmapfont.songinfo"
+ />
+
+ <SongTicker id="Songticker" nograbb="1" move="1"
+ x="0" y="2" h="12" w="-7" relatw="1"
+ display="SONGTITLE" showlen="1" ticker="1" rightpadding="-3"
+ rightclickaction="trackmenu" dblclickaction="trackinfo" align="right"
+ color="color.display" fontsize="12" valign="top" bold="2"
+ />
+ <text id="InfoDisplay" nograbb="1" move="1"
+ x="0" y="2" h="12" w="-7" relatw="1" offsetx="-3"
+ align="right" color="color.display" fontsize="12" valign="top" bold="2" ghost="1"
+ />
+
+ <script file="../Big Bento/scripts/songticker.maki" param="3,small" />
+
+</groupdef>
+
+<groupdef id="shade.vis">
+
+ <grid
+ x="0" y="0" h="18" w="-6" relatw="1" ghost="1"
+ left="shade.display.left"
+ middle="shade.display.middle"
+ right="shade.display.right"
+ />
+
+ <vis
+ id="main.vis"
+ x="4" y="4"
+ w="54" h="9"
+ colorbandpeak="162,193,204"
+ colorband1="82,97,102"
+ colorband2="74,88,93"
+ colorband3="78,92,97"
+ colorband4="83,97,104"
+ colorband5="88,102,107"
+ colorband6="94,107,112"
+ colorband7="100,113,118"
+ colorband8="106,120,125"
+ colorband9="112,121,131"
+ colorband10="117,131,136"
+ colorband11="122,137,142"
+ colorband12="127,141,146"
+ colorband13="131,145,150"
+ colorband14="136,150,155"
+ colorband15="140,154,159"
+ colorband16="145,159,164"
+ colorosc1="82,97,102"
+ colorosc2="83,97,104"
+ colorosc3="106,120,125"
+ colorosc4="127,141,146"
+ colorosc5="145,159,164"
+ gammagroup="Displaytext"
+ />
+
+ <layer id="main.vis.trigger" x="2" y="3" h="11" w="58" rectrgn="1"/>
+
+ <script file="../Big Bento/scripts/visualizer.maki"/>
+
+</groupdef>
+
+<groupdef id="shade.volume">
+
+ <button id="mute" x="0" y="0" w="16" h="16"
+ image="shade.button.mute.normal"
+ hoverImage="shade.button.mute.hover"
+ downImage="shade.button.mute.down"
+ tooltip="Mute Volume"
+ />
+ <button id="etum" x="0" y="0" w="16" h="16"
+ image="shade.button.demute.normal"
+ hoverImage="shade.button.demute.hover"
+ downImage="shade.button.demute.down"
+ tooltip="Turn Volume on"
+ visible="0"
+ />
+
+ <layer id="player.volume.label" x="20" y="1" image="shade.label.volume" ghost="1"/>
+
+ <layer id="shade.volume.bg"
+ x="17" y="5" h="5" w="40"
+ image="shade.track.volume"
+ ghost="1"
+ />
+
+ <grid id="player.volume.fill"
+ x="19" y="7" h="2" w="38"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="Volume"
+ action="Volume"
+ x="16" y="4" h="10" w="42"
+ thumb="shade.volume.thumb.normal"
+ hoverThumb="shade.volume.thumb.hover"
+ downThumb="shade.volume.thumb.down"
+ tooltip="Volume"
+ />
+
+ <script file="../Big Bento/scripts/mute.maki" param="38"/>
+ <!-- param = max_w for volume fillbar -->
+
+</groupdef>
+
+<groupdef id="shade.seek">
+
+ <grid id="player.seek.bg"
+ x="1" y="5" h="5" w="-8" relatw="1"
+ left="shade.track.seek.left"
+ middle="shade.track.seek.middle"
+ right="shade.track.seek.right"
+ />
+
+ <ProgressGrid id="progressbar"
+ x="3" y="7" h="2" w="-10" relatw="1"
+ orientation="right"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="seeker"
+ action="SEEK"
+ x="0" y="4" h="10" w="-7" relatw="1"
+ thumb="shade.seek.thumb.normal"
+ hoverThumb="shade.seek.thumb.hover"
+ downThumb="shade.seek.thumb.down"
+ ghost="1"
+ visible="0"
+ tooltip="Seeker"
+ />
+
+ <Slider
+ id="seeker.ghost"
+ action="SEEK"
+ x="0" y="4" h="10" w="-7" relatw="1"
+ thumb="shade.seek.thumb.normal"
+ hoverThumb="shade.seek.thumb.hover"
+ downThumb="shade.seek.thumb.down"
+ tooltip="Seeker"
+ />
+
+ <script file="../Big Bento/scripts/seek.maki"/>
+
+</groupdef>
+
+<groupdef id="shade.links">
+
+ <rect color="0,0,0" alpha="180" x="0" y="0" w="39" h="18" filled="1"/>
+
+ <button id="search" x="20" y="0" w="18" h="16"
+ image="shade.button.search.normal"
+ hoverImage="shade.button.search.hover"
+ downImage="shade.button.search.down"
+ tooltip="Search the web for this artist"
+ />
+ <layer id="search.bg" ghost="1" x="20" y="0" image="shade.button.icon.bg" />
+ <layer id="search.icon" ghost="1" x="20" y="0" image="shade.button.icon.search" />
+ <script file="../Big Bento/scripts/syncbutton.maki" param="search;search.bg"/>
+ <script file="../Big Bento/scripts/syncbutton.maki" param="search;search.icon"/>
+
+ <button id="nowplaying" x="1" y="0" w="18" h="16"
+ image="shade.button.search.normal"
+ hoverImage="shade.button.search.hover"
+ downImage="shade.button.search.down"
+ tooltip="More information about this artist"
+ />
+ <layer id="nowplaying.bg" ghost="1" x="1" y="0" image="shade.button.icon.bg" />
+ <layer id="nowplaying.icon" ghost="1" x="1" y="0" image="shade.button.icon.nowplaying" />
+ <script file="../Big Bento/scripts/syncbutton.maki" param="nowplaying;nowplaying.bg"/>
+ <script file="../Big Bento/scripts/syncbutton.maki" param="nowplaying;nowplaying.icon"/>
+
+ <script file="../Big Bento/scripts/syncbutton.maki" param="nowplaying;nowplaying.icon"/>
+
+ <script file="../Big Bento/scripts/shadelinks.maki"/>
+
+</groupdef>
+
+<layout id="shade" minimum_w="250" h="18" minimum_h="18" maximum_h="18" w="500" primarycomponent="guid:player" appbar="top|bottom">
+
+ <!-- Background -->
+
+ <group id="window.background.regions" fitparent="1" sysregion="1" />
+
+ <layer id="window.background.maximize" fitparent="1" image="window.background.maximized" sysregion="1" visible="0"/>
+
+ <grid
+ x="0" y="0" h="18" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.left"
+ middle="window.titlebar.grid.middle"
+ right="window.titlebar.grid.right"
+ />
+
+ <grid
+ x="0" y="0" h="18" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.over.left"
+ middle="window.titlebar.grid.over.middle"
+ right="window.titlebar.grid.over.right"
+ />
+
+ <layer x="27" y="6" image="window.titlebar.text.winamp" ghost="1" />
+
+ <guiobject fitparent="1" rectrgn="1" move="1" id="shade.mousetrap"/>
+
+ <!-- System Buttons -->
+
+ <button
+ x="5" y="2" h="13" w="15"
+ action="SYSMENU"
+ image="window.titlebar.button.sysmenu.normal"
+ hoverImage="window.titlebar.button.sysmenu.hover"
+ downImage="window.titlebar.button.sysmenu.down"
+ tooltip="Main Menu"
+ />
+
+ <button
+ x="-79" relatx="1" y="2" h="13" w="17"
+ id="shade.button.minimize"
+ action="MINIMIZE"
+ image="window.titlebar.button.minimize.normal"
+ hoverImage="window.titlebar.button.minimize.hover"
+ downImage="window.titlebar.button.minimize.down"
+ tooltip="Minimize Winamp"
+ />
+
+ <button
+ x="-60" relatx="1" y="2" h="13" w="17"
+ id="shade.button.restore"
+ image="window.titlebar.button.restore.normal"
+ hoverImage="window.titlebar.button.restore.hover"
+ downImage="window.titlebar.button.restore.down"
+ tooltip="Restore Winamp"
+ />
+
+ <button
+ x="-60" relatx="1" y="2" h="13" w="17"
+ id="shade.button.maximize"
+ image="window.titlebar.button.maximize.normal"
+ hoverImage="window.titlebar.button.maximize.hover"
+ downImage="window.titlebar.button.maximize.down"
+ tooltip="Maximize Winamp"
+ />
+
+ <button
+ x="-41" relatx="1" y="2" h="13" w="17"
+ action="SWITCH" param="normal"
+ image="window.titlebar.button.shade.normal"
+ hoverImage="window.titlebar.button.shade.hover"
+ downImage="window.titlebar.button.shade.down"
+ tooltip="Main Mode"
+ />
+
+ <button
+ x="-22" relatx="1" y="2" h="13" w="17"
+ action="CLOSE"
+ image="window.titlebar.button.close.normal"
+ hoverImage="window.titlebar.button.close.hover"
+ downImage="window.titlebar.button.close.down"
+ tooltip="Exit Winamp"
+ />
+
+ <layer x="-5" y="0" w="5" h="18" rectrgn="1" relatx="1" resize="right" image="shade.resizer.right" id="shade.resizer.right"/>
+ <layer x="-5" y="0" w="5" h="18" rectrgn="1" relatx="1" resize="right" id="shade.resizer.right2"/>
+
+ <group id="shade.display" x="163" y="0" w="100" h="18" visible="0"/>
+ <group id="shade.cbuttons" x="77" y="1" w="96" h="16"/>
+ <group id="shade.volume" x="163" y="1" w="65" h="16" visible="0"/>
+ <group id="shade.seek" x="-144" relatx="1" y="1" w="63" h="16" visible="0"/>
+ <group id="shade.vis" x="79" y="0" w="67" h="16" visible="0"/>
+ <group id="shade.links" x="0" y="1" w="43" h="21" relatx="1" visible="0"/>
+
+ <script file="../Big Bento/scripts/shadesize.maki" param="83" />
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/player.xml b/Src/resources/skins/Bento/xml/player.xml
new file mode 100644
index 00000000..70931435
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/player.xml
@@ -0,0 +1,65 @@
+<include file="player-elements.xml"/>
+<include file="playlistpro.xml"/>
+
+<container id="main" name="Main Window" primarycomponent="guid:player">
+
+ <include file="player-normal.xml"/>
+ <include file="player-shade.xml"/>
+
+</container>
+<!--
+<container id="browser.quicklink.edit.dialog2" name="Edit Quicklink" dynamic="1" default_visible="0" nomenu="1" >
+
+ <groupdef id="browser.quicklink.content">
+
+ <text x="5" y="3" text="Store Quick Link in:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:Combobox id="edit.parent" x="5" y="20" w="-10" h="20" relatw="1" maxitems="5"/>
+
+ <text x="5" y="43" text="Quick Link Name:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:editbox id="edit.name" x="5" y="60" w="-10" h="20" relatw="1"/>
+
+ <text x="5" y="83" text="Quick Link URL:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:editbox id="edit.url" x="5" y="100" w="-10" h="20" relatw="1"/>
+
+ <wasabi:button x="5" y="128" w="-10" h="19" relatw="1" text="OK" id="return.values"/>
+
+ </groupdef>
+
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" minimum_h="185" minimum_w="300" maximum_h="185" maximum_w="300" lockminmax="1" nodock="1" move="0" >
+
+ <Wasabi:StandardFrame:Static
+ fitparent="1"
+ regionop="1"
+ content="browser.quicklink.content"
+ />
+
+ </layout>
+
+</container>
+
+<container id="browser.submenu.edit2" name="Edit Submenu" dynamic="1" default_visible="0" nomenu="1" >
+
+ <groupdef id="browser.submenu.content">
+
+ <text x="5" y="2" text="Submenu Name:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:editbox id="edit.name" x="5" y="20" w="-10" h="20" relatw="1"/>
+
+ <wasabi:button x="5" y="48" w="-10" h="19" relatw="1" text="OK" id="return.values"/>
+
+ </groupdef>
+
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" minimum_h="105" minimum_w="300" maximum_h="105" maximum_w="300" lockminmax="1" nodock="1" move="0" >
+
+ <Wasabi:StandardFrame:Static
+ fitparent="1"
+ regionop="1"
+ content="browser.submenu.content"
+ />
+
+ </layout>
+
+</container>--> \ No newline at end of file
diff --git a/Src/resources/skins/Bento/xml/playlistpro.xml b/Src/resources/skins/Bento/xml/playlistpro.xml
new file mode 100644
index 00000000..f765a409
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/playlistpro.xml
@@ -0,0 +1,62 @@
+<groupdef id="PlaylistPro.list.group" minimum_h="64" background="studio.BaseTexture">
+
+ <grid
+ fitparent="1"
+ topleft="sui.pl.search.box.1"
+ top="sui.pl.search.box.2"
+ topright="sui.pl.search.box.3"
+ left="sui.pl.search.box.4"
+ middle="sui.pl.search.box.5"
+ right="sui.pl.search.box.6"
+ bottomleft="sui.pl.search.box.7"
+ bottom="sui.pl.search.box.8"
+ bottomright="sui.pl.search.box.9"
+ sysregion="1"
+ />
+
+ <list id="PlaylistPro.list" x="4" y="0" w="-6" h="-24" relatw="1" relath="1" nocolheader="1" antialias="1" font="arial" multiselect="1"/>
+ <text id="PlaylistPro.list.news" x="3" y="-22" w="-6" h="20" relaty="1" relatw="1" text="Results found: 22 items" font="arial" color="wasabi.list.text" align="center" antialias="1" fontsize="17"/>
+ <layer x="0" y="-1" relaty="1" w="0" relatw="1" h="20" resize="bottom" />
+
+</groupdef>
+
+<container id="searchresults" name="Search Results" dynamic="1" default_visible="0" nomenu="1" nofocusapponclose="1" autoclose="1">
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" nodock="1" move="0" autoclose="1">
+ <group id="PlaylistPro.list.group" x="1" y="0" h="0" w="-12" relath="1" relatw="1"/>
+ <layer id="1px.patch" x="-11" y="0" w="1" relath="1" relatx="1" h="20" image="sui.pl.search.box.6" sysregion="1"/>
+ </layout>
+</container>
+
+
+<groupdef id="wasabi.edits" xuitag="Wasabi:EditBox2" embed_xui="wasabi.edit.box" h="24">
+ <button id="pl.search.edit.rect" x="1" y="2" w="-4" h="22" relatw="1" relath="0" rectrgn="1" tooltip="Click to search the playlist (Right-Click for search history)" cursor="IDC_IBEAM"/>
+ <text id="pl.search.edit.searchhelp" x="1" y="2" w="-5" h="19" relatw="1" antialias="1" color="wasabi.list.text" text="Search in Playlist" ghost="1" font="arial" alpha="230" fontsize="16"/>
+ <edit id="wasabi.edit.box" x="1" y="0" w="-21" h="22" relatw="1" relath="0" autoselect="1" visible="0"/>
+
+<button id="pl.search.edit.clear.text" x="-20" y="2" h="19" w="20" relatx="1" rectrgn="1" image="sui.pl.search.stop.bgv" visible="0"/>
+<button id="pl.search.edit.clear" x="-20" y="2" h="19" w="20" relatx="1" rectrgn="1" image="sui.pl.search.stop.1" hoverimage="sui.pl.search.stop.1" downimage="sui.pl.search.stop.3" cursor="IDC_HAND" tooltip="Clear Search" visible="0"/>
+</groupdef>
+
+<groupdef id="player.component.playlist.searchbar.search" h="30">
+ <grid x="0" y="0" h="31" w="0" relatw="1"
+ left="sui.pl.search.bgv.1" middle="sui.pl.search.bgv.2" right="sui.pl.search.bgv.3"/>
+
+ <grid x="0" y="0" h="30" w="0" relatw="1"
+ left="sui.pl.search.bg.1" middle="sui.pl.search.bg.2" right="sui.pl.search.bg.3"/>
+
+ <button id="pl.search.go" x="-26" y="4" h="19" w="20" relatx="1" image="sui.pl.search.go.1" hoverimage="sui.pl.search.go.2" downimage="sui.pl.search.go.3" tooltip="Go Search" rectrgn="1"/>
+ <Wasabi:EditBox2 id="pl.search.edit" x="4" y="4" relatw="1" w="-10" h="20" text=""/>
+</groupdef>
+<groupdef id="PlaylistPro.topbar">
+ <group id="player.component.playlist.searchbar.search" x="0" y="0" w="0" relatw="1"/>
+</groupdef>
+
+<groupdef id="PlaylistPro.xui" wantfocus="1" rectrgn="1" xuitag="PlaylistPro" embed_xui="wdh.playlist">
+ <!--rect fitparent="1" filled="1" color="wasabi.window.background"/-->
+
+ <windowholder id="wdh.playlist" h="0" x="0" w="0" relath="1" relatw="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="1" hold="guid:{45f3f7c1-a6f3-4ee6-a15e-125e92fc3f8d}"/>
+
+<group id="PlaylistPro.topbar" x="0" y="0" w="0" h="30" relatw="1" visible="0"/>
+ <script file="scripts/playlistpro.maki"/>
+</groupdef>
+
diff --git a/Src/resources/skins/Bento/xml/standardframe.xml b/Src/resources/skins/Bento/xml/standardframe.xml
new file mode 100644
index 00000000..829b4a7d
--- /dev/null
+++ b/Src/resources/skins/Bento/xml/standardframe.xml
@@ -0,0 +1,153 @@
+<!-- =======================================================================================================
+
+ This group serves as a template for all the Wasabi:StandardFrame objects
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.frame.layout">
+
+ <layer x="0" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="0" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+
+ <grid
+ x="0" y="0" h="18" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.left"
+ middle="window.titlebar.grid.middle"
+ right="window.titlebar.grid.right"
+ />
+
+ <layer x="0" y="0" h="18" w="0" relatw="1" move="1" />
+
+ <text id="componentname" x="27" y="2" w="-77" h="14" relatw="1" fontsize="11" bold="1" default=":componentname" ghost="1" color="wasabi.titlebar.color" font="Arial" align="left" forceuppercase="1"/>
+
+ <layer x="0" y="18" w="5" h="5" image="window.background.topleft" resize="left" regionop="1"/>
+ <layer x="5" y="18" w="-10" relatw="1" h="5" image="window.background.top" regionop="1"/>
+ <layer x="-5" relatx="1" y="18" w="5" h="5" image="window.background.topright" resize="right" regionop="1"/>
+ <layer x="0" y="23" w="5" h="-28" relath="1" image="window.background.left" resize="left" regionop="1"/>
+ <layer x="5" y="23" w="-10" relatw="1" h="-28" relath="1" image="window.background.center" move="1" regionop="1"/>
+ <layer x="-5" relatx="1" y="23" w="5" h="-28" relath="1" image="window.background.right" resize="right" regionop="1"/>
+ <layer x="0" y="-5" relaty="1" w="5" h="5" image="window.background.bottomleft" resize="bottomleft" id="player.resizer.bottomleft" regionop="1"/>
+ <layer x="5" y="-5" relaty="1" w="-10" relatw="1" h="5" image="window.background.bottom" resize="bottom" id="player.resizer.bottom" regionop="1"/>
+ <layer x="-5" relatx="1" y="-5" relaty="1" w="5" h="5" image="window.background.bottomright" regionop="1"/>
+ <layer x="-20" y="-11" w="15" h="7" relaty="1" relatx="1" image="window.background.resizer" id="player.resizer.bottomright" rectrgn="1" regionop="1"/>
+ <layer x="-20" y="-11" w="20" h="11" relaty="1" relatx="1" resize="bottomright" id="player.resizer.bottomright.dummy" rectrgn="1" />
+
+ <layer id="window.resize.disabler" fitparent="1" move="1" visible="0"/>
+
+ <button
+ x="-41" relatx="1" y="2" h="13" w="17"
+ id="restore"
+ image="window.titlebar.button.restore.normal"
+ hoverImage="window.titlebar.button.restore.hover"
+ downImage="window.titlebar.button.restore.down"
+ tooltip="Restore Winamp"
+ />
+
+ <button
+ x="-41" relatx="1" y="2" h="13" w="17"
+ id="maximize"
+ image="window.titlebar.button.maximize.normal"
+ hoverImage="window.titlebar.button.maximize.hover"
+ downImage="window.titlebar.button.maximize.down"
+ tooltip="Maximize Winamp"
+ />
+
+ <button
+ x="5" y="2" h="13" w="15"
+ action="SYSMENU"
+ image="window.titlebar.button.sysmenu.normal"
+ hoverImage="window.titlebar.button.sysmenu.hover"
+ downImage="window.titlebar.button.sysmenu.down"
+ tooltip="Main Menu"
+ />
+
+ <button
+ x="-22" relatx="1" y="2" h="13" w="17"
+ action="CLOSE"
+ image="window.titlebar.button.close.normal"
+ hoverImage="window.titlebar.button.close.hover"
+ downImage="window.titlebar.button.close.down"
+ tooltip="Close Window"
+ />
+
+ <grid
+ x="0" y="0" h="18" w="0" relatw="1" regionop="1" ghost="1"
+ left="window.titlebar.grid.over.left"
+ middle="window.titlebar.grid.over.middle"
+ right="window.titlebar.grid.over.right"
+ />
+
+ <LayoutStatus id="sysmenu.status" bg="0" x="5" y="2" h="13" w="15" includeonly="{system}" />
+ <hideobject target="sysmenu.status"/>
+
+ <script file="../Big Bento/scripts/simplemaximize.maki"/>
+
+ </groupdef>
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Status /> implementation
+
+======================================================================================================== -->
+
+ <groupdef id="wasabi.standardframe.statusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Status">
+
+ <group id="wasabi.frame.layout" x="0" y="0" w="0" relatw="1" h="0" relath="1"/>
+
+ <LayoutStatus id="standardframe.layoutstatus" x="5" y="-33" relaty="1" w="-10" relatw="1" h="18" exclude="{system}" />
+ <script id="standardframe.script" file="../Big Bento/scripts/standardframe.maki" param="5,21,-10,-54,0,0,1,1" />
+
+</groupdef>
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:NoStatus /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:NoStatus">
+
+ <group id="wasabi.frame.layout" x="0" y="0" w="0" h="0" relatw="1" relath="1"/>
+
+ <script id="standardframe.script" file="../Big Bento/scripts/standardframe.maki" param="5,21,-10,-36,0,0,1,1" />
+
+</groupdef>
+
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Modal /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.modal" inherit_group="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Modal">
+ <sendparams target="window.resize.disabler" visible="1" />
+ <sendparams target="player.resizer.bottomright" visible="0" />
+ <sendparams target="restore" visible="0" />
+ <sendparams target="maximize" visible="0" />
+</groupdef>
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Static /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.static" inherit_group="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Static">
+ <sendparams target="window.resize.disabler" visible="1" />
+ <sendparams target="player.resizer.bottomright" visible="0" />
+ <sendparams target="restore" visible="0" />
+ <sendparams target="maximize" visible="0" />
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/about.m b/Src/resources/skins/Big Bento/about/about.m
new file mode 100644
index 00000000..d75dc8aa
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about.m
@@ -0,0 +1,132 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: about.m
+Version: 1.0
+
+Type: maki
+Date: 03. Jul. 2006 - 22:40
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+#include nibbles/nibbles.m
+
+Global Layer tgnibbles;
+Global Group sg;
+Global Timer change;
+Global int counter;
+Global Group g1, g2, g3, g4, g5, g6, g7, g8;
+Function blend (guiobject in, guiobject out);
+
+System.onScriptLoaded ()
+{
+ sg = getScriptGroup();
+ tgnibbles = sg.getObject("toggle");
+ nibbles = sg.getObject("nibbles");
+
+ init_nibbles();
+
+ g1 = sg.getObject("about.text1");
+ g2 = sg.getObject("about.text2");
+ g3 = sg.getObject("about.text3");
+ g4 = sg.getObject("about.text4");
+ g5 = sg.getObject("about.text5");
+ g6 = sg.getObject("about.text6");
+ g7 = sg.getObject("about.text7");
+ g8 = sg.getObject("about.text8");
+
+ change = new Timer;
+ change.setDelay(3300);
+}
+
+system.onScriptUnloading ()
+{
+ delete change;
+}
+
+
+tgnibbles.onLeftButtonDblClk (int x, int y)
+{
+ if (nibbles.isVisible()) nibbles.hide();
+ else if (!nibbles.isVisible()) nibbles.show();
+}
+
+sg.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ change.start();
+ g1.setXmlParam("x", "400");
+ g1.canceltarget();
+ g1.setAlpha(255);
+ g1.setTargetX(25);
+ g1.setTargetSpeed(1.3);
+ g1.gotoTarget();
+ }
+ else
+ {
+ change.stop();
+ }
+
+}
+
+
+change.onTimer ()
+{
+ counter++;
+ if (counter > 7) counter = 0;
+ if (counter == 0)
+ {
+ blend(g1, g8);
+ }
+ else if (counter == 1)
+ {
+ blend(g2, g1);
+ }
+ else if (counter == 2)
+ {
+ blend(g3, g2);
+ }
+ else if (counter == 3)
+ {
+ blend(g4, g3);
+ }
+ else if (counter == 4)
+ {
+ blend(g5, g4);
+ }
+ else if (counter == 5)
+ {
+ blend(g6, g5);
+ }
+ else if (counter == 6)
+ {
+ blend(g7, g6);
+ }
+ else if (counter == 7)
+ {
+ blend(g8, g7);
+ }
+}
+
+blend (guiobject in, guiobject out)
+{
+ out.canceltarget();
+ out.setTargetA(0);
+ out.setTargetX(-25);
+ out.setTargetSpeed(2);
+ out.gotoTarget();
+ in.canceltarget();
+ in.setXmlParam("x", "400");
+ in.setAlpha(255);
+ in.setTargetX(25);
+ in.setTargetA(255);
+ in.setTargetSpeed(1.5);
+ in.gotoTarget();
+}
+
diff --git a/Src/resources/skins/Big Bento/about/about.maki b/Src/resources/skins/Big Bento/about/about.maki
new file mode 100644
index 00000000..98c057e0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/about.xml b/Src/resources/skins/Big Bento/about/about.xml
new file mode 100644
index 00000000..7369c563
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about.xml
@@ -0,0 +1,81 @@
+<include file="nibbles/nibbles.xml"/>
+<elements>
+ <bitmap id="about.fg" file="../Big Bento/about/about_fg.jpg" />
+ <bitmap id="about.bg" file="../Big Bento/about/about_fg.jpg" y="0" h="321" x="0" w="1"/>
+ <color id="about.font" value="162,193,204" gammgroup="none" />
+</elements>
+
+<groupdef id="skin.about.group" w="0" h="0" relatw="1" relath="1" rectrgn="1">
+ <rect fitparent="1" color="255,255,255" filled="1" />
+
+ <layer fitparent="1" image="about.bg"/>
+
+ <layer
+ x="0" y="0"
+ w="371"
+ h="321"
+ image="about.fg"
+ />
+
+ <group id="about.text1" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text2" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text3" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text4" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text5" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text6" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text7" x="25" y="190" h="90" w="350" alpha="0"/>
+ <group id="about.text8" x="25" y="190" h="90" w="350" alpha="0"/>
+
+ <group id="nibbles" fitparent="1" visible="0" />
+
+ <layer id="toggle" fitparent="1" rectrgn="1" />
+
+ <script file="../Big Bento/about/about.maki"/>
+
+</groupdef>
+
+<groupdef id="about.text1" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="The new" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Single User Interface." alpha="60"/>
+</groupdef>
+
+<groupdef id="about.text2" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Coding by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Martin Pöhlmann." alpha="70"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="from www.skinconsortium.com" alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text3" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Graphics by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Taber Buhl." alpha="60"/>
+</groupdef>
+
+<groupdef id="about.text4" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Wasabi Development by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="Ben Allison" alpha="60"/>
+<text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="and Martin Pöhlmann." alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text5" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Color Themes by" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="16" font="tahoma" text="DJ Egg, GreayStone, J_Darnley, Martin, QOAL, VooDoo`" alpha="100"/>
+ <text color="about.font" x="17" y="60" h="18" w="350" fontsize="16" font="tahoma" text="You are encouraged to submit new ones." alpha="60"/>
+</groupdef>
+
+<groupdef id="about.text7" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Feel free to use this skin" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="as a reference point" alpha="60"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="to create your own winamp skins." alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text8" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="For help visit" alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="forums.winamp.com" alpha="60"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="or forums.skinconsortium.com" alpha="100"/>
+</groupdef>
+
+<groupdef id="about.text6" >
+ <text color="about.font" x="0" y="0" h="30" w="350" fontsize="28" font="tahoma" text="Thanks go to..." alpha="110"/>
+ <text color="about.font" x="15" y="30" h="40" w="350" fontsize="36" font="tahoma" text="DJ Egg, SLoB and Phobos" alpha="60"/>
+ <text color="about.font" x="17" y="70" h="18" w="350" fontsize="18" font="tahoma" text="...for help and suggestions." alpha="100"/>
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/about_fg.jpg b/Src/resources/skins/Big Bento/about/about_fg.jpg
new file mode 100644
index 00000000..8985984c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/about_fg.jpg
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/fixedsys.png b/Src/resources/skins/Big Bento/about/nibbles/fixedsys.png
new file mode 100644
index 00000000..6941ade1
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/fixedsys.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/info.png b/Src/resources/skins/Big Bento/about/nibbles/info.png
new file mode 100644
index 00000000..dd88498d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/info.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/info2.png b/Src/resources/skins/Big Bento/about/nibbles/info2.png
new file mode 100644
index 00000000..145d1b90
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/info2.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level1.png b/Src/resources/skins/Big Bento/about/nibbles/level1.png
new file mode 100644
index 00000000..59c0bb26
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level1.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level10.png b/Src/resources/skins/Big Bento/about/nibbles/level10.png
new file mode 100644
index 00000000..192d56cd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level10.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level2.png b/Src/resources/skins/Big Bento/about/nibbles/level2.png
new file mode 100644
index 00000000..4a14ab10
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level2.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level3.png b/Src/resources/skins/Big Bento/about/nibbles/level3.png
new file mode 100644
index 00000000..698aa821
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level3.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level4.png b/Src/resources/skins/Big Bento/about/nibbles/level4.png
new file mode 100644
index 00000000..e1213f4c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level4.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level5.png b/Src/resources/skins/Big Bento/about/nibbles/level5.png
new file mode 100644
index 00000000..b8ca1e9f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level5.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level6.png b/Src/resources/skins/Big Bento/about/nibbles/level6.png
new file mode 100644
index 00000000..22a6f866
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level6.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level7.png b/Src/resources/skins/Big Bento/about/nibbles/level7.png
new file mode 100644
index 00000000..fb7fe506
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level7.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level8.png b/Src/resources/skins/Big Bento/about/nibbles/level8.png
new file mode 100644
index 00000000..cab2d4c8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level8.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/level9.png b/Src/resources/skins/Big Bento/about/nibbles/level9.png
new file mode 100644
index 00000000..a0d50871
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/level9.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/llama.png b/Src/resources/skins/Big Bento/about/nibbles/llama.png
new file mode 100644
index 00000000..ef28a814
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/llama.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/about/nibbles/nibbles.m b/Src/resources/skins/Big Bento/about/nibbles/nibbles.m
new file mode 100644
index 00000000..7f167fca
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/nibbles.m
@@ -0,0 +1,828 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: nibbles.m
+Version: 1.0
+
+Type: maki
+Date: 23. Okt. 2006 - 21:11
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#define GAME_SPEED 30
+#define MAX_H 59
+#define MAX_W 72
+#define MAX_LLAMAS 9
+
+function init_nibbles();
+
+Function setLlama();
+Function gotLlama();
+Function showInfo(string s);
+Function showInfo2();
+Function hideInfo2();
+Function startGame(int level);
+Function setPos(layer l, int x, int y);
+Function checkforWalls(layer l);
+Function checkforLlama(layer l);
+Function checkforSammy(layer l);
+Function sammyDies ();
+Function addSammy();
+Function syncSammy();
+Function Layer createSammy(int num, int x, int y);
+
+Global group nibbles;
+
+Global Layer bg, llama, info, info2;
+Global Text infotxt, infotxt2a, infotxt2b, infotxt2c, infotxt2d;
+
+Global Layer sammy0;
+Global String gamestate = "startup";
+Global String direction;
+Global Boolean gotkey = 0;
+Global Timer move;
+Global Boolean paused;
+
+Global map wall;
+
+Global int s_score, s_lives, s_level, currentllama;
+Global Text t_score, t_lives, t_level;
+
+Global int n_sammy, expn_sammy;
+Global List sammy, sammy_x, sammy_y;
+Global Group sammys;
+
+Global int cheat, nocheat;
+Global int cheat2, nocheat2;
+Global int cheat3, nocheat3;
+Global int evercheat;
+
+Global Text c1, c2, c3;
+
+init_nibbles()
+{
+ sammy = new List;
+ sammy_x = new List;
+ sammy_y = new List;
+
+ llama = nibbles.getObject("llama");
+ sammy0 = nibbles.getObject("sammy0");
+ info = nibbles.getObject("info");
+ infotxt = nibbles.getObject("infotxt");
+ sammys = nibbles.getObject("sammys");
+ bg = nibbles.getObject("bg");
+
+ info2 = nibbles.getObject("info2");
+ infotxt2a = nibbles.getObject("infotxt2a");
+ infotxt2b = nibbles.getObject("infotxt2b");
+ infotxt2c = nibbles.getObject("infotxt2c");
+ infotxt2d = nibbles.getObject("infotxt2d");
+
+ t_lives = nibbles.getObject("lives");
+ t_score = nibbles.getObject("score");
+ t_level = nibbles.getObject("level");
+ c1 = nibbles.getObject("c1");
+ c2 = nibbles.getObject("c2");
+ c3 = nibbles.getObject("c3");
+ gamestate = "startup";
+
+ n_sammy = 0;
+ expn_sammy = 0;
+ s_level = 1;
+ s_score = 0;
+ s_lives = 5;
+
+ cheat = 0;
+ nocheat = 0;
+ cheat2 = 0;
+ nocheat2 = 0;
+ cheat3 = 0;
+ nocheat3 = 0;
+ evercheat = 0;
+
+ move = new Timer;
+ move.setDelay(GAME_SPEED);
+}
+
+System.onKeyDown (String key)
+{
+ if (nibbles.isVisible() && nibbles.isActive())
+ {
+ if (!gotkey)
+ {
+ if (strsearch(key, "up") != -1 && direction != "d" && direction != "u")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "u";
+ complete;
+ return;
+ }
+ }
+ else if (strsearch(key, "down") != -1 && direction != "u" && direction != "d")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "d";
+ complete;
+ return;
+ }
+ }
+ else if (strsearch(key, "left") != -1 && direction != "r" && direction != "l")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "l";
+ complete;
+ return;
+ }
+ }
+ else if (strsearch(key, "right") != -1 && direction != "l" && direction != "r")
+ {
+ if (move.isRunning())
+ {
+ gotkey = 1;
+ direction = "r";
+ complete;
+ return;
+ }
+ }
+ }
+
+
+ /* Cheet on */
+
+ if (key == "n" && cheat == 0 && cheat3 != 4 && nocheat3 != 4 && cheat3 != 1 && nocheat3 != 1)
+ {
+ cheat = 1;
+ complete;
+ return;
+ }
+ else if (key == "o" && cheat == 1)
+ {
+ cheat = 2;
+ complete;
+ return;
+ }
+ else if (key == "s" && cheat == 2)
+ {
+ cheat = 3;
+ complete;
+ return;
+ }
+ else if (key == "a" && cheat == 3)
+ {
+ cheat = 4;
+ complete;
+ return;
+ }
+ else if (key == "m" && cheat == 4 && cheat != 5)
+ {
+ cheat = 5;
+ complete;
+ return;
+ }
+ else if (key == "m" && cheat == 5 && cheat != 4)
+ {
+ cheat = 6;
+ complete;
+ return;
+ }
+ else if (key == "y" && cheat == 6)
+ {
+ c1.setText("NOSAMMY");
+ cheat = 7;
+ evercheat = 1;
+ complete;
+ return;
+ }
+
+ /* Cheet off */
+
+ else if (key == "n" && cheat == 7 && cheat3 != 4 && nocheat3 != 4 && cheat3 != 1 && nocheat3 != 1)
+ {
+ nocheat = 1;
+ complete;
+ return;
+ }
+ else if (key == "o" && nocheat == 1)
+ {
+ nocheat = 2;
+ complete;
+ return;
+ }
+ else if (key == "s" && nocheat == 2)
+ {
+ nocheat = 3;
+ complete;
+ return;
+ }
+ else if (key == "a" && nocheat == 3)
+ {
+ nocheat = 4;
+ complete;
+ return;
+ }
+ else if (key == "m" && nocheat == 4 && nocheat != 5)
+ {
+ nocheat = 5;
+ complete;
+ return;
+ }
+ else if (key == "m" && nocheat == 5 && nocheat != 4)
+ {
+ nocheat = 6;
+ complete;
+ return;
+ }
+ else if (key == "y" && nocheat == 6 && nocheat3 != 7)
+ {
+ c1.setText("");
+ cheat = 0;
+ nocheat = 0;
+ complete;
+ return;
+ }
+
+ /* end cheat */
+
+
+ /* Cheet2 on */
+
+ else if (key == "f" && cheat2 == 0 && cheat3 != 2 && nocheat3 != 2)
+ {
+ cheat2 = 1;
+ complete;
+ return;
+ }
+ else if (key == "r" && cheat2 == 1)
+ {
+ cheat2 = 2;
+ complete;
+ return;
+ }
+ else if (key == "e" && cheat2 == 2 && cheat2 != 3)
+ {
+ cheat2 = 3;
+ complete;
+ return;
+ }
+ else if (key == "e" && cheat2 == 3 && cheat2 != 2)
+ {
+ cheat2 = 4;
+ complete;
+ return;
+ }
+ else if (key == "s" && cheat2 == 4)
+ {
+ cheat2 = 5;
+ complete;
+ return;
+ }
+ else if (key == "a" && cheat2 == 5)
+ {
+ cheat2 = 6;
+ complete;
+ return;
+ }
+ else if (key == "m" && cheat2 == 6)
+ {
+ c2.setText("FREESAM");
+ cheat2 = 7;
+ evercheat = 1;
+ complete;
+ return;
+ }
+
+ /* Cheet2 off */
+
+ else if (key == "f" && cheat2 == 7 && cheat3 != 2 && nocheat3 != 2)
+ {
+ nocheat2 = 1;
+ complete;
+ return;
+ }
+ else if (key == "r" && nocheat2 == 1)
+ {
+ nocheat2 = 2;
+ complete;
+ return;
+ }
+ else if (key == "e" && nocheat2 == 2 && nocheat2 != 3)
+ {
+ nocheat2 = 3;
+ complete;
+ return;
+ }
+ else if (key == "e" && nocheat2 == 3 && nocheat2 != 2)
+ {
+ nocheat2 = 4;
+ complete;
+ return;
+ }
+ else if (key == "s" && nocheat2 == 4)
+ {
+ nocheat2 = 5;
+ complete;
+ return;
+ }
+ else if (key == "a" && nocheat2 == 5)
+ {
+ nocheat2 = 6;
+ complete;
+ return;
+ }
+ else if (key == "m" && nocheat2 == 6)
+ {
+ c2.setText("");
+ cheat2 = 0;
+ nocheat2 = 0;
+ complete;
+ return;
+ }
+
+ /* end cheat2 */
+
+ /* Cheet3 on */
+
+ else if (key == "i" && cheat3 == 0 && cheat3 != 3 && cheat3 != 5)
+ {
+ cheat3 = 1;
+ complete;
+ return;
+ }
+ else if (key == "n" && cheat3 == 1 && cheat3 != 4)
+ {
+ cheat3 = 2;
+ complete;
+ return;
+ }
+ else if (key == "f" && cheat3 == 2)
+ {
+ cheat3 = 3;
+ complete;
+ return;
+ }
+ else if (key == "i" && cheat3 == 3 && cheat3 != 5 && cheat3 != 0)
+ {
+ cheat3 = 4;
+ complete;
+ return;
+ }
+ else if (key == "n" && cheat3 == 4 && cheat3 != 2)
+ {
+ cheat3 = 5;
+ complete;
+ return;
+ }
+ else if (key == "i" && cheat3 == 5 && cheat3 != 3 && cheat3 != 0)
+ {
+ cheat3 = 6;
+ complete;
+ return;
+ }
+ else if (key == "t" && cheat3 == 6)
+ {
+ cheat3 = 7;
+ complete;
+ return;
+ }
+ else if (key == "y" && cheat3 == 7)
+ {
+ c3.setText("INFINITY");
+ cheat3 = 8;
+ evercheat = 1;
+ complete;
+ return;
+ }
+
+ /* Cheet3 off */
+
+ else if (key == "i" && cheat3 == 8 && nocheat3 != 3 && nocheat3 != 5)
+ {
+ nocheat3 = 1;
+ complete;
+ return;
+ }
+ else if (key == "n" && nocheat3 == 1 && nocheat3 != 4)
+ {
+ nocheat3 = 2;
+ complete;
+ return;
+ }
+ else if (key == "f" && nocheat3 == 2)
+ {
+ nocheat3 = 3;
+ complete;
+ return;
+ }
+ else if (key == "i" && nocheat3 == 3 && nocheat3 != 5 && nocheat3 != 0)
+ {
+ nocheat3 = 4;
+ complete;
+ return;
+ }
+ else if (key == "n" && nocheat3 == 4 && nocheat3 != 1)
+ {
+ nocheat3 = 5;
+ complete;
+ return;
+ }
+ else if (key == "i" && nocheat3 == 5 && nocheat3 != 3 && nocheat3 != 0)
+ {
+ nocheat3 = 6;
+ complete;
+ return;
+ }
+ else if (key == "t" && nocheat3 == 6)
+ {
+ nocheat3 = 7;
+ complete;
+ return;
+ }
+ else if (key == "y" && nocheat3 == 7 && nocheat != 6)
+ {
+ c3.setText("");
+ cheat3 = 0;
+ nocheat3 = 0;
+ complete;
+ return;
+ }
+
+ /* end cheat3 */
+
+ else if (key == "space")
+ {
+ if (gamestate == "startup" || gamestate == "New Try" || gamestate == "Next level")
+ {
+ hideInfo2();
+ info.hide();
+ infotxt.hide();
+ gamestate = "running";
+ startGame(s_level);
+ complete;
+ return;
+ }
+ if (gamestate == "Game Over")
+ {
+ info.hide();
+ infotxt.hide();
+ showInfo2();
+ s_level = 1;
+ complete;
+ return;
+ }
+ if (gamestate == "Once Again")
+ {
+ s_level = 1;
+ s_score = 0;
+ s_lives = 5;
+ hideInfo2();
+ info.hide();
+ infotxt.hide();
+ gamestate = "running";
+ startGame(s_level);
+ complete;
+ return;
+ }
+ if (move.isRunning())
+ {
+ paused = 1;
+ move.stop();
+ showInfo("Game Paused ... Push Space");
+ complete;
+ return;
+ }
+ if (paused == 1)
+ {
+ paused = 0;
+ info.hide();
+ infotxt.hide();
+ move.start();
+ complete;
+ return;
+ }
+ }
+ else
+ {
+ complete;
+ return;
+ }
+ /* if (key == "up" && direction != "d")
+ {
+ if (move.isRunning())
+ {
+ direction = "u";
+ complete;
+ return;
+ }
+ }
+ if (key == "down" && direction != "u")
+ {
+ if (move.isRunning())
+ {
+ direction = "d";
+ complete;
+ return;
+ }
+ }
+ if (key == "left" && direction != "r")
+ {
+ if (move.isRunning())
+ {
+ direction = "l";
+ complete;
+ return;
+ }
+ }
+ if (key == "right" && direction != "l")
+ {
+ if (move.isRunning())
+ {
+ direction = "r";
+ complete;
+ return;
+ }
+ }*/
+ }
+}
+
+startGame (int level)
+{
+ if (level == 11) level = 10;
+
+ if (wall) delete wall;
+ wall = new map;
+ wall.loadMap("level" + integerToString(level));
+ bg.setXmlParam("image", "level" + integerToString(level));
+
+ int n = sammy.getNumItems();
+
+ for ( int i = 1; i <= n; i++ )
+ {
+ layer newsammy = sammy.enumItem(0);
+ sammy.removeItem(0);
+ newsammy.hide();
+ }
+
+ currentllama = 0;
+ t_lives.setText(translate("Lives: ") + integerToString(s_lives));
+ t_score.setText(translate("Score: ") + integerToString(s_score));
+ t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
+ n_sammy = 0;
+ expn_sammy = 5;
+ gotkey = 1;
+ if (level != 8) direction = "r";
+ else direction = "u";
+ setLlama();
+ sammy.removeAll();
+ sammy_x.removeAll();
+ sammy_y.removeAll();
+ sammy0.setXmlParam("x", "180");
+ sammy0.setXMLParam("y", "155");
+ sammy0.show();
+ move.start();
+}
+
+move.onTimer ()
+{
+ if (n_sammy < expn_sammy)
+ {
+ addSammy();
+ }
+ else
+ {
+ syncSammy();
+ }
+
+ if (direction == "r")
+ {
+ setPos(sammy0, 1, 0);
+ }
+ else if (direction == "l")
+ {
+ setPos(sammy0, -1, 0);
+ }
+ else if (direction == "u")
+ {
+ setPos(sammy0, 0, -1);
+ }
+ else if (direction == "d")
+ {
+ setPos(sammy0, 0, 1);
+ }
+ checkForWalls (sammy0);
+ checkForSammy (sammy0);
+ checkForllama (sammy0);
+}
+
+setPos (layer l, int x, int y)
+{
+ l.setXMLParam("x", integerToString(l.getGuiX() + x*5));
+ l.setXMLParam("y", integerToString(l.getGuiY() + y*5));
+ gotkey = 0;
+}
+
+setLlama ()
+{
+ int lx = 5+random(MAX_W-3)*5;
+ int ly = 20+random(MAX_H-3)*5;
+
+ int x = sammy0.getGuiX();
+ int y = sammy0.getGuiY();
+
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10))
+ {
+ setLlama ();
+ return;
+ }
+
+ if (wall.getValue(lx, ly) == 255 || wall.getValue(lx+5, ly) == 255 || wall.getValue(lx+10, ly) == 255 ||
+ wall.getValue(lx, ly+5) == 255 || wall.getValue(lx+5, ly+5) == 255 || wall.getValue(lx+10, ly+5) == 255 ||
+ wall.getValue(lx, ly+10) == 255 || wall.getValue(lx+5, ly+10) == 255 || wall.getValue(lx+10, ly+10) == 255 )
+ {
+ setLlama ();
+ return;
+ }
+
+ int n = sammy_x.getNumItems();
+
+ for ( int i = 0; i < n; i++ )
+ {
+ x = sammy_x.enumItem(i);
+ y = sammy_y.enumItem(i);
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10))
+ {
+ setLlama ();
+ return;
+ }
+ }
+
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10)) gotLlama();
+
+ llama.setXMLParam("x", integerToString(lx));
+ llama.setXMLParam("y", integerToString(ly));
+
+ llama.show();
+}
+
+addSammy ()
+{
+ int x = sammy0.getGuiX();
+ int y = sammy0.getGuiY();
+ n_sammy++;
+ layer newsammy = createSammy(n_sammy, x, y);
+ sammy.addItem(newsammy);
+ sammy_x.addItem(x);
+ sammy_y.addItem(y);
+ newsammy.setXMLParam("x", integerToString(x));
+ newsammy.setXMLParam("y", integerToString(y));
+ newsammy.show();
+}
+
+Layer createSammy (int num, int x, int y)
+{
+ layer l = new Layer;
+ l.setXmlParam("id", "sammy" + integerToString(num));
+ l.setXmlParam("image", "sammy");
+ l.setXMLParam("x", integerToString(x));
+ l.setXMLParam("y", integerToString(y));
+ l.init(sammys);
+ return l;
+}
+
+syncSammy ()
+{
+ layer newsammy = sammy.enumItem(0);
+ sammy.removeItem(0);
+ sammy_x.removeItem(0);
+ sammy_y.removeItem(0);
+ int x = sammy0.getGuiX();
+ int y = sammy0.getGuiY();
+ newsammy.setXMLParam("x", integerToString(x));
+ newsammy.setXMLParam("y", integerToString(y));
+ sammy.addItem(newsammy);
+ sammy_x.addItem(x);
+ sammy_y.addItem(y);
+}
+
+showInfo (string s)
+{
+ infotxt.setText(s);
+ info.show();
+ infotxt.show();
+}
+
+checkForWalls (layer l)
+{
+ if ( cheat2 == 7 ) return;
+ int x = l.getGuiX();
+ int y = l.getGuiY();
+
+ if (wall.getValue(x, y) == 255) sammyDies();
+}
+
+checkForLlama (layer l)
+{
+ int x = l.getGuiX();
+ int y = l.getGuiY();
+
+ int lx = llama.getGuiX();
+ int ly = llama.getGuiY();
+
+ if ((x == lx || x == lx + 5 || x == lx + 10) && (y == ly || y == ly + 5 || y == ly + 10)) gotLlama();
+}
+
+checkForSammy (layer l)
+{
+ if ( cheat == 7 ) return;
+ int x = l.getGuiX();
+ int y = l.getGuiY();
+ int n = sammy_x.getNumItems();
+
+ for ( int i = 0; i < n; i++ )
+ {
+ if (sammy_x.enumItem(i) == x && sammy_y.enumItem(i) == y)
+ {
+ sammyDies ();
+ }
+ }
+}
+
+sammyDies ()
+{
+ llama.hide();
+ move.stop();
+ sammy0.hide();
+ s_lives--;
+ s_score -= 1000;
+ t_lives.setText(translate("Lives: ") + integerToString(s_lives));
+ t_score.setText(translate("Score: ") + integerToString(s_score));
+ t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
+ gamestate = "New Try";
+ if (s_lives == 0) {
+ gamestate = "Game Over";
+ }
+ showInfo ("Sammy Dies! Push Space!");
+}
+
+gotLlama ()
+{
+ currentllama++;
+ s_score += 100 * currentllama;
+ t_score.setText(translate("Score: ") + integerToString(s_score));
+ t_level.setText(translate("Level: ") + integerToString(s_level) + " [" + integerToString(currentllama) + "/" + integerToString(MAX_LLAMAS) + "]");
+ if (currentllama >= MAX_LLAMAS && cheat3 != 8)
+ {
+ move.stop();
+ s_level++;
+ llama.hide();
+ gamestate = "Next Level";
+ showInfo (translate("Level: ") + integerToString(s_level) + translate(", Push Space"));
+ }
+ else
+ {
+ expn_sammy += 12;
+ setLlama();
+ }
+}
+
+showInfo2 ()
+{
+ if (evercheat == 0)
+ {
+ if (s_score > getPrivateInt("Nibbles", "Personal Best", 0))
+ {
+ setPrivateInt("Nibbles", "Personal Best", s_score);
+ infotxt2d.setText("Congrats, New Highscore!");
+ }
+ else infotxt2d.setText(translate("Highscore") +": " + integerToString(getPrivateInt("Nibbles", " ", 0)));
+ }
+ else
+ {
+ infotxt2d.setTExt("You have cheated!");
+ }
+ if (cheat == 0 && cheat2 == 0 && cheat3 ==0) evercheat = 0;
+ gamestate = "Once Again";
+ infotxt2b.setText(translate("Your Score") + ": " + integerToString(s_score));
+ info2.show();
+ infotxt2a.show();
+ infotxt2d.show();
+ infotxt2b.show();
+ infotxt2c.show();
+}
+
+hideInfo2 ()
+{
+ info2.hide();
+ infotxt2a.hide();
+ infotxt2b.hide();
+ infotxt2c.hide();
+ infotxt2d.hide();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/nibbles/nibbles.xml b/Src/resources/skins/Big Bento/about/nibbles/nibbles.xml
new file mode 100644
index 00000000..9e0d8d5a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/nibbles.xml
@@ -0,0 +1,52 @@
+<elements>
+ <bitmap id="sammy" file="../Big Bento/about/nibbles/sammy.png" />
+ <bitmap id="level1" file="../Big Bento/about/nibbles/level1.png" />
+ <bitmap id="level2" file="../Big Bento/about/nibbles/level2.png" />
+ <bitmap id="level3" file="../Big Bento/about/nibbles/level3.png" />
+ <bitmap id="level4" file="../Big Bento/about/nibbles/level4.png" />
+ <bitmap id="level5" file="../Big Bento/about/nibbles/level5.png" />
+ <bitmap id="level6" file="../Big Bento/about/nibbles/level6.png" />
+ <bitmap id="level7" file="../Big Bento/about/nibbles/level7.png" />
+ <bitmap id="level8" file="../Big Bento/about/nibbles/level8.png" />
+ <bitmap id="level9" file="../Big Bento/about/nibbles/level9.png" />
+ <bitmap id="level10" file="../Big Bento/about/nibbles/level10.png" />
+ <bitmap id="llama" file="../Big Bento/about/nibbles/llama.png" />
+ <bitmap id="info" file="../Big Bento/about/nibbles/info.png" />
+ <bitmap id="info2" file="../Big Bento/about/nibbles/info2.png" />
+ <bitmapfont id="font" file="../Big Bento/about/nibbles/fixedsys.png" charwidth="8" charheight="14" hspacing="0" vspacing="0"/>
+
+</elements>
+
+<groupdef id="sammys">
+
+</groupdef>
+
+<groupdef id="nibbles">
+
+ <rect filled="1" fitparent="1" color="0,0,128" />
+ <layer x="0" y="0" h="321" w="371" id="bg" image="level1" move="0" />
+ <layer x="0" y="0" id="llama" image="llama" visible="0"/>
+ <text id="c1" x="4" y="20" w="370" h="14" text="" font="font" align="left" visible="1" alpha="100"/>
+ <text id="c2" x="4" y="20" w="360" h="14" text="" font="font" align="right" visible="1" alpha="100"/>
+ <text id="c3" x="4" y="20" w="360" h="14" text="" font="font" align="center" visible="1" alpha="100"/>
+
+ <layer x="0" y="0" h="5" w="5" id="sammy0" image="sammy" visible="0"/>
+
+ <group x="0" y="0" h="321" w="371" id="sammys" move="0" />
+
+ <layer id="info" x="0" y="0" h="321" w="371" image="info" />
+ <text id="infotxt" x="0" y="156" w="371" h="14" text="Level 1, Push Space" font="font" align="center"/>
+
+ <layer id="info2" x="0" y="0" h="321" w="371" image="info2" visible="0" />
+ <text id="infotxt2a" x="0" y="120" w="371" h="14" text="G A M E O V E R" font="font" align="center" visible="0"/>
+ <text id="infotxt2b" x="0" y="150" w="371" h="14" text="Your Score:" font="font" align="center" visible="0"/>
+ <text id="infotxt2c" x="0" y="192" w="371" h="14" text="To Play Again, Push Space" font="font" align="center" visible="0"/>
+ <text id="infotxt2d" x="0" y="168" w="371" h="14" text="Personal Best:" font="font" align="center" visible="0"/>
+
+ <text id="score" x="0" y="1" w="371" h="14" text="0" font="font" align="right"/>
+ <text id="lives" x="0" y="0" w="371" h="14" text="Lives: 5" font="font" align="center"/>
+ <text id="level" x="0" y="0" w="371" h="14" text="Level 1" font="font" align="left" />
+
+ <text id="txt" y="130" x="5"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/about/nibbles/sammy.png b/Src/resources/skins/Big Bento/about/nibbles/sammy.png
new file mode 100644
index 00000000..1a00a1a5
--- /dev/null
+++ b/Src/resources/skins/Big Bento/about/nibbles/sammy.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/screenshot.png b/Src/resources/skins/Big Bento/screenshot.png
new file mode 100644
index 00000000..1ac656a8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/screenshot.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/albumart.m b/Src/resources/skins/Big Bento/scripts/albumart.m
new file mode 100644
index 00000000..f188973d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/albumart.m
@@ -0,0 +1,135 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: albumart.m
+Version: 1.1
+
+Type: maki
+Date: 20. Sep. 2007 - 16:54
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/com/songinfo.m>
+
+#define WEBCOVER_SHOUTCAST "winamp.cover.shoutcast"
+
+Function loadFileInfo();
+//Function loadPlaylistArtWork();
+
+Global Int plArtRetries = 0;
+Global Group scriptGroup;
+Global AlbumArtLayer l_albumart;
+Global String notfoundImage = "winamp.cover.notfound.xxl";
+
+System.onScriptLoaded ()
+{
+ scriptGroup = getScriptGroup();
+ l_albumart = scriptGroup.findObject(getToken(getParam(), ",", 0));
+ notfoundImage = getToken(getParam(), ",", 1);
+ loadFileInfo();
+}
+
+l_albumart.onRightButtonDown (int x, int y)
+{
+ popupmenu p = new popupmenu;
+
+ p.addCommand("Refresh Album Art", 1, 0, 0);
+ String path = getPath(getPlayItemMetaDataString("filename"));
+ if(path != "")
+ {
+ p.addCommand("Open Folder", 2, 0, 0);
+ }
+
+ int result = p.popatmouse();
+ delete p;
+
+ if (result == 1)
+ {
+ l_albumart.refresh();
+ }
+ else if (result == 2)
+ {
+ if(path != "")
+ {
+ System.navigateUrl(path);
+ }
+ else
+ {
+ String url = getPlayItemMetaDataString("streamurl");
+ if(url != "")
+ {
+ System.navigateUrl(url);
+ }
+ }
+ }
+}
+
+l_albumart.onLeftButtonDblClk (int x, int y)
+{
+ String path = getPath(getPlayItemMetaDataString("filename"));
+ if(path != "")
+ {
+ System.navigateUrl(path);
+ }
+ else
+ {
+ String url = getPlayItemMetaDataString("streamurl");
+ if(url != "")
+ {
+ System.navigateUrl(url);
+ }
+ }
+}
+
+loadFileInfo ()
+{
+ songinfo_reload(); // refresh vars
+ plArtRetries = 0;
+ l_albumart.setXMLParam("notfoundImage", notfoundImage);
+
+ //debugInt(songinfo_isStream);
+ if (songinfo_isStream)
+ {
+ // setCover either from a supplied url or from in-stream artwork or default to a generic image
+ if (songinfo_streamAlbumArt != "")
+ {
+ l_albumart.setXMLParam("image", songinfo_streamAlbumArt);
+ l_albumart.setXMLParam("notfoundImage", notfoundImage);
+ }
+
+ if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST || songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
+ {
+ if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
+ {
+ if(l_albumart.isInvalid() && plArtRetries < 5)
+ {
+ if(!plArtRetries)
+ {
+ l_albumart.setXMLParam("notfoundImage", WEBCOVER_SHOUTCAST);
+ }
+ plArtRetries += 1;
+ l_albumart.refresh();
+ }
+ }
+ else
+ {
+ l_albumart.setXMLParam("notfoundImage", WEBCOVER_SHOUTCAST);
+ }
+ }
+ }
+}
+
+// Hide branding of we start playback
+System.onPlay ()
+{
+ loadFileInfo();
+}
+
+System.onTitleChange (String newtitle)
+{
+ loadFileInfo();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/albumart.maki b/Src/resources/skins/Big Bento/scripts/albumart.maki
new file mode 100644
index 00000000..f9248813
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/albumart.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/gen_pageguids.m b/Src/resources/skins/Big Bento/scripts/attribs/gen_pageguids.m
new file mode 100644
index 00000000..502df012
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/gen_pageguids.m
@@ -0,0 +1,106 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: gen_pageguids.m
+Version: 1.0
+
+Type: maki/page guid definitions
+Date: 03. Jul. 2006 - 18:29
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#ifndef __GEN_PAGEGUIDS_M
+#define __GEN_PAGEGUIDS_M
+
+#include <lib/config.mi>
+
+Function initPages();
+
+/*--NON CHANGEABLE GUIDS:--------------------------*/
+
+// this is the page that maps its items to the options menu, you can add attribs or more pages (submenus)
+#define CUSTOM_OPTIONSMENU_ITEMS "{1828D28F-78DD-4647-8532-EBA504B8FC04}"
+Global ConfigItem optionsmenu_page;
+
+// this is the page that maps its items to the windows menu (aka View), you can add attribs or more pages (submenus)
+#define CUSTOM_WINDOWSMENU_ITEMS "{6559CA61-7EB2-4415-A8A9-A2AEEF762B7F}"
+Global ConfigItem custom_windows_page;
+
+// non exposed attribs page
+#define CUSTOM_PAGE_NONEXPOSED "{E9C2D926-53CA-400f-9A4D-85E31755A4CF}"
+Global ConfigItem custom_page_nonexposed;
+
+
+/*--DECLARE PAGES HERE:----------------------------*/
+
+initPages()
+{
+
+#ifndef __PAGES
+#define __PAGES
+
+ custom_page_nonexposed = Config.newItem("Hidden", CUSTOM_PAGE_NONEXPOSED);
+
+ // load up the cfgpage in which we'll insert our custom page
+ optionsmenu_page = Config.getItem(CUSTOM_OPTIONSMENU_ITEMS);
+
+ custom_windows_page = Config.getItem(CUSTOM_WINDOWSMENU_ITEMS);
+
+#endif
+
+}
+
+/*--GLOBAL DEFINITIONS:----------------------------*/
+
+#define NOOFF if (getData()=="0") { setData("1"); return; }
+Global Int attribs_mychange, attribs_mychange2;
+
+Global ConfigAttribute sep;
+Global Int sep_count = 0;
+
+Function addMenuSeparator(ConfigItem cfgmenupage);
+
+addMenuSeparator(ConfigItem cfgmenupage)
+{
+#ifdef MAIN_ATTRIBS_LOADER
+
+ sep_count = sep_count + 1;
+ sep = cfgmenupage.newAttribute(getSkinName() + "seperator" + integerToString(sep_count), "");
+ sep.setData("-");
+
+#endif
+}
+
+Function ConfigItem addConfigSubMenu(configitem parent, string name, string guid);
+
+ConfigItem addConfigSubMenu(configitem parent, string name, string guid)
+{
+ ConfigItem __ret = Config.newItem(name, guid);
+ ConfigAttribute __dret = parent.newAttribute(name, "");
+ __dret.setData(guid);
+ return __ret;
+}
+
+
+Function toggleAttrib(ConfigAttribute attrib);
+
+toggleAttrib(ConfigAttribute attrib)
+{
+ if (attrib.getData() == "0")
+ {
+ attrib.setData("1");
+ }
+ else
+ {
+ attrib.setData("0");
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_Autoresize.m b/Src/resources/skins/Big Bento/scripts/attribs/init_Autoresize.m
new file mode 100644
index 00000000..9a7bbdf8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_Autoresize.m
@@ -0,0 +1,92 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_Autoresize.m
+Version: 1.1
+
+Type: maki/attrib definitions
+Date: 23. Jan. 2008 - 20:31
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/maximize.m
+ scripts/videoresize.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+
+Function initAttribs_Autoresize();
+
+
+#define CUSTOM_PAGE_RESIZE "{E704AB5A-108E-4309-B54B-43EBA5C0C3AA}"
+
+Global ConfigAttribute sui_autorsize_attrib, link_w_attrib, titlebar_dblclk_max_attib, titlebar_dblclk_shade_attib, collapse_top_attrib, collapse_bottom_attrib;
+Global ConfigAttribute video_inframe_attrib;
+
+initAttribs_Autoresize()
+{
+ initPages();
+
+ ConfigItem custom_page_autoresize = addConfigSubMenu(optionsmenu_page, "Window Sizing", CUSTOM_PAGE_RESIZE);
+
+ sui_autorsize_attrib = custom_page_autoresize.newAttribute("Autoresize Main Window if maximized", "0");
+ link_w_attrib = custom_page_autoresize.newAttribute("Link shade and player width", "1");
+ addMenuSeparator(custom_page_autoresize);
+ video_inframe_attrib = custom_page_autoresize.newAttribute("Enable Video in Window resizing", "0");
+ addMenuSeparator(custom_page_autoresize);
+ titlebar_dblclk_shade_attib = custom_page_autoresize.newAttribute("Switch to Shade on Titlebar Doubleclick", "1");
+ titlebar_dblclk_max_attib = custom_page_autoresize.newAttribute("Maximize Window on Titlebar Doubleclick", "0");
+ addMenuSeparator(custom_page_autoresize);
+ collapse_top_attrib = custom_page_autoresize.newAttribute("Collapse Window to Top", "1");
+ collapse_bottom_attrib = custom_page_autoresize.newAttribute("Collapse Window to Bottom", "0");
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+
+titlebar_dblclk_shade_attib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ if (getData() == "1") titlebar_dblclk_max_attib.setData("0");
+ if (getData() == "0") titlebar_dblclk_max_attib.setData("1");
+ attribs_mychange = 0;
+}
+titlebar_dblclk_max_attib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ if (getData() == "1") titlebar_dblclk_shade_attib.setData("0");
+ if (getData() == "0") titlebar_dblclk_shade_attib.setData("1");
+ attribs_mychange = 0;
+}
+
+collapse_bottom_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ if (getData() == "1") collapse_top_attrib.setData("0");
+ if (getData() == "0") collapse_top_attrib.setData("1");
+ attribs_mychange = 0;
+}
+collapse_top_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ if (getData() == "1") collapse_bottom_attrib.setData("0");
+ if (getData() == "0") collapse_bottom_attrib.setData("1");
+ attribs_mychange = 0;
+}
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_appearance.m b/Src/resources/skins/Big Bento/scripts/attribs/init_appearance.m
new file mode 100644
index 00000000..29419bd9
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_appearance.m
@@ -0,0 +1,63 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_appearance.m
+Version: 2.2
+
+Type: maki/attrib definitions
+Date: 28. Jun. 2007 - 22:08
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/mainmenu.maki
+ scripts/visualizer.maki
+ scripts/beatvisualization.maki
+ scripts/shadesize.maki
+ scripts/mcvcore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+Function initAttribs_Appearance();
+
+#define CUSTOM_PAGE_APPEARANCE "{F1036C9C-3919-47ac-8494-366778CF10F9}"
+
+Global ConfigAttribute vis_reflection_attrib;
+Global ConfigAttribute timer_reflection_attrib;
+Global ConfigAttribute menubar_main_attrib;
+Global configAttribute beatvis_attrib;
+//Global configAttribute artist_info_buttons_attrib;
+Global ConfigAttribute pl_tab_attrib;
+Global ConfigItem custom_page_appearance;
+
+initAttribs_Appearance()
+{
+
+ initPages();
+
+ custom_page_appearance = addConfigSubMenu(optionsmenu_page, "Appearance", CUSTOM_PAGE_APPEARANCE);
+
+ menubar_main_attrib = custom_page_appearance.newAttribute("Show Main Window Menu", "1");
+
+ addMenuSeparator(custom_page_appearance);
+
+ vis_reflection_attrib = custom_page_appearance.newAttribute("Show Visualizer Reflection", "1");
+ timer_reflection_attrib = custom_page_appearance.newAttribute("Show Timer Reflection", "1");
+
+ addMenuSeparator(custom_page_appearance);
+
+ //artist_info_buttons_attrib = custom_page_appearance.newAttribute("Show Artist-Information Buttons", "0");
+ pl_tab_attrib = custom_page_appearance.newAttribute("Show Playlist Tab", "0");
+
+ addMenuSeparator(custom_page_appearance);
+
+ beatvis_attrib = custom_page_appearance.newAttribute("Enable Beat Visualization", "1");
+
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_browser.m b/Src/resources/skins/Big Bento/scripts/attribs/init_browser.m
new file mode 100644
index 00000000..3171f64c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_browser.m
@@ -0,0 +1,133 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_browser.m
+Version: 1.1
+
+Type: maki/attrib definitions
+Date: 27. Jul. 2007 - 13:36
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/browser.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+#define CUSTOM_PAGE_BROWSER "{0E17DBEA-9398-49e6-AE6F-3AB17D001DF3}"
+#define CUSTOM_PAGE_BROWSER_WASEARCH "{180E87DF-C482-41fe-A570-8575C673E1BA}"
+#define CUSTOM_PAGE_BROWSER_CONCERTSEARCH "{B8171DB3-ECF6-40c6-9332-DDEA57A8F13E}"
+
+Function initAttribs_browser();
+
+Class ConfigAttribute SearchAttribute;
+Function check (string unknown, SearchAttribute compare);
+
+#ifdef BROWSER_SCRIPT
+Global list SearchAttributeList;
+#endif
+#ifndef BROWSER_SCRIPT
+#define SearchAttributeList //
+#endif
+
+Global ConfigAttribute browser_scr_show_attrib, browser_search_attrib;
+Global SearchAttribute browser_search_winamp_mskins_attrib, browser_search_winamp_cskins_attrib, browser_search_winamp_plugins_attrib,
+ browser_search_winamp_web_attrib, browser_search_wiki_attrib, browser_c_pollstar_attrib, browser_c_bit_attrib,
+ browser_c_jambase_attrib;
+
+initAttribs_browser()
+{
+ initPages();
+
+ ConfigItem custom_page_browser = addConfigSubMenu(optionsmenu_page, "Browser", CUSTOM_PAGE_BROWSER);
+
+ browser_search_attrib = custom_page_nonexposed.newAttribute("Onesie browser Quicksearch", "Web Search");
+
+ SearchAttributeList = new List;
+ SearchAttributeList.addItem (custom_page_browser);
+
+ browser_search_winamp_web_attrib = custom_page_browser.newAttribute("Web Search", "1");
+ SearchAttributeList.addItem (browser_search_winamp_web_attrib);
+
+ browser_search_wiki_attrib = custom_page_browser.newAttribute("Wikipedia Search", "0");
+ SearchAttributeList.addItem (browser_search_wiki_attrib);
+
+ ConfigItem custom_page_browser_concertsearch = addConfigSubMenu(custom_page_browser, "Concert Search", CUSTOM_PAGE_BROWSER_CONCERTSEARCH);
+
+ browser_c_jambase_attrib = custom_page_browser_concertsearch.newAttribute("JamBase", "0");
+ SearchAttributeList.addItem (browser_c_jambase_attrib);
+
+ browser_c_pollstar_attrib = custom_page_browser_concertsearch.newAttribute("Pollstar", "0");
+ SearchAttributeList.addItem (browser_c_pollstar_attrib);
+
+ browser_c_bit_attrib = custom_page_browser_concertsearch.newAttribute("Bandsintown", "0");
+ SearchAttributeList.addItem (browser_c_bit_attrib);
+
+ ConfigItem custom_page_browser_winampsearch = addConfigSubMenu(custom_page_browser, "Winamp Search", CUSTOM_PAGE_BROWSER_WASEARCH);
+ browser_search_winamp_mskins_attrib = custom_page_browser_winampsearch.newAttribute("Modern Skins", "0");
+ SearchAttributeList.addItem (browser_search_winamp_mskins_attrib);
+ browser_search_winamp_cskins_attrib = custom_page_browser_winampsearch.newAttribute("Classic Skins", "0");
+ SearchAttributeList.addItem (browser_search_winamp_cskins_attrib);
+ browser_search_winamp_plugins_attrib = custom_page_browser_winampsearch.newAttribute("Plug-ins", "0");
+ SearchAttributeList.addItem (browser_search_winamp_plugins_attrib);
+
+ addMenuSeparator(custom_page_browser);
+
+ browser_scr_show_attrib = custom_page_browser.newAttribute("Show Media Monitor", "1");
+
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+
+browser_search_attrib.onDataChanged ()
+{
+ if (attribs_mychange) return;
+ string dta = getData();
+ if (dta == "Modern Skins") browser_search_winamp_mskins_attrib.setData("1");
+ else if (dta == "Classic Skins") browser_search_winamp_plugins_attrib.setData("1");
+ else if (dta == "Plug-ins") browser_search_winamp_plugins_attrib.setData("1");
+ else if (dta == "Web Search with Google") browser_search_winamp_web_attrib.setData("1");
+ else if (dta == "Pollstar") browser_c_pollstar_attrib.setData("1");
+ else if (dta == "Bands in Town") browser_c_bit_attrib.setData("1");
+ else if (dta == "JamBase") browser_c_jambase_attrib.setData("1");
+ else if (dta == "Wikipedia Search") browser_search_wiki_attrib.setData("1");
+}
+
+SearchAttribute.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ String s = SearchAttribute.getAttributeName();
+ check (s, browser_search_winamp_mskins_attrib);
+ check (s, browser_search_winamp_cskins_attrib);
+ check (s, browser_search_winamp_plugins_attrib);
+ check (s, browser_search_winamp_web_attrib);
+ check (s, browser_c_jambase_attrib);
+ check (s, browser_c_bit_attrib);
+ check (s, browser_c_pollstar_attrib);
+ check (s, browser_search_wiki_attrib);
+
+ attribs_mychange = 0;
+}
+
+check (String unknown, SearchAttribute compare)
+{
+ if (unknown == compare.getAttributeName())
+ {
+ browser_search_attrib.setData(compare.getAttributeName());
+ }
+ else
+ {
+ compare.setData("0");
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_notifier.m b/Src/resources/skins/Big Bento/scripts/attribs/init_notifier.m
new file mode 100644
index 00000000..82435b38
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_notifier.m
@@ -0,0 +1,327 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_notifier.m
+
+Type: maki/attrib definitions
+Version: 1.1
+Date: 12. Jul. 2006 - 16:15
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ wasabi/notifier/notifier.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+
+Function initAttribs_notifier();
+
+
+#define CUSTOM_PAGE_NOTIFIER "{1AB968B3-8687-4a35-BA70-FCF6D92FB57F}"
+
+#define CUSTOM_PAGE_NOTIFIER_AA "{7BF45B05-2B98-4de8-8778-E5CCC9639ED1}"
+
+#define CUSTOM_PAGE_NOTIFIER_LOC "{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97}"
+
+#define CUSTOM_PAGE_NOTIFIER_FDIN "{D9891A39-7A38-45d8-9D51-A08F7270C836}"
+
+#define CUSTOM_PAGE_NOTIFIER_FDOUT "{560EAE41-1379-4927-AC55-FB5F4D47C9B8}"
+
+
+Global ConfigAttribute notifier_minimized_attrib;
+Global ConfigAttribute notifier_always_attrib;
+Global ConfigAttribute notifier_never_attrib;
+Global ConfigAttribute notifier_fadeintime_attrib;
+Global ConfigAttribute notifier_fadeouttime_attrib;
+Global ConfigAttribute notifier_holdtime_attrib;
+Global ConfigAttribute notifier_hideinfullscreen_attrib;
+Global ConfigAttribute notifier_windowshade_attrib;
+
+//Global ConfigAttribute notifier_opennowplaying_attrib;
+Global ConfigAttribute notifier_artworkinnotification_attrib;
+
+Global ConfigAttribute notifier_fdout_alpha;
+Global ConfigAttribute notifier_fdout_hslide;
+Global ConfigAttribute notifier_fdout_vslide;
+
+Global ConfigAttribute notifier_fdin_alpha;
+Global ConfigAttribute notifier_fdin_hslide;
+Global ConfigAttribute notifier_fdin_vslide;
+
+Global ConfigAttribute notifier_loc_br_attrib;
+Global ConfigAttribute notifier_loc_bl_attrib;
+Global ConfigAttribute notifier_loc_tr_attrib;
+Global ConfigAttribute notifier_loc_tl_attrib;
+Global ConfigAttribute notifier_loc_bc_attrib;
+Global ConfigAttribute notifier_loc_tc_attrib;
+
+Global ConfigAttribute notifier_loc_vport_attrib;
+Global ConfigAttribute notifier_loc_monitor_attrib;
+
+
+initAttribs_notifier()
+{
+ initPages();
+
+ ConfigItem custom_page_notifier = addConfigSubMenu(optionsmenu_page, "Notifications", CUSTOM_PAGE_NOTIFIER);
+
+ notifier_always_attrib = custom_page_notifier.newAttribute("Show always", "1");
+ notifier_windowshade_attrib = custom_page_notifier.newAttribute("Show with windowshade and when minimized", "0");
+ notifier_minimized_attrib = custom_page_notifier.newAttribute("Show only when minimized", "0");
+ notifier_minimized_attrib = custom_page_notifier.newAttribute("Show only when minimized", "0");
+ notifier_never_attrib = custom_page_notifier.newAttribute("Never show", "0");
+ addMenuSeparator(custom_page_notifier);
+
+ ConfigItem custom_page_notifier_loc = addConfigSubMenu(custom_page_notifier, "Location", CUSTOM_PAGE_NOTIFIER_LOC);
+
+ ConfigItem custom_page_notifier_fdin = addConfigSubMenu(custom_page_notifier, "Fade In Effect", CUSTOM_PAGE_NOTIFIER_FDIN);
+
+ ConfigItem custom_page_notifier_fdout = addConfigSubMenu(custom_page_notifier, "Fade Out Effect", CUSTOM_PAGE_NOTIFIER_FDOUT);
+
+ addMenuSeparator(custom_page_notifier);
+ notifier_hideinfullscreen_attrib = custom_page_notifier.newAttribute("Disable in fullscreen", "1");
+ addMenuSeparator(custom_page_notifier);
+ //notifier_opennowplaying_attrib = custom_page_notifier.newAttribute("Open Now Playing on Click", "1");
+ sep = custom_page_notifier.newAttribute("sep333", ""); sep.setData("-");
+ notifier_artworkinnotification_attrib = custom_page_notifier.newAttribute("Show Now Playing Artwork", "1");
+
+ notifier_fadeintime_attrib = custom_page_nonexposed.newAttribute("Notifications fade in time", "1000");
+ notifier_fadeouttime_attrib = custom_page_nonexposed.newAttribute("Notifications fade out time", "5000");
+ notifier_holdtime_attrib = custom_page_nonexposed.newAttribute("Notifications display time", "2000");
+
+
+// Notifications > Location
+ notifier_loc_bl_attrib = custom_page_notifier_loc.newAttribute("Bottom Left", "0");
+ notifier_loc_bc_attrib = custom_page_notifier_loc.newAttribute("Bottom Center", "0");
+ notifier_loc_br_attrib = custom_page_notifier_loc.newAttribute("Bottom Right", "1");
+ notifier_loc_tl_attrib = custom_page_notifier_loc.newAttribute("Top Left", "0");
+ notifier_loc_tc_attrib = custom_page_notifier_loc.newAttribute("Top Center", "0");
+ notifier_loc_tr_attrib = custom_page_notifier_loc.newAttribute("Top Right", "0");
+ addMenuSeparator(custom_page_notifier_loc);
+ notifier_loc_vport_attrib = custom_page_notifier_loc.newAttribute("Relative to Viewport", "1");
+ notifier_loc_monitor_attrib = custom_page_notifier_loc.newAttribute("Relative to Monitor", "0");
+
+// Notifications > Fade...
+ notifier_fdout_alpha = custom_page_notifier_fdout.newAttribute("Alpha Fade ", "1");
+ notifier_fdout_vslide = custom_page_notifier_fdout.newAttribute("Vertical Slide ", "0");
+ notifier_fdout_hslide = custom_page_notifier_fdout.newAttribute("Horizontal Slide ", "0");
+
+ // Martin> We need a additional spacer for the last 3 attribs, so we won't cross withe the 3 below in studio.xnf
+
+ notifier_fdin_alpha = custom_page_notifier_fdin.newAttribute("Alpha Fade", "1");
+ notifier_fdin_vslide = custom_page_notifier_fdin.newAttribute("Vertical Slide", "0");
+ notifier_fdin_hslide = custom_page_notifier_fdin.newAttribute("Horizontal Slide", "0");
+
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+
+notifier_always_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_never_attrib.setData("0");
+ notifier_minimized_attrib.setData("0");
+ notifier_windowshade_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_never_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_always_attrib.setData("0");
+ notifier_minimized_attrib.setData("0");
+ notifier_windowshade_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_minimized_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_never_attrib.setData("0");
+ notifier_always_attrib.setData("0");
+ notifier_windowshade_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_windowshade_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_never_attrib.setData("0");
+ notifier_always_attrib.setData("0");
+ notifier_minimized_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_fdout_alpha.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_fdout_hslide.setData("0");
+ notifier_fdout_vslide.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_fdout_hslide.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_fdout_alpha.setData("0");
+ notifier_fdout_vslide.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_fdout_vslide.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_fdout_hslide.setData("0");
+ notifier_fdout_alpha.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_fdin_alpha.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_fdin_hslide.setData("0");
+ notifier_fdin_vslide.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_fdin_hslide.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_fdin_alpha.setData("0");
+ notifier_fdin_vslide.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_fdin_vslide.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_fdin_hslide.setData("0");
+ notifier_fdin_alpha.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_br_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_bl_attrib.setData("0");
+ notifier_loc_tr_attrib.setData("0");
+ notifier_loc_tl_attrib.setData("0");
+ notifier_loc_tc_attrib.setData("0");
+ notifier_loc_bc_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_bl_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_br_attrib.setData("0");
+ notifier_loc_tr_attrib.setData("0");
+ notifier_loc_tl_attrib.setData("0");
+ notifier_loc_tc_attrib.setData("0");
+ notifier_loc_bc_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_tl_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_bl_attrib.setData("0");
+ notifier_loc_tr_attrib.setData("0");
+ notifier_loc_br_attrib.setData("0");
+ notifier_loc_tc_attrib.setData("0");
+ notifier_loc_bc_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_tr_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_bl_attrib.setData("0");
+ notifier_loc_br_attrib.setData("0");
+ notifier_loc_tl_attrib.setData("0");
+ notifier_loc_tc_attrib.setData("0");
+ notifier_loc_bc_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_tc_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_bl_attrib.setData("0");
+ notifier_loc_br_attrib.setData("0");
+ notifier_loc_tl_attrib.setData("0");
+ notifier_loc_tr_attrib.setData("0");
+ notifier_loc_bc_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_bc_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_bl_attrib.setData("0");
+ notifier_loc_br_attrib.setData("0");
+ notifier_loc_tl_attrib.setData("0");
+ notifier_loc_tc_attrib.setData("0");
+ notifier_loc_tr_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_vport_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_monitor_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_loc_monitor_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_loc_vport_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_playlist.m b/Src/resources/skins/Big Bento/scripts/attribs/init_playlist.m
new file mode 100644
index 00000000..5c8f0e4d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_playlist.m
@@ -0,0 +1,39 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_playlist.m
+Version: 1.0
+
+Type: maki/attrib definitions
+Date: 23. Okt. 2006 - 16:58
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ config/configsystem.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+#define COSTUM_PAGE_PLAYLIST "{0167CFD9-5D35-404a-8F03-80ED5B89DEDF}"
+
+
+Function initAttribs_playlist();
+
+Global ConfigAttribute playlist_enlarge_attrib;
+Global ConfigAttribute playlist_cover_attrib;
+
+initAttribs_Playlist()
+{
+ initPages();
+
+ ConfigItem playlist_parent = addConfigSubMenu(optionsmenu_page, "Playlist", COSTUM_PAGE_PLAYLIST);
+ playlist_enlarge_attrib = playlist_parent.newAttribute("Enlarge Playlist", "1");
+ playlist_cover_attrib = playlist_parent.newAttribute("Show Album Art if Playlist is enlarged", "1");
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_songticker.m b/Src/resources/skins/Big Bento/scripts/attribs/init_songticker.m
new file mode 100644
index 00000000..c7e96f3f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_songticker.m
@@ -0,0 +1,82 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_songticker.m
+Version: 1.0
+
+Type: maki/attrib definitions
+Date: 01. Sep. 2007 - 01:10
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/songticker.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+Function initAttribs_Songticker();
+
+Class ConfigAttribute ScrollingAttribute;
+
+#define CUSTOM_PAGE_SONGTICKER "{7061FDE0-0E12-11D8-BB41-0050DA442EF4}"
+
+
+Global ScrollingAttribute songticker_scrolling_disabled_attrib;
+Global ScrollingAttribute songticker_style_modern_attrib;
+Global ScrollingAttribute songticker_style_old_attrib;
+
+
+initAttribs_Songticker()
+{
+
+ initPages();
+
+ ConfigItem custom_page_songticker = addConfigSubMenu(optionsmenu_page, "Songticker", CUSTOM_PAGE_SONGTICKER);
+
+ songticker_scrolling_disabled_attrib = custom_page_songticker.newAttribute("Disable Songticker Scrolling", "0");
+ songticker_style_modern_attrib = custom_page_songticker.newAttribute("Modern Songticker Scrolling", "1");
+ songticker_style_old_attrib = custom_page_songticker.newAttribute("Classic Songticker Scrolling", "0");
+
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+
+
+songticker_scrolling_disabled_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ songticker_style_modern_attrib.setData("0");
+ songticker_style_old_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+
+songticker_style_old_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ songticker_style_modern_attrib.setData("0");
+ songticker_scrolling_disabled_attrib.setData("0");
+ attribs_mychange = 0;
+}
+songticker_style_modern_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ songticker_scrolling_disabled_attrib.setData("0");
+ songticker_style_old_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_vis.m b/Src/resources/skins/Big Bento/scripts/attribs/init_vis.m
new file mode 100644
index 00000000..55aa0c61
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_vis.m
@@ -0,0 +1,80 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_vis.m
+Version: 1.0
+
+Type: maki/attrib definitions
+Date: 03. Nov. 2006 - 18:12
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/infocompcore.maki
+ scripts/suicore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+
+Function initAttribs_vis();
+
+Global ConfigAttribute vis_lefttoplayer_attrib, vis_inbig_attrib, vis_lefttoplayer_full_attrib;
+
+#define CUSTOM_PAGE_VIS "{090B63DE-FD24-4528-ABE5-A522615E8AE9}"
+
+
+initAttribs_vis()
+{
+ initPages();
+
+ // System.isSafeMode() is not recognized by mc.exe
+ // if (!System.isSafeMode())
+ // {
+ ConfigItem vis_parent = addConfigSubMenu(optionsmenu_page, "Visualization", CUSTOM_PAGE_VIS);
+
+ vis_inbig_attrib = vis_parent.newAttribute("Open in Big Component View", "1");
+ vis_lefttoplayer_full_attrib = vis_parent.newAttribute("Open in Multi Content View (stretched)", "0");
+ vis_lefttoplayer_attrib = vis_parent.newAttribute("Open in Multi Content View (mini)", "0");
+ // }
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+
+vis_lefttoplayer_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ vis_inbig_attrib.setData("0");
+ vis_lefttoplayer_full_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+vis_inbig_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ vis_lefttoplayer_attrib.setData("0");
+ vis_lefttoplayer_full_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+vis_lefttoplayer_full_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ vis_lefttoplayer_attrib.setData("0");
+ vis_inbig_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/attribs/init_windowpage.m b/Src/resources/skins/Big Bento/scripts/attribs/init_windowpage.m
new file mode 100644
index 00000000..17a9eb0d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/attribs/init_windowpage.m
@@ -0,0 +1,309 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: init_windowpage.m
+Version: 1.1
+
+Type: maki/attrib definitions
+Date: 08. Jul. 2006 - 17:28
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/mcvcompcore.maki
+ scripts/suicore.maki
+ scripts/browser.maki
+ scripts/fileinfo.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+//#define DOHIDEMCV
+//#define IC_COVERFLOW
+
+
+#define CUSTOM_PAGE_FILEINFO "{6A619628-6A91-46e3-A3F3-5C1B2D93DF4F}"
+
+Function initAttribs_windowpage();
+
+Global ConfigAttribute sui_browser_attrib, sui_eq_attrib, sui_config_attrib;
+Global ConfigAttribute ic_fileinfo, ic_cover_fileinfo, ic_vis, ic_vis_fileinfo, ic_hidden, ic_eq, ic_config, _plsc_ic_attrib;
+#ifdef IC_COVERFLOW
+Global ConfigAttribute _cflow_ic_attrib;
+#else
+#define _cflow_ic_attrib //
+#endif
+
+#ifdef DOHIDEMCV
+Global ConfigAttribute ic_hidden;
+#endif
+Global ConfigItem custom_page_fileinfo;
+
+#ifndef DOHIDEMCV
+#define ic_hidden //
+#endif
+
+#define CUSTOM_PAGE_INFOCOMP "{8D3829F9-5790-4c8e-9C3A-C397D3602FF9}"
+Class ConfigAttribute InfoLineAttribute;
+Global InfoLineAttribute infocomp_show_rating, infocomp_show_genre, infocomp_show_year, infocomp_show_track, infocomp_show_publisher, infocomp_show_composer, infocomp_show_albumartist, infocomp_show_format, infocomp_show_disc;
+Global ConfigAttribute infocomp_cycle, infocomp_nowplaying, infocomp_browser;
+
+initAttribs_windowpage()
+{
+ initPages();
+
+ sui_eq_attrib = custom_windows_page.newAttribute("Equalizer\tAlt+G", "0");
+ // sui_browser_attrib = custom_windows_page.newAttribute("Web Browser\tAlt+X", "0");
+ sui_config_attrib = custom_windows_page.newAttribute("Skin Settings\tAlt+C", "0");
+
+ custom_page_fileinfo = addConfigSubMenu(optionsmenu_page, "Multi Content View", CUSTOM_PAGE_FILEINFO);
+
+ ic_fileinfo = custom_page_fileinfo.newAttribute("File Info", "1");
+ _cflow_ic_attrib = custom_page_fileinfo.newAttribute("Cover Flow", "0");
+ ic_vis = custom_page_fileinfo.newAttribute("Visualization ", "0");
+ _plsc_ic_attrib = custom_page_fileinfo.newAttribute("Stored Playlists", "0");
+ ic_eq = custom_page_fileinfo.newAttribute("Equalizer", sui_eq_attrib.getData());
+ ic_config = custom_page_fileinfo.newAttribute("Skin Settings", sui_config_attrib.getData());
+#ifdef DOHIDEMCV
+ ic_hidden = custom_page_fileinfo.newAttribute("Hide Multi Content View", "0");
+#endif
+ addMenuSeparator(custom_page_fileinfo);
+ ConfigItem fileinfo_parent = addConfigSubMenu(custom_page_fileinfo, "File Info Components", CUSTOM_PAGE_INFOCOMP);
+
+ ic_vis_fileinfo = fileinfo_parent.newAttribute("Visualization ", "0");
+ ic_cover_fileinfo = fileinfo_parent.newAttribute("Album Art", "1");
+ addMenuSeparator(fileinfo_parent);
+ infocomp_show_track = fileinfo_parent.newAttribute("Show Track #", "1");
+ infocomp_show_year = fileinfo_parent.newAttribute("Show Year", "1");
+ infocomp_show_genre = fileinfo_parent.newAttribute("Show Genre", "1");
+ infocomp_show_disc = fileinfo_parent.newAttribute("Show Disc", "1");
+ infocomp_show_albumartist = fileinfo_parent.newAttribute("Show Album Artist", "1");
+ infocomp_show_composer = fileinfo_parent.newAttribute("Show Composer", "1");
+ infocomp_show_publisher = fileinfo_parent.newAttribute("Show Publisher", "1");
+ infocomp_show_format = fileinfo_parent.newAttribute("Show Decoder", "1");
+ infocomp_show_rating = fileinfo_parent.newAttribute("Show Song Rating", "1");
+ addMenuSeparator(fileinfo_parent);
+ infocomp_cycle = fileinfo_parent.newAttribute("Cycle File Info", "1");
+ addMenuSeparator(fileinfo_parent);
+ //infocomp_nowplaying = fileinfo_parent.newAttribute("Open Links in Now Playing", "1");
+ //infocomp_browser = fileinfo_parent.newAttribute("Open Links in Browser", "0");
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+System.onKeyDown(String key) {
+ if (key == "alt+x")
+ {
+ if (sui_browser_attrib.getData() == "0") sui_browser_attrib.setData("1");
+ else sui_browser_attrib.setData("0");
+ complete;
+ }
+ /*if (key == "alt+n")
+ {
+ if (sui_browser_attrib.getData() == "0") sui_browser_attrib.setData("1");
+ else sui_browser_attrib.setData("0");
+ complete;
+ }*/
+ /*if (key == "alt+c")
+ {
+ if (sui_cover_attrib.getData() == "0") sui_cover_attrib.setData("1");
+ else sui_cover_attrib.setData("0");
+ complete;
+ }*/
+ if (key == "alt+c")
+ {
+ if (sui_config_attrib.getData() == "0") sui_config_attrib.setData("1");
+ else sui_config_attrib.setData("0");
+ complete;
+ }
+ if (key == "alt+g")
+ {
+ if (sui_eq_attrib.getData() == "0") sui_eq_attrib.setData("1");
+ else sui_eq_attrib.setData("0");
+ complete;
+ }
+ /*if (key == "ctrl+f") {
+ navigateUrl(getPath(getPlayItemString()));
+ complete;
+ }*/
+}
+
+ic_fileinfo.onDataChanged()
+{
+ //debugString("ic_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_vis.setData("0");
+ ic_eq.setData("0");
+ ic_config.setData("0");
+ _plsc_ic_attrib.setData("0");
+ _cflow_ic_attrib.setData("0");
+ ic_hidden.setdata("0");
+ attribs_mychange2 = 0;
+}
+
+ic_vis.onDataChanged()
+{
+ //debugString("ic_vis.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_fileinfo.setData("0");
+ ic_eq.setData("0");
+ ic_config.setData("0");
+ _plsc_ic_attrib.setData("0");
+ _cflow_ic_attrib.setData("0");
+ ic_hidden.setdata("0");
+ attribs_mychange2 = 0;
+}
+
+ic_eq.onDataChanged()
+{
+ if (!attribs_mychange)
+ {
+ attribs_mychange = 1;
+ sui_eq_attrib.setData(getData());
+ if (getData() == "1") sui_config_attrib.setData("0");
+ attribs_mychange = 0;
+ }
+ //debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_fileinfo.setData("0");
+ ic_vis.setData("0");
+ ic_config.setData("0");
+ _plsc_ic_attrib.setData("0");
+ _cflow_ic_attrib.setData("0");
+ ic_hidden.setdata("0");
+ attribs_mychange2 = 0;
+}
+
+ic_config.onDataChanged()
+{
+ if (!attribs_mychange)
+ {
+ attribs_mychange = 1;
+ sui_config_attrib.setData(getData());
+ if (getData() == "1") sui_eq_attrib.setData("0");
+ attribs_mychange = 0;
+ }
+ //debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_fileinfo.setData("0");
+ ic_vis.setData("0");
+ ic_eq.setData("0");
+ _plsc_ic_attrib.setData("0");
+ _cflow_ic_attrib.setData("0");
+ ic_hidden.setdata("0");
+ attribs_mychange2 = 0;
+}
+
+_plsc_ic_attrib.onDataChanged()
+{
+ //debugString("ic_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_vis.setData("0");
+ ic_eq.setData("0");
+ ic_config.setData("0");
+ ic_fileinfo.setData("0");
+ _cflow_ic_attrib.setData("0");
+ ic_hidden.setdata("0");
+ attribs_mychange2 = 0;
+}
+
+#ifdef IC_COVERFLOW
+
+_cflow_ic_attrib.onDataChanged()
+{
+ //debugString("ic_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_vis.setData("0");
+ ic_eq.setData("0");
+ ic_config.setData("0");
+ ic_fileinfo.setData("0");
+ _plsc_ic_attrib.setData("0");
+ ic_hidden.setdata("0");
+ attribs_mychange2 = 0;
+}
+
+#endif
+
+#ifdef DOHIDEMCV
+ic_hidden.onDataChanged()
+{
+ //debugString("ic_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange2) return;
+ NOOFF
+ attribs_mychange2 = 1;
+ ic_vis.setData("0");
+ ic_eq.setData("0");
+ ic_config.setData("0");
+ ic_fileinfo.setData("0");
+ _plsc_ic_attrib.setdata("0");
+ _cflow_ic_attrib.setData("0");
+ attribs_mychange2 = 0;
+}
+#endif
+
+sui_eq_attrib.onDataChanged()
+{
+ //debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange) return;
+ attribs_mychange = 1;
+ if (getData() == "1")
+ {
+ ic_eq.setData("1");
+ sui_config_attrib.setData("0");
+ }
+ else ic_fileinfo.setData("1");
+ attribs_mychange = 0;
+}
+
+sui_config_attrib.onDataChanged()
+{
+ //debugString("ic_vis_fileinfo.setData(" + getData() + ")", 9);
+ if (attribs_mychange) return;
+ attribs_mychange = 1;
+ if (getData() == "1")
+ {
+ ic_config.setData("1");
+ sui_eq_attrib.setData("0");
+ }
+ else ic_fileinfo.setData("1");
+ attribs_mychange = 0;
+}
+
+
+/* infocomp_nowplaying.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ infocomp_browser.setData("0");
+ attribs_mychange = 0;
+}
+
+
+infocomp_browser.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ infocomp_nowplaying.setData("0");
+ attribs_mychange = 0;
+}
+*/
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/beatvisualization.m b/Src/resources/skins/Big Bento/scripts/beatvisualization.m
new file mode 100644
index 00000000..17e72f03
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/beatvisualization.m
@@ -0,0 +1,160 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: beatvisualization.m
+Version: 1.0
+
+Type: maki
+Date: 24. Sep. 2007 - 21:11
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+ Based on Winamp Modern
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_appearance.m
+
+Function updateObj(int w);
+
+#define CENTER_VAR CONTENTGRP
+Global Group contentGroup;
+#include <lib/com/centerlayer.m>
+#undef CENTER_VAR
+
+Global Group scriptGroup;
+Global animatedLayer beatVisL, beatVisR;
+Global int lastBeatLeft, lastBeatRight;
+Global Timer refreshVis;
+Global Int totalFrames;
+Global GuiObject SongTicker;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Appearance();
+
+ scriptGroup = getScriptGroup();
+
+ contentGroup = scriptGroup.getObject("player.display.beatvis.content");
+
+ beatVisL = contentGroup.getObject("beatvisleft");
+ beatVisR = contentGroup.getObject("beatvisright");
+
+ _CONTENTGRPInit(contentGroup, scriptGroup, 1, 0);
+
+ SongTicker = contentGroup.getParent().findObject("Songticker");
+
+ totalFrames = beatVisR.getLength() - 1;
+
+ lastBeatLeft = 0;
+ lastBeatRight = 0;
+
+ refreshVis = new Timer;
+ refreshVis.setDelay(10);
+
+ updateObj(scriptGroup.getWidth());
+ vis_reflection_attrib.onDataChanged();
+}
+
+System.onScriptUnloading ()
+{
+ refreshVis.stop();
+ delete refreshVis;
+}
+
+scriptGroup.onResize (int x, int y, int w, int h)
+{
+ updateObj(w);
+}
+
+updateObj (int w)
+{
+ if (w > 98)
+ {
+ if (scriptGroup.isVisible()) return;
+ scriptGroup.show();
+ if (beatvis_attrib.getData() == "1") refreshVis.start();
+ //SongTicker.sendAction("setGuiX", "", 191,0,0,0);
+
+ }
+ else
+ {
+ refreshVis.stop();
+ scriptGroup.hide();
+ //SongTicker.sendAction("restoreGuiX", "", 0,0,0,0);
+ }
+}
+
+refreshVis.onTimer ()
+{
+ if (beatvis_attrib.getData() == "0")
+ {
+ lastBeatLeft--;
+ if (lastBeatLeft<0) lastBeatLeft=0;
+ lastBeatRight--;
+ if (lastBeatRight<0) lastBeatRight=0;
+
+ beatVisL.gotoframe(lastBeatLeft);
+ beatVisR.gotoframe(lastBeatRight);
+
+ if (lastBeatLeft + lastBeatRight == 0)
+ {
+ refreshVis.stop();
+ }
+ return;
+ }
+
+ int beatLeft= System.getLeftVuMeter();
+ int beatRight= System.getRightVuMeter();
+
+ int frameLeft=beatLeft/(totalFrames+7);
+ int frameRight=beatRight/(totalFrames+7);
+
+ if (frameLeft>totalFrames) frameLeft=totalFrames;
+ if (frameRight>totalFrames) frameRight=totalFrames;
+
+ if (frameLeft<lastBeatLeft)
+ {
+ frameLeft=lastBeatLeft-1;
+ if (frameLeft<0) frameLeft=0;
+ }
+
+ if (frameRight<lastBeatRight)
+ {
+ frameRight=lastBeatRight-1;
+ if (frameRight<0) frameRight=0;
+ }
+
+ lastBeatLeft=frameLeft;
+ lastBeatRight=frameRight;
+
+ beatVisL.gotoframe(frameLeft);
+ beatVisR.gotoframe(frameRight);
+}
+
+beatvis_attrib.onDataChanged ()
+{
+ if (getData() == "1" )
+ {
+ if (scriptGroup.isVisible())
+ {
+ refreshVis.start();
+ }
+ }
+}
+
+vis_reflection_attrib.onDataChanged ()
+{
+ if (getdata() == "1")
+ {
+ beatVisR.setXmlParam("image", "player.beatvis.right");
+ beatVisL.setXmlParam("image", "player.beatvis.left");
+ }
+ else
+ {
+ beatVisR.setXmlParam("image", "player.beatvis.right.wo");
+ beatVisL.setXmlParam("image", "player.beatvis.left.wo");
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/beatvisualization.maki b/Src/resources/skins/Big Bento/scripts/beatvisualization.maki
new file mode 100644
index 00000000..b4cda446
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/beatvisualization.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/buildall.bat b/Src/resources/skins/Big Bento/scripts/buildall.bat
new file mode 100644
index 00000000..caceb43b
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/buildall.bat
@@ -0,0 +1,8 @@
+@echo off
+
+pushd %~dp0..\..\..\..\wasabi\
+set basedir=%cd%
+popd
+
+for %%a in (*.m) do "%basedir%\mc.exe" %%a
+pause \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/cbuttons.m b/Src/resources/skins/Big Bento/scripts/cbuttons.m
new file mode 100644
index 00000000..0b662f4c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/cbuttons.m
@@ -0,0 +1,293 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: cbuttons.m
+Version: 1.0
+
+Type: maki
+Date: 03. Nov. 2006 - 17:02
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/pldir.mi>
+
+#define GLOW_OBJECT Prev
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Next
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Play
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Pause
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Stop
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Eject
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Repeat
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Shuffle
+#include <lib/com/glow.m>
+#define GLOW_OBJECT Bolt
+#include <lib/com/glow.m>
+
+Class Button InfoButton;
+Class ToggleButton InfoToggleButton;
+
+Global InfoButton b_play, b_pause, b_eject, b_prev, b_next, b_stop, b_bolt;
+Global InfoToggleButton b_repeat, b_shuffle;
+Global GuiObject SongTicker;
+Global Group buttongroup;
+Global GuiObject shuffleActive, repeatActive, boltGlow;
+Global Int shuffleActive_Y, repeatActive_Y, minW, boltX, grabbX;
+Global Layer mainframe_grabber;
+Global Timer beatvis;
+
+System.onScriptLoaded ()
+{
+ buttongroup = getScriptGroup().findObject("player.cbuttons");
+
+ b_play = buttongroup.getObject("Play");
+ b_pause = buttongroup.getObject("Pause");
+ b_eject = buttongroup.getObject("Eject");
+ b_prev = buttongroup.getObject("Prev");
+ b_next = buttongroup.getObject("Next");
+ b_stop = buttongroup.getObject("Stop");
+ b_repeat = buttongroup.getObject("repeat");
+ b_shuffle = buttongroup.getObject("shuffle");
+ b_bolt = buttongroup.getParentLayout().getObject("bolt");
+ boltGlow = buttongroup.getParentLayout().getObject("bolt.glow");
+ shuffleActive = getScriptGroup().findObject("shuffle.active");
+ shuffleActive_Y = shuffleActive.getGuiY();
+ repeatActive = getScriptGroup().findObject("repeat.active");
+ repeatActive_Y = repeatActive.getGuiY();
+ mainframe_grabber = buttongroup.getParentLayout().getObject("player.mainframe.grabber");
+
+ beatvis = new Timer;
+ beatvis.setDelay(33);
+
+ minW = stringToInteger(getParam());
+ boltX = b_bolt.getGuiX();
+ grabbX = mainframe_grabber.getGuiX();
+
+ b_bolt.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ boltGlow.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ mainframe_grabber.setXmlParam("x", integerToString(grabbX + buttongroup.GetWidth() - minW));
+
+ _Play_GlowInit (b_play, buttongroup.findObject("Play.glow"), 0.3);
+ _Pause_GlowInit (b_pause, buttongroup.findObject("Pause.glow"), 0.3);
+ _Stop_GlowInit (b_stop, buttongroup.findObject("Stop.glow"), 0.3);
+ _Prev_GlowInit (b_prev, buttongroup.findObject("Prev.glow"), 0.3);
+ _Next_GlowInit (b_next, buttongroup.findObject("Next.glow"), 0.3);
+ _Eject_GlowInit (b_eject, buttongroup.findObject("Eject.glow"), 0.3);
+ _Repeat_GlowInit (b_repeat, buttongroup.findObject("repeat.glow"), 0.3);
+ _Shuffle_GlowInit (b_shuffle, buttongroup.findObject("shuffle.glow"), 0.3);
+ _Bolt_GlowInit (b_bolt, buttongroup.getParentLayout().getObject("bolt.glow"), 0.7);
+
+ SongTicker = buttongroup.getParentLayout().findObject("songticker");
+}
+
+system.onScriptUnloading ()
+{
+ beatvis.stop();
+ delete beatvis;
+}
+
+InfoButton.onLeftButtonDown (int x, int y)
+{
+ if (InfoButton == b_play)
+ {
+ if (getStatus() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Resume Playback", 0, 0, 0, 0);
+ }
+ else if (getStatus() == 0)
+ {
+ SongTicker.sendAction("showinfo", "Start Playback", 0, 0, 0, 0);
+ }
+ else if (getStatus() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Restart Playback", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoButton == b_pause)
+ {
+ if (getStatus() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Resume Playback", 0, 0, 0, 0);
+ }
+ else if (getStatus() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Pause Playback", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoButton == b_pause)
+ {
+ if (getStatus() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Pause Playback", 0, 0, 0, 0);
+ }
+ }
+ else
+ {
+ string info = InfoButton.getXmlParam("tooltip");
+ SongTicker.sendAction("showinfo", info, 0, 0, 0, 0);
+ }
+}
+
+InfoToggleButton.onLeftButtonDown (int x, int y)
+{
+ if (InfoToggleButton == b_shuffle)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: On", 0, 0, 0, 0);
+ }
+ else
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: Off", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoToggleButton == b_repeat)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Playlist", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Track", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == 0)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Off", 0, 0, 0, 0);
+ }
+ }
+}
+
+InfoToggleButton.onLeftButtonUp (int x, int y)
+{
+ if (InfoToggleButton == b_shuffle)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: On", 0, 0, 0, 0);
+ }
+ else
+ {
+ SongTicker.sendAction("showinfo", "Shuffle: Off", 0, 0, 0, 0);
+ }
+ }
+ else if (InfoToggleButton == b_repeat)
+ {
+ if (getCurCfgVal() == 1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Playlist", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == -1)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Track", 0, 0, 0, 0);
+ }
+ else if (getCurCfgVal() == 0)
+ {
+ SongTicker.sendAction("showinfo", "Repeat: Off", 0, 0, 0, 0);
+ }
+ }
+}
+
+Global Boolean shuffleDown, repeatDown;
+b_shuffle.onLeftButtonDown (int x, int y)
+{
+ shuffleDown = 1;
+ shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y+1));
+}
+
+b_shuffle.onLeftButtonUp (int x, int y)
+{
+ shuffleDown = 0;
+ shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y));
+}
+
+b_shuffle.onleaveArea ()
+{
+ shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y));
+}
+
+b_shuffle.onEnterArea ()
+{
+ if (shuffleDown) shuffleActive.setXmlParam("y", integerToString(shuffleActive_Y+1));
+}
+
+b_repeat.onLeftButtonDown (int x, int y)
+{
+ repeatDown = 1;
+ repeatActive.setXmlParam("y", integerToString(repeatActive_Y+1));
+}
+
+b_repeat.onLeftButtonUp (int x, int y)
+{
+ repeatDown = 0;
+ repeatActive.setXmlParam("y", integerToString(repeatActive_Y));
+}
+
+b_repeat.onleaveArea ()
+{
+ repeatActive.setXmlParam("y", integerToString(repeatActive_Y));
+}
+
+b_repeat.onEnterArea ()
+{
+ if (repeatDown) repeatActive.setXmlParam("y", integerToString(repeatActive_Y+1));
+}
+
+buttongroup.onResize (int x, int y, int w, int h)
+{
+ b_bolt.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ boltGlow.setXmlParam("x", integerToString(boltX + buttongroup.GetWidth() - minW));
+ mainframe_grabber.setXmlParam("x", integerToString(grabbX + buttongroup.GetWidth() - minW));
+}
+
+b_bolt.onLeftButtonUp (int x, int y)
+{
+ if (isKeyDown(VK_ALT) && isKeyDown(VK_SHIFT) && isKeyDown(VK_CONTROL))
+ {
+ if (beatvis.isRunning())
+ {
+ beatvis.stop();
+ }
+ else
+ {
+ beatvis.start();
+ }
+ complete;
+ }
+}
+
+beatvis.onTimer ()
+{
+ int value = (getRightVuMeter() + getLeftVuMeter()) / 2;
+ boltGlow.setAlpha(value);
+}
+/*
+System.onKeyDown (String key)
+{
+ if (key == "space")
+ {
+ PlEdit.showCurrentlyPlayingTrack();
+
+ complete;
+ }
+}*/
+
+System.onAccelerator (String action, String section, String key)
+{
+ if (strupper(action) == "SHOW_CURRENT_TRACK")
+ {
+ PlEdit.showCurrentlyPlayingTrack();
+
+ complete;
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/cbuttons.maki b/Src/resources/skins/Big Bento/scripts/cbuttons.maki
new file mode 100644
index 00000000..c61f2a1c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/cbuttons.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/colorthemes.m b/Src/resources/skins/Big Bento/scripts/colorthemes.m
new file mode 100644
index 00000000..1d231b98
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/colorthemes.m
@@ -0,0 +1,56 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: colorthemes.m
+Version: 1.0
+
+Type: maki
+Date: 29. Jun. 2007 - 13:06
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Global Group scriptGroup;
+Global GuiObject ColorthemesList, parent;
+Global string sgID;
+
+Global Button getmore;
+
+
+System.onScriptLoaded ()
+{
+ scriptGroup = getScriptGroup();
+ sgID = scriptGroup.getID();
+ ColorthemesList = scriptGroup.getObject("colorthemes");
+ parent = scriptGroup.getParent().findObject("skin.config.target");
+
+ getmore = scriptGroup.getObject("colorthemes.more");
+}
+
+scriptGroup.onTargetReached ()
+{
+ if (getAlpha() == 0) ColorthemesList.hide();
+ else ColorthemesList.show();
+}
+
+parent.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source)
+{
+ if (getToken(action,";",0) == "switchto")
+ {
+ if (getToken(action, ";", 1) == sgID)
+ {
+ ColorthemesList.show();
+ }
+ else ColorthemesList.hide();
+ }
+}
+
+getmore.onLeftClick ()
+{
+ group sui = scriptGroup.getParentLayout().findObject("sui.content");
+ sui.sendAction ("browser_navigate", "http://forums.winamp.com/showthread.php?threadid=276371", 0, 0, 0, 0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/colorthemes.maki b/Src/resources/skins/Big Bento/scripts/colorthemes.maki
new file mode 100644
index 00000000..a3ddb897
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/colorthemes.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/configtarget.m b/Src/resources/skins/Big Bento/scripts/configtarget.m
new file mode 100644
index 00000000..a1841046
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/configtarget.m
@@ -0,0 +1,159 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: configtarget.m
+Version: 2.1
+
+Type: maki
+Date: 04. Jan. 2007 - 22:46
+Edited by: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script is based on configtarget.m
+ from Winamp Modern
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+// ------------------------------------------------------------------------------------
+Global GuiObject target;
+Global ComponentBucket buck;
+
+Global GuiObject last, current;
+// ------------------------------------------------------------------------------------
+Function turnAllOffExcept(GuiObject except);
+Function turnOn(GuiObject obj);
+Function turnOff(GuiObject obj);
+
+//Member int target.fff;
+
+//function fff();
+//Member button int fff();
+// ------------------------------------------------------------------------------------
+
+
+// ------------------------------------------------------------------------------------
+// init
+// ------------------------------------------------------------------------------------
+System.onScriptLoaded()
+{
+ target = getScriptGroup().findObject("skin.config.target");
+ buck = getScriptGroup().findObject("my.bucket");
+
+ last = NULL;
+ current = NULL;
+
+ //debugInt(guiobject.fff);ffff
+
+// target.fff = 4;
+
+ // turn off all
+ GuiObject o = NULL;
+ turnAllOffExcept(o);
+}
+
+// ------------------------------------------------------------------------------------
+// save scroller position
+// ------------------------------------------------------------------------------------
+/*System.onScriptUnloading()
+{
+ if (buck)
+ {
+ setPrivateInt(getSkinName(), "", buck.getScroll());
+ }
+}*/
+
+// ------------------------------------------------------------------------------------
+// turn on last open
+// ------------------------------------------------------------------------------------
+buck.onStartup()
+{
+ //setScroll(getPrivateInt(getSkinName(), "settings_last_pos", 0));
+ Group g = buck.enumChildren(getPrivateInt(getSkinName(), "settings_last_pos", 0));
+ if (!g) g = buck.enumChildren(0);
+ if (!g) return;
+ ToggleButton btn = g.getObject("btn");
+ if (btn) btn.leftClick();
+}
+
+// ------------------------------------------------------------------------------------
+// this is called by the bucket button to switch to a new group
+// ------------------------------------------------------------------------------------
+target.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source)
+{
+ if (getToken(action,";",0) == "switchto")
+ {
+ String grp = getToken(action, ";", 1);
+ String is_subpage = getToken(action, ";", 2);
+
+ if (current != NULL)
+ {
+ last = current;
+ }
+
+ target.setXmlParam("groupid", grp);
+
+ current = getScriptGroup().findObject(grp);
+
+ // setPrivateInt(getSkinName(), "settings_last_pos", stringToInteger(param));
+
+ if (is_subpage!="subpage") turnAllOffExcept(source.getParent()); // getParent because the source is the button itself, the parent is the whole group item in the bucket
+ }
+}
+
+// Hack to hide last item
+
+last.onTargetReached ()
+{
+ if (getAlpha() == 0)
+ {
+ hide();
+ }
+}
+
+// ------------------------------------------------------------------------------------
+// turn off all buttons except for the parameter, also save last_page param based on param item
+// ------------------------------------------------------------------------------------
+turnAllOffExcept(GuiObject except)
+{
+ if (!buck) return;
+ int i=0;
+ // enumerate all inserted groups, turn them off if they're not our exception
+ while (i<buck.getNumChildren())
+ {
+ GuiObject obj = buck.enumChildren(i);
+ if (obj == except)
+ { // otherwise record last page
+ setPrivateInt(getSkinName(), "settings_last_pos", i);
+ i++;
+ continue;
+ }
+ if (obj == NULL) { break; } // shoundnt happen
+ turnOff(obj);
+ i++;
+ }
+ // turn on the clicked item
+ if (except) turnOn(except);
+}
+
+// ------------------------------------------------------------------------------------
+turnOn(GuiObject obj)
+{
+ Group gobj = obj;
+
+ // otherwise we just need this :
+ ToggleButton tg = gobj.getObject("btn");
+ tg.setActivated(1);
+}
+
+// ------------------------------------------------------------------------------------
+turnOff(GuiObject obj)
+{
+ Group gobj = obj;
+
+ // otherwise we just need this :
+ ToggleButton tg = gobj.getObject("btn");
+ tg.setActivated(0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/configtarget.maki b/Src/resources/skins/Big Bento/scripts/configtarget.maki
new file mode 100644
index 00000000..d48dcfb1
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/configtarget.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/coverflow.m b/Src/resources/skins/Big Bento/scripts/coverflow.m
new file mode 100644
index 00000000..a9ca1c7c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/coverflow.m
@@ -0,0 +1,229 @@
+/********************************************************\
+** Filename: coverflow.m **
+** Version: 1.0 **
+** Date: 20. Nov. 2007 - 15:25 **
+**********************************************************
+** Type: winamp.wasabi/maki **
+** Project: Cover Flow **
+**********************************************************
+** Author: Martin Poehlmann aka Deimos **
+** E-Mail: martin@skinconsortium.com **
+** Internet: http://www.skinconsortium.com **
+** http://home.cs.tum.edu/~poehlman **
+\********************************************************/
+
+
+#include <lib/std.mi>
+#include <lib/pldir.mi>
+
+Function update();
+Function fade (GuiObject o, int alpha, float s);
+
+Class GuiObject AlbumCover;
+Class AlbumCover playButton;
+
+Global AlbumCover prev2, prev1, curr, next1, next2;
+Global String sprev2, sprev1, scurr, snext1, snext2;
+Global playButton bprev2, bprev1, bcurr, bnext1, bnext2;
+Global text info;
+
+#define CENTER_VAR SGrp
+Global Group sg;
+#include <lib/com/centerlayer.m>
+#undef CENTER_VAR
+
+Global PlEdit PleditListener;
+
+Global Timer delay;
+
+System.onScriptLoaded ()
+{
+ sg = getScriptGroup();
+
+ PleditListener = new PlEdit;
+
+ prev2 = sg.getObject("aa.prev2");
+ prev1 = sg.getObject("aa.prev1");
+ curr = sg.getObject("aa.curr");
+ next1 = sg.getObject("aa.next1");
+ next2 = sg.getObject("aa.next2");
+
+ bprev2 = sg.getObject("play.prev2");
+ bprev1 = sg.getObject("play.prev1");
+ bcurr = sg.getObject("play.curr");
+ bnext1 = sg.getObject("play.next1");
+ bnext2 = sg.getObject("play.next2");
+
+ info = sg.getParent().findObject("info");
+
+ _SGrpInit(sg, sg.getParent(), 1, 0);
+
+ delay = new Timer;
+ delay.setDelay(10);
+
+ update();
+}
+
+System.onScriptUnloading ()
+{
+ delete delay;
+}
+
+System.onTitleChange (String newtitle)
+{
+ update();
+}
+
+update ()
+{
+ int cur = PlEdit.getCurrentIndex();
+ int max = PlEdit.getNumTracks();
+
+ if (cur > 1)
+ {
+ prev2.setXmlParam("source", PlEdit.getFileName(cur-2));
+ prev2.show();
+ sprev2 = PlEdit.getTitle(cur-2);
+ }
+ else prev2.hide();
+
+ if (cur > 0)
+ {
+ prev1.setXmlParam("source", PlEdit.getFileName(cur-1));
+ prev1.show();
+ sprev1 = PlEdit.getTitle(cur-1);
+ }
+ else prev1.hide();
+
+ scurr = PlEdit.getTitle(cur);
+
+ if (cur < max-2)
+ {
+ next2.setXmlParam("source", PlEdit.getFileName(cur+2));
+ next2.show();
+ snext2 = PlEdit.getTitle(cur+2);
+ }
+ else next2.hide();
+
+ if (cur < max-1)
+ {
+ next1.setXmlParam("source", PlEdit.getFileName(cur+1));
+ next1.show();
+ snext1 = PlEdit.getTitle(cur+1);
+ }
+ else next1.hide();
+}
+
+PleditListener.onPleditModified ()
+{
+ if (delay) delay.start();
+}
+
+delay.onTimer ()
+{
+ delay.stop();
+ update();
+}
+
+AlbumCover.onRightButtonDown (int x, int y)
+{
+ popupmenu p = new popupmenu;
+
+ p.addCommand("Get Album Art", 1, 0, 0);
+ p.addCommand("Refresh Album Art", 2, 0, 0);
+ p.addCommand("Open Folder", 3, 0, 0);
+
+ int result = p.popatmouse();
+ delete p;
+
+ String pis = getXmlParam("source");
+ if (pis == "") pis = system.getPlayItemString();
+
+ if (result == 1)
+ {
+ if (system.getAlbumArt(pis) > 0)
+ {
+ setXmlParam("notfoundimage", getXmlParam("notfoundimage")); // a nesty refresh - isn't it?
+ }
+ }
+ else if (result == 2)
+ {
+ setXmlParam("notfoundimage", getXmlParam("notfoundimage")); // a nesty refresh - isn't it?
+ }
+ else if (result == 3)
+ {
+ System.navigateUrl(getPath(pis));
+ }
+}
+
+AlbumCover.onLeftButtonDblClk (int x, int y)
+{
+ if (AlbumCover == playButton)
+ return;
+
+ String pis = getXmlParam("source");
+ if (pis == "") pis = system.getPlayItemString();
+ System.navigateUrl(getPath(pis));
+}
+
+AlbumCover.onEnterArea ()
+{
+ if (!findObject("aa." + getToken(getId(), ".", 1)).isVisible())
+ {
+ return;
+ }
+
+ int cur = PlEdit.getCurrentIndex();
+
+ if (AlbumCover == prev2 || AlbumCover == bprev2)
+ info.setText(sprev2);
+ else if (AlbumCover == prev1 || AlbumCover == bprev1)
+ info.setText(sprev1);
+ else if (AlbumCover == curr || AlbumCover == bcurr)
+ info.setText(scurr);
+ else if (AlbumCover == next1 || AlbumCover == bnext1)
+ info.setText(snext1);
+ else if (AlbumCover == next2 || AlbumCover == bnext2)
+ info.setText(snext2);
+
+ GuiObject o = sg.findObject("play." + getToken(getId(), ".", 1));
+ if (o )
+ {
+ fade(o, 255, 0.133);
+ }
+}
+
+AlbumCover.onLeaveArea ()
+{
+ info.setText("");
+
+ GuiObject o = sg.findObject("play." + getToken(getId(), ".", 1));
+ if (o)
+ {
+ fade(o, 0, 0.3);
+ }
+}
+
+playButton.onLeftButtonUp (int x, int y)
+{
+ int cur = PlEdit.getCurrentIndex();
+ if (playButton == bprev2)
+ PlEdit.playTrack(cur-2);
+ else if (playButton == bprev1)
+ PlEdit.playTrack(cur-1);
+ else if (playButton == bnext1)
+ PlEdit.playTrack(cur+1);
+ else if (playButton == bnext2)
+ PlEdit.playTrack(cur+2);
+
+ setAlpha(0);
+ info.setTexT("");
+}
+
+fade (GuiObject o, int alpha, float s)
+{
+ o.cancelTarget();
+ o.setTargetA(alpha);
+ o.setTargetSpeed(s);
+ o.gotoTarget();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/coverflow.maki b/Src/resources/skins/Big Bento/scripts/coverflow.maki
new file mode 100644
index 00000000..54b59008
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/coverflow.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/eq.m b/Src/resources/skins/Big Bento/scripts/eq.m
new file mode 100644
index 00000000..f450ee45
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/eq.m
@@ -0,0 +1,247 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: eq.m
+Version: 2.0
+
+Type: maki
+Date: 25. Jun. 2007 - 11:30
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/winampconfig.mi>
+
+#define CENTER_VAR eqGroup
+#include <lib/com/centerlayer.m>
+
+#define ISOBANDS "31.5 Hz,63 Hz,125 Hz,250 Hz,500 Hz,1 KHz,2 KHz,4 KHz,8 KHz,16 KHz"
+#define WINAMPBANDS "70 Hz,180 Hz,320 Hz,600 Hz,1 KHz,3 KHz,6 KHz,12 KHz,14 KHz,16 KHz"
+
+Class Button Eqbutton;
+Member int EqButton.setTo;
+
+Global Group frameGroup, buttongroup;
+Global Slider slidercb, Balance;
+Global Text fadertext;
+Global Button CFIncrease, CFDecrease, eqon, eqauto;
+Global ToggleButton Crossfade;
+Global GuiObject CrossfadeActive, eqonActive, eqautoActive, SongTicker;
+Global Int CrossfadeActive_Y, eqonActive_Y, eqautoActive_Y;
+Global Eqbutton btnEQp12,btnEQ0,btnEQm12;
+Global layer frequencyLabel;
+
+System.onScriptLoaded()
+{
+ buttongroup = getScriptGroup().findObject("player.cbuttons");
+ WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");
+
+ int freqmode = eqwcg.getInt("frequencies"); // returns 0 for classical winamp levels, 1 for ISO levels
+
+ frameGroup = getScriptGroup();
+ _eqGroupInit(frameGroup.findObject("info.component.eq.content"), frameGroup, 1, 0);
+ slidercb = frameGroup.findObject("sCrossfade");
+ fadertext = frameGroup.findObject("CFDisplay");
+ CFIncrease = frameGroup.findObject("CrossfadeIncrease");
+ CFDecrease = frameGroup.findObject("CrossfadeDecrease");
+ Crossfade = frameGroup.findObject("Crossfade");
+ CrossfadeActive = frameGroup.findObject("CrossfadeActive");
+ CrossfadeActive_Y = CrossfadeActive.getGuiY();
+
+ eqon = frameGroup.findObject("eqonoff");
+ eqonActive = frameGroup.findObject("eqonoffActive");
+ eqonActive_Y = eqonActive.getGuiY();
+
+ eqauto = frameGroup.findObject("eqauto");
+ eqautoActive = frameGroup.findObject("eqautoActive");
+ eqautoActive_Y = eqautoActive.getGuiY();
+
+ btnEQp12 = frameGroup.findObject("EQ_p12");
+ btnEQp12.setTo = 127;
+ btnEQ0 = frameGroup.findObject("EQ_0");
+ btnEQ0.setTo = 0;
+ btnEQm12 = frameGroup.findObject("EQ_m12");
+ btnEQm12.setTo = -127;
+
+ Balance = frameGroup.findObject("Balance");
+ SongTicker = buttongroup.getParentLayout().findObject("songticker");
+
+ frequencyLabel = frameGroup.findObject("frequency.labels");
+
+ system.onEqFreqChanged(freqmode);
+
+ slidercb.onSetPosition(slidercb.getPosition());
+
+ Crossfade.onToggle(Crossfade.getActivated());
+}
+
+Balance.onSetPosition(int newpos)
+{
+ string t=translate("Balance")+":";
+ if (newpos==127) t+= " " + translate("Center");
+ if (newpos<127) t += " " + integerToString((100-(newpos/127)*100))+"% "+translate("Left");
+ if (newpos>127) t += " " + integerToString(((newpos-127)/127)*100)+"% "+translate("Right");
+
+ SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);
+}
+
+slidercb.onSetPosition(int val)
+{
+ String s = IntegerToString(val);
+ fadertext.setText(s);
+}
+
+CFIncrease.onLeftClick()
+{
+ slidercb.SetPosition(slidercb.getPosition()+1);
+}
+
+CFDecrease.onLeftClick()
+{
+ slidercb.SetPosition(slidercb.getPosition()-1);
+}
+
+Crossfade.onToggle(boolean on)
+{
+ if (!on)
+ {
+ fadertext.setAlpha(150);
+ CFIncrease.setAlpha(150);
+ CFDecrease.setXmlParam("ghost" , "1");
+ CFDecrease.setAlpha(150);
+ CFIncrease.setXmlParam("ghost" , "1");
+ CrossfadeActive.hide();
+ }
+ else
+ {
+ fadertext.setAlpha(255);
+ CFIncrease.setAlpha(255);
+ CFDecrease.setAlpha(255);
+ CFIncrease.setXmlParam("ghost" , "0");
+ CFDecrease.setXmlParam("ghost" , "0");
+ CrossfadeActive.show();
+ }
+}
+
+Global Boolean cfDown, onDown, autoDown, manual_set;
+Crossfade.onLeftButtonDown (int x, int y)
+{
+ cfDown = 1;
+ CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y+1));
+}
+
+Crossfade.onLeftButtonUp (int x, int y)
+{
+ cfDown = 0;
+ CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y));
+}
+
+Crossfade.onleaveArea ()
+{
+ CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y));
+}
+
+Crossfade.onEnterArea ()
+{
+ if (cfDown) CrossfadeActive.setXmlParam("y", integerToString(CrossfadeActive_Y+1));
+}
+
+eqon.onEnterArea ()
+{
+ if (onDown) eqonActive.setXmlParam("y", integerToString(eqonActive_Y+1));
+}
+
+eqon.onLeftButtonDown (int x, int y)
+{
+ onDown = 1;
+ eqonActive.setXmlParam("y", integerToString(eqonActive_Y+1));
+}
+
+eqon.onLeftButtonUp (int x, int y)
+{
+ onDown = 0;
+ eqonActive.setXmlParam("y", integerToString(eqonActive_Y));
+}
+
+eqon.onleaveArea ()
+{
+ eqonActive.setXmlParam("y", integerToString(eqonActive_Y));
+}
+
+eqauto.onLeftButtonDown (int x, int y)
+{
+ autoDown = 1;
+ eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y+1));
+}
+
+eqauto.onLeftButtonUp (int x, int y)
+{
+ autoDown = 0;
+ eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y));
+}
+
+eqauto.onleaveArea ()
+{
+ eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y));
+}
+
+eqauto.onEnterArea ()
+{
+ if (autoDown) eqautoActive.setXmlParam("y", integerToString(eqautoActive_Y+1));
+}
+
+
+EqButton.onLeftClick()
+{
+ manual_set = 1;
+ for(int i=0; i<10; i++) setEqBand(i, EqButton.setTo);
+ manual_set = 0;
+}
+
+System.onEqFreqChanged (boolean isoonoff)
+{
+ if (isoonoff == 1)
+ {
+ frequencyLabel.setXmlParam("image", "equalizer.labels.iso");
+ for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(ISOBANDS,",",i));
+ }
+ else
+ {
+ frequencyLabel.setXmlParam("image", "equalizer.labels.winamp");
+ for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(WINAMPBANDS,",",i));
+ }
+}
+
+system.onEqBandChanged(int band, int value)
+{
+ if (manual_set) return;
+ String t;
+ Float f = value;
+ f = f / 10.5;
+ WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");
+ if (eqwcg.getInt("frequencies") == 1) {
+ if (f >= 0) t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");
+ else t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");
+ }
+ else {
+ if (f >= 0) t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");
+ else t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");
+ }
+
+ SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);
+}
+
+system.onEqPreampChanged(int value)
+{
+ slider s = getScriptGroup().findObject("preamp");
+ value = s.getPosition(); // Somehow this function returns a range from [-127;125] with hotpos -3, so we take the slider instead
+ String t = "EQ: " + translate("Preamp:") + " ";
+ Float f = value;
+ f = f / 10.5;
+ if (f >= 0) t += "+"+floattostring(f, 1) + " "+ translate("dB");
+ else t += floattostring(f, 1) + " "+ translate("dB");
+ SongTicker.sendAction("showinfo", t, 0, 0, 0, 0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/eq.maki b/Src/resources/skins/Big Bento/scripts/eq.maki
new file mode 100644
index 00000000..109d1b51
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/eq.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/fileinfo.m b/Src/resources/skins/Big Bento/scripts/fileinfo.m
new file mode 100644
index 00000000..b9faecb2
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/fileinfo.m
@@ -0,0 +1,1277 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: fileinfo.m
+Version: 3.3
+Type: maki
+Date: 10. Aug. 2007 - 20:42
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_windowpage.m
+
+#include <lib/com/songinfo.m>
+
+//#define DEBUG
+#define FILE_NAME "fileinfo.m"
+#include <lib/com/debug.m>
+
+#define WEBCOVER_SHOUTCAST "winamp.cover.shoutcast"
+
+Function loadFileInfo();
+Function loadPlaylistArtWork();
+Class GuiObject TextObject;
+Class GuiObject CycleObject;
+Function refreshRating(int rating);
+Class Button RatingButton;
+Function showBranding();
+Class Group Infoline;
+Function getTextHeight(InfoLine gn);
+
+Global Group scriptGroup, g_cover;
+Global AlbumArtLayer l_albumart;
+Global AlbumArtLayer AlbumArt;
+Global InfoLine g_rating, g_title, g_album, g_artist, g_year, g_genre, g_track, g_publisher, g_sname, g_surl, g_albumartist, g_composer, g_format, g_disc;
+Global InfoLine g_target;
+Global Text t_title, t_album, t_artist, t_year, t_genre, t_track, t_publisher, t_sname, t_surl, t_composer, t_albumartist, t_format, t_disc, t_rating;
+Global Timer cycler;
+// Global String stationLink = "";
+
+Global List cycle;
+Global Boolean cycler_paused, quick_change, HAVE_ML = TRUE;
+Global List ratingStars;
+
+#define CENTER_VAR Branding
+Global layer l_branding;
+#include <lib/com/centerlayer.m>
+#undef CENTER_VAR
+
+Global TextObject TextArtist, TextAlbum, TextTitle, TextGenre, TextPublisher, TextSURl, TextSname;
+Global CycleObject cycleGenre, cyclePublisher, cycleTrack, cycleYear, cycleComposer, cycleAlbumartist, cycleFormat, cycleDisc;
+
+Global RatingButton rate1, rate2, rate3, rate4, rate5, rate0;
+Global Layer star1, star2, star3, star4, star5;
+
+Global Int startwith = 0;
+Global Int artRetries = 0;
+Global Int maxlines;
+
+Global timer delayLoad;
+
+System.onScriptLoaded()
+{
+ initAttribs_windowpage();
+
+ HAVE_ML = stringToInteger(getToken(getParam(), ",", 0));
+ maxlines = stringToInteger(getToken(getParam(), ",", 1));
+
+ scriptGroup = getScriptGroup();
+
+ cycler = new Timer;
+ cycler.setDelay(4000);
+
+ delayLoad = new Timer;
+ delayLoad.setDelay(10);
+
+ //debug(getWinampVersion() + "#" + integerToString(getBuildNumber()));
+
+ g_rating = scriptGroup.findObject("infodisplay.line.rating");
+ g_title = scriptGroup.findObject("infodisplay.line.title");
+ g_album = scriptGroup.findObject("infodisplay.line.album");
+ g_artist = scriptGroup.findObject("infodisplay.line.artist");
+ g_year = scriptGroup.findObject("infodisplay.line.year");
+ g_genre = scriptGroup.findObject("infodisplay.line.genre");
+ g_track = scriptGroup.findObject("infodisplay.line.track");
+ g_publisher = scriptGroup.findObject("infodisplay.line.publisher");
+ g_sname = scriptGroup.findObject("infodisplay.line.sname");
+ g_surl = scriptGroup.findObject("infodisplay.line.surl");
+ g_composer = scriptGroup.findObject("infodisplay.line.composer");
+ g_albumartist = scriptGroup.findObject("infodisplay.line.albumartist");
+ g_format = scriptGroup.findObject("infodisplay.line.format");
+ g_disc = scriptGroup.findObject("infodisplay.line.disc");
+
+ t_title = g_title.findObject("text");
+ t_album = g_album.findObject("text");
+ t_artist = g_artist.findObject("text");
+ t_year = g_year.findObject("text");
+ t_genre = g_genre.findObject("text");
+ t_track = g_track.findObject("text");
+ t_Publisher = g_publisher.findObject("text");
+ t_sname = g_sname.findObject("text");
+ t_surl = g_surl.findObject("text");
+ t_albumartist = g_albumartist.findObject("text");
+ t_composer = g_composer.findObject("text");
+ t_format = g_format.findObject("text");
+ t_disc = g_disc.findObject("text");
+
+ textArtist = g_artist.findObject("text");
+ textAlbum = g_album.findObject("text");
+ textTitle = g_title.findObject("text");
+ textsUrl = g_surl.findObject("text");
+ textSname = g_sname.findObject("text");
+ cycleGenre = g_genre.findObject("link");
+ cyclePublisher = g_publisher.findObject("link");
+ cycleTrack = g_track.findObject("link");
+ cycleYear = g_year.findObject("link");
+ cycleAlbumartist = g_albumartist.findObject("text");
+ cycleComposer = g_composer.findObject("text");
+ cycleFormat = g_format.findObject("link");
+ cycleDisc = g_disc.findObject("link");
+
+ cycle = new List;
+ ratingStars = new List;
+
+ group parent = scriptGroup.getParent();
+ l_branding = parent.findObject("branding");
+ g_cover = parent.findObject("info.component.cover");
+ _BrandingInit(l_branding, parent, 1, 0);
+
+ l_albumart = g_cover.getObjecT("winamp.albumart");
+
+ rate1 = g_rating.findObject("rate.1");
+ rate2 = g_rating.findObject("rate.2");
+ rate3 = g_rating.findObject("rate.3");
+ rate4 = g_rating.findObject("rate.4");
+ rate5 = g_rating.findObject("rate.5");
+ rate0 = g_rating.findObject("rate.0");
+ ratingStars.addItem(rate1);
+ ratingStars.addItem(rate2);
+ ratingStars.addItem(rate3);
+ ratingStars.addItem(rate4);
+ ratingStars.addItem(rate5);
+
+ star1 = g_rating.findObject("star.1");
+ star2 = g_rating.findObject("star.2");
+ star3 = g_rating.findObject("star.3");
+ star4 = g_rating.findObject("star.4");
+ star5 = g_rating.findObject("star.5");
+
+ t_rating = g_rating.findObject("label");
+ t_rating.onTextChanged ("");
+
+ refreshRating(System.getCurrentTrackRating());
+ loadFileInfo();
+ if (ic_fileinfo.getData() == "1")
+ {
+ if (getStatus() == STATUS_STOPPED && songinfo_location == "") showBranding(); // show branding if playback is stopped and the playlist is empty
+ if (removePath(getPlayItemString()) == "demo.mp3") // Show branding if playing DJ Mike
+ {
+ if (getPlayitemmetadatastring("artist") == "DJ Mike Llama" && getplayitemmetadatastring("title") == "Llama Whippin' Intro")
+ {
+ showBranding();
+ }
+ }
+ }
+}
+
+System.onScriptUnloading ()
+{
+ cycler.stop();
+ delete cycler;
+
+ delayLoad.stop();
+ delete delayLoad;
+}
+
+// Reload fileInfo if track has changed
+
+delayLoad.onTimer()
+{
+ System.onTitleChange (getPlayItemString());
+
+ delayLoad.stop();
+}
+
+System.onTitleChange (String newtitle)
+{
+ // Get rid of "" calls
+ if (newtitle == "" && getplayitemmetadatastring("title") == "" && !delayLoad.isRunning())
+ {
+ delayLoad.start();
+ }
+
+ // Get rid of buffering during stream connection & playback
+ if (StrLeft(newtitle, 1) == "[") {
+ if (StrLeft(newtitle, 7) == "[Buffer" || StrLeft(newtitle, 4) == "[ICY") return;
+ }
+ // Show branding for DJ Mike
+ if (removePath(getPlayItemString()) == "demo.mp3")
+ {
+ if (getPlayitemmetadatastring("artist") == "DJ Mike Llama" && getplayitemmetadatastring("title") == "Llama Whippin' Intro")
+ {
+ showBranding();
+ return;
+ }
+ }
+
+ debugString(DEBUG_PREFIX "System.onTitleChange() -> loadFileInfo();", D_WTF);
+ refreshRating(System.getCurrentTrackRating());
+ loadFileInfo();
+}
+
+// Reload fileInfo if textline attribs have changed
+
+InfoLineAttribute.onDataChanged ()
+{
+ if (l_branding.isVisible()) return;
+ loadFileInfo ();
+}
+
+/*l_albumart.onAlbumArtLoaded(boolean success)
+{
+ if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
+ {
+ if(!l_albumart.isInvalid())
+ {
+ l_albumart.show();
+ l_webcover.hide();
+ }
+ }
+}*/
+
+//----------------------------------------------------------------------------------------------------------------
+// Our main machine.
+//----------------------------------------------------------------------------------------------------------------
+
+loadPlaylistArtWork()
+{
+ Group g_cover2;
+ Container player;
+ Frame dualwnd, pl_dualwnd, mainframe;
+ Layout mainframe;
+
+ player = getContainer("main");
+ if(player)
+ {
+ mainframe=player.getLayout("normal");
+ if(mainframe)
+ {
+ dualwnd = mainframe.findObject("player.dualwnd");
+ if(dualwnd)
+ {
+ pl_dualwnd = dualwnd.findObject("playlist.dualwnd");
+ if(pl_dualwnd)
+ {
+ g_cover2 = pl_dualwnd.findObject("player.component.playlist.albumart");
+ if(g_cover2)
+ {
+ AlbumArt = g_cover2.findObject("winamp.albumart");
+ }
+ }
+ }
+ }
+ }
+}
+
+loadFileInfo ()
+{
+ songinfo_reload(); // refresh vars
+ debugString(DEBUG_PREFIX "loadFileInfo() {", D_WTF);
+ debugString(DEBUG_PREFIX " songinfo_location: " + songinfo_location, D_WTF);
+ debugString(DEBUG_PREFIX " songinfo_displayTitle: " + songinfo_displayTitle, D_WTF);
+
+ // cancel g_target
+ if (g_target) g_target.cancelTarget();
+ if (g_target) g_target.setAlpha(255);
+ g_target = NULL;
+
+ // hide all lines and cycle buttons
+ g_rating.hide();
+ g_title.hide();
+ g_album.hide();
+ g_artist.hide();
+ g_year.hide();
+ g_genre.hide();
+ l_branding.hide();
+ g_track.hide();
+ g_publisher.hide();
+ g_cover.setAlpha(255);
+ g_surl.hide();
+ g_sname.hide();
+ g_albumartist.hide();
+ g_composer.hide();
+ g_format.hide();
+ g_disc.hide();
+ cycleTrack.hide();
+ cycleGenre.hide();
+ cyclePublisher.hide();
+ cycleFormat.hide();
+ cycleYear.hide();
+ cycleDisc.hide();
+ cycler.stop();
+ cycler_paused = 0;
+// stationLink = "";
+
+ artRetries = 0;
+ l_albumart.setXMLParam("notfoundImage", "winamp.cover.notfound.xxl");
+
+ Boolean _cycle = (infocomp_cycle.getData() == "1");
+ Boolean _rating = (infocomp_show_rating.getData() == "1");
+
+ // empty cycle list
+ cycle.removeAll();
+
+ int pos = 1;
+
+ if (maxlines > 5)
+ {
+ pos += 2;
+ }
+
+ int n = 0;
+
+ debugString(DEBUG_PREFIX " songinfo_streamName: " + songinfo_streamName, D_WTF);
+ debugString(DEBUG_PREFIX " songinfo_streamType: " + integerToString(songinfo_streamType), D_WTF);
+ if (songinfo_isStream)
+ {
+ debugString(DEBUG_PREFIX " -> A stream is detected!", D_WTF);
+
+ debugString(DEBUG_PREFIX " songinfo_artist: " + songinfo_artist, D_WTF);
+ debugString(DEBUG_PREFIX " songinfo_title: " + songinfo_title, D_WTF);
+
+ if (songinfo_title != "")
+ {
+ // Title
+ if (n > 0) pos += getTextHeight(g_title);
+ t_title.setText(songinfo_title);
+ g_title.setXmlParam("y", integerToString(pos));
+ g_title.show();
+ n++;
+ cycle.addItem(g_title);
+
+ // Artist
+ if (songinfo_artist != "")
+ {
+ if (n > 0) pos += getTextHeight(g_artist);
+ t_artist.setText(songinfo_artist);
+ g_artist.setXmlParam("y", integerToString(pos));
+ g_artist.show();
+ n++;
+ cycle.addItem(g_artist);
+ }
+ }
+ else
+ {
+ debugString(DEBUG_PREFIX " songinfo_streamtitle: " + songinfo_streamtitle, D_WTF);
+ if (songinfo_streamtitle != "")
+ {
+ int v = strsearch(songinfo_streamtitle, " - ");
+ if (v > 0) {
+ string s1 = strleft (songinfo_streamtitle, v);
+ string s2 = strright (songinfo_streamtitle, strlen(songinfo_streamtitle) - 3 - v);
+
+ // Title
+ if (n > 0) pos += getTextHeight(g_title);
+ t_title.setText(s2);
+ g_title.setXmlParam("y", integerToString(pos));
+ g_title.show();
+ n++;
+ cycle.addItem(g_title);
+
+ // Artist
+ if (n > 0) pos += getTextHeight(g_artist);
+ if (songinfo_artist == "") t_artist.setText(s1);
+ else t_artist.setText(songinfo_artist);
+ g_artist.setXmlParam("y", integerToString(pos));
+ g_artist.show();
+ n++;
+ cycle.addItem(g_artist);
+ }
+ else
+ {
+ // Title
+ if (n > 0) pos += getTextHeight(g_title);
+ t_title.setText(songinfo_streamtitle);
+ g_title.setXmlParam("y", integerToString(pos));
+ g_title.show();
+ n++;
+ cycle.addItem(g_title);
+
+ // Artist
+ if (songinfo_artist != "") {
+ if (n > 0) pos += getTextHeight(g_artist);
+ t_artist.setText(songinfo_artist);
+ g_artist.setXmlParam("y", integerToString(pos));
+ g_artist.show();
+ n++;
+ cycle.addItem(g_artist);
+ }
+ }
+ }
+ }
+
+ // Stream Album
+ debugString(DEBUG_PREFIX " songinfo_album: " + songinfo_album, D_WTF);
+ if (songinfo_album != "")
+ {
+ if (n > 0) pos += getTextHeight(g_album);
+ t_album.setText(songinfo_album);
+ g_album.setXmlParam("y", integerToString(pos));
+ g_album.show();
+ n++;
+ cycle.addItem(g_album);
+ }
+
+ // Stream Genre
+ String s = getPlayItemMetaDataString("streamgenre");
+ debugString(DEBUG_PREFIX " System.getPlayItemMetaDataString(streamgenre): " + s, D_WTF);
+ if (s != "")
+ {
+ t_genre.setText(s);
+ cycleGenre.setXmlParam("w", "0");
+ cycle.addItem(g_genre);
+ if (n > 0) pos += getTextHeight(g_genre);
+ g_genre.setXmlParam("y", integerToString(pos));
+ g_genre.show();
+ n++;
+ }
+
+ // Set Stream Name
+ if (songinfo_streamName != "")
+ {
+ if (n > 0) pos += getTextHeight(g_sname);
+ t_sname.setText(songinfo_streamName);
+ g_sname.setXmlParam("y", integerToString(pos));
+ g_sname.show();
+ n++;
+ cycle.addItem(g_sname);
+ }
+
+ // Stream URL (only visible if we have less than 4 lines till now)
+ debugString(DEBUG_PREFIX " songinfo_streamURL: " + songinfo_streamURL, D_WTF);
+ if (songinfo_streamURL != "")
+ {
+ if (n > 0) pos += getTextHeight(g_surl);
+ t_surl.setText(songinfo_streamURL);
+ g_surl.setXmlParam("y", integerToString(pos));
+ g_surl.show();
+ n++;
+ cycle.addItem(g_surl);
+ }
+
+ // setCover either from a supplied url or from in-stream artwork or default to a generic image
+ if (songinfo_streamAlbumArt != "")
+ {
+ debugString(DEBUG_PREFIX " songinfo_streamAlbumArt: " + songinfo_streamAlbumArt, D_WTF);
+ l_albumart.setXMLParam("image", songinfo_streamAlbumArt);
+ l_albumart.setXMLParam("notfoundImage", "winamp.cover.notfound.xxl");
+ }
+
+ if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST || songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
+ {
+ if(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2)
+ {
+ if(l_albumart.isInvalid() && artRetries < 3)
+ {
+ if(!artRetries)
+ {
+ l_albumart.setXMLParam("notfoundImage", WEBCOVER_SHOUTCAST);
+ }
+ artRetries += 1;
+ l_albumart.refresh();
+ if(!AlbumArt) loadPlaylistArtWork();
+ if(AlbumArt) AlbumArt.refresh();
+ }
+ }
+ else
+ {
+ l_albumart.setXMLParam("notfoundImage", WEBCOVER_SHOUTCAST);
+ }
+ }
+ }
+
+ // ---------- Local Info ----------
+ else
+ {
+ debugString(DEBUG_PREFIX " -> No stream is detected! we do the normal procedure", D_WTF);
+ string s = songinfo_title;
+ if (s == "") songinfo_displayTitle;
+ if (s != "")
+ {
+ t_title.setText(s);
+ g_title.setXmlParam("y", integerToString(pos));
+ g_title.show();
+ n++;
+ cycle.addItem(g_title);
+ }
+
+ if (songinfo_artist != "")
+ {
+ if (n > 0) pos += getTextHeight(g_artist);
+ t_artist.setText(songinfo_artist);
+ g_artist.setXmlParam("y", integerToString(pos));
+ g_artist.show();
+ n++;
+ cycle.addItem(g_artist);
+ }
+
+ if (songinfo_album != "")
+ {
+ if (n > 0) pos += getTextHeight(g_album);
+ t_album.setText(songinfo_album);
+ g_album.setXmlParam("y", integerToString(pos));
+ g_album.show();
+ n++;
+ cycle.addItem(g_album);
+ }
+
+ if (infocomp_show_track.getData() == "1")
+ {
+ s = getPlayitemMetaDataString("track");
+ if (s != "" && s != "-1")
+ {
+ // if tracknumber is like 1/9 we display 1 of 9
+ if (strsearch(s, "/") != -1)
+ {
+ s = getToken(s, "/", 0) + translate(" of ") + getToken(s, "/", 1);
+ }
+ if (n > 0) pos += getTextHeight(g_track);
+ t_track.setText(s);
+ g_track.setXmlParam("y", integerToString(pos));
+ g_track.show();
+ n++;
+ cycle.addItem(g_track);
+ }
+ }
+
+ if (infocomp_show_year.getData() == "1")
+ {
+ s = getPlayItemMetaDataString("year");
+ if (s != "")
+ {
+ t_year.setText(s);
+ cycle.addItem(g_year);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_year);
+ g_year.setXmlParam("y", integerToString(pos));
+ g_year.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ cycleYear.show();
+ g_year.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "year")
+ {
+ if (g_Track.getGuiY() == pos) g_track.hide();
+ startwith = cycle.getNumitems() - 1;
+ g_year.show();
+ }
+ }
+ }
+ }
+
+ if (infocomp_show_genre.getData() == "1")
+ {
+ s = getPlayItemMetaDataString("genre");
+ if (s != "")
+ {
+ t_genre.setText(s);
+ cycle.addItem(g_genre);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_genre);
+ g_genre.setXmlParam("y", integerToString(pos));
+ g_genre.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ if (g_year.getGuiY() == pos) cycleYear.show();
+ cycleGenre.show();
+ g_genre.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "genre")
+ {
+ if (g_Track.getGuiY() == pos) g_Track.hide();
+ if (g_year.getGuiY() == pos) g_year.hide();
+ startwith = cycle.getNumitems() - 1;
+ g_genre.show();
+ }
+ }
+ }
+ }
+
+ if (infocomp_show_disc.getData() == "1")
+ {
+ s = getPlayItemMetaDataString("disc");
+ if (s != "")
+ {
+ t_disc.setText(s);
+ cycle.addItem(g_disc);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_disc);
+ g_disc.setXmlParam("y", integerToString(pos));
+ g_disc.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ if (g_year.getGuiY() == pos) cycleYear.show();
+ if (g_genre.getGuiY() == pos) cycleGenre.show();
+ cycleDisc.show();
+ g_disc.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "disc")
+ {
+ if (g_Track.getGuiY() == pos) g_Track.hide();
+ if (g_year.getGuiY() == pos) g_year.hide();
+ if (g_genre.getGuiY() == pos) g_genre.hide();
+ startwith = cycle.getNumitems() - 1;
+ g_disc.show();
+ }
+ }
+ }
+ }
+
+ if (infocomp_show_albumartist.getData() == "1")
+ {
+ s = getPlayItemMetaDataString("albumartist");
+ if (s != "")
+ {
+ t_albumartist.setText(s);
+ cycle.addItem(g_albumartist);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_albumartist);
+ g_albumartist.setXmlParam("y", integerToString(pos));
+ g_albumartist.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ if (g_year.getGuiY() == pos) cycleYear.show();
+ if (g_genre.getGuiY() == pos) cycleGenre.show();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ cycleAlbumartist.show();
+ g_albumartist.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "albumartist")
+ {
+ if (g_Track.getGuiY() == pos) g_Track.hide();
+ if (g_year.getGuiY() == pos) g_year.hide();
+ if (g_genre.getGuiY() == pos) g_genre.hide();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ startwith = cycle.getNumitems() - 1;
+ g_albumartist.show();
+ }
+ }
+ }
+ }
+
+ if (infocomp_show_composer.getData() == "1")
+ {
+ s = getPlayItemMetaDataString("composer");
+ if (s != "")
+ {
+ t_composer.setText(s);
+ cycle.addItem(g_composer);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_composer);
+ g_composer.setXmlParam("y", integerToString(pos));
+ g_composer.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ if (g_year.getGuiY() == pos) cycleYear.show();
+ if (g_genre.getGuiY() == pos) cycleGenre.show();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ if (g_albumartist.getGuiY() == pos) cycleAlbumartist.show();
+ cycleComposer.show();
+ g_composer.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "composer")
+ {
+ if (g_Track.getGuiY() == pos) g_Track.hide();
+ if (g_year.getGuiY() == pos) g_year.hide();
+ if (g_genre.getGuiY() == pos) g_genre.hide();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ if (g_albumartist.getGuiY() == pos) g_albumartist.hide();
+ startwith = cycle.getNumitems() - 1;
+ g_composer.show();
+ }
+ }
+ }
+ }
+
+ if (infocomp_show_publisher.getData() == "1")
+ {
+ s = getPlayItemMetaDataString("publisher");
+ if (s != "")
+ {
+ t_publisher.setText(s);
+ cycle.addItem(g_publisher);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_publisher);
+ g_publisher.setXmlParam("y", integerToString(pos));
+ g_publisher.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ if (g_year.getGuiY() == pos) cycleYear.show();
+ if (g_genre.getGuiY() == pos) cycleGenre.show();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ if (g_albumartist.getGuiY() == pos) cycleAlbumartist.show();
+ if (g_composer.getGuiY() == pos) cycleComposer.show();
+ cyclePublisher.show();
+ g_publisher.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "publisher")
+ {
+ if (g_Track.getGuiY() == pos) g_Track.hide();
+ if (g_year.getGuiY() == pos) g_year.hide();
+ if (g_genre.getGuiY() == pos) g_genre.hide();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ if (g_albumartist.getGuiY() == pos) g_albumartist.hide();
+ if (g_composer.getGuiY() == pos) g_composer.hide();
+ startwith = cycle.getNumitems() - 1;
+ g_publisher.show();
+ }
+ }
+ }
+ }
+
+ if (infocomp_show_format.getData() == "1")
+ {
+ s = system.getDecoderName(system.getPlayItemString());
+ if (s != "")
+ {
+ t_format.setText(s);
+ cycle.addItem(g_format);
+ if ((!_rating && n < maxlines) || (_rating && n < maxlines-1))
+ {
+ if (n > 0) pos += getTextHeight(g_format);
+ g_format.setXmlParam("y", integerToString(pos));
+ g_format.show();
+ n++;
+ }
+ else
+ {
+ if (g_Track.getGuiY() == pos) cycleTrack.show();
+ if (g_year.getGuiY() == pos) cycleYear.show();
+ if (g_genre.getGuiY() == pos) cycleGenre.show();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ if (g_disc.getGuiY() == pos) cycleDisc.show();
+ if (g_albumartist.getGuiY() == pos) cycleAlbumartist.show();
+ if (g_composer.getGuiY() == pos) cycleComposer.show();
+ if (g_publisher.getGuiY() == pos) cyclePublisher.show();
+ cycleFormat.show();
+ g_format.setXmlParam("y", integerToString(pos));
+ if (_cycle) cycler.start();
+ else if (getPrivateString (getSkinName(), "FileInfo_usersel", "") == "format")
+ {
+ if (g_Track.getGuiY() == pos) g_Track.hide();
+ if (g_year.getGuiY() == pos) g_year.hide();
+ if (g_genre.getGuiY() == pos) g_genre.hide();
+ if (g_albumartist.getGuiY() == pos) g_albumartist.hide();
+ if (g_composer.getGuiY() == pos) g_composer.hide();
+ if (g_publisher.getGuiY() == pos) g_publisher.hide();
+ startwith = cycle.getNumitems() - 1;
+ g_format.show();
+ }
+ }
+ }
+ }
+
+ // check the media library status as well as input plug-in support
+ // to help determine if we show the rating control or not for here
+ if (_rating)
+ {
+ if (!HAVE_ML)
+ {
+ s = getPlayitemMetaDataString("rateable");
+ if (s != "" && s == "1")
+ {
+ if (n > 0) pos += getTextHeight(g_rating);
+ g_rating.setXmlParam("y", integerToString(pos));
+ g_rating.show();
+ }
+ } else {
+ if (n > 0) pos += getTextHeight(g_rating);
+ g_rating.setXmlParam("y", integerToString(pos));
+ g_rating.show();
+ }
+ }
+ }
+
+ if (n==0)
+ {
+ showBranding();
+ }
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// Item Cycler: Only active if we have more items to display as lines
+// if you click on a cycle line, this group is saved as g_target
+//----------------------------------------------------------------------------------------------------------------
+
+cycler.onTimer ()
+{
+ // Important: stop the cycler if branding is visible
+ if (l_branding.isvisible()) cycler.stop();
+ if (infocomp_cycle.getData() == "0" && !quick_change) { cycler.stop(); return; }
+
+ // g_target is defined --> we save the currently shown line as g_target
+ if (!g_target)
+ {
+ // check if rating is visible...
+ if (infocomp_show_rating.getData() == "1")
+ {
+ // if auto-cycler is disabled, and not the default line is shown, the line number is stored in startwith.
+ if (startwith)
+ {
+ // resort the cycle list and set startwith to 0
+ for ( int i = maxlines-2; i < startwith; i++ )
+ {
+ g_target = cycle.enumItem(maxlines-2);
+ cycle.removeItem(maxlines-2);
+ cycle.addItem(g_target);
+ }
+ startwith = 0;
+ }
+
+ // save g_target and remove from cycle
+ g_target = cycle.enumItem(maxlines-2);
+ cycle.removeItem(maxlines-2);
+ }
+ else
+ {
+ if (startwith)
+ {
+ for ( int i = maxlines-1; i < startwith; i++ )
+ {
+ g_target = cycle.enumItem(maxlines-1);
+ cycle.removeItem(maxlines-1);
+ cycle.addItem(g_target);
+ }
+ startwith = 0;
+ }
+ g_target = cycle.enumItem(maxlines-1);
+ cycle.removeItem(maxlines-1);
+ }
+ // put g_target at the end of cycle
+ cycle.addItem(g_target);
+ }
+
+ // otherwise g_target is the last item of cycle
+ else g_target = cycle.enumItem(cycle.getNumItems()-1);
+
+ // TODO verify fix from pieter!
+ if (g_target == null)
+ return;
+
+
+ // fade out g_target
+ g_target.setTargetA(0);
+ g_target.setTargetY(g_target.getGuiY());
+ if (!quick_change) g_target.setTargetSpeed(0.25); // fade or quick show/hide
+ else g_target.setTargetSpeed(0);
+ g_target.gotoTarget();
+}
+
+g_target.onTargetReached ()
+{
+ if (g_target.getAlpha() == 0)
+ {
+ // setback g_target to default values
+ g_target.hide();
+ g_target.setAlpha(255);
+ // detect if rating stars are visible and store the line tb shown in g_target
+ if (infocomp_show_rating.getData() == "1")
+ {
+ g_target = cycle.enumItem(maxlines-2);
+ cycle.removeItem(maxlines-2);
+ }
+ else
+ {
+ g_target = cycle.enumItem(maxlines-1);
+ cycle.removeItem(maxlines-1);
+ }
+ // better set g-target alpha to 0 and, show this line and fade in
+ g_target.setAlpha(0);
+ g_target.show();
+ g_target.setTargetA(255);
+ g_target.setTargetY(getGuiY());
+ if (!quick_change) g_target.setTargetSpeed(0.25); // fade or quick show/hide
+ else
+ {
+ g_target.setTargetSpeed(0);
+ string v = getToken(g_target.getID(), ".", 2);
+ setPrivateString (getSkinName(), "FileInfo_usersel", v); // save current line
+ }
+ g_target.gotoTarget();
+ // add g_target to end of cycle
+ cycle.addItem(g_target);
+ if (infocomp_cycle.getData() == "1" && !cycler.isRunning()) cycler.start(); // check if we should start cycler
+ quick_change = 0;
+ }
+}
+
+// Automatic cycling through items on/off
+infocomp_cycle.onDataChanged ()
+{
+ if (l_branding.isVisible()) return;
+ if (getData() == "1")
+ {
+ if (cycler_paused) cycler.start();
+ else loadFileInfo();
+ cycler_paused = 0;
+ }
+ else
+ {
+ if (cycler.isRunning()) cycler_paused = 1;
+ cycler.stop();
+ if (g_track.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "track");
+ else if (g_year.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "year");
+ else if (g_genre.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "genre");
+ else if (g_publisher.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "publisher");
+ else if (g_albumartist.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "albumartist");
+ else if (g_composer.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "composer");
+ else if (g_format.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "format");
+ else if (g_disc.isVisible()) setPrivateString (getSkinName(), "FileInfo_usersel", "disc");
+ }
+}
+
+// Visual Stuff
+CycleObject.onEnterArea ()
+{
+ CycleObject.getParent().findObject("label").setAlpha(255);
+}
+
+CycleObject.onLeaveArea ()
+{
+ CycleObject.getParent().findObject("label").setAlpha(180);
+}
+
+CycleObject.onLeftButtonDown (int x, int y)
+{
+ CycleObject.getParent().findObject("label").setAlpha(220);
+}
+
+CycleObject.onLeftButtonUp (int x, int y)
+{
+ if (getAlpha() < 255) return;
+
+ setAlpha(255);
+
+ if (quick_change) return;
+ quick_change = 1;
+
+ cycler.onTimer ();
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// If user clicks on a link item (artist, album, title), let's start a web search
+// Therefore we will send an action to the group "sui.content". This action is either "browser_navigate" or
+// "browser_search". This action is then proccessed by suicore.maki (showing browser) and then (again) delivered
+// to browser.maki (from suicore.maki)
+//----------------------------------------------------------------------------------------------------------------
+
+/*
+
+LinkObject.onEnterArea ()
+{
+ LinkObject.getParent().findObject("label").setAlpha(255);
+}
+
+LinkObject.onLeaveArea ()
+{
+ LinkObject.getParent().findObject("label").setAlpha(180);
+}
+
+LinkObject.onLeftButtonDown (int x, int y)
+{
+ LinkObject.getParent().findObject("label").setAlpha(220);
+}
+
+LinkObject.onLeftButtonUp (int x, int y)
+{
+ if (getAlpha() < 255) return;
+
+ setAlpha(255);
+
+ // 5.56: special handling for url/streamname
+ if (LinkObject == linkSurl || LinkObject == linkSname)
+ {
+ String nav = t_surl.getText();
+ group sui = scriptGroup.getParentLayout().findObject("sui.content");
+ if (nav != "")
+ {
+ sui.sendAction ("browser_navigate", nav, 0, 0, 0, 0);
+ return;
+ }
+ }
+
+ string s;
+ if (infocomp_browser.getData() == "1")
+ {
+ if (LinkObject == linkArtist) s = t_artist.getText();
+ if (LinkObject == linkAlbum) s = t_artist.getText() + " " + t_album.getText();
+ if (LinkObject == linkTitle) s = t_artist.getText() + " " + t_title.getText();
+
+ if (s == "") return;
+
+ group sui = scriptGroup.getParentLayout().findObject("sui.content");
+ sui.sendAction ("browser_search", s, 0, 0, 0, 0);
+
+ return;
+ }
+
+ if (stationLink != "" && ( LinkObject == linkSname || LinkObject == linkSurl))
+ {
+ group sui = scriptGroup.getParentLayout().findObject("sui.content");
+ sui.sendAction ("browser_navigate", stationLink, 0, 0, 0, 0);
+
+ return;
+ }
+
+ String icid = "fileinfotitle";
+ if (LinkObject == linkArtist) icid = "fileinfoartist";
+ if (LinkObject == linkAlbum) icid = "fileinfoalbum";
+
+ String artist = t_artist.getText();
+ if (artist == "") return;
+ System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?artistName=" + artist);
+}
+
+*/
+
+//----------------------------------------------------------------------------------------------------------------
+// Rating System
+//----------------------------------------------------------------------------------------------------------------
+
+System.onCurrentTrackRated (int rating)
+{
+ refreshRating(rating);
+}
+
+RatingButton.onLeftButtonDown (int x, int y)
+{
+ RatingButton.setAlpha(255);
+ RatingButton.getParent().findObject("label").setAlpha(220);
+}
+
+RatingButton.onleftClick ()
+{
+ int rating = stringToInteger(getToken(getId(), ".", 1));
+ refreshRating(rating);
+ setCurrentTrackRating(rating);
+ for ( int i = 1; i <= rating; i++ )
+ {
+ guiobject o = ratingStars.enumItem(i-1);
+ o.setAlpha(255);
+ }
+}
+
+RatingButton.onEnterArea ()
+{
+ RatingButton.getParent().findObject("label").setAlpha(255);
+
+ int pos = stringToInteger(getToken(getId(), ".", 1));
+ int rating = System.getCurrentTrackRating();
+
+ star1.hide();
+ star2.hide();
+ star3.hide();
+ star4.hide();
+ star5.hide();
+
+ if (pos >= 1) star1.show();
+ if (pos >= 2) star2.show();
+ if (pos >= 3) star3.show();
+ if (pos >= 4) star4.show();
+ if (pos >= 5) star5.show();
+
+ if (pos > rating)
+ {
+ for ( int i = 1; i <= 5; i++ )
+ {
+ guiobject o = ratingStars.enumItem(i-1);
+ if ( i > pos || i <= rating)
+ {
+ o.setAlpha(255);
+ }
+ else
+ {
+ o.setAlpha(0);
+ }
+ }
+ }
+ else
+ {
+ rate1.setAlpha(255);
+ rate2.setAlpha(255);
+ rate3.setAlpha(255);
+ rate4.setAlpha(255);
+ rate5.setAlpha(255);
+ }
+}
+
+RatingButton.onLeaveArea ()
+{
+ RatingButton.getParent().findObject("label").setAlpha(180);
+
+ star1.hide();
+ star2.hide();
+ star3.hide();
+ star4.hide();
+ star5.hide();
+ rate1.setAlpha(255);
+ rate2.setAlpha(255);
+ rate3.setAlpha(255);
+ rate4.setAlpha(255);
+ rate5.setAlpha(255);
+}
+
+refreshRating (int rating)
+{
+ rate1.setActivated(rating >= 1);
+ rate2.setActivated(rating >= 2);
+ rate3.setActivated(rating >= 3);
+ rate4.setActivated(rating >= 4);
+ rate5.setActivated(rating >= 5);
+}
+
+RatingButton.onRightButtonUp (int x, int y)
+{
+ popupmenu rmenu = new popupmenu;
+ rmenu.addcommand("Remove Rating", 1, 0,0);
+ int result = rmenu.popAtMouse();
+ if (result == 1)
+ {
+ setCurrentTrackRating(0);
+ refreshRating(0);
+ }
+ complete;
+}
+
+t_rating.onTextChanged (String newtxt)
+{
+ int w = t_rating.getAutoWidth();
+
+ group g = g_rating.findObject("infodisplay.line.rating.stars");
+ g.setXmlParam("x", integerToString(w));
+ g.setXmlParam("w", integerToString(-w));
+ rate0.setXmlParam("w", integerToString(w));
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// Winamp Branding
+//----------------------------------------------------------------------------------------------------------------
+
+showBranding()
+{
+ // stop cycler and hide all infolines
+ cycler.stop();
+ g_cover.setAlpha(0);
+ g_rating.hide();
+ g_title.hide();
+ g_album.hide();
+ g_artist.hide();
+ g_year.hide();
+ g_genre.hide();
+ g_track.hide();
+ g_publisher.hide();
+ g_composer.hide();
+ g_format.hide();
+ g_albumartist.hide();
+ g_surl.hide();
+ g_sname.hide();
+ g_disc.hide();
+
+ if (ic_vis_fileinfo.getData() == "1")
+ {
+ _BrandingsetXSpace((g_cover.getGuiW() + 2) / 2);
+ _BrandingsetWSpace(-2);
+ }
+ else
+ {
+ _BrandingsetXSpace(2);
+ _BrandingsetWSpace(-2);
+ }
+ _BrandinghandleResize();
+ l_branding.show();
+}
+
+_BrandingsizeError (boolean iserror)
+{
+ if (iserror)
+ {
+ l_branding.setAlpha(0);
+ }
+ else
+ {
+ l_branding.setAlpha(255);
+ }
+}
+
+// Hide branding of we start playback
+System.onPlay ()
+{
+ if (ic_fileinfo.getData() == "1" && removePath(getPlayItemString()) == "demo.mp3")
+ {
+ if (getPlayitemmetadatastring("artist") == "DJ Mike Llama" && getplayitemmetadatastring("title") == "Llama Whippin' Intro")
+ {
+ showBranding();
+ return;
+ }
+ }
+ refreshRating(System.getCurrentTrackRating());
+ loadFileInfo();
+}
+
+ic_fileinfo.onDataChanged ()
+{
+ if (getData() == "0")
+ {
+ cycler.stop();
+ l_branding.hide();
+ }
+ else if (l_branding.isVisible())
+ {
+ showBranding();
+ }
+ else
+ {
+ loadFileInfo();
+ }
+}
+
+ic_cover_fileinfo.onDataChanged ()
+{
+ if (l_branding.isVisible())
+ {
+ showBranding();
+ }
+}
+
+ic_vis_fileinfo.onDataChanged ()
+{
+ if (l_branding.isVisible())
+ {
+ showBranding();
+ }
+}
+
+getTextHeight (InfoLine gn)
+{
+ return stringToInteger(gn.getXmlParam("h"));
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/fileinfo.maki b/Src/resources/skins/Big Bento/scripts/fileinfo.maki
new file mode 100644
index 00000000..e2eaa995
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/fileinfo.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/gen_dropbox.m b/Src/resources/skins/Big Bento/scripts/gen_dropbox.m
new file mode 100644
index 00000000..c5834017
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/gen_dropbox.m
@@ -0,0 +1,145 @@
+#include <lib/std.mi>
+
+#define GUID_DROPBOX "{E2E4AD32-D87B-4B9E-BF58-46A1336DDC8F}"
+#define GUID_DROPBOX_ "{E2E4AD32-D87B-4b9e-BF58-46A1336DDC8F}"
+#define USE_BIG_HACK
+
+Global Frame dualwnd;
+Global Group sui_window;
+Global Group dropbox;
+
+Global Timer box_tmr;
+Global windowholder dropbox_wdh;
+
+Global Container main;
+
+Global int MIN_WIDTH;
+
+System.onScriptLoaded ()
+{
+ dualwnd = getScriptGroup().findObject("wdh.ml.dualwnd");
+ sui_window = getScriptGroup().getParentLayout().findObject("sui.content");
+ dropbox = dualwnd.findObject("wdh.ml.dualwnd.dropbox");
+ dropbox_wdh = dropbox.findObject("wdh");
+
+ main = dropbox.getParentLayout().getContainer();
+
+ //showWindow(GUID_DROPBOX, "", false);
+
+ MIN_WIDTH = stringToInteger(dualwnd.getXmlParam("minwidth"));
+ dualwnd.setXmlParam("resizable", "0");
+ dualwnd.setPosition(0);
+
+ box_tmr = new Timer;
+ box_tmr.setDelay(1);
+}
+
+System.onScriptUnloading ()
+{
+ delete box_tmr;
+
+ int w = dualwnd.getPosition();
+ if (w >= MIN_WIDTH)
+ {
+ setPrivateInt(getSkinName(), "gen_dropbox_poppler", w);
+ }
+}
+#ifdef 0
+Global Boolean gettingclosed;
+
+System.onGetCancelComponent (String guid, boolean goingvisible)
+{
+
+ if (guid != GUID_DROPBOX)
+ {
+ return FALSE;
+ }
+
+ if (goingvisible && !gettingclosed)
+ {
+ box_tmr.start();
+ return TRUE;
+ }
+ else
+ {
+ if (gettingclosed)
+ {
+ gettingclosed = false;
+ }
+ else
+ {
+
+ /*int w = dualwnd.getPosition();
+ if (w >= MIN_WIDTH)
+ {
+ setPrivateInt(getSkinName(), "gen_dropbox_poppler", w);
+ }
+ dualwnd.setXmlParam("resizable", "0");
+ dualwnd.setPosition(0);*/
+ }
+
+
+ }
+
+
+ RETURN FALSE;
+}
+
+box_tmr.onTimer ()
+{
+ box_tmr.stop();
+ int w = getPrivateInt(getSkinName(), "gen_dropbox_poppler", 200);
+ if (w < MIN_WIDTH)
+ w = MIN_WIDTH;
+
+ dualwnd.setXmlParam("resizable", "1");
+
+ System.showWindow("{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}", "", 0);
+ //sui_window.sendAction("opentab", "ml", 0,0,0,0);
+
+ dualwnd.setPosition(w);
+ dropbox.hide();
+ dropbox_wdh.hide();
+ //dropbox_wdh.setXMLParam("hold", "");
+ dropbox_wdh.show();
+ //dropbox_wdh.setXMLParam("hold", "@all@");
+ dropbox.show();
+}
+
+#ifdef USE_BIG_HACK
+
+sui_window.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (action == "callback")
+ {
+ if (param == "onbeforehidesui")
+ {
+ /*//dualwnd.setPosition(0);
+ //dropbox.findObject("wdh").setXmlParam("relatw", "0");
+ //dropbox.findObject("wdh").setXmlParam("w", "0");
+ int i = dualwnd.getLeft() + dualwnd.getWidth();
+ dualwnd.setShaded(dualwnd.clientToScreenX(dualwnd.getLeft() +dualwnd.getWidth()),dualwnd.clientToScreenX(dualwnd.getLeft() + dualwnd.getWidth()-dualwnd.getPosition()-4));
+ debugInt(dualwnd.clientToScreenX(dualwnd.getLeft() +dualwnd.getWidth()));*/
+ dropbox.hide();
+gettingclosed = true;
+ //dualwnd.setPosition(0);
+ }
+ else if (param == "onshowsui")
+ {
+ //dualwnd.setPosition(200);
+ }
+ }
+}
+
+main.onBeforeSwitchToLayout (Layout oldlayout, Layout newlayout)
+{
+ if (newLayout.getID() == "shade")
+ {
+dropbox.hide();
+gettingclosed = true;
+ }
+
+}
+
+#endif
+#endif
diff --git a/Src/resources/skins/Big Bento/scripts/gen_dropbox.maki b/Src/resources/skins/Big Bento/scripts/gen_dropbox.maki
new file mode 100644
index 00000000..e7c12f31
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/gen_dropbox.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/hoverstimulate.m b/Src/resources/skins/Big Bento/scripts/hoverstimulate.m
new file mode 100644
index 00000000..5b337ef8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/hoverstimulate.m
@@ -0,0 +1,83 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: hoverstimulate.m
+Version: 1.0
+
+Type: maki
+Date: 03. Jul. 2007 - 23:09
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Global Button mainButton;
+Global Layer overlay;
+Global Boolean mouseDown;
+Global String img_normal, img_hover, img_down, img_active;
+
+System.onScriptLoaded ()
+{
+ mainButton = getScriptGroup().findObject(getToken(getParam(), ";", 0));
+ overlay = getScriptGroup().findObject(getToken(getParam(), ";", 1));
+ img_normal = getToken(getParam(), ";", 2);
+ img_hover = getToken(getParam(), ";", 3);
+ img_down = getToken(getParam(), ";", 4);
+ img_active = getToken(getParam(), ";", 5);
+}
+
+mainButton.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ overlay.show();
+ }
+ else
+ {
+ overlay.hide();
+ }
+}
+
+mainButton.onLeftButtonDown (int x, int y)
+{
+ mouseDown = 1;
+ if (img_down != "NULL") overlay.setXmlParam("image", img_down);
+}
+
+mainButton.onLeftButtonUp (int x, int y)
+{
+ mouseDown = 0;
+ if (img_hover != "NULL" && !getActivated() && isMouseOverRect()) overlay.setXmlParam("image", img_hover);
+}
+
+mainButton.onleaveArea ()
+{
+ if (!getActivated())
+ {
+ if (img_normal != "NULL") overlay.setXmlParam("image", img_normal);
+ }
+ else
+ {
+ if (img_active != "NULL") overlay.setXmlParam("image", img_active);
+ }
+}
+
+mainButton.onEnterArea ()
+{
+ if (img_hover != "NULL") overlay.setXmlParam("image", img_hover);
+}
+
+mainButton.onActivate (int activated)
+{
+ if (activated)
+ {
+ if (img_active != "NULL") overlay.setXmlParam("image", img_active);
+ }
+ else
+ {
+ if (img_normal != "NULL") overlay.setXmlParam("image", img_normal);
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/hoverstimulate.maki b/Src/resources/skins/Big Bento/scripts/hoverstimulate.maki
new file mode 100644
index 00000000..f66a9a1d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/hoverstimulate.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/imagecontrol.m b/Src/resources/skins/Big Bento/scripts/imagecontrol.m
new file mode 100644
index 00000000..fb12f445
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/imagecontrol.m
@@ -0,0 +1,99 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: imagecontrol.m
+Version: 1.0
+
+Type: maki
+Date: 29. Jun. 2007 - 12:28
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/config.mi>
+
+Function updateAttrib ();
+Class ConfigAttribute ImageAttribute;
+
+Global ImageAttribute a1, a2, a3, a4, a5, a6;
+Global String img1, img2, img3, img4, img5, img6;
+Global layer Display;
+Global boolean myChange;
+
+System.onScriptLoaded ()
+{
+ string param = getParam();
+
+ string objects = getToken(param, "|", 0);
+ group scriptGroup = getScriptGroup();
+ Display = scriptGroup.findObject(objects);
+
+
+ int n = stringToInteger(getToken(param, "|", 1)) + 1;
+ int i = 2;
+ if (i <= n)
+ {
+ objects = getToken(param, "|", i);
+ a1 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+ img1 = getToken(objects, ";", 2);
+ i++;
+ }
+ if (i <= n)
+ {
+ objects = getToken(param, "|", i);
+ a2 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+ img2 = getToken(objects, ";", 2);
+ i++;
+ }
+ if (i <= n)
+ {
+ objects = getToken(param, "|", i);
+ a3 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+ img3 = getToken(objects, ";", 2);
+ i++;
+ }
+ if (i <= n)
+ {
+ objects = getToken(param, "|", i);
+ a4 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+ img4 = getToken(objects, ";", 2);
+ i++;
+ }
+ if (i <= n)
+ {
+ objects = getToken(param, "|", i);
+ a5 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+ img5 = getToken(objects, ";", 2);
+ i++;
+ }
+ if (i <= n)
+ {
+ objects = getToken(param, "|", i);
+ a6 = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+ img6 = getToken(objects, ";", 2);
+ i++;
+ }
+
+ updateAttrib ();
+}
+
+ImageAttribute.onDataChanged ()
+{
+ if (myChange) return;
+ updateAttrib ();
+}
+
+updateAttrib ()
+{
+ myChange = 1;
+ if (a1) if (a1.getData() == "1") Display.setXmlParam("image", img1);
+ if (a2) if (a2.getData() == "1") Display.setXmlParam("image", img2);
+ if (a3) if (a3.getData() == "1") Display.setXmlParam("image", img3);
+ if (a4) if (a4.getData() == "1") Display.setXmlParam("image", img4);
+ if (a5) if (a5.getData() == "1") Display.setXmlParam("image", img5);
+ if (a6) if (a6.getData() == "1") Display.setXmlParam("image", img6);
+ myChange = 0;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/imagecontrol.maki b/Src/resources/skins/Big Bento/scripts/imagecontrol.maki
new file mode 100644
index 00000000..65566a4d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/imagecontrol.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/infoline.m b/Src/resources/skins/Big Bento/scripts/infoline.m
new file mode 100644
index 00000000..1719ed9a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/infoline.m
@@ -0,0 +1,44 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: infoline.m
+Version: 1.0
+
+Type: maki
+Date: 06. Nov. 2007 - 22:40
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Global Text txt;
+Global Text label;
+Global Layer link;
+Global Group sg;
+Global Int shift = 0;
+
+System.onScriptLoaded ()
+{
+ sg = getScriptGroup();
+
+ txt = sg.getObject("text");
+ label = sg.getObject("label");
+ link = sg.getObject("link");
+}
+
+System.onSetXuiParam (String param, String value)
+{
+ if (strlower(param) == "shift") shift = stringToInteger(value);
+ if (strlower(param) == "label") label.setText(value);
+ if (strlower(param) == "link") link.setXmlparam("tooltip", value);
+}
+
+label.onTextChanged (String newtxt)
+{
+ int w = label.getAutoWidth() + shift;
+ txt.setXmlParam("x", integerToString(w));
+ txt.setXmlParam("w", integerToString(-w));
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/infoline.maki b/Src/resources/skins/Big Bento/scripts/infoline.maki
new file mode 100644
index 00000000..4a1562e5
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/infoline.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/lib/debug.m b/Src/resources/skins/Big Bento/scripts/lib/debug.m
new file mode 100644
index 00000000..cca40f07
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/lib/debug.m
@@ -0,0 +1,52 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: debug.m
+Version: 1.2
+
+Type: maki/attrib loader
+Date: 29. Aug. 2006 - 23:43
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#ifndef DEBUG
+#define debugString //
+#endif
+
+#ifdef DEBUG
+
+#define DEBUG_PREFIX "["+ FILE_NAME +": " + getTimeStamp() + "] " +
+
+Function String getTimeStamp();
+String getTimeStamp()
+{
+ int msc = getTimeOfDay();
+ int h = msc / 1000 / 3600;
+ msc -= h * 1000 * 3600;
+ int m = msc / 1000 / 60;
+ msc -= m * 1000 * 60;
+ int s = msc / 1000;
+ msc -= s * 1000;
+ string zeros = "";
+ if (msc < 100)
+ {
+ zeros += "0";
+ }
+ if (msc < 10)
+ {
+ zeros += "0";
+ }
+ return integerToString(h)+":"+integerToString(m)+":"+integerToString(s)+"."+zeros+integerToString(msc);
+}
+
+#define D_WTF 9
+#define D_NWTF 9
+
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/lib/glow.m b/Src/resources/skins/Big Bento/scripts/lib/glow.m
new file mode 100644
index 00000000..12e0406b
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/lib/glow.m
@@ -0,0 +1,111 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: glow.m
+Version: 1.0
+
+Type: maki/glow class
+Date: 16. Jun. 2007 - 23:13
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Usage: 1: #include glow.m
+ 2: #define GLOW_OBJECT MyGlow
+ 3: call _MyGlow_GlowInit (someObj, otherObj)
+ to init the objects.
+ You can also call _MyGlow_GlowInit (NULL, otherObj)
+ and load a bunch of GuiObjects in _MyGlow_GlowTrigger
+ or load up to 5 objects via _MyGlow_addTarget(obj);
+
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#ifndef GLOW_OBJECT
+#error GLOW_OBJECT not defined!
+#endif
+
+Class GuiObject _##GLOW_OBJECT##_GlowTrigger;
+Global _##GLOW_OBJECT##_GlowTrigger _##GLOW_OBJECT##_trigger0, _##GLOW_OBJECT##_trigger1, _##GLOW_OBJECT##_trigger2, _##GLOW_OBJECT##_trigger3, _##GLOW_OBJECT##_trigger4, _##GLOW_OBJECT##_trigger5;
+Global GuiObject _##GLOW_OBJECT##_glow;
+Global float _##GLOW_OBJECT##_fdoutspeed;
+Global boolean _##GLOW_OBJECT##_mouseDown;
+
+Function _##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed);
+Function _##GLOW_OBJECT##_addTrigger (GuiObject triggerObject);
+
+_##GLOW_OBJECT##_GlowInit (GuiObject triggerObject, GuiObject glowObject, float fdoutspeed)
+{
+ if (triggerObject) _##GLOW_OBJECT##_trigger0 = triggerObject;
+ if (glowObject) _##GLOW_OBJECT##_glow = glowObject;
+
+ _##GLOW_OBJECT##_fdoutspeed = fdoutspeed;
+}
+
+_##GLOW_OBJECT##_addTrigger(GuiObject triggerObject)
+{
+ if (triggerObject)
+ {
+ if (!_##GLOW_OBJECT##_trigger1)
+ {
+ _##GLOW_OBJECT##_trigger1 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger2)
+ {
+ _##GLOW_OBJECT##_trigger2 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger3)
+ {
+ _##GLOW_OBJECT##_trigger3 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger4)
+ {
+ _##GLOW_OBJECT##_trigger4 = triggerObject;
+ return;
+ }
+ if (!_##GLOW_OBJECT##_trigger5)
+ {
+ _##GLOW_OBJECT##_trigger5 = triggerObject;
+ return;
+ }
+ }
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onEnterArea ()
+{
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ _##GLOW_OBJECT##_glow.setAlpha(255);
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onLeftButtonDown (int x, int y)
+{
+ _##GLOW_OBJECT##_mouseDown = 1;
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ _##GLOW_OBJECT##_glow.setAlpha(0);
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onLeftButtonUp (int x, int y)
+{
+ _##GLOW_OBJECT##_mouseDown = 0;
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ if (_##GLOW_OBJECT##_GlowTrigger.isMouseOverRect()) _##GLOW_OBJECT##_glow.setAlpha(255);
+}
+
+_##GLOW_OBJECT##_GlowTrigger.onLeaveArea ()
+{
+ if (_##GLOW_OBJECT##_mouseDown) return;
+ _##GLOW_OBJECT##_glow.cancelTarget();
+ _##GLOW_OBJECT##_glow.setTargetA(0);
+ _##GLOW_OBJECT##_glow.setTargetX(_##GLOW_OBJECT##_glow.getGuiX());
+ _##GLOW_OBJECT##_glow.setTargetSpeed(_##GLOW_OBJECT##_fdoutspeed);
+ _##GLOW_OBJECT##_glow.gotoTarget();
+}
+
+#undef GLOW_OBJECT \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/loadattribs.m b/Src/resources/skins/Big Bento/scripts/loadattribs.m
new file mode 100644
index 00000000..67f4b0e8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/loadattribs.m
@@ -0,0 +1,89 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: loadattribs.m
+Version: 1.2
+
+Type: maki/attrib loader
+Date: 29. Aug. 2006 - 23:43
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#define MAIN_ATTRIBS_MGR
+#define MAIN_ATTRIBS_LOADER
+
+#include <lib/std.mi>
+
+#include attribs/init_windowpage.m
+#include attribs/init_playlist.m
+#include attribs/init_Autoresize.m
+#include attribs/init_Vis.m
+#include attribs/init_appearance.m
+#include attribs/init_songticker.m
+#include attribs/init_notifier.m
+
+Global Configattribute FontRenderer, findOpenRect;
+Global String FontRenderer_default, findOpenRect_default;
+Global configAttribute skin_attrib;
+
+System.onScriptLoaded()
+{
+ initAttribs_Appearance();
+ initAttribs_Songticker();
+ initAttribs_Autoresize();
+ initAttribs_notifier();
+ initAttribs_Vis();
+
+ //without optionsmenu entry:
+ initAttribs_windowpage();
+ initAttribs_Playlist();
+
+ // Add skin switcher to Appearance menu
+
+ addMenuSeparator(custom_page_appearance);
+
+ if (getParam() == "big")
+ {
+ skin_attrib = custom_page_appearance.newAttribute("Switch to Bento with Small Buttons", "0");
+ }
+ else
+ {
+ skin_attrib = custom_page_appearance.newAttribute("Switch to Bento with Big Buttons", "0");
+ }
+
+ // Turn 'find open rect' temporary off
+
+ findOpenRect = config.getItemByGuid("{280876CF-48C0-40BC-8E86-73CE6BB462E5}").getAttribute("Find open rect");
+ findOpenRect_default = findOpenRect.getData();
+ findOpenRect.setData("0");
+
+}
+
+System.onScriptUnloading ()
+{
+ findOpenRect.setData(findOpenRect_default);
+}
+
+findOpenRect.onDataChanged ()
+{
+ if (getData() == "0") return;
+ findOpenRect.setData("0");
+}
+
+global boolean passtrough;
+
+skin_attrib.onDataChanged ()
+{
+ if (passtrough)
+ {
+ return;
+ }
+ passtrough = TRUE;
+ setData("0");
+ if (getParam() == "big") switchSkin("Bento");
+ else switchSkin("Big Bento");
+ passtrough = FALSE;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/loadattribs.maki b/Src/resources/skins/Big Bento/scripts/loadattribs.maki
new file mode 100644
index 00000000..e6c41c20
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/loadattribs.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/mainmenu.m b/Src/resources/skins/Big Bento/scripts/mainmenu.m
new file mode 100644
index 00000000..af51143b
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mainmenu.m
@@ -0,0 +1,164 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: songinfo.m
+Version: 1.0
+
+Type: maki
+Date: 20. Nov. 2006 - 22:47
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_appearance.m
+
+Class Layer LinkedLayer;
+
+Function initLL(linkedLayer l);
+Function fadeLL(linkedLayer l, boolean in);
+Function setLL(linkedLayer l, boolean in);
+
+Global Group MenuBar;
+Global GuiObject mousetrap;
+Global Int texth;
+
+Global LinkedLayer _play, _options, _file, _view, _help;
+Global int xpos;
+
+Global guiObject titlebargrid;
+
+
+System.onScriptLoaded()
+{
+ initAttribs_Appearance();
+ MenuBar = getscriptgroup().findobject("player.mainmenu");
+ xpos = 0;
+
+ titlebargrid = getScriptGroup().findObject("titlebar.grid.right");
+
+ _file = MenuBar.getObject("menu.text.file");
+ initLL(_file);
+
+ _play = MenuBar.getObject("menu.text.play");
+ initLL(_play);
+
+ _options = MenuBar.getObject("menu.text.options");
+ initLL(_options);
+
+ _view = MenuBar.getObject("menu.text.view");
+ initLL(_view);
+
+ _help = MenuBar.getObject("menu.text.help");
+ initLL(_help);
+
+ mousetrap = MenuBar.findObjecT("menu.hidden.mousetrap");
+
+ texth = _file.getGuiH();
+
+ if (menubar_main_attrib.getData() == "1")
+ {
+ _options.setXmlParam("h", integerToString(texth));
+ _file.setXmlParam("h", integerToString(texth));
+ _help.setXmlParam("h", integerToString(texth));
+ _view.setXmlParam("h", integerToString(texth));
+ _play.setXmlParam("h", integerToString(texth));
+ mousetrap.hide();
+ }
+ else
+ {
+ _options.setXmlParam("h", "0");
+ _file.setXmlParam("h", "0");
+ _help.setXmlParam("h", "0");
+ _view.setXmlParam("h", "0");
+ _play.setXmlParam("h", "0");
+ mousetrap.show();
+ }
+}
+
+menubar_main_attrib.onDataChanged() {
+ if (getData() == "1")
+ {
+ mousetrap.hide();
+ fadeLL(_play, 1);
+ fadeLL(_view, 1);
+ fadeLL(_help, 1);
+ fadeLL(_file, 1);
+ fadeLL(_options, 1);
+ }
+ else
+ {
+ mousetrap.show();
+ fadeLL(_play, 0);
+ fadeLL(_view, 0);
+ fadeLL(_help, 0);
+ fadeLL(_file, 0);
+ fadeLL(_options, 0);
+ }
+}
+
+System.onAccelerator(String action, String section, String key) {
+ if (menubar_main_attrib.getData() == "0") return;
+
+ Layout l = getScriptGroup().getParentLayout();
+ if (!l.isActive()) return;
+ if (action == "MENUHOTKEY_FILE")
+ {
+ MenuBar.findObject("file.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_PLAY")
+ {
+ MenuBar.findObject("play.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_OPTIONS")
+ {
+ MenuBar.findObject("options.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_VIEW")
+ {
+ MenuBar.findObject("view.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_HELP")
+ {
+ MenuBar.findObject("help.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+}
+
+initLL (LinkedLayer l)
+{
+ int w = l.getAutoWidth();
+ String id = getToken(l.getId(), ".", 2);
+ GuiObject o = MenuBar.findObject("menu.layer." + id + ".normal");
+ if (o) o.setXmlParam("w", integerToString(w));
+ if (o) o.setXmlParam("x", integerToString(xpos));
+
+ o = MenuBar.findObject("menu.layer." + id + ".hover");
+ if (o) o.setXmlParam("w", integerToString(w));
+ if (o) o.setXmlParam("x", integerToString(xpos));
+
+ o = MenuBar.findObject("menu.layer." + id + ".down");
+ if (o) o.setXmlParam("w", integerToString(w));
+ if (o) o.setXmlParam("x", integerToString(xpos));
+
+ Menu m = MenuBar.findObject(id + ".menu");
+ if (m) m.setXmlParam("w", integerToString(w));
+ if (m) m.setXmlParam("x", integerToString(xpos));
+
+ l.setXmlParam("x", integerToString(xpos));
+ xpos += w;
+}
+
+fadeLL (linkedLayer l, boolean in)
+{
+ l.cancelTarget();
+ l.setTargetH(texth*in);
+ l.setTargetSpeed(0.5);
+ l.gotoTarget();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/mainmenu.maki b/Src/resources/skins/Big Bento/scripts/mainmenu.maki
new file mode 100644
index 00000000..eca152f8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mainmenu.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/maximize.m b/Src/resources/skins/Big Bento/scripts/maximize.m
new file mode 100644
index 00000000..b944362b
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/maximize.m
@@ -0,0 +1,648 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: maximize.m
+Version: 3.4
+
+Type: maki
+Date: 13. Sep. 2007 - 15:05
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_Autoresize.m
+
+Function setImages(boolean isMaximized);
+Function maximizeShade(boolean save);
+Function restoreShade();
+Function maximizePlayer(boolean save);
+Function restorePlayer();
+Function setWndToScreen();
+
+#define SAVEPOS_SHADE 2
+#define SAVEPOS_NORMAL 1
+#define SAVEPOS_ALL 0
+Function savePos(int code);
+
+Class GuiObject Mousetrap;
+
+Global Button Maximize, MaximizeShade, Restore, RestoreShade;
+Global Mousetrap noResizerTB, MousetrapTB, MousetrapShade, MousetrapMenu;
+Global Layout normal, shade;
+Global Boolean tgst;
+Global Layer resizer, noResizer, resizerShade, resizerShade2, topResizer;
+Global Container player;
+Global GuiObject shadeticker, slamclose;
+
+Global Group regions, regionsShade;
+Global Layer regionBlack, regionBlackShade;
+
+Global Int DEFAULT_PLAYER_H, DEFAULT_SHADE_H;
+Global Int old_x, old_y, old_h, old_w;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Autoresize();
+
+ player = System.getContainer("main");
+ normal = player.getLayout("normal");
+
+ Maximize = normal.findObject("player.titlebar.button.maximize");
+ Restore = normal.findObject("player.titlebar.button.restore");
+ MousetrapTB = normal.findObject("player.mousetrap.maximize");
+ resizer = normal.findObject("player.resizer.bottomright");
+ noResizer = normal.findObject("player.resizer.disable");
+ noResizerTB = normal.findObject("titlebar.resizer.disable");
+ regions = normal.findObject("window.background.regions");
+ regionBlack = normal.findObject("window.background.maximize");
+ topResizer = normal.findObject("titlebar.resizer.top");
+ slamclose = normal.findObject("maximize.slam.close");
+ MousetrapMenu = normal.findObject("menu.hidden.mousetrap");
+
+ shade = player.getLayout("shade");
+ shadeticker = shade.findObject("Songticker");
+
+ MaximizeShade = shade.findObject("shade.button.maximize");
+ RestoreShade = shade.findObject("shade.button.restore");
+ resizerShade = shade.findObject("shade.resizer.right");
+ resizerShade2 = shade.findObject("shade.resizer.right2");
+ MousetrapShade = shade.findObject("shade.mousetrap");
+ regionsShade = Shade.findObject("window.background.regions");
+ regionBlackShade = Shade.findObject("window.background.maximize");
+
+ DEFAULT_PLAYER_H = stringToInteger(getToken(getParam(), "," , 0));
+ DEFAULT_SHADE_H = stringToInteger(getToken(getParam(), "," , 1));
+
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizePlayer (FALSE);
+ maximizeShade (FALSE);
+ setImages (1);
+ }
+ else
+ {
+ if (getPrivateInt(getSkinName(), "First Start", 1)) setWndToScreen();
+ else
+ {
+ restorePlayer ();
+ restoreShade ();
+ }
+ }
+}
+
+// ------------------------------------------------------------------------------
+// Cope with viewport changes so we're happy with Windows 8.x snapping mode, etc
+// ------------------------------------------------------------------------------
+
+System.onViewPortChanged(int width, int height)
+{
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ if (normal == player.getCurLayout()) maximizePlayer (FALSE);
+ else if (shade == player.getCurLayout()) maximizeShade (FALSE);
+ }
+}
+
+// ------------------------------------------------------------------------------
+// Save all our window positions on skin unloading
+// ------------------------------------------------------------------------------
+
+System.onScriptUnloading ()
+{
+// if (player.getCurLayout() == normal) savePos(SAVEPOS_NORMAL);
+// else if (player.getCurLayout() == shade) savePos(SAVEPOS_SHADE);
+}
+
+// ------------------------------------------------------------------------------
+// Prohibit autoresizing by Video if we're in maximized player (layout_normal)
+// ------------------------------------------------------------------------------
+
+sui_autorsize_attrib.onDataChanged ()
+{
+ if (getData() == "1")
+ {
+ normal.setXMLParam("lockminmax", "0");
+ }
+ else
+ {
+ double d = normal.getScale();
+ if (normal.getLeft() == getViewportLeft() && normal.getTop() == getViewportTop() && normal.getWidth() == getViewPortWidthfromGuiObject(normal)/d && normal.getHeight() == getViewPortHeightfromGuiObject(normal)/d)
+ {
+ normal.setXMLParam("lockminmax", "1");
+ }
+ }
+}
+
+System.onKeyDown (String key)
+{
+ if (key == "ctrl+w" && (shade.isActive() || normal.isActive()))
+ {
+ if (shade != player.getCurLayout())
+ {
+ player.switchToLayout("shade");
+ }
+ else
+ {
+ player.switchToLayout("normal");
+ }
+ complete;
+ }
+}
+
+// ------------------------------------------------------------------------------
+// Button clicks
+// ------------------------------------------------------------------------------
+
+Maximize.onLeftClick ()
+{
+ if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizePlayer (TRUE);
+ }
+}
+
+Restore.onLeftClick ()
+{
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ restorePlayer ();
+ }
+}
+
+MaximizeShade.onLeftClick ()
+{
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ restoreShade ();
+ }
+ else
+ {
+ maximizeShade (TRUE);
+ }
+}
+
+RestoreShade.onLeftClick ()
+{
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ restoreShade ();
+ }
+ else
+ {
+ maximizeShade (TRUE);
+ }
+}
+
+/** This will detect the second down click */
+
+Mousetrap.onLeftButtonDblClk (int x, int y)
+{
+ tgst = true;
+}
+
+/** Once the button gets up, we'll toggle the maximized state */
+
+mousetrap.onLeftButtonUp (int x, int y)
+{
+ if (tgst)
+ {
+ if (shade == player.getCurLayout())
+ {
+ if (titlebar_dblclk_max_attib.getData() == "1")
+ {
+ if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizeShade (TRUE);
+ }
+ else
+ {
+ restoreShade();
+ }
+ }
+ else
+ {
+ player.switchToLayout("normal");
+ }
+ }
+ else
+ {
+ if (titlebar_dblclk_max_attib.getData() == "1")
+ {
+ if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizePlayer (TRUE);
+ }
+ else
+ {
+ restorePlayer();
+ }
+ }
+ else
+ {
+ player.switchToLayout("shade");
+ }
+ }
+ }
+ tgst = false;
+}
+
+topResizer.onLeftButtonDblClk (int x, int y)
+{
+ if (titlebar_dblclk_max_attib.getData() == "1")
+ {
+ if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizePlayer (TRUE);
+ }
+ else
+ {
+ restorePlayer();
+ }
+ }
+ else
+ {
+ player.switchToLayout("shade");
+ }
+}
+
+// ------------------------------------------------------------------------------
+// Detect maximized states on window resize
+// ------------------------------------------------------------------------------
+
+normal.onEndMove ()
+{
+ savePos(SAVEPOS_NORMAL);
+}
+
+normal.onResize (int x, int y, int w, int nh)
+{
+ //debugString("onResize("+integertoString(x)+","+integertoString(y)+","+integertoString(w)+","+integertoString(nh)+");", 9);
+ y = normal.getTop();
+ // prohibit to set nh = 0
+ if (nh == 0 || w == 0)
+ {
+ //debug("error setting player_normal w=" + integerToString(w) + " , h=" + integerToString(nh));
+ normal.resize(getLeft(), getTop(), getWidth(), DEFAULT_PLAYER_H);
+ return;
+ }
+
+ if (normal != player.getCurLayout()) return;
+
+ if (old_x == x && old_y == y && old_h = nh && old_w == w) return;
+ old_x = x; old_y = y; old_h = nh; old_w = w;
+
+ if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
+ {
+ double d = normal.getScale();
+ if (w == getViewPortWidthfromGuiObject(normal)/d && x == getViewportLeft() && y == getViewportTop())
+ {
+ //setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
+ //setImages (1);
+ }
+ else
+ {
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
+ setImages (0);
+ }
+ }
+ else
+ {
+ double d = normal.getScale();
+ if (w == getViewPortWidthfromGuiObject(normal)/d && nh == getViewPortHeightfromGuiObject(normal)/d)
+ {
+ //setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
+ //setImages (1);
+ }
+ else
+ {
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
+ setImages (0);
+ }
+ }
+ savePos(SAVEPOS_NORMAL);
+}
+
+shade.onEndMove ()
+{
+ savePos(SAVEPOS_SHADE);
+}
+
+shade.onResize (int x, int y, int w, int nh)
+{
+ y = shade.getTop();
+ // prohibit to set nh = 0
+ if (nh == 0 || w == 0)
+ {
+ debug("error setting player_shade w=" + integerToString(w) + " , h=" + integerToString(nh));
+ shade.resize(getLeft(), getTop(), getWidth(), DEFAULT_SHADE_H);
+ return;
+ }
+
+ if (shade != player.getCurLayout()) return;
+
+ if (old_x == x && old_y == y && old_h = nh && old_w == w) return;
+ old_x = x; old_y = y; old_h = nh; old_w = w;
+
+ double d = shade.getScale();
+ if (w == getViewPortWidthfromGuiObject(shade)/d && y == getViewportTop() && x == getViewportLeft())
+ {
+ //setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
+ //setImages (1);
+ }
+ else
+ {
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
+ setImages (0);
+ }
+ savePos(SAVEPOS_SHADE);
+}
+
+// ------------------------------------------------------------------------------
+// Resize our window on scale if we are maximized
+// ------------------------------------------------------------------------------
+
+normal.onScale (Double newscalevalue)
+{
+ if (normal != player.getCurLayout()) return;
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizePlayer(FALSE);
+ }
+ savePos(SAVEPOS_NORMAL);
+}
+
+shade.onScale (Double newscalevalue)
+{
+ if (shade != player.getCurLayout()) return;
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ maximizeShade(FALSE);
+ }
+ savePos(SAVEPOS_SHADE);
+}
+
+// ------------------------------------------------------------------------------
+// Before we switch between layouts, check all images and window sizes
+// ------------------------------------------------------------------------------
+
+player.onBeforeSwitchToLayout (Layout _layoutnow, Layout _layouttobe)
+{
+ if (_layoutnow == normal) savePos(SAVEPOS_NORMAL);
+ else if (_layoutnow == shade) savePos(SAVEPOS_SHADE);
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ if (_layouttobe == normal) maximizePlayer (FALSE);
+ else if (_layouttobe == shade) maximizeShade (FALSE);
+ setImages (1);
+ }
+ else
+ {
+ if (_layouttobe == normal) restorePlayer ();
+ else if (_layouttobe == shade) restoreShade ();
+ }
+}
+
+// ------------------------------------------------------------------------------
+// Save wnd position before we go to collapsed state
+// ------------------------------------------------------------------------------
+
+normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (action == "sui" && param == "tonocomp" && x == 0)
+ {
+ savePos (SAVEPOS_NORMAL);
+ }
+}
+
+// ******************************************************************************
+// Our Function Handles
+// ******************************************************************************
+
+setImages (boolean isMaximized)
+{
+ if (isMaximized)
+ {
+ // Normal
+ Maximize.hide();
+ Restore.show();
+
+ if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
+ {
+ MousetrapTB.setXMLparam("move", "0");
+ MousetrapMenu.setXMLparam("move", "0");
+ noResizerTB.setXMLparam("ghost", "0");
+ }
+ else
+ {
+ MousetrapTB.setXMLparam("move", "0");
+ MousetrapMenu.setXMLparam("move", "0");
+ noResizerTB.setXMLparam("ghost", "0");
+ }
+
+ if (sui_autorsize_attrib.getData() == "0") normal.setXMLParam("lockminmax", "1");
+ else normal.setXMLParam("lockminmax", "0");
+ resizer.hide();
+ noResizer.show();
+ regions.hide();
+ regionBlack.show();
+ // Shade
+ MousetrapShade.setXMLparam("move", "0");
+ shadeticker.setXmlParam("move", "0");
+ MaximizeShade.hide();
+ RestoreShade.show();
+ resizerShade.hide();
+ regionsShade.hide();
+ resizerShade2.hide();
+ regionBlackShade.show();
+ slamclose.show();
+ }
+ else
+ {
+ // Normal
+ resizer.show();
+ noResizer.hide();
+ MousetrapTB.setXMLparam("move", "1");
+ noResizerTB.setXMLparam("ghost", "1");
+ MousetrapMenu.setXMLparam("move", "1");
+ normal.setXMLParam("lockminmax", "0");
+ Maximize.show();
+ Restore.hide();
+ regions.show();
+ regionBlack.hide();
+ // Shade
+ MousetrapShade.setXMLparam("move", "1");
+ shadeticker.setXmlParam("move", "1");
+ resizerShade.show();
+ resizerShade2.show();
+ MaximizeShade.show();
+ RestoreShade.hide();
+ regionsShade.show();
+ regionBlackShade.hide();
+ slamclose.hide();
+ }
+}
+
+maximizeShade (boolean save)
+{
+ if (save)
+ {
+ savePos(SAVEPOS_SHADE);
+
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
+ setImages (1);
+ }
+ double newscalevalue = shade.getScale();
+ int sh = shade.getHeight();
+ if (sh < 1) sh = DEFAULT_SHADE_H;
+ shade.resize(getViewPortLeftfromGuiObject(shade),getViewPortTopfromGuiObject(shade),getViewportWidthfromGuiObject(shade)/newscalevalue, sh);
+}
+
+restoreShade ()
+{
+ if (link_w_attrib.getData() == "0")
+ {
+ shade.resize(
+ getPrivateInt(getSkinName(), "shade_nomax_x", shade.getLeft()),
+ getPrivateInt(getSkinName(), "shade_nomax_y", shade.getTop()),
+ getPrivateInt(getSkinName(), "shade_nomax_w", 500),
+ DEFAULT_SHADE_H
+ );
+ }
+ else
+ {
+ shade.resize(
+ getPrivateInt(getSkinName(), "nomax_x", shade.getLeft()),
+ getPrivateInt(getSkinName(), "nomax_y", shade.getTop()),
+ getPrivateInt(getSkinName(), "nomax_w", 700),
+ DEFAULT_SHADE_H
+ );
+ }
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
+ setImages (0);
+}
+
+maximizePlayer (boolean save)
+{
+ if (save)
+ {
+ savePos(SAVEPOS_NORMAL);
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 1);
+ setImages (1);
+ }
+
+ double newscalevalue = normal.getScale();
+ int nh;
+ if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
+ {
+ nh = DEFAULT_PLAYER_H;
+ }
+ else
+ {
+ nh = getViewPortHeightfromGuiObject(normal)/newscalevalue;
+ }
+ if (nh < 1) nh = DEFAULT_PLAYER_H;
+ normal.resize(getViewPortLeftfromGuiObject(normal), getViewPortTopfromGuiObject(normal), getViewPortWidthfromGuiObject(normal)/newscalevalue, nh);
+}
+
+restorePlayer ()
+{
+ //messagebox("restorePlayer", "", 0, "");
+
+ int x, y, w, h;
+ x = getPrivateInt(getSkinName(), "nomax_x", normal.getLeft());
+ y = getPrivateInt(getSkinName(), "nomax_y", normal.getTop());
+ w = getPrivateInt(getSkinName(), "nomax_w", normal.getWidth());
+
+ if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden")
+ {
+ h = DEFAULT_PLAYER_H;
+ }
+ else
+ {
+ h = getPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
+
+ }
+ // check if player_w is too small
+ if (w < stringToInteger(normal.getXmlParam("minimum_w"))) w = stringToInteger(normal.getXmlParam("minimum_w"));
+
+ normal.resize(x, y, w, h);
+ normal.sendAction("pledit_posupdate", "", 0,0,0,0);
+
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
+ setImages (0);
+}
+
+savePos (int code)
+{
+ if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0))
+ {
+ if (code == SAVEPOS_NORMAL || code == SAVEPOS_ALL)
+ {
+ if (getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
+ {
+ int nnh = normal.getHeight();
+
+ //martin> i really dunno why i've added this code:
+ //if (nnh > 0 && nnh < 200) setPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
+ //So lets try it again w/o switch in order to fix resizing - goto shade - goback - size not remembered bug
+ if (nnh > 200) setPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
+ // ^ otherwise we save in collapsed mode
+ }
+ setPrivateInt(getSkinName(), "nomax_x", normal.getLeft());
+ setPrivateInt(getSkinName(), "nomax_y", normal.getTop());
+ if (normal.getWidth() > 0) setPrivateInt(getSkinName(), "nomax_w", normal.getWidth());
+ //debugInt(getPrivateInt(getSkinName(), "nomax_w", normal.getWidth()));
+ }
+ if (code == SAVEPOS_SHADE || code == SAVEPOS_ALL)
+ {
+ if (link_w_attrib.getData() == "0")
+ {
+ setPrivateInt(getSkinName(), "shade_nomax_x", shade.getLeft());
+ setPrivateInt(getSkinName(), "shade_nomax_y", shade.getTop());
+ if (shade.getWidth() > 0) setPrivateInt(getSkinName(), "shade_nomax_w", shade.getWidth());
+ }
+ else
+ {
+ if (shade.getWidth() > 0) setPrivateInt(getSkinName(), "nomax_w", shade.getWidth());
+ setPrivateInt(getSkinName(), "nomax_x", shade.getLeft());
+ setPrivateInt(getSkinName(), "nomax_y", shade.getTop());
+ }
+ //debugInt(getPrivateInt(getSkinName(), "nomax_w", shade.getWidth()));
+ //debugInt(getPrivateInt(getSkinName(), "shade_nomax_w", shade.getWidth()));
+ }
+ }
+ if (code == SAVEPOS_NORMAL || code == SAVEPOS_ALL)
+ {
+ if (getPrivateString(getSkinName(), "Component", "Media Library") == "Hidden") setPrivateInt(getSkinName(), "nomax_y_h", normal.getTop());
+ }
+ //debugInt(getPrivateInt(getSkinName(), "nomax_w", shade.getWidth()));
+}
+
+setWndToScreen ()
+{
+ int y = getViewPortTop();
+ int x = getViewPortLeft();
+ int h = getViewPortHeight();
+ int w = getViewPortWidth();
+
+ int sw = 0.8 * w;
+ int sh = 0.85 * h;
+
+ int mh = stringToInteger(normal.getXmlParam("minimum_h"));
+ int mw = stringToInteger(normal.getXmlParam("minimum_w"));
+
+ if (sh < mh) sh = mh;
+ if (sw < mw) sw = mw;
+
+/* int sx = x + (w-sw)/2;
+ int sy = y + (h-sh)/2;*/
+
+ normal.resize(normal.getLeft(), normal.getTop(), sw, sh);
+
+ setPrivateInt(getSkinName(), "First Start", 0);
+ setPrivateInt(getSkinName(), "isMainWndMaximized", 0);
+ setImages (0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/maximize.maki b/Src/resources/skins/Big Bento/scripts/maximize.maki
new file mode 100644
index 00000000..413673ca
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/maximize.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/mcvcore.m b/Src/resources/skins/Big Bento/scripts/mcvcore.m
new file mode 100644
index 00000000..e8a12077
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mcvcore.m
@@ -0,0 +1,469 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: mcvcore.m
+Version: 4.5
+
+Type: maki
+Date: 13. Aug. 2007 - 11:22
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script is based on drawer.m
+ from Winamp Modern, but extended to
+ 5 components presets!
+ Like in drawer.m I warn everybody not
+ to modify this script, cause it can be
+ harmed very fast! And you don't want
+ a buggy winamp skin, want you?
+
+ Since script version 3.1
+ (onesie build #022)
+ the script is devided into subscripts
+ for better debugging.
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_windowpage.m
+#include attribs/init_vis.m
+#include attribs/init_appearance.m
+
+//define DEBUG
+#define FILE_NAME "infocompcore.m"
+#include <lib/com/debug.m>
+
+#define VIS_GUID "{0000000A-000C-0010-FF7B-01014263450C}"
+
+#ifndef DOHIDEMCV
+#define updateSaving //
+#endif
+
+//define FIT_W2_COMP fit(sui_fi, 159, 0, 2, 0, -162, 1, 76, 0)
+#define FIT_W2_COMP fit(sui_fi, 234, 0, 2, 0, -236, 1, 117, 0)
+//define FIT_W_COMP fit(sui_fi, 81, 0, 2, 0, -84, 1, 76, 0)
+#define FIT_W_COMP fit(sui_fi, 119, 0, 2, 0, -121, 1, 117, 0)
+#define FIT_WO_COMP fit(sui_fi, 4, 0, 2, 0, -6, 1, 117, 0)
+
+Global Boolean bypasscancel;
+Global Timer callbackTimer, tempDisable;
+
+#define CURR_COMP plsc
+#include mcvcore/defs.m
+
+#ifdef IC_COVERFLOW
+#undef CURR_COMP
+#define CURR_COMP cflow
+#include mcvcore/defs.m
+#endif
+
+Function fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh);
+
+Function switchToIcOnly();
+Function switchToCover();
+Function switchToVisCover();
+Function switchToVis();
+Function switchToEQ();
+Function switchToCfg();
+Function switchToVis_Full();
+Function updateFileInfo();
+
+Function hideFi();
+Function showFi();
+Function hideCover();
+Function showCover();
+Function hideVis();
+Function showVis();
+Function hideVis_Full();
+Function showVis_Full();
+Function hideEq();
+Function showEq();
+Function hideCfg();
+Function showCfg();
+Function openIC();
+Function closeIC();
+Function openLC();
+Function closeLC();
+#ifdef DOHIDEMCV
+Function hideMCV();
+#endif
+
+Function onHideFi();
+Function onShowFi();
+Function onHideCover();
+Function onShowCover();
+Function onHideVis();
+Function onShowVis();
+Function onHideVis_Full();
+Function onShowVis_Full();
+Function onHideEq();
+Function onShowEq();
+Function onHideCfg();
+Function onShowCfg();
+Function onCloseIC();
+Function onOpenIC();
+Function onhideMCV();
+
+Function dc_hideFi();
+Function dc_showFi();
+Function dc_showEq();
+Function dc_hideEq();
+Function dc_showCfg();
+Function dc_hideCfg();
+Function dc_hideCover();
+Function dc_showCover();
+Function dc_hideVis();
+Function dc_showVis();
+Function dc_hideVis_Full();
+Function dc_showVis_Full();
+
+Function updateFooter();
+
+Function ProcessMenuResult (int a);
+
+#ifdef DOHIDEMCV
+function updateSaving (int l);
+#endif
+
+Global Group sg, sui_cover, sui_vis_full, sui_vis, sui_fi, sui_eq, sui_cfg, g_footer, g_visbtns;
+Global WindowHolder sui_vis_wdh, sui_vis_full_wdh;
+Global Layout main;
+Global Boolean callback_showing_vis, callback_hiding_vis, callback_showing_vis_full, callback_hiding_vis_full, callback_showing_cover, callback_hiding_cover, callback_showing_fi, callback_hiding_fi, callback_hiding_eq, callback_showing_eq, callback_hiding_cfg, callback_showing_cfg;
+Global Boolean showing_vis, hiding_vis, showing_vis_full, hiding_vis_full, showing_cover, hiding_cover, hiding_fi, showing_fi, showing_eq, hiding_eq, showing_cfg, hiding_cfg;
+Global Boolean Mychange;
+Global Boolean prevent_vis = 1;
+Global Frame dualwnd, mainframe;
+Global GuiObject footerGrid, sendToBtn;
+
+Global Popupmenu compMenu;
+// Global Button compChoose, nowPlayingBtn, webSearchBtn;
+Global Button compChoose;
+Global Boolean startup_done;
+Global Int substract = 0;
+
+#ifdef DOHIDEMCV
+Global Int last_menu_sel;
+#endif
+
+// script loading/unloading goes here
+#include mcvcore/load_handles.m
+
+// open / hiding components not caused by button clicks
+#include mcvcore/external_handles.m
+
+// showing and hiding the components
+#include mcvcore/show_hide.m
+
+
+/* Switching menu */
+compChoose.onRightButtonUp(int x, int y)
+{
+ complete;
+}
+
+compChoose.onRightClick () {
+ compChoose.onLeftClick ();
+}
+
+compChoose.onLeftClick ()
+{
+ compMenu = new Popupmenu;
+ popupmenu fiSub = new Popupmenu;
+ compMenu.addCommand("File Info", 1, ic_fileinfo.getData() == "1", 0);
+#ifdef IC_COVERFLOW
+ compMenu.addCommand("Cover Flow", 7, _cflow_ic_attrib.getData() == "1", 0);
+#endif
+ // System.isSafeMode() is not recognized by mc.exe
+ // if(!System.isSafeMode())
+ // {
+ compMenu.addCommand("Visualization", 2, ic_vis.getData() == "1", 0);
+ // }
+ compMenu.addCommand("Stored Playlists", 3, _plsc_ic_attrib.getData() == "1", 0);
+ compMenu.addCommand("Equalizer", 4, ic_eq.getData() == "1", 0);
+ compMenu.addCommand("Skin Settings", 5, ic_config.getData() == "1", 0);
+#ifdef DOHIDEMCV
+ compMenu.addCommand("Hide Multi Content View", 6, ic_hidden.getData() == "1", 0);
+#endif
+ compMenu.addSeparator();
+ compMenu.addSubmenu(fiSub, "File Info Components");
+
+ // System.isSafeMode() is not recognized by mc.exe
+ // if(!System.isSafeMode())
+ // {
+ fiSub.addCommand("Visualization", 12, ic_vis_fileinfo.getData() == "1", 0);
+ // }
+ fiSub.addCommand("Album Art", 11, ic_cover_fileinfo.getData() == "1", 0);
+ fiSub.addSeparator();
+ fiSub.addCommand("Show Track #", 24, infocomp_show_track.getData() == "1", 0);
+ fiSub.addCommand("Show Year", 21, infocomp_show_year.getData() == "1", 0);
+ fiSub.addCommand("Show Genre", 22, infocomp_show_genre.getData() == "1", 0);
+ fiSub.addCommand("Show Disc", 28, infocomp_show_disc.getData() == "1", 0);
+ fiSub.addCommand("Show Album Artist", 25, infocomp_show_albumartist.getData() == "1", 0);
+ fiSub.addCommand("Show Composer", 26, infocomp_show_composer.getData() == "1", 0);
+ fiSub.addCommand("Show Publisher", 23, infocomp_show_publisher.getData() == "1", 0);
+ fiSub.addCommand("Show Decoder", 27, infocomp_show_format.getData() == "1", 0);
+ fiSub.addCommand("Show Song Rating", 20, infocomp_show_rating.getData() == "1", 0);
+ fiSub.addSeparator();
+ fiSub.addCommand("Cycle File Info", 30, infocomp_cycle.getData() == "1", 0);
+ fiSub.addSeparator();
+ //fiSub.addCommand("Open Links in Now Playing", 40, infocomp_nowplaying.getData() == "1", 0);
+ //fiSub.addCommand("Open Links in Browser", 41, infocomp_browser.getData() == "1", 0);
+
+ ProcessMenuResult (compMenu.popAtXY(clientToScreenX(compChoose.getLeft()), clientToScreenY(compChoose.getTop() + compChoose.getHeight())));
+ delete compMenu;
+ delete fiSub;
+ complete;
+}
+
+ProcessMenuResult (int a)
+{
+ if (a < 1) return;
+ if (a == 1)
+ {
+ ic_fileinfo.setData("1");
+ }
+ else if (a == 2)
+ {
+ ic_vis.setData("1");
+ }
+ else if (a == 3)
+ {
+ _plsc_ic_attrib.setData("1");
+ }
+#ifdef IC_COVERFLOW
+ else if (a == 7)
+ {
+ _cflow_ic_attrib.setData("1");
+ }
+#endif
+ else if (a == 4)
+ {
+ ic_eq.setData("1");
+ }
+ else if (a == 5)
+ {
+ ic_config.setData("1");
+ }
+#ifdef DOHIDEMCV
+ else if (a == 6)
+ {
+ ic_hidden.setData("1");
+ }
+#endif
+ else if (a == 11)
+ {
+ toggleAttrib(ic_cover_fileinfo);
+ }
+ else if (a == 12)
+ {
+ toggleAttrib(ic_vis_fileinfo);
+ }
+ else if (a == 20)
+ {
+ toggleAttrib(infocomp_show_rating);
+ }
+ else if (a == 21)
+ {
+ toggleAttrib(infocomp_show_year);
+ }
+ else if (a == 22)
+ {
+ toggleAttrib(infocomp_show_genre);
+ }
+ else if (a == 23)
+ {
+ toggleAttrib(infocomp_show_publisher);
+ }
+ else if (a == 24)
+ {
+ toggleAttrib(infocomp_show_track);
+ }
+ else if (a == 25)
+ {
+ toggleAttrib(infocomp_show_albumartist);
+ }
+ else if (a == 26)
+ {
+ toggleAttrib(infocomp_show_composer);
+ }
+ else if (a == 27)
+ {
+ toggleAttrib(infocomp_show_format);
+ }
+ else if (a == 28)
+ {
+ toggleAttrib(infocomp_show_disc);
+ }
+ else if (a == 30)
+ {
+ toggleAttrib(infocomp_cycle);
+ }
+/* else if (a == 40)
+ {
+ toggleAttrib(infocomp_nowplaying);
+ }
+ else if (a == 41)
+ {
+ toggleAttrib(infocomp_browser);
+ }
+*/
+}
+
+// Hiding footer buttons (for file info view)
+
+/* artist_info_buttons_attrib.onDataChanged ()
+{
+
+ updateFooter ();
+}
+*/
+g_footer.onResize (int x, int y, int w, int h)
+{
+ if (substract == 1)
+ w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 78;
+ else if (substract == 2)
+ w += stringToInteger(dualwnd.getXmlParam("maxwidth")) + 102;
+
+/* if (artist_info_buttons_attrib.getData() == "1")
+ {
+ if (w < 132) footerGrid.hide();
+ else footerGrid.show();
+
+ if (w < 125) nowPlayingBtn.hide();
+ else nowPlayingBtn.show();
+
+ if (w < 94) webSearchBtn.hide();
+ else webSearchBtn.show();
+ }
+ else
+ {
+ if (w < 70) footerGrid.hide();
+ else footerGrid.show();
+ nowPlayingBtn.hide();
+ webSearchBtn.hide();
+ }
+*/
+ if (w < 63) sendToBtn.hide();
+ else sendToBtn.show();
+
+ if (w < 32) compChoose.hide();
+ else compChoose.show();
+}
+
+updateFooter ()
+{
+ g_footer.onResize (0, 0, g_footer.getWidth(), 0);
+}
+
+#ifdef DOHIDEMCV
+// Switching back from no comp
+
+sg.onResize (int x, int y, int w, int h)
+{
+
+ if (ic_hidden.getData() == "0" || last_menu_sel == 0 || w == 0)// && dualwnd.getXmlParam("from") == "left")
+ {
+ return;
+ }
+ ProcessMenuResult (getPrivateInt(getSkinName(), "MCV last sel", 1));
+}
+
+// save last pos
+
+updateSaving (int l)
+{
+ if (last_menu_sel == l)
+ {
+ return;
+ }
+ if (last_menu_sel != 0) setPrivateInt(getSkinName(), "MCV last sel", last_menu_sel);
+ last_menu_sel = l;
+}
+#endif
+
+/** OSD */
+/*
+Global boolean mouse_is_over = FALSE;
+
+osd_trigger.onEnterArea ()
+{
+ //setXmlParam("ghost", "1");
+}
+
+osd_trigger.onMouseMove (int x, int y)
+{
+ if (!isMouseOverRect() && mouse_is_over)
+ {
+ mouse_is_over = 0;
+ component c = sui_vis_full.findObject("vis");
+ c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
+ c = sui_vis.findObject("vis");
+ c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
+ }
+ else if (isMouseOverRect() && !mouse_is_over)
+ {
+ mouse_is_over = 1;
+ component c = sui_vis_full.findObject("vis");
+ c.sendAction("setregion", "vis.button.region", 0, 0, 0, 0);
+ c = sui_vis.findObject("vis");
+ c.sendAction("setregion", "vis.button.region", 0, 0, 0, 0);
+ }
+}
+
+osd_trigger.onLeaveArea ()
+{
+ component c = sui_vis_full.findObject("vis");
+ c.sendAction("setregion", "vis.normal.region", 0, 0, 0, 0);
+}*/
+
+/** Calls after comp is shown */
+
+onCloseIC() {}
+onOpenIC() {}
+
+onShowCover() {}
+
+onHideCover() {}
+
+onShowFi() {}
+
+onHideFi() {}
+
+onShowEq() {}
+
+onHideEq() {}
+
+onShowCfg() {}
+
+onHideCfg() {}
+
+onShowVis()
+{
+ g_visbtns.show();
+}
+onHideVis()
+{
+ g_visbtns.hide();
+}
+
+onShowVis_Full() {}
+
+onHideVis_Full() {}
+
+#ifdef DOHIDEMCV
+onhideMCV() {}
+#endif
+
+fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh)
+{
+ if (!g) return;
+ g.setXmlParam("x", integerToString(x));
+ g.setXmlParam("y", integerToString(y));
+ g.setXmlParam("w", integerToString(w));
+ g.setXmlParam("h", integerToString(h));
+ g.setXmlParam("relatx", integerToString(rx));
+ g.setXmlParam("relaty", integerToString(ry));
+ g.setXmlParam("relatw", integerToString(rw));
+ g.setXmlParam("relath", integerToString(rh));
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/mcvcore.maki b/Src/resources/skins/Big Bento/scripts/mcvcore.maki
new file mode 100644
index 00000000..4a5139f2
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mcvcore.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/mcvcore/defs.m b/Src/resources/skins/Big Bento/scripts/mcvcore/defs.m
new file mode 100644
index 00000000..eb75a680
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mcvcore/defs.m
@@ -0,0 +1,98 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: defs.m
+Version: 1.0
+
+Type: maki
+Date: 08. Jun. 2007 - 23:32
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/infocompcore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+
+Function _##CURR_COMP##_switchTo();
+Function _##CURR_COMP##_show();
+Function _##CURR_COMP##_hide();
+
+Function _##CURR_COMP##_onHide();
+Function _##CURR_COMP##_onShow();
+
+Function _##CURR_COMP##_dc_show();
+Function _##CURR_COMP##_dc_hide();
+
+Global Group _##CURR_COMP##_sui;
+Global Boolean _##CURR_COMP##_callback_hiding, _##CURR_COMP##_callback_showing;
+Global Boolean _##CURR_COMP##_showing, _##CURR_COMP##_hiding;
+
+
+
+_##CURR_COMP##_show()
+{
+ debugString(DEBUG_PREFIX "_##CURR_COMP##_show() {", D_WTF);
+
+ _##CURR_COMP##_showing = 1;
+ GuiObject o = _##CURR_COMP##_sui;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) ##CURR_COMP## object not provided (show)", D_WTF);
+#endif
+ _##CURR_COMP##_onShow();
+ _##CURR_COMP##_showing = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+_##CURR_COMP##_hide()
+{
+ debugString(DEBUG_PREFIX "_##CURR_COMP##_hide() {", D_WTF);
+
+ _##CURR_COMP##_hiding = 1;
+ GuiObject o = _##CURR_COMP##_sui;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) ##CURR_COMP## object not provided (hide)", D_WTF);
+#endif
+ _##CURR_COMP##_onHide();
+ _##CURR_COMP##_hiding = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+_##CURR_COMP##_dc_show ()
+{
+ debugString(DEBUG_PREFIX "_##CURR_COMP##__dc_show();", D_WTF);
+ _##CURR_COMP##_callback_showing = 1;
+ _##CURR_COMP##_callback_hiding = 0;
+ callbackTimer.start();
+}
+
+_##CURR_COMP##_dc_hide()
+{
+ _##CURR_COMP##_callback_showing = 0;
+ _##CURR_COMP##_callback_hiding = 1;
+ callbackTimer.start();
+}
+
+_##CURR_COMP##_onShow() {}
+_##CURR_COMP##_onHide() {} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/mcvcore/external_handles.m b/Src/resources/skins/Big Bento/scripts/mcvcore/external_handles.m
new file mode 100644
index 00000000..7d86bf6f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mcvcore/external_handles.m
@@ -0,0 +1,295 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: external_handles.m
+Version: 1.0
+
+Type: maki
+Date: 29. Nov. 2006 - 15:57
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/suicore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#ifdef DEBUG
+/** has only debug aims :) */
+/*
+System.onLookForComponent(String guid) {
+debugString(DEBUG_PREFIX "System.onLookForComponent ( "+ guid + " )", D_WTF);
+}*/
+#endif
+
+#ifdef IC_COVERFLOW
+#define ACTIONPERFORMED showing_Fi || hiding_Fi || showing_Cover || hiding_Cover || showing_Vis || hiding_Vis || showing_Vis_Full || hiding_Vis_Full || hiding_eq || showing_eq || hiding_cfg || showing_cfg || _plsc_hiding || _plsc_showing || _cflow_hiding || _cflow_showing
+#endif
+#ifndef IC_COVERFLOW
+#define ACTIONPERFORMED showing_Fi || hiding_Fi || showing_Cover || hiding_Cover || showing_Vis || hiding_Vis || showing_Vis_Full || hiding_Vis_Full || hiding_eq || showing_eq || hiding_cfg || showing_cfg || _plsc_hiding || _plsc_showing
+#endif
+/** the component switching */
+
+System.onGetCancelComponent(String guid, boolean goingvisible) {
+ debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " ) {", D_WTF);
+
+ if (bypasscancel)
+ {
+ debugString(DEBUG_PREFIX " --> bypasscancel", 0);
+ debugString(DEBUG_PREFIX " return FALSE;", 0);
+ debugString(DEBUG_PREFIX "}", 0);
+
+ return FALSE;
+ }
+ if (guid == VIS_GUID && !goingvisible && hiding_vis)
+ {
+ debugString(DEBUG_PREFIX " --> hiding_vis", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIS_GUID && goingvisible && showing_vis)
+ {
+ debugString(DEBUG_PREFIX " --> showing_vis", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIS_GUID && !goingvisible && hiding_vis_full)
+ {
+ debugString(DEBUG_PREFIX " --> hiding_vis", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIS_GUID && goingvisible && showing_vis_full)
+ {
+ debugString(DEBUG_PREFIX " --> showing_vis", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+
+ if (!main.isVisible())
+ {
+ debugString(DEBUG_PREFIX " --> main layout isn't visible", 0);
+ debugString(DEBUG_PREFIX " return FALSE;", 0);
+ debugString(DEBUG_PREFIX "}", 0);
+
+ return FALSE;
+ }
+
+ if (goingvisible) {
+ if (guid == VIS_GUID)
+ {
+ if (vis_inbig_attrib.getData() == "1") return FALSE;
+ debugString(DEBUG_PREFIX " --> external showing_vis --- start Timer", D_WTF);
+ if (vis_lefttoplayer_attrib.getData() == "1" && !sui_vis.isVisible())
+ {
+ sui_vis_wdh.setXmlParam("autoopen", "0");
+ //showVis();
+ callback_showing_vis = 1;
+ callback_hiding_vis = 0;
+ callbackTimer.onTimer();
+
+ sui_vis_wdh.setXmlParam("autoopen", "1");
+
+ debugString(DEBUG_PREFIX " --> open SMALL", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+ if (vis_lefttoplayer_full_attrib.getData() == "1" && !sui_vis_full.isVisible())
+ {
+ sui_vis_full_wdh.setXmlParam("autoopen", "0");
+ //switchToVis_Full();
+ callback_showing_vis_full = 1;
+ callback_hiding_vis_full = 0;
+ callbackTimer.onTimer();
+ sui_vis_full_wdh.setXmlParam("autoopen", "1");
+
+ debugString(DEBUG_PREFIX " --> open FULL", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+ debugString(DEBUG_PREFIX " return FALSE; (other handle?)", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+ }
+ if (!goingvisible) {
+ if (guid == VIS_GUID && (sui_vis.isVisible() || sui_vis_full.isVisible())) {
+ if (vis_inbig_attrib.getData() == "1") return FALSE;
+ debugString(DEBUG_PREFIX " --> external hiding_vis", D_WTF);
+
+ if (ic_vis.getdata() == "1")
+ {
+ ic_fileinfo.setdata("1");
+ }
+
+ ic_vis_fileinfo.setData("0");
+
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+ }
+
+ debugString(DEBUG_PREFIX " --> Went thru", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+}
+
+ic_cover_fileinfo.onDataChanged ()
+{
+ if (ic_fileinfo.getData() == "0") return;
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ updateFileInfo();
+ mychange = 0;
+}
+
+ic_fileinfo.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ updateFileInfo();
+ }
+ mychange = 0;
+}
+
+ic_eq.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ switchToEq();
+ }
+ mychange = 0;
+}
+
+ic_config.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ switchToCfg();
+ }
+ mychange = 0;
+}
+
+_plsc_ic_attrib.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ _Plsc_switchTo();
+ }
+ mychange = 0;
+}
+
+#ifdef IC_COVERFLOW
+_cflow_ic_attrib.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ _Cflow_switchTo();
+ }
+ mychange = 0;
+}
+#endif
+
+ic_vis.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ ic_vis_fileinfo.setData("0");
+ switchToVis_Full();
+ }
+ mychange = 0;
+}
+
+ic_vis_fileinfo.onDataChanged ()
+{
+ if (ic_fileinfo.getData() == "0") return;
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ updateFileInfo();
+ mychange = 0;
+}
+#ifdef DOHIDEMCV
+ic_hidden.onDataChanged ()
+{
+ if ( ACTIONPERFORMED ) return;
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1")
+ {
+ hideMCV();
+ }
+ mychange = 0;
+}
+#endif
+vis_lefttoplayer_attrib.onDataChanged ()
+{
+ if (mychange) return;
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ int xg = getPrivateInt(getSkinName(), "ComponentXgive", 0);
+ if (getData() == "1" && (window_content == "Vis" || ic_vis.getData() == "1" || xg))
+ {
+ if (xg) setPrivateInt(getSkinName(), "ComponentXgive", 0);
+ ic_vis_fileinfo.setData("1");
+ ic_fileinfo.setData("0");
+ }
+ else if (getData() == "0" && sui_vis.isVisible() && vis_lefttoplayer_full_attrib.getData() != "1")
+ {
+ setPrivateInt(getSkinName(), "ComponentXgive", 1);
+ ic_vis_fileinfo.setData("0");
+ }
+}
+
+vis_lefttoplayer_full_attrib.onDataChanged ()
+{
+ if (mychange) return;
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ int xg = getPrivateInt(getSkinName(), "ComponentXgive", 0);
+ if (getData() == "1" && (window_content == "Vis" || ic_vis_fileinfo.getData() == "1" || xg))
+ {
+ if (xg) setPrivateInt(getSkinName(), "ComponentXgive", 0);
+ switchToVis_Full();
+ }
+ else if (getData() == "0" && sui_vis_full.isVisible() && vis_lefttoplayer_attrib.getData() != "1")
+ {
+ setPrivateInt(getSkinName(), "ComponentXgive", 1);
+ updateFileInfo();
+ }
+}
diff --git a/Src/resources/skins/Big Bento/scripts/mcvcore/load_handles.m b/Src/resources/skins/Big Bento/scripts/mcvcore/load_handles.m
new file mode 100644
index 00000000..00a1f78a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mcvcore/load_handles.m
@@ -0,0 +1,138 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: load_handles.m
+Version: 1.0
+
+Type: maki
+Date: 28. Dez. 2006 - 08:40
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/infocompcore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+System.onScriptLoaded ()
+{
+ initAttribs_windowpage();
+ initAttribs_vis();
+ initAttribs_Appearance();
+
+ debugString(DEBUG_PREFIX "System.onScriptLoded() {", 0);
+
+ sg = getScriptGroup();
+ main = sg.getParentLayout();
+
+ if (getParam() == "big")
+ {
+ mainframe = main.getObject("player.mainframe.big");
+ }
+ else
+ {
+ mainframe = main.getObject("player.mainframe");
+ }
+
+ dualwnd = mainframe.findObject("player.dualwnd");
+
+ sui_cover = sg.findObject("info.component.cover");
+ sui_vis = sg.findObject("info.component.vis");
+ sui_vis_full = sg.findObject("info.component.vis.full");
+ sui_vis_wdh = sui_vis.getObject("vis");
+ sui_vis_full_wdh = sui_vis_full.getObject("vis");
+ sui_fi = sg.findObject("info.component.infodisplay");
+ sui_eq = sg.findObject("info.component.eq");
+ sui_cfg = sg.findObject("info.component.config");
+ _plsc_sui = sg.findObject("info.component.plsidecar");
+#ifdef IC_COVERFLOW
+ _cflow_sui = sg.findObject("info.component.coverflow");
+#endif
+ g_footer = sg.findObject("infocomp.background.footer");
+ g_visbtns = g_footer.findObject("infocomp.visbuttons");
+ footerGrid = g_footer.findObject("footer.background.grid");
+
+ compChoose = sg.findObject("comp.menu");
+ sendToBtn = sg.findObject("sendTo");
+ //nowPlayingBtn = sg.findObject("nowplaying");
+ //webSearchBtn = sg.findObject("search");
+#ifdef DOHIDEMCV
+ last_menu_sel = getPrivateInt(getSkinName(), "MCV last sel", 1);
+#endif
+ callbackTimer = new Timer;
+ callbackTimer.setDelay(1);
+ tempDisable = new Timer;
+ tempDisable.setDelay(50);
+
+ if (ic_fileinfo.getData() == "1")
+ {
+ updateFileInfo ();
+ }
+ else if (ic_vis.getData() == "1")
+ {
+ switchToVis_Full();
+ }
+ else if (ic_eq.getData() == "1")
+ {
+ switchToEq();
+ }
+ else if (ic_config.getData() == "1")
+ {
+ switchToCfg();
+ }
+ else if (_plsc_ic_attrib.getData() == "1")
+ {
+ _plsc_switchTo();
+ }
+#ifdef IC_COVERFLOW
+ else if (_cflow_ic_attrib.getData() == "1")
+ {
+ _cflow_switchTo();
+ }
+#endif
+#ifdef DOHIDEMCV
+ else if (ic_hidden.getData() == "1")
+ {
+ hideMCV();
+ }
+#endif
+ startup_done = 1;
+ debugString(DEBUG_PREFIX "}", 0);
+ prevent_vis = 0;
+}
+
+updateFileInfo ()
+{
+ if (ic_vis_fileinfo.getData() == "1" && ic_cover_fileinfo.getData() == "1")
+ {
+ switchToVisCover();
+ }
+ else if (ic_vis_fileinfo.getData() == "1")
+ {
+ switchToVis();
+ }
+ else if (ic_cover_fileinfo.getData() == "1")
+ {
+ switchToCover();
+ }
+ else
+ {
+ switchToIcOnly();
+ }
+}
+
+System.onScriptUnloading ()
+{
+ debugString(DEBUG_PREFIX "System.onScriptUnloading() {", 0);
+
+ delete callbackTimer;
+ delete tempDisable;
+
+ debugString(DEBUG_PREFIX " delete Timers;", 0);
+ debugString(DEBUG_PREFIX "}", 0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/mcvcore/show_hide.m b/Src/resources/skins/Big Bento/scripts/mcvcore/show_hide.m
new file mode 100644
index 00000000..28a6f2f3
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mcvcore/show_hide.m
@@ -0,0 +1,915 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: show_hide.m
+Version: 1.0
+
+Type: maki
+Date: 29. Nov. 2006 - 15:57
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/infocompcore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+switchToCover ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis();
+ hideVis_Full();
+ hideEq();
+ hideCfg();
+ openIC();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done)
+ {
+ ic_cover_fileinfo.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ mychange = 0;
+ substract = 0;
+ sui_cover.setXmlParam("x", "4");
+
+ dualwnd.setXmlParam("maxwidth", "-127");
+ dualwnd.sendAction("set_maxwidth", "", -127, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "117");
+ g_footer.setXmlParam("w", "-118");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showCover();
+ FIT_W_COMP;
+ updateSaving(1);
+}
+
+switchToVisCover ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideEq();
+ hideCfg();
+ openIC();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done)
+ {
+ ic_cover_fileinfo.setData("1");
+ ic_vis_fileinfo.setData("1");
+ vis_lefttoplayer_attrib.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ mychange = 0;
+ substract = 0;
+ sui_cover.setXmlParam("x", "119");
+
+ dualwnd.setXmlParam("maxwidth", "-242");
+ dualwnd.sendAction("set_maxwidth", "", -242, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "232");
+ g_footer.setXmlParam("w", "-234");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showCover();
+ showVis();
+ FIT_W2_COMP;
+ updateSaving(1);
+}
+switchToVis ()
+{
+ debugString(DEBUG_PREFIX "switchToVis();", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideCover();
+ hideVis_Full();
+ hideEq();
+ hideCfg();
+ openIC();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done)
+ {
+ ic_vis_fileinfo.setData("1");
+ vis_lefttoplayer_attrib.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ mychange = 0;
+ substract = 1;
+
+ dualwnd.setXmlParam("maxwidth", "-127");
+ dualwnd.sendAction("set_maxwidth", "", -127, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "117");
+ g_footer.setXmlParam("w", "-118");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showVis();
+ FIT_W_COMP;
+ updateSaving(1);
+}
+
+switchToIcOnly ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideEq();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ if (startup_done) ic_fileinfo.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-127");
+ dualwnd.sendAction("set_maxwidth", "", -127, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showFi();
+ FIT_WO_COMP;
+ updateSaving(1);
+}
+
+switchToEq ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ substract = 1;
+ ic_eq.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-196");
+ dualwnd.sendAction("set_maxwidth", "", -196, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showEq();
+ updateSaving(4);
+}
+
+switchToCfg ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideEq();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ ic_config.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 2;
+
+ dualwnd.setXmlParam("maxwidth", "-242");
+ dualwnd.sendAction("set_maxwidth", "", -242, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ showCfg();
+ updateSaving(5);
+}
+
+_Plsc_switchTo ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideEq();
+ hideCfg();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ _plsc_ic_attrib.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ _Plsc_show();
+ updateSaving(3);
+}
+
+#ifdef IC_COVERFLOW
+_Cflow_switchTo ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ hideVis();
+ hideCover();
+ hideFi();
+ hideEq();
+ hideCfg();
+ _Plsc_hide();
+ mychange = 1;
+ _cflow_ic_attrib.setData("1");
+ //ic_vis_fileinfo.setData("0");
+ //ic_vis.setData("0");
+ mychange = 0;
+ substract = 0;
+
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+
+ _Cflow_show();
+ updateSaving(3);
+}
+#endif
+
+switchToVis_Full ()
+{
+ debugString(DEBUG_PREFIX "switchToVis_FULL();", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ closeIC();
+ hideVis();
+ hideCover();
+ hideEq();
+ //hideFi();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ ic_vis.setData("1");
+ vis_lefttoplayer_full_attrib.setData("1");
+ mychange = 0;
+ substract = 1;
+
+ dualwnd.setXmlParam("maxwidth", "-196");
+ dualwnd.sendAction("set_maxwidth", "", -196, 0 , 0, 0);
+
+ g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+
+ updateFooter();
+
+#ifdef DOHIDEMCV
+ dualwnd.setXmlParam("from", "right");
+ dualwnd.setXmlParam("minwidth", "147");
+#endif
+ showVis_Full();
+ updateSaving(2);
+}
+
+#ifdef DOHIDEMCV
+hideMCV ()
+{
+ debugString(DEBUG_PREFIX "hideMCV();", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis_Full();
+ closeIC();
+ hideVis();
+ hideCover();
+ hideEq();
+ //hideFi();
+ hideCfg();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+ mychange = 1;
+ ic_hidden.setData("1");
+ mychange = 0;
+ updateSaving(0);
+ /*g_footer.setXmlParam("x", "6");
+ g_footer.setXmlParam("w", "-7");
+ dualwnd.setXmlParam("maxwidth", "-156");
+ dualwnd.sendAction("set_maxwidth", "", -156, 0 , 0, 0);*/
+// dualwnd.setXmlParam("maxwidth", "-8");
+// dualwnd.sendAction("set_maxwidth", "", -8, 0 , 0, 0);
+ dualwnd.setXmlParam("from", "left");
+ dualwnd.setXmlParam("minwidth", integerToString(8 - stringtoInteger(dualwnd.getXmlParam("maxwidth"))));
+ dualwnd.setXmlParam("maxwidth", "-155");
+ dualwnd.sendAction("set_maxwidth", "", -155, 0 , 0, 0);
+ dualwnd.setPosition(0);
+ updateSaving(6);
+}
+#endif
+
+tempDisable.onTimer()
+{
+ stop();
+}
+
+closeLC ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideVis();
+ hideCover();
+ hideCfg();
+ hideEq();
+ hideVis_Full();
+ _Plsc_hide();
+#ifdef IC_COVERFLOW
+ _Cflow_hide();
+#endif
+}
+
+closeIC ()
+{
+ debugString(DEBUG_PREFIX "closeIC() {", 0);
+
+ hideFi();
+
+ onCloseIC();
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+openIC ()
+{
+ debugString(DEBUG_PREFIX "openIC() {", 0);
+
+ showFi();
+
+ onOpenIC();
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+showFi()
+{
+ debugString(DEBUG_PREFIX "showFi() {", 0);
+
+ showing_fi = 1;
+ setPrivateString(getSkinName(), "Component3", "File Info");
+ GuiObject o = sui_fi;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) fi object not provided (show)", 0);
+#endif
+ onShowFi();
+ showing_Fi = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+hideFi()
+{
+ debugString(DEBUG_PREFIX "hideFi() {", 0);
+
+ hiding_Fi = 1;
+ GuiObject o = sui_fi;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) sfi object not provided (hide)", 0);
+#endif
+ onHideFi();
+ hiding_Fi = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+showVis()
+{
+ //if (vis_inbig_attrib.getData() == "1") return;
+ debugString(DEBUG_PREFIX "showVis() {", D_WTF);
+ showing_vis = 1;
+ GuiObject o = sui_vis;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) vis object not provided (show)", D_WTF);
+#endif
+ onShowVis();
+ showing_vis = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideVis()
+{
+ debugString(DEBUG_PREFIX "hideVis() {", D_WTF);
+
+ hiding_vis = 1;
+ GuiObject o = sui_vis;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) vis object not provided (hide)", D_WTF);
+#endif
+ onHideVis();
+ hiding_vis = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+showCover()
+{
+ debugString(DEBUG_PREFIX "showCover() {", 0);
+
+ showing_Cover = 1;
+ GuiObject o = sui_Cover;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Cover object not provided (show)", 0);
+#endif
+ onShowCover();
+ showing_Cover = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+hideCover()
+{
+ debugString(DEBUG_PREFIX "hideCover() {", 0);
+
+ hiding_Cover = 1;
+ GuiObject o = sui_Cover;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", 0);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Cover object not provided (hide)", 0);
+#endif
+ onHideCover();
+ hiding_Cover = 0;
+
+ debugString(DEBUG_PREFIX "}", 0);
+}
+
+showVis_Full()
+{
+ debugString(DEBUG_PREFIX "showVis_Full() {", D_WTF);
+
+ showing_vis_full = 1;
+ GuiObject o = sui_vis_full;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (show)", D_WTF);
+#endif
+ onShowVis_Full();
+ showing_vis_full = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideVis_Full()
+{
+ debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
+
+ hiding_vis_full = 1;
+ GuiObject o = sui_vis_full;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (hide)", D_WTF);
+#endif
+ onHideVis_Full();
+ hiding_vis_full = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+showEq()
+{
+ debugString(DEBUG_PREFIX "showEq() {", D_WTF);
+
+ showing_eq = 1;
+ GuiObject o = sui_eq;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Vis_Full object not provided (show)", D_WTF);
+#endif
+ onShowEq();
+ showing_eq = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideEq()
+{
+ debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
+
+ hiding_eq = 1;
+ GuiObject o = sui_eq;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) Eq object not provided (hide)", D_WTF);
+#endif
+ onHideEq();
+ hiding_eq = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+showCfg()
+{
+ debugString(DEBUG_PREFIX "showCfg() {", D_WTF);
+
+ showing_cfg = 1;
+ GuiObject o = sui_cfg;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) cfg_Full object not provided (show)", D_WTF);
+#endif
+ onShowcfg();
+ showing_cfg = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+hideCfg()
+{
+ debugString(DEBUG_PREFIX "hideVis_Full() {", D_WTF);
+
+ hiding_cfg = 1;
+ GuiObject o = sui_cfg;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_WTF);
+ }
+#ifdef DEBUG
+ else debugString(DEBUG_PREFIX " --> (!) cfg object not provided (hide)", D_WTF);
+#endif
+ onHidecfg();
+ hiding_cfg = 0;
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+}
+
+callbackTimer.onTimer()
+{
+ callbackTimer.stop();
+
+ debugString(DEBUG_PREFIX "callbackTimer();", D_WTF);
+
+ int _callback_showing_vis = callback_showing_vis;
+ int _callback_hiding_vis = callback_hiding_vis;
+ int _callback_showing_fi = callback_showing_fi;
+ int _callback_hiding_fi = callback_hiding_fi;
+ int _callback_showing_cover = callback_showing_cover;
+ int _callback_hiding_cover = callback_hiding_cover;
+ int _callback_showing_vis_full = callback_showing_vis_full;
+ int _callback_hiding_vis_full = callback_hiding_vis_full;
+ int _callback_showing_eq = callback_showing_eq;
+ int _callback_hiding_eq = callback_hiding_eq;
+ int _callback_showing_cfg = callback_showing_cfg;
+ int _callback_hiding_cfg = callback_hiding_cfg;
+ int _plsc_callback_showing_temp = _plsc_callback_showing;
+ int _plsc_callback_hiding_temp = _plsc_callback_hiding;
+#ifdef IC_COVERFLOW
+ int _cflow_callback_showing_temp = _cflow_callback_showing;
+ int _cflow_callback_hiding_temp = _cflow_callback_hiding;
+#endif
+
+ callback_showing_vis = 0;
+ callback_hiding_vis = 0;
+ callback_showing_fi = 0;
+ callback_hiding_fi = 0;
+ callback_showing_cover = 0;
+ callback_hiding_cover = 0;
+ callback_showing_vis_full = 0;
+ callback_hiding_vis_full = 0;
+ callback_showing_eq = 0;
+ callback_hiding_eq = 0;
+ callback_showing_cfg = 0;
+ callback_hiding_cfg = 0;
+ _plsc_callback_showing = 0;
+ _plsc_callback_hiding = 0;
+#ifdef IC_COVERFLOW
+ _cflow_callback_showing = 0;
+ _cflow_callback_hiding = 0;
+#endif
+
+ if (_callback_showing_vis == 1)
+ {
+ ic_vis_fileinfo.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ if (_callback_hiding_vis == 1)
+ {
+ ic_vis_fileinfo.setData("0");
+ }
+ if (_callback_showing_fi == 1)
+ {
+ showFi();
+ }
+ if (_callback_hiding_fi == 1)
+ {
+ hideFi();
+ }
+ if (_callback_showing_cover == 1)
+ {
+ ic_cover_fileinfo.setData("1");
+ ic_fileinfo.setData("1");
+ }
+ if (_callback_hiding_cover == 1)
+ {
+ ic_cover_fileinfo.setData("0");
+ }
+ if (_callback_showing_vis_full == 1)
+ {
+ switchToVis_Full();
+ }
+ if (_callback_hiding_vis_full == 1)
+ {
+ hideVis_Full();
+ }
+ if (_callback_showing_eq == 1)
+ {
+ switchToEq();
+ }
+ if (_callback_hiding_eq == 1)
+ {
+ hideEq();
+ }
+ if (_callback_showing_cfg == 1)
+ {
+ switchTocfg();
+ }
+ if (_callback_hiding_cfg == 1)
+ {
+ hidecfg();
+ }
+ if (_plsc_callback_showing_temp == 1)
+ {
+ _Plsc_switchTo();
+ }
+ if (_plsc_callback_hiding_temp == 1)
+ {
+ _Plsc_hide();
+ }
+#ifdef IC_COVERFLOW
+ if (_cflow_callback_showing_temp == 1)
+ {
+ _Cflow_switchTo();
+ }
+ if (_cflow_callback_hiding_temp == 1)
+ {
+ _Cflow_hide();
+ }
+#endif
+}
+
+dc_showFi ()
+{
+ callback_showing_fi = 1;
+ callback_hiding_fi = 0;
+ callbackTimer.start();
+}
+
+dc_hideFi ()
+{
+ callback_showing_fi = 0;
+ callback_hiding_fi = 1;
+ callbackTimer.start();
+}
+
+dc_showCover ()
+{
+ callback_showing_cover = 1;
+ callback_hiding_cover = 0;
+ callbackTimer.start();
+}
+
+dc_hideCover ()
+{
+ callback_showing_cover = 0;
+ callback_hiding_cover = 1;
+ callbackTimer.start();
+}
+
+dc_showVis ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis();", D_WTF);
+ callback_showing_vis = 1;
+ callback_hiding_vis = 0;
+ callbackTimer.start();
+}
+
+dc_hideVis ()
+{
+ callback_showing_vis = 0;
+ callback_hiding_vis = 1;
+ callbackTimer.start();
+}
+
+dc_showVis_Full ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
+ callback_showing_vis_full = 1;
+ callback_hiding_vis_full = 0;
+ callbackTimer.start();
+}
+
+dc_hideVis_Full ()
+{
+ callback_showing_vis_full = 0;
+ callback_hiding_vis_full = 1;
+ callbackTimer.start();
+}
+
+dc_showEq ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
+ callback_showing_eq = 1;
+ callback_hiding_eq = 0;
+ callbackTimer.start();
+}
+
+dc_hideEq ()
+{
+ callback_showing_eq = 0;
+ callback_hiding_eq = 1;
+ callbackTimer.start();
+}
+
+dc_showCfg ()
+{
+ debugString(DEBUG_PREFIX "dc_showVis_Full();", D_WTF);
+ callback_showing_Cfg = 1;
+ callback_hiding_Cfg = 0;
+ callbackTimer.start();
+}
+
+dc_hideCfg ()
+{
+ callback_showing_Cfg = 0;
+ callback_hiding_Cfg = 1;
+ callbackTimer.start();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/mute.m b/Src/resources/skins/Big Bento/scripts/mute.m
new file mode 100644
index 00000000..6a55eb79
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mute.m
@@ -0,0 +1,162 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: mute.m
+Version: 1.1
+
+Type: maki
+Date: 13. Jun. 2007 - 12:39
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script is based on mute.m
+ from Winamp Modern
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+#define GLOW_OBJECT MuteButton
+#include <lib/com/glow.m>
+
+Class Button GlowButton;
+
+Global int VOLUME_FILL_MAX_W;
+
+Global Group frameGroup;
+Global Button MuteBtn, DeMuteBtn;
+Global GuiObject SongTicker;
+Global Float VolumeLevel;
+Global Boolean Muted,BtnPressed;
+Global GuiObject fill;
+Global GuiObject muteActive;
+Global Int muteActive_Y;
+Global Boolean demuteDown;
+Global Boolean isShade;
+
+System.onScriptLoaded()
+{
+ frameGroup = system.getScriptGroup();
+ isShade = (frameGroup.getParentlayout().getID() == "shade");
+
+ MuteBtn = frameGroup.findObject("mute");
+ DeMuteBtn = frameGroup.findObject("etum");
+ fill = frameGroup.findObject("player.volume.fill");
+ muteActive = frameGroup.findObject("mute.active");
+ SongTicker = frameGroup.findObject("songticker");
+
+ if (!isShade) muteActive_Y = muteActive.getGuiY();
+
+ if (!isShade) _MuteButton_GlowInit (MuteBtn, frameGroup.findObject("mute.glow"), 0.3);
+ if (!isShade) _MuteButton_addTrigger (DeMuteBtn);
+
+ Muted = getPrivateInt("winamp5", "muted", 0);
+ VolumeLevel = getPrivateInt("winamp5", "old_volume", 0);
+
+ VOLUME_FILL_MAX_W = stringToInteger(getParam());
+
+ fill.setXmlParam("w", integerToString(VOLUME_FILL_MAX_W*getVolume()/255));
+
+ if (Muted)
+ {
+ SongTicker.sendAction("showinfo", "Mute ON", 0, 0, 0, 0);
+ MuteBtn.hide();
+ DeMuteBtn.show();
+ if (!isShade) muteActive.show();
+ }
+ else
+ {
+ MuteBtn.show();
+ DeMuteBtn.hide();
+ if (!isShade) muteActive.hide();
+ }
+
+ BtnPressed = 0;
+}
+
+
+System.onScriptUnloading()
+{
+ setPrivateInt("winamp5", "muted", Muted);
+ setPrivateInt("winamp5", "old_volume", VolumeLevel);
+}
+
+MuteBtn.onLeftClick()
+{
+ BtnPressed = 1;
+
+ VolumeLevel = System.getVolume();
+ System.setVolume(0);
+ Muted = 1;
+ DeMuteBtn.show();
+ MuteBtn.hide();
+ if (!isShade) muteActive.show();
+}
+
+MuteBtn.onLeftButtonDown (int x, int y)
+{
+ SongTicker.sendAction("showinfo", "Mute: Off", 0, 0, 0, 0);
+}
+
+DeMuteBtn.onLeftButtonDown (int x, int y)
+{
+ SongTicker.sendAction("showinfo", "Mute: On", 0, 0, 0, 0);
+ if (!isShade) demuteDown = 1;
+ if (!isShade) muteActive.setXmlParam("y", integerToString(muteActive_Y+1));
+}
+
+MuteBtn.onLeftButtonUp (int x, int y)
+{
+ if (Muted) SongTicker.sendAction("showinfo", "Mute: On", 0, 0, 0, 0);
+}
+
+DeMuteBtn.onLeftButtonUp (int x, int y)
+{
+ if (!Muted) SongTicker.sendAction("showinfo", "Mute: Off", 0, 0, 0, 0);
+ if (!isShade) demuteDown = 0;
+ if (!isShade) muteActive.setXmlParam("y", integerToString(muteActive_Y));
+}
+
+DeMuteBtn.onLeftClick()
+{
+ BtnPressed = 1;
+
+ System.setVolume(VolumeLevel);
+ Muted = 0;
+ DeMuteBtn.hide();
+ MuteBtn.show();
+ if (!isShade) muteActive.hide();
+}
+
+DeMuteBtn.onleaveArea ()
+{
+ if (!isShade) muteActive.setXmlParam("y", integerToString(muteActive_Y));
+}
+
+DeMuteBtn.onEnterArea ()
+{
+ if (!isShade && demuteDown) muteActive.setXmlParam("y", integerToString(muteActive_Y+1));
+}
+
+System.onvolumechanged(int newvol)
+{
+ fill.setXmlParam("w", integerToString(VOLUME_FILL_MAX_W*getVolume()/255));
+ if (!BtnPressed)
+ {
+ SongTicker.sendAction
+ (
+ "showinfo",
+ translate("Volume") + ": " + integerToString(newvol/2.55) + "%",
+ 0, 0, 0, 0
+ );
+ if (Muted)
+ {
+ Muted = 0;
+ MuteBtn.show();
+ DeMuteBtn.hide();
+ if (!isShade) muteActive.hide();
+ }
+ }
+ BtnPressed = 0;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/mute.maki b/Src/resources/skins/Big Bento/scripts/mute.maki
new file mode 100644
index 00000000..254c8063
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/mute.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/notifier.m b/Src/resources/skins/Big Bento/scripts/notifier.m
new file mode 100644
index 00000000..91fd8ae0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/notifier.m
@@ -0,0 +1,827 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: notifier.m
+Version: 1.3
+
+Type: maki/notifier
+Date: 14. Mrz. 2007 - 14:50
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: Based on notifier.m from Winamp Modern
+
+
+
+-----------------------------------------------------
+// Workaround for Winamp bug by Pieter Nieuwoudt (pjn123) - pjn123@outlook.com \\
+
+Temparary fix for the Winamp bug where the...
+extern AlbumArtLayer.onAlbumArtLoaded(boolean success);
+...event stops working.
+
+Please note that this workaround only kicks in if the above event stops responding.
+If you want to test the workaround, just add // after the FORCE_BUG_MODE below.
+Once the above event stop responding the first notifier trigger will be delayed (3 sec),
+but after that there will be no delays anymore.
+
+To remove this fix in the future just search //BUGFIX for steps ;)
+
+-----------------------------------------------------
+---------------------------------------------------*/
+#define FORCE_BUG_MODE
+
+#include <lib/std.mi>
+#include attribs/init_notifier.m
+#define DEBUG
+#define DebugString //
+
+Function reset();
+Function createNotifier(boolean cancel);
+Function showNotifier(Int w);
+Function onNext();
+function cancelAnimation();
+
+Function Int fillNextTrackInfo(String corneroverride);
+Function Int fillCustomInfo(String customstring);
+Function prepareAlbumArtNotifier();
+
+Function checkPref(int bypassfs);
+
+Function getArtist();
+
+Function onAlbumArt(Boolean success);
+
+Global Container notifier_container;
+Global Layout notifier_layout;
+Global Timer notifier_timer;
+Global String last_autotitle, last_autopis, cur_status;
+
+Global Boolean b_tohide = 0;
+Global boolean handleAACalback = false;
+
+Global AlbumArtLayer cover;
+
+Global Boolean triggerBug; //BUGFIX remove this
+Global Timer fallbackTempFix; //BUGFIX remove this
+
+#define WEBCOVER_SHOUTCAST "winamp.cover.shoutcast"
+
+// ------------------------------------------------------------------------------
+// init
+// ------------------------------------------------------------------------------
+System.onScriptLoaded() {
+ initAttribs_notifier();
+ notifier_timer = new Timer;
+ fallbackTempFix = new Timer; //BUGFIX remove this
+ fallbackTempFix.setDelay(3000); //BUGFIX remove this / Time that onAlbumArtLoaded have to execute before bug mode is ON
+}
+
+// ------------------------------------------------------------------------------
+// shutdown
+// ------------------------------------------------------------------------------
+System.onScriptUnloading() {
+ delete notifier_timer;
+ delete fallbackTempFix; //BUGFIX remove this
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the global hotkey for notification is pressed
+// ------------------------------------------------------------------------------
+System.onShowNotification() {
+ //if (checkPref(1)) return; --mp: if we push the hotkey, we want to show the notifier, no matter what the pref settings are.
+ createNotifier(false);
+ if (getStatus() == STATUS_PLAYING) cur_status = "Playing";
+ if (getStatus() == STATUS_PAUSED) cur_status = "Playback Paused";
+ if (getStatus() == STATUS_STOPPED) cur_status = "Playback Stopped";
+ prepareAlbumArtNotifier();
+ complete; // prevents other scripts from getting the message
+ return 1; // tells anybody else that might watch the returned value that, yes, we implemented that
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the title for the playing item changes, this could be the result of the player
+// going to the next track, or of an update in the track title
+// ------------------------------------------------------------------------------
+// mpdeimos> seems like we get an onTitleChange callback sometimes on pause/resume, d'oh
+Global String lastUrl = 0;
+System.onTitleChange(String newtitle) {
+ if (getPlayItemMetaDataString("streamtype") == "0" && lastUrl == getPlayItemString())
+ {
+ return;
+ }
+ lastUrl = getPlayItemString();
+
+ if (StrLeft(newtitle, 1) == "[") {
+ if (StrLeft(newtitle, 7) == "[Buffer" ||
+ StrLeft(newtitle, 4) == "[ICY") return;
+ }
+ //String newpis = System.getPlayItemString();
+ //if (last_autotitle == newtitle && last_autopis == newpis) return;
+ //last_autotitle = newtitle;
+ //last_autopis = newpis;
+ DebugString("onTitleChange: "+getPlayItemString(), 9);
+
+ onNext();
+
+ fallbackTempFix.stop(); //BUGFIX remove later
+ fallbackTempFix.start(); //BUGFIX remove later
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the next button
+// ------------------------------------------------------------------------------
+onNext() {
+ if (checkPref(0)) return;
+ createNotifier(false);
+ cur_status = "";
+ prepareAlbumArtNotifier();
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the play button
+// ------------------------------------------------------------------------------
+System.onPlay() {
+ if (checkPref(0)) return;
+ createNotifier(false);
+ cur_status = "Playing";
+ prepareAlbumArtNotifier();
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the pause button
+// ------------------------------------------------------------------------------
+System.onPause() {
+ fallbackTempFix.stop();
+ if (checkPref(0)) return;
+ DebugString("onPause",9);
+ createNotifier(true);
+ showNotifier(fillCustomInfo("Playback Paused"));
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the pause button again
+// ------------------------------------------------------------------------------
+System.onResume() {
+ if (checkPref(0)) return;
+ DebugString("onResume",9);
+ createNotifier(false);
+ cur_status = "Resuming Playback";
+ prepareAlbumArtNotifier();
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the play button
+// ------------------------------------------------------------------------------
+System.onStop() {
+ fallbackTempFix.stop();
+ if (checkPref(0)) return;
+ createNotifier(true);
+ showNotifier(fillCustomInfo("End of Playback"));
+}
+
+// ------------------------------------------------------------------------------
+// checks if we should display anything
+// ------------------------------------------------------------------------------
+Int checkPref(int bypassfs) {
+ if (!bypassfs && notifier_hideinfullscreen_attrib.getData() == "1" && isVideoFullscreen()) return 1;
+ if (notifier_never_attrib.getData() == "1") return 1;
+ if (notifier_minimized_attrib.getData() == "1" && !isMinimized()) return 1;
+ if (notifier_windowshade_attrib.getData() == "1") {
+ if (isMinimized()) return 0;
+ Container c = getContainer("main");
+ if (!c) return 1;
+ Layout l = c.getCurLayout();
+ if (!l) return 1;
+ if (l.getId() != "shade") return 1;
+ }
+ return 0;
+}
+
+// ------------------------------------------------------------------------------
+// fade in/out completed
+// ------------------------------------------------------------------------------
+// TODO: on dual monitors the notif stays on 2nd monitor :(
+notifier_layout.onTargetReached() {
+ if (b_tohide) {
+ notifier_layout.setAlpha(0);
+ reset();
+ return;
+ }
+ int a = notifier_layout.getAlpha();
+ if (a == 255 && !b_tohide) {
+ notifier_timer.setDelay(StringToInteger(notifier_holdtime_attrib.getData()));
+ notifier_timer.start();
+ }
+ else if (a == 0) {
+ reset();
+ }
+}
+
+// ------------------------------------------------------------------------------
+// hold time elapsed
+// ------------------------------------------------------------------------------
+notifier_timer.onTimer() {
+ stop();
+ if (notifier_fdout_alpha.getData() == "1") {
+ if (notifier_layout.isTransparencySafe()) {
+ notifier_layout.setTargetA(0);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeouttime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ return;
+ }
+ else {
+ reset();
+ return;
+ }
+ }
+ else if (notifier_fdout_vslide.getData() == "1") {
+ b_tohide = 1;
+ int sy;
+ int geth;
+
+ Layout m = getContainer("main").getCurLayout();
+ if (notifier_loc_vport_attrib.getData() == "1")
+ {
+ geth = getViewportHeightFromGuiObject(m);
+ }
+ else
+ {
+ geth = getMonitorHeightFromGuiObject(m);
+ }
+ if (notifier_layout.getGuiY() == 2) sy = -80;
+ else sy = geth + 80;
+ notifier_layout.setTargetY(sy);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ return;
+ }
+ else {
+ if (b_tohide) return;
+ b_tohide = 1;
+ int sx;
+ int getw;
+
+ Layout m = getContainer("main").getCurLayout();
+ if (notifier_loc_vport_attrib.getData() == "1") {
+ getw = getViewportWidthFromGuiObject(m);
+ }
+ else {
+ getw = getMonitorWidthFromGuiObject(m);
+ }
+
+ if (notifier_layout.getGuiX() == 2) sx = -notifier_layout.getWidth();
+ else sx = getw + notifier_layout.getWidth();
+ notifier_layout.setTargetX(sx);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ return;
+ }
+}
+
+// ------------------------------------------------------------------------------
+// when notifier is clicked, bring back the app from minimized state if its minimized and focus it
+// ------------------------------------------------------------------------------
+notifier_layout.onLeftButtonDown(int x, int y) {
+ cancelAnimation();
+ restoreApplication();
+ activateApplication();
+ /*if (notifier_opennowplaying_attrib.getData() == "1")
+ {
+ String artist = getArtist();
+ if (artist == "") return;
+ System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?icid=notifierbento&artistName=" + artist);
+ }*/
+ reset();
+}
+
+notifier_layout.onRightButtonUp(int x, int y) {
+ cancelAnimation();
+ reset();
+ complete;
+ return;
+}
+
+//TODO merge w/ code below
+String getArtist ()
+{
+ String artist = getPlayItemMetaDataString("artist");
+ if (artist == "") artist = getPlayItemMetaDataString("uvox/artist");
+ if (artist == "") artist = getPlayItemMetaDataString("cbs/artist");
+ if (artist == "") artist = getPlayItemMetaDataString("streamtitle");
+ if (artist == "") artist = getPlayItemDisplayTitle();
+
+ return artist;
+}
+
+// ------------------------------------------------------------------------------
+// close the notifier window, destroys the container automatically because it's dynamic
+// ------------------------------------------------------------------------------
+reset() {
+ notifier_container.close();
+ notifier_container = NULL;
+ notifier_layout = NULL;
+ handleAACalback = FALSE;
+}
+
+// ------------------------------------------------------------------------------
+createNotifier(boolean cancel) {
+ if (notifier_container == NULL) {
+ notifier_container = newDynamicContainer("notifier");
+ if (!notifier_container) return; // reinstall duh!
+ if (isDesktopAlphaAvailable())
+ notifier_layout = notifier_container.getLayout("desktopalpha");
+ else
+ notifier_layout = notifier_container.getLayout("normal");
+ if (!notifier_layout) return; // reinstall twice, man
+ } else if (cancel) {
+ cancelAnimation();
+ }
+}
+
+cancelAnimation()
+{
+ notifier_layout.cancelTarget();
+ notifier_timer.stop();
+}
+
+// ------------------------------------------------------------------------------
+showNotifier(int w) {
+ DebugString(IntegerToString(w), 0);
+ b_tohide = 0;
+ int x; int y;
+ int sy; int sx;
+ w = w + 30;
+
+ int getx, gety, geth, getw;
+
+ Layout m = getContainer("main").getCurLayout();
+ if (notifier_loc_vport_attrib.getData() == "1")
+ {
+ getx = getViewportLeftFromGuiObject(m);
+ gety = getViewportTopFromGuiObject(m);
+ geth = getViewportHeightFromGuiObject(m);
+ getw = getViewportWidthFromGuiObject(m);
+ }
+ else
+ {
+ getx = getMonitorLeftFromGuiObject(m);
+ gety = getMonitorTopFromGuiObject(m);
+ geth = getMonitorHeightFromGuiObject(m);
+ getw = getMonitorWidthFromGuiObject(m);
+ }
+ if (notifier_loc_br_attrib.getData() == "1") {
+ x = getw + getx - w - 2;
+ y = geth + gety - 80 - 2;
+ }
+ else if (notifier_loc_bl_attrib.getData() == "1") {
+ x = getx + 2;
+ y = geth + gety - 80 - 2;
+ }
+ else if (notifier_loc_bc_attrib.getData() == "1") {
+ x = getx + ((getw - w) / 2);
+ y = geth + gety - 80 - 2;
+ }
+ else if (notifier_loc_tr_attrib.getData() == "1") {
+ x = getw + getx - w - 2;
+ y = 2;
+ }
+ else if (notifier_loc_tc_attrib.getData() == "1") {
+ x = getx + ((getw - w) / 2);
+ y = 2;
+ }
+ else {
+ x = getx + 2;
+ y = 2;
+ }
+ if (notifier_fdin_alpha.getData() == "1") {
+ if (!notifier_layout.isVisible()) notifier_layout.resize(x, y, w, 80);
+ else
+ {
+ notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
+ }
+ if (notifier_layout.isTransparencySafe()) {
+ notifier_layout.show();
+ notifier_layout.settargetA(255);
+ notifier_layout.setTargetX(x);
+ notifier_layout.setTargetY(y);
+ notifier_layout.setTargetW(w);
+ notifier_layout.setTargetH(80);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ } else {
+ notifier_layout.setAlpha(255);
+ notifier_layout.show();
+ notifier_layout.settargetA(255);
+ notifier_layout.setTargetX(x);
+ notifier_layout.setTargetY(y);
+ notifier_layout.setTargetW(w);
+ notifier_layout.setTargetH(80);
+ notifier_timer.setDelay(StringToInteger(notifier_holdtime_attrib.getData()));
+ notifier_timer.start();
+ }
+ }
+ else if (notifier_fdin_vslide.getData() == "1") {
+ if (y == 2) sy = -80;
+ else sy = geth + 80;
+ if (!notifier_layout.isVisible()) notifier_layout.resize(x, sy, w, 80);
+ else
+ {
+ notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
+ }
+ notifier_layout.show();
+ notifier_layout.setAlpha(255);
+ notifier_layout.setTargetX(x);
+ notifier_layout.setTargetY(y);
+ notifier_layout.setTargetW(w);
+ notifier_layout.setTargetH(80);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ }
+ else {
+ if (x < (getw + getx)/2) sx = -w;
+ else sx = getw + w;
+ if (!notifier_layout.isVisible()) {
+ notifier_layout.resize(sx, y, w, 80);
+ }
+ else {
+ notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
+ }
+ notifier_layout.show();
+ notifier_layout.setAlpha(255);
+ notifier_layout.setTargetX(x);
+ notifier_layout.setTargetY(y);
+ notifier_layout.setTargetW(w);
+ notifier_layout.setTargetH(80);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ }
+}
+// ------------------------------------------------------------------------------
+
+prepareAlbumArtNotifier()
+{
+ if (!notifier_layout) return;
+ Group g_albumart = notifier_layout.findObject("notifier.albumart");
+
+ DebugString("prepareAlbumArtNotifier: handleAACalback="+integerToString(handleAACalback), 9);
+ if (g_albumart)
+ {
+ cover = g_albumart.findObject("notifier.cover");
+ DebugString("prepareAlbumArtNotifier: cover.isLoading="+integerToString(cover.isLoading()), 9);
+ DebugString("prepareAlbumArtNotifier: cover.isInvalid="+integerToString(cover.isInvalid()), 9);
+ handleAACalback = true;
+ cover.refresh();
+ }
+}
+
+cover.onAlbumArtLoaded(boolean success)
+{
+ /*
+ Created a seperate function for the code that was here because for some reason I couldn't force this
+ event (from the fallbackTempFix.onTimer) with cover.onAlbumArtLoaded(success) after the Winamp bug appears.
+ Weird, yes.
+ */
+ FORCE_BUG_MODE onAlbumArt(success);
+}
+
+// ------------------------------------------------------------------------------
+Int fillNextTrackInfo(String corneroverride) {
+ Int maxv = 0;
+ Int stream = 0;
+
+ if (!notifier_layout) return 0;
+
+ Group g_text = notifier_layout.findObject("notifier.text");
+ Group g_albumart = notifier_layout.findObject("notifier.albumart");
+
+ Text plentry = g_text.findObject("plentry");
+ Text nexttrack = g_text.findObject("nexttrack");
+ Text _title = g_text.findObject("title");
+ Text album = g_text.findObject("album");
+ Text artist = g_text.findObject("artist");
+ Text endofplayback = notifier_layout.findObject("endofplayback");
+ Text s_plentry = g_text.findObject("plentry.shadow");
+ Text s_nexttrack = g_text.findObject("nexttrack.shadow");
+ Text s_title = g_text.findObject("title.shadow");
+ Text s_album = g_text.findObject("album.shadow");
+ Text s_artist = g_text.findObject("artist.shadow");
+ Text s_endofplayback = notifier_layout.findObject("endofplayback.shadow");
+
+ DebugString("got callback for " + getPlayItemString(), 0);
+
+ // Get Stream Name - if no stream returns ""
+ string s = getPlayItemMetaDataString("streamname");
+ string stype = getPlayItemMetaDataString("streamtype"); //"streamtype" will return "2" for SHOUTcast and "5" for SHOUTcast 2
+ if (stype == "2" || stype == "5") stream = 1;
+
+ if (endofplayback) endofplayback.hide();
+ if (s_endofplayback) s_endofplayback.hide();
+
+ if (plentry)
+ {
+ plentry.setText(integerToString(getPlaylistIndex()+1)+translate(" of ")+integerToString(getPlaylistLength()));
+ plentry.show();
+ s_plentry.setText(integerToString(getPlaylistIndex()+1)+translate(" of ")+integerToString(getPlaylistLength()));
+ s_plentry.show();
+ }
+ if (nexttrack) {
+ if (corneroverride == "") {
+ if (!stream) {
+ if (!isVideo())
+ {
+ nexttrack.setText("New track");
+ s_nexttrack.setText("New track");
+ }
+ else
+ {
+ nexttrack.setText("New video");
+ s_nexttrack.setText("New video");
+ }
+ }
+ else
+ {
+ nexttrack.setText("On air");
+ s_nexttrack.setText("On air");
+ }
+ }
+ else
+ {
+ nexttrack.setText(corneroverride);
+ s_nexttrack.setText(corneroverride);
+ }
+ nexttrack.show();
+ s_nexttrack.show();
+ }
+ string set_artist = "";
+ string set = "";
+ if (_title) {
+ _title.setXmlParam("ticker", "0");
+ _title.setXmlParam("display", "");
+ s_title.setXmlParam("ticker", "0");
+ s_title.setXmlParam("display", "");
+ String str;
+ if (!stream)
+ {
+ str = getPlayitemMetaDataString("title");
+ if (str == "") str = getPlayitemDisplayTitle();
+ String l = getPlayItemMetaDataString("length");
+ if (l != "") {
+ str += " (" + integerToTime(stringtointeger(l)) + ")";
+ }
+ _title.setText(str);
+ s_title.setText(str);
+ }
+ else
+ {
+ if (str = getPlayItemMetaDataString("streamtitle") != "")
+ {
+ int v = strsearch(str, " - "); // We divide the string by a " - " sublimiter - no luck for old / wrong tagged stations
+ if (v > 0) {
+ set_artist = strleft (str, v); // Store artist
+ string str = strright (str, strlen(str) - 3 - v);
+ _title.setText(str);
+ s_title.setText(str);
+ }
+ else
+ {
+ _title.setXmlParam("ticker", "1"); // These titles can be _very_ long
+ s_title.setXmlParam("ticker", "1");
+ _title.setText(str);
+ s_title.setText(str);
+ }
+ } else {
+ _title.setXmlParam("ticker", "1");
+ _title.setXmlParam("display", "songtitle");
+ _title.setText("");
+ s_title.setXmlParam("ticker", "1");
+ s_title.setXmlParam("display", "songtitle");
+ s_title.setText("");
+ }
+ }
+ _title.show();
+ s_title.show();
+ }
+ if (artist) {
+ if (!stream) {
+ if (isVideo())
+ {
+ artist.setText("");
+ s_artist.setText("");
+ }
+ else
+ {
+ artist.setText(getPlayitemMetaDataString("artist"));
+ s_artist.setText(getPlayitemMetaDataString("artist"));
+ }
+ }
+ else
+ {
+ // Perhaps we've stored the artist before?
+ if (set_artist != "")
+ {
+ artist.setText(set_artist);
+ s_artist.setText(set_artist);
+ }
+ // Then display the station name
+ else if (s != "")
+ {
+ artist.setText(s);
+ s_artist.setText(s);
+ }
+ // So, we've had no luck - just display a static text :(
+ else
+ {
+ if (isVideo())
+ {
+ artist.setText("Internet TV");
+ s_artist.setText("Internet TV");
+ }
+ else
+ {
+ artist.setText("Internet Radio");
+ s_artist.setText("Internet Radio");
+ }
+ }
+ }
+ artist.show();
+ s_artist.show();
+ }
+ if (album) {
+ String str;
+ if (!stream && !isVideo()) {
+ s_album.setXmlParam("display", "");
+ album.setXmlParam("display", "");
+ str = getPlayitemMetaDataString("album");
+ String l = getPlayitemMetaDataString("track");
+ if (l != "" && l != "-1") str += " (" + translate("Track ") + l + ")";
+ album.setText(str);
+ s_album.setText(str);
+ }
+ else
+ {
+ album.setXmlParam("display", "");
+ s_album.setXmlParam("display", "");
+ // we have divided the songname - let's display the station name
+ if (set_artist != "" && s != "")
+ {
+ album.setText(s);
+ s_album.setText(s);
+ }
+ // no luck either...
+ else
+ {
+ album.setText("");
+ album.setXmlParam("display", "songinfo_localise");
+ s_album.setText("");
+ s_album.setXmlParam("display", "songinfo_localise");
+ }
+ }
+ album.show();
+ s_album.show();
+ }
+
+ // Album Art Stuff
+
+ Layer webcover;
+ if (g_albumart)
+ {
+ cover = g_albumart.findObject("notifier.cover");
+ webcover = g_albumart.findObject("notifier.webcover");
+ }
+
+ Boolean showAlbumArt = FALSE;
+
+ if (cover != NULL && webcover != NULL && notifier_artworkinnotification_attrib.getData() == "1")
+ {
+ if (stream)
+ {
+ if(stype == "2" || stype == "5" && cover.isInvalid())
+ {
+ webcover.setXMLParam("image", WEBCOVER_SHOUTCAST);
+ cover.hide();
+ webcover.show();
+ showAlbumArt = TRUE;
+ }
+ else if(stype == "5" && !cover.isInvalid())
+ {
+ webcover.hide();
+ cover.show();
+ showAlbumArt = TRUE;
+ }
+ }
+ else
+ {
+ if (cover.isInvalid()) // Check if the album art obj shows a pic
+ {
+ showAlbumArt = FALSE;
+ }
+ else
+ {
+ webcover.hide();
+ cover.show();
+ showAlbumArt = TRUE;
+ }
+ }
+ }
+
+ if (showAlbumArt)
+ {
+ if (g_albumart) g_albumart.show();
+ if (g_text) g_text.setXmlParam("x", "75");
+ if (g_text) g_text.setXmlParam("w", "-95");
+ }
+ else
+ {
+ if (g_albumart) g_albumart.hide();
+ if (g_text) g_text.setXmlParam("x", "15");
+ if (g_text) g_text.setXmlParam("w", "-35");
+ }
+
+ if (g_text) g_text.show();
+
+ maxv = artist.getAutoWidth();
+ if (maxv < album.getAutoWidth()) maxv = album.getAutoWidth();
+ if (maxv < _title.getAutoWidth()) maxv = _title.getAutoWidth();
+ if (maxv < (plentry.getAutoWidth() + nexttrack.getAutoWidth())) maxv = (plentry.getAutoWidth() + nexttrack.getAutoWidth());
+ if (maxv < 128) maxv = 128;
+
+ int getw;
+
+ Layout m = getContainer("main").getCurLayout();
+ if (notifier_loc_vport_attrib.getData() == "1")
+ {
+ //getw = getViewportWidth();
+ getw = getViewportWidthFromGuiObject(m);
+ }
+ else
+ {
+ getw = getMonitorWidthFromGuiObject(m);
+ }
+
+ if (maxv > getw/4) maxv = getw/4;
+
+ return maxv + ( showAlbumArt * 60 ) + 1; // Adds 60 extra pixels if album art is visible
+
+}
+
+// ------------------------------------------------------------------------------
+Int fillCustomInfo(String customtext)
+{
+ Group g_text = notifier_layout.findObject("notifier.text");
+ Group g_albumart = notifier_layout.findObject("notifier.albumart");
+
+ Text endofplayback = notifier_layout.findObject("endofplayback");
+ Text s_endofplayback = notifier_layout.findObject("endofplayback.shadow");
+
+ if (g_text) { g_text.hide(); }
+ if (g_albumart) g_albumart.hide();
+
+ if (endofplayback != NULL && s_endofplayback != NULL) {
+ endofplayback.setText(translate(customtext)+" ");
+ s_endofplayback.setText(translate(customtext)+" ");
+ int aw = endofplayback.getAutoWidth();
+ endofplayback.show();
+ s_endofplayback.show();
+ if (aw > 128)
+ return aw;
+ }
+ return 128;
+}
+
+//BUGFIX remove this timer later
+fallbackTempFix.onTimer() //As soon as this timer run, bug mode is ON ;)
+{
+ if (checkPref(0)) return;
+
+ if (!notifier_layout) onNext();
+
+ if(!triggerBug)
+ {
+ triggerBug = true;
+
+ onAlbumArt(cover.isInvalid()); //First time we see the bug
+ fallbackTempFix.setDelay(30);
+
+ DebugString("Hello Bug", 9);
+ }
+ else if(triggerBug && !cover.isLoading()) onAlbumArt(cover.isInvalid());
+}
+
+onAlbumArt(Boolean success){
+ fallbackTempFix.stop(); //BUGFIX remove later
+
+ DebugString("onAlbumArtLoaded: success="+integerToString(success), 9);
+ DebugString("onAlbumArtLoaded: handleAACalback="+integerToString(handleAACalback), 9);
+ DebugString("onAlbumArtLoaded: cover.isLoading="+integerToString(cover.isLoading()), 9);
+ DebugString("onAlbumArtLoaded: cover.isInvalid="+integerToString(cover.isInvalid()), 9);
+ if (!handleAACalback || !notifier_layout /*|| isLoading()*/)
+ {
+ return;
+ }
+
+ handleAACalback = cover.isLoading();
+ cancelAnimation();
+ showNotifier(fillNextTrackInfo(cur_status));
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/notifier.maki b/Src/resources/skins/Big Bento/scripts/notifier.maki
new file mode 100644
index 00000000..266ad93c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/notifier.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/playlistpro.m b/Src/resources/skins/Big Bento/scripts/playlistpro.m
new file mode 100644
index 00000000..7c123991
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/playlistpro.m
@@ -0,0 +1,426 @@
+/*
+
+PlaylistPro build 005
+Originally done by pjn123 (www.skinconsortium.com) for the Classic Pro plugin
+
+*/
+
+#include "lib/std.mi"
+#include "lib/pldir.mi"
+#include "attribs/init_Playlist.m"
+
+Function resizeResults(int items);
+Function doSearch(String input);
+Function setSearchBox(boolean onOff);
+Function clearSearchBox();
+Function int getPlEntry(int search_item);
+Function String replaceString(string baseString, string toreplace, string replacedby);
+
+Global Group frameGroup, topbar;
+Global Edit searchBox;
+Global Text helpSearch, searchNews;// fakeText;
+Global GuiObject fakeSB, searchXUI, searchButtonXui;
+Global Button searchButton, clearButton, clearButtonText;
+Global GuiList searchResults;
+Global Boolean foundsomething;
+Global int tn, h_tune;
+Global String temptoken;
+Global Windowholder plwh;
+GLobal Timer refreshActiveCheck;
+Global PopupMenu search_rc;
+
+Global Container results_container;
+Global Layout results_layout, main_layout;
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ topbar = frameGroup.findObject("PlaylistPro.topbar");
+ plwh = frameGroup.findObject("wdh.playlist");
+
+ searchBox = frameGroup.findObject("wasabi.edit.box");
+ searchXUI = frameGroup.findObject("pl.search.edit");
+ searchButton = frameGroup.findObject("pl.search.go");
+ searchButtonXui = frameGroup.findObject("pl.search.go");
+ fakeSB = frameGroup.findObject("pl.search.edit.rect");
+ clearButton = frameGroup.findObject("pl.search.edit.clear");
+ clearButtonText = frameGroup.findObject("pl.search.edit.clear.text");
+ helpSearch = frameGroup.findObject("pl.search.edit.searchhelp");
+ //fakeText = frameGroup.findObject("pl.search.go.text.fake");
+
+ results_container = newDynamicContainer("searchresults");
+ results_layout = results_container.getLayout("normal");
+ searchResults = results_layout.findObject("PlaylistPro.list");
+ searchResults.setFontSize(16);
+ searchNews = results_layout.findObject("PlaylistPro.list.news");
+
+ main_layout = getContainer("main").getLayout("normal");
+
+ initAttribs_Playlist();
+
+ //translation workaround
+ /*searchButtonXui.setXmlParam("text", System.translate("Search"));
+ searchButtonXui.setXmlParam("x", integerToString(-1*fakeText.getAutoWidth()-4));
+ searchButtonXui.setXmlParam("w", integerToString(fakeText.getAutoWidth()+2));
+ searchXUI.setXmlParam("w", integerToString(-1*fakeText.getAutoWidth()-9));*/
+
+ refreshActiveCheck = new Timer;
+ refreshActiveCheck.setDelay(100);
+}
+System.onScriptUnLoading() {
+ delete refreshActiveCheck;
+}
+
+refreshActiveCheck.onTimer(){
+ if((!System.isAppActive() || System.isMinimized()) && results_layout.isVisible() ) results_layout.hide();
+}
+
+results_layout.onSetVisible(boolean onOff){
+ if(onOff){
+ refreshActiveCheck.start();
+ }
+ else{
+ refreshActiveCheck.stop();
+ }
+}
+
+System.onShowLayout(Layout _layout){
+ if(main_layout.isVisible()) results_layout.setXmlParam("ontop", "1");
+}
+
+frameGroup.onSetVisible(boolean onOff){
+ if(!onOff) clearSearchBox();
+}
+
+searchButton.onLeftClick(){
+ doSearch(searchBox.getText());
+}
+
+resizeResults(int items){
+ /*results_layout.setTargetX(results_layout.getLeft());
+ results_layout.setTargetY(results_layout.getTop());
+ results_layout.setTargetW(results_layout.getWidth());
+ results_layout.setTargetH(500);
+ results_layout.setTargetSpeed(1);
+ results_layout.gotoTarget();*/
+
+ //items++; //temp add one extra for info... xx items found
+ if(items>20) items=20;
+
+
+ if(items>=1) h_tune=29;
+ else h_tune=25;
+
+ //results_layout.setXmlParam("h", integerToString(20+items*18));
+
+ /*results_layout.setTargetX(results_layout.getLeft());
+ results_layout.setTargetY(results_layout.getTop());
+ results_layout.setTargetW(results_layout.getWidth());
+ results_layout.setTargetH(h_tune+items*16);
+ results_layout.setTargetSpeed(0.3);
+ results_layout.gotoTarget();*/
+ results_layout.resize(results_layout.getLeft(), results_layout.getTop(), results_layout.getWidth(), h_tune+items*16);
+}
+
+searchBox.onEnter(){
+ doSearch(searchBox.getText());
+}
+
+doSearch(String input){
+ if(input==""){
+ clearSearchBox();
+ return;
+ }
+
+ //search history stuff
+ String history = getPublicString("cPro.PlaylistPro.history", "");
+ history = replaceString(history, input, "");
+ history = replaceString(history, ";;", ";");
+ if(strleft(history, 1)==";") history = strright(history, strlen(history)-1);
+ if(strright(history, 1)==";") history = strleft(history, strlen(history)-1);
+ if(history=="") history= input;
+ else history= input+";"+history;
+
+ String output = getToken(history, ";", 0);
+ for(int i = 1; i<15; i++){
+ if(getToken(history, ";", i)=="") break;
+ output+=";"+getToken(history, ";", i);
+ }
+ setPublicString("cPro.PlaylistPro.history", history);
+
+
+ int itemsfound = 0;
+ input = strlower(input);
+
+ results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
+ results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
+ results_layout.setXmlParam("w", integerToString(frameGroup.getWidth()-19));
+
+ if(!results_layout.isVisible()) results_layout.setXmlParam("h", "1");
+
+ searchResults.deleteAllItems();
+ searchResults.scrollToItem(0);
+
+ for(int i = 0; i<PlEdit.getNumTracks(); i++){
+ foundsomething=false;
+
+ for(tn = 0; tn<10; tn++){
+ if(getToken(input, " ", tn)==""){
+ break;
+ }
+
+ temptoken = getToken(input, " ", tn);
+ if(strsearch(strlower(PlEdit.getTitle(i) + " " + PlEdit.getFileName(i)), temptoken)>=0){
+ foundsomething=true;
+ }
+ else{
+ foundsomething=false;
+ }
+
+ if(!foundsomething){
+ break;
+ }
+ }
+
+ if(foundsomething){
+ itemsfound++;
+ searchResults.addItem(integerToString(i+1)+". " + PlEdit.getTitle(i));
+ if(itemsfound>500){
+ searchNews.setText("Search result limited to 500 items");
+ break;
+ }
+ }
+ }
+
+ if(itemsfound==0){
+ searchNews.setText("Nothing was found");
+ }
+ else if(itemsfound<=500){
+ searchNews.setText(System.translate("Items found: ") +integerToString(itemsfound));
+ }
+
+ if(!results_layout.isVisible()) results_layout.show();
+
+ // Fix if always on top is enabled.. it just refresh the ontop ;)
+ results_layout.setXmlParam("ontop", "1");
+
+ resizeResults(itemsfound);
+}
+
+searchResults.onDoubleClick(Int itemnum){
+ PlEdit.playTrack (getPlEntry(itemnum));
+ setSearchBox(false);
+}
+
+searchResults.onRightClick(Int itemnum){
+ search_rc = new PopupMenu;
+ search_rc.addCommand("Move selected to top", 1, 0, 0);
+ search_rc.addCommand("Move selected to bottom", 2, 0, 0);
+ search_rc.addCommand("Move selected after current", 3, 0, 0);
+ search_rc.addCommand("Move selected together", 4, 0, 0);
+ search_rc.addSeparator();
+ search_rc.addCommand("Remove selected from playlist", 5, 0, 0);
+ int result = search_rc.popAtMouse();
+ delete search_rc;
+
+ int lastselected = searchResults.getFirstItemSelected();
+ int itemcounter = 1;
+
+ if(result==1){
+ PlEdit.moveTo (getPlEntry(lastselected), 0);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected), itemcounter);
+ itemcounter++;
+ }
+ PlEdit.showTrack(0);
+ }
+ else if(result==2){
+ PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getNumTracks ()-1);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected)-itemcounter, PlEdit.getNumTracks ()-1);
+ itemcounter++;
+ }
+ PlEdit.showTrack(PlEdit.getNumTracks ()-1);
+ }
+ else if(result==3){
+ int align = 0;
+ int orignalPos = PlEdit.getCurrentIndex();
+ int temp = getPlEntry(lastselected);
+ if(PlEdit.getCurrentIndex() > temp) align++;
+
+ if(orignalPos > getPlEntry(lastselected)) PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex());
+ else PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+1);
+
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+
+ if(orignalPos != getPlEntry(lastselected)){
+ if(orignalPos > getPlEntry(lastselected)){
+ PlEdit.moveTo (getPlEntry(lastselected)-align, PlEdit.getCurrentIndex()+itemcounter);
+ }
+ else{
+ PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+itemcounter+1);
+ }
+
+ temp = getPlEntry(lastselected);
+ if(orignalPos > temp) align++;
+ itemcounter++;
+ }
+ }
+ PlEdit.showCurrentlyPlayingTrack();
+ }
+ else if(result==4){
+ int startpos = getPlEntry(lastselected);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected), startpos+itemcounter);
+ itemcounter++;
+ }
+ PlEdit.showTrack(startpos);
+ }
+ else if(result==5){
+ PlEdit.removeTrack (getPlEntry(lastselected));
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.removeTrack (getPlEntry(lastselected)-itemcounter);
+ itemcounter++;
+ }
+ }
+
+ else return;
+
+ //hides the search
+ setSearchBox(false);
+}
+
+int getPlEntry(int search_item){
+ return stringToInteger(getToken(searchResults.getItemLabel(search_item,0), ". ", 0))-1;
+}
+
+setSearchBox(boolean onOff){
+ if(onOff){
+ searchBox.show();
+ clearButton.show();
+ clearButtonText.show();
+ helpSearch.hide();
+ searchBox.setFocus();
+ }
+ else{
+ searchBox.hide();
+ clearButton.hide();
+ clearButtonText.hide();
+ helpSearch.show();
+ results_layout.hide();
+ }
+}
+
+fakeSB.onLeftButtonDown(int x, int y){
+ setSearchBox(true);
+}
+fakeSB.onRightButtonDown(int x, int y){
+ search_rc = new PopupMenu;
+ search_rc.addCommand("** Search history **", 0, 0, 1);
+ search_rc.addSeparator();
+
+ String history = getPublicString("cPro.PlaylistPro.history", "");
+ boolean historyfound=false;
+ for(int i=0;i<15;i++){
+ String historyitem = getToken(history, ";", i);
+ if(historyitem==""){
+ if(i>0) historyfound=true;
+ break;
+ }
+ search_rc.addCommand(historyitem, i+1, 0, 0);
+ }
+ if(historyfound) search_rc.addSeparator();
+ search_rc.addCommand("Clear History", 100, 0, 0);
+
+ int result = search_rc.popAtMouse();
+ delete search_rc;
+
+ if(result>0 && result<100){
+ setSearchBox(true);
+ searchBox.setText(getToken(history, ";", result-1));
+ searchButton.leftClick();
+ }
+ else if(result==100){
+ setPublicString("cPro.PlaylistPro.history", "");
+ }
+}
+
+clearSearchBox(){
+ searchBox.setText("");
+ setSearchBox(false);
+}
+
+main_layout.onMove(){
+ if(results_layout.isVisible()){
+ results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
+ results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
+ results_layout.setXmlParam("ontop", "1");
+ }
+}
+main_layout.onResize(int x, int y, int w, int h){
+ if(results_layout.isVisible()) clearSearchBox();
+}
+
+frameGroup.onResize(int x, int y, int w, int h){
+ if(results_layout.isVisible()) clearSearchBox();
+
+ //if(playlist_search_attib.getData()=="0") return;
+
+ if(h<102 || playlist_search_attrib.getData()=="0"){
+
+ if(!topbar.isVisible()) return; //Don't do the same code over and over
+
+ topbar.hide();
+ plwh.setXmlParam("y", "0");
+ plwh.setXmlParam("h", "0");
+ }
+ else{
+ if(topbar.isVisible()) return; //Don't do the same code over and over
+
+ topbar.show();
+ plwh.setXmlParam("y", "30");
+ plwh.setXmlParam("h", "-30");
+ }
+}
+
+clearButton.onLeftClick(){
+ clearSearchBox();
+}
+
+playlist_search_attrib.onDataChanged(){
+ frameGroup.onResize(frameGroup.getLeft(), frameGroup.getTop(), frameGroup.getWidth(), frameGroup.getHeight());
+ //debug("abc " + getData());
+
+ if (getData() == "0"){
+ topbar.hide();
+ plwh.setXMLParam("y", "0");
+ plwh.setXMLParam("h", "0");
+ }
+ else if(getData() == "1"){
+
+ topbar.show();
+ plwh.setXMLParam("y", "30");
+ plwh.setXMLParam("h", "-30");
+
+ }
+}
+
+
+
+String replaceString(string baseString, string toreplace, string replacedby){
+ if (toreplace == "") return baseString;
+ string sf1 = strupper(baseString);
+ string sf2 = strupper(toreplace);
+ int i = strsearch(sf1, sf2);
+ if (i == -1) return baseString;
+ string left = "", right = "";
+ if (i != 0) left = strleft(baseString, i);
+ if (strlen(basestring) - i - strlen(toreplace) != 0) {
+ right = strright(basestring, strlen(basestring) - i - strlen(toreplace));
+ }
+ return left + replacedby + right;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/playlistpro.maki b/Src/resources/skins/Big Bento/scripts/playlistpro.maki
new file mode 100644
index 00000000..3db3ab8f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/playlistpro.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/pledit.m b/Src/resources/skins/Big Bento/scripts/pledit.m
new file mode 100644
index 00000000..c3ed4ba3
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/pledit.m
@@ -0,0 +1,619 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: pledit.m
+Version: 3.1
+
+Type: maki
+Date: 18. Sep. 2007 - 19:42
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include "lib/std.mi"
+
+//#define DEBUG
+#define FILE_NAME "pledit.m"
+#include "lib/com/debug.m"
+
+#define PL_GUID "{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D}"
+#define PLC_POPPLER_POS 200
+
+#include "attribs/init_playlist.m"
+
+Function fitContent (int playlistw, int playlistx);
+Function fit (group g, int x, int rx, int y, int ry, int w, int rw, int h, int rh);
+Function int updatePoppler(int w);
+Function int updateMainPoppler(int w);
+
+Global Frame dualwnd, pl_dualwnd, mainframe;
+
+Global Group g_playlist, g_player, g_sui, g_buttons, g_mcv, g_cover, g_upper, wdh_pl;
+Global Button p_enlarge, p_small;
+Global Button p_resize;
+Global int down_x, down_gx, isresizing;
+Global layout normal;
+Global Container player;
+//Global WindowHolder wdh_pl;
+Global Text pl_time;
+
+Global Button pe_add, pe_rem, pe_sel, pe_misc, pe_manage;
+
+Global Boolean startup, isBig, bypass_nocomp;
+
+Global Timer dc_openPl, dc_closePl, dc_loadWnd;
+
+Global Int COMP_Y, COMP_H, SUI_Y, SUI_H, BOTTOMSPACER, MAX_PL_H;
+Global Int DEF_PL_W, SIDESPACER;
+
+Global Int min_infowidth;
+
+
+System.onScriptLoaded ()
+{
+ initAttribs_Playlist();
+ normal = getScriptGroup();
+ player = normal.getContainer();
+
+ isBig = (getParam() == "big");
+ if (isBig)
+ {
+ mainframe = normal.getObject("player.mainframe.big");
+ }
+ else
+ {
+ mainframe = normal.getObject("player.mainframe");
+ }
+
+ dualwnd = mainframe.findObject("player.dualwnd");
+ g_mcv = dualwnd.findObject("player.component.fileinfo");
+ g_upper = dualwnd.findObject("player.component.playlist.frame");
+ pl_dualwnd = dualwnd.findObject("playlist.dualwnd");
+ g_playlist = pl_dualwnd.findObject("player.component.playlist");
+ g_cover = pl_dualwnd.findObject("player.component.playlist.albumart");
+ g_player = dualwnd.findObject("player.layout");
+ g_sui = normal.getObject("sui.content");
+ g_buttons = g_playlist.getObject("player.component.playlist.buttons");
+ p_enlarge = g_buttons.getObject("player.playlist.enlarge");
+ p_small = g_buttons.getObject("player.playlist.small");
+ p_resize = g_playlist.getObject("player.resize");
+ wdh_pl = g_playlist.getObject("playlistpro");
+ pl_time = g_buttons.getObject("PLTime");
+
+ pe_add = g_buttons.getObject("player.playlist.add");
+ pe_rem = g_buttons.getObject("player.playlist.rem");
+ pe_sel = g_buttons.getObject("player.playlist.sel");
+ pe_misc = g_buttons.getObject("player.playlist.misc");
+ pe_manage = g_buttons.getObject("player.playlist.manage");
+
+ min_infowidth = stringtoInteger(dualwnd.getXmlParam("maxwidth"));
+
+ dc_openPl = new Timer;
+ dc_openPl.setDelay(1);
+
+ dc_closePl = new Timer;
+ dc_closePl.setDelay(1);
+
+ dc_loadWnd = new Timer;
+ dc_loadWnd.setDelay(1);
+
+ // Global Definitions:
+
+ DEF_PL_W = g_playlist.getGuiW(); // (-)
+ SIDESPACER = g_sui.getGuiX(); // (+)
+ COMP_Y = mainframe.getGuiY(); // (+)
+ COMP_H = mainframe.getGuiH(); // (+)
+ SUI_Y = g_sui.getGuiY(); // (+)
+ SUI_H = g_sui.getGuiH(); // (-)
+ BOTTOMSPACER = SUI_Y + SUI_H; // (-)
+ MAX_PL_H = BOTTOMSPACER - COMP_Y; // (-)
+
+ startup = 1;
+
+ // show playlist album art if checked
+ playlist_cover_attrib.onDataChanged();
+
+ //Bento v0.8 hack
+ if (mainframe.getPosition() < stringToInteger(mainframe.getXmlParam("minwidth")))
+ {
+ mainframe.setPosition(stringToInteger(mainframe.getXmlParam("minwidth")));
+ }
+}
+
+system.onScriptUnloading ()
+{
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ delete dc_loadWnd;
+}
+
+dc_loadWnd.onTimer ()
+{
+ stop();
+ int pos = dualwnd.getPosition();
+ if (pos > 0) updatePoppler(pos);
+ playlist_enlarge_attrib.onDataChanged();
+
+ if (dualwnd.getPosition() > 0
+#ifdef DOHIDEMCV
+ || dualwnd.getXMlParam("from") == "left"
+#endif
+ ) dc_openPL.start();
+
+
+ else wdh_pl.hide(); //hideWa2Component(PL_GUID);
+}
+
+playlist_enlarge_attrib.onDataChanged ()
+{
+ int pl_w = dualwnd.getPosition();
+
+#ifdef DOHIDEMCV
+ if (dualwnd.getXmlParam("from") == "left")
+ {
+ pl_w = dualwnd.getWidth() - 8;
+ }
+#endif
+
+ int pl_x = 0 - ( pl_w + SIDESPACER ); // (-)
+
+ if (getData() == "1")
+ {
+ int sui_w = pl_x - SIDESPACER; // (-)
+
+ dualwnd.setXmlParam("relath", "1");
+ dualwnd.setXmlParam("h", integerToString(0));
+ mainframe.setXmlParam("relath", "1");
+ mainframe.setXmlParam("h", integerToString(MAX_PL_H));
+
+ g_sui.setXmlParam("w", integerToString(sui_w-8));
+
+ int pos = getPrivateInt(getSkinName(), "playlist_cover_poppler", PLC_POPPLER_POS);
+ if (playlist_cover_attrib.getData() == "1" && pos > 0 && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
+ {
+ g_cover.show();
+ pl_dualwnd.setPosition (pos);
+ }
+ else
+ {
+ pl_dualwnd.setPosition (0);
+ g_cover.hide();
+ }
+
+ p_enlarge.hide();
+ p_small.show();
+ }
+ else
+ {
+ int sui_w = 0 - SIDESPACER - SIDESPACER; // (-)
+ int pc_w = pl_x - SIDESPACER; // (-)
+
+ g_cover.hide();
+
+ if (playlist_cover_attrib.getData() == "1")
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ }
+ pl_dualwnd.setPosition (0);
+
+ dualwnd.setXmlParam("h", integerToString(COMP_H-3));
+ dualwnd.setXmlParam("relath", "0");
+ mainframe.setXmlParam("h", integerToString(COMP_H));
+ mainframe.setXmlParam("relath", "0");
+
+ g_sui.setXmlParam("w", integerToString(sui_w));
+ p_enlarge.show();
+ p_small.hide();
+ }
+}
+
+g_playlist.onResize (int x, int y, int w, int h)
+{
+ int pos = dualwnd.getPosition();
+ debugString(integerToString(pos), 9);
+ updateMainPoppler(min_infowidth - pos - 8);
+
+ if (pos > 0
+#ifdef DOHIDEMCV
+ || dualwnd.getXMlParam("from") == "left"
+#endif
+ )
+ {
+ //setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
+ if (!wdh_pl.isVisible())
+ {
+ setPrivateString(getSkinName(), "Pledit_pos", "top");
+ g_sui.sendAction("hide_comp", "pe", 0,0,0,0);
+
+ dc_openPl.start();
+ }
+
+ if (isBig)
+ {
+ if (w > 189)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.show();
+ }
+ else if (w <= 189 && w >158)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.hide();
+ }
+ else if (w <= 158 && w >127)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 127 && w >96)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 96 && w >65)
+ {
+ pe_add.show();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else
+ {
+ pe_add.hide();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ }
+ else
+ {
+ if (w > 146)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.show();
+ }
+ else if (w <= 146 && w >122)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.show();
+ pe_manage.hide();
+ }
+ else if (w <= 122 && w >98)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.show();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 98 && w >74)
+ {
+ pe_add.show();
+ pe_rem.show();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else if (w <= 74 && w >50)
+ {
+ pe_add.show();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ else
+ {
+ pe_add.hide();
+ pe_rem.hide();
+ pe_sel.hide();
+ pe_misc.hide();
+ pe_manage.hide();
+ }
+ }
+ }
+ else wdh_pl.hide();
+ if (playlist_enlarge_attrib.getdata() == "1")
+ {
+ int sui_w = - g_playlist.getWidth() - (2 * SIDESPACER) - 8;
+ g_sui.setXmlParam("w", integerToString(sui_w));
+ if (startup)
+ {
+ startup = 0;
+ mainframe.setXmlParam("relath", "1");
+ mainframe.setXmlParam("h", integerToString(MAX_PL_H));
+ dualwnd.setXmlParam("relath", "1");
+ dualwnd.setXmlParam("h", integerToString(0));
+ }
+ }
+}
+
+normal.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ playlist_enlarge_attrib.onDataChanged();
+ int pos = dualwnd.getPosition();
+ if (pos > 0
+#ifdef DOHIDEMCV
+ || dualwnd.getXMlParam("from") == "left"
+#endif
+ )
+ {
+ updatePoppler(pos);
+ dc_openPL.start();
+ }
+ else wdh_pl.hide();//hideWa2Component(PL_GUID);
+ }
+}
+
+normal.onUserResize (int x, int y, int w, int h)
+{
+ int pos = dualwnd.getPosition();
+ if (pos > 0) updatePoppler(pos);
+}
+
+/** Hide pl_time if it cannot be full displayed */
+
+pl_time.onResize (int x, int y, int w, int h)
+{
+ if (w < getTextWidth())
+ {
+ hide();
+ }
+ else
+ {
+ show();
+ }
+}
+
+pl_time.onTextChanged (String newtxt)
+{
+ if (getWidth() < getTextWidth())
+ {
+ hide();
+ }
+ else
+ {
+ show();
+ }
+}
+
+/** Playlist Component Handling */
+
+System.onGetCancelComponent (String guid, boolean goingvisible)
+{
+ if (getPrivateString(getSkinName(), "Pledit_pos", "top") == "sui")
+ {
+ return;
+ }
+
+ debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " )", D_WTF);
+ if (guid == PL_GUID)
+ {
+ Boolean isShade = player.getCurLayout() != normal;
+ if (goingvisible == TRUE && !isShade)
+ {
+ int poppler_w = getPrivateInt(getSkinName(), "pledit poppler width", 200);
+ if (poppler_w < 1) poppler_w = 200;
+ g_playlist.show();
+ updatePoppler(poppler_w);
+ dc_openPl.start();
+ return FALSE;
+ }
+ else
+ {
+ if (dualwnd.getPosition() > 0) setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
+ wdh_pl.hide();
+ dualwnd.setPosition(0);
+ return FALSE;
+ }
+ }
+}
+
+normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (action == "load_comp" && strlower(param) == "pledit")
+ {
+ int poppler_w = getPrivateInt(getSkinName(), "pledit poppler width", 200);
+ if (dualwnd.getPosition() > 0) poppler_w = dualwnd.getPosition();
+ if (dualwnd.getPosition() == 0) poppler_w = 200;
+ updatePoppler(poppler_w);
+ dc_openPl.start();
+ }
+ if (action == "hide_comp" && strlower(param) == "pledit")
+ {
+ setPrivateInt(getSkinName(), "pledit poppler width", dualwnd.getPosition());
+ wdh_pl.hide();
+ dualwnd.setPosition(0);
+ }
+ if (action == "pledit_posupdate")
+ {
+ int pos = dualwnd.getPosition();
+ if (pos > 0) updatePoppler(pos);
+ }
+ if (action == "sui")
+ {
+ if (param == "tonocomp")
+ {
+ if (playlist_cover_attrib.getData() == "1")
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ }
+ bypass_nocomp = TRUE; //we need to add a bypass otherwise playlist_cover_attrib will be turned OFF
+ pl_dualwnd.setPosition (0);
+ g_cover.hide();
+ bypass_nocomp = FALSE;
+ }
+ else if (param == "fromnocomp")
+ {
+ playlist_cover_attrib.onDataChanged ();
+ }
+ }
+}
+
+dualwnd.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (action == "set_maxwidth")
+ {
+ // update poppler for playlist/infocomp
+ updatePoppler(dualwnd.getPosition());
+ // update poppler bands for player/infocomp
+ min_infowidth = x;
+ updateMainPoppler(min_infowidth - dualwnd.getPosition() - 8);
+ }
+}
+
+wdh_pl.onSetVisible (Boolean onoff)
+{
+ debugString("wdh_pl set visible: " + integerToString(onoff), 9);
+ if (onoff)
+ {
+ playlist_cover_attrib.onDataChanged();
+ }
+ else
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ }
+}
+
+updatePoppler(int w)
+{
+ if (dualwnd.getPosition() == 0 && w == 0) return;
+ int min_w = stringToInteger(dualwnd.getXmlParam("minwidth"));
+ int max_w = stringToInteger(dualwnd.getXmlParam("maxwidth"));
+ if (max_w < 0) max_w = dualwnd.getWidth() + max_w;
+ debugString("max_w: " + integerToString(max_w), 9);
+ boolean reset = FALSE;
+ reset += (w == 0);
+ reset += (w < min_w);
+ if (reset) w = min_w;
+
+ // Prevent the playlist from overlapping the player
+ if (w > max_w)
+ {
+ w = max_w;
+
+ // Resize the player to get more space
+ if (max_w < min_w)
+ {
+ w = min_w;
+ int mainframe_pos = mainframe.getPosition() - (min_w - max_w); // I need to save this in a variable first, otherwise mainframe.setPos will crash...
+ mainframe.setPosition(mainframe_pos);
+ }
+ }
+ debugString("set poppler: " + integerToString(w), 9);
+ dualwnd.setPosition(w);
+}
+
+updateMainPoppler (int w)
+{
+ mainframe.setXmlparam("maxwidth", integerToString(w));
+}
+
+dc_openPl.onTimer ()
+{
+ dc_openPl.stop();
+ debugString("dc_openPl called!", 9);
+ wdh_pl.show();
+ g_playlist.show();
+ g_upper.show();
+ //if (!wdh_pl.isVisible()) debugInt(g_playlist.getWidth());
+}
+
+dc_closePl.onTimer ()
+{
+ dc_closePl.stop();
+ wdh_pl.hide();
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// Playlist Album Art Handles
+//----------------------------------------------------------------------------------------------------------------
+
+Global boolean attrib_bypass = false;
+
+playlist_cover_attrib.onDataChanged ()
+{
+ if (attrib_bypass)
+ return;
+
+ if (playlist_enlarge_attrib.getData() == "0")
+ return;
+
+ if (getData() == "1")
+ {
+ int pos = getPrivateInt(getSkinName(), "playlist_cover_poppler", PLC_POPPLER_POS);
+ if (pos > 0 && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden")
+ {
+ pl_dualwnd.setPosition (pos);
+ g_cover.show();
+ }
+ else
+ {
+ pl_dualwnd.setPosition (0);
+ g_cover.hide();
+ }
+ }
+ else
+ {
+ int pos = pl_dualwnd.getPosition();
+ if (pos > 0) setPrivateInt(getSkinName(), "playlist_cover_poppler", pos);
+ pl_dualwnd.setPosition(0);
+ g_cover.hide();
+ }
+}
+
+Global Boolean bypass;
+
+player.onBeforeSwitchToLayout (Layout oldlayout, Layout newlayout)
+{
+ if (oldlayout == normal)
+ {
+ bypass = 1;
+ }
+}
+
+g_cover.onSetVisible (Boolean onoff)
+{
+ if (bypass)
+ {
+ bypass = 0;
+ return;
+ }
+
+ if (!onoff && !bypass_nocomp && playlist_cover_attrib.getdata() == "1" && getPrivateString(getSkinName(), "Component", "Media Library") != "Hidden" && playlist_enlarge_attrib.getData() == "1" && dualwnd.getPosition() > 0)
+ {
+ playlist_cover_attrib.setdata("0");
+ }
+ else if (onoff && !bypass_nocomp && playlist_cover_attrib.getdata() == "0" && dualwnd.getPosition() > 0)
+ {
+ attrib_bypass = true;
+ playlist_cover_attrib.setdata("1");
+ attrib_bypass = false;
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/pledit.maki b/Src/resources/skins/Big Bento/scripts/pledit.maki
new file mode 100644
index 00000000..0e4f04a4
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/pledit.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/seek.m b/Src/resources/skins/Big Bento/scripts/seek.m
new file mode 100644
index 00000000..f5d5b348
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/seek.m
@@ -0,0 +1,90 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: seek.m
+Version: 1.2
+
+Type: maki
+Date: 23. Jul. 2007 - 22:52
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script is based on seek.m
+ from Winamp Modern
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Global Group frameGroup;
+Global Slider Seeker, SeekerBehind;
+Global Int Seeking;
+Global GuiObject SongTicker;
+Global GuiObject progressBar;
+
+System.onScriptLoaded()
+{
+ frameGroup = system.getScriptGroup();
+ Seeker = frameGroup.findObject("seeker.ghost");
+ SeekerBehind = frameGroup.findObject("seeker.ghost");
+ progressBar = frameGroup.findObject("progressbar");
+ SongTicker = frameGroup.getParentLayout().findObject("songticker");
+
+ progressBar.hide();
+progressBar.show();
+
+ if (getStatus() == 0 || !seeker.isvisible())
+ {
+ progressBar.hide();
+ }
+}
+
+Seeker.onSetPosition(int p) {
+ if (seeking) {
+ Float f;
+ f = p;
+ f = f / 255 * 100;
+ Float len = getPlayItemLength();
+ if (len != 0) {
+ int np = len * f / 100;
+ SongTicker.sendAction
+ (
+ "showinfo",
+ translate("Seek") + ": " + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ",
+ 0, 0, 0, 0
+ );
+ }
+ }
+}
+
+/** Hehe, this is the best trick i figured out to indicate if we have a stream */
+
+Seeker.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ progressBar.show();
+ }
+ else
+ {
+ progressBar.hide();
+ }
+}
+
+Seeker.onLeftButtonDown(int x, int y) {
+ seeking = 1;
+ Seeker.setAlpha(128);
+ SeekerBehind.show();
+}
+
+Seeker.onLeftButtonUp(int x, int y) {
+ seeking = 0;
+ Seeker.setAlpha(255);
+ SeekerBehind.hide();
+ SongTicker.sendAction("cancelinfo", "", 0, 0, 0, 0);
+}
+
+Seeker.onSetFinalPosition(int p) {
+ SongTicker.sendAction("cancelinfo", "", 0, 0, 0, 0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/seek.maki b/Src/resources/skins/Big Bento/scripts/seek.maki
new file mode 100644
index 00000000..5776e63c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/seek.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/shadelinks.m b/Src/resources/skins/Big Bento/scripts/shadelinks.m
new file mode 100644
index 00000000..b4a56bcd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/shadelinks.m
@@ -0,0 +1,74 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: syncbutton.m
+Version: 1.0
+
+Type: maki
+Date: 25. Jun. 2007 - 14:04
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/com/songinfo.m>
+
+//nothing to see here
+
+Function String getArtist ();
+
+/*
+
+Global Button search, nowplaying;
+Global boolean isShade;
+
+System.onScriptLoaded ()
+{
+ search = getScriptGroup().getObject("search");
+ isShade = (search.getParentLayout().getId() == "shade");
+ nowplaying = getScriptGroup().getObject("nowplaying");
+}
+
+search.onLeftClick ()
+{
+ String artist = getArtist();
+ if (artist == "") return;
+
+ getContainer("main").switchToLayout("normal");
+ group sui = getContainer("main").getLayout("normal").findObject("sui.content");
+ sui.sendAction ("browser_search", artist, 0, 0, 0, 0);
+}
+
+nowplaying.onLeftClick ()
+{
+ String artist = getArtist();
+ if (artist == "") return;
+
+ //getContainer("main").switchToLayout("normal");
+ String icid = "fileinfoicon";
+ if (isShade)
+ {
+ icid = "winshadeiconbento";
+ }
+ System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?icid="+ icid +"&artistName=" + artist);
+}
+
+*/
+
+String getArtist ()
+{
+ songinfo_reload();
+ if (songinfo_isStream && songinfo_artist == "")
+ {
+ int v = strsearch(songinfo_streamtitle, " - ");
+ if (v > 0)
+ {
+ return strleft(songinfo_streamtitle, v);
+ }
+ return songinfo_streamtitle;
+ }
+
+ return songinfo_artist;
+}
diff --git a/Src/resources/skins/Big Bento/scripts/shadelinks.maki b/Src/resources/skins/Big Bento/scripts/shadelinks.maki
new file mode 100644
index 00000000..f1c75302
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/shadelinks.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/shadesize.m b/Src/resources/skins/Big Bento/scripts/shadesize.m
new file mode 100644
index 00000000..a9c5176c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/shadesize.m
@@ -0,0 +1,217 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: shadesize.m
+Version: 2.1
+Type: maki
+Date: 23. Jul. 2007 - 17:24
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_appearance.m
+
+Function updateObjectPosition(int w);
+
+Global Group scriptGroup;
+//Global Group g_cbuttons, g_sysbuttons, g_display, g_volume, g_seek, g_vis, g_links;
+Global Group g_cbuttons, g_sysbuttons, g_display, g_volume, g_seek, g_vis;
+
+//Global Int minumim_w, x_cbuttons, w_cbuttons, w_sysbuttons, w_volume, w_display, w_seek, w_vis, x_seek, w_links, w_links_, x_links, x_links_;
+Global Int minumim_w, x_cbuttons, w_cbuttons, w_sysbuttons, w_volume, w_display, w_seek, w_vis, x_seek;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Appearance();
+
+ scriptGroup = getScriptGroup();
+
+ g_cbuttons = scriptGroup.findObject("shade.cbuttons");
+ x_cbuttons = stringToInteger(g_cbuttons.getXmlParam("x"));
+ w_cbuttons = stringToInteger(g_cbuttons.getXmlParam("w"));
+
+ g_seek = scriptGroup.findObject("shade.seek");
+ w_seek = stringToInteger(g_seek.getXmlParam("w"));
+ x_seek = stringToInteger(g_seek.getXmlParam("x"));
+
+ g_vis = scriptGroup.findObject("shade.vis");
+ w_vis = stringToInteger(g_vis.getXmlParam("w"));
+
+/*
+ g_links = scriptGroup.findObject("shade.links");
+ w_links_ = stringToInteger(g_links.getXmlParam("w"));
+ x_links_ = stringToInteger(g_links.getXmlParam("x"));
+*/
+ w_sysbuttons = stringToInteger(getParam());
+
+ g_display = scriptGroup.findObject("shade.display");
+ w_display = stringToInteger(g_display.getXmlParam("w"));
+ g_volume = scriptGroup.findObject("shade.volume");
+ w_volume = stringToInteger(g_volume.getXmlParam("w"));
+}
+
+scriptGroup.onResize (int x, int y, int w, int h)
+{
+ updateObjectPosition(w);
+}
+
+scriptGroup.onSetVisible (Boolean onoff)
+{
+ if (onoff)
+ {
+ updateObjectPosition(scriptGroup.getWidth());
+ }
+}
+/*
+artist_info_buttons_attrib.onDataChanged ()
+{
+ updateObjectPosition(scriptGroup.getWidth());
+}
+*/
+updateObjectPosition (int w)
+{
+/* if (artist_info_buttons_attrib.getData() == "1")
+ {
+ w_links = w_links_;
+ x_links = x_links_;
+ }
+ else
+ {
+ w_links = x_links = 0;
+ }
+*/
+
+// if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 3.5 * w_seek + w_vis + w_links)
+ if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 3.5 * w_seek + w_vis)
+ {
+// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - 2*w_seek - w_links));
+ g_seek.setXmlParam("x", integerToString(x_seek - 2*w_seek));
+ g_seek.setXmlParam("w", integerToString(3 * w_seek));
+ g_cbuttons.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis));
+ g_volume.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis + w_cbuttons));
+ g_display.setXmlParam("x", integerToString(2 + x_cbuttons + w_cbuttons + w_volume + w_vis));
+// g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 3 * w_seek - w_vis - w_links));
+ g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 3 * w_seek - w_vis));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.show();
+ g_seek.show();
+ g_vis.show();
+/* if(w_links != 0) g_links.show();
+ else g_links.hide();
+*/
+ }
+// else if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 2 * w_seek + w_vis + w_links)
+ else if (w >= x_cbuttons + w_cbuttons + 2 * w_display + w_volume + w_sysbuttons + 2 * w_seek + w_vis)
+ {
+// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - w_seek - w_links));
+ g_seek.setXmlParam("x", integerToString(x_seek - w_seek));
+ g_seek.setXmlParam("w", integerToString(2 * w_seek));
+ g_cbuttons.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis));
+ g_volume.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis + w_cbuttons));
+ g_display.setXmlParam("x", integerToString(2 + x_cbuttons + w_cbuttons + w_volume + w_vis));
+// g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 2 * w_seek - w_vis - w_links));
+ g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - 2 * w_seek - w_vis));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.show();
+ g_seek.show();
+ g_vis.show();
+/* if(w_links != 0) g_links.show();
+ else g_links.hide();
+*/
+ }
+// else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek + w_vis + w_links)
+ else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek + w_vis)
+ {
+// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - w_links));
+ g_seek.setXmlParam("x", integerToString(x_seek));
+ g_seek.setXmlParam("w", integerToString(w_seek));
+ g_cbuttons.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis));
+ g_volume.setXmlParam("x", integerToString(2 + x_cbuttons + w_vis + w_cbuttons));
+ g_display.setXmlParam("x", integerToString(2 + x_cbuttons + w_cbuttons + w_volume + w_vis));
+// g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek - w_vis - w_links));
+ g_display.setXmlParam("w", integerToString(0 - 1 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek - w_vis));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.show();
+ g_seek.show();
+ g_vis.show();
+/* if(w_links != 0) g_links.show();
+ else g_links.hide();
+*/
+ }
+// else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek + w_links)
+ else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek)
+ {
+// if(g_links != null) g_links.setXmlParam("x", integerToString(x_seek - w_links));
+ g_seek.setXmlParam("x", integerToString(x_seek));
+ g_seek.setXmlParam("w", integerToString(w_seek));
+ g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
+ g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
+ g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons + w_volume));
+// g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek - w_links));
+ g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.show();
+ g_seek.show();
+ g_vis.hide();
+/* if(w_links != 0) g_links.show();
+ else g_links.hide();
+*/
+ }
+ else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons + w_seek)
+ {
+ g_seek.setXmlParam("x", integerToString(x_seek));
+ g_seek.setXmlParam("w", integerToString(w_seek));
+ g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
+ g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
+ g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons + w_volume));
+ g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume - w_seek));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.show();
+ g_seek.show();
+ g_vis.hide();
+// g_links.hide();
+ }
+ else if (w >= x_cbuttons + w_cbuttons + w_display + w_volume + w_sysbuttons)
+ {
+ g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
+ g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
+ g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons + w_volume));
+ g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons - w_volume));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.show();
+ g_seek.hide();
+ g_vis.hide();
+// g_links.hide();
+ }
+ else if (w >= x_cbuttons + w_cbuttons + w_display + w_sysbuttons)
+ {
+ g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
+ g_volume.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
+ g_display.setXmlParam("x", integerToString(x_cbuttons + w_cbuttons));
+ g_display.setXmlParam("w", integerToString(0 - x_cbuttons - w_cbuttons - w_sysbuttons));
+ g_display.setXmlParam("relatw", "1");
+ g_display.show();
+ g_volume.hide();
+ g_seek.hide();
+ g_vis.hide();
+// g_links.hide();
+ }
+ else
+ {
+ g_cbuttons.setXmlParam("x", integerToString(x_cbuttons));
+ g_volume.hide();
+ g_display.hide();
+ g_seek.hide();
+ g_vis.hide();
+// g_links.hide();
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/shadesize.maki b/Src/resources/skins/Big Bento/scripts/shadesize.maki
new file mode 100644
index 00000000..61534de0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/shadesize.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/simplemaximize.m b/Src/resources/skins/Big Bento/scripts/simplemaximize.m
new file mode 100644
index 00000000..cc255edd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/simplemaximize.m
@@ -0,0 +1,72 @@
+/**
+ * simlple maximize script
+ *
+ * doesn't require a registry store, so ideal for standardframes
+ * required objects: maximize & restore as buttons
+ *
+ * @author mpdeimos
+ * @version 0.1
+ */
+
+#include <lib/std.mi>
+
+Global Button restore, maximize;
+Global Layout parent;
+
+Global Int lx, ly, lw, lh;
+
+System.onScriptLoaded ()
+{
+ restore = getScriptGroup().findObject("restore");
+ maximize = getScriptGroup().findObject("maximize");
+ parent = getScriptGroup().getParentLayout();
+
+ lx = -1;
+ ly = -1;
+ lh = -1;
+ lw = -1;
+}
+
+parent.onResize (int x, int y, int w, int h)
+{
+ double d = getScale();
+ if (getLeft() == getViewPortLeftfromGuiObject(parent) && getTop() == getViewPortTopfromGuiObject(parent) && getWidth() == getViewPortWidthfromGuiObject(parent)/d && getHeight() == getViewPortHeightfromGuiObject(parent)/d)
+ {
+ restore.show();
+ maximize.hide();
+ }
+ else
+ {
+ restore.hide();
+ maximize.show();
+ }
+}
+
+maximize.onLeftClick ()
+{
+ lx = parent.getLeft();
+ ly = parent.getTop();
+ lw = parent.getWidth();
+ lh = parent.getHeight();
+
+ double d = parent.getScale();
+ parent.resize(getViewPortLeftfromGuiObject(parent), getViewPortTopfromGuiObject(parent), getViewPortWidthfromGuiObject(parent)/d, getViewPortHeightfromGuiObject(parent)/d);
+}
+
+
+restore.onLeftClick ()
+{
+ if (lx == -1)
+ lx = parent.getLeft() - 75;
+ if (ly == -1)
+ ly = parent.getTop() - 75;
+ if (lw == -1)
+ lw = parent.getWidth() - 150;
+ if (lh == -1)
+ lh = parent.getHeight() - 150;
+
+ parent.resize(lx,ly,lw,lh);
+}
+
+
+// TODO (mpdeimos) add scale recognizing
diff --git a/Src/resources/skins/Big Bento/scripts/simplemaximize.maki b/Src/resources/skins/Big Bento/scripts/simplemaximize.maki
new file mode 100644
index 00000000..75649cb2
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/simplemaximize.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/songinfo.m b/Src/resources/skins/Big Bento/scripts/songinfo.m
new file mode 100644
index 00000000..2805f95c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/songinfo.m
@@ -0,0 +1,214 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: songinfo.m
+Version: 1.0
+
+Type: maki
+Date: 20. Nov. 2006 - 22:47
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Function int getChannels (); // returning 1 for mono, 2 for stereo, more for multichannel (e.g. 6), -1 for no info available
+Function string getBitrate();
+Function string getFrequency();
+
+Global layer monster;
+Global timer delayload, songInfoTimer;
+
+Global Text Bitrate, Frequency;
+Global Layer l_Bitrate, l_Frequency;
+Global int tempwidth;
+Global boolean param;
+
+System.onScriptLoaded()
+{
+ group PlayerDisplay = getScriptgroup();
+
+ param = (getParam() == "big");
+
+ monster = PlayerDisplay.findObject("monster");
+
+ Bitrate = PlayerDisplay.findObject("Bitrate");
+ Frequency = PlayerDisplay.findObject("Frequency");
+ l_Bitrate = PlayerDisplay.findObject("Bitrate.label");
+ l_Frequency = PlayerDisplay.findObject("Frequency.label");
+
+ delayload = new Timer;
+ delayload.setDelay(100);
+
+ songInfoTimer = new Timer;
+ songInfoTimer.setDelay(1000);
+
+ Int PlayerStatus = System.getStatus();
+
+ if ( PlayerStatus != 0 )
+ {
+ delayload.start();
+ bitrate.setText(getBitrate());
+ Frequency.setText(getFrequency());
+ if (PlayerStatus == 1)
+ {
+ songInfoTimer.start();
+ }
+ }
+}
+
+system.onScriptUnloading ()
+{
+ songinfotimer.stop();
+ delete songinfotimer;
+ delayload.stop();
+ delete delayload;
+}
+
+System.onResume()
+{
+ delayload.start();
+ songInfoTimer.start();
+}
+
+System.onPlay()
+{
+ delayload.start();
+ songInfoTimer.start();
+}
+
+System.onStop ()
+{
+ monster.setXmlParam("image", "player.songinfo.na");
+ songInfoTimer.stop();
+}
+
+system.onPause ()
+{
+ songInfoTimer.stop();
+}
+
+System.onTitleChange(String newtitle)
+{
+ delayload.start();
+ bitrate.setText(getBitrate());
+}
+
+delayload.onTimer ()
+{
+ delayload.stop();
+ int c = getChannels();
+ if (c == -1) monster.setXmlParam("image", "player.songinfo.na");
+ else if (c == 1) monster.setXmlParam("image", "player.songinfo.mono");
+ else if (c == 2 || c == 3) monster.setXmlParam("image", "player.songinfo.stereo");
+ else
+ {
+ if (tempwidth > 23) monster.setXmlParam("image", "player.songinfo.multi2");
+ else monster.setXmlParam("image", "player.songinfo.multi");
+ }
+ //ensure to display bitrate & frequency
+ bitrate.setText(getBitrate());
+ Frequency.setText(getFrequency());
+}
+
+Int getChannels ()
+{
+ if (strsearch(getSongInfoText(), "tereo") != -1)
+ {
+ return 2;
+ }
+ else if (strsearch(getSongInfoText(), "ono") != -1)
+ {
+ return 1;
+ }
+ else if (strsearch(getSongInfoText(), "annels") != -1)
+ {
+ int pos = strsearch(getSongInfoText(), "annels");
+ return stringToInteger(strmid(getSongInfoText(), pos - 4, 1));
+ }
+ else
+ {
+ return -1;
+ }
+}
+
+songInfoTimer.onTimer ()
+{
+ bitrate.setText(getBitrate());
+}
+
+string getBitrate ()
+{
+ string sit = strlower(getSongInfoText());
+ if (sit != "")
+ {
+ string rtn;
+ int searchresult;
+ for (int i = 0; i < 5; i++) {
+ rtn = getToken(sit, " ", i);
+ searchResult = strsearch(rtn, "kbps");
+ if (searchResult>0) return StrMid(rtn, 0, searchResult);
+ }
+ return "";
+ }
+ else
+ {
+ return "";
+ }
+}
+
+string getFrequency ()
+{
+ string sit = strlower(getSongInfoText());
+ if (sit != "")
+ {
+ string rtn;
+ int searchresult;
+ for (int i = 0; i < 5; i++) {
+ rtn = getToken(sit, " ", i);
+ searchResult = strsearch(strlower(rtn), "khz");
+ if (searchResult>0)
+ {
+ rtn = StrMid(rtn, 0, searchResult);
+ searchResult = strsearch(strlower(rtn), ".");
+ if (searchResult>0)
+ {
+ rtn = getToken(rtn, ".", 0);
+ }
+ return rtn;
+ }
+ }
+ return "";
+ }
+ else
+ {
+ return "";
+ }
+}
+
+Bitrate.onTextChanged (String newtxt)
+{
+ if (param) return;
+ if (Bitrate.getTextWidth() == tempwidth) return;
+ tempwidth = getTextWidth();
+ if (getTextWidth() > 23)
+ {
+ monster.setXmlParam("x", "-39");
+ Frequency.setXmlParam("x", "-75");
+ l_Bitrate.setXmlParam("x", "-91");
+ l_Frequency.setXmlParam("x", "-58");
+ Bitrate.setXmlParam("w", "26");
+ if (getChannels() > 3) monster.setXmlParam("image", "player.songinfo.multi2");
+ }
+ else
+ {
+ monster.setXmlParam("x", "-45");
+ Frequency.setXmlParam("x", "-80");
+ l_Bitrate.setXmlParam("x", "-96");
+ l_Frequency.setXmlParam("x", "-63");
+ Bitrate.setXmlParam("w", "20");
+ if (getChannels() > 3) monster.setXmlParam("image", "player.songinfo.multi");
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/songinfo.maki b/Src/resources/skins/Big Bento/scripts/songinfo.maki
new file mode 100644
index 00000000..1d37b984
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/songinfo.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/songticker.m b/Src/resources/skins/Big Bento/scripts/songticker.m
new file mode 100644
index 00000000..6620dac6
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/songticker.m
@@ -0,0 +1,190 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: songticker.m
+Version: 1.0
+
+Type: maki
+Date: 18. Nov. 2006 - 16:08
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_songticker.m
+
+Function setTextW();
+Function updateTickerScrolling();
+
+Global Timer SongTickerTimer;
+Global GuiObject SongTicker;
+Global Text SongTime, InfoDisplay;
+Global int SongTicker_x, SongTicker_w, total_w;
+Global int SongTime_x, SongTime_w, offset_x;
+
+Global Boolean isShade, byPassTimer;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Songticker();
+
+ group sg = getScriptGroup();
+
+ if (sg.getParentLayout().getID() == "shade") isShade = TRUE;
+
+ SongTicker = sg.findObject("songticker");
+ InfoDisplay = sg.findObject("InfoDisplay");
+ SongTickerTimer = new Timer;
+ SongTickerTimer.setDelay(666);
+
+ SongTime = sg.findObject("SongTime");
+
+ SongTicker_x = SongTicker.getGuiX();
+ SongTicker_w = SongTicker.getGuiW();
+
+ total_w = SongTicker_x + SongTicker_w;
+
+ SongTime_x = SongTime.getGuiX();
+ SongTime_w = SongTime.getTextWidth();
+
+ offset_x = stringToInteger(getParam());
+
+ setTextW();
+
+ updateTickerScrolling();
+
+}
+
+System.onScriptUnloading ()
+{
+ SongTickerTimer.stop();
+ delete SongTickerTimer;
+}
+
+SongTicker.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (strlower(action) == "showinfo")
+ {
+ InfoDisplay.cancelTarget();
+ Songticker.cancelTarget();
+ SongTickerTimer.stop();
+ SongTickerTimer.start();
+ InfoDisplay.setText(param);
+ InfoDisplay.setAlpha(255);
+ SongTicker.setAlpha(0);
+ }
+ else if (strlower(action) == "cancelinfo")
+ {
+ SongTickerTimer.onTimer ();
+ }
+ else if (strlower(action) == "setguix")
+ {
+ byPassTimer = TRUE;
+ SongTicker_X = x;
+ SongTicker_W = total_w - SongTicker_X;
+ SongTicker.setXmlParam("x", integerToString(SongTicker_X));
+ InfoDisplay.setXmlParam("x", integerToString(SongTicker_X));
+ SongTicker.setXmlParam("w", integerToString(SongTicker_W));
+ InfoDisplay.setXmlParam("w", integerToString(SongTicker_W));
+ }
+ else if (strlower(action) == "restoreguix")
+ {
+ byPassTimer = FALSE;
+ setTextW ();
+ }
+}
+
+SongTickerTimer.onTimer ()
+{
+ SongTickerTimer.stop();
+ InfoDisplay.cancelTarget();
+ InfoDisplay.setTargetA(0);
+ InfoDisplay.setTargetSpeed(0.3);
+ InfoDisplay.gotoTarget();
+}
+
+InfoDisplay.onTargetReached ()
+{
+ if (InfoDisplay.getAlpha() == 0)
+ {
+ setTextW ();
+ Songticker.cancelTarget();
+ Songticker.setTargetA(255);
+ Songticker.setTargetX(Songticker.getGuiX());
+ Songticker.setTargetW(Songticker.getGuiW());
+ Songticker.setTargetSpeed(0.3);
+ Songticker.gotoTarget();
+ }
+}
+
+/* Changing TickerScrolling via Config Attrib */
+
+ScrollingAttribute.onDataChanged ()
+{
+ setTextW ();
+ updateTickerScrolling();
+}
+
+updateTickerScrolling ()
+{
+ if (Songticker == NULL)
+ {
+ return;
+ }
+
+ if (songticker_scrolling_disabled_attrib.getData() == "1") SongTicker.setXMLParam("ticker", "off");
+ if (songticker_style_modern_attrib.getData() == "1") SongTicker.setXMLParam("ticker", "bounce");
+ if (songticker_style_old_attrib.getData() == "1") SongTicker.setXMLParam("ticker", "scroll");
+}
+
+/* set Songticker Position */
+
+setTextW ()
+{
+ if (byPassTimer) return;
+
+ if (Songticker == NULL || InfoDisplay == NULL)
+ {
+ return;
+ }
+
+ SongTicker_X = SongTime_X + SongTime_w + offset_x;
+ SongTicker_W = total_w - SongTicker_X;
+
+ /*if (!isShade)
+ {
+ if (SongTime_w > 89)
+ {
+ SongTime.setXmlParam("x", "0");
+ SongTicker_X = SongTime_X + SongTime_w + offset_x - 11;
+ SongTicker_W = total_w - SongTicker_X + 11;
+ }
+ else
+ {
+ SongTime.setXmlParam("x", "10");
+ }
+ }*/
+
+ // debugString(system.getScriptGroup().getParentLayout().getID() + " -- x: " + integerToString(SongTicker_X) + " -- w: " + integerToString(SongTicker_W), 9);
+
+ Songticker.setXmlParam("x", integerToString(SongTicker_X));
+ Songticker.setXmlParam("w", integerToString(SongTicker_W));
+ InfoDisplay.setXmlParam("x", integerToString(SongTicker_X));
+ InfoDisplay.setXmlParam("w", integerToString(SongTicker_W));
+}
+
+SongTime.onTextChanged (String newtxt)
+{
+ int temp_w = SongTime.getTextWidth();
+ if (SongTime_w == temp_w) return;
+
+ SongTime_w = temp_w;
+ setTextW ();
+}
+
+songticker.onTargetReached ()
+{
+ setTextW ();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/songticker.maki b/Src/resources/skins/Big Bento/scripts/songticker.maki
new file mode 100644
index 00000000..30d3e76f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/songticker.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/standardframe.m b/Src/resources/skins/Big Bento/scripts/standardframe.m
new file mode 100644
index 00000000..acb87f8b
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/standardframe.m
@@ -0,0 +1,68 @@
+#include <lib/std.mi>
+
+Global Group frameGroup, content;//, titlebar;
+Global String x, y, w, h, rx, ry, rw, rh;
+//Global Layer mouselayer;
+Global Button Sysmenu;
+
+Function setNewGroup(String groupid);
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ String param = getParam();
+ x = getToken(param, ",", 0);
+ y = getToken(param, ",", 1);
+ w = getToken(param, ",", 2);
+ h = getToken(param, ",", 3);
+ rx = getToken(param, ",", 4);
+ ry = getToken(param, ",", 5);
+ rw = getToken(param, ",", 6);
+ rh = getToken(param, ",", 7);
+ sysmenu = frameGroup.findObject("sysmenu");
+}
+
+System.onSetXuiParam(String param, String value) {
+ if (param == "content") {
+ setNewGroup(value);
+ //titlebar = frameGroup.findObject("wasabi.titlebar");
+ //mouselayer = titlebar.findObject("mousetrap");
+ }
+ /*if (param == "padtitleright" || param == "padtitleleft") {
+ if (titlebar != NULL) titlebar.setXmlParam(param, value);
+ }
+ if (param == "shade") {
+ if (mouselayer != NULL) mouselayer.setXmlParam("dblclickaction", "switch;"+value);
+ else messagebox("Cannot set shade parameter for StandardFrame object, no mousetrap found", "Skin Error", 0, "");
+ }*/
+}
+
+// backward compatibility for prerelease notify trick
+frameGroup.onNotify(String cmd, String param, int a, int b) {
+ String _command = getToken(cmd, ",", 0);
+ String _param = getToken(cmd, ",", 1);
+ if (_command == "content" || _command == "padtitleright" || _command == "padtitleleft" || _command == "shade") {
+ onSetXuiParam(_command, _param);
+ }
+}
+
+setNewGroup(String groupid) {
+ content = newGroup(groupid);
+ if (content == NULL) {
+ messagebox("group \"" + groupid + "\" not found", "ButtonGroup", 0, "");
+ return;
+ }
+ content.setXmlParam("x", x);
+ content.setXmlParam("y", y);
+ content.setXmlParam("w", w);
+ content.setXmlParam("h", h);
+ content.setXmlParam("relatx", rx);
+ content.setXmlParam("relaty", ry);
+ content.setXmlParam("relatw", rw);
+ content.setXmlParam("relath", rh);
+ content.init(frameGroup);
+}
+
+Sysmenu.onLeftClick() {
+ LayoutStatus _status = frameGroup.findObject("sysmenu.status");
+ _status.callme("{system}");
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/standardframe.maki b/Src/resources/skins/Big Bento/scripts/standardframe.maki
new file mode 100644
index 00000000..daf4476d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/standardframe.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/suicore.m b/Src/resources/skins/Big Bento/scripts/suicore.m
new file mode 100644
index 00000000..0d7fdc93
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/suicore.m
@@ -0,0 +1,410 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: suicore.m
+Version: 4.4
+
+Type: maki
+Date: 02. Sep. 2007 - 17:35
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script is based on drawer.m
+ from Winamp Modern, but extended to
+ 4 components that can be closed!
+ Like in drawer.m I warn everybody not
+ to modify this script, cause it can be
+ harmed very fast! And you don't want
+ a buggy winamp skin, want you?
+
+ Since script version 3.1
+ (onesie build #022)
+ the script is devided into subscripts
+ for better debugging.
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/config.mi>
+#include <lib/winampconfig.mi>
+
+#include attribs/init_windowpage.m
+#include attribs/init_Autoresize.m
+#include attribs/init_vis.m
+#include attribs/init_appearance.m
+
+// #define DEBUG
+#define FILE_NAME "suicore.m"
+#include <lib/com/debug.m>
+
+#define ML_GUID "{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}"
+#define VIS_GUID "{0000000A-000C-0010-FF7B-01014263450C}"
+#define VIDEO_GUID "{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"
+#define PL_GUID "{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D}"
+
+Function switchToMl();
+Function switchToPl();
+Function switchToVideo();
+Function switchToVis();
+//--Function switchToBrw();
+//--Function switchToExp();
+//--Function switchToCfg();
+Function switchToNoComp();
+Function switchFromNoComp();
+
+Function hideMl();
+Function showMl();
+Function hidePl();
+Function showPl();
+Function hideVis();
+Function showVis();
+Function showVideo();
+Function hideVideo();
+//--Function hideExp();
+//--Function showExp();
+//--Function hideBrw();
+//--Function showBrw();
+//--Function hideCfg();
+//--Function showCfg();
+
+Function onShowMl();
+Function onHideMl();
+Function onShowPl();
+Function onHidePl();
+Function onShowVis();
+Function onHideVis();
+Function onShowVideo();
+Function onHideVideo();
+//--Function onShowExp();
+//--Function onHideExp();
+//--Function onShowBrw();
+//--Function onHideBrw();
+//--Function onShowCfg();
+//--Function onHideCfg();
+Function onShowSUI();
+Function onHideSUI();
+Function onBeforeHideSUI();
+
+Function dc_showMl();
+Function dc_hideMl();
+Function dc_showPl();
+Function dc_hidePl();
+Function dc_showVis();
+Function dc_showVideo();
+Function dc_hideVis();
+Function dc_hideVideo();
+//--Function dc_showExp();
+//--Function dc_hideExp();
+//--Function dc_showBrw();
+//--Function dc_hideBrw();
+//--Function dc_showCfg();
+//--Function dc_hideCfg();
+
+Function dc_showSUI();
+Function dc_closeSUI();
+
+Global GuiObject sui_window;
+Global Group sui_components;
+Global Group sui_vis, sui_video, sui_ml, sui_pl /*--, sui_brw, sui_exp, sui_cfg--*/;
+Global WindowHolder sui_vis_wdh;
+Global Button switch_ml, switch_pl, switch_video, switch_vis /*--, switch_exp, switch_brw, switch_cfg--*/;
+Global Button hide_sui, show_sui;
+Global Boolean bypasscancel;
+Global Boolean showing_vis, hiding_vis, showing_video, hiding_video, showing_ml, hiding_ml, showing_pl, hiding_pl;
+/*--Global Boolean showing_exp, hiding_exp, showing_brw, hiding_brw, showing_cfg, hiding_cfg;--*/
+Global Int play_auto_fs_video;
+
+Global Boolean callback_showing_vis, callback_hiding_vis, callback_showing_video, callback_hiding_video, callback_showing_ml, callback_hiding_ml, callback_showing_pl, callback_hiding_pl;
+/*--Global Boolean callback_showing_exp, callback_hiding_exp, callback_showing_brw, callback_hiding_brw, callback_showing_cfg, callback_hiding_cfg;--*/
+Global Boolean callback_closing_sui, callback_showing_sui;
+Global Layout normal;
+Global Container player;
+Global Boolean Mychange;
+Global Boolean startup;
+Global layer normal_resizer, normal_resizer2, normal_resizer3, normal_resizer4, normal_TBresizer, normal_TBresizer2, normal_TBresizer3;
+
+Global string h;
+
+Global Timer callbackTimer, tempDisable;
+
+Global button pe_move_top;
+
+//Global Button b_maximize, b_minimize, b_shade;
+
+// init special handles for video
+#include suicore/video_handles.m
+
+// script loading/unloading goes here
+#include suicore/load_handles.m
+
+// open / hiding components not caused by button clicks
+#include suicore/external_handles.m
+
+// showing and hiding the components
+#include suicore/show_hide.m
+
+
+/** Button Clicks */
+
+switch_video.onLeftClick ()
+{
+ debugString("switch_video.Clicked()", D_WTF);
+ switchToVideo();
+}
+
+switch_vis.onLeftClick ()
+{
+ debugString("switch_vis.Clicked()", D_WTF);
+ vis_inbig_attrib.setData("1");
+ switchToVis();
+}
+
+switch_ml.onLeftClick ()
+{
+ debugString("switch_ml.Clicked()", D_WTF);
+ switchToMl();
+}
+
+switch_pl.onLeftClick ()
+{
+ debugString("switch_pl.Clicked()", D_WTF);
+ switchToPl();
+}
+/*--
+switch_brw.onLeftClick ()
+{
+ debugString("switch_brw.Clicked()", D_WTF);
+ switchToBrw();
+}
+--*/
+/*--
+switch_exp.onLeftClick ()
+{
+ debugString("switch_exp.Clicked()", D_WTF);
+ switchToExp();
+}
+--*/
+/*--switch_cfg.onLeftClick ()
+{
+ debugString("switch_cfg.Clicked()", D_WTF);
+ switchToCfg();
+}--*/
+
+show_sui.onLeftClick ()
+{
+ debugString("show_sui.Clicked()", D_WTF);
+ switchFromNoComp();
+}
+
+hide_sui.onLeftClick ()
+{
+ debugString("hide_sui.Clicked()", D_WTF);
+ switchToNoComp();
+
+}
+
+/** Calls after comp is shown */
+
+onShowMl()
+{
+ switch_ml.setActivated(1);
+ switch_pl.setActivated(0);
+ switch_vis.setActivated(0);
+ switch_video.setActivated(0);
+ //--switch_brw.setActivated(0);
+ //--switch_exp.setActivated(0);
+ switch_ml.setXmlParam("ghost", "1");
+ switch_pl.setXmlParam("ghost", "0");
+ switch_video.setXmlParam("ghost", "0");
+ switch_vis.setXmlParam("ghost", "0");
+ //--switch_brw.setXmlParam("ghost", "0");
+ //--switch_Cfg.setActivated(0);
+}
+onHideMl() {
+ //switch_ml.setXmlParam("ghost", "0");
+}
+
+onShowPl()
+{
+ switch_ml.setActivated(0);
+ switch_pl.setActivated(1);
+ switch_vis.setActivated(0);
+ switch_video.setActivated(0);
+ //--switch_brw.setActivated(0);
+ //--switch_exp.setActivated(0);
+ switch_ml.setXmlParam("ghost", "0");
+ switch_pl.setXmlParam("ghost", "1");
+ switch_video.setXmlParam("ghost", "0");
+ switch_vis.setXmlParam("ghost", "0");
+ //--switch_brw.setXmlParam("ghost", "0");
+ //--switch_Cfg.setActivated(0);
+}
+onHidePl() {
+ //switch_ml.setXmlParam("ghost", "0");
+}
+
+onShowVis()
+{
+ switch_ml.setActivated(0);
+ switch_pl.setActivated(0);
+ switch_vis.setActivated(1);
+ switch_video.setActivated(0);
+ //--switch_brw.setActivated(0);
+ //--switch_exp.setActivated(0);
+ switch_vis.setXmlParam("ghost", "1");
+ switch_video.setXmlParam("ghost", "0");
+ switch_ml.setXmlParam("ghost", "0");
+ switch_pl.setXmlParam("ghost", "0");
+ //--switch_brw.setXmlParam("ghost", "0");
+ //hideNamedWindow(ML_GUID);
+ //--switch_Cfg.setActivated(0);
+}
+
+onHideVis() {
+ //switch_vis.setXmlParam("ghost", "0");
+}
+
+onShowVideo()
+{
+ switch_ml.setActivated(0);
+ switch_pl.setActivated(0);
+ switch_vis.setActivated(0);
+ switch_video.setActivated(1);
+ //--switch_brw.setActivated(0);
+ //--switch_exp.setActivated(0);
+ switch_video.setXmlParam("ghost", "1");
+ switch_vis.setXmlParam("ghost", "0");
+ switch_ml.setXmlParam("ghost", "0");
+ switch_pl.setXmlParam("ghost", "0");
+ //--switch_brw.setXmlParam("ghost", "0");
+ //hideNamedWindow(ML_GUID);
+ //--switch_Cfg.setActivated(0);
+}
+onHideVideo() {
+ //switch_video.setXmlParam("ghost", "0");
+}
+
+/*--
+onShowBrw()
+{
+ switch_ml.setActivated(0);
+ switch_pl.setActivated(0);
+ switch_vis.setActivated(0);
+ switch_video.setActivated(0);
+ switch_brw.setActivated(1);
+ switch_exp.setActivated(0);
+ switch_brw.setXmlParam("ghost", "1");
+ switch_vis.setXmlParam("ghost", "0");
+ switch_ml.setXmlParam("ghost", "0");
+ switch_pl.setXmlParam("ghost", "0");
+ switch_video.setXmlParam("ghost", "0");
+ hideNamedWindow(ML_GUID);
+ switch_Cfg.setActivated(0);
+}
+onHideBrw() {
+ switch_brw.setXmlParam("ghost", "0");
+}
+--*/
+/*--
+onShowExp()
+{
+ switch_ml.setActivated(0);
+ switch_vis.setActivated(0);
+ switch_video.setActivated(0);
+ switch_brw.setActivated(0);
+ //--switch_exp.setActivated(1);
+ //--switch_exp.setXmlParam("ghost", "1");
+
+ //hideNamedWindow(ML_GUID);
+ //--switch_Cfg.setActivated(0);
+}
+onHideExp() {
+ switch_exp.setXmlParam("ghost", "0");
+}
+--*/
+/*--onShowCfg()
+{
+ switch_ml.setActivated(0);
+ switch_vis.setActivated(0);
+ switch_video.setActivated(0);
+ switch_brw.setActivated(0);
+ switch_exp.setActivated(0);
+ //--switch_Cfg.setActivated(1);
+}
+onHideCfg() {}--*/
+
+onShowSUI ()
+{
+ /*string x = b_shade.getXmlParam("x");
+ b_shade.setXmlParam("x", b_minimize.getXmlParam("x"));
+ b_minimize.setXmlParam("x", b_maximize.getXmlParam("x"));
+ b_maximize.setXmlParam("x", x);
+ b_maximize.show();*/
+ sui_window.sendAction("callback", "onshowsui", 0,0,0,0);
+
+}
+
+onHideSUI ()
+{
+ //hideNamedWindow(ML_GUID);
+ /*string x = b_minimize.getXmlParam("x");
+ debugInt(b_shade.getGuiX());
+ b_minimize.setXmlParam("x", b_shade.getXmlParam("x"));
+ b_shade.setXmlParam("x", b_maximize.getXmlParam("x"));
+ b_maximize.setXmlParam("x", x);
+ b_maximize.hide();*/
+// sui_window.sendAction("callback", "onhidesui", 0,0,0,0);
+}
+
+onBeforeHideSUI ()
+{
+ //hideNamedWindow(ML_GUID);
+ /*string x = b_minimize.getXmlParam("x");
+ debugInt(b_shade.getGuiX());
+ b_minimize.setXmlParam("x", b_shade.getXmlParam("x"));
+ b_shade.setXmlParam("x", b_maximize.getXmlParam("x"));
+ b_maximize.setXmlParam("x", x);
+ b_maximize.hide();*/
+ sui_window.sendAction("callback", "onbeforehidesui", 0,0,0,0);
+}
+
+pe_move_top.onLeftClick ()
+{
+ normal.sendAction("load_comp", "pledit", 0,0,0,0);
+}
+
+
+#ifdef DEBUG
+
+/** Debug Stuff */
+
+sui_ml.onSetVisible (Boolean onoff)
+{
+ debugString(DEBUG_PREFIX "sui_ml.setVisible(" +integerToString(onoff)+ ");", D_WTF);
+}
+sui_vis.onSetVisible (Boolean onoff)
+{
+ debugString(DEBUG_PREFIX "sui_vis.setVisible(" +integerToString(onoff)+ ");", D_WTF);
+}
+sui_video.onSetVisible (Boolean onoff)
+{
+ debugString(DEBUG_PREFIX "sui_video.setVisible(" +integerToString(onoff)+ ");", D_WTF);
+}
+/*--
+sui_brw.onSetVisible (Boolean onoff)
+{
+ debugString(DEBUG_PREFIX "sui_brw.setVisible(" +integerToString(onoff)+ ");", D_WTF);
+}
+--*/
+/*--
+sui_exp.onSetVisible (Boolean onoff)
+{
+ debugString(DEBUG_PREFIX "sui_exp.setVisible(" +integerToString(onoff)+ ");", D_WTF);
+}--*/
+/*--sui_cfg.onSetVisible (Boolean onoff)
+{
+ debugString(DEBUG_PREFIX "sui_cfg.setVisible(" +integerToString(onoff)+ ");", D_WTF);
+}--*/
+
+#endif
diff --git a/Src/resources/skins/Big Bento/scripts/suicore.maki b/Src/resources/skins/Big Bento/scripts/suicore.maki
new file mode 100644
index 00000000..b28c20f8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/suicore.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/suicore/external_handles.m b/Src/resources/skins/Big Bento/scripts/suicore/external_handles.m
new file mode 100644
index 00000000..5f64abae
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/suicore/external_handles.m
@@ -0,0 +1,767 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: external_handles.m
+
+Type: maki
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/suicore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+
+//----------------------------------------------------------------------------------------------------------------
+// The main component switching as triggered by user menus, keyboard shortcuts, etc
+//----------------------------------------------------------------------------------------------------------------
+
+System.onGetCancelComponent(String guid, boolean goingvisible) {
+ debugString(DEBUG_PREFIX "System.onGetCancelComponent ( "+ guid + " , " + integerToString(goingvisible) + " ) {", D_WTF);
+ debugString(DEBUG_PREFIX " [Last Content: " + getPrivateString(getSkinName(), "Component", "Media Library") + " ]", D_WTF);
+
+ Boolean isShade = (player.getCurLayout() != normal);
+
+ // isVideo() hasn't been set yet in System.onPlay and System.onTitleChange, so we check it here instead.
+ if (play_auto_fs_video && !isVideo()) play_auto_fs_video = 0;
+
+ // Do Playlist Stuff First (is unlinked from SUI)
+
+ if (guid == PL_GUID)
+ {
+ if (goingvisible && isShade && (getPrivateString(getSkinName(), "Pledit_pos", "top") == "top" || pl_tab_attrib.getData() == "0"))
+ {
+ debugString(DEBUG_PREFIX " --> opening pl --- return from shade!", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ switchToNoComp();
+ player.switchToLayout("normal");
+ normal.sendAction("load_comp", "pledit", 0,0,0,0);
+ return TRUE;
+ }
+ }
+
+ // Now we detect if suicore is already performing an action - if so we will return.
+
+ if (bypasscancel)
+ {
+ debugString(DEBUG_PREFIX " --> bypasscancel", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == ML_GUID && !goingvisible && hiding_ml)
+ {
+ debugString(DEBUG_PREFIX " --> hiding_ml", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIDEO_GUID && !goingvisible && hiding_video)
+ {
+ debugString(DEBUG_PREFIX " --> hiding_video", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIS_GUID && !goingvisible && hiding_vis)
+ {
+ debugString(DEBUG_PREFIX " --> hiding_vis", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == PL_GUID && !goingvisible && hiding_pl)
+ {
+ debugString(DEBUG_PREFIX " --> hiding_pl", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == ML_GUID && goingvisible && showing_ml)
+ {
+ debugString(DEBUG_PREFIX " --> showing_ml", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIDEO_GUID && goingvisible && showing_video)
+ {
+ debugString(DEBUG_PREFIX " --> showing_video", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == VIS_GUID && goingvisible && showing_vis)
+ {
+ debugString(DEBUG_PREFIX " --> showing_vis", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+ if (guid == PL_GUID && goingvisible && showing_pl)
+ {
+ debugString(DEBUG_PREFIX " --> showing_pl", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+ }
+
+ // Let's get our current Content
+
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+
+ // If a window wants to hide but we are still in collapsed mode - return
+ if (!goingvisible && window_content == "Hidden")
+ {
+ debugString(DEBUG_PREFIX " --> SUI isn't visible", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+
+ // All comps that want to be shown
+ if (goingvisible) {
+ if (guid == VIDEO_GUID && (window_content != "Video" || isShade)) {
+ debugString(DEBUG_PREFIX " --> external showing_video --- start Timer", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ if (isShade)
+ {
+ sui_video.hide();
+ player.switchToLayout("normal");
+ }
+
+ //setPrivateString(getSkinName(), "Component", "Video");
+
+ //--hideExp();
+ //--hideBrw();
+ hideVis();
+ hideMl();
+ hidePL();
+ //--hideCfg();
+
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Video");
+ dc_showSUI ();
+ return TRUE;
+ }
+
+ dc_showVideo();
+
+ return TRUE;
+ } else if (guid == VIS_GUID && (window_content != "Vis" || isShade)) {
+
+ if (vis_inbig_attrib.getData() == "0")
+ {
+ debugString(DEBUG_PREFIX " --> vis shouldn't be shown in big sui!", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+
+ debugString(DEBUG_PREFIX " --> external showing_vis --- start Timer", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ if (isShade)
+ {
+ sui_vis.hide();
+ player.switchToLayout("normal");
+ }
+
+ //setPrivateString(getSkinName(), "Component", "Vis");
+
+ disablePSOVC();
+ hideVideo();
+ hideMl();
+ //--hideExp();
+ //--hideBrw();
+ hidePL();
+ //--hideCfg();
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Vis");
+ dc_showSUI ();
+ return TRUE;
+ }
+ sui_vis_wdh.setXmlParam("autoopen", "0");
+ showVis();
+ sui_vis_wdh.setXmlParam("autoopen", "1");
+ return FALSE;
+ } else if (guid == ML_GUID && (window_content != "Media Library" || isShade)) {
+ debugString(DEBUG_PREFIX " --> external showing_ml --- start Timer", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ if (isShade)
+ {
+ sui_ml.hide();
+ player.switchToLayout("normal");
+ }
+
+ //setPrivateString(getSkinName(), "Component", "Media Library");
+
+ disablePSOVC();
+ hideVideo();
+ hideVis();
+ hidePL();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Media Library");
+ dc_showSUI ();
+ return TRUE;
+ }
+ dc_showMl();
+
+ return TRUE;
+ } else if (guid == PL_GUID && (window_content != "Pledit" || isShade) && pl_tab_attrib.getData() == "1") {
+ if (getPrivateString(getSkinName(), "Pledit_pos", "top") != "sui")
+ {
+ debugString(DEBUG_PREFIX " suicore won't handle this!", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+
+ debugString(DEBUG_PREFIX " --> external showing_pl --- start Timer", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ if (isShade)
+ {
+ sui_pl.hide();
+ player.switchToLayout("normal");
+ }
+
+ //setPrivateString(getSkinName(), "Component", "Media Library");
+
+ disablePSOVC();
+ hideVideo();
+ hideVis();
+ //--hideExp();
+ //--hideBrw();
+ hideML();
+ //--hideCfg();
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Pledit");
+ dc_showSUI ();
+ return TRUE;
+ }
+ dc_showPl();
+
+ return TRUE;
+ }
+ }
+
+ // All comps that want to be hidden
+ if (!goingvisible) {
+ if (guid == VIDEO_GUID && window_content == "Video") {
+ debugString(DEBUG_PREFIX " --> external hiding_video", D_WTF);
+
+ if (getStatus() != 0 && isVideo() && cfg_Video.getBool("autoopen") && cfg_Video.getBool("autoclose"))
+ {
+ debugString(DEBUG_PREFIX " --> video is playing", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return true;
+ }
+ else
+ {
+ disablePSOVC();
+ hideVideo();
+ hideVis();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ dc_showMl(); // normal Component
+ debugString(DEBUG_PREFIX " --> no video is playing", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return false;
+ }
+ }
+ if (guid == PL_GUID && window_content == "Pledit" && pl_tab_attrib.getData() == "1") {
+ debugString(DEBUG_PREFIX " --> external hiding_pl", D_WTF);
+
+ if (getStatus() != STATUS_STOPPED && system.isVideo())
+ {
+ debugString(DEBUG_PREFIX " --> video is playing", D_WTF);
+ debugString(DEBUG_PREFIX " return TRUE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ disablePSOVC();
+ hideML();
+ hideVis();
+ //--hideExp();
+ //--hideBrw();
+ hidePL();
+ //--hideCfg();
+ dc_showVideo(); // normal Component
+
+ return false;
+
+ }
+ else
+ {
+ disablePSOVC();
+ hideVideo();
+ hideVis();
+ //--hideExp();
+ //--hideBrw();
+ hidePL();
+ //--hideCfg();
+ dc_showMl(); // normal Component
+ debugString(DEBUG_PREFIX " --> no video is playing", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return false;
+ }
+ }
+ if (guid == VIS_GUID && window_content == "Vis") {
+ if (vis_inbig_attrib.getData() == "0")
+ {
+ debugString(DEBUG_PREFIX " --> vis shouldn't be closed in big sui!", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+ if (getStatus() != STATUS_STOPPED && system.isVideo())
+ {
+ debugString(DEBUG_PREFIX " --> external hiding_vis --- open Video", D_WTF);
+ hideMl();
+ hideVis();
+ hidePL();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ dc_showVideo();
+ }
+ else
+ {
+ debugString(DEBUG_PREFIX " --> external hiding_video --- hide Video", D_WTF);
+ hideVideo();
+ hideVis();
+ //--hideExp();
+ //--hideBrw();
+ hidePL();
+ //--hideCfg();
+ dc_showMl(); // normal Component
+ }
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ return FALSE;
+ }
+ if (guid == ML_GUID && window_content == "Media Library") {
+ if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
+ {
+ debugString(DEBUG_PREFIX " --> external hiding_ml --- open Video", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ hideMl();
+ hideVis();
+ hidePL();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ dc_showVideo();
+ return FALSE;
+ }
+ else
+ {
+ debugString(DEBUG_PREFIX " --> external hiding_ml --- switch to vis", D_WTF);
+ debugString(DEBUG_PREFIX " return flase;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ hideMl();
+ hideVis();
+ //--hideBrw();
+ hidePL();
+ //--hideCfg();
+ hideVideo();
+ //--hideExp();
+ dc_closeSUI();
+ return false;
+ }
+
+ }
+ }
+
+ debugString(DEBUG_PREFIX " --> Went thru", D_WTF);
+ debugString(DEBUG_PREFIX " return FALSE;", D_WTF);
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ return FALSE;
+}
+
+
+Player.onSwitchToLayout (Layout _layout)
+{
+ if (_layout.getId() != "normal")
+ {
+ mychange = 1;
+ //--sui_explorer_attrib.setData("0");
+ //--sui_browser_attrib.setData("0");
+ //--sui_config_attrib.setData("0");
+ mychange = 0;
+ }
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// Windows that aren't registered with winamp will be handled here, the visibility state is linked to cfgattribs
+//----------------------------------------------------------------------------------------------------------------
+
+/*--sui_browser_attrib.onDataChanged ()
+{
+ if (mychange) return;
+ mychange = 1;
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ if (getData() == "1")
+ {
+ if (player.getCurLayout() != normal)
+ {
+ player.switchToLayout("normal");
+ hideMl();
+ hideVis();
+ //--hideCfg();
+ hideVideo();
+ //--hideExp();
+ dc_showBrw();
+ return;
+ }
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Browser");
+ switchFromNoComp ();
+ return;
+ }
+ switchToBrw();
+ }
+ else
+ {
+ if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
+ {
+ hideBrw();
+ dc_showVideo();
+ }
+ else
+ {
+ hideBrw();
+ dc_showml();
+ }
+ }
+ mychange = 0;
+}
+--*/
+
+/*--sui_config_attrib.onDataChanged ()
+{
+ if (mychange) return;
+ mychange = 1;
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ if (getData() == "1")
+ {
+ if (player.getCurLayout() != "normal")
+ {
+ player.switchToLayout("normal");
+ hideMl();
+ hideVis();
+ hideBrw();
+ hideCfg();
+ hideVideo();
+ hideExp();
+ dc_showCfg();
+ return;
+ }
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Config");
+ switchFromNoComp ();
+ return;
+ }
+ switchToCfg();
+ }
+ else
+ {
+ if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
+ {
+ hideCfg();
+ dc_showVideo();
+ }
+ else
+ {
+ hideCfg();
+ dc_showml();
+ }
+ }
+ mychange = 0;
+}
+
+
+sui_explorer_attrib.onDataChanged ()
+{
+ if (mychange) return;
+ mychange = 1;
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ if (getData() == "1")
+ {
+ if (player.getCurLayout() != normal)
+ {
+ player.switchToLayout("normal");
+ hideMl();
+ hideVis();
+ hideBrw();
+ //--hideCfg();
+ hideVideo();
+ dc_showExp();
+ return;
+ }
+ if (window_content == "Hidden" )
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Explorer");
+ switchFromNoComp ();
+ return;
+ }
+ switchToExp();
+ }
+ else
+ {
+ if ((getStatus() == STATUS_PLAYING || getStatus() == STATUS_PAUSED) && isVideo())
+ {
+ hideExp();
+ dc_showVideo();
+ }
+ else
+ {
+ hideExp();
+ dc_showml();
+ }
+ }
+ mychange = 0;
+}
+--*/
+
+
+//----------------------------------------------------------------------------------------------------------------
+// If a link is clicked within winamp this function *should* be called by wasabi core.
+// returning 1 prevents winamp to open the url in an external browser
+//----------------------------------------------------------------------------------------------------------------
+
+System.onOpenUrl(string url)
+{
+ // If winamp is in shade mode
+ if (player.getCurLayout() != normal)
+ {
+ string comp = getPrivateString(getSkinName(), "Component", "Media Library"); // Get the current sui component
+
+ // Can also happen, winamp is in shade - and normal wnd is collapsed
+ if (comp == "Hidden")
+ {
+ player.switchToLayout("normal");
+ setPrivateString(getSkinName(), "Hidden Component", "Browser");
+ setPrivateString(getSkinName(), "UrlXgive", url);
+ switchFromNoComp();
+ return 0;
+ }
+
+ // The other case - sade & normal is not collapsed
+ setPrivateString(getSkinName(), "UrlXgive", url);
+ player.switchToLayout("normal");
+ hideMl();
+ hideVis();
+ //--hideCfg();
+ hideVideo();
+ //--hideExp();
+ //--dc_showBrw();
+ return 0;
+ }
+
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+
+ // just deliver the url since the browser is already visible
+ if (window_content == "Browser")
+ /*
+ {
+ browser brw = sui_brw.findObject("webbrowser");
+ if (brw != NULL)
+ {
+ brw.sendAction ("openurl", url, 0, 0, 0, 0);
+ }
+ }
+ // Some other component is visible - so we store the url and show the browser
+ else
+ {
+ setPrivateString(getSkinName(), "UrlXgive", url);
+ debugString("System.onOpenUrl( "+url+" ); --> opening Browser", D_WTF);
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Browser");
+ switchFromNoComp ();
+ return 0;
+ }
+ switchToBrw();
+ }
+ */
+ return 0;
+
+}
+
+
+//----------------------------------------------------------------------------------------------------------------
+// the sui window can recieve messages from other scripts (mainly: fileinfo.maki) - we handle this here
+//----------------------------------------------------------------------------------------------------------------
+
+/*sui_window.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ // Perform a search in the browser
+ if (strlower(action) == "browser_search")
+ {
+ browser brw = sui_brw.findObject("webbrowser");
+ //if (player.getCurLayout() != normal) // unlikely to happen!
+ {
+ //setPrivateString(getSkinName(), "UrlXgive", url);
+ player.switchToLayout("normal");
+ hideMl();
+ hideVis();
+ //--hideCfg();
+ hideVideo();
+ //--hideExp();
+ dc_showBrw();
+ brw.sendAction ("search", param, 0, 0, 0, 0);
+ return 0;
+ }
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ if (window_content == "Browser")
+ {
+ if (brw != NULL)
+ {
+ brw.sendAction ("search", param, 0, 0, 0, 0);
+ }
+ }
+ else
+ {
+ //setPrivateString(getSkinName(), "UrlXgive", url);
+ debugString("System.onOpenUrl( "+url+" ); --> opening Browser", D_WTF);
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Browser");
+ switchFromNoComp ();
+ brw.sendAction ("search", param, 0, 0, 0, 0);
+ return 0;
+ }
+ switchToBrw();
+ brw.sendAction ("search", param, 0, 0, 0, 0);
+ }
+ return 0;
+ }
+ // Just navigate to a site
+ else if (strlower(action) == "browser_navigate")
+ {
+ browser brw = sui_brw.findObject("webbrowser");
+ if (player.getCurLayout() != normal)
+ {
+ //setPrivateString(getSkinName(), "UrlXgive", url);
+ player.switchToLayout("normal");
+ hideMl();
+ hideVis();
+ //--hideCfg();
+ hideVideo();
+ //--hideExp();
+ //--dc_showBrw();
+ brw.sendAction ("openurl", param, 0, 0, 0, 0);
+ return 0;
+ }
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+ if (window_content == "Browser")
+ {
+ if (brw != NULL)
+ {
+ brw.sendAction ("openurl", param, 0, 0, 0, 0);
+ }
+ }
+ else
+ {
+ //setPrivateString(getSkinName(), "UrlXgive", url);
+ debugString("System.onOpenUrl( "+url+" ); --> opening Browser", D_WTF);
+ if (window_content == "Hidden")
+ {
+ setPrivateString(getSkinName(), "Hidden Component", "Browser");
+ brw.sendAction ("openurl", param, 0, 0, 0, 0);
+ switchFromNoComp ();
+ return 0;
+ }
+ switchToBrw();
+ brw.sendAction ("openurl", param, 0, 0, 0, 0);
+ }
+ return 0;
+ }
+ else if (strlower(action) == "opentab")
+ {
+ if (strlower(param) == "ml")
+ {
+ switchToMl();
+ }
+ }
+ else if (action == "hide_comp" && param == "pe")
+ {
+ if (getPrivateString(getSkinName(), "Component", "Media Library") == "Pledit")
+ {
+ switchToMl();
+ }
+ }
+
+}*/
+
+
+//----------------------------------------------------------------------------------------------------------------
+// Switching Vis Plugin between MCV and SUI
+//----------------------------------------------------------------------------------------------------------------
+
+vis_inbig_attrib.onDataChanged ()
+{
+ if (mychange) return;
+ String window_content2 = getPrivateString(getSkinName(), "Component", "Cover");
+ String window_content = getPrivateString(getSkinName(), "Component2", "Media Library");
+ int xg = getPrivateInt(getSkinName(), "ComponentXgive", 0);
+ if (getData() == "1" && (ic_vis.getData() == "1" || ic_vis_fileinfo.getData() == "1" || xg))
+ {
+ if (xg) setPrivateInt(getSkinName(), "ComponentXgive", 0);
+ switchToVis();
+ }
+ else if (getData() == "0" && sui_Vis.isVisible())
+ {
+ setPrivateInt(getSkinName(), "ComponentXgive", 1);
+ hideVis();
+ switchToMl();
+ }
+}
+
+//----------------------------------------------------------------------------------------------------------------
+// this one has only debug aims :)
+//----------------------------------------------------------------------------------------------------------------
+
+#ifdef DEBUG
+System.onLookForComponent(String guid)
+{
+ debugString(DEBUG_PREFIX "System.onLookForComponent ( "+ guid + " )", D_WTF);
+}
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/suicore/load_handles.m b/Src/resources/skins/Big Bento/scripts/suicore/load_handles.m
new file mode 100644
index 00000000..72c55977
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/suicore/load_handles.m
@@ -0,0 +1,221 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: load_handles.m
+
+Type: maki
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/suicore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+Function loadSUI (string content);
+Function collectComponents();
+
+Global timer tmr_collect;
+
+System.onScriptLoaded ()
+{
+ startup = 1;
+ initAttribs_windowpage();
+ initAttribs_vis();
+ initAttribs_Autoresize();
+ initAttribs_Appearance();
+ initVideo();
+ debugString(DEBUG_PREFIX "-------------------------", D_WTF);
+ debugString(DEBUG_PREFIX "System.onScriptLoded() {", D_WTF);
+
+ /*debugString(integerToString(isNamedWindowVisible(ML_GUID)),9);
+ showWindow(ML_GUID, "", 0);
+ debugString(integerToString(isNamedWindowVisible(ML_GUID)),9);*/
+
+ player = getContainer("main");
+ normal = player.getLayout("normal");
+ sui_window = normal.findObject("sui.content");
+ sui_components = sui_window.findObject("sui.components");
+
+ h = getToken(getParam(),",",0);
+
+ sui_vis = sui_components.findObject("wdh.vis");
+ sui_vis_wdh = sui_components.findObject("wdh.vis.object");
+ sui_video = sui_components.findObject("wdh.video");
+ sui_ml = sui_components.findObject("wdh.ml");
+ sui_pl = sui_components.findObject("wdh.pl");
+ //--sui_brw = sui_components.findObject("wdh.browser");
+ //--sui_exp = sui_components.findObject("wdh.explorer");
+ //--sui_cfg = sui_components.findObject("wdh.config");
+
+ switch_video = sui_window.findObject("switch.video");
+ switch_vis = sui_window.findObject("switch.vis");
+ switch_ml = sui_window.findObject("switch.ml");
+ switch_pl = sui_window.findObject("switch.pl");
+ //--switch_exp = sui_window.findObject("switch.explorer");
+ //--switch_brw = sui_window.findObject("switch.browser");
+ //--switch_cfg = sui_window.findObject("switch.config");
+
+ hide_sui = normal.getObject("sui.hide");
+ show_sui = normal.getObject("sui.show");
+
+ pe_move_top = sui_pl.findObject("pe.move.top");
+/*
+ b_maximize = normal.findObject("player.button.maximize");
+ b_minimize = normal.findObject("player.button.minimize");
+ b_shade = normal.findObject("player.button.shade");
+*/
+ normal_resizer = normal.getObject("player.resizer.bottomright.dummy");
+ normal_resizer2 = normal.getObject("player.resizer.bottomleft");
+ normal_resizer3 = normal.getObject("player.resizer.bottom");
+ normal_resizer4 = normal.getObject("player.resizer.bottom2");
+
+ normal_TBresizer = normal.findObject("titlebar.resizer.topright");
+ normal_TBresizer2 = normal.findObject("titlebar.resizer.topleft");
+ normal_TBresizer3 = normal.findObject("titlebar.resizer.top");
+
+ callbackTimer = new Timer;
+ callbackTimer.setDelay(1);
+ tempDisable = new Timer;
+ tempDisable.setDelay(100);
+
+ tmr_collect = new timer;
+ tmr_collect.setDelay(2000);
+ //tmr_collect.start();
+
+ //collectComponents();
+
+ String window_content = getPrivateString(getSkinName(), "Component", "Media Library");
+
+ debugString(DEBUG_PREFIX "window_content = " + window_content, D_WTF);
+
+ loadSUI(window_content);
+
+ debugString(DEBUG_PREFIX "}", D_WTF);
+ startup = 0;
+}
+
+System.onScriptUnloading ()
+{
+ debugString(DEBUG_PREFIX "System.onScriptUnloading() {", D_NWTF);
+
+ delete callbackTimer;
+ delete PSOVCTimer;
+ delete tempDisable;
+ delete tmr_collect;
+
+ debugString(DEBUG_PREFIX " delete Timers;", D_NWTF);
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+loadSUI (string content)
+{
+ if (content == "Vis")
+ {
+ debugString(DEBUG_PREFIX "if(Vis) performed", D_WTF);
+ Mychange = 1;
+ vis_inbig_attrib.setData("1");
+ Mychange = 0;
+ switchToVis();
+ }
+ else if (content == "Video")
+ {
+ debugString(DEBUG_PREFIX "if(Video) performed", D_WTF);
+ switchToVideo();
+ }
+ else if (content == "Media Library")
+ {
+ debugString(DEBUG_PREFIX "if(ML) performed", D_WTF);
+ switchToMl();
+ }
+ else if (content == "Pledit")
+ {
+ debugString(DEBUG_PREFIX "if(PL) performed", D_WTF);
+ switchToPl();
+ }/*--
+ else if (content == "Browser")
+ {
+ debugString(DEBUG_PREFIX "if(Browser) performed", D_WTF);
+ switchToBrw();
+ }--*/
+ /*--
+ else if (content == "Explorer")
+ {
+ debugString(DEBUG_PREFIX "if(Explorer) performed", D_WTF);
+ switchToExp();
+ }--*/
+ /*--else if (content == "Config")
+ {
+ debugString(DEBUG_PREFIX "if(Config) performed", D_WTF);
+ switchToCfg();
+ }--*/
+ else if (content == "Hidden")
+ {
+ debugString(DEBUG_PREFIX "if(Hidden) performed", D_WTF);
+ switchToNoComp();
+ }
+ else
+ {
+ debugString(DEBUG_PREFIX "[!] oops no component to perform", D_WTF);
+ }
+}
+/*
+collectComponents()
+{
+ for ( int i = 0; i < getNumRegisteredWindows(); i++ )
+ {
+ debug((getRegisteredWindowName(i)));
+ }
+
+}
+*/
+/*
+collectComponents ()
+{
+ int i = 0;
+ string s;
+ while (s = enumEmbedGUID(i) != "")
+ {
+ debug (s);
+ i++;
+ }
+ if (i == 0 && !tmr_collect.isRunning())
+ {
+ tmr_collect.start();
+ //}
+}*/
+/*
+tmr_collect.onTimer ()
+{
+ tmr_collect.stop();
+ debug(getRegisteredWindowName(0));
+
+ collectComponents();
+}
+*/
+/*
+player.onAddContent(GuiObject wnd, String id, String guid)
+{
+ debug(wnd.getName());
+ debug(id);
+// debug(guid);
+}*/
+/*
+sui_ml.onsetVisible(int v)
+{
+ windowholder w = findObject("wdh");
+ debug(w.getGUID());
+ GuiObject o = w.getContent();
+ debug(o.getId());
+ debug(o.getName());
+}*/
+/*
+System.onCreateLayout (Layout _layout)
+{
+ debug(_layout.getId());
+}*/
diff --git a/Src/resources/skins/Big Bento/scripts/suicore/show_hide.m b/Src/resources/skins/Big Bento/scripts/suicore/show_hide.m
new file mode 100644
index 00000000..5ac7856e
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/suicore/show_hide.m
@@ -0,0 +1,870 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: show_hide.m
+
+Type: maki
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/suicore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+switchToMl()
+{
+ debugString(DEBUG_PREFIX "switchToMl() {", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+ hideVis();
+ hideVideo();
+ hidePL();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ //prohibit a closing bug
+ if (!startup) showMl();
+ else
+ {
+ dc_showMl();
+ onshowMl();
+ }
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ hide_sui.show();
+ show_sui.hide();
+}
+
+switchToPl()
+{
+ debugString(DEBUG_PREFIX "switchToPl() {", D_WTF);
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+ hideVis();
+ hideVideo();
+ hideML();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ //prohibit a closing bug
+ if (!startup) showPl();
+ else
+ {
+ dc_showPl();
+ onshowPl();
+ }
+ debugString(DEBUG_PREFIX "}", D_WTF);
+
+ hide_sui.show();
+ show_sui.hide();
+}
+
+switchToVideo()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ hideMl();
+ hidePL();
+ hideVis();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ showVideo();
+
+ hide_sui.show();
+ show_sui.hide();
+}
+
+switchToVis()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+ hideMl();
+ hidePL();
+ hideVideo();
+ //--hideExp();
+ //--hideBrw();
+ //--hideCfg();
+ showVis();
+
+ hide_sui.show();
+ show_sui.hide();
+}
+
+/*--switchToBrw()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+ hideVis();
+ hidePL();
+ hideVideo();
+ //--hideExp();
+ hideMl();
+ //--hideCfg();
+ //--showBrw();
+
+ hide_sui.show();
+ show_sui.hide();
+}
+
+switchToExp()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+ hideVis();
+ hideVideo();
+ hideMl();
+ //--hideBrw();
+ //--hideCfg();
+ showExp();
+
+ hide_sui.show();
+ show_sui.hide();
+}
+--*/
+/*--switchToCfg()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+ hideVis();
+ hideVideo();
+ hideMl();
+ hideBrw();
+ hideExp();
+ showCfg();
+
+ hide_sui.show();
+ show_sui.hide();
+}--*/
+
+switchToNoComp ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+ tempDisable.start();
+ disablePSOVC();
+
+ onBeforeHideSUI();
+
+ hideVis();
+ hideVideo();
+ hideMl();
+ hidePL();
+ //--hideBrw();
+ //--hideExp();
+ //--hideCfg();
+
+ string comp = getPrivateString(getSkinName(), "Component", "Media Library");
+ if (comp != "Hidden")
+ {
+ normal.sendAction("sui", "tonocomp", 0,0,0,0);
+ setPrivateString(getSkinName(), "Hidden Component", comp);
+ setPrivateString(getSkinName(), "Component", "Hidden");
+ if (!getPrivateInt(getSkinName(), "isMainWndMaximized", 0)) setPrivateInt(getSkinName(), "nomax_h", normal.getHeight());
+ }
+ else normal.sendAction("sui", "tonocomp", 1,0,0,0);
+
+ normal_resizer.setXmlParam("resize", "right");
+ normal_resizer2.setXmlParam("resize", "left");
+ normal_resizer3.setXmlParam("resize", "");
+ normal_resizer4.setXmlParam("resize", "");
+ normal_TBresizer.setXmlParam("resize", "right");
+ normal_TBresizer2.setXmlParam("resize", "left");
+ normal_TBresizer3.hide();
+ normal.setXmlParam("minimum_h" , h);
+
+ int sy = normal.getGuiY() + normal.getGuiH() - stringtointeger(h);
+ normal.setXmlParam("h" , h);
+ if (collapse_bottom_attrib.getdata() == "1") normal.setXmlParam("y" , integerToString(sy));
+
+ hide_sui.hide();
+ show_sui.show();
+
+ onHideSUI();
+}
+
+switchFromNoComp ()
+{
+ if (callbackTimer.isRunning()) return;
+ if (tempDisable.isRunning()) return;
+
+ string comp = getPrivateString(getSkinName(), "Hidden Component", "Media Library");
+ setPrivateString(getSkinName(), "Component", comp);
+
+ int sh = getPrivateInt(getSkinName(), "nomax_h", 600);
+ if (sh < 492) sh = 492;
+
+ normal.sendAction("sui", "fromnocomp", 0,0,0,0);
+ normal_resizer.setXmlParam("resize", "bottomright");
+ normal_resizer2.setXmlParam("resize", "bottomleft");
+ normal_resizer3.setXmlParam("resize", "bottom");
+ normal_resizer4.setXmlParam("resize", "bottom");
+ normal_TBresizer.setXmlParam("resize", "topright");
+ normal_TBresizer2.setXmlParam("resize", "topleft");
+ normal_TBresizer3.show();
+ normal.setXmlParam("minimum_h" , "492");
+ double d_scale = normal.getScale();
+ normal.beforeRedock();
+ if (getPrivateInt(getSkinName(), "isMainWndMaximized", 0)) normal.resize(getViewPortLeft(),getViewPortTop(),getViewPortWidth()/d_scale, getViewPortHeight()/d_scale);
+ else
+ {
+ if (collapse_bottom_attrib.getdata() == "1")
+ {
+ int sy = normal.getGuiY() + normal.getGuiH() - sh;
+ if (sy < 0) sy = 0;
+ normal.setXmlParam("y" , integerToString(sy));
+ }
+ normal.setXmlParam("h" , integerToString(sh));
+ }
+ normal.redock();
+ loadSUI (comp);
+
+ onShowSUI();
+}
+
+tempDisable.onTimer()
+{
+ tempDisable.stop();
+}
+
+showMl()
+{
+ debugString(DEBUG_PREFIX "showMl() {", D_NWTF);
+
+ showing_ml = 1;
+ setPrivateString(getSkinName(), "Component", "Media Library");
+ GuiObject o = sui_ml;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) ml object not provided (show)", D_NWTF);
+ }
+#endif
+ onShowMl();
+ showing_ml = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+hideMl()
+{
+ debugString(DEBUG_PREFIX "hideMl() {", D_NWTF);
+
+ callback_showing_ml = 0;
+
+ hiding_ml = 1;
+ GuiObject o = sui_ml;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) ml object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHideMl();
+ hiding_ml = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+showPl()
+{
+ debugString(DEBUG_PREFIX "showPl() {", D_NWTF);
+
+ showing_pl = 1;
+ setPrivateString(getSkinName(), "Component", "Pledit");
+ setPrivateString(getSkinName(), "Pledit_pos", "sui");
+ normal.sendAction("hide_comp", "pledit", 0,0,0,0);
+ GuiObject o = sui_pl;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) pl object not provided (show)", D_NWTF);
+ }
+#endif
+ onShowPl();
+ showing_pl = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+hidePl()
+{
+ debugString(DEBUG_PREFIX "hidePl() {", D_NWTF);
+
+ callback_showing_pl = 0;
+
+ hiding_pl = 1;
+ GuiObject o = sui_pl;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) pl object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHidePl();
+ hiding_pl = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+showVis()
+{
+ debugString(DEBUG_PREFIX "vis_inbig_attrib = " + vis_inbig_attrib.getData(), D_NWTF);
+ if (vis_inbig_attrib.getData() == "1")
+ {
+ debugString(DEBUG_PREFIX "showVis() {", D_NWTF);
+
+
+ showing_vis = 1;
+ setPrivateString(getSkinName(), "Component", "Vis");
+ GuiObject o = sui_vis;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) vis object not provided (show)", D_NWTF);
+ }
+#endif
+ onShowVis();
+ showing_vis = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+ }
+}
+
+hideVis()
+{
+ debugString(DEBUG_PREFIX "vis_inbig_attrib = " + vis_inbig_attrib.getData(), D_NWTF);
+ debugString(DEBUG_PREFIX "hideVis() {", D_NWTF);
+
+ callback_showing_vis = 0;
+
+ hiding_vis = 1;
+ GuiObject o = sui_vis;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) vis object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHideVis();
+ hiding_vis = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+showVideo()
+{
+ debugString(DEBUG_PREFIX "showVideo() {", D_NWTF);
+
+ showing_video = 1;
+ setPrivateString(getSkinName(), "Component", "Video");
+ GuiObject o = sui_video;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) {
+ // hack to fix bug for auto fullscreen on play
+ if (play_auto_fs_video) setVideoFullscreen(false);
+
+ o.show();
+
+ // hack to fix bug for auto fullscreen on play
+ if (play_auto_fs_video) setVideoFullscreen(true);
+ }
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) video object not provided (show)", D_NWTF);
+ }
+ #endif
+ onShowVideo();
+ play_auto_fs_video = 0;
+ showing_video = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+hideVideo()
+{
+ debugString(DEBUG_PREFIX "hideVideo() {", D_NWTF);
+
+ //callback_showing_video = 0;
+
+ hiding_video = 1;
+ GuiObject o = sui_video;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) video object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHideVideo();
+ hiding_video = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+/*--showBrw()
+{
+ debugString(DEBUG_PREFIX "showBrw() {", D_NWTF);
+
+ showing_brw = 1;
+ setPrivateString(getSkinName(), "Component", "Browser");
+ GuiObject o = sui_brw;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) brw object not provided (show)", D_NWTF);
+ }
+#endif
+ onShowBrw();
+
+ mychange = 1;
+ sui_browser_attrib.setData("1");
+ mychange = 0;
+
+ showing_brw = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+hideBrw()
+{
+ debugString(DEBUG_PREFIX "hideBrw() {", D_NWTF);
+
+ callback_showing_brw = 0;
+
+ hiding_brw = 1;
+ GuiObject o = sui_brw;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) brw object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHideBrw();
+ hiding_brw = 0;
+
+ mychange = 1;
+ sui_browser_attrib.setData("0");
+ mychange = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}--*/
+/*--
+showExp()
+{
+ debugString(DEBUG_PREFIX "showExp() {", D_NWTF);
+
+ showing_exp = 1;
+ setPrivateString(getSkinName(), "Component", "Explorer");
+ GuiObject o = sui_exp;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) exp object not provided (show)", D_NWTF);
+ }
+#endif
+ onShowExp();
+ showing_exp = 0;
+
+ mychange = 1;
+ sui_explorer_attrib.setData("1");
+ mychange = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+hideExp()
+{
+ debugString(DEBUG_PREFIX "hideExp() {", D_NWTF);
+
+ callback_showing_exp = 0;
+
+ hiding_exp = 1;
+ GuiObject o = sui_exp;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) exp object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHideExp();
+ hiding_exp = 0;
+
+ mychange = 1;
+ sui_explorer_attrib.setData("0");
+ mychange = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}--*/
+/*--
+showCfg()
+{
+ debugString(DEBUG_PREFIX "showCfg() {", D_NWTF);
+
+ showing_Cfg = 1;
+ setPrivateString(getSkinName(), "Component", "Config");
+ GuiObject o = sui_Cfg;
+ if (o != NULL)
+ {
+ bypasscancel = 1;
+ if (o) o.show();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) Cfg object not provided (show)", D_NWTF);
+ }
+#endif
+ onShowCfg();
+ showing_Cfg = 0;
+
+ mychange = 1;
+ sui_Config_attrib.setData("1");
+ mychange = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+
+hideCfg()
+{
+ debugString(DEBUG_PREFIX "hideCfg() {", D_NWTF);
+
+ callback_showing_cfg = 0;
+
+ hiding_Cfg = 1;
+ GuiObject o = sui_Cfg;
+ if (o != NULL) {
+ bypasscancel = 1;
+ if (o) o.hide();
+ bypasscancel = 0;
+ debugString(DEBUG_PREFIX " --> ok", D_NWTF);
+ }
+#ifdef DEBUG
+ else
+ {
+ debugString(DEBUG_PREFIX " --> (!) Cfg object not provided (hide)", D_NWTF);
+ }
+#endif
+ onHideCfg();
+ hiding_Cfg = 0;
+
+ mychange = 1;
+ sui_config_attrib.setData("0");
+ mychange = 0;
+
+ debugString(DEBUG_PREFIX "}", D_NWTF);
+}
+--*/
+callbackTimer.onTimer()
+{
+ callbackTimer.stop();
+
+ int _callback_showing_vis = callback_showing_vis;
+ int _callback_hiding_vis = callback_hiding_vis;
+ int _callback_showing_video = callback_showing_video;
+ int _callback_hiding_video = callback_hiding_video;
+ int _callback_showing_ml = callback_showing_ml;
+ int _callback_hiding_ml = callback_hiding_ml;
+ int _callback_showing_pl = callback_showing_pl;
+ int _callback_hiding_pl = callback_hiding_pl;
+ //--int _callback_showing_exp = callback_showing_exp;
+ //--int _callback_hiding_exp = callback_hiding_exp;
+ //--int _callback_showing_brw = callback_showing_brw;
+ //--int _callback_hiding_brw = callback_hiding_brw;
+ //--int _callback_showing_cfg = callback_showing_cfg;
+ //--int _callback_hiding_cfg = callback_hiding_cfg;
+ int _callback_showing_sui = callback_showing_sui;
+ int _callback_closing_sui = callback_closing_sui;
+
+ callback_showing_vis = 0;
+ callback_hiding_vis = 0;
+ callback_showing_video = 0;
+ callback_hiding_video = 0;
+ callback_showing_ml = 0;
+ callback_hiding_ml = 0;
+ callback_showing_pl = 0;
+ callback_hiding_pl = 0;
+ //--callback_showing_exp = 0;
+ //--callback_hiding_exp = 0;
+ //--callback_showing_brw = 0;
+ //--callback_hiding_brw = 0;
+ //--callback_showing_cfg = 0;
+ //--callback_hiding_cfg = 0;
+
+ callback_showing_sui = 0;
+ callback_closing_sui = 0;
+
+ if (_callback_showing_ml == 1)
+ {
+ showMl();
+ }
+ if (_callback_hiding_ml == 1)
+ {
+ hideMl();
+ }
+ if (_callback_showing_pl == 1)
+ {
+ showPl();
+ }
+ if (_callback_hiding_pl == 1)
+ {
+ hidePl();
+ }
+ if (_callback_showing_video == 1)
+ {
+ showVideo();
+ }
+ if (_callback_showing_vis == 1)
+ {
+ showVis();
+ }
+ if (_callback_hiding_vis == 1)
+ {
+ hideVis();
+ }
+ if (_callback_hiding_video == 1)
+ {
+ hideVideo();
+ }/*--
+ if (_callback_showing_exp == 1)
+ {
+ showExp();
+ }
+ if (_callback_hiding_exp == 1)
+ {
+ hideExp();
+ }
+ if (_callback_showing_brw == 1)
+ {
+ showBrw();
+ }
+ if (_callback_hiding_brw == 1)
+ {
+ hideBrw();
+ }--*/
+ /*--if (_callback_showing_cfg == 1)
+ {
+ showCfg();
+ }
+ if (_callback_hiding_cfg == 1)
+ {
+ hideCfg();
+ }--*/
+ if (_callback_showing_SUI == 1)
+ {
+ switchFromNoComp();
+ }
+ if (_callback_closing_SUI == 1)
+ {
+ switchToNoComp();
+ }
+}
+
+dc_showMl()
+{
+ callback_showing_ml = 1;
+ callback_hiding_ml = 0;
+ callbackTimer.start();
+}
+
+dc_hideMl()
+{
+ callback_showing_ml = 0;
+ callback_hiding_ml = 1;
+ callbackTimer.start();
+}
+
+dc_showPl()
+{
+ callback_showing_pl = 1;
+ callback_hiding_pl = 0;
+ callbackTimer.start();
+}
+
+dc_hidePl()
+{
+ callback_showing_pl = 0;
+ callback_hiding_pl = 1;
+ callbackTimer.start();
+}
+
+dc_showVideo()
+{
+ callback_showing_video = 1;
+ callback_hiding_video = 0;
+ callbackTimer.start();
+}
+
+dc_showVis()
+{
+ callback_showing_vis = 1;
+ callback_hiding_vis = 0;
+ callbackTimer.start();
+}
+
+dc_hideVideo()
+{
+ callback_showing_video = 0;
+ callback_hiding_video = 1;
+ callbackTimer.start();
+}
+
+dc_hideVis()
+{
+ callback_showing_vis = 0;
+ callback_hiding_vis = 1;
+ callbackTimer.start();
+}
+/*--
+dc_showBrw()
+{
+ callback_showing_brw = 1;
+ callback_hiding_brw = 0;
+ callbackTimer.start();
+}
+
+dc_hideBrw()
+{
+ callback_showing_brw = 0;
+ callback_hiding_brw = 1;
+ callbackTimer.start();
+}--*/
+/*--
+dc_showExp()
+{
+ callback_showing_exp = 1;
+ callback_hiding_exp = 0;
+ callbackTimer.start();
+}
+
+dc_hideExp()
+{
+ callback_showing_exp = 0;
+ callback_hiding_exp = 1;
+ callbackTimer.start();
+}
+--*/
+/*--dc_showCfg()
+{
+ callback_showing_cfg = 1;
+ callback_hiding_cfg = 0;
+ callbackTimer.start();
+}
+
+dc_hideCfg()
+{
+ callback_showing_cfg = 0;
+ callback_hiding_cfg = 1;
+ callbackTimer.start();
+}--*/
+
+dc_showSUI()
+{
+ callback_showing_sui = 1;
+ callback_closing_sui = 0;
+ callbackTimer.start();
+}
+
+dc_closeSUI()
+{
+ callback_showing_sui = 0;
+ callback_closing_sui = 1;
+ callbackTimer.start();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/suicore/video_handles.m b/Src/resources/skins/Big Bento/scripts/suicore/video_handles.m
new file mode 100644
index 00000000..38e7b360
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/suicore/video_handles.m
@@ -0,0 +1,146 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: video_handles.m
+Version: 2.0
+
+Type: maki
+Date: 28. Okt. 2006 - 16:30
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+Depending Files:
+ scripts/suicore.maki
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#define SKINTWEAKS_CFGPAGE "{0542AFA4-48D9-4c9f-8900-5739D52C114F}"
+#define VIDEO_CONFIG_GROUP "{2135E318-6919-4bcf-99D2-62BE3FCA8FA6}"
+
+Function initVideo();
+Function disablePSOVC();
+Function enablePSOVC();
+
+Global Timer PSOVCTimer;
+Global string psovc_save;
+
+Global WinampConfigGroup cfg_Video;
+
+Global Boolean lastWasVideo;
+
+initVideo ()
+{
+ play_auto_fs_video = 0;
+
+ PSOVCTimer = new Timer;
+ PSOVCTimer.setDelay(1000);
+
+ cfg_Video = WinampConfig.getGroup(VIDEO_CONFIG_GROUP);
+}
+
+/** Prevent video playback to stop after the wnd is hidden */
+
+disablePSOVC()
+{
+ debugString("[suicore.m] " + "--> disabling stop on video close",0 );
+ ConfigItem item = Config.getItem(SKINTWEAKS_CFGPAGE);
+ if (item)
+ {
+ ConfigAttribute attr = item.getAttribute("Prevent video playback Stop on video window Close");
+ if (attr) psovc_save = attr.getData();
+ if (attr) attr.setData("1");
+ }
+ PSOVCTimer.start();
+ debugString("[suicore.m] " + "--> PSOVCTimer.started();",0 );
+}
+
+enablePSOVC()
+{
+ debugString("[suicore.m] " + "--> enabling stop on video close",0 );
+ PSOVCTimer.stop();
+ ConfigItem item = Config.getItem(SKINTWEAKS_CFGPAGE);
+ if (item)
+ {
+ ConfigAttribute attr = item.getAttribute("Prevent video playback Stop on video window Close");
+ if (attr) attr.setData(psovc_save);
+ }
+ debugString("[suicore.m] " + "--> PSOVCTimer.stopped();",0 );
+}
+
+PSOVCTimer.onTimer()
+{
+ enablePSOVC();
+}
+
+System.onPlay()
+{
+ // needed to handle video auto fullscreen on play
+ boolean auto_fs = cfg_Video.getBool("auto_fs");
+ if (auto_fs) play_auto_fs_video = 1;
+ else play_auto_fs_video = 0;
+
+ // removed for debugging aims
+ // if (isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible()) dc_showVideo();
+}
+
+System.onPause()
+{
+ play_auto_fs_video = 0;
+}
+
+System.onResume()
+{
+ play_auto_fs_video = 0;
+
+ // removed for debugging aims
+ // if (isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible()) dc_showVideo();
+}
+
+System.onStop()
+{
+ play_auto_fs_video = 0;
+}
+
+System.onTitleChange(String newtitle)
+{
+ // needed to handle video auto fullscreen on play
+ boolean auto_fs = cfg_Video.getBool("auto_fs");
+ if (auto_fs) play_auto_fs_video = 1;
+ else play_auto_fs_video = 0;
+
+ /* removed for debugging aims
+ if (startup)
+ {
+ lastWasVideo = isVideo();
+ return;
+ }
+
+ if (isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible() && getStatus() != 0) dc_showVideo();
+ else if (!isVideo() && cfg_Video.getBool("autoclose") && sui_video.isVisible() && lastWasVideo) showML();
+ lastWasVideo = isVideo();
+ */
+}
+
+//S/ystem.onTitleChange (String newtitle)
+//{
+ /*if (startup)
+ {
+ lastWasVideo = isVideo();
+ return;
+ }*/
+
+ /*if (!startup && isVideo() && cfg_Video.getBool("autoopen") && !sui_video.isVisible() && getStatus() != 0)
+ {
+ callbackTimer.stop();
+ tempDisable.stop();
+ switchToVideo();
+ debug("");
+ }*/
+ //else if (!isVideo() && cfg_Video.getBool("autoclose") && sui_video.isVisible() && lastWasVideo) showML();
+ //lastWasVideo = isVideo();
+//} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/syncbutton.m b/Src/resources/skins/Big Bento/scripts/syncbutton.m
new file mode 100644
index 00000000..9769a083
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/syncbutton.m
@@ -0,0 +1,55 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: syncbutton.m
+Version: 1.0
+
+Type: maki
+Date: 25. Jun. 2007 - 14:04
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Global GuiObject mainButton, activeOverlay;
+Global Boolean mouseDown;
+Global Int activeOverlay_Y;
+
+System.onScriptLoaded ()
+{
+ mainButton = getScriptGroup().findObject(getToken(getParam(), ";", 0));
+ activeOverlay = getScriptGroup().findObject(getToken(getParam(), ";", 1));
+ activeOverlay_Y = activeOverlay.getGuiY();
+ mainButton.onsetvisible(mainButton.isvIsible());
+}
+
+mainButton.onLeftButtonDown (int x, int y)
+{
+ mouseDown = 1;
+ activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y+1));
+}
+
+mainButton.onLeftButtonUp (int x, int y)
+{
+ mouseDown = 0;
+ activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y));
+}
+
+mainButton.onleaveArea ()
+{
+ activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y));
+}
+
+mainButton.onEnterArea ()
+{
+ if (mouseDown) activeOverlay.setXmlParam("y", integerToString(activeOverlay_Y+1));
+}
+
+mainButton.onSetVisible (Boolean onoff)
+{
+ if (onoff) activeOverlay.show();
+ else activeOverlay.hide();
+}
diff --git a/Src/resources/skins/Big Bento/scripts/syncbutton.maki b/Src/resources/skins/Big Bento/scripts/syncbutton.maki
new file mode 100644
index 00000000..a11e0aff
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/syncbutton.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/tabbutton.m b/Src/resources/skins/Big Bento/scripts/tabbutton.m
new file mode 100644
index 00000000..1662ab98
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/tabbutton.m
@@ -0,0 +1,87 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: tabbutton.m
+Version: 1.0
+
+Type: maki
+Date: 28. Sep. 2007 - 13:12
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Global GuiObject normalGrid, hoverGrid, activeGrid, footerGrid;
+Global Button mousetrap;
+Global Text normalText, hoverText, activeText;
+Global Boolean mouseDown;
+
+System.onScriptLoaded ()
+{
+ group sg = getScriptGroup();
+
+ normalGrid = sg.getObject("bento.tabbutton.normal");
+ hoverGrid = sg.getObject("bento.tabbutton.hover");
+ activeGrid = sg.getObject("bento.tabbutton.active");
+ normalText = sg.getObject("bento.tabbutton.normal.text");
+ hoverText = sg.getObject("bento.tabbutton.hover.text");
+ activeText = sg.getObject("bento.tabbutton.active.text");
+ footerGrid = sg.getObject("bento.tabbutton.footer");
+
+ mousetrap = sg.getObject("bento.tabbutton.mousetrap");
+}
+
+System.onSetXuiParam (String stringParam, String value)
+{
+ if ( strlower(stringParam) == "tabtext" )
+ {
+ normalText.setText(value);
+ hoverText.setText(value);
+ activeText.setText(value);
+ }
+}
+
+mousetrap.onLeftButtonDown (int x, int y)
+{
+ mouseDown = 1;
+ normalGrid.show();
+ hoverGrid.hide();
+ normalText.show();
+ hoverText.hide();
+}
+
+mousetrap.onLeftButtonUp (int x, int y)
+{
+ mouseDown = 0;
+ if (!getActivated() && isMouseOverRect()) { normalGrid.hide(); hoverGrid.show(); normalText.hide(); hoverText.show(); }
+}
+
+mousetrap.onleaveArea ()
+{
+ normalGrid.show();
+ hoverGrid.hide();
+ normalText.show();
+ hoverText.hide();
+}
+
+mousetrap.onEnterArea ()
+{
+ normalGrid.hide(); hoverGrid.show(); normalText.hide(); hoverText.show();
+}
+
+mousetrap.onActivate (int activated)
+{
+ if (activated)
+ {
+ normalGrid.hide(); hoverGrid.hide(); normalText.hide(); hoverText.hide();
+ activeGrid.show(); footerGrid.show(); activeText.show();
+ }
+ else
+ {
+ normalGrid.show(); hoverGrid.hide(); normalText.show(); hoverText.hide();
+ activeGrid.hide(); footerGrid.hide(); activeText.hide();
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/tabbutton.maki b/Src/resources/skins/Big Bento/scripts/tabbutton.maki
new file mode 100644
index 00000000..a10513b9
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/tabbutton.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/tabcontrol.m b/Src/resources/skins/Big Bento/scripts/tabcontrol.m
new file mode 100644
index 00000000..b8c37104
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/tabcontrol.m
@@ -0,0 +1,122 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: tabcontrol.m
+Version: 1.0
+
+Type: maki
+Date: 30. Okt. 2007 - 17:40
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_appearance.m
+
+Function updateTabPos();
+Function setAutoWidth(guiobject tab);
+
+Class Text WatchText;
+
+Global Boolean HAVE_ML = TRUE;
+
+Global GuiObject tabMl, tabVideo, tabVis, tabPl;
+Global WatchText txtMl, txtVideo, txtVis, txtPL;
+Global int startX, curX;
+Global Button btnMl, btnPl;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Appearance();
+ HAVE_ML = stringToInteger(getParam());
+
+ group sg = getScriptGroup();
+
+ tabML = sg.findObject("switch.ml");
+ btnMl = sg.findObject("switch.ml");
+ txtMl = tabMl.findObject("bento.tabbutton.normal.text");
+ tabPL = sg.findObject("switch.pl");
+ btnPl = sg.findObject("switch.pl");
+ txtPl = tabPl.findObject("bento.tabbutton.normal.text");
+ tabVis = sg.findObject("switch.vis");
+ txtVis = tabMl.findObject("bento.tabbutton.normal.text");
+ tabVideo = sg.findObject("switch.video");
+ txtVideo = tabMl.findObject("bento.tabbutton.normal.text");
+
+ startX = tabMl.getGuiX();
+
+ updateTabPos();
+}
+
+updateTabPos ()
+{
+ curX = startX;
+ if (!HAVE_ML)
+ {
+ tabMl.hide();
+ }
+ else
+ {
+ curX += setAutoWidth(tabMl) + 1;
+ }
+
+ if (pl_tab_attrib.getData() == "1")
+ {
+ tabPL.setXmlParam("x", integerToString(curX));
+ curX += setAutoWidth(tabPL) + 1;
+ tabPL.show();
+ }
+ else
+ {
+ tabPL.hide();
+ }
+
+ if (System.hasVideoSupport())
+ {
+ tabVideo.setXmlParam("x", integerToString(curX));
+ curX += setAutoWidth(tabVideo) + 1;
+ }
+ else
+ {
+ tabVideo.hide();
+ }
+
+ // commented out because System.isSafeMode() is not recognized by mc.exe
+ // if (!System.isSafeMode())
+ // {
+ tabVis.setXmlParam("x", integerToString(curX));
+ curX += setAutoWidth(tabVis) + 1;
+ // }
+ // else
+ // {
+ // tabVis.hide();
+ // }
+}
+
+int setAutoWidth (guiObject tab)
+{
+ text source = tab.findObject("bento.tabbutton.normal.text");
+ int x = stringToInteger(source.getXmlparam("x"));
+ int w = source.getAutoWidth();
+
+ tab.setXmlParam("w", integerToString(2*x+w));
+
+ return 2*x + w;
+}
+
+pl_tab_attrib.onDataChanged ()
+{
+ if (pl_tab_attrib.getData() == "0")
+ {
+ setPrivateString(getSkinName(), "Pledit_pos", "top");
+ if (btnPl.getActivated())
+ {
+ btnMl.leftClick();
+ btnMl.getParentLayout().sendAction("load_comp", "pledit", 0,0,0,0);
+ }
+ }
+
+ updateTabPos();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/tabcontrol.maki b/Src/resources/skins/Big Bento/scripts/tabcontrol.maki
new file mode 100644
index 00000000..8795e36a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/tabcontrol.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/timecontrol.m b/Src/resources/skins/Big Bento/scripts/timecontrol.m
new file mode 100644
index 00000000..f801e233
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/timecontrol.m
@@ -0,0 +1,89 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: timecontrol.m
+Version: 1.0
+
+Type: maki
+Date: 29. Jun. 2007 - 00:13
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include <lib/config.mi>
+#include <lib/com/AutoRepeatButton.m>
+
+Function updateAttrib (int val);
+
+Global ConfigAttribute timeAttrib;
+Global text Display;
+Global AutoRepeatButton Increase, Decrease;
+Global float multiplier;
+Global int maxvalue, step;
+Global string suffix;
+Global boolean myChange;
+
+System.onScriptLoaded ()
+{
+ AutoRepeat_Load();
+ string param = getParam();
+
+ string objects = getToken(param, "|", 0);
+ group scriptGroup = getScriptGroup();
+ Display = scriptGroup.findObject(getToken(objects, ";", 0));
+ Decrease = scriptGroup.findObject(getToken(objects, ";", 1));
+ Increase = scriptGroup.findObject(getToken(objects, ";", 2));
+
+ objects = getToken(param, "|", 1);
+ timeAttrib = config.getItemByGuid(getToken(objects, ";", 0)).getattribute(getToken(objects, ";", 1));
+
+ step = stringToInteger(getToken(param, "|", 2));
+ maxvalue = stringToInteger(getToken(param, "|", 3));
+ multiplier = stringToFloat(getToken(param, "|", 4));
+ suffix = getToken(param, "|", 5);
+
+ AutoRepeat_SetInitalDelay(250);
+ AutoRepeat_SetRepeatDelay(125);
+
+ updateAttrib (0);
+}
+
+System.onScriptUnloading ()
+{
+ AutoRepeat_Unload();
+}
+
+Increase.onLeftClick ()
+{
+ if (!AutoRepeat_ClickType) return;
+ updateAttrib (step);
+}
+
+Decrease.onLeftClick ()
+{
+ if (!AutoRepeat_ClickType) return;
+ updateAttrib (-step);
+}
+
+timeAttrib.onDataChanged ()
+{
+ if (myChange) return;
+ updateAttrib (0);
+}
+
+updateAttrib (int val)
+{
+ float i = stringToInteger(timeAttrib.getData());
+ i += val;
+ if (i < 0 || i > maxvalue) return;
+ myChange = 1;
+ string s = integerToString(i);
+ if (timeAttrib) timeAttrib.setData(s);
+ i *= multiplier;
+ s = floatToString(i,1);
+ Display.setText(s + suffix);
+ myChange = 0;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/timecontrol.maki b/Src/resources/skins/Big Bento/scripts/timecontrol.maki
new file mode 100644
index 00000000..cdd75712
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/timecontrol.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/videoresize.m b/Src/resources/skins/Big Bento/scripts/videoresize.m
new file mode 100644
index 00000000..4dede7c9
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/videoresize.m
@@ -0,0 +1,196 @@
+/********************************************************\
+** Filename: videoresize.m **
+** Version: 1.0 **
+** Date: 23. Jan. 2008 - 11:23 **
+**********************************************************
+** Type: winamp.wasabi/maki **
+** Project: Bento **
+**********************************************************
+** Author: Martin Poehlmann aka Deimos **
+** E-Mail: martin@skinconsortium.com **
+** Internet: http://www.skinconsortium.com **
+** http://home.cs.tum.edu/~poehlman **
+\********************************************************/
+
+
+#include <lib/std.mi>
+#include attribs/init_Autoresize.m
+
+Function adjust(int x, int y);
+Function fade(GuiObject o, int a);
+
+Class GuiObject Mousetrap;
+
+Global Mousetrap resizer;
+Global Mousetrap wdh, outer, bg;
+Global Group sg;
+
+Global Int sx, sy, ox, oy, dx, dy;
+Global Boolean move;
+
+Global Timer refresh;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Autoresize();
+
+ sg = getScriptGroup();
+ wdh = sg.getObject("wdh");
+ resizer = sg.getObject("wdh.drag");
+ outer = sg.getObject("wdh.outer");
+ bg = sg.getObject("bg");
+
+ refresh = new Timer;
+ refresh.setDelay(133);
+
+ video_inframe_attrib.onDataChanged ();
+}
+
+System.onScriptUnloading ()
+{
+ refresh.stop();
+ delete refresh;
+}
+
+resizer.onLeftButtonDown (int x, int y)
+{
+ move = true;
+ sx = x;
+ sy = y;
+ ox = wdh.getGuiX();
+ oy = wdh.getGuiY();
+ refresh.start();
+}
+
+resizer.onLeftButtonUp (int x, int y)
+{
+ move = false;
+ refresh.stop();
+}
+
+resizer.onMouseMove (int x, int y)
+{
+ if (!move) return;
+
+ dx = sx - x;
+ dy = sy - y;
+}
+
+// handle the resizing with a timer in order to prevent jittering
+refresh.onTimer ()
+{
+ adjust(dx, dy);
+}
+
+adjust (int x, int y)
+{
+ int nx = ox + x;
+ int ny = oy + y;
+
+ // Ensure we don't get out of the bounds
+ if (nx < 5)
+ {
+ nx = 5;
+ }
+
+ if (ny < 5)
+ {
+ ny = 5;
+ }
+
+ // Minimum h/w: aligned with Nullsoft Video Symbol
+ if (sg.getHeight() - 2*ny < 64)
+ {
+ ny = (64 - sg.getHeight())/(-2);
+ }
+
+ if (sg.getWidth() - 2*nx < 100)
+ {
+ nx = (100 - sg.getWidth())/(-2);
+ }
+
+ outer.setXmlParam("x", integerToString(nx-1));
+ outer.setXmlParam("w", integerToString(-2*(nx-1)));
+ outer.setXmlParam("y", integerToString(ny-1));
+ outer.setXmlParam("h", integerToString(-2*(ny-1)));
+
+ wdh.setXmlParam("x", integerToString(nx));
+ wdh.setXmlParam("w", integerToString(-(2*nx)));
+ wdh.setXmlParam("y", integerToString(ny));
+ wdh.setXmlParam("h", integerToString(-(2*ny)));
+
+ resizer.setXmlParam("x", integerToString(-nx));
+ resizer.setXmlParam("y", integerToString(-ny));
+}
+
+video_inframe_attrib.onDataChanged ()
+{
+ if (getData() == "1")
+ {
+ outer.show();
+ resizer.show();
+
+ outer.setXmlParam("x", integerToString(4));
+ outer.setXmlParam("w", integerToString(-8));
+ outer.setXmlParam("y", integerToString(4));
+ outer.setXmlParam("h", integerToString(-8));
+
+ wdh.setXmlParam("x", integerToString(5));
+ wdh.setXmlParam("w", integerToString(-10));
+ wdh.setXmlParam("y", integerToString(5));
+ wdh.setXmlParam("h", integerToString(-10));
+
+ resizer.setXmlParam("x", integerToString(-5));
+ resizer.setXmlParam("y", integerToString(-5));
+
+ }
+ else
+ {
+ outer.hide();
+ resizer.hide();
+
+ wdh.setXmlParam("x", integerToString(0));
+ wdh.setXmlParam("w", integerToString(0));
+ wdh.setXmlParam("y", integerToString(0));
+ wdh.setXmlParam("h", integerToString(0));
+ }
+}
+
+/*
+Mousetrap.onEnterArea ()
+{
+ if (outer.getAlpha() == 255) return;
+ if (video_inframe_attrib.getData() == "1")
+ {
+ fade(outer, 255);
+ fade(resizer, 255);
+ }
+}
+
+Mousetrap.onLeaveArea ()
+{
+ if (move) return;
+
+ for ( int i = 0; i < sg.getNumObjects(); i++ )
+ {
+ if (sg.enumObject(i).isMouseOver(getMousePosX(), getMousePosY())) return;
+ }
+
+ if (video_inframe_attrib.getData() == "1")
+ {
+ fade(outer, 0);
+ fade(resizer, 0);
+ }
+}
+
+fade (GuiObject o, int a)
+{
+ o.cancelTarget();
+ o.setTargetX(o.getGuiX());
+ o.setTargetY(o.getGuiY());
+ o.setTargetH(o.getGuiH());
+ o.setTargetW(o.getGuiW());
+ o.setTargetA(a);
+ o.setTargetSpeed(0.3);
+ o.gotoTarget();
+}*/ \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/videoresize.maki b/Src/resources/skins/Big Bento/scripts/videoresize.maki
new file mode 100644
index 00000000..58b403f2
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/videoresize.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/visbuttons.m b/Src/resources/skins/Big Bento/scripts/visbuttons.m
new file mode 100644
index 00000000..f322d400
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/visbuttons.m
@@ -0,0 +1,148 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: visbuttons.m
+Version: 1.0
+Type: maki
+Date: 16. Aug. 2007 - 23:54
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+#include attribs/init_appearance.m
+
+Function updateObjectPosition(int w);
+
+Global Group scriptGroup;
+Global Button cfg, prv, nxt, rnd, rnda;
+Global Boolean isBig;
+
+System.onScriptLoaded ()
+{
+ initAttribs_Appearance();
+
+ scriptGroup = getScriptGroup();
+
+ cfg = scriptGroup.findObject("vis.cfg");
+ prv = scriptGroup.findObject("vis.prv");
+ nxt = scriptGroup.findObject("vis.nxt");
+ rnd = scriptGroup.findObject("vis.rnd");
+ rnda = scriptGroup.findObject("vis.rnd.active");
+
+ isBig = (prv.getGuiX() == 31);
+}
+
+scriptGroup.onResize (int x, int y, int w, int h)
+{
+ updateObjectPosition(w);
+}
+
+/*
+
+artist_info_buttons_attrib.onDataChanged ()
+{
+ updateObjectPosition(scriptGroup.getWidth());
+}
+
+updateObjectPosition (int w)
+{
+ if (isBig)
+ {
+ if (artist_info_buttons_attrib.getData() != "1")
+ {
+ w += 62;
+ }
+
+ if (w >= 248)
+ {
+ cfg.show();
+ prv.show();
+ rnd.show();
+ rnda.show();
+ nxt.show();
+ }
+ else if (w >= 217)
+ {
+ cfg.show();
+ prv.show();
+ rnd.show();
+ rnda.show();
+ nxt.hide();
+ }
+ else if (w >= 186)
+ {
+ cfg.show();
+ prv.show();
+ rnd.hide();
+ rnda.hide();
+ nxt.hide();
+ }
+ else if (w >= 155)
+ {
+ cfg.show();
+ prv.hide();
+ rnd.hide();
+ rnda.hide();
+ nxt.hide();
+ }
+ else
+ {
+ cfg.hide();
+ prv.hide();
+ rnd.hide();
+ rnda.hide();
+ nxt.hide();
+ }
+ return;
+ }
+
+ if (artist_info_buttons_attrib.getData() != "1")
+ {
+ w += 46;
+ }
+
+ if (w >= 192)
+ {
+ cfg.show();
+ prv.show();
+ rnd.show();
+ rnda.show();
+ nxt.show();
+ }
+ else if (w >= 168)
+ {
+ cfg.show();
+ prv.show();
+ rnd.show();
+ rnda.show();
+ nxt.hide();
+ }
+ else if (w >= 144)
+ {
+ cfg.show();
+ prv.show();
+ rnd.hide();
+ rnda.hide();
+ nxt.hide();
+ }
+ else if (w >= 120)
+ {
+ cfg.show();
+ prv.hide();
+ rnd.hide();
+ rnda.hide();
+ nxt.hide();
+ }
+ else
+ {
+ cfg.hide();
+ prv.hide();
+ rnd.hide();
+ rnda.hide();
+ nxt.hide();
+ }
+
+}*/ \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/visbuttons.maki b/Src/resources/skins/Big Bento/scripts/visbuttons.maki
new file mode 100644
index 00000000..4d0e1d3c
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/visbuttons.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/scripts/visualizer.m b/Src/resources/skins/Big Bento/scripts/visualizer.m
new file mode 100644
index 00000000..c2d69898
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/visualizer.m
@@ -0,0 +1,356 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: visualizer.m
+Version: 1.4
+
+Type: maki
+Date: 07. Okt. 2007 - 19:56
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script handles also the timer reflection
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+#include attribs/init_appearance.m
+
+Function refreshVisSettings();
+Function setVis (int mode);
+Function ProcessMenuResult (int a);
+
+Global Group scriptGroup;
+Global Vis visualizer, visualizer_m;
+Global Text tmr;
+
+Global PopUpMenu visMenu;
+Global PopUpMenu specmenu;
+Global PopUpMenu oscmenu;
+Global PopUpMenu pksmenu;
+Global PopUpMenu anamenu;
+Global PopUpMenu stylemenu;
+
+Global Int currentMode, a_falloffspeed, p_falloffspeed, a_coloring;
+Global Boolean show_peaks, isShade;
+Global layer trigger;
+
+Global Layout thislayout;
+Global Container main;
+
+System.onScriptLoaded()
+{
+ initAttribs_Appearance(); // init appearance attribs
+
+ scriptGroup = getScriptGroup();
+ thislayout = scriptGroup.getParentLayout();
+ main = thislayout.getContainer();
+
+ // this script runs in shade and normal layout, we store this bool to prevent some actions to recieve the shade vis.
+ isShade = (scriptGroup.getParentlayout().getID() == "shade");
+
+ visualizer = scriptGroup.findObject("main.vis");
+
+ trigger = scriptGroup.findObject("main.vis.trigger");
+
+ if (!isShade)
+ {
+ visualizer_m = scriptGroup.findObject("main.vis.mirror");
+ vis_reflection_attrib.onDataChanged();
+
+ tmr = scriptGroup.findObject("SongTime");
+ timer_reflection_attrib.onDataChanged();
+ }
+
+
+
+ visualizer.setXmlParam("peaks", integerToString(show_peaks));
+ visualizer.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ visualizer.setXmlParam("falloff", integerToString(a_falloffspeed));
+
+ refreshVisSettings ();
+}
+
+refreshVisSettings ()
+{
+ currentMode = getPrivateInt(getSkinName(), "Visualizer Mode", 1);
+ show_peaks = getPrivateInt(getSkinName(), "Visualizer show Peaks", 1);
+ a_falloffspeed = getPrivateInt(getSkinName(), "Visualizer analyzer falloff", 3);
+ p_falloffspeed = getPrivateInt(getSkinName(), "Visualizer peaks falloff", 2);
+ a_coloring = getPrivateInt(getSkinName(), "Visualizer analyzer coloring", 0);
+
+ visualizer.setXmlParam("peaks", integerToString(show_peaks));
+ visualizer.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ visualizer.setXmlParam("falloff", integerToString(a_falloffspeed));
+
+ if (a_coloring == 0)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 1)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 2)
+ {
+ visualizer.setXmlParam("coloring", "Fire");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Fire");
+ }
+ else if (a_coloring == 3)
+ {
+ visualizer.setXmlParam("coloring", "Line");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Line");
+ }
+
+ if (!isShade)
+ {
+ visualizer_m.setXmlParam("peaks", integerToString(show_peaks));
+ visualizer_m.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ visualizer_m.setXmlParam("falloff", integerToString(a_falloffspeed));
+ }
+
+ setVis (currentMode);
+}
+
+trigger.onLeftButtonDown (int x, int y)
+{
+ if (isKeyDown(VK_ALT) && isKeyDown(VK_SHIFT) && isKeyDown(VK_CONTROL))
+ {
+ if (visualizer.getXmlParam("fliph") == "1")
+ {
+ visualizer.setXmlParam("fliph", "0");
+ visualizer_m.setXmlParam("fliph", "0");
+ }
+ else
+ {
+ visualizer.setXmlParam("fliph", "1");
+ visualizer_m.setXmlParam("fliph", "1");
+ }
+ return;
+ }
+
+ currentMode++;
+
+ if (currentMode == 6)
+ {
+ currentMode = 0;
+ }
+
+ setVis (currentMode);
+ complete;
+}
+
+trigger.onRightButtonUp (int x, int y)
+{
+ visMenu = new PopUpMenu;
+ specmenu = new PopUpMenu;
+ oscmenu = new PopUpMenu;
+ pksmenu = new PopUpMenu;
+ anamenu = new PopUpMenu;
+ stylemenu = new PopUpMenu;
+
+ visMenu.addCommand("Presets:", 999, 0, 1);
+ visMenu.addCommand("No Visualization", 100, currentMode == 0, 0);
+ specmenu.addCommand("Thick Bands", 1, currentMode == 1, 0);
+ specmenu.addCommand("Thin Bands", 2, currentMode == 2, 0);
+ visMenu.addSubMenu(specmenu, "Spectrum Analyzer");
+
+ oscmenu.addCommand("Solid", 3, currentMode == 3, 0);
+ oscmenu.addCommand("Dots", 4, currentMode == 4, 0);
+ oscmenu.addCommand("Lines", 5, currentMode == 5, 0);
+ visMenu.addSubMenu(oscmenu, "Oscilloscope");
+
+ visMenu.addSeparator();
+ visMenu.addCommand("Options:", 102, 0, 1);
+ visMenu.addCommand("Show Peaks", 101, show_peaks == 1, 0);
+ pksmenu.addCommand("Slower", 200, p_falloffspeed == 0, 0);
+ pksmenu.addCommand("Slow", 201, p_falloffspeed == 1, 0);
+ pksmenu.addCommand("Moderate", 202, p_falloffspeed == 2, 0);
+ pksmenu.addCommand("Fast", 203, p_falloffspeed == 3, 0);
+ pksmenu.addCommand("Faster", 204, p_falloffspeed == 4, 0);
+ visMenu.addSubMenu(pksmenu, "Peak Falloff Speed");
+ anamenu.addCommand("Slower", 300, a_falloffspeed == 0, 0);
+ anamenu.addCommand("Slow", 301, a_falloffspeed == 1, 0);
+ anamenu.addCommand("Moderate", 302, a_falloffspeed == 2, 0);
+ anamenu.addCommand("Fast", 303, a_falloffspeed == 3, 0);
+ anamenu.addCommand("Faster", 304, a_falloffspeed == 4, 0);
+ visMenu.addSubMenu(anamenu, "Analyzer Falloff Speed");
+ stylemenu.addCommand("Normal", 400, a_coloring == 0, 0);
+ stylemenu.addCommand("Fire", 402, a_coloring == 2, 0);
+ stylemenu.addCommand("Line", 403, a_coloring == 3, 0);
+ visMenu.addSubMenu(stylemenu, "Analyzer Coloring");
+
+ ProcessMenuResult (visMenu.popAtMouse());
+
+ delete visMenu;
+ delete specmenu;
+ delete oscmenu;
+ delete pksmenu;
+ delete anamenu;
+ delete stylemenu;
+
+ complete;
+}
+
+ProcessMenuResult (int a)
+{
+ if (a < 1) return;
+
+ if (a > 0 && a <= 6 || a == 100)
+ {
+ if (a == 100) a = 0;
+ setVis(a);
+ }
+
+ else if (a == 101)
+ {
+ show_peaks = (show_peaks - 1) * (-1);
+ visualizer.setXmlParam("peaks", integerToString(show_peaks));
+ if (!isShade) visualizer_m.setXmlParam("peaks", integerToString(show_peaks));
+ setPrivateInt(getSkinName(), "Visualizer show Peaks", show_peaks);
+ }
+
+ else if (a >= 200 && a <= 204)
+ {
+ p_falloffspeed = a - 200;
+ visualizer.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ if (!isShade) visualizer_m.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ setPrivateInt(getSkinName(), "Visualizer peaks falloff", p_falloffspeed);
+ }
+
+ else if (a >= 300 && a <= 304)
+ {
+ a_falloffspeed = a - 300;
+ visualizer.setXmlParam("falloff", integerToString(a_falloffspeed));
+ if (!isShade) visualizer_m.setXmlParam("falloff", integerToString(a_falloffspeed));
+ setPrivateInt(getSkinName(), "Visualizer analyzer falloff", a_falloffspeed);
+ }
+
+ else if (a >= 400 && a <= 403)
+ {
+ a_coloring = a - 400;
+ if (a_coloring == 0)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 1)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 2)
+ {
+ visualizer.setXmlParam("coloring", "Fire");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Fire");
+ }
+ else if (a_coloring == 3)
+ {
+ visualizer.setXmlParam("coloring", "Line");
+ if (!isShade) visualizer_m.setXmlParam("coloring", "Line");
+ }
+ setPrivateInt(getSkinName(), "Visualizer analyzer coloring", a_coloring);
+ }
+}
+
+setVis (int mode)
+{
+ setPrivateInt(getSkinName(), "Visualizer Mode", mode);
+ if (mode == 0)
+ {
+ visualizer.setMode(0);
+ if (!isShade) visualizer_m.setMode(0);
+ }
+ else if (mode == 1)
+ {
+ visualizer.setXmlParam("bandwidth", "wide");
+ visualizer.setMode(1);
+ if (!isShade) visualizer_m.setXmlParam("bandwidth", "wide");
+ if (!isShade) visualizer_m.setMode(1);
+ }
+ else if (mode == 2)
+ {
+ visualizer.setXmlParam("bandwidth", "thin");
+ visualizer.setMode(1);
+ if (!isShade) visualizer_m.setXmlParam("bandwidth", "thin");
+ if (!isShade) visualizer_m.setMode(1);
+ }
+ else if (mode == 3)
+ {
+ visualizer.setXmlParam("oscstyle", "solid");
+ visualizer.setMode(2);
+ if (!isShade) visualizer_m.setXmlParam("oscstyle", "solid");
+ if (!isShade) visualizer_m.setMode(2);
+ }
+ else if (mode == 4)
+ {
+ visualizer.setXmlParam("oscstyle", "dots");
+ visualizer.setMode(2);
+ if (!isShade) visualizer_m.setXmlParam("oscstyle", "dots");
+ if (!isShade) visualizer_m.setMode(2);
+ }
+ else if (mode == 5)
+ {
+ visualizer.setXmlParam("oscstyle", "lines");
+ visualizer.setMode(2);
+ if (!isShade) visualizer_m.setXmlParam("oscstyle", "lines");
+ if (!isShade) visualizer_m.setMode(2);
+ }
+ currentMode = mode;
+}
+
+// Set Vis reflection on/off
+
+vis_reflection_attrib.onDataChanged ()
+{
+ if (isShade)
+ {
+ // shade visualizer doesn't have a reflection
+ return;
+ }
+
+ if (getdata() == "1")
+ {
+ visualizer_m.show();
+ }
+ else
+ {
+ visualizer_m.hide();
+ }
+}
+
+// Set Timer reflection on/off
+
+timer_reflection_attrib.onDataChanged ()
+{
+ if (isShade)
+ {
+ // shade visualizer doesn't have a reflection
+ return;
+ }
+
+ if (getdata() == "1")
+ {
+ tmr.setXmlParam("font", "player.bitmapfont.nums");
+ }
+ else
+ {
+ tmr.setXmlParam("font", "player.bitmapfont.nums.noreflect");
+ }
+}
+
+// Sync Normal and Shade Layout
+
+main.onBeforeSwitchToLayout(Layout oldlayout, Layout newlayout)
+{
+ if (newlayout != thislayout)
+ {
+ return;
+ }
+
+ refreshVisSettings();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/scripts/visualizer.maki b/Src/resources/skins/Big Bento/scripts/visualizer.maki
new file mode 100644
index 00000000..1bfe10c8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/scripts/visualizer.maki
Binary files differ
diff --git a/Src/resources/skins/Big Bento/skin.xml b/Src/resources/skins/Big Bento/skin.xml
new file mode 100644
index 00000000..5fe50a19
--- /dev/null
+++ b/Src/resources/skins/Big Bento/skin.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+
+<WinampAbstractionLayer version="1.35">
+ <skininfo>
+ <version>1.2.4</version>
+ <name>Big Bento</name>
+ <author>Martin Pöhlmann, Taber Buhl</author>
+ <comment>Graphics by Taber Buhl - Wasabi Development by Ben Allison and Martin Poehlmann</comment>
+ <email>martin@skinconsortium.com</email>
+ <screenshot>screenshot.png</screenshot>
+ <homepage>http://www.skinconsortium.com/</homepage>
+ </skininfo>
+
+ <accelerators section="general">
+ <accelerator bind="Alt+F" action="MENUHOTKEY_FILE" />
+ <accelerator bind="Alt+P" action="MENUHOTKEY_PLAY" />
+ <accelerator bind="Alt+O" action="MENUHOTKEY_OPTIONS" />
+ <accelerator bind="Alt+I" action="MENUHOTKEY_VIEW" />
+ <accelerator bind="Alt+H" action="MENUHOTKEY_HELP" />
+ </accelerators>
+
+ <accelerators section="normal">
+ <accelerator bind="space" action="SHOW_CURRENT_TRACK" />
+ </accelerators>
+
+ <scripts>
+ <script file="scripts/loadattribs.maki" param="big"/> <!-- Must be loaded at first -->
+ </scripts>
+
+ <include file="xml/color-presets.xml"/>
+ <include file="xml/system-colors.xml"/>
+ <include file="xml/system-elements.xml"/>
+ <include file="xml/standardframe.xml" />
+ <include file="xml/window-overrides.xml"/>
+ <include file="xml/player.xml"/>
+ <include file="xml/notifier.xml"/>
+ <include file="about/about.xml"/>
+
+ <scripts>
+ <script file="scripts/maximize.maki" param="166,23"/>
+ </scripts>
+
+</WinampAbstractionLayer> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/window/Scrollgrips.png b/Src/resources/skins/Big Bento/window/Scrollgrips.png
new file mode 100644
index 00000000..781dd0b4
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/Scrollgrips.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/aol_radio_alb_art.jpg b/Src/resources/skins/Big Bento/window/aol_radio_alb_art.jpg
new file mode 100644
index 00000000..cdf7662b
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/aol_radio_alb_art.jpg
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/beatvis.png b/Src/resources/skins/Big Bento/window/beatvis.png
new file mode 100644
index 00000000..9bf28e68
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/beatvis.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/branding.png b/Src/resources/skins/Big Bento/window/branding.png
new file mode 100644
index 00000000..93ffbc94
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/branding.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/compcontrols.png b/Src/resources/skins/Big Bento/window/compcontrols.png
new file mode 100644
index 00000000..a0d2bc55
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/compcontrols.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/componentcontrols.png b/Src/resources/skins/Big Bento/window/componentcontrols.png
new file mode 100644
index 00000000..e19d3876
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/componentcontrols.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/config.png b/Src/resources/skins/Big Bento/window/config.png
new file mode 100644
index 00000000..63c5ec98
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/config.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/equalizer.png b/Src/resources/skins/Big Bento/window/equalizer.png
new file mode 100644
index 00000000..41edba12
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/equalizer.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/menu_file.png b/Src/resources/skins/Big Bento/window/menu_file.png
new file mode 100644
index 00000000..0d59ef50
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/menu_file.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/menu_help.png b/Src/resources/skins/Big Bento/window/menu_help.png
new file mode 100644
index 00000000..47c946f0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/menu_help.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/menu_options.png b/Src/resources/skins/Big Bento/window/menu_options.png
new file mode 100644
index 00000000..fd4039bd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/menu_options.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/menu_play.png b/Src/resources/skins/Big Bento/window/menu_play.png
new file mode 100644
index 00000000..d1be3113
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/menu_play.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/menu_view.png b/Src/resources/skins/Big Bento/window/menu_view.png
new file mode 100644
index 00000000..92b441f5
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/menu_view.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/no_alb_art_big.png b/Src/resources/skins/Big Bento/window/no_alb_art_big.png
new file mode 100644
index 00000000..e950334f
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/no_alb_art_big.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/notfound.png b/Src/resources/skins/Big Bento/window/notfound.png
new file mode 100644
index 00000000..0861d23a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/notfound.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/notfoundXXL.png b/Src/resources/skins/Big Bento/window/notfoundXXL.png
new file mode 100644
index 00000000..b839ffed
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/notfoundXXL.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/notifier.png b/Src/resources/skins/Big Bento/window/notifier.png
new file mode 100644
index 00000000..f41ccfa7
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/notifier.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/numfont.png b/Src/resources/skins/Big Bento/window/numfont.png
new file mode 100644
index 00000000..09d0b6fd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/numfont.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/pl_btn_icons.png b/Src/resources/skins/Big Bento/window/pl_btn_icons.png
new file mode 100644
index 00000000..1983c8dd
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/pl_btn_icons.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/player.png b/Src/resources/skins/Big Bento/window/player.png
new file mode 100644
index 00000000..87e8cd50
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/player.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/rating.png b/Src/resources/skins/Big Bento/window/rating.png
new file mode 100644
index 00000000..ff3ccbc1
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/rating.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/sc_alb_art.jpg b/Src/resources/skins/Big Bento/window/sc_alb_art.jpg
new file mode 100644
index 00000000..64752759
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/sc_alb_art.jpg
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/scrollbars.png b/Src/resources/skins/Big Bento/window/scrollbars.png
new file mode 100644
index 00000000..b75e3959
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/scrollbars.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/shade.png b/Src/resources/skins/Big Bento/window/shade.png
new file mode 100644
index 00000000..8b5220a0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/shade.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/songinfo.png b/Src/resources/skins/Big Bento/window/songinfo.png
new file mode 100644
index 00000000..34085c1a
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/songinfo.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/sui.png b/Src/resources/skins/Big Bento/window/sui.png
new file mode 100644
index 00000000..5f0e3872
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/sui.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/window-elements.png b/Src/resources/skins/Big Bento/window/window-elements.png
new file mode 100644
index 00000000..4809baf8
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/window-elements.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/window-gradient.png b/Src/resources/skins/Big Bento/window/window-gradient.png
new file mode 100644
index 00000000..e62c30d0
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/window-gradient.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/window/window.png b/Src/resources/skins/Big Bento/window/window.png
new file mode 100644
index 00000000..cc6bc08e
--- /dev/null
+++ b/Src/resources/skins/Big Bento/window/window.png
Binary files differ
diff --git a/Src/resources/skins/Big Bento/xml/color-presets.xml b/Src/resources/skins/Big Bento/xml/color-presets.xml
new file mode 100644
index 00000000..e69ec03d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/color-presets.xml
@@ -0,0 +1,1414 @@
+<gammaset id="*Default">
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="*Default | Green">
+ <gammagroup id="Titlebar" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="-1082,336,-1685" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="-1082,301,-1685" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="*Default | Yellow">
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="*Default | Red">
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="2748,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="*Default | Sky">
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-621,656,1400" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,443,1578" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="*Default | Orange">
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="2251,230,-2075" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="4096,904,-2075" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="2251,230,-2075" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="2251,230,-2075" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="*Default | Purple">
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="208,-3788,1843" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="1149,-3834,3833" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="1149,-3834,3833" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="1149,-3834,3833" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="686,-4050,686" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,-934,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="-702,-1551,-702" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-209,-4050,1180" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-749,-4096,1118" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Default | Flat (blueish)">
+ <gammagroup id="Titlebar" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="-471,-471,-243" gray="2" boost="1" />
+ <gammagroup id="TitleButtonGrey" value="-671,-671,-443" gray="2" boost="1" />
+ <gammagroup id="WindowBackground" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="-329,-329,-329" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-2441,-2270,-1899" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="-843,-843,-643" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-2013,-1870,-1585" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonGlow" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1585,-1442,-1186" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="-2755,-2612,-2327" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-1042,-1042,-1042" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-1042,-1042,-1042" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="-1014,-871,-586" gray="2" boost="1" />
+ <gammagroup id="Column" value="-2355,-2212,-1927" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="NotifierText" value="1669,1669,1669" gray="0" boost="1" />
+ <gammagroup id="NotifierTextShadow" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="-2698,-2555,-2270" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperText" value="2554,2554,2554" gray="0" boost="1" />
+ <gammagroup id="Frame_Borders" value="-2385,-2242,-1842" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Default | Flat (greyish)">
+ <gammagroup id="Titlebar" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="-186,43,128" gray="2" boost="1" />
+ <gammagroup id="TitleButtonGrey" value="-300,-71,14" gray="0" boost="1" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-2470,-2241,-2156" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-2441,-2212,-2127" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="-2612,-2383,-2298" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="-757,-700,-586" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-1271,-1156,-1071" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-2527,-2298,-2213" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonGlow" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1014,-785,-700" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="-2783,-2554,-2469" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="-785,-785,-785" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-3297,-2897,-2812" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-3297,-2897,-2812" gray="0" boost="1" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="-2412,-2183,-2098" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperText" value="2982,2982,2982" gray="0" boost="1" />
+ <gammagroup id="Frame_Borders" value="-2412,-2183,-2098" gray="0" boost="1" />
+</gammaset>
+
+
+<gammaset id="Winamp Modern">
+ <gammagroup id="Titlebar" value="-1081,-825,-313" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="1704,1704,1704" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="2464,2464,2429" gray="2" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="4096,4096,4096" gray="1" boost="0" />
+ <gammagroup id="WindowBackground" value="1211,1211,1211" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="1581,1581,1581" gray="0" boost="1" />
+ <gammagroup id="Column Text" value="-2909,-2909,-2909" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="131,131,131" gray="1" boost="1" />
+ <gammagroup id="ScrollbarTrack" value="2121,2121,2121" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-3291,-2261,-269" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-3458,-2855,-1862" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="-484,-285,-143" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="1542,1684,2039" gray="2" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="1542,1684,2039" gray="2" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3103,3670,4096" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="2180,2180,2216" gray="0" boost="1" />
+ <gammagroup id="PlayerButtonActive" value="-1508,0,1507" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-657,407,1613" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-2111,-1756,-1472" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="-302,0,407" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="327,1792,4096" gray="1" boost="0" />
+ <gammagroup id="CompButtonActive" value="1949,2604,4028" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-598,-541,-427" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="111,111,111" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-1558,-589,981" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-1767,-1181,-348" gray="0" boost="1" />
+ <gammagroup id="Selection" value="-511,222,3546" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="1137,1137,1137" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="2996,3032,3067" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-3813,-3529,-3174" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="3173,3209,3280" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperText" value="-3813,-3529,-3174" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="2247,2247,2247" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Brighter">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="165,1288,3687" gray="2" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Brighter | Sky">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-621,656,1400" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-2252,656,1719" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-621,656,1400" gray="2" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Brighter | Green">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,230,-231" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,230,-231" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-1082,-657,-1685" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,230,-231" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,230,-231" gray="2" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Brighter | Orange">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="2251,230,-2075" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="2251,230,-2075" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="2251,230,-2075" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Brighter | Purple">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-471,-3649,2028" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1057,-4035,3463" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="1056,-4096,1874" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="1056,-4096,1874" gray="0" boost="0" />
+ <gammagroup id="Selection" value="-980,-1705,-980" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="223,-3989,2599" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-378,-4004,1612" gray="2" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Brighter | Red">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="336,-3529,-3423" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="254,-3529,-3526" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="254,-3529,-3526" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,-3423,-3711" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Brighter | Yellow">
+ <gammagroup id="Titlebar" value="1901,1926,1977" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2947,2973,2947" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-3433,-3433,-3433" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="726,301,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Rust">
+ <gammagroup id="Titlebar" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="-217,-702,-1136" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-217,-702,-1136" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,-881,-1264" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-1650,-2643,-2891" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="-217,-702,-1136" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="-217,-702,-1136" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="762,-550,-1259" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="975,0,-763" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-217,-702,-1136" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="975,-702,-2004" gray="2" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="975,-702,-2004" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="975,-702,-2004" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="1492,-753,-1978" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="2181,0,-1034" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-217,-702,-1136" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-217,-702,-1136" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="1033,-881,-1264" gray="2" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="1033,-881,-1264" gray="2" boost="0" />
+ <gammagroup id="Selection" value="0,-881,-1264" gray="2" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="165,-1340,-2565" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="829,-192,-804" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-243,-1213,-2029" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="650,0,-905" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="2180,1790,939" gray="0" boost="1" />
+ <gammagroup id="PlayerShadeSlider" value="829,-192,-804" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-798,-1650,-2288" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Winamp Classic">
+ <gammagroup id="Titlebar" value="-1792,-1792,-1195" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="762,0,-2359" gray="2" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,-162,-1273" gray="2" boost="0" />
+ <gammagroup id="WindowBackground" value="-1196,-1366,347" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="686,686,686" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-4096,1400,-4096" gray="2" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-3016,-3101,-2304" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="-1224,-1827,726" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="426,0,2332" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="762,1507,2074" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="762,1507,2074" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="762,1507,2074" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="-4096,1400,-4096" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-4096,2110,-4096" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-3316,-3352,-2359" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="-976,-940,-834" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="-256,-569,1024" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="-171,-598,967" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-512,-512,-512" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-4096,0,-4096" gray="2" boost="0" />
+ <gammagroup id="SelectionBg" value="-3973,-3773,362" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-3140,-2214,4096" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-143,-456,2360" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,-231,-2926" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-3788,-3788,-3788" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-4019,717,-4035" gray="2" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-2183,-1921,-2183" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-3788,-3788,-3788" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="1411,1411,1411" gray="0" boost="1" />
+ <gammagroup id="Frame_Borders" value="-1138,-1381,0" gray="2" boost="1" />
+</gammaset>
+
+<gammaset id="Blue Invasion">
+ <gammagroup id="Titlebar" value="-2465,-444,1932" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="-2465,0,833" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-3387,-869,1436" gray="2" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="-3387,-869,3386" gray="2" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-3387,-869,3067" gray="2" boost="0" />
+ <gammagroup id="WindowBackground" value="-2465,-444,1932" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="-2465,0,833" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="-2465,0,833" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-1756,-763,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-2040,407,3422" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-2040,407,3422" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="-3104,-1295,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-3104,-1295,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,797,1790" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-3919,-1472,833" gray="2" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="-3104,1152,2996" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="-3104,1152,2996" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-3104,-1295,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-2607,0,4096" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-2643,-798,975" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="0,797,1790" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="-3104,-1295,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-1437,-869,-196" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-1437,-869,-196" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-2465,0,833" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-2465,0,833" gray="0" boost="0" />
+ <gammagroup id="Selection" value="-1862,0,4096" gray="0" boost="1" />
+ <gammagroup id="LightningBolt" value="1046,1329,1790" gray="2" boost="0" />
+ <gammagroup id="Column" value="-1295,0,1790" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="-3387,-869,1436" gray="2" boost="0" />
+ <gammagroup id="NotifierBackground" value="-3990,-2784,-1118" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-3104,-657,2996" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-4096,-4061,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-3104,-657,2996" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="-4096,-4061,-4096" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-3529,-2288,-1295" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Mint">
+ <gammagroup id="Titlebar" value="-834,904,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,797,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="0,1507,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="-2997,620,-337" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,1507,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,1507,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-2997,0,-1118" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="-2997,1790,-1118" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-2997,1790,-1118" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="0,762,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,762,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,762,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,1507,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,2464,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="0,2216,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="0,762,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-3671,-2820,-337" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-2997,1790,-1118" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="-2997,1790,-1118" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="1507,3847,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="-2997,1719,-2146" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,1507,0" gray="2" boost="0" />
+ <gammagroup id="Column" value="0,1507,0" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-2997,620,-337" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-2997,620,-337" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-2997,1719,-2146" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="-2997,620,-337" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+
+<!-- Community Presets -->
+
+<!-- Theme(s) by QOAL: -->
+
+<gammaset id="Evil Red">
+ <gammagroup id="Titlebar" value="-3072,-3072,-3072" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="-512,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-512,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="-512,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-2048,-2048,-2048" gray="2" boost="0" />
+ <gammagroup id="WindowBackground" value="-3328,-3328,-3328" gray="2" boost="0" />
+ <gammagroup id="WindowText" value="-512,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="-1024,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="0,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-2048,-2048,-2048" gray="2" boost="0" />
+ <gammagroup id="PlayerDisplay" value="-4096,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="-4096,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="ComponentFrame" value="-3072,-3072,-3072" gray="2" boost="0" />
+ <gammagroup id="PlayerButton" value="-2560,-2560,-2560" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-2560,-2560,-2560" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-3072,-3072,-3072" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="512,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="0,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-3072,-3072,-3072" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-3328,-3328,-3328" gray="2" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-3072,-3072,-3072" gray="2" boost="0" />
+ <gammagroup id="CompButtonActive" value="-3072,-3072,-3072" gray="2" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-1024,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-512,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="1024,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="1024,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="Selection" value="0,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="Column" value="-3328,-3328,-3328" gray="2" boost="0" />
+ <gammagroup id="ShadeButton" value="0,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-3328,-3328,-3328" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-2048,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,-4096,-4065" gray="0" boost="1" />
+ <gammagroup id="Frame_Borders" value="-4096,-4096,-4096" gray="2" boost="0" />
+</gammaset>
+
+<!-- Themes by J_Darnley -->
+
+<gammaset id="Winamp Modern | City Night">
+ <gammagroup id="Titlebar" value="-1024,-1024,-1024" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="2" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="2" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="2048,2048,2048" gray="2" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="2048,2048,2048" gray="2" boost="0" />
+ <gammagroup id="WindowBackground" value="-1536,-1536,-1536" gray="2" boost="0" />
+ <gammagroup id="WindowText" value="1024,1024,1024" gray="2" boost="0" />
+ <gammagroup id="Column Text" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="1024,1024,1024" gray="2" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="1024,1024,1024" gray="2" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-2560,-2560,-2560" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-2048,-2048,-2048" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="1024,1024,1024" gray="2" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="1536,1536,1536" gray="2" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="1024,1024,1024" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,-511,-2260" gray="2" boost="1" />
+ <gammagroup id="PlayerButtonActive" value="0,-511,-2260" gray="2" boost="1" />
+ <gammagroup id="PlayerSliderLight" value="1559,451,-2318" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="1559,451,-2318" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="-4096,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="CompButtonInactive" value="2048,2048,1536" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="2048,2048,1536" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-512,-512,-512" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,-511,-2260" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-3072,-3072,-3072" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-3072,-3072,-3072" gray="0" boost="1" />
+ <gammagroup id="Selection" value="860,0,-3264" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-2048,-2048,-2048" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="2048,2048,2048" gray="2" boost="0" />
+ <gammagroup id="NotifierBackground" value="-1024,-1024,-1024" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="NotifierTextShadow" value="-4096,-4096,-4096" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="-4096,-4096,-4096" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperText" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="Frame_Borders" value="1024,1024,1024" gray="0" boost="1" />
+</gammaset>
+
+<!-- Theme(s) by VooDoo` -->
+
+<gammaset id="Blue Steel">
+ <gammagroup id="Titlebar" value="886,1354,1755" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-485,-452,-418" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-485,-452,-418" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="250,-1254,-385" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="886,1354,1755" gray="1" boost="0" />
+ <gammagroup id="WindowBackground" value="2624,2524,2624" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="251,663,2457" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-3753,-3273,-2701" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-3433,-2907,-2266" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-1254,-519,1019" gray="1" boost="0" />
+ <gammagroup id="PlayerButton" value="886,1354,1822" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="886,1354,1822" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-552,-552,-552" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="-418,652,2457" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="3020,3020,3020" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-418,652,2457" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-418,652,2457" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="2624,2524,2624" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-1254,-519,1019" gray="1" boost="0" />
+ <gammagroup id="CompButtonActive" value="-1254,-519,1019" gray="1" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-2525,-1923,-1221" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-1555,-318,2562" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="1053,1716,2591" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-664,297,892" gray="0" boost="0" />
+ <gammagroup id="Selection" value="1788,2491,4096" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="886,1354,1822" gray="0" boost="0" />
+ <gammagroup id="Column" value="-519,0,718" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="886,1354,1822" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-318,0,451" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="251,663,2457" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-4096,-4096,-4096" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-2586,-2174,-1282" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Winamp Modern | Varsity">
+ <gammagroup id="Titlebar" value="-653,-653,-1121" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-653,-653,-1121" gray="1" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-653,-653,-1121" gray="1" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="-653,-653,-1121" gray="1" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-653,-653,-1121" gray="1" boost="0" />
+ <gammagroup id="WindowBackground" value="2591,-3294,-3127" gray="1" boost="0" />
+ <gammagroup id="WindowText" value="4096,4096,778" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="-550,-3845,-3845" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="4096,3193,778" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="3523,3203,2837" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-984,-1053,-1488" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-847,-3707,-3639" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="297,137,-138" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="919,886,919" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="919,886,919" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-151,-920,-820" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="2539,2105,1739" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="4096,0,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="819,819,819" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="1554,-3090,-2907" gray="1" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-987,-3562,-3528" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="2791,-2266,-2426" gray="1" boost="0" />
+ <gammagroup id="CompButtonActive" value="297,137,-138" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="-1555,-2458,-2458" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-2266,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="366,205,-527" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-1168,-1259,-1740" gray="0" boost="1" />
+ <gammagroup id="Selection" value="4096,0,-4096" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="919,886,919" gray="0" boost="0" />
+ <gammagroup id="Column" value="1521,1287,1019" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="919,886,919" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="919,886,919" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="919,919,919" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="-504,-3456,-3387" gray="0" boost="1" />
+ <gammagroup id="Frame_Borders" value="-962,-1030,-1488" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Winamp Modern | City Night 2">
+ <gammagroup id="Titlebar" value="-1522,-1522,-1522" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-1522,-1522,-1522" gray="1" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-1522,-1522,-1522" gray="1" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="284,284,284" gray="2" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-1522,-1522,-1522" gray="1" boost="0" />
+ <gammagroup id="WindowBackground" value="886,1120,1454" gray="1" boost="0" />
+ <gammagroup id="WindowText" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-352,-218,0" gray="1" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="852,852,852" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-3327,-3327,-3327" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-3729,-3762,-3829" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="2758,2557,3260" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="50,50,50" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="50,50,50" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-552,-452,-385" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="4096,2457,-1522" gray="1" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="4096,2457,-1522" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="3494,1253,-1990" gray="1" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-2960,-2859,-2792" gray="1" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="886,1120,1454" gray="1" boost="0" />
+ <gammagroup id="CompButtonInactive" value="0,-184,250" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="2758,2557,3260" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-1656,-1555,-1254" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="986,0,-2859" gray="1" boost="0" />
+ <gammagroup id="SelectionBg" value="-2659,-2659,-2759" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-3127,-3093,-3194" gray="0" boost="1" />
+ <gammagroup id="Selection" value="4096,-65,-2458" gray="1" boost="1" />
+ <gammagroup id="LightningBolt" value="852,852,852" gray="0" boost="0" />
+ <gammagroup id="Column" value="-653,-653,-485" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="50,50,50" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-619,-619,-619" gray="1" boost="0" />
+ <gammagroup id="NotifierText" value="-352,-218,0" gray="1" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="4096,2457,-1522" gray="1" boost="1" />
+ <gammagroup id="Frame_Borders" value="-1656,-1555,-1254" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Royal Blue">
+ <gammagroup id="Titlebar" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="-1488,-753,1721" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-1488,-753,1721" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="250,-1254,-385" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-481,0,2585" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-1221,-452,986" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-1756,-719,986" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-1254,-519,1019" gray="1" boost="0" />
+ <gammagroup id="CompButtonActive" value="-1254,-519,1019" gray="1" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-2090,-552,2022" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="-1282,0,2562" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-664,297,892" gray="0" boost="0" />
+ <gammagroup id="Selection" value="411,1716,4096" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="Column" value="-887,0,1755" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-385,551,2624" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-151,919,2123" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="411,1716,4096" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperText" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-2586,-2174,-1282" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Royal Black">
+ <gammagroup id="Titlebar" value="-1488,-1488,-1488" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="-1288,-1288,-1288" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="-1288,-1288,-1288" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="250,-1254,-385" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-1488,-1488,-1488" gray="2" boost="0" />
+ <gammagroup id="WindowBackground" value="1601,1601,1601" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-920,-920,-920" gray="0" boost="0" />
+ <gammagroup id="PlayerButton" value="-619,-251,351" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-619,-251,351" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-1221,-1221,-1221" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="1601,2256,2825" gray="2" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderBackground" value="-953,-953,-987" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="518,518,551" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-1388,-1388,-1388" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="-920,-920,-920" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="-1522,-1522,-1522" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Selection" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="-619,-251,351" gray="0" boost="0" />
+ <gammagroup id="Column" value="-1154,-1154,-1121" gray="0" boost="0" />
+ <gammagroup id="ShadeButton" value="-619,-251,351" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-619,-251,351" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="-151,-151,-151" gray="0" boost="1" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,-804" gray="0" boost="0" />
+</gammaset>
+
+<!-- Theme(s) by GreayStone -->
+
+<gammaset id="Purplelicious">
+ <gammagroup id="Titlebar" value="417,-4096,1118" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="2225,-753,-2225" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="2225,-753,-2225" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="-953,-4096,-485" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="-1087,-2257,-1088" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="752,-3461,1118" gray="0" boost="0" />
+ <gammagroup id="WindowText" value="2225,-753,-2225" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="2225,-753,-2225" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="2225,-753,-2225" gray="2" boost="1" />
+ <gammagroup id="ScrollbarTrack" value="-2124,-4096,-2124" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerDisplayGradient" value="-3528,-3495,-3528" gray="2" boost="1" />
+ <gammagroup id="ComponentFrame" value="819,-3896,1287" gray="2" boost="0" />
+ <gammagroup id="PlayerButton" value="-1221,-2926,-1221" gray="2" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="-1388,-2324,-1388" gray="2" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="-385,-2592,-385" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="-385,-2592,-385" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1522,-3963,-1656" gray="2" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="WindowBackgroundGradient" value="669,-3788,1843" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-887,-1656,-887" gray="0" boost="0" />
+ <gammagroup id="CompButtonActive" value="-1388,-2324,-1388" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactiveText" value="2225,-753,-2225" gray="2" boost="1" />
+ <gammagroup id="CompButtonActiveText" value="2225,-753,-2225" gray="2" boost="0" />
+ <gammagroup id="SelectionBg" value="819,-3788,1287" gray="2" boost="0" />
+ <gammagroup id="SelectionBg Inactive" value="-1087,-2893,-1154" gray="2" boost="0" />
+ <gammagroup id="Selection" value="2225,-753,-2225" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="484,-452,-251" gray="0" boost="0" />
+ <gammagroup id="Column" value="819,-4096,1287" gray="2" boost="0" />
+ <gammagroup id="ShadeButton" value="-887,-2358,-887" gray="2" boost="1" />
+ <gammagroup id="NotifierBackground" value="-749,-4096,1118" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="2225,-753,-2225" gray="2" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="819,-1522,1287" gray="2" boost="0" />
+ <gammagroup id="NotifierUpperText" value="919,-1522,1287" gray="2" boost="0" />
+ <gammagroup id="Frame_Borders" value="829,-192,819" gray="0" boost="0" />
+</gammaset>
+
+<!-- Themes by DJ Egg -->
+
+<gammaset id="Lighten Up | Orange">
+ <gammagroup id="Titlebar" value="1630,-1328,-3812" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="246,246,246" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="777,777,777" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="2161,701,-930" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="1042,1042,1042" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="682,0,-569" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="436,436,417" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-626,-2598,-4096" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="1801,-1461,-3850" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="4096,1668,-512" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="2104,-1499,-3983" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="701,-456,-1821" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="2996,-1328,-3148" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="1498,-1783,-3547" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="701,-456,-1821" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="1991,-1328,-3566" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="227,227,227" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="417,417,417" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="1232,0,-1290" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="1877,682,-607" gray="0" boost="1" />
+ <gammagroup id="Selection" value="4096,-2124,-4096" gray="0" boost="1" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="1630,-1271,-3319" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="2730,-1518,-3717" gray="0" boost="1" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="2597,-1271,-3509" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Lighten Up | Green">
+ <gammagroup id="Titlebar" value="-3205,-949,-3641" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="246,246,246" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="777,777,777" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="1251,-342,-1252" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="1042,2048,1042" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="-550,0,-930" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="3015,3811,3015" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="455,455,455" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-3376,-2276,-4096" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-3395,-1385,-3736" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="986,3147,-209" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-3110,0,-3566" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="-1593,-456,-1821" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1916,1744,-3148" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="-2997,-1385,-3547" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-1480,-456,-1821" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="-3224,-645,-3736" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="227,227,227" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="417,417,417" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-2371,796,-2940" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-190,1099,-873" gray="0" boost="1" />
+ <gammagroup id="Selection" value="-3755,-1555,-3945" gray="0" boost="1" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-2940,-550,-3224" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-3186,-1138,-3717" gray="0" boost="1" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-3622,-835,-3509" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Lighten Up | Blue">
+ <gammagroup id="Titlebar" value="-3433,-1328,1061" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="246,246,246" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="777,777,777" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="1251,-342,-1252" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="1042,2048,1042" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="-892,0,625" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="3015,2560,3356" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="455,455,455" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-3603,-3016,-1480" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-3528,-2048,-418" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="1137,2616,3849" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-3452,-1290,1024" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="-1859,-456,853" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="-1916,265,2066" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="-2997,-2030,-911" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-1859,-456,853" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="-3414,-1366,1232" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="227,227,227" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="417,417,417" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-2693,-247,2085" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-475,663,1858" gray="0" boost="1" />
+ <gammagroup id="Selection" value="-3755,-2466,-873" gray="0" boost="1" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-3072,-1081,1384" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-3186,-1783,0" gray="0" boost="1" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-3622,-2333,-835" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Lighten Up | Mono Light">
+ <gammagroup id="Titlebar" value="-2447,-2447,-2447" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="246,246,246" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="777,777,777" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="1251,-342,-1252" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="1042,2048,1042" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="-3926,-3926,-3926" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="455,455,455" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="-3888,-3888,-3888" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-2048,-2048,-2048" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="3337,3337,3337" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="-1555,-1555,-1555" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="-456,-456,-456" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="1953,1953,1953" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="-3262,-3262,-3262" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-456,-456,-456" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="-2542,-2542,-2542" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="227,227,227" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="417,417,417" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-911,-911,-911" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="Selection" value="-911,-911,-911" gray="0" boost="1" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-2200,-2200,-2200" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="3773,3773,3773" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Orange Burst">
+ <gammagroup id="Titlebar" value="2560,1991,1384" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitlebarMenuText" value="0,0,0" gray="0" boost="1" />
+ <gammagroup id="TitleButtonOrange" value="1536,982,417" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="625,132,-342" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="512,512,512" gray="0" boost="0" />
+ <gammagroup id="Column Text" value="303,303,303" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="872,872,872" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="1365,-2086,-3793" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="3318,-607,-4096" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="1365,-1992,-4040" gray="0" boost="1" />
+ <gammagroup id="ComponentFrame" value="815,189,-437" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="3687,3687,3687" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="854,982,1135" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="3015,-1593,-3812" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="1441,-2086,-3793" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="-1933,-1330,-727" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactive" value="1061,-1764,-3888" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="1744,-1897,-3641" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="-247,-247,-247" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="0,-494,-1024" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="455,0,-418" gray="0" boost="1" />
+ <gammagroup id="Selection" value="1194,246,-759" gray="0" boost="0" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="0,-399,-892" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="2825,-1631,-3869" gray="2" boost="1" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="2560,-2143,-3622" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="XP Noir">
+ <gammagroup id="Titlebar" value="-2902,-2674,-2428" gray="0" boost="1" />
+ <gammagroup id="TitlebarText" value="246,246,246" gray="0" boost="0" />
+ <gammagroup id="TitlebarMenuText" value="777,777,777" gray="0" boost="0" />
+ <gammagroup id="TitleButtonOrange" value="1251,-342,-1252" gray="0" boost="0" />
+ <gammagroup id="TitleButtonGrey" value="967,1194,1422" gray="0" boost="0" />
+ <gammagroup id="WindowBackground" value="-1745,-1650,-1328" gray="0" boost="1" />
+ <gammagroup id="WindowText" value="-209,0,208" gray="0" boost="1" />
+ <gammagroup id="Column Text" value="455,455,455" gray="0" boost="0" />
+ <gammagroup id="DisplayText" value="2275,2275,2275" gray="0" boost="0" />
+ <gammagroup id="ScrollbarTrack" value="-3205,-2921,-2636" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplay" value="-2504,-2238,-1783" gray="0" boost="1" />
+ <gammagroup id="PlayerDisplayGradient" value="2066,2313,2578" gray="0" boost="0" />
+ <gammagroup id="ComponentFrame" value="-1309,-1214,-873" gray="0" boost="1" />
+ <gammagroup id="PlayerButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerShadeSlider" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonPlaceHolder" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerButtonActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="PlayerSliderLight" value="170,398,625" gray="0" boost="1" />
+ <gammagroup id="PlayerSliderBackground" value="-3262,-3091,-2864" gray="0" boost="1" />
+ <gammagroup id="WindowBackgroundGradient" value="493,587,948" gray="0" boost="0" />
+ <gammagroup id="CompButtonInactive" value="-1252,-1138,-835" gray="0" boost="1" />
+ <gammagroup id="CompButtonActive" value="-1897,-1764,-1404" gray="0" boost="1" />
+ <gammagroup id="CompButtonInactiveText" value="227,227,227" gray="0" boost="0" />
+ <gammagroup id="CompButtonActiveText" value="417,417,417" gray="0" boost="0" />
+ <gammagroup id="SelectionBg" value="-1157,-854,-569" gray="0" boost="1" />
+ <gammagroup id="SelectionBg Inactive" value="-1555,-1252,-892" gray="0" boost="1" />
+ <gammagroup id="Selection" value="-854,-854,-854" gray="0" boost="1" />
+ <gammagroup id="LightningBolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Column" value="-2276,-2048,-1802" gray="0" boost="1" />
+ <gammagroup id="ShadeButton" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierBackground" value="-2579,-2276,-1802" gray="0" boost="1" />
+ <gammagroup id="NotifierText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierTextShadow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperTextShadow" value="-1536,-1536,-1536" gray="0" boost="0" />
+ <gammagroup id="NotifierUpperText" value="-1536,-1536,-1536" gray="0" boost="0" />
+ <gammagroup id="Frame_Borders" value="-3755,-3471,-3205" gray="0" boost="1" />
+</gammaset>
+
diff --git a/Src/resources/skins/Big Bento/xml/config.xml b/Src/resources/skins/Big Bento/xml/config.xml
new file mode 100644
index 00000000..ce8f37c9
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/config.xml
@@ -0,0 +1,626 @@
+<groupdef id="info.component.config">
+
+ <!-- config page target -->
+ <GroupXFade speed="0.5" x="0" y="1" w="0" h="0" relatw="1" relath="1" id="skin.config.target" move="1"/>
+
+ <!-- config menu -->
+ <componentbucket id="my.bucket" x="1" y="1" w="72" h="100" spacing="0" leftmargin="0" rightmargin="0" vertical="1" wndtype="skin.config" />
+ <layer x="74" y="0" image="config.vdivider" move="0"/>
+
+ <script file="scripts/configtarget.maki" />
+</groupdef>
+
+<!-- config menu items -->
+
+<groupdef id="bucket.entry.0" windowtype="skin.config" w="102" h="16">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.appearance" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.appearance" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.1" windowtype="skin.config" w="128" h="20">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.songticker" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.songticker" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.2" windowtype="skin.config" w="128" h="20">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.autoresize" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.windowsizing" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.3" windowtype="skin.config" w="128" h="20">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.notifier" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.notifier" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.4" windowtype="skin.config" w="128" h="20">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.visualization" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.visualization" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.5" windowtype="skin.config" w="128" h="20">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.playlist" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.playlist" ghost="1"/>
+</groupdef>
+
+<groupdef id="bucket.entry.6" windowtype="skin.config" w="128" h="20">
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.cthemes" action_target="skin.config.target"
+ fitparent="1" rectrgn="1"
+ hoverImage="config.button.hover"
+ downImage="config.button.selected"
+ activeImage="config.button.selected"
+ />
+ <layer x="0" y="0" image="config.button.text.colorthemes" ghost="1"/>
+</groupdef>
+
+
+<!-- config menu pages -->
+
+<groupdef id="optionsgroup.autoresize">
+
+ <togglebutton x="102" y="14" h="12" w="238" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{0542AFA4-48D9-4c9f-8900-5739D52C114F};Prevent video resize"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{0542AFA4-48D9-4c9f-8900-5739D52C114F};Prevent video resize" />
+
+ <togglebutton x="102" y="0" h="12" w="238" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Autoresize Main Window if maximized"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Autoresize Main Window if maximized" />
+
+ <togglebutton x="102" y="28" h="12" w="238" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Link shade and player width"
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Link shade and player width" />
+
+ <layer x="106" y="45" image="config.windowsizing.titlebar.text" ghost="1" />
+
+ <togglebutton x="102" y="59" h="12" w="89" rectrgn="1"
+ hoverImage="config.windowsizing.titlebar.maximize.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Maximize Window on Titlebar Doubleclick"
+ />
+ <togglebutton x="106" y="59" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Maximize Window on Titlebar Doubleclick" />
+
+ <togglebutton x="171" y="59" h="12" w="138" rectrgn="1"
+ hoverImage="config.windowsizing.titlebar.shade.hover"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Switch to Shade on Titlebar Doubleclick"
+ />
+ <togglebutton x="175" y="59" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Switch to Shade on Titlebar Doubleclick" />
+
+ <layer x="106" y="0" image="config.windowsizing.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.songticker">
+
+ <togglebutton x="103" y="0" h="12" w="214" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Disable Songticker Scrolling"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Disable Songticker Scrolling" />
+
+ <togglebutton x="103" y="14" h="12" w="214" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Modern Songticker Scrolling"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Modern Songticker Scrolling" />
+
+ <togglebutton x="103" y="28" h="12" w="214" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Classic Songticker Scrolling"
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF4};Classic Songticker Scrolling" />
+
+ <layer x="106" y="0" image="config.songticker.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.cthemes" >
+
+ <ColorThemes:List
+ id="colorthemes"
+ x="75" y="0"
+ w="-76" h="99" relatw="1"
+ nohscroll="1"
+ nocolheader="1"
+ visible="0"
+ antialias="0"
+ fontsize="13"
+ />
+
+ <button id="colorthemes.prev"
+ action="colorthemes_previous"
+ action_target="colorthemes"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Color Theme"
+ />
+
+ <button id="colorthemes.switch"
+ action="colorthemes_switch"
+ action_target="colorthemes"
+ x="30" y="-19" relaty="1"
+ image="config.colorthemes.button.set.normal"
+ hoverImage="config.colorthemes.button.set.hover"
+ downImage="config.colorthemes.button.set.down"
+ tooltip="Switch to selected Color Theme"
+ />
+
+ <button id="colorthemes.next"
+ action="colorthemes_next"
+ action_target="colorthemes"
+ x="61" y="-19" relaty="1"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Next Color Theme"
+ />
+
+ <button id="colorthemes.more"
+ x="92" y="-19" relaty="1"
+ image="config.colorthemes.button.more.normal"
+ hoverImage="config.colorthemes.button.more.hover"
+ downImage="config.colorthemes.button.more.down"
+ tooltip="Download more Color Themes"
+ />
+
+ <script file="scripts/colorthemes.maki" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.appearance" >
+
+ <togglebutton x="103" y="0" h="12" w="204" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Main Window Menu"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Main Window Menu" />
+
+ <togglebutton x="103" y="18" h="12" w="204" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Visualizer Reflection"
+ />
+ <togglebutton x="106" y="18" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Visualizer Reflection" />
+
+ <togglebutton x="103" y="32" h="12" w="204" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Timer Reflection"
+ />
+ <togglebutton x="106" y="32" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Timer Reflection" />
+
+ <togglebutton x="103" y="50" h="12" w="204" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Enable Beat Visualization"
+ />
+ <togglebutton x="106" y="50" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Enable Beat Visualization" />
+
+ <togglebutton x="103" y="68" h="12" w="204" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Switch to Bento with Small Buttons"
+ />
+
+ <button
+ action="switchto;optionsgroup.appearance.2;subpage" action_target="skin.config.target"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Configpage"
+ />
+
+ <button
+ action="switchto;optionsgroup.appearance.2;subpage" action_target="skin.config.target"
+ x="30" y="-19" relaty="1"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Next Configpage"
+ />
+
+ <layer x="106" y="0" image="config.appearance.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.appearance.2" >
+
+<!-- <togglebutton x="106" y="0" h="12" w="144" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Artist-Information Buttons"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Artist-Information Buttons" />
+-->
+ <togglebutton x="106" y="14" h="12" w="144" rectrgn="1"
+ hoverImage="config.songticker.scroll.hover"
+ cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Playlist Tab"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Show Playlist Tab" />
+
+ <button
+ action="switchto;optionsgroup.appearance;subpage" action_target="skin.config.target"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Configpage"
+ />
+
+ <button
+ action="switchto;optionsgroup.appearance;subpage" action_target="skin.config.target"
+ x="30" y="-19" relaty="1"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Next Configpage"
+ />
+
+ <layer x="106" y="0" image="config.appearance.2.text" ghost="1" />
+
+</groupdef>
+
+
+<groupdef id="optionsgroup.notifier" >
+
+ <button id="holdtime.decrease"
+ x="167" y="42" h="12" w="8" rectrgn="1"
+ image="config.button.left.normal"
+ hoverImage="config.button.left.hover"
+ downImage="config.button.left.down"
+ />
+ <text id="holdtime.text"
+ x="172" y="42" w="40" h="12"
+ text=""
+ font="config.bitmapfont"
+ align="center"
+ />
+ <button id="holdtime.increase"
+ x="214" y="42" h="12" w="8" rectrgn="1"
+ image="config.button.right.normal"
+ hoverImage="config.button.right.hover"
+ downImage="config.button.right.down"
+ />
+ <script file="scripts/timecontrol.maki" param="holdtime.text;holdtime.decrease;holdtime.increase|{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications display time|100|10000|0.001|a"/>
+
+ <button
+ action="switchto;optionsgroup.notifier.show;subpage" action_target="skin.config.target"
+ x="107" y="0" h="12" w="178" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.show" x="177" y="0" image="config.notifier.text.always" ghost="1"/>
+ <script file="scripts/imagecontrol.maki" param="notifier.show|4|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always;config.notifier.text.always|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized;config.notifier.text.shade_minimized|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized;config.notifier.text.minimized|{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show;config.notifier.text.never" />
+
+ <button
+ action="switchto;optionsgroup.notifier.location;subpage" action_target="skin.config.target"
+ x="107" y="14" h="12" w="178" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.location" x="153" y="14" image="config.notifier.text.bottomright" ghost="1"/>
+ <script file="scripts/imagecontrol.maki" param="notifier.location|6|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Left;config.notifier.text.topleft|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Center;config.notifier.text.topcenter|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Right;config.notifier.text.topright|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Left;config.notifier.text.bottomleft|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Center;config.notifier.text.bottomcenter|{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Right;config.notifier.text.bottomright" />
+
+ <button
+ action="switchto;optionsgroup.notifier.animation.fadein;subpage" action_target="skin.config.target"
+ x="107" y="28" h="12" w="178" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.fadein" x="195" y="28" image="config.notifier.text.alphafade" ghost="1"/>
+ <script file="scripts/imagecontrol.maki" param="notifier.fadein|3|{D9891A39-7A38-45d8-9D51-A08F7270C836};Alpha Fade;config.notifier.text.alphafade|{D9891A39-7A38-45d8-9D51-A08F7270C836};Vertical Slide;config.notifier.text.vslide|{D9891A39-7A38-45d8-9D51-A08F7270C836};Horizontal Slide;config.notifier.text.hslide" />
+
+ <button
+ action="switchto;optionsgroup.notifier.animation.fadeout;subpage" action_target="skin.config.target"
+ x="107" y="56" h="12" w="178" rectrgn="1"
+ hoverImage="config.notifier.sub.hover"
+ />
+ <layer id="notifier.fadeout" x="204" y="56" image="config.notifier.text.alphafade" ghost="1"/>
+ <script file="scripts/imagecontrol.maki" param="notifier.fadeout|3|{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Alpha Fade ;config.notifier.text.alphafade|{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Vertical Slide ;config.notifier.text.vslide|{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Horizontal Slide ;config.notifier.text.hslide" />
+
+ <layer x="106" y="0" image="config.notifier.text" ghost="1" />
+</groupdef>
+
+<!-- notifier -->
+
+<groupdef id="optionsgroup.notifier.show" >
+
+ <togglebutton x="103" y="0" h="12" w="179" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always" />
+
+ <togglebutton x="103" y="14" h="12" w="179" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized" />
+
+ <togglebutton x="103" y="28" h="12" w="179" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized"
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized" />
+
+ <togglebutton x="103" y="42" h="12" w="179" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show"
+ />
+ <togglebutton x="106" y="42" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show" />
+
+ <togglebutton x="103" y="60" h="12" w="179" rectrgn="1"
+ hoverImage="config.notifier.show.hover"
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Disable in fullscreen"
+ />
+ <togglebutton x="106" y="60" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Disable in fullscreen" />
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="106" y="0" image="config.notifier.show.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier.location" >
+
+ <togglebutton x="103" y="0" h="12" w="86" rectrgn="1"
+ hoverImage="config.notifier.location.top.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Left"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Left" />
+
+ <togglebutton x="103" y="14" h="12" w="86" rectrgn="1"
+ hoverImage="config.notifier.location.top.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Center"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Center" />
+
+ <togglebutton x="103" y="28" h="12" w="86" rectrgn="1"
+ hoverImage="config.notifier.location.top.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Right"
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Top Right" />
+
+
+ <togglebutton x="180" y="0" h="12" w="101" rectrgn="1"
+ hoverImage="config.notifier.location.bottom.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Left"
+ />
+ <togglebutton x="182" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Left" />
+
+ <togglebutton x="180" y="14" h="12" w="111" rectrgn="1"
+ hoverImage="config.notifier.location.bottom.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Center"
+ />
+ <togglebutton x="182" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Center" />
+
+ <togglebutton x="180" y="28" h="12" w="101" rectrgn="1"
+ hoverImage="config.notifier.location.bottom.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Right"
+ />
+ <togglebutton x="182" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Bottom Right" />
+
+
+ <togglebutton x="103" y="46" h="12" w="146" rectrgn="1"
+ hoverImage="config.notifier.location.relative.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Viewport"
+ />
+ <togglebutton x="106" y="46" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Viewport" />
+
+ <togglebutton x="103" y="60" h="12" w="146" rectrgn="1"
+ hoverImage="config.notifier.location.relative.hover"
+ cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Monitor"
+ />
+ <togglebutton x="106" y="60" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{715B2C0D-1DF0-4bb2-9D74-0FACAE27CE97};Relative to Monitor" />
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="106" y="0" image="config.notifier.location.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier.animation.fadein" >
+
+ <togglebutton x="100" y="0" h="12" w="153" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Alpha Fade"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Alpha Fade" />
+
+ <togglebutton x="100" y="14" h="12" w="153" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Vertical Slide"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Vertical Slide" />
+
+ <togglebutton x="100" y="28" h="12" w="163" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Horizontal Slide"
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{D9891A39-7A38-45d8-9D51-A08F7270C836};Horizontal Slide" />
+
+ <button id="fdin.decrease"
+ x="206" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.left.normal"
+ hoverImage="config.button.left.hover"
+ downImage="config.button.left.down"
+ />
+ <text id="fdin.text"
+ x="211" y="46" w="40" h="12"
+ text=""
+ font="config.bitmapfont"
+ align="center"
+ />
+ <button id="fdin.increase"
+ x="253" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.right.normal"
+ hoverImage="config.button.right.hover"
+ downImage="config.button.right.down"
+ />
+ <script file="scripts/timecontrol.maki" param="fdin.text;fdin.decrease;fdin.increase|{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications fade in time|100|10000|0.001|a"/>
+
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="106" y="0" image="config.notifier.animation.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.notifier.animation.fadeout" >
+
+ <togglebutton x="106" y="0" h="12" w="83" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Alpha Fade "
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Alpha Fade " />
+
+ <togglebutton x="106" y="14" h="12" w="83" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Vertical Slide "
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Vertical Slide " />
+
+ <togglebutton x="106" y="28" h="12" w="83" rectrgn="1"
+ hoverImage="config.notifier.animation.hover"
+ cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Horizontal Slide "
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{560EAE41-1379-4927-AC55-FB5F4D47C9B8};Horizontal Slide " />
+
+ <button id="fdout.decrease"
+ x="186" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.left.normal"
+ hoverImage="config.button.left.hover"
+ downImage="config.button.left.down"
+ />
+ <text id="fdout.text"
+ x="191" y="46" w="40" h="12"
+ text=""
+ font="config.bitmapfont"
+ align="center"
+ />
+ <button id="fdout.increase"
+ x="233" y="46" h="12" w="8" rectrgn="1"
+ image="config.button.right.normal"
+ hoverImage="config.button.right.hover"
+ downImage="config.button.right.down"
+ />
+ <script file="scripts/timecontrol.maki" param="fdout.text;fdout.decrease;fdout.increase|{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications fade out time|100|10000|0.001|a"/>
+
+
+ <button
+ action="switchto;optionsgroup.notifier;subpage" action_target="skin.config.target"
+ x="0" y="-19" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Previous Configpage"
+ />
+
+ <layer x="106" y="0" image="config.notifier.animation.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.visualization" >
+
+ <togglebutton x="103" y="14" h="12" w="218" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Big Component View"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Big Component View" />
+
+ <togglebutton x="103" y="28" h="12" w="218" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (stretched)"
+ />
+ <togglebutton x="106" y="28" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (stretched)" />
+
+ <togglebutton x="103" y="42" h="12" w="218" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (mini)"
+ />
+ <togglebutton x="106" y="42" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{090B63DE-FD24-4528-ABE5-A522615E8AE9};Open in Multi Content View (mini)" />
+
+ <layer x="106" y="0" image="config.visualization.text" ghost="1" />
+
+</groupdef>
+
+<groupdef id="optionsgroup.playlist" >
+
+ <togglebutton x="103" y="0" h="12" w="218" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Enlarge Playlist"
+ />
+ <togglebutton x="106" y="0" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Enlarge Playlist" />
+
+ <togglebutton x="103" y="14" h="12" w="218" rectrgn="1"
+ hoverImage="config.windowsizing.autoresize.hover"
+ cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Show Album Art if Playlist is enlarged"
+ />
+ <togglebutton x="106" y="14" image="config.checkbox.inactive" activeImage="config.checkbox.active" ghost="1" cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Show Album Art if Playlist is enlarged" />
+
+ <layer x="106" y="0" image="config.playlist.text" ghost="1" />
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/notifier-elements.xml b/Src/resources/skins/Big Bento/xml/notifier-elements.xml
new file mode 100644
index 00000000..12fc1e99
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/notifier-elements.xml
@@ -0,0 +1,22 @@
+<elements>
+
+ <bitmap id="notifier.bg.left" file="window/notifier.png" x="0" y="0" w="13" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.center" file="window/notifier.png" x="13" y="0" w="133" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.right" file="window/notifier.png" x="146" y="0" w="13" h="80" gammagroup="NotifierBackground"/>
+
+ <bitmap id="notifier.bg.left.da" file="window/notifier.png" x="0" y="80" w="13" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.center.da" file="window/notifier.png" x="13" y="80" w="133" h="80" gammagroup="NotifierBackground"/>
+ <bitmap id="notifier.bg.right.da" file="window/notifier.png" x="146" y="80" w="13" h="80" gammagroup="NotifierBackground"/>
+
+ <bitmap id="notifier.bg.cover" file="window/notifier.png" x="0" y="160" w="78" h="80" gammagroup="NotifierBackground"/>
+
+
+ <color id="notifier.dark" value="35,35,35" gammagroup="NotifierTextShadow" />
+ <color id="notifier.bright" value="255,255,255" gammagroup="NotifierText" />
+
+ <color id="notifier.dark.upper" value="35,35,35" gammagroup="NotifierUpperText" />
+ <color id="notifier.bright.upper" value="255,255,255" gammagroup="NotifierUpperTextShadow" />
+
+
+</elements>
+
diff --git a/Src/resources/skins/Big Bento/xml/notifier-normal.xml b/Src/resources/skins/Big Bento/xml/notifier-normal.xml
new file mode 100644
index 00000000..c662dac7
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/notifier-normal.xml
@@ -0,0 +1,51 @@
+<groupdef id="notifier.albumart" sysregion="1" ghost="1" >
+
+ <layer id="notifier.cover.bg" x="0" y="0" image="notifier.bg.cover" move="0"/>
+ <AlbumArt id="notifier.cover" x="18" y="15" h="50" w="50" move="0" rectrgn="1" notfoundImage="winamp.cover.notfound.50" noAutoRefresh="1"/>
+ <layer id="notifier.webcover" x="18" y="15" h="50" w="50" move="0" rectrgn="1" visible="0"/>
+
+</groupdef>
+
+<groupdef id="notifier.text" sysregion = "1" ghost="1">
+
+ <!-- mp: I know this is an unusual way to get text shadow - but it creates a much better effect than the shadow params -->
+
+ <text id="plentry.shadow" x="0" y="13" default="2/15" w="100" color="notifier.bright.upper" font="Arial" fontsize="12" bold="1" ghost="1" alpha="128"/>
+ <text id="plentry" x="0" y="12" default="2/15" w="100" color="notifier.dark.upper" font="Arial" fontsize="12" bold="1" ghost="1"/>
+
+ <text id="nexttrack.shadow" x="-102" y="13" w="102" relatw="1" align="right" default="Next track" color="notifier.bright.upper" font="Arial" fontsize="12" bold="1" ghost="1" alpha="128"/>
+ <text id="nexttrack" x="-102" y="12" w="102" relatw="1" align="right" default="Next track" color="notifier.dark.upper" font="Arial" fontsize="12" bold="1" ghost="1"/>
+
+ <text id="title.shadow" x="0" y="28" w="0" relatw="1" default="Nothing" color="notifier.dark" font="Arial" fontsize="17" ghost="1" alpha="128" bold="1" translate="0"/>
+ <text id="title" x="0" y="27" w="0" relatw="1" default="Nothing" color="notifier.bright" font="Arial" fontsize="17" ghost="1" bold="1" translate="0"/>
+
+ <text id="artist.shadow" x="0" y="42" w="0" h="18" relatw="1" default="Nithin Sawhney" color="notifier.dark" font="Arial" fontsize="13" ghost="1" alpha="128" translate="0"/>
+ <text id="artist" x="0" y="41" w="0" h="18" relatw="1" default="Nithin Sawhney" color="notifier.bright" font="Arial" fontsize="13" ghost="1" alpha="235" translate="0"/>
+
+ <text id="album.shadow" x="0" y="55" w="0" h="14" relatw="1" default="Prophesy" color="notifier.dark" font="Arial" fontsize="13" ghost="1" alpha="128" translate="0"/>
+ <text id="album" x="0" y="54" w="0" h="14" relatw="1" default="Prophesy" color="notifier.bright" font="Arial" fontsize="13" ghost="1" alpha="235" translate="0"/>
+
+</groupdef>
+
+
+<layout id="normal" noparent="1" ontop="1" h="80" w="128" forcealpha="1" noactivation="1" nodock="1" move="0">
+
+ <grid left="notifier.bg.left" middle="notifier.bg.center" right="notifier.bg.right" fitparent="1" sysregion="1" ghost="1" rectrgn="0" move="0"/>
+ <group id="notifier.text" x="75" y="0" h="80" w="-95" relatw="1" move="0"/>
+ <group id="notifier.albumart" x="0" y="0" h="80" w="80" relatw="1" move="0" visible="0"/>
+
+ <text id="endofplayback.shadow" x="15" y="32" w="-35" relatw="1" align="center" default="End of playback" color="notifier.dark" font="Arial" fontsize="20" visible="0" ghost="1"/>
+ <text id="endofplayback" x="15" y="31" w="-35" relatw="1" align="center" default="End of playback" color="notifier.bright" font="Arial" fontsize="20" visible="0" ghost="1"/>
+
+</layout>
+
+<layout id="desktopalpha" noparent="1" ontop="1" h="80" w="128" desktopalpha="1" noactivation="1" nodock="1" move="0">
+
+ <grid left="notifier.bg.left.da" middle="notifier.bg.center.da" right="notifier.bg.right.da" fitparent="1" ghost="1" move="0"/>
+ <group id="notifier.text" x="75" y="0" h="80" w="-95" relatw="1" move="0"/>
+ <group id="notifier.albumart" x="0" y="0" h="80" w="80" relatw="1" move="0" visible="0"/>
+
+ <text id="endofplayback.shadow" x="15" y="32" w="-35" relatw="1" align="center" default="End of playback" color="notifier.dark" font="Arial" fontsize="20" visible="0" ghost="1"/>
+ <text id="endofplayback" x="15" y="31" w="-35" relatw="1" align="center" default="End of playback" color="notifier.bright" font="Arial" fontsize="20" visible="0" ghost="1"/>
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/notifier.xml b/Src/resources/skins/Big Bento/xml/notifier.xml
new file mode 100644
index 00000000..47a002ff
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/notifier.xml
@@ -0,0 +1,10 @@
+<include file="notifier-elements.xml"/>
+<container id="notifier" name="Notifier" dynamic="1" default_visible="0" nomenu="1" nofocusapponclose="1">
+
+ <include file="notifier-normal.xml"/>
+
+</container>
+
+<!-- this script runs independent -->
+<script file="@SKINSPATH@\Big Bento\scripts\notifier.maki"/>
+<!--script file="scripts\notifier.maki"/--> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player-elements.xml b/Src/resources/skins/Big Bento/xml/player-elements.xml
new file mode 100644
index 00000000..f7806421
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player-elements.xml
@@ -0,0 +1,635 @@
+<elements>
+
+ <!-- SUI Playlist Search -->
+ <bitmap id="sui.pl.search.box.1" file="window/sui.png" x="180" y="39" w="6" h="1" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.2" file="window/sui.png" x="187" y="39" w="6" h="1" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.3" file="window/sui.png" x="194" y="39" w="6" h="1" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.4" file="window/sui.png" x="180" y="41" w="6" h="6" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.5" file="window/sui.png" x="187" y="41" w="6" h="6" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.6" file="window/sui.png" x="194" y="41" w="6" h="6" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.7" file="window/sui.png" x="180" y="48" w="6" h="24" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.8" file="window/sui.png" x="187" y="48" w="6" h="24" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.box.9" file="window/sui.png" x="194" y="48" w="6" h="24" gammagroup="WindowBackground"/>
+
+ <bitmap id="sui.pl.search.bg.1" file="window/sui.png" x="81" y="31" w="18" h="30" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.pl.search.bg.2" file="window/sui.png" x="100" y="31" w="20" h="30" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.pl.search.bg.3" file="window/sui.png" x="121" y="31" w="18" h="30" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="sui.pl.search.bgv.1" file="window/sui.png" x="0" y="31" w="30" h="30" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.pl.search.bgv.2" file="window/sui.png" x="31" y="31" w="20" h="30" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.pl.search.bgv.3" file="window/sui.png" x="50" y="31" w="30" h="30" gammagroup="ComponentFrame"/>
+
+ <bitmap id="sui.pl.search.go.bgv" file="window/sui.png" x="225" y="0" w="20" h="19" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.go.1" file="window/sui.png" x="225" y="20" w="20" h="19" gammagroup="PlayerButton"/>
+ <bitmap id="sui.pl.search.go.2" file="window/sui.png" x="225" y="40" w="20" h="19" gammagroup="PlayerButton"/>
+ <bitmap id="sui.pl.search.go.3" file="window/sui.png" x="225" y="60" w="20" h="19" gammagroup="PlayerButton"/>
+
+ <bitmap id="sui.pl.search.stop.bgv" file="window/sui.png" x="201" y="0" w="20" h="19" gammagroup="WindowBackground"/>
+ <bitmap id="sui.pl.search.stop.1" file="window/sui.png" x="201" y="20" w="20" h="19" gammagroup="Column"/>
+ <bitmap id="sui.pl.search.stop.2" file="window/sui.png" x="201" y="40" w="20" h="19" gammagroup="Column"/>
+ <bitmap id="sui.pl.search.stop.3" file="window/sui.png" x="201" y="60" w="20" h="19" gammagroup="Column"/>
+
+ <!-- TitleBar -->
+
+ <bitmap id="window.titlebar.grid.left" file="window/window.png" x="100" y="0" h="23" w="5" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.middle" file="window/window.png" x="105" y="0" h="23" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.right" file="window/window.png" x="115" y="0" h="23" w="5" gammagroup="Titlebar"/>
+
+ <bitmap id="window.titlebar.grid.over.left" file="window/window.png" x="120" y="0" h="23" w="5" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.over.middle" file="window/window.png" x="125" y="0" h="23" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.grid.over.right" file="window/window.png" x="135" y="0" h="23" w="5" gammagroup="Titlebar"/>
+
+ <bitmap id="window.titlebar.text.winamp" file="window/window.png" x="120" y="30" h="9" w="48" gammagroup="TitlebarText"/>
+
+ <bitmap id="window.titlebar.menu.normal" file="window/window.png" x="125" y="1" h="21" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.menu.hover" file="window/window.png" x="140" y="1" h="21" w="10" gammagroup="Titlebar"/>
+ <bitmap id="window.titlebar.menu.down" file="window/window.png" x="150" y="1" h="21" w="10" gammagroup="Titlebar"/>
+
+ <bitmap id="window.titlebar.menu.text.file" file="window/menu_file.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.play" file="window/menu_play.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.options" file="window/menu_options.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.view" file="window/menu_view.png" gammagroup="TitlebarMenuText"/>
+ <bitmap id="window.titlebar.menu.text.help" file="window/menu_help.png" gammagroup="TitlebarMenuText"/>
+
+ <bitmap id="window.titlebar.button.sysmenu.normal" file="window/window.png" x="0" y="0" h="13" w="15" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.sysmenu.hover" file="window/window.png" x="0" y="13" h="13" w="15" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.sysmenu.down" file="window/window.png" x="0" y="26" h="13" w="15" gammagroup="TitleButtonOrange"/>
+
+ <bitmap id="window.titlebar.button.minimize.normal" file="window/window.png" x="15" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.minimize.hover" file="window/window.png" x="15" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.minimize.down" file="window/window.png" x="15" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.maximize.normal" file="window/window.png" x="32" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.maximize.hover" file="window/window.png" x="32" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.maximize.down" file="window/window.png" x="32" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.restore.normal" file="window/window.png" x="49" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.restore.hover" file="window/window.png" x="49" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.restore.down" file="window/window.png" x="49" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.shade.normal" file="window/window.png" x="66" y="0" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.shade.hover" file="window/window.png" x="66" y="13" h="13" w="17" gammagroup="TitleButtonGrey"/>
+ <bitmap id="window.titlebar.button.shade.down" file="window/window.png" x="66" y="26" h="13" w="17" gammagroup="TitleButtonGrey"/>
+
+ <bitmap id="window.titlebar.button.close.normal" file="window/window.png" x="83" y="0" h="13" w="17" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.close.hover" file="window/window.png" x="83" y="13" h="13" w="17" gammagroup="TitleButtonOrange"/>
+ <bitmap id="window.titlebar.button.close.down" file="window/window.png" x="83" y="26" h="13" w="17" gammagroup="TitleButtonOrange"/>
+
+ <!-- Window Elements -->
+
+ <bitmap id="window.background.maximized" file="$solid" h="64" w="64" color="0,0,0" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.gradient" file="window/window-gradient.png" gammagroup="WindowBackgroundGradient"/>
+
+ <bitmap id="window.background.topleft" file="window/window.png" x="100" y="23" h="5" w="5" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.top" file="window/window.png" x="105" y="23" h="5" w="10" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.topright" file="window/window.png" x="115" y="23" h="5" w="5" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.left" file="window/window.png" x="100" y="28" h="6" w="5" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.center" file="window/window.png" x="105" y="28" h="6" w="10" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.right" file="window/window.png" x="115" y="28" h="6" w="5" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.bottomleft" file="window/window.png" x="100" y="34" h="5" w="5" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.bottom" file="window/window.png" x="105" y="34" h="5" w="10" gammagroup="WindowBackground"/>
+ <bitmap id="window.background.bottomright" file="window/window.png" x="115" y="34" h="5" w="5" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.resizer" file="window/window.png" x="168" y="29" h="10" w="19" gammagroup="WindowBackground"/>
+
+ <bitmap id="window.background.region" file="$solid" h="1" w="1" color="0,0,0"/>
+
+ <bitmap id="window.button.collapse.normal" file="window/window.png" x="0" y="49" h="15" w="44" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.collapse.hover" file="window/window.png" x="44" y="49" h="15" w="44" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.collapse.down" file="window/window.png" x="88" y="49" h="15" w="44" gammagroup="PlayerButton"/>
+
+ <bitmap id="window.button.expand.normal" file="window/window.png" x="0" y="64" h="15" w="44" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.expand.hover" file="window/window.png" x="44" y="64" h="15" w="44" gammagroup="PlayerButton"/>
+ <bitmap id="window.button.expand.down" file="window/window.png" x="88" y="64" h="15" w="44" gammagroup="PlayerButton"/>
+
+ <bitmap id="window.background.collapse" file="window/window.png" x="132" y="49" h="15" w="44" gammagroup="WindowBackground"/>
+
+
+ <!-- Player -->
+
+ <bitmap id="player.display.background.left" file="window/player.png" x="0" y="0" h="69" w="60" gammagroup="PlayerDisplay"/>
+ <bitmap id="player.display.foreground.left" file="window/player.png" x="0" y="69" h="69" w="60" gammagroup="WindowBackground"/>
+ <bitmap id="player.display.background.center" file="window/player.png" x="60" y="0" h="69" w="40" gammagroup="PlayerDisplay"/>
+ <bitmap id="player.display.foreground.center" file="window/player.png" x="60" y="69" h="69" w="40" gammagroup="WindowBackground"/>
+ <bitmap id="player.display.background.right" file="window/player.png" x="120" y="0" h="69" w="166" gammagroup="PlayerDisplay"/>
+ <bitmap id="player.display.foreground.right" file="window/player.png" x="120" y="69" h="69" w="166" gammagroup="WindowBackground"/>
+
+ <bitmap id="player.songinfo.bitrate" file="window/songinfo.png" x="0" y="15" h="5" w="14" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.frequency" file="window/songinfo.png" x="15" y="15" h="5" w="11" gammagroup="DisplayText"/>
+
+ <bitmap id="player.songinfo.mono" file="window/songinfo.png" x="0" y="21" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.stereo" file="window/songinfo.png" x="0" y="27" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.multi" file="window/songinfo.png" x="0" y="33" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.multi2" file="window/songinfo.png" x="41" y="33" h="5" w="40" gammagroup="DisplayText"/>
+ <bitmap id="player.songinfo.na" file="window/songinfo.png" x="0" y="0" h="5" w="40" gammagroup="DisplayText"/>
+
+ <bitmap id="empty" file="$polygon" x="0" y="0" h="48" w="8" gammagroup="none"/>
+
+ <bitmap id="player.beatvis.left" file="window/beatvis.png" x="0" y="0" w="43" h="280" gammagroup="DisplayText"/>
+ <bitmap id="player.beatvis.right" file="window/beatvis.png" x="43" y="0" w="43" h="280" gammagroup="DisplayText"/>
+
+ <bitmap id="player.beatvis.left.wo" file="window/beatvis.png" x="86" y="0" w="43" h="280" gammagroup="DisplayText"/>
+ <bitmap id="player.beatvis.right.wo" file="window/beatvis.png" x="129" y="0" w="43" h="280" gammagroup="DisplayText"/>
+
+ <bitmap id="player.bitmapfont.songinfo.source" file="window/songinfo.png" x="0" y="0" h="15" w="110" gammagroup="DisplayText"/>
+ <bitmapfont id="player.bitmapfont.songinfo" file="player.bitmapfont.songinfo.source" charwidth="5" charheight="5" hspacing="0" vspacing="0" />
+
+ <bitmap id="player.bitmapfont.nums.source" file="window/numfont.png" x="0" y="0" h="93" w="240" gammagroup="DisplayText"/>
+ <bitmapfont id="player.bitmapfont.nums" file="player.bitmapfont.nums.source" charwidth="15" charheight="31" hspacing="0" vspacing="-2"/>
+
+ <bitmap id="player.bitmapfont.nums.noreflect.source" file="window/numfont.png" x="0" y="93" h="93" w="240" gammagroup="DisplayText"/>
+ <bitmapfont id="player.bitmapfont.nums.noreflect" file="player.bitmapfont.nums.noreflect.source" charwidth="15" charheight="31" hspacing="0" vspacing="-2"/>
+
+ <bitmap id="player.display.status.playing" file="window/songinfo.png" x="0" y="39" h="6" w="5" gammagroup="DisplayText"/>
+ <bitmap id="player.display.status.paused" file="window/songinfo.png" x="6" y="39" h="6" w="5" gammagroup="DisplayText"/>
+ <bitmap id="player.display.status.stopped" file="window/songinfo.png" x="12" y="39" h="6" w="5" gammagroup="DisplayText"/>
+
+ <bitmap id="player.button.mute.normal" file="window/player.png" x="33" y="151" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.mute.hover" file="window/player.png" x="66" y="151" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.mute.down" file="window/player.png" x="99" y="151" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.demute.normal" file="window/player.png" x="132" y="151" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.demute.hover" file="window/player.png" x="165" y="151" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.demute.down" file="window/player.png" x="198" y="151" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.mute.placeholder" file="window/player.png" x="0" y="151" h="18" w="33" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.mute.glow" file="window/player.png" x="231" y="150" h="20" w="33" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.mute.active" file="window/player.png" x="132" y="351" h="30" w="30" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="player.slider.background.left" file="window/player.png" x="0" y="138" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="player.slider.background.center" file="window/player.png" x="5" y="138" h="5" w="15" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="player.slider.background.right" file="window/player.png" x="20" y="138" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+
+ <bitmap id="player.slider.light.left" file="window/player.png" x="0" y="143" h="2" w="4" gammagroup="PlayerSliderLight"/>
+ <bitmap id="player.slider.light.center" file="window/player.png" x="4" y="143" h="2" w="8" gammagroup="PlayerSliderLight"/>
+ <bitmap id="player.slider.light.right" file="window/player.png" x="12" y="143" h="2" w="4" gammagroup="PlayerSliderLight"/>
+
+ <bitmap id="player.label.volume" file="window/player.png" x="25" y="138" h="8" w="91" gammagroup="WindowText"/>
+
+ <bitmap id="player.volume.thumb.normal" file="window/player.png" x="116" y="138" h="12" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.volume.thumb.hover" file="window/player.png" x="138" y="138" h="12" w="22" gammagroup="PlayerButton"/>
+ <bitmap id="player.volume.thumb.down" file="window/player.png" x="160" y="138" h="12" w="22" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.posbar.thumb.normal" file="window/player.png" x="182" y="138" h="12" w="40" gammagroup="PlayerButton"/>
+ <bitmap id="player.posbar.thumb.hover" file="window/player.png" x="222" y="138" h="12" w="40" gammagroup="PlayerButton"/>
+ <bitmap id="player.posbar.thumb.down" file="window/player.png" x="182" y="138" h="12" w="40" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.previous.placeholder" file="window/player.png" x="0" y="259" h="26" w="138" gammagroup="PlayerButtonPlaceHolder"/>
+
+ <bitmap id="player.button.previous.normal" file="window/player.png" x="0" y="285" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.play.normal" file="window/player.png" x="27" y="285" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.pause.normal" file="window/player.png" x="54" y="285" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.stop.normal" file="window/player.png" x="81" y="285" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.next.normal" file="window/player.png" x="108" y="285" h="22" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.previous.hover" file="window/player.png" x="0" y="307" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.play.hover" file="window/player.png" x="27" y="307" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.pause.hover" file="window/player.png" x="54" y="307" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.stop.hover" file="window/player.png" x="81" y="307" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.next.hover" file="window/player.png" x="108" y="307" h="22" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.previous.glow" file="window/player.png" x="0" y="230" h="29" w="32" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.pps.glow" file="window/player.png" x="32" y="230" h="29" w="29" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.next.glow" file="window/player.png" x="123" y="230" h="29" w="32" gammagroup="PlayerButtonGlow"/>
+
+ <bitmap id="player.button.previous.down" file="window/player.png" x="0" y="329" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.play.down" file="window/player.png" x="27" y="329" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.pause.down" file="window/player.png" x="54" y="329" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.stop.down" file="window/player.png" x="81" y="329" h="22" w="26" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.next.down" file="window/player.png" x="108" y="329" h="22" w="26" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.eject.normal" file="window/player.png" x="33" y="171" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.eject.hover" file="window/player.png" x="66" y="171" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.eject.down" file="window/player.png" x="99" y="171" h="18" w="33" gammagroup="PlayerButton"/>
+
+ <bitmap id="player.button.shuffle.placeholder" file="window/player.png" x="0" y="191" h="18" w="71" gammagroup="PlayerButtonPlaceHolder"/>
+ <bitmap id="player.button.shuffle.normal0" file="window/player.png" x="71" y="191" h="18" w="39" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.hover0" file="window/player.png" x="143" y="191" h="18" w="39" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.down0" file="window/player.png" x="215" y="191" h="18" w="39" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.normal1" file="window/player.png" x="71" y="191" h="18" w="39" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.hover1" file="window/player.png" x="143" y="191" h="18" w="39" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.down1" file="window/player.png" x="215" y="191" h="18" w="39" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.shuffle.glow" file="window/player.png" x="0" y="210" h="20" w="39" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.shuffle.active0" file="$polygon" h="31" w="34" />
+ <bitmap id="player.button.shuffle.active1" file="window/player.png" x="28" y="351" h="31" w="34" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="player.button.repeat.normal0" file="window/player.png" x="110" y="211" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.hover0" file="window/player.png" x="182" y="211" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.down0" file="window/player.png" x="254" y="211" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.normal1" file="window/player.png" x="110" y="211" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.hover1" file="window/player.png" x="182" y="211" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.down1" file="window/player.png" x="254" y="211" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.normal2" file="window/player.png" x="110" y="191" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.hover2" file="window/player.png" x="182" y="191" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.down2" file="window/player.png" x="254" y="191" h="18" w="33" gammagroup="PlayerButton"/>
+ <bitmap id="player.button.repeat.glow" file="window/player.png" x="39" y="210" h="20" w="33" gammagroup="PlayerButtonGlow"/>
+ <bitmap id="player.button.repeat.active0" file="$polygon" h="30" w="35" />
+ <bitmap id="player.button.repeat.active1" file="window/player.png" x="62" y="351" h="30" w="35" gammagroup="PlayerButtonActive"/>
+ <bitmap id="player.button.repeat.active2" file="window/player.png" x="97" y="351" h="30" w="35" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="player.button.bolt.glow" file="window/player.png" x="160" y="264" h="44" w="51" gammagroup="LightningBolt"/>
+ <bitmap id="player.button.bolt.normal" file="window/player.png" x="221" y="234" h="37" w="51" gammagroup="LightningBolt"/>
+ <bitmap id="player.button.bolt.hover" file="window/player.png" x="221" y="271" h="37" w="51" gammagroup="LightningBolt"/>
+ <bitmap id="player.button.bolt.down" file="window/player.png" x="221" y="308" h="37" w="51" gammagroup="LightningBolt"/>
+
+
+ <!-- SUI Background -->
+
+ <bitmap id="sui.background.topleft" file="window/window.png" x="160" y="0" h="5" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.top" file="window/window.png" x="165" y="0" h="5" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.topright" file="window/window.png" x="175" y="0" h="5" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.left" file="window/window.png" x="160" y="5" h="10" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.center" file="window/window.png" x="165" y="5" h="10" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.right" file="window/window.png" x="175" y="5" h="10" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.bottomleft" file="window/window.png" x="160" y="15" h="5" w="5" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.bottom" file="window/window.png" x="165" y="15" h="5" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="sui.background.bottomright" file="window/window.png" x="175" y="15" h="5" w="5" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="sui.component.topleft" file="window/window.png" x="200" y="0" h="5" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.top" file="window/window.png" x="205" y="0" h="5" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.top2" file="window/window.png" x="205" y="0" h="1" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.topright" file="window/window.png" x="215" y="0" h="5" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.left" file="window/window.png" x="200" y="5" h="10" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.center" file="window/window.png" x="205" y="5" h="10" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.right" file="window/window.png" x="215" y="5" h="10" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottomleft" file="window/window.png" x="200" y="15" h="5" w="5" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottom" file="window/window.png" x="205" y="15" h="5" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottom2" file="window/window.png" x="205" y="19" h="1" w="10" gammagroup="ComponentFrame"/>
+ <bitmap id="sui.component.bottomright" file="window/window.png" x="215" y="15" h="5" w="5" gammagroup="ComponentFrame"/>
+
+ <!-- SUI Component Buttons -->
+
+ <bitmap id="sui.button.active.normal.left" file="window/window.png" x="176" y="49" h="22" w="6" gammagroup="CompButtonActive" />
+ <bitmap id="sui.button.active.normal.center" file="window/window.png" x="182" y="49" h="22" w="10" gammagroup="CompButtonActive" />
+ <bitmap id="sui.button.active.normal.right" file="window/window.png" x="192" y="49" h="22" w="6" gammagroup="CompButtonActive" />
+
+ <bitmap id="sui.button.active.footer.left" file="window/window.png" x="176" y="71" h="1" w="6" gammagroup="ComponentFrame" />
+ <bitmap id="sui.button.active.footer.center" file="window/window.png" x="182" y="71" h="1" w="10" gammagroup="ComponentFrame" />
+ <bitmap id="sui.button.active.footer.right" file="window/window.png" x="192" y="71" h="1" w="6" gammagroup="ComponentFrame" />
+
+ <bitmap id="sui.button.inactive.normal.left" file="window/window.png" x="198" y="49" h="22" w="6" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.normal.center" file="window/window.png" x="204" y="49" h="22" w="10" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.normal.right" file="window/window.png" x="214" y="49" h="22" w="6" gammagroup="CompButtonInactive" />
+
+ <bitmap id="sui.button.inactive.hover.left" file="window/window.png" x="220" y="49" h="22" w="6" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.hover.center" file="window/window.png" x="226" y="49" h="22" w="10" gammagroup="CompButtonInactive" />
+ <bitmap id="sui.button.inactive.hover.right" file="window/window.png" x="236" y="49" h="22" w="6" gammagroup="CompButtonInactive" />
+
+ <!-- Info Component -->
+
+ <bitmap id="infocomp.background.topleft" file="window/window.png" x="180" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.top" file="window/window.png" x="187" y="0" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.topright" file="window/window.png" x="193" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.left" file="window/window.png" x="180" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.center" file="window/window.png" x="187" y="7" h="6" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.right" file="window/window.png" x="193" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.bottomleft" file="window/window.png" x="180" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.bottom" file="window/window.png" x="187" y="13" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="infocomp.background.bottomright" file="window/window.png" x="193" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="infocomp.background.buttons.left.over" file="window/window.png" x="0" y="79" h="17" w="130" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="infocomp.button.more.normal" file="window/componentcontrols.png" x="0" y="119" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.more.hover" file="window/componentcontrols.png" x="32" y="119" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.more.down" file="window/componentcontrols.png" x="64" y="119" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.blank.normal" file="window/componentcontrols.png" x="0" y="272" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.blank.hover" file="window/componentcontrols.png" x="32" y="272" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.blank.down" file="window/componentcontrols.png" x="64" y="272" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.icon.search" file="window/componentcontrols.png" x="32" y="289" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.icon.nowplaying" file="window/componentcontrols.png" x="64" y="289" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.toggle.normal" file="window/componentcontrols.png" x="0" y="102" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.toggle.hover" file="window/componentcontrols.png" x="32" y="102" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.toggle.down" file="window/componentcontrols.png" x="64" y="102" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.vis.cfg.normal" file="window/componentcontrols.png" x="0" y="136" h="17" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg.hover" file="window/componentcontrols.png" x="32" y="136" h="17" w="31" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg.down" file="window/componentcontrols.png" x="64" y="136" h="17" w="31" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.button.vis.rnd.normal" file="window/componentcontrols.png" x="0" y="204" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.rnd.hover" file="window/componentcontrols.png" x="32" y="204" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.rnd.down" file="window/componentcontrols.png" x="64" y="204" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.rnd.active" file="window/componentcontrols.png" x="96" y="0" h="25" w="41" gammagroup="PlayerButtonGlow"/>
+
+ <bitmap id="infocomp.button.vis.cfg2.normal" file="window/componentcontrols.png" x="0" y="153" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg2.hover" file="window/componentcontrols.png" x="32" y="153" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="infocomp.button.vis.cfg2.down" file="window/componentcontrols.png" x="64" y="153" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="infocomp.rating.empty" file="window/rating.png" x="22" y="0" h="12" w="11" gammagroup="DisplayText"/>
+ <bitmap id="infocomp.rating.hover" file="window/rating.png" x="11" y="0" h="12" w="11" gammagroup="DisplayText"/>
+ <bitmap id="infocomp.rating.star" file="window/rating.png" x="0" y="0" h="12" w="11" gammagroup="DisplayText"/>
+
+ <bitmap id="infocomp.branding" file="window/branding.png" x="0" y="0" h="53" w="129"/>
+
+ <bitmap id="winamp.cover.notfound" file="xml/winamp/cover/notfound.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.60" file="xml/winamp/cover/notfound60.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.90" file="xml/winamp/cover/notfound90.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.84x84" file="window/no_alb_art_big.png" x="0" y="0" h="111" w="111" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.50" file="window/notfound.png" x="0" y="158" h="50" w="50" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.70" file="window/notfound.png" x="0" y="84" h="70" w="70" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.notfound.xxl" file="window/notfoundXXL.png" gammagroup="DisplayText"/>
+ <bitmap id="winamp.cover.shoutcast" file="window/sc_alb_art.jpg" x="0" y="0" h="111" w="111" />
+
+ <bitmap id="coverflow.button.play.normal" file="window/compcontrols.png" x="256" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="coverflow.button.play.hover" file="window/compcontrols.png" x="256" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="coverflow.button.play.down" file="window/compcontrols.png" x="256" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <!-- Playlist Editor -->
+
+ <bitmap id="pledit.background.topleft" file="window/window.png" x="220" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.top" file="window/window.png" x="227" y="0" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.topright" file="window/window.png" x="233" y="0" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.left" file="window/window.png" x="220" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.center" file="window/window.png" x="227" y="7" h="6" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.right" file="window/window.png" x="233" y="7" h="6" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.bottomleft" file="window/window.png" x="220" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.bottom" file="window/window.png" x="227" y="13" h="7" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="pledit.background.bottomright" file="window/window.png" x="233" y="13" h="7" w="7" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="pledit.background.buttons.center" file="window/window.png" x="221" y="20" h="17" w="11" gammagroup="PlayerDisplayGradient"/>
+ <bitmap id="pledit.background.buttons.right" file="window/window.png" x="232" y="20" h="17" w="7" gammagroup="PlayerDisplayGradient"/>
+
+ <bitmap id="pledit.button.toggle.normal" file="window/componentcontrols.png" x="0" y="0" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.toggle.hover" file="window/componentcontrols.png" x="32" y="0" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.toggle.down" file="window/componentcontrols.png" x="64" y="0" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.manage.normal" file="window/componentcontrols.png" x="0" y="17" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.manage.hover" file="window/componentcontrols.png" x="32" y="17" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.manage.down" file="window/componentcontrols.png" x="64" y="17" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.misc.normal" file="window/componentcontrols.png" x="0" y="34" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.misc.hover" file="window/componentcontrols.png" x="32" y="34" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.misc.down" file="window/componentcontrols.png" x="64" y="34" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.sel.normal" file="window/componentcontrols.png" x="0" y="51" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.sel.hover" file="window/componentcontrols.png" x="32" y="51" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.sel.down" file="window/componentcontrols.png" x="64" y="51" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.rem.normal" file="window/componentcontrols.png" x="0" y="68" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.rem.hover" file="window/componentcontrols.png" x="32" y="68" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.rem.down" file="window/componentcontrols.png" x="64" y="68" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="pledit.button.add.normal" file="window/componentcontrols.png" x="0" y="85" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.add.hover" file="window/componentcontrols.png" x="32" y="85" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.button.add.down" file="window/componentcontrols.png" x="64" y="85" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <!-- Playlist Editor Tab -->
+
+ <bitmap id="pledit.tab.button.add" file="window/pl_btn_icons.png" x="0" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.rem" file="window/pl_btn_icons.png" x="25" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.sel" file="window/pl_btn_icons.png" x="50" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.misc" file="window/pl_btn_icons.png" x="75" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.manage" file="window/pl_btn_icons.png" x="100" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+ <bitmap id="pledit.tab.button.up" file="window/pl_btn_icons.png" x="125" y="0" h="21" w="24" gammagroup="PlayerButton"/>
+
+ <!-- Video -->
+
+ <bitmap id="video.button.fullscreen.normal" file="window/compcontrols.png" x="0" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.fullscreen.hover" file="window/compcontrols.png" x="0" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.fullscreen.down" file="window/compcontrols.png" x="0" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.1x.normal" file="window/compcontrols.png" x="24" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.1x.hover" file="window/compcontrols.png" x="24" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.1x.down" file="window/compcontrols.png" x="24" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.2x.normal" file="window/compcontrols.png" x="48" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.2x.hover" file="window/compcontrols.png" x="48" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.2x.down" file="window/compcontrols.png" x="48" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <!--<bitmap id="video.button.itv.normal" file="window/compcontrols.png" x="72" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.itv.hover" file="window/compcontrols.png" x="72" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.itv.down" file="window/compcontrols.png" x="72" y="42" h="21" w="24" gammagroup="WindowText"/>-->
+
+ <bitmap id="video.button.cfg.normal" file="window/compcontrols.png" x="96" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.cfg.hover" file="window/compcontrols.png" x="96" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.cfg.down" file="window/compcontrols.png" x="96" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.pin.normal1" file="window/compcontrols.png" x="208" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.hover1" file="window/compcontrols.png" x="208" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.down1" file="window/compcontrols.png" x="208" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <bitmap id="video.button.pin.normal0" file="window/compcontrols.png" x="232" y="0" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.hover0" file="window/compcontrols.png" x="232" y="21" h="21" w="24" gammagroup="WindowText"/>
+ <bitmap id="video.button.pin.down0" file="window/compcontrols.png" x="232" y="42" h="21" w="24" gammagroup="WindowText"/>
+
+ <!-- Visualizer -->
+
+ <bitmap id="vis.button.prev.normal" file="window/compcontrols.png" x="120" y="0" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.prev.hover" file="window/compcontrols.png" x="120" y="21" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.prev.down" file="window/compcontrols.png" x="120" y="42" h="21" w="21" gammagroup="WindowText"/>
+
+ <bitmap id="vis.button.next.normal" file="window/compcontrols.png" x="141" y="0" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.next.hover" file="window/compcontrols.png" x="141" y="21" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.next.down" file="window/compcontrols.png" x="141" y="42" h="21" w="21" gammagroup="WindowText"/>
+
+ <bitmap id="vis.button.random.normal" file="window/compcontrols.png" x="162" y="0" h="21" w="25" gammagroup="WindowText"/>
+ <bitmap id="vis.button.random.hover" file="window/compcontrols.png" x="162" y="21" h="21" w="25" gammagroup="WindowText"/>
+ <bitmap id="vis.button.random.down" file="window/compcontrols.png" x="162" y="42" h="21" w="25" gammagroup="WindowText"/>
+ <bitmap id="vis.button.random.active" file="window/compcontrols.png" x="162" y="63" h="21" w="25" gammagroup="PlayerButtonActive"/>
+
+ <bitmap id="vis.button.presets.normal" file="window/compcontrols.png" x="187" y="0" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.presets.hover" file="window/compcontrols.png" x="187" y="21" h="21" w="21" gammagroup="WindowText"/>
+ <bitmap id="vis.button.presets.down" file="window/compcontrols.png" x="187" y="42" h="21" w="21" gammagroup="WindowText"/>
+
+
+ <!-- Equalizer -->
+
+ <bitmap id="equalizer.background" file="window/equalizer.png" x="0" y="0" h="92" w="188" gammagroup="WindowText" />
+ <bitmap id="equalizer.labels.winamp" file="window/equalizer.png" x="0" y="195" h="5" w="188" gammagroup="WindowText" />
+ <bitmap id="equalizer.labels.iso" file="window/equalizer.png" x="0" y="189" h="5" w="188" gammagroup="WindowText" />
+ <bitmap id="equalizer.button.xfade.normal" file="window/equalizer.png" x="0" y="92" h="12" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.xfade.hover" file="window/equalizer.png" x="0" y="104" h="12" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.xfade.down" file="window/equalizer.png" x="0" y="116" h="12" w="25" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.xfade.active" file="window/equalizer.png" x="51" y="105" h="23" w="33" gammagroup="PlayerButtonActive" />
+
+ <bitmap id="equalizer.button.decrease.normal" file="window/equalizer.png" x="25" y="92" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.decrease.hover" file="window/equalizer.png" x="25" y="104" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.decrease.down" file="window/equalizer.png" x="25" y="116" h="12" w="13" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.button.increase.normal" file="window/equalizer.png" x="38" y="92" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.increase.hover" file="window/equalizer.png" x="38" y="104" h="12" w="13" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.increase.down" file="window/equalizer.png" x="38" y="116" h="12" w="13" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.xfade.display" file="window/equalizer.png" x="51" y="92" h="12" w="19" gammagroup="PlayerDisplay" />
+
+ <bitmap id="equalizer.button.eqon.normal" file="window/equalizer.png" x="168" y="106" h="17" w="31" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.eqon.hover" file="window/equalizer.png" x="168" y="123" h="17" w="31" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.eqon.down" file="window/equalizer.png" x="168" y="140" h="17" w="31" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.eqon.active" file="window/equalizer.png" x="104" y="166" h="23" w="33" gammagroup="PlayerButtonActive" />
+
+ <bitmap id="equalizer.button.auto.normal" file="window/equalizer.png" x="9" y="128" h="17" w="40" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.auto.hover" file="window/equalizer.png" x="9" y="145" h="17" w="40" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.auto.down" file="window/equalizer.png" x="9" y="162" h="17" w="40" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.auto.active" file="window/equalizer.png" x="137" y="166" h="23" w="44" gammagroup="PlayerButtonActive" />
+
+ <bitmap id="equalizer.button.presets.normal" file="window/equalizer.png" x="49" y="128" h="17" w="55" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.presets.hover" file="window/equalizer.png" x="49" y="145" h="17" w="55" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.button.presets.down" file="window/equalizer.png" x="49" y="162" h="17" w="57" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.slider.balance.background" file="window/equalizer.png" x="70" y="92" h="10" w="78" gammagroup="PlayerSliderBackground" />
+ <bitmap id="equalizer.slider.balance.normal" file="window/equalizer.png" x="148" y="92" h="10" w="17" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.balance.hover" file="window/equalizer.png" x="165" y="92" h="10" w="17" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.balance.down" file="window/equalizer.png" x="182" y="92" h="10" w="17" gammagroup="PlayerButton" />
+
+ <bitmap id="equalizer.slider.eqband.background" file="window/equalizer.png" x="104" y="102" h="55" w="11" gammagroup="PlayerSliderBackground" />
+ <bitmap id="equalizer.slider.eqband.normal" file="window/equalizer.png" x="115" y="102" h="19" w="11" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.eqband.hover" file="window/equalizer.png" x="115" y="121" h="19" w="11" gammagroup="PlayerButton" />
+ <bitmap id="equalizer.slider.eqband.down" file="window/equalizer.png" x="115" y="140" h="19" w="11" gammagroup="PlayerButton" />
+
+
+ <!-- Config -->
+
+ <bitmap id="config.button.text.windowsizing" file="window/config.png" x="0" y="0" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.visualization" file="window/config.png" x="72" y="0" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.songticker" file="window/config.png" x="0" y="14" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.colorthemes" file="window/config.png" x="0" y="28" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.notifier" file="window/config.png" x="0" y="42" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.appearance" file="window/config.png" x="0" y="56" h="14" w="72" gammagroup="DisplayText"/>
+ <bitmap id="config.button.text.playlist" file="window/config.png" x="72" y="14" h="14" w="72" gammagroup="DisplayText"/>
+
+ <bitmap id="config.button.selected" file="$solid" h="14" w="72" color="49,53,64" gammagroup="SelectionBg"/>
+ <bitmap id="config.button.hover" file="$solid" h="14" w="72" color="31,35,44" gammagroup="SelectionBg"/>
+
+ <bitmap id="config.vdivider" file="$solid" h="100" w="1" color="17,18,19" gammagroup="PlayerDisplayGradient"/>
+
+ <bitmap id="config.checkbox.active" file="window/config.png" x="158" y="84" h="12" w="12" gammagroup="DisplayText"/>
+ <bitmap id="config.checkbox.inactive" file="window/config.png" x="170" y="84" h="12" w="12" gammagroup="DisplayText"/>
+
+ <bitmap id="config.windowsizing.text" file="window/config.png" x="0" y="70" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.windowsizing.autoresize.hover" file="window/config.png" x="158" y="70" h="12" w="158" gammagroup="SelectionBg"/>
+ <bitmap id="config.windowsizing.titlebar.maximize.hover" file="window/config.png" x="158" y="70" h="12" w="54" gammagroup="SelectionBg"/>
+ <bitmap id="config.windowsizing.titlebar.shade.hover" file="window/config.png" x="158" y="70" h="12" w="89" gammagroup="SelectionBg"/>
+
+ <bitmap id="config.appearance.text" file="window/config.png" x="0" y="144" h="84" w="158" gammagroup="DisplayText"/>
+
+ <bitmap id="config.colorthemes.button.prev.normal" file="window/componentcontrols.png" x="0" y="170" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.prev.hover" file="window/componentcontrols.png" x="32" y="170" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.prev.down" file="window/componentcontrols.png" x="64" y="170" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.prev2.normal" file="window/componentcontrols.png" x="0" y="221" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.prev2.hover" file="window/componentcontrols.png" x="32" y="221" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.prev2.down" file="window/componentcontrols.png" x="64" y="221" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.next.normal" file="window/componentcontrols.png" x="0" y="187" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.next.hover" file="window/componentcontrols.png" x="32" y="187" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.next.down" file="window/componentcontrols.png" x="64" y="187" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.set.normal" file="window/componentcontrols.png" x="0" y="238" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.set.hover" file="window/componentcontrols.png" x="32" y="238" h="17" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.set.down" file="window/componentcontrols.png" x="64" y="238" h="17" w="32" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.colorthemes.button.more.normal" file="window/componentcontrols.png" x="0" y="255" h="17" w="54" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.more.hover" file="window/componentcontrols.png" x="54" y="255" h="17" w="54" gammagroup="PlayerButton"/>
+ <bitmap id="config.colorthemes.button.more.down" file="window/componentcontrols.png" x="108" y="255" h="17" w="54" gammagroup="PlayerButton"/>
+
+ <bitmap id="config.songticker.text" file="window/config.png" x="0" y="228" h="64" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.songticker.scroll.hover" file="window/config.png" x="158" y="70" h="12" w="144" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.text" file="window/config.png" x="158" y="144" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.show.text" file="window/config.png" x="158" y="218" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.location.text" file="window/config.png" x="158" y="292" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.animation.text" file="window/config.png" x="0" y="292" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.visualization.text" file="window/config.png" x="0" y="366" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.appearance.2.text" file="window/config.png" x="0" y="440" h="74" w="158" gammagroup="DisplayText"/>
+ <bitmap id="config.playlist.text" file="window/config.png" x="158" y="366" h="74" w="158" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.sub.hover" file="window/config.png" x="158" y="112" h="12" w="158" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.show.hover" file="window/config.png" x="158" y="70" h="12" w="139" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.location.top.hover" file="window/config.png" x="158" y="70" h="12" w="66" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.location.bottom.hover" file="window/config.png" x="158" y="70" h="12" w="81" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.location.relative.hover" file="window/config.png" x="158" y="70" h="12" w="106" gammagroup="SelectionBg"/>
+ <bitmap id="config.notifier.animation.hover" file="window/config.png" x="158" y="70" h="12" w="83" gammagroup="SelectionBg"/>
+
+ <bitmap id="config.bitmapfont.source" file="window/config.png" x="158" y="0" h="42" w="158" gammagroup="DisplayText"/>
+ <bitmapfont id="config.bitmapfont" file="config.bitmapfont.source" charwidth="7" charheight="14" hspacing="0" vspacing="0"/>
+
+ <bitmap id="config.button.left.normal" file="window/config.png" x="183" y="98" h="12" w="8" gammagroup="DisplayText"/>
+ <bitmap id="config.button.right.normal" file="window/config.png" x="191" y="98" h="12" w="8" gammagroup="DisplayText"/>
+
+ <bitmap id="config.button.left.hover" file="window/config.png" x="199" y="98" h="12" w="8" gammagroup="DisplayText"/>
+ <bitmap id="config.button.right.hover" file="window/config.png" x="207" y="98" h="12" w="8" gammagroup="DisplayText"/>
+
+ <bitmap id="config.button.left.down" file="window/config.png" x="215" y="98" h="12" w="8" gammagroup="DisplayText"/>
+ <bitmap id="config.button.right.down" file="window/config.png" x="223" y="98" h="12" w="8" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.always" file="window/config.png" x="171" y="218" h="12" w="48" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.shade_minimized" file="window/config.png" x="158" y="28" h="12" w="80" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.minimized" file="window/config.png" x="196" y="28" h="12" w="42" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.never" file="window/config.png" x="171" y="260" h="12" w="58" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.topleft" file="window/config.png" x="171" y="292" h="12" w="50" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.topcenter" file="window/config.png" x="171" y="306" h="12" w="50" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.topright" file="window/config.png" x="171" y="320" h="12" w="50" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.bottomleft" file="window/config.png" x="248" y="292" h="12" w="65" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.bottomcenter" file="window/config.png" x="248" y="306" h="12" w="65" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.bottomright" file="window/config.png" x="248" y="320" h="12" w="65" gammagroup="DisplayText"/>
+
+ <bitmap id="config.notifier.text.alphafade" file="window/config.png" x="13" y="292" h="12" w="68" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.vslide" file="window/config.png" x="158" y="56" h="12" w="68" gammagroup="DisplayText"/>
+ <bitmap id="config.notifier.text.hslide" file="window/config.png" x="158" y="42" h="12" w="68" gammagroup="DisplayText"/>
+
+ <bitmap id="config.background.over" file="window/songinfo-gradient.png" x="0" y="13" h="13" w="74" gammagroup="PlayerDisplay"/>
+
+
+ <!-- Shade -->
+
+ <bitmap id="shade.resizer.right" file="window/shade.png" x="0" y="48" h="18" w="5" gammagroup="Titlebar"/>
+
+ <bitmap id="shade.button.previous.normal" file="window/shade.png" x="0" y="0" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.play.normal" file="window/shade.png" x="14" y="0" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.pause.normal" file="window/shade.png" x="26" y="0" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.stop.normal" file="window/shade.png" x="38" y="0" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.next.normal" file="window/shade.png" x="52" y="0" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.eject.normal" file="window/shade.png" x="66" y="0" h="16" w="15" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.button.previous.hover" file="window/shade.png" x="0" y="16" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.play.hover" file="window/shade.png" x="14" y="16" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.pause.hover" file="window/shade.png" x="26" y="16" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.stop.hover" file="window/shade.png" x="38" y="16" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.next.hover" file="window/shade.png" x="52" y="16" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.eject.hover" file="window/shade.png" x="66" y="16" h="16" w="15" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.button.previous.down" file="window/shade.png" x="0" y="32" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.play.down" file="window/shade.png" x="14" y="32" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.pause.down" file="window/shade.png" x="26" y="32" h="16" w="12" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.stop.down" file="window/shade.png" x="38" y="32" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.next.down" file="window/shade.png" x="52" y="32" h="16" w="14" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.eject.down" file="window/shade.png" x="66" y="32" h="16" w="15" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.button.mute.normal" file="window/shade.png" x="81" y="0" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.mute.hover" file="window/shade.png" x="81" y="16" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.mute.down" file="window/shade.png" x="81" y="32" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.demute.normal" file="window/shade.png" x="96" y="0" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.demute.hover" file="window/shade.png" x="96" y="16" h="16" w="16" gammagroup="ShadeButton"/>
+ <bitmap id="shade.button.demute.down" file="window/shade.png" x="96" y="32" h="16" w="16" gammagroup="ShadeButton"/>
+
+ <bitmap id="shade.display.left" file="window/shade.png" x="5" y="48" h="18" w="2" gammagroup="PlayerDisplay"/>
+ <bitmap id="shade.display.middle" file="window/shade.png" x="7" y="48" h="18" w="6" gammagroup="PlayerDisplay"/>
+ <bitmap id="shade.display.right" file="window/shade.png" x="13" y="48" h="18" w="2" gammagroup="PlayerDisplay"/>
+
+ <bitmap id="shade.label.volume" file="window/shade.png" x="15" y="48" h="4" w="35" gammagroup="WindowText"/>
+ <bitmap id="shade.track.volume" file="window/shade.png" x="50" y="48" h="5" w="40" gammagroup="WindowBackground"/>
+
+ <bitmap id="shade.track.seek.left" file="window/shade.png" x="50" y="48" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="shade.track.seek.middle" file="window/shade.png" x="55" y="48" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+ <bitmap id="shade.track.seek.right" file="window/shade.png" x="85" y="48" h="5" w="5" gammagroup="PlayerSliderBackground"/>
+
+ <bitmap id="shade.volume.thumb.normal" file="window/shade.png" x="15" y="53" h="10" w="10" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.volume.thumb.hover" file="window/shade.png" x="25" y="53" h="10" w="10" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.volume.thumb.down" file="window/shade.png" x="35" y="53" h="10" w="10" gammagroup="PlayerShadeSlider"/>
+
+ <bitmap id="shade.seek.thumb.normal" file="window/shade.png" x="45" y="53" h="10" w="16" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.seek.thumb.hover" file="window/shade.png" x="61" y="53" h="10" w="16" gammagroup="PlayerShadeSlider"/>
+ <bitmap id="shade.seek.thumb.down" file="window/shade.png" x="77" y="53" h="10" w="16" gammagroup="PlayerShadeSlider"/>
+
+ <bitmap id="shade.button.search.normal" file="window/shade.png" x="116" y="0" h="21" w="22" gammagroup="WindowBackground"/>
+ <bitmap id="shade.button.search.hover" file="window/shade.png" x="116" y="21" h="21" w="22" gammagroup="WindowBackground"/>
+ <bitmap id="shade.button.search.down" file="window/shade.png" x="116" y="42" h="21" w="22" gammagroup="WindowBackground"/>
+
+ <bitmap id="shade.button.icon.nowplaying" file="window/shade.png" x="138" y="21" h="21" w="32" gammagroup="PlayerButton"/>
+ <bitmap id="shade.button.icon.search" file="window/shade.png" x="138" y="42" h="21" w="32" gammagroup="PlayerButton"/>
+
+</elements> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player-normal-group.xml b/Src/resources/skins/Big Bento/xml/player-normal-group.xml
new file mode 100644
index 00000000..5af18c02
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player-normal-group.xml
@@ -0,0 +1,482 @@
+<!-- Player:Component:Player -->
+
+<groupdef id="player.display.beatvis.content">
+
+ <animatedlayer id="beatvisleft" x="0" y="0" h="28" w="43" image="player.beatvis.left" move="0" autoplay="0" autoreplay="0" ghost="1" />
+ <animatedlayer id="beatvisright" x="44" y="0" h="28" w="43" image="player.beatvis.right" move="0" autoplay="0" autoreplay="0" ghost="1" />
+
+ <togglebutton fitparent="1" rectrgn="1" cfgattrib="{F1036C9C-3919-47ac-8494-366778CF10F9};Enable Beat Visualization" tooltip="Toggle Beat Visualization"/>
+
+</groupdef>
+
+<groupdef id="player.display.beatvis">
+
+ <group id="player.display.beatvis.content" x="0" y="0" w="87" h="28" />
+
+ <script file="scripts/beatvisualization.maki"/>
+
+</groupdef>
+
+<groupdef id="player.display">
+
+ <grid x="0" y="0" h="69" w="0" relatw="1" left="player.display.background.left" middle="player.display.background.center" right="player.display.background.right" move="1"/>
+ <grid x="0" y="0" h="69" w="0" relatw="1" left="player.display.foreground.left" middle="player.display.foreground.center" right="player.display.foreground.right" move="1"/>
+
+ <status
+ id="status" w="5" h="6"
+ x="-156" y="26.9" relatx="1" move="1"
+ stopBitmap="player.display.status.stopped"
+ playBitmap="player.display.status.playing"
+ pauseBitmap="player.display.status.paused"
+ />
+
+ <text id="SongTime"
+ x="7" y="8" h="31" w="102"
+ font="player.bitmapfont.nums" timecolonwidth="6"
+ display="time" align="left" alpha="220"
+ />
+
+ <SongTicker id="Songticker"
+ x="70" y="6" h="20" w="-72" relatw="1"
+ showlen="1" rightpadding="-3"
+ rightclickaction="trackmenu" dblclickaction="trackinfo" align="right"
+ color="color.display" size="13" valign="top" antialias="0" fontsize="16"
+ />
+ <Text id="InfoDisplay"
+ x="70" y="6" h="20" w="-72" relatw="1" alpha="0"
+ display="SONGTITLE" showlen="1" offsetx="-3" align="right"
+ color="color.display" size="13" valign="top" antialias="0" ghost="1"
+ />
+
+ <script file="scripts/songticker.maki" param="-7,big"/>
+
+ <!-- Bitrate -->
+ <layer id="Bitrate.label" x="-119" relatx="1" y="26.9" image="player.songinfo.bitrate" move="1"/>
+ <text
+ id="Bitrate" move="1"
+ x="-151" y="26.9" w="30" h="5" relatx="1" fontsize="5" font="player.bitmapfont.songinfo" align="right"
+ />
+
+ <!-- Frequency -->
+ <layer id="Frequency.label" x="-78" y="26.9" relatx="1" image="player.songinfo.frequency" move="1"/>
+ <text
+ id="Frequency" move="1"
+ display="SONGSAMPLERATE" textrefreshrate="500"
+ x="-105" y="26.9" w="25" h="5" relatx="1" fontsize="5" font="player.bitmapfont.songinfo" align="right"
+ />
+
+ <layer id="monster" x="-52" y="26.9" h="5" w="40" relatx="1" image="player.songinfo.na" move="1" rectrgn="1" dblclickaction="WA5:Prefs" dblclickparam="42" />
+
+ <script file="scripts/songinfo.maki" param="big"/>
+
+ <vis
+ id="main.vis"
+ x="11" y="43.9"
+ w="108" h="16"
+ colorbandpeak="162,193,204"
+ colorband1="82,97,102"
+ colorband2="74,88,93"
+ colorband3="78,92,97"
+ colorband4="83,97,104"
+ colorband5="88,102,107"
+ colorband6="94,107,112"
+ colorband7="100,113,118"
+ colorband8="106,120,125"
+ colorband9="112,121,131"
+ colorband10="117,131,136"
+ colorband11="122,137,142"
+ colorband12="127,141,146"
+ colorband13="131,145,150"
+ colorband14="136,150,155"
+ colorband15="140,154,159"
+ colorband16="145,159,164"
+ colorosc1="82,97,102"
+ colorosc2="83,97,104"
+ colorosc3="106,120,125"
+ colorosc4="127,141,146"
+ colorosc5="145,159,164"
+ gammagroup="DisplayText"
+ />
+
+ <vis
+ id="main.vis.mirror"
+ x="11" y="60.9"
+ w="108" h="16"
+ colorbandpeak="83,97,104"
+ colorband1="82,97,102"
+ colorband2="74,88,93"
+ colorband3="78,92,97"
+ colorband4="83,97,104"
+ colorband5="88,102,107"
+ colorband6="94,107,112"
+ colorband7="100,113,118"
+ colorband8="106,120,125"
+ colorband9="112,121,131"
+ colorband10="117,131,136"
+ colorband11="122,137,142"
+ colorband12="127,141,146"
+ colorband13="131,145,150"
+ colorband14="136,150,155"
+ colorband15="140,154,159"
+ colorband16="145,159,164"
+ colorosc1="82,97,102"
+ colorosc2="83,97,104"
+ colorosc3="106,120,125"
+ colorosc4="127,141,146"
+ colorosc5="145,159,164"
+ ghost="1"
+ alpha="100"
+ flipv="1"
+ mode="1"
+ gammagroup="DisplayText"
+ />
+
+ <layer id="main.vis.trigger" x="11" y="42" h="28" w="108" rectrgn="1"/>
+
+ <group id="player.display.beatvis" x="121" y="40.9" w="-281" h="28" relatw="1"/>
+
+ <script file="scripts/visualizer.maki" />
+
+</groupdef>
+
+<groupdef id="player.cbuttons">
+
+ <layer x="3" y="1" image="player.button.previous.placeholder" move="0"/>
+ <Button id="Prev"
+ x="5" y="3"
+ image="player.button.previous.normal"
+ hoverImage="player.button.previous.hover"
+ downImage="player.button.previous.down"
+ action="PREV" tooltip="Previous Track"
+ />
+ <layer id="Prev.glow" x="0" y="0" image="player.button.previous.glow" alpha="0" ghost="1"/>
+
+ <Button id="Play"
+ x="32" y="3"
+ image="player.button.play.normal"
+ hoverImage="player.button.play.hover"
+ downImage="player.button.play.down"
+ action="PLAY" tooltip="Play"
+ />
+ <layer id="Play.glow" x="29" y="0" image="player.button.pps.glow" alpha="0" ghost="1"/>
+
+ <Button id="Pause"
+ x="59" y="3"
+ image="player.button.pause.normal"
+ hoverImage="player.button.pause.hover"
+ downImage="player.button.pause.down"
+ action="PAUSE" tooltip="Pause Playback"
+ />
+ <layer id="Pause.glow" x="56" y="0" image="player.button.pps.glow" alpha="0" ghost="1"/>
+
+ <Button id="Stop"
+ x="86" y="3"
+ image="player.button.stop.normal"
+ hoverImage="player.button.stop.hover"
+ downImage="player.button.stop.down"
+ action="STOP" tooltip="Stop Playback"
+ />
+ <layer id="Stop.glow" x="83" y="0" image="player.button.pps.glow" alpha="0" ghost="1"/>
+
+ <Button id="Next"
+ x="113" y="3"
+ image="player.button.next.normal"
+ hoverImage="player.button.next.hover"
+ downImage="player.button.next.down"
+ action="NEXT" tooltip="Next Track"
+ />
+ <layer id="Next.glow" x="112" y="0" image="player.button.next.glow" alpha="0" ghost="1"/>
+
+ <layer x="-144" y="5" relatx="1" image="player.button.mute.placeholder" move="0"/>
+ <Button id="Eject"
+ x="-144" y="5" h="18" w="33" relatx="1"
+ image="player.button.eject.normal"
+ hoverImage="player.button.eject.hover"
+ downImage="player.button.eject.down"
+ action="EJECT" tooltip="Open File(s)"
+ />
+ <layer id="Eject.glow" x="-144" y="4" relatx="1" image="player.button.mute.glow" alpha="0" ghost="1"/>
+
+ <layer x="-106" y="5" relatx="1" image="player.button.shuffle.placeholder" move="0"/>
+ <NStatesButton
+ id="shuffle"
+ x="-106" y="5" relatx="1"
+ image="player.button.shuffle.normal"
+ hoverimage="player.button.shuffle.hover"
+ downimage="player.button.shuffle.down"
+ rectrgn="1" nstates="2"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ />
+ <layer id="shuffle.glow" x="-106" y="4" relatx="1" image="player.button.shuffle.glow" alpha="0" ghost="1"/>
+
+ <NStatesButton
+ id="repeat"
+ x="-68" y="5" relatx="1"
+ image="player.button.repeat.normal"
+ hoverimage="player.button.repeat.hover"
+ downimage="player.button.repeat.down"
+ rectrgn="1" nstates="3"
+ tooltip="Toggle Playlist/Song Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ />
+ <layer id="repeat.glow" x="-68" y="4" relatx="1" image="player.button.repeat.glow" alpha="0" ghost="1"/>
+
+</groupdef>
+
+<groupdef id="player.layout" wantfocus="1" rectrgn="1" move="0">
+
+ <group id="player.display" x="3" w="-4" relatw="1" h="69" y="0"/>
+
+ <!-- Volume -->
+
+ <layer id="player.placeholder.mute" x="-144" y="52" relatx="1" image="player.button.mute.placeholder" move="0"/>
+
+ <button id="mute" x="-144" y="52" w="33" h="18" relatx="1"
+ image="player.button.mute.normal"
+ hoverImage="player.button.mute.hover"
+ downImage="player.button.mute.down"
+ tooltip="Mute Volume"
+ />
+ <button id="etum" x="-144" y="52" w="33" h="18" relatx="1"
+ image="player.button.demute.normal"
+ hoverImage="player.button.demute.hover"
+ downImage="player.button.demute.down"
+ tooltip="Turn Volume On"
+ visible="0"
+ />
+
+ <layer id="mute.glow" x="-144" y="51" relatx="1" image="player.button.mute.glow" alpha="0" ghost="1"/>
+ <layer id="mute.active" x="-145" y="46" relatx="1" image="player.button.mute.active" visible="0" ghost="1"/>
+
+ <layer id="player.volume.label" x="-97" y="47" relatx="1" image="player.label.volume" move="1"/>
+
+ <grid id="player.volume.bg"
+ x="-101" y="59" h="5" w="97" relatx="1"
+ left="player.slider.background.left"
+ middle="player.slider.background.center"
+ right="player.slider.background.right"
+ />
+
+ <grid id="player.volume.fill"
+ x="-99" y="61" h="2" w="95" relatx="1"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="Volume"
+ action="Volume"
+ x="-102" y="57" h="12" w="99" relatx="1"
+ thumb="player.volume.thumb.normal"
+ hoverThumb="player.volume.thumb.hover"
+ downThumb="player.volume.thumb.down"
+ tooltip="Volume"
+ />
+
+ <script file="scripts/mute.maki" param="95"/>
+ <!-- param = max_w for volume fillbar -->
+
+ <!-- Seek -->
+
+ <grid id="player.seek.bg"
+ x="4" y="79" h="5" w="-8" relatw="1"
+ left="player.slider.background.left"
+ middle="player.slider.background.center"
+ right="player.slider.background.right"
+ />
+
+ <ProgressGrid id="progressbar"
+ x="6" y="81" h="2" w="-10" relatw="1"
+ orientation="right"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ interval="100"
+ />
+
+ <Slider
+ id="seeker"
+ action="SEEK"
+ x="3" y="77" h="12" w="-6" relatw="1"
+ thumb="player.posbar.thumb.normal"
+ hoverThumb="player.posbar.thumb.hover"
+ downThumb="player.posbar.thumb.down"
+ ghost="1"
+ visible="0"
+ tooltip="Seeker"
+ interval="100"
+ />
+
+ <Slider
+ id="seeker.ghost"
+ action="SEEK"
+ x="3" y="77" h="12" w="-6" relatw="1"
+ thumb="player.posbar.thumb.normal"
+ hoverThumb="player.posbar.thumb.hover"
+ downThumb="player.posbar.thumb.down"
+ tooltip="Seeker"
+ interval="100"
+ />
+
+ <script file="scripts/seek.maki"/>
+
+ <group id="player.cbuttons" x="0" y="93" h="32" w="0" relatw="1"/>
+ <NStatesButton id="shuffle.active" x="-103" y="91" image="player.button.shuffle.active" ghost="1" relatx="1" cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle" nstates="2"/>
+ <NStatesButton id="repeat.active" x="-69" y="92" image="player.button.repeat.active" ghost="1" relatx="1" cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat" cfgvals="0;1;-1" nstates="3"/>
+
+ <script file="scripts/cbuttons.maki" param="290"/>
+ <!-- Param defines the min_w of the cbuttons group -->
+
+</groupdef>
+
+<!-- Player:Titlebar -->
+
+<groupdef id="player.mainmenu" rectregn="1" rectrgn="1">
+
+ <!-- Note: Most of the items in this group will be placed by script, so don't waste your time -->
+
+ <layer id="menu.text.file" x="0" y="6" h="10" image="window.titlebar.menu.text.file" />
+ <layer id="menu.layer.file.normal" x="0" y="0" h="21" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.file.hover" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.file.down" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.play" x="0" y="6" h="10" image="window.titlebar.menu.text.play" />
+ <layer id="menu.layer.play.normal" x="0" y="0" h="21" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.play.hover" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.play.down" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.options" x="0" y="6" h="10" image="window.titlebar.menu.text.options" />
+ <layer id="menu.layer.options.normal" x="0" y="0" h="21" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.options.hover" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.options.down" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.view" x="0" y="6" h="10" image="window.titlebar.menu.text.view" />
+ <layer id="menu.layer.view.normal" x="0" y="0" h="21" w="21" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.view.hover" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.view.down" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <layer id="menu.text.help" x="0" y="6" h="10" image="window.titlebar.menu.text.help" />
+ <layer id="menu.layer.help.normal" x="0" y="0" h="21" w="0" image="window.titlebar.menu.normal" visible="1" />
+ <layer id="menu.layer.help.hover" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+ <layer id="menu.layer.help.down" x="0" y="0" h="21" w="0" image="window.titlebar.menu.down" visible="0" />
+
+ <Menu id="file.menu" menugroup="main" next="Play.menu" prev="Help.menu" x="0" y="0" h="21" w="0" menu="WA5:File" normal="menu.layer.file.normal" hover="menu.layer.file.hover" down="menu.layer.file.down" />
+ <Menu id="play.menu" menugroup="main" next="Options.menu" prev="File.menu" x="0" y="0" h="21" w="0" menu="WA5:Play" normal="menu.layer.play.normal" hover="menu.layer.play.hover" down="menu.layer.play.down" />
+ <Menu id="options.menu" menugroup="main" next="View.menu" prev="Play.menu" x="0" y="0" h="21" w="0" menu="WA5:Options" normal="menu.layer.options.normal" hover="menu.layer.options.hover" down="menu.layer.options.down" />
+ <Menu id="view.menu" menugroup="main" next="Help.menu" prev="Options.menu" x="0" y="0" h="21" w="0" menu="WA5:Windows" normal="menu.layer.view.normal" hover="menu.layer.view.hover" down="menu.layer.view.down" />
+ <Menu id="help.menu" menugroup="main" next="File.menu" prev="view.menu" x="0" y="0" h="21" w="0" menu="WA5:Help" normal="menu.layer.help.normal" hover="menu.layer.help.hover" down="menu.layer.help.down" />
+
+ <guiObject fitparent="1" id="menu.hidden.mousetrap" visible="0" move="1"/>
+
+</groupdef>
+
+<groupdef id="player.titlebar">
+
+ <grid
+ x="0" y="0" h="23" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.left"
+ middle="window.titlebar.grid.middle"
+ right="window.titlebar.grid.right"
+ />
+
+ <layer x="35" y="7" image="window.titlebar.text.winamp" ghost="1" />
+
+ <guiobject fitparent="1" rectrgn="1" move="1" id="player.mousetrap.maximize"/>
+
+ <layer id="titlebar.resizer.topleft" x="0" y="0" h="3" w="5" rectrgn="1" resize="topleft" />
+ <layer id="titlebar.resizer.top" x="5" y="0" h="3" w="-10" relatw="1" rectrgn="1" resize="top" />
+ <layer id="titlebar.resizer.topright" x="-5" y="0" h="3" w="5" relatx="1" rectrgn="1" resize="topright" />
+ <layer x="0" y="3" h="15" w="5" rectrgn="1" resize="left" />
+ <layer x="-5" y="3" h="15" w="5" relatx="1" rectrgn="1" resize="right" />
+ <layer id="titlebar.resizer.disable" x="0" y="0" h="23" w="0" relatw="1" rectrgn="1" ghost="1" move="0"/>
+
+ <grid
+ x="0" y="0" h="23" w="97" relatw="0" regionop="1" ghost="1"
+ left="window.titlebar.grid.over.left"
+ middle="window.titlebar.grid.over.middle"
+ />
+
+ <grid
+ id="titlebar.grid.right"
+ x="295" y="0" h="23" w="-295" relatw="1" regionop="1" ghost="1"
+ middle="window.titlebar.grid.over.middle"
+ right="window.titlebar.grid.over.right"
+ />
+
+ <group id="player.mainmenu" x="97" y="1" w="388" h="21" ghost="1" />
+
+ <button
+ x="7" y="5" h="13" w="20"
+ action="SYSMENU"
+ image="window.titlebar.button.sysmenu.normal"
+ hoverImage="window.titlebar.button.sysmenu.hover"
+ downImage="window.titlebar.button.sysmenu.down"
+ tooltip="Main Menu"
+ />
+
+ <button
+ x="-84" relatx="1" y="5" h="13" w="17"
+ id="player.button.minimize"
+ action="MINIMIZE"
+ image="window.titlebar.button.minimize.normal"
+ hoverImage="window.titlebar.button.minimize.hover"
+ downImage="window.titlebar.button.minimize.down"
+ tooltip="Minimize Winamp"
+ />
+
+ <button
+ x="-64" relatx="1" y="5" h="13" w="17"
+ id="player.titlebar.button.restore"
+ image="window.titlebar.button.restore.normal"
+ hoverImage="window.titlebar.button.restore.hover"
+ downImage="window.titlebar.button.restore.down"
+ tooltip="Restore Winamp"
+ />
+
+ <button
+ x="-64" relatx="1" y="5" h="13" w="17"
+ id="player.titlebar.button.maximize"
+ image="window.titlebar.button.maximize.normal"
+ hoverImage="window.titlebar.button.maximize.hover"
+ downImage="window.titlebar.button.maximize.down"
+ tooltip="Maximize Winamp"
+ />
+
+ <button
+ x="-44" relatx="1" y="5" h="13" w="17"
+ action="SWITCH" param="shade"
+ image="window.titlebar.button.shade.normal"
+ hoverImage="window.titlebar.button.shade.hover"
+ downImage="window.titlebar.button.shade.down"
+ tooltip="Windowshade Mode"
+ />
+
+ <button
+ id="maximize.slam.close" visible="1"
+ x="-24" relatx="1" y="0" h="18" w="24"
+ rectrgn="1"
+ action="CLOSE"
+ tooltip="Exit Winamp"
+ />
+ <button
+ x="-24" relatx="1" y="5" h="13" w="17"
+ action="CLOSE"
+ image="window.titlebar.button.close.normal"
+ hoverImage="window.titlebar.button.close.hover"
+ downImage="window.titlebar.button.close.down"
+ tooltip="Exit Winamp"
+ />
+
+ <script file="scripts/mainmenu.maki" />
+
+</groupdef>
+
+<groupdef id="window.background.regions">
+ <layer x="0" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="0" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player-normal-mcv.xml b/Src/resources/skins/Big Bento/xml/player-normal-mcv.xml
new file mode 100644
index 00000000..d4695fa5
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player-normal-mcv.xml
@@ -0,0 +1,842 @@
+<include file="config.xml"/>
+
+<groupdef id="player.dualwnd.pl.info" wantfocus="1" rectrgn="1">
+
+ <Wasabi:Frame id="player.dualwnd" x="0" y="0" w="0" relath="0" h="119" from="r" relatw="1" orientation="v" maxwidth="-141" left="player.component.fileinfo" right="player.component.playlist.frame" minwidth="35" width="200" jump="right" />
+
+</groupdef>
+
+<!-- Player:Component:PlayList -->
+
+<groupdef id="player.component.playlist.frame" wantfocus="1" rectrgn="1">
+
+ <Wasabi:Frame id="playlist.dualwnd" fitparent="1" from="bottom" orientation="h" maxheight="null" bottom="player.component.playlist.albumart" top="player.component.playlist" minheight="55" height="100" jump="0"/>
+
+</groupdef>
+
+<groupdef id="player.component.playlist.albumart" wantfocus="1" rectrgn="1">
+
+ <grid fitparent="1" x="1" w="-1" relaw="1"
+ topleft="sui.background.topleft"
+ top="sui.background.top"
+ topright="sui.background.topright"
+ left="sui.background.left"
+ middle="sui.background.center"
+ right="sui.background.right"
+ bottomleft="sui.background.bottomleft"
+ bottom="sui.background.bottom"
+ bottomright="sui.background.bottomright"
+ />
+
+ <group fitparent="-2" x="3" w="-5" relaw="1" id="info.component.cover2" />
+
+</groupdef>
+
+<groupdef id="player.component.playlist" wantfocus="1" rectrgn="1">
+
+ <grid fitparent="1" x="1" w="-1" relaw="1"
+ topleft="pledit.background.topleft"
+ top="pledit.background.top"
+ topright="pledit.background.topright"
+ left="pledit.background.left"
+ middle="pledit.background.center"
+ right="pledit.background.right"
+ bottomleft="pledit.background.bottomleft"
+ bottom="pledit.background.bottom"
+ bottomright="pledit.background.bottomright"
+ />
+
+ <group id="playlistpro" y="1" h="-19" x="2" w="-3" relath="1" relatw="1"/>
+
+ <group id="player.component.playlist.buttons" x="2" y="-18" w="-3" relatw="1" relaty="1" />
+
+</groupdef>
+
+<groupdef id="player.component.playlist.buttons">
+
+ <grid
+ x="0" y="0" h="17" w="0" relatw="1" move="1"
+ middle="pledit.background.buttons.center"
+ right="pledit.background.buttons.right"
+ />
+
+ <button id="player.playlist.add"
+ x="0" y="0"
+ image="pledit.button.add.normal"
+ hoverImage="pledit.button.add.hover"
+ downImage="pledit.button.add.down"
+ action="PE_Add" tooltip="Add Files to Playlist"
+ />
+ <button id="player.playlist.rem"
+ x="31" y="0"
+ image="pledit.button.rem.normal"
+ hoverImage="pledit.button.rem.hover"
+ downImage="pledit.button.rem.down"
+ action="PE_Rem" tooltip="Remove Files from Playlist"
+ />
+ <button id="player.playlist.sel"
+ x="62" y="0"
+ image="pledit.button.sel.normal"
+ hoverImage="pledit.button.sel.hover"
+ downImage="pledit.button.sel.down"
+ action="PE_Sel" tooltip="Select Files in Playlist"
+ />
+ <button id="player.playlist.misc"
+ x="93" y="0"
+ image="pledit.button.misc.normal"
+ hoverImage="pledit.button.misc.hover"
+ downImage="pledit.button.misc.down"
+ action="PE_Misc" tooltip="Misc Actions"
+ />
+ <button id="player.playlist.manage"
+ x="124" y="0"
+ image="pledit.button.manage.normal"
+ hoverImage="pledit.button.manage.hover"
+ downImage="pledit.button.manage.down"
+ action="PE_List" tooltip="Manage Playlist"
+ />
+ <togglebutton id="player.playlist.small"
+ x="-32" y="0" relatx="1"
+ image="pledit.button.toggle.normal"
+ hoverImage="pledit.button.toggle.hover"
+ downImage="pledit.button.toggle.down"
+ cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Enlarge Playlist"
+ tooltip="Collapse Playlist"
+ />
+ <togglebutton id="player.playlist.enlarge"
+ x="-32" y="0" relatx="1"
+ image="pledit.button.toggle.normal"
+ hoverImage="pledit.button.toggle.hover"
+ downImage="pledit.button.toggle.down"
+ cfgattrib="{0167CFD9-5D35-404a-8F03-80ED5B89DEDF};Enlarge Playlist"
+ tooltip="Enlarge Playlist"
+ />
+
+ <text id="PLTime" ticker="1" display="PE_Info"
+ x="157" y="1" h="13" w="-191" relatw="1"
+ align="center" color="color.display"
+ bold="1" fontsize="13" antialias="0" move="1"
+ />
+
+</groupdef>
+
+<!-- Info:Component:Vis -->
+
+<groupdef id="info.component.vis">
+
+ <component id="vis" fitparent="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="0" hold="guid:{0000000A-000C-0010-FF7B-01014263450C}"/>
+
+</groupdef>
+
+<groupdef id="info.component.vis.full">
+
+ <component id="vis" x="3" w="-6" y="0" h="96" relatw="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="0" hold="guid:{0000000A-000C-0010-FF7B-01014263450C}"/>
+
+ <button
+ image="infocomp.button.vis.cfg.normal"
+ downImage="infocomp.button.vis.cfg.down"
+ hoverImage="infocomp.button.vis.cfg.hover"
+ action="VIS_Menu"
+ x="1" y="-18" relaty="1"
+ tooltip="Configure Visualizer"
+ />
+
+ <button
+ image="config.colorthemes.button.prev.normal"
+ downImage="config.colorthemes.button.prev.down"
+ hoverImage="config.colorthemes.button.prev.hover"
+ action="VIS_Prev"
+ x="31" y="-18" relaty="1"
+ tooltip="Previous Visualization Preset"
+ />
+
+ <ToggleButton
+ id="vis.rnd"
+ image="infocomp.button.vis.rnd.normal"
+ downImage="infocomp.button.vis.rnd.down"
+ hoverImage="infocomp.button.vis.rnd.hover"
+ x="62" y="-18" relaty="1"
+ tooltip="Randomly change Visualization Presets"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <button
+ image="config.colorthemes.button.next.normal"
+ downImage="config.colorthemes.button.next.down"
+ hoverImage="config.colorthemes.button.next.hover"
+ action="VIS_Next"
+ x="93" y="-18" relaty="1"
+ tooltip="Next Visualization Preset"
+ />
+
+ <ToggleButton id="vis.rnd.active"
+ x="58" y="-25" h="25" w="41" relaty="1"
+ ActiveImage="infocomp.button.vis.rnd.active"
+ ghost="1"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <script file="scripts/syncbutton.maki" param="vis.rnd;vis.rnd.active" />
+
+</groupdef>
+
+<!-- Info:Component:Cover -->
+
+<groupdef id="info.component.Cover">
+
+ <AlbumArt id="winamp.albumart" fitparent="1" move="1" rectrgn="1" notfoundImage="winamp.cover.notfound.84x84"/>
+ <script file="scripts/albumart.maki" param="winamp.albumart,winamp.cover.notfound.84x84"/>
+
+</groupdef>
+
+<groupdef id="info.component.Cover2">
+
+ <AlbumArt id="winamp.albumart" fitparent="1" move="1" rectrgn="1" notfoundImage="winamp.cover.notfound.xxl"/>
+ <script file="scripts/albumart.maki" param="winamp.albumart,winamp.cover.notfound.xxl"/>
+
+</groupdef>
+
+<!-- Info:Component:EQ -->
+
+<groupdef id="info.component.eq.content">
+
+ <layer x="0" y="0" image="equalizer.background" ghost="1" />
+
+ <layer id="frequency.labels" x="0" y="85" image="equalizer.labels.winamp" ghost="1" />
+
+ <slider
+ id="sCrossfade"
+ cfgattrib="{F1239F09-8CC6-4081-8519-C2AE99FCB14C};Crossfade time"
+ high="20" ghost="1" visible="0"
+ x="3" y="3"
+ w="2" h="2"
+ />
+
+ <togglebutton
+ id="Crossfade"
+ x="4" y="4"
+ image="equalizer.button.xfade.normal"
+ downImage="equalizer.button.xfade.down"
+ hoverImage="equalizer.button.xfade.hover"
+ tooltip="Toggle Crossfading Between Tracks"
+ cfgattrib="{FC3EAF78-C66E-4ED2-A0AA-1494DFCC13FF};Enable crossfading"
+ />
+
+ <layer id="CrossfadeActive" x="1" y="1" image="equalizer.button.xfade.active" visible="0" ghost="1"/>
+
+ <layer
+ image="equalizer.xfade.display"
+ x="41" y="4" move="0"
+ />
+
+ <button
+ id="CrossfadeDecrease"
+ image="equalizer.button.decrease.normal"
+ downImage="equalizer.button.decrease.down"
+ hoverImage="equalizer.button.decrease.hover"
+ x="29" y="4"
+ tooltip="Decrease Crossfade Time"
+ />
+ <button
+ id="CrossfadeIncrease"
+ image="equalizer.button.increase.normal"
+ downImage="equalizer.button.increase.down"
+ hoverImage="equalizer.button.increase.hover"
+ x="59" y="4"
+ tooltip="Increase Crossfade Time"
+ />
+
+ <text
+ id="CFDisplay"
+ x="41" y="7" w="19" h="5"
+ align="center"
+ valign="top"
+ fontsize="5" font="player.bitmapfont.songinfo"
+ text="00"
+ />
+
+ <layer x="95" y="6" w="78" h="10" image="equalizer.slider.balance.background" move="0" />
+ <slider
+ id="Balance"
+ action="PAN"
+ x="95" y="6"
+ w="79" h="10"
+ thumb="equalizer.slider.balance.normal"
+ downThumb="equalizer.slider.balance.down"
+ hoverThumb="equalizer.slider.balance.hover"
+ tooltip="Balance"
+ />
+
+ <layer x="4" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="preamp"
+ action="EQ_BAND" param="preamp"
+ x="4" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="Preamp"
+ orientation="vertical"
+ />
+
+ <layer x="29" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq1"
+ action="EQ_BAND" param="1"
+ x="29" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="70 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="45" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq2"
+ action="EQ_BAND" param="2"
+ x="45" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="180 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="61" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq3"
+ action="EQ_BAND" param="3"
+ x="61" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="320 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="77" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq4"
+ action="EQ_BAND" param="4"
+ x="77" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="600 Hz"
+ orientation="vertical"
+ />
+
+ <layer x="93" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq5"
+ action="EQ_BAND" param="5"
+ x="93" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="1 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="109" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq6"
+ action="EQ_BAND" param="6"
+ x="109" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="3 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="125" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq7"
+ action="EQ_BAND" param="7"
+ x="125" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="6 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="141" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq8"
+ action="EQ_BAND" param="8"
+ x="141" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="12 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="157" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq9"
+ action="EQ_BAND" param="9"
+ x="157" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="14 KHz"
+ orientation="vertical"
+ />
+
+ <layer x="173" y="26" w="11" h="55" image="equalizer.slider.eqband.background" move="0" />
+ <slider
+ id="eq10"
+ action="EQ_BAND" param="10"
+ x="173" y="26"
+ w="11" h="55"
+ thumb="equalizer.slider.eqband.normal"
+ downThumb="equalizer.slider.eqband.down"
+ hoverThumb="equalizer.slider.eqband.hover"
+ tooltip="16 KHz"
+ orientation="vertical"
+ />
+
+ <button
+ id="EQ_p12"
+ x="16" y="31"
+ w="12" h="7"
+ rectrgn="1"
+ />
+
+ <button
+ id="EQ_0"
+ x="16" y="49"
+ w="12" h="7"
+ rectrgn="1"
+ />
+
+ <button
+ id="EQ_m12"
+ x="16" y="67"
+ w="12" h="7"
+ rectrgn="1"
+ />
+
+</groupdef>
+
+<groupdef id="info.component.eq">
+
+ <group id="info.component.eq.content" x="0" y="0" h="92" w="188" />
+
+ <button
+ id="eqonoff"
+ image="equalizer.button.eqon.normal"
+ downImage="equalizer.button.eqon.down"
+ hoverImage="equalizer.button.eqon.hover"
+ action="EQ_TOGGLE"
+ x="1" y="-18" relaty="1"
+ tooltip="EQ on/off"
+ />
+ <button id="eqonoffActive" x="0" y="-24" h="23" w="33" relaty="1" activeImage="equalizer.button.eqon.active" visible="1" ghost="1" action="EQ_TOGGLE"/>
+
+ <button
+ id="eqauto"
+ image="equalizer.button.auto.normal"
+ downImage="equalizer.button.auto.down"
+ hoverImage="equalizer.button.auto.hover"
+ action="EQ_AUTO"
+ x="31" y="-18" relaty="1"
+ tooltip="EQ auto"
+ />
+
+ <button id="eqautoActive" x="29" y="-24" h="23" w="44" relaty="1" activeImage="equalizer.button.auto.active" visible="1" ghost="1" action="EQ_AUTO"/>
+
+ <button
+ id="eqpresets"
+ image="equalizer.button.presets.normal"
+ downImage="equalizer.button.presets.down"
+ hoverImage="equalizer.button.presets.hover"
+ action="MENU" param="presets"
+ x="70" y="-18" relaty="1"
+ tooltip="Open presets"
+ />
+
+ <script file="scripts/eq.maki" />
+
+</groupdef>
+
+<!-- Info:Component:InfoDisplay -->
+
+<groupdef id="infodisplay.line.rating.stars" >
+
+ <button id="rate.1" x="0" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.1" ghost="1"
+ x="0" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.2" x="11" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.2" ghost="1"
+ x="11" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.3" x="22" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.3" ghost="1"
+ x="22" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.4" x="33" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.4" ghost="1"
+ x="33" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+ <button id="rate.5" x="44" y="0" rectrgn="1"
+ image="infocomp.rating.empty"
+ activeimage="infocomp.rating.star"
+ downimage="infocomp.rating.star"
+ />
+ <layer id="star.5" ghost="1"
+ x="44" y="0" visible="0"
+ image="infocomp.rating.hover"
+ />
+
+</groupdef>
+
+<groupdef id="infodisplay.line.rating" >
+
+ <Text
+ id="label"
+ x="0" y="-2" w="0" relatw="1" h="20"
+ text="Rating:"
+ color="color.display" bold="1" fontsize="16" alpha="180" valign="bottom" antialias="1"
+ />
+
+ <group id="infodisplay.line.rating.stars" x="0" y="2" w="0" relatw="1" />
+
+ <button id="rate.0" x="0" y="0" h="20" w="0" rectrgn="1" tooltip="Remove Rating"/>
+
+</groupdef>
+
+<!--
+Params for <Bento:InfoLine/>
+label="sometext" displayed as label
+shift="someint" how much pixels text will be moved right (call before text!)
+text="sometext" displayed as line text
+link="sometext" displayed as hover tooltip
+-->
+
+<groupdef id="bento.infodisplay.line" embed_xui="text" xuitag="Bento:InfoLine">
+
+ <Text id="label"
+ x="0" y="-2" w="0" relatw="1" h="20"
+ text="Error:"
+ color="color.display" bold="1" fontsize="16" alpha="180" valign="bottom" antialias="1"
+ />
+
+ <Text id="text"
+ x="0" y="-2" w="0" relatw="1" h="20"
+ color="color.display" bold="0" fontsize="16" valign="bottom" antialias="0" ticker="1" translate="0" alpha="253"
+ />
+
+// <layer id="link" x="0" y="0" h="15" w="0" relatw="1" rectrgn="1" move="0" cursor="IDC_HAND"/>
+ <layer id="link" x="0" y="0" h="15" w="0" relatw="1" rectrgn="1" move="0"/>
+
+ <script file="scripts/infoline.maki" />
+
+</groupdef>
+
+
+<groupdef id="info.component.infodisplay">
+
+ <group id="infodisplay.line.rating" x="0" y="0" w="0" relatw="1" h="15" visible="0" />
+
+ <Bento:InfoLine id="infodisplay.line.title" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Title:"/>
+ <!--link="Click to Search Title" label="Title:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.artist" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Artist:"/>
+ <!--link="Click to Search Artist" label="Artist:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.album" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Album:"/>
+ <!--link="Click to Search Album" label="Album:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.track" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Track:"/>
+ <!--link="Click to Show More Information" label="Track:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.year" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Year:"/>
+ <!--link="Click to Show More Information" label="Year:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.genre" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Genre:"/>
+ <!--link="Click to Show More Information" label="Genre:"/>-->
+
+
+ <Bento:InfoLine id="infodisplay.line.publisher" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Publisher:"/>
+ <!--link="Click to Show More Information" label="Publisher:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.composer" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Composer:"/>
+ <!--link="Click to Show More Information" label="Composer:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.format" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Decoder:"/>
+ <!--link="Click to Show More Information" label="Decoder:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.sname" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Stream:"/>
+ <!--link="Visit Station Homepage" label="Stream:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.surl" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Homepage:"/>
+ <!--link="Visit Station Homepage" label="Homepage:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.albumartist" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Album Artist:"/>
+ <!--link="Click to Show More Information" label="Album Artist:"/>-->
+
+ <Bento:InfoLine id="infodisplay.line.disc" x="0" y="0" w="0" relatw="1" h="15" visible="0"
+ label="Disc:"/>
+ <!--link="Click to Show More Information" label="Disc:"/>-->
+
+ <script file="scripts/fileinfo.maki" param="@HAVE_LIBRARY@,6" />
+
+</groupdef>
+
+<!-- Info:Component:PLSideCar -->
+
+<groupdef id="info.component.plsidecar">
+
+ <PlaylistDirectory fitparent="1" antialias="0" fontsize="16"/>
+
+</groupdef>
+
+<groupdef id="info.component.coverflow">
+
+ <!--button id="coverflow.prev"
+ x="0" y="-18" relaty="1"
+ image="config.colorthemes.button.prev2.normal"
+ hoverImage="config.colorthemes.button.prev2.hover"
+ downImage="config.colorthemes.button.prev2.down"
+ tooltip="Scroll backwards in Playlist"
+ />
+
+ <button id="coverflow.next"
+ x="30" y="-18" relaty="1"
+ image="config.colorthemes.button.next.normal"
+ hoverImage="config.colorthemes.button.next.hover"
+ downImage="config.colorthemes.button.next.down"
+ tooltip="Scroll forwards in Playlist"
+ /-->
+
+ <text id="info" nograbb="1" move="0"
+ x="64" y="-16" relaty="1" h="12" w="-130" relatw="1"
+ align="center" color="color.display" fontsize="12" valign="top" bold="2" ghost="1"
+ />
+
+ <group id="info.component.coverflow.g" x="0" y="2" h="-1" relath="1" w="368" />
+
+</groupdef>
+
+<!-- Info:Instance -->
+
+<groupdef id="infocomp.visbuttons">
+
+ <button
+ id="vis.cfg"
+ image="infocomp.button.vis.cfg2.normal"
+ downImage="infocomp.button.vis.cfg2.down"
+ hoverImage="infocomp.button.vis.cfg2.hover"
+ action="VIS_Menu"
+ x="0" y="7"
+ tooltip="Configure Visualizer"
+ />
+
+ <button
+ id="vis.prv"
+ image="config.colorthemes.button.prev.normal"
+ downImage="config.colorthemes.button.prev.down"
+ hoverImage="config.colorthemes.button.prev.hover"
+ action="VIS_Prev"
+ x="31" y="7"
+ tooltip="Previous Visualization Preset"
+ />
+
+ <ToggleButton
+ id="vis.rnd"
+ image="infocomp.button.vis.rnd.normal"
+ downImage="infocomp.button.vis.rnd.down"
+ hoverImage="infocomp.button.vis.rnd.hover"
+ x="62" y="7"
+ tooltip="Randomly change Visualization Presets"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <button
+ id="vis.nxt"
+ image="config.colorthemes.button.next.normal"
+ downImage="config.colorthemes.button.next.down"
+ hoverImage="config.colorthemes.button.next.hover"
+ action="VIS_Next"
+ x="93" y="7"
+ tooltip="Next Visualization Preset"
+ />
+
+ <ToggleButton id="vis.rnd.active"
+ x="58" y="0" h="25" w="41"
+ ActiveImage="infocomp.button.vis.rnd.active"
+ ghost="1"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <script file="scripts/syncbutton.maki" param="vis.rnd;vis.rnd.active" />
+ <script file="scripts/visbuttons.maki" />
+</groupdef>
+
+<groupdef id="infocomp.background.footer.over">
+
+ <layer move="0" ghost="1"
+ x="0" y="0"
+ image="infocomp.background.buttons.left.over"
+ />
+
+</groupdef>
+
+<groupdef id="infocomp.background.footer">
+
+ <grid
+ id="footer.background.grid" move="1"
+ x="0" y="7" h="17" w="0" relatw="1"
+ middle="pledit.background.buttons.center"
+ right="pledit.background.buttons.right"
+ />
+
+ <group id="infocomp.background.footer.over" x="0" y="7" w="-5" relatw="1" />
+
+ <group x="0" y="0" h="25" w="0" relatw="1" id="infocomp.visbuttons" />
+
+</groupdef>
+
+<groupdef id="info.component.holder">
+
+ <grid fitparent="1" move="1"
+ topleft="infocomp.background.topleft"
+ top="infocomp.background.top"
+ topright="infocomp.background.topright"
+ left="infocomp.background.left"
+ middle="infocomp.background.center"
+ right="infocomp.background.right"
+ bottomleft="infocomp.background.bottomleft"
+ bottom="infocomp.background.bottom"
+ bottomright="infocomp.background.bottomright"
+ />
+
+ <group x="6" y="-25" h="25" w="-8" relatw="1" relaty="1" id="infocomp.background.footer" />
+
+ <group id="info.component.cover" x="4" y="4" h="111" w="111"/>
+ <group id="info.component.vis" x="4" y="4" h="111" w="111"/>
+ <group id="info.component.vis.full" x="0" y="3" h="116" w="0" relatw="1" visible="0"/>
+ <group id="info.component.eq" x="0" y="0" h="119" w="0" relatw="1" visible="0"/>
+ <group id="info.component.config" x="1" y="1" h="118" w="-2" relatw="1" visible="0"/>
+ <group id="info.component.plsidecar" x="2" y="2" h="99" w="-4" relatw="1" visible="0"/>
+
+ <layer id="branding" visible="0" move="1" ghost="1"
+ x="0" y="48" h="24" w="100" image="infocomp.branding"
+ />
+
+ <group id="info.component.infodisplay" x="80" y="3" h="-19" relath="1" w="-143" relatw="1" />
+
+ <button
+ id="comp.menu"
+ x="-33" y="-18" relatx="1" relaty="1"
+ image="infocomp.button.toggle.normal"
+ hoverImage="infocomp.button.toggle.hover"
+ downImage="infocomp.button.toggle.down"
+ tooltip="Change the content this area holds"
+ />
+
+ <button
+ id="sendTo"
+ x="-64" y="-18" relatx="1" relaty="1"
+ action="ML_SendTo"
+ image="infocomp.button.more.normal"
+ hoverImage="infocomp.button.more.hover"
+ downImage="infocomp.button.more.down"
+ tooltip="Send this file to..."
+ anchor_menu="bottomleft"
+ />
+
+<!-- <button
+ id="search"
+ x="-95" y="-18" relatx="1" relaty="1"
+ image="infocomp.button.blank.normal"
+ hoverImage="infocomp.button.blank.hover"
+ downImage="infocomp.button.blank.down"
+ tooltip="Search the web for this artist"
+ anchor_menu="bottomleft"
+ />
+ <layer id="search.icon.bg" x="-95" y="-18" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.bg" />
+ <script file="scripts/syncbutton.maki" param="search;search.icon.bg"/>
+ <layer id="search.icon" x="-95" y="-18" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.search" />
+ <script file="scripts/syncbutton.maki" param="search;search.icon"/>
+
+ <button
+ id="nowplaying"
+ x="-126" y="-18" relatx="1" relaty="1"
+ image="infocomp.button.blank.normal"
+ hoverImage="infocomp.button.blank.hover"
+ downImage="infocomp.button.blank.down"
+ tooltip="More information about this artist"
+ anchor_menu="bottomleft"
+ />
+ <layer id="nowplaying.icon.bg" x="-126" y="-18" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.bg" />
+ <script file="scripts/syncbutton.maki" param="nowplaying;nowplaying.icon.bg"/>
+ <layer id="nowplaying.icon" x="-126" y="-18" relatx="1" ghost="1" relaty="1" image="infocomp.button.icon.nowplaying" />
+ <script file="scripts/syncbutton.maki" param="nowplaying;nowplaying.icon"/>
+-->
+ <script file="scripts/shadelinks.maki"/>
+
+ <!--script file="scripts/componentregion.maki" param="comp.menu" /-->
+
+ <!--layer id="osd.trigger" fitparent="1" rectrgn="1" ghost="0"/-->
+
+ <script file="scripts/mcvcore.maki" param="big"/>
+</groupdef>
+
+<groupdef id="player.component.fileinfo">
+
+ <group id="info.component.holder" x="0" y="0" h="119" w="0" relatw="1"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player-normal-sui.xml b/Src/resources/skins/Big Bento/xml/player-normal-sui.xml
new file mode 100644
index 00000000..6473e3a5
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player-normal-sui.xml
@@ -0,0 +1,317 @@
+<!-- SUI:Component:Browser -->
+
+<!-- <groupdef id="wdh.browser">
+
+ <Winamp:Browser x="0" y="1" h="-1" w="0" relatw="1" relath="1" id="sui.component.browser"/>
+
+</groupdef> -->
+
+<!-- SUI:Component:MediaLibrary -->
+
+<groupdef id="wdh.ml">
+
+ <windowholder id="wdh" x="3" y="4" w="-5" h="-4" relath="1" relatw="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="0" visible="1" hold="guid:{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}"/>
+
+</groupdef>
+
+<!-- SUI:Component:Video -->
+
+<groupdef id="wdh.video.resizable">
+
+ <rect id="bg" color="0,0,0" fitparent="1" filled="1" rectrgn="1"/>
+
+ <rect id="wdh.outer" x="4" y="4" w="-8" relatw="1" h="-8" relath="1" color="80,80,80"/>
+
+ <rect id="wdh.drag" x="-5" y="-5" relatx="1" relaty="1" h="5" w="5" filled="1" color="100,100,100" cursor="IDC_SIZENWSE"/>
+
+ <windowholder id="wdh" x="5" y="5" w="-10" relatw="1" h="-10" relath="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="0" visible="1" hold="guid:{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"/>
+
+ <script file="scripts/videoresize.maki"/>
+
+</groupdef>
+
+<groupdef id="wdh.video">
+
+ <layer x="1" y="4" h="1" w="-2" relatw="1" image="sui.component.bottom2" move="0" alpha="180"/>
+ <layer x="1" y="-24" relaty="1" h="1" w="-2" relatw="1" image="sui.component.top2" move="0" />
+
+ <group id="wdh.video.resizable" x="1" y="5" w="-2" relatw="1" h="-29" relath="1" />
+
+ <Button action="VID_FS"
+ x="4" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.fullscreen.normal"
+ hoverImage="video.button.fullscreen.hover"
+ downImage="video.button.fullscreen.down"
+ tooltip="Fullscreen"
+ />
+
+ <Button action="VID_1X"
+ x="29" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.1x.normal"
+ hoverImage="video.button.1x.hover"
+ downImage="video.button.1x.down"
+ tooltip="Normal Size"
+ />
+
+ <Button action="VID_2X"
+ x="54" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.2x.normal"
+ hoverImage="video.button.2x.hover"
+ downImage="video.button.2x.down"
+ tooltip="Double Size"
+ />
+
+ <!--<Button action="VID_TV"
+ x="80" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.itv.normal"
+ hoverImage="video.button.itv.hover"
+ downImage="video.button.itv.down"
+ tooltip="Internet TV"
+ />-->
+
+ <NStatesButton nstates="2"
+ x="-53" relatx="1" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.pin.normal"
+ hoverImage="video.button.pin.hover"
+ downImage="video.button.pin.down"
+ tooltip="Enable Video in Window resizing"
+ cfgattrib="{E704AB5A-108E-4309-B54B-43EBA5C0C3AA};Enable Video in Window resizing"
+ />
+
+ <Button action="VID_Misc"
+ x="-27" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="video.button.cfg.normal"
+ hoverImage="video.button.cfg.hover"
+ downImage="video.button.cfg.down"
+ tooltip="Video Options"
+ />
+
+ <text id="info" display="VID_Info" ticker="1"
+ x="105" y="-18" relaty="1" h="13" w="-161" relatw="1"
+ align="center" color="color.window.txt"
+ />
+
+</groupdef>
+
+<groupdef id="wdh.pl">
+
+ <layer x="1" y="4" h="1" w="-2" relatw="1" image="sui.component.bottom2" move="0" alpha="180"/>
+ <layer x="1" y="-24" relaty="1" h="1" w="-2" relatw="1" image="sui.component.top2" move="0" />
+
+ <group id="playlistpro" y="1" h="-23" x="2" w="-3" relath="1" relatw="1"/>
+
+ <Wasabi:Button action="PE_Add"
+ x="4" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.add"
+ center_image="1"
+ tooltip="Add Files to Playlist"
+ />
+
+ <Wasabi:Button action="PE_Rem"
+ x="29" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.rem"
+ center_image="1"
+ tooltip="Remove Files from Playlist"
+ />
+
+ <Wasabi:Button action="PE_Sel"
+ x="54" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.sel"
+ center_image="1"
+ tooltip="Select Files in Playlist"
+ />
+
+ <Wasabi:Button action="PE_Misc"
+ x="79" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.misc"
+ center_image="1"
+ tooltip="Misc Actions"
+ />
+
+ <Wasabi:Button action="PE_List"
+ x="104" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="pledit.tab.button.manage"
+ center_image="1"
+ tooltip="Manage Playlist"
+ />
+
+ <Wasabi:Button id="pe.move.top"
+ x="-27" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="pledit.tab.button.up"
+ center_image="1"
+ tooltip="Restore original Playlist position"
+ />
+
+ <text id="info" display="PE_Info" ticker="1"
+ x="131" y="-18" relaty="1" h="13" w="-161" relatw="1"
+ align="center" color="color.window.txt"
+ />
+
+</groupdef>
+
+<!-- SUI:Component:Visualization -->
+
+<groupdef id="wdh.vis">
+
+ <layer x="1" y="4" h="1" w="-2" relatw="1" image="sui.component.bottom2" move="0" alpha="180"/>
+ <layer x="1" y="-24" relaty="1" h="1" w="-2" relatw="1" image="sui.component.top2" move="0" />
+
+ <rect id="bg" color="0,0,0" x="1" y="5" w="-2" relatw="1" h="-29" relath="1" filled="1" rectrgn="1"/>
+
+ <windowholder id="wdh.vis.object" x="1" y="5" w="-2" relatw="1" h="-29" relath="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="0" visible="1" hold="guid:{0000000A-000C-0010-FF7B-01014263450C}"/>
+
+ <Button action="VIS_FS"
+ x="4" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="video.button.fullscreen.normal"
+ hoverImage="video.button.fullscreen.hover"
+ downImage="video.button.fullscreen.down"
+ tooltip="Fullscreen"
+ />
+
+ <Button action="VIS_Prev"
+ x="29" y="-21" h="21" w="21" relaty="1" rectrgn="1"
+ image="vis.button.prev.normal"
+ hoverImage="vis.button.prev.hover"
+ downImage="vis.button.prev.down"
+ tooltip="Previous Visualization Preset"
+ />
+
+ <Button action="VIS_Next"
+ x="51" y="-21" h="21" w="21" relaty="1" rectrgn="1"
+ image="vis.button.next.normal"
+ hoverImage="vis.button.next.hover"
+ downImage="vis.button.next.down"
+ tooltip="Next Visualization Preset"
+ />
+
+ <ToggleButton id="vis.random"
+ x="74" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ image="vis.button.random.normal"
+ hoverImage="vis.button.random.hover"
+ downImage="vis.button.random.down"
+ tooltip="Randomly change Visualization Presets"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <ToggleButton id="vis.random.active"
+ x="74" y="-21" h="21" w="24" relaty="1" rectrgn="1"
+ ActiveImage="vis.button.random.active"
+ ghost="1"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ />
+
+ <script file="scripts/syncbutton.maki" param="vis.random;vis.random.active" />
+
+ <Button action="VIS_Menu"
+ x="-52" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="vis.button.presets.normal"
+ hoverImage="vis.button.presets.hover"
+ downImage="vis.button.presets.down"
+ tooltip="Presets"
+ />
+
+ <Button action="VIS_Cfg"
+ x="-27" y="-21" h="21" w="24" relaty="1" relatx="1" rectrgn="1"
+ image="video.button.cfg.normal"
+ hoverImage="video.button.cfg.hover"
+ downImage="video.button.cfg.down"
+ tooltip="Preset Editor / Options"
+ />
+
+</groupdef>
+
+<groupdef id="sui.components">
+
+ <group id="wdh.ml" fitparent="1" visible="0" />
+ <group id="wdh.pl" fitparent="1" visible="0" />
+ <group id="wdh.vis" fitparent="1" visible="0" />
+ <group id="wdh.video" fitparent="1" visible="0" />
+ <!-- <group id="wdh.browser" fitparent="1" visible="0" /> -->
+
+</groupdef>
+
+<!--
+Params for <Bento:TabButton/>
+text="sometext"
+the object itself is a button.
+-->
+
+<groupdef id="bento.tabbutton" xuitag="Bento:TabButton" embed_xui="bento.tabbutton.mousetrap">
+
+ <grid id="bento.tabbutton.normal"
+ fitparent="1" y="0" h="-1" relath="1" visible="1"
+ left="sui.button.inactive.normal.left"
+ middle="sui.button.inactive.normal.center"
+ right="sui.button.inactive.normal.right"
+ />
+
+ <text id="bento.tabbutton.normal.text" x="8" y="4" w="-17" relatw="1" h="15" bold="1" align="center" font="Tahoma" fontsize="14" antialias="0" visible="1" color="color.tabbutton.text.inactive" shadow="1" shadowcolor="color.tabbutton.text.inactive.shadow" shadowx="0" shadowy="1"/>
+
+ <grid id="bento.tabbutton.hover"
+ fitparent="1" y="0" h="-1" relath="1" visible="0"
+ left="sui.button.inactive.hover.left"
+ middle="sui.button.inactive.hover.center"
+ right="sui.button.inactive.hover.right"
+ />
+
+ <text id="bento.tabbutton.hover.text" x="8" y="4" w="-17" relatw="1" h="15" bold="1" align="center" font="Tahoma" fontsize="14" antialias="0" visible="0" color="color.tabbutton.text.inactive.hover" shadow="1" shadowcolor="color.tabbutton.text.inactive.shadow" shadowx="0" shadowy="1"/>
+
+ <grid id="bento.tabbutton.active"
+ fitparent="1" y="0" h="-1" relath="1" visible="0"
+ left="sui.button.active.normal.left"
+ middle="sui.button.active.normal.center"
+ right="sui.button.active.normal.right"
+ />
+
+ <text id="bento.tabbutton.active.text" x="8" y="4" w="-17" relatw="1" h="15" bold="1" align="center" font="Tahoma" fontsize="14" antialias="0" visible="0" color="color.tabbutton.text.active" shadow="1" shadowcolor="color.tabbutton.text.active.shadow" shadowx="0" shadowy="1"/>
+
+ <grid id="bento.tabbutton.footer"
+ x="0" y="-1" h="1" w="0" relatw="1" relaty="1" visible="0"
+ left="sui.button.active.footer.left"
+ middle="sui.button.active.footer.center"
+ right="sui.button.active.footer.right"
+ />
+
+ <button id="bento.tabbutton.mousetrap" fitparent="1" y="1" h="-1" relath="1" rectrgn="1"/>
+
+ <script file="scripts/tabbutton.maki" />
+
+</groupdef>
+
+<groupdef id="sui.content" >
+
+ <grid fitparent="1" move="1"
+ topleft="sui.background.topleft"
+ top="sui.background.top"
+ topright="sui.background.topright"
+ left="sui.background.left"
+ middle="sui.background.center"
+ right="sui.background.right"
+ bottomleft="sui.background.bottomleft"
+ bottom="sui.background.bottom"
+ bottomright="sui.background.bottomright"
+ />
+
+ <grid x="1" y="29" h="-30" w="-2" relath="1" relatw="1"
+ topleft="sui.component.topleft"
+ top="sui.component.top"
+ topright="sui.component.topright"
+ left="sui.component.left"
+ middle="sui.component.center"
+ right="sui.component.right"
+ bottomleft="sui.component.bottomleft"
+ bottom="sui.component.bottom"
+ bottomright="sui.component.bottomright"
+ />
+
+ <Bento:TabButton id="switch.ml" x="4" h="23" w="112" y="7" tabtext="Media Library"/>
+ <Bento:TabButton id="switch.pl" x="117" h="23" w="62" y="7" tabtext="Playlist"/>
+ <Bento:TabButton id="switch.video" x="117" h="23" w="62" y="7" tabtext="Video"/>
+ <Bento:TabButton id="switch.vis" x="180" h="23" w="109" y="7" tabtext="Visualization"/>
+ <!-- <Bento:TabButton id="switch.browser" x="290" h="23" w="83" y="7" tabtext="Browser"/> -->
+
+ <script file="scripts/tabcontrol.maki" param="@HAVE_LIBRARY@"/>
+
+ <group id="sui.components" x="1" y="29" h="-32" w="-2" relatw="1" relath="1"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player-normal.xml b/Src/resources/skins/Big Bento/xml/player-normal.xml
new file mode 100644
index 00000000..1092016d
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player-normal.xml
@@ -0,0 +1,80 @@
+<include file="player-normal-group.xml"/>
+<include file="player-normal-sui.xml"/>
+<include file="player-normal-mcv.xml"/>
+
+<layout id="normal" minimum_h="492" minimum_w="633" h="600" w="800" appbar="top|bottom" >
+
+ <!-- Background Outfit -->
+
+ <group id="window.background.regions" fitparent="1" sysregion="1" />
+
+ <layer id="window.background.maximize" fitparent="1" image="window.background.maximized" sysregion="1" visible="0"/>
+
+ <layer x="0" y="23" w="5" h="5" image="window.background.topleft" resize="left" regionop="1"/>
+ <layer x="5" y="23" w="-10" relatw="1" h="5" image="window.background.top" regionop="1"/>
+ <layer x="-5" relatx="1" y="23" w="5" h="5" image="window.background.topright" resize="right" regionop="1"/>
+ <layer x="0" y="28" w="5" h="-33" relath="1" image="window.background.left" resize="left" regionop="1"/>
+ <layer x="5" y="28" w="-10" relatw="1" h="-33" relath="1" image="window.background.center" move="0" regionop="1"/>
+ <layer x="-5" relatx="1" y="28" w="5" h="-33" relath="1" image="window.background.right" resize="right" regionop="1"/>
+ <layer x="0" y="-5" relaty="1" w="5" h="5" image="window.background.bottomleft" resize="bottomleft" id="player.resizer.bottomleft" regionop="1"/>
+ <layer x="5" y="-5" relaty="1" w="-100" relatw="1" h="5" image="window.background.bottom" resize="bottom" id="player.resizer.bottom" regionop="1"/>
+ <layer x="-95" y="-15" relaty="1" w="44" relatx="1" h="15" image="window.background.collapse" resize="bottom" id="player.resizer.collapse" regionop="1"/>
+ <layer x="-51" y="-5" relaty="1" w="46" relatx="1" h="5" image="window.background.bottom" resize="bottom" id="player.resizer.bottom2" regionop="1"/>
+ <layer x="-5" relatx="1" y="-5" relaty="1" w="5" h="5" image="window.background.bottomright" regionop="1"/>
+ <layer x="-26" y="-15" w="19" h="10" relaty="1" relatx="1" image="window.background.resizer" id="player.resizer.bottomright" rectrgn="1" regionop="1"/>
+
+ <layer id="player.resizer.disable" x="0" y="23" h="-23" w="0" relath="1" relatw="1" rectrgn="1" move="0"/>
+
+ <layer x="2" y="24" image="window.background.gradient" move="0" ghost="1"/>
+
+ <group id="focus.dummy" x="5" w="-10" relatw="1" y="23" h="-28" relath="1" rectrgn="1" wantfocus="1" move="1"/>
+
+ <layer x="-26" y="-15" w="26" h="15" relaty="1" relatx="1" resize="bottomright" id="player.resizer.bottomright.dummy" rectrgn="1" />
+
+ <group x="0" y="0" h="23" w="0" relatw="1" id="player.titlebar" sysregion="1" wantfocus="1" rectrgn="1"/>
+
+ <Wasabi:Frame id="player.mainframe.big" x="6" y="27" w="-12" relath="0" h="122" from="left" relatw="1" orientation="v" maxwidth="-300" left="player.layout" right="player.dualwnd.pl.info" minwidth="290" width="290" jump="none" vgrabber="empty" vbitmap="empty"/>
+
+ <layer id="player.mainframe.grabber" ghost="1" x="295" y="27" h="119" w="8" image="wasabi.framewnd.verticaldivider" move="1"/>
+
+ <layer id="bolt.glow" x="246" y="115" image="player.button.bolt.glow" alpha="0" ghost="1"/>
+ <button
+ id="bolt"
+ action="TOGGLE" param="guid:{D6201408-476A-4308-BF1B-7BACA1124B12}"
+ x="246" y="122"
+ image="player.button.bolt.normal"
+ downImage="player.button.bolt.down"
+ hoverImage="player.button.bolt.hover"
+ />
+
+ <script file="scripts/pledit.maki" param="big"/>
+
+ <group id="sui.content" x="6" y="154" h="-174" relath="1" w="-12" relatw="1" sysregion="1" wantfocus="1"/>
+
+ <button
+ id="sui.show" regionop="1"
+ x="-95" w="44" y="-15" h="15" relatx="1" relaty="1"
+ image="window.button.expand.normal"
+ hoverImage="window.button.expand.hover"
+ downImage="window.button.expand.down"
+ tooltip="Expand Window"
+ />
+ <button
+ id="sui.hide" regionop="1"
+ x="-95" w="44" y="-15" h="15" relatx="1" relaty="1"
+ image="window.button.collapse.normal"
+ hoverImage="window.button.collapse.hover"
+ downImage="window.button.collapse.down"
+ tooltip="Collapse Window"
+ />
+
+ <script file="scripts/suicore.maki" param="166"/>
+ <!-- The main machine,
+ param - height of main wnd if you hide the sui
+ -->
+
+ <groupdef id="playlistpro">
+ <PlaylistPro id="centro.windowholder.playlist1" x="0" y="0" h="0" w="0" relath="1" relatw="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="1"/>
+ </groupdef>
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player-shade.xml b/Src/resources/skins/Big Bento/xml/player-shade.xml
new file mode 100644
index 00000000..29ed5d28
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player-shade.xml
@@ -0,0 +1,340 @@
+<groupdef id="shade.cbuttons">
+
+ <Button id="Prev"
+ x="0" y="0" h="16" w="14" rectrgn="1"
+ image="shade.button.previous.normal"
+ hoverImage="shade.button.previous.hover"
+ downImage="shade.button.previous.down"
+ action="PREV" tooltip="Previous Track"
+ />
+
+ <Button id="Play"
+ x="14" y="0" h="16" w="12" rectrgn="1"
+ image="shade.button.play.normal"
+ hoverImage="shade.button.play.hover"
+ downImage="shade.button.play.down"
+ action="PLAY" tooltip="Play"
+ />
+
+ <Button id="Pause"
+ x="26" y="0" h="16" w="12" rectrgn="1"
+ image="shade.button.pause.normal"
+ hoverImage="shade.button.pause.hover"
+ downImage="shade.button.pause.down"
+ action="PAUSE" tooltip="Pause Playback"
+ />
+
+ <Button id="Stop"
+ x="38" y="0" h="16" w="14" rectrgn="1"
+ image="shade.button.stop.normal"
+ hoverImage="shade.button.stop.hover"
+ downImage="shade.button.stop.down"
+ action="STOP" tooltip="Stop Playback"
+ />
+
+ <Button id="Next"
+ x="52" y="0" h="16" w="14" rectrgn="1"
+ image="shade.button.next.normal"
+ hoverImage="shade.button.next.hover"
+ downImage="shade.button.next.down"
+ action="NEXT" tooltip="Next Track"
+ />
+
+ <Button id="Eject"
+ x="72" y="0" h="16" w="15" rectrgn="1"
+ image="shade.button.eject.normal"
+ hoverImage="shade.button.eject.hover"
+ downImage="shade.button.eject.down"
+ action="EJECT" tooltip="Open File(s)"
+ />
+</groupdef>
+
+<groupdef id="shade.display">
+
+ <grid
+ x="0" y="0" h="18" w="-6" relatw="1" ghost="1"
+ left="shade.display.left"
+ middle="shade.display.middle"
+ right="shade.display.right"
+ />
+
+ <text id="SongTime"
+ x="3" y="7" h="5" w="35" relatw="0" timeroffstyle="1" timecolonwidth="6"
+ display="time" align="left" font="player.bitmapfont.songinfo"
+ />
+
+ <SongTicker id="Songticker" nograbb="1" move="1"
+ x="0" y="2" h="12" w="-8" relatw="1"
+ display="SONGTITLE" showlen="1" ticker="1" rightpadding="-3"
+ rightclickaction="trackmenu" dblclickaction="trackinfo" align="right"
+ color="color.display" fontsize="12" valign="top" bold="2"
+ />
+ <text id="InfoDisplay" nograbb="1" move="1"
+ x="0" y="2" h="12" w="-8" relatw="1" offsetx="-3"
+ align="right" color="color.display" fontsize="12" valign="top" bold="2" ghost="1"
+ />
+
+ <script file="scripts/songticker.maki" param="5,big" />
+
+</groupdef>
+
+<groupdef id="shade.vis">
+
+ <grid
+ x="0" y="0" h="18" w="-6" relatw="1" ghost="1"
+ left="shade.display.left"
+ middle="shade.display.middle"
+ right="shade.display.right"
+ />
+
+ <vis
+ id="main.vis"
+ x="4" y="4"
+ w="54" h="9"
+ colorbandpeak="162,193,204"
+ colorband1="82,97,102"
+ colorband2="74,88,93"
+ colorband3="78,92,97"
+ colorband4="83,97,104"
+ colorband5="88,102,107"
+ colorband6="94,107,112"
+ colorband7="100,113,118"
+ colorband8="106,120,125"
+ colorband9="112,121,131"
+ colorband10="117,131,136"
+ colorband11="122,137,142"
+ colorband12="127,141,146"
+ colorband13="131,145,150"
+ colorband14="136,150,155"
+ colorband15="140,154,159"
+ colorband16="145,159,164"
+ colorosc1="82,97,102"
+ colorosc2="83,97,104"
+ colorosc3="106,120,125"
+ colorosc4="127,141,146"
+ colorosc5="145,159,164"
+ gammagroup="Displaytext"
+ />
+
+ <layer id="main.vis.trigger" x="2" y="3" h="11" w="58" rectrgn="1"/>
+
+ <script file="scripts/visualizer.maki"/>
+
+</groupdef>
+
+<groupdef id="shade.volume">
+
+ <button id="mute" x="0" y="0" w="16" h="16"
+ image="shade.button.mute.normal"
+ hoverImage="shade.button.mute.hover"
+ downImage="shade.button.mute.down"
+ tooltip="Mute Volume"
+ />
+ <button id="etum" x="0" y="0" w="16" h="16"
+ image="shade.button.demute.normal"
+ hoverImage="shade.button.demute.hover"
+ downImage="shade.button.demute.down"
+ tooltip="Turn Volume on"
+ visible="0"
+ />
+
+ <layer id="player.volume.label" x="20" y="1" image="shade.label.volume" ghost="1"/>
+
+ <layer id="shade.volume.bg"
+ x="17" y="5" h="5" w="40"
+ image="shade.track.volume"
+ ghost="1"
+ />
+
+ <grid id="player.volume.fill"
+ x="19" y="7" h="2" w="38"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="Volume"
+ action="Volume"
+ x="16" y="4" h="10" w="42"
+ thumb="shade.volume.thumb.normal"
+ hoverThumb="shade.volume.thumb.hover"
+ downThumb="shade.volume.thumb.down"
+ tooltip="Volume"
+ />
+
+ <script file="scripts/mute.maki" param="38"/>
+ <!-- param = max_w for volume fillbar -->
+
+</groupdef>
+
+<groupdef id="shade.seek">
+
+ <grid id="player.seek.bg"
+ x="1" y="5" h="5" w="-5" relatw="1"
+ left="shade.track.seek.left"
+ middle="shade.track.seek.middle"
+ right="shade.track.seek.right"
+ />
+
+ <ProgressGrid id="progressbar"
+ x="3" y="7" h="2" w="-7" relatw="1"
+ orientation="right"
+ left="player.slider.light.left"
+ middle="player.slider.light.center"
+ right="player.slider.light.right"
+ />
+
+ <Slider
+ id="seeker"
+ action="SEEK"
+ x="0" y="4" h="10" w="-4" relatw="1"
+ thumb="shade.seek.thumb.normal"
+ hoverThumb="shade.seek.thumb.hover"
+ downThumb="shade.seek.thumb.down"
+ ghost="1"
+ visible="0"
+ tooltip="Seeker"
+ />
+
+ <Slider
+ id="seeker.ghost"
+ action="SEEK"
+ x="0" y="4" h="10" w="-4" relatw="1"
+ thumb="shade.seek.thumb.normal"
+ hoverThumb="shade.seek.thumb.hover"
+ downThumb="shade.seek.thumb.down"
+ tooltip="Seeker"
+ />
+
+ <script file="scripts/seek.maki"/>
+
+</groupdef>
+
+<groupdef id="shade.links">
+
+ <rect color="0,0,0" alpha="180" x="0" y="0" w="47" h="21" filled="1"/>
+
+ <button id="search" x="24" y="0" w="22" h="21"
+ image="shade.button.search.normal"
+ hoverImage="shade.button.search.hover"
+ downImage="shade.button.search.down"
+ tooltip="Search the web for this artist"
+ />
+ <layer id="search.bg" ghost="1" x="24" y="0" image="shade.button.icon.bg" />
+ <layer id="search.icon" ghost="1" x="24" y="0" image="shade.button.icon.search" />
+ <script file="scripts/syncbutton.maki" param="search;search.bg"/>
+ <script file="scripts/syncbutton.maki" param="search;search.icon"/>
+
+ <button id="nowplaying" x="1" y="0" w="22" h="21"
+ image="shade.button.search.normal"
+ hoverImage="shade.button.search.hover"
+ downImage="shade.button.search.down"
+ tooltip="More information about this artist"
+ />
+ <layer id="nowplaying.bg" ghost="1" x="1" y="0" image="shade.button.icon.bg" />
+ <layer id="nowplaying.icon" ghost="1" x="1" y="0" image="shade.button.icon.nowplaying" />
+ <script file="scripts/syncbutton.maki" param="nowplaying;nowplaying.bg"/>
+ <script file="scripts/syncbutton.maki" param="nowplaying;nowplaying.icon"/>
+
+ <script file="scripts/syncbutton.maki" param="nowplaying;nowplaying.icon"/>
+
+ <script file="scripts/shadelinks.maki"/>
+
+</groupdef>
+
+<layout id="shade" minimum_w="273" h="23" minimum_h="23" maximum_h="23" w="500" primarycomponent="guid:player" appbar="top|bottom">
+
+ <!-- Background -->
+
+ <group id="window.background.regions" fitparent="1" sysregion="1" />
+
+ <layer id="window.background.maximize" fitparent="1" image="window.background.maximized" sysregion="1" visible="0"/>
+
+ <grid
+ x="0" y="0" h="23" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.left"
+ middle="window.titlebar.grid.middle"
+ right="window.titlebar.grid.right"
+ />
+ <grid
+ x="0" y="0" h="23" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.over.left"
+ middle="window.titlebar.grid.over.middle"
+ right="window.titlebar.grid.over.right"
+ />
+
+ <layer x="35" y="7" image="window.titlebar.text.winamp" ghost="1" />
+
+ <guiobject fitparent="1" rectrgn="1" move="1" id="shade.mousetrap"/>
+
+ <!-- System Buttons -->
+
+ <button
+ x="7" y="5" h="13" w="15"
+ action="SYSMENU"
+ image="window.titlebar.button.sysmenu.normal"
+ hoverImage="window.titlebar.button.sysmenu.hover"
+ downImage="window.titlebar.button.sysmenu.down"
+ tooltip="Main Menu"
+ />
+
+ <button
+ x="-84" relatx="1" y="5" h="13" w="17"
+ id="shade.button.minimize"
+ action="MINIMIZE"
+ image="window.titlebar.button.minimize.normal"
+ hoverImage="window.titlebar.button.minimize.hover"
+ downImage="window.titlebar.button.minimize.down"
+ tooltip="Minimize Winamp"
+ />
+
+ <button
+ x="-64" relatx="1" y="5" h="13" w="17"
+ id="shade.button.restore"
+ image="window.titlebar.button.restore.normal"
+ hoverImage="window.titlebar.button.restore.hover"
+ downImage="window.titlebar.button.restore.down"
+ tooltip="Restore Winamp"
+ />
+
+ <button
+ x="-64" relatx="1" y="5" h="13" w="17"
+ id="shade.button.maximize"
+ image="window.titlebar.button.maximize.normal"
+ hoverImage="window.titlebar.button.maximize.hover"
+ downImage="window.titlebar.button.maximize.down"
+ tooltip="Maximize Winamp"
+ />
+
+ <button
+ x="-44" relatx="1" y="5" h="13" w="17"
+ action="SWITCH" param="normal"
+ image="window.titlebar.button.shade.normal"
+ hoverImage="window.titlebar.button.shade.hover"
+ downImage="window.titlebar.button.shade.down"
+ tooltip="Main Mode"
+ />
+
+ <button
+ x="-24" relatx="1" y="5" h="13" w="17"
+ action="CLOSE"
+ image="window.titlebar.button.close.normal"
+ hoverImage="window.titlebar.button.close.hover"
+ downImage="window.titlebar.button.close.down"
+ tooltip="Exit Winamp"
+ />
+
+ <layer x="-6" y="2" w="5" h="18" rectrgn="1" relatx="1" resize="right" image="shade.resizer.right" id="shade.resizer.right"/>
+ <layer x="-6" y="0" w="6" h="23" rectrgn="1" relatx="1" resize="right" id="shade.resizer.right2"/>
+
+ <group id="shade.display" x="163" y="3" w="100" h="18" visible="0"/>
+ <group id="shade.cbuttons" x="93" y="4" w="96" h="16"/>
+ <group id="shade.volume" x="163" y="4" w="65" h="16" visible="0"/>
+ <group id="shade.seek" x="-151" relatx="1" y="4" w="63" h="16" visible="0"/>
+ <group id="shade.vis" x="96" y="3" w="67" h="16" visible="0"/>
+ <group id="shade.links" x="0" y="1" w="51" h="21" relatx="1" visible="0"/>
+
+ <script file="scripts/shadesize.maki" param="90" />
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/player.xml b/Src/resources/skins/Big Bento/xml/player.xml
new file mode 100644
index 00000000..84559dce
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/player.xml
@@ -0,0 +1,64 @@
+<include file="player-elements.xml"/>
+<include file="playlistpro.xml"/>
+
+<container id="main" name="Main Window" primarycomponent="guid:player">
+
+ <include file="player-normal.xml"/>
+ <include file="player-shade.xml"/>
+
+</container>
+<!--
+<container id="browser.quicklink.edit.dialog2" name="Edit Quicklink" dynamic="1" default_visible="0" nomenu="1" >
+
+ <groupdef id="browser.quicklink.content">
+
+ <text x="5" y="3" text="Store Quick Link in:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:Combobox id="edit.parent" x="5" y="20" w="-10" h="20" relatw="1" maxitems="5"/>
+
+ <text x="5" y="43" text="Quick Link Name:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:editbox id="edit.name" x="5" y="60" w="-10" h="20" relatw="1"/>
+
+ <text x="5" y="83" text="Quick Link URL:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:editbox id="edit.url" x="5" y="100" w="-10" h="20" relatw="1"/>
+
+ <wasabi:button x="5" y="128" w="-10" h="19" relatw="1" text="OK" id="return.values"/>
+
+ </groupdef>
+
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" minimum_h="194" minimum_w="300" maximum_h="194" maximum_w="300" lockminmax="1" nodock="1" move="0" >
+
+ <Wasabi:StandardFrame:Static
+ fitparent="1"
+ regionop="1"
+ content="browser.quicklink.content"
+ />
+
+ </layout>
+
+</container>
+
+<container id="browser.submenu.edit2" name="Edit Submenu" dynamic="1" default_visible="0" nomenu="1" >
+
+ <groupdef id="browser.submenu.content">
+
+ <text x="5" y="2" text="Submenu Name:" color="color.window.txt" ghost="1" antialias="0"/>
+
+ <wasabi:editbox id="edit.name" x="5" y="20" w="-10" h="20" relatw="1"/>
+
+ <wasabi:button x="5" y="48" w="-10" h="19" relatw="1" text="OK" id="return.values"/>
+
+ </groupdef>
+
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" minimum_h="114" minimum_w="300" maximum_h="114" maximum_w="300" lockminmax="1" nodock="1" move="0" >
+
+ <Wasabi:StandardFrame:Static
+ fitparent="1"
+ regionop="1"
+ content="browser.submenu.content"
+ />
+ </layout>
+
+</container>--> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/playlistpro.xml b/Src/resources/skins/Big Bento/xml/playlistpro.xml
new file mode 100644
index 00000000..f765a409
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/playlistpro.xml
@@ -0,0 +1,62 @@
+<groupdef id="PlaylistPro.list.group" minimum_h="64" background="studio.BaseTexture">
+
+ <grid
+ fitparent="1"
+ topleft="sui.pl.search.box.1"
+ top="sui.pl.search.box.2"
+ topright="sui.pl.search.box.3"
+ left="sui.pl.search.box.4"
+ middle="sui.pl.search.box.5"
+ right="sui.pl.search.box.6"
+ bottomleft="sui.pl.search.box.7"
+ bottom="sui.pl.search.box.8"
+ bottomright="sui.pl.search.box.9"
+ sysregion="1"
+ />
+
+ <list id="PlaylistPro.list" x="4" y="0" w="-6" h="-24" relatw="1" relath="1" nocolheader="1" antialias="1" font="arial" multiselect="1"/>
+ <text id="PlaylistPro.list.news" x="3" y="-22" w="-6" h="20" relaty="1" relatw="1" text="Results found: 22 items" font="arial" color="wasabi.list.text" align="center" antialias="1" fontsize="17"/>
+ <layer x="0" y="-1" relaty="1" w="0" relatw="1" h="20" resize="bottom" />
+
+</groupdef>
+
+<container id="searchresults" name="Search Results" dynamic="1" default_visible="0" nomenu="1" nofocusapponclose="1" autoclose="1">
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" nodock="1" move="0" autoclose="1">
+ <group id="PlaylistPro.list.group" x="1" y="0" h="0" w="-12" relath="1" relatw="1"/>
+ <layer id="1px.patch" x="-11" y="0" w="1" relath="1" relatx="1" h="20" image="sui.pl.search.box.6" sysregion="1"/>
+ </layout>
+</container>
+
+
+<groupdef id="wasabi.edits" xuitag="Wasabi:EditBox2" embed_xui="wasabi.edit.box" h="24">
+ <button id="pl.search.edit.rect" x="1" y="2" w="-4" h="22" relatw="1" relath="0" rectrgn="1" tooltip="Click to search the playlist (Right-Click for search history)" cursor="IDC_IBEAM"/>
+ <text id="pl.search.edit.searchhelp" x="1" y="2" w="-5" h="19" relatw="1" antialias="1" color="wasabi.list.text" text="Search in Playlist" ghost="1" font="arial" alpha="230" fontsize="16"/>
+ <edit id="wasabi.edit.box" x="1" y="0" w="-21" h="22" relatw="1" relath="0" autoselect="1" visible="0"/>
+
+<button id="pl.search.edit.clear.text" x="-20" y="2" h="19" w="20" relatx="1" rectrgn="1" image="sui.pl.search.stop.bgv" visible="0"/>
+<button id="pl.search.edit.clear" x="-20" y="2" h="19" w="20" relatx="1" rectrgn="1" image="sui.pl.search.stop.1" hoverimage="sui.pl.search.stop.1" downimage="sui.pl.search.stop.3" cursor="IDC_HAND" tooltip="Clear Search" visible="0"/>
+</groupdef>
+
+<groupdef id="player.component.playlist.searchbar.search" h="30">
+ <grid x="0" y="0" h="31" w="0" relatw="1"
+ left="sui.pl.search.bgv.1" middle="sui.pl.search.bgv.2" right="sui.pl.search.bgv.3"/>
+
+ <grid x="0" y="0" h="30" w="0" relatw="1"
+ left="sui.pl.search.bg.1" middle="sui.pl.search.bg.2" right="sui.pl.search.bg.3"/>
+
+ <button id="pl.search.go" x="-26" y="4" h="19" w="20" relatx="1" image="sui.pl.search.go.1" hoverimage="sui.pl.search.go.2" downimage="sui.pl.search.go.3" tooltip="Go Search" rectrgn="1"/>
+ <Wasabi:EditBox2 id="pl.search.edit" x="4" y="4" relatw="1" w="-10" h="20" text=""/>
+</groupdef>
+<groupdef id="PlaylistPro.topbar">
+ <group id="player.component.playlist.searchbar.search" x="0" y="0" w="0" relatw="1"/>
+</groupdef>
+
+<groupdef id="PlaylistPro.xui" wantfocus="1" rectrgn="1" xuitag="PlaylistPro" embed_xui="wdh.playlist">
+ <!--rect fitparent="1" filled="1" color="wasabi.window.background"/-->
+
+ <windowholder id="wdh.playlist" h="0" x="0" w="0" relath="1" relatw="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="1" hold="guid:{45f3f7c1-a6f3-4ee6-a15e-125e92fc3f8d}"/>
+
+<group id="PlaylistPro.topbar" x="0" y="0" w="0" h="30" relatw="1" visible="0"/>
+ <script file="scripts/playlistpro.maki"/>
+</groupdef>
+
diff --git a/Src/resources/skins/Big Bento/xml/standardframe.xml b/Src/resources/skins/Big Bento/xml/standardframe.xml
new file mode 100644
index 00000000..35761760
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/standardframe.xml
@@ -0,0 +1,152 @@
+<!-- =======================================================================================================
+
+ This group serves as a template for all the Wasabi:StandardFrame objects
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.frame.layout">
+
+ <layer x="0" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="0" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="0" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+ <layer x="-1" relatx="1" y="-1" relaty="1" h="1" w="1" image="window.background.region" regionop="-2" />
+
+ <grid
+ x="0" y="0" h="23" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.left"
+ middle="window.titlebar.grid.middle"
+ right="window.titlebar.grid.right"
+ />
+ <grid
+ x="0" y="0" h="23" w="0" relatw="1" regionop="1"
+ left="window.titlebar.grid.over.left"
+ middle="window.titlebar.grid.over.middle"
+ right="window.titlebar.grid.over.right"
+ />
+
+ <layer x="0" y="0" h="23" w="0" relatw="1" move="1" />
+
+ <text id="componentname" x="27" y="5" w="-77" h="14" relatw="1" size="10" bold="1" default=":componentname" ghost="1" color="wasabi.titlebar.color" font="Arial" align="left" forceuppercase="1" antialias="1"/>
+
+ <layer x="0" y="23" w="5" h="5" image="window.background.topleft" resize="left" regionop="1"/>
+ <layer x="5" y="23" w="-10" relatw="1" h="5" image="window.background.top" regionop="1"/>
+ <layer x="-5" relatx="1" y="23" w="5" h="5" image="window.background.topright" resize="right" regionop="1"/>
+ <layer x="0" y="28" w="5" h="-33" relath="1" image="window.background.left" resize="left" regionop="1"/>
+ <layer x="5" y="28" w="-10" relatw="1" h="-33" relath="1" image="window.background.center" move="1" regionop="1"/>
+ <layer x="-5" relatx="1" y="28" w="5" h="-33" relath="1" image="window.background.right" resize="right" regionop="1"/>
+ <layer x="0" y="-5" relaty="1" w="5" h="5" image="window.background.bottomleft" resize="bottomleft" id="player.resizer.bottomleft" regionop="1"/>
+ <layer x="5" y="-5" relaty="1" w="-10" relatw="1" h="5" image="window.background.bottom" resize="bottom" id="player.resizer.bottom" regionop="1"/>
+ <layer x="-5" relatx="1" y="-5" relaty="1" w="5" h="5" image="window.background.bottomright" regionop="1"/>
+ <layer x="-26" y="-15" w="19" h="10" relaty="1" relatx="1" image="window.background.resizer" id="player.resizer.bottomright" rectrgn="1" regionop="1"/>
+ <layer x="-26" y="-15" w="26" h="11" relaty="1" relatx="1" resize="bottomright" id="player.resizer.bottomright.dummy" rectrgn="1" />
+
+ <layer id="window.resize.disabler" fitparent="1" move="1" visible="0"/>
+
+ <button
+ x="-44" relatx="1" y="5" h="13" w="17" visible="0"
+ id="restore"
+ image="window.titlebar.button.restore.normal"
+ hoverImage="window.titlebar.button.restore.hover"
+ downImage="window.titlebar.button.restore.down"
+ tooltip="Restore Window"
+ />
+
+ <button
+ x="-44" relatx="1" y="5" h="13" w="17"
+ id="maximize"
+ image="window.titlebar.button.maximize.normal"
+ hoverImage="window.titlebar.button.maximize.hover"
+ downImage="window.titlebar.button.maximize.down"
+ tooltip="Maximize Window"
+ />
+
+ <button
+ x="7" y="5" h="13" w="15"
+ action="SYSMENU"
+ image="window.titlebar.button.sysmenu.normal"
+ hoverImage="window.titlebar.button.sysmenu.hover"
+ downImage="window.titlebar.button.sysmenu.down"
+ tooltip="Main Menu"
+ />
+
+ <button
+ x="-24" relatx="1" y="5" h="13" w="17"
+ action="CLOSE"
+ image="window.titlebar.button.close.normal"
+ hoverImage="window.titlebar.button.close.hover"
+ downImage="window.titlebar.button.close.down"
+ tooltip="Close Window"
+ />
+
+ <LayoutStatus id="sysmenu.status" bg="0" x="5" y="2" h="13" w="15" includeonly="{system}" />
+ <hideobject target="sysmenu.status"/>
+
+ <script file="scripts/simplemaximize.maki"/>
+
+ </groupdef>
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Status /> implementation
+
+======================================================================================================== -->
+
+ <groupdef id="wasabi.standardframe.statusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Status">
+
+ <group id="wasabi.frame.layout" x="0" y="0" w="0" relatw="1" h="0" relath="1"/>
+
+ <LayoutStatus id="standardframe.layoutstatus" x="5" y="-33" relaty="1" w="-10" relatw="1" h="18" exclude="{system}" />
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="5,26,-10,-63,0,0,1,1" />
+
+</groupdef>
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:NoStatus /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:NoStatus">
+
+ <group id="wasabi.frame.layout" x="0" y="0" w="0" h="0" relatw="1" relath="1"/>
+
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="5,26,-10,-45,0,0,1,1" />
+
+</groupdef>
+
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Modal /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.modal" inherit_group="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Modal">
+ <sendparams target="window.resize.disabler" visible="1" />
+ <sendparams target="player.resizer.bottomright" visible="0" />
+ <sendparams target="restore" visible="0" />
+ <sendparams target="maximize" visible="0" />
+</groupdef>
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Static /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.static" inherit_group="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Static">
+ <sendparams target="window.resize.disabler" visible="1" />
+ <sendparams target="player.resizer.bottomright" visible="0" />
+ <sendparams target="restore" visible="0" />
+ <sendparams target="maximize" visible="0" />
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/system-colors.xml b/Src/resources/skins/Big Bento/xml/system-colors.xml
new file mode 100644
index 00000000..ce2c3238
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/system-colors.xml
@@ -0,0 +1,87 @@
+<elements>
+
+ <!-- General Color Definitions -->
+
+ <color id="color.display" value="147,175,185" gammagroup="DisplayText"/>
+ <color id="color.display.bg" value="8,9,10" gammagroup="PlayerDisplay"/>
+ <color id="color.window.bg" value="51,55,56" gammagroup="WindowBackground"/>
+ <color id="color.window.txt" value="210,210,210" gammagroup="WindowText"/>
+ <color id="color.selected.active" value="200,200,200" gammagroup="Selection"/>
+ <color id="color.selected.active.bg" value="49,53,64" gammagroup="SelectionBg"/>
+ <color id="color.selected.inactive.bg" value="42,46,57" gammagroup="SelectionBg Inactive"/>
+
+ <color id="color.tabbutton.text.inactive" value="196,196,196" gammagroup="CompButtonInactiveText"/>
+ <color id="color.tabbutton.text.active" value="220,220,220" gammagroup="CompButtonActiveText"/>
+ <color id="color.tabbutton.text.inactive.hover" value="215,215,215" gammagroup="CompButtonInactiveText"/>
+ <color id="color.tabbutton.text.inactive.shadow" value="16,16,16" gammagroup="CompButtonInactive"/>
+ <color id="color.tabbutton.text.active.shadow" value="13,13,13" gammagroup="CompButtonActive"/>
+
+ <!-- Specific Color Definitions -->
+
+ <color id="wasabi.text.color" value="color.window.txt" gammagroup="WindowText"/>
+ <color id="wasabi.titlebar.color" value="216,217,219" gammagroup="TitlebarText"/>
+
+ <color id="white" value="255,255,255" gammagroup="DisplayText"/>
+ <color id="white" value="color.window.txt" gammagroup="WindowText"/>
+
+ <!-- Generic Trees -->
+ <color id="wasabi.tree.text" value="color.display" gammagroup="DisplayText"/> <!-- Item text color -->
+ <color id="wasabi.tree.selected" value="color.selected.active" gammagroup="Selection"/> <!-- Select item text background color -->
+ <color id="wasabi.tree.hiliteddrop" value="color.selected.active" gammagroup="Selection"/> <!-- Drop marker color -->
+
+ <!-- Generic Lists -->
+ <color id="wasabi.list.text" value="color.display" gammagroup="DisplayText"/> <!--lists/trees item foreground (also edit text) -->
+ <color id="wasabi.list.background" value="color.display.bg" gammagroup="PlayerDisplay"/> <!--lists/trees item background (also bg for edit) -->
+ <color id="wasabi.list.text.alternate" value="147,175,185" gammagroup="DisplayText"/>
+ <color id="wasabi.list.background.alternate" value="13,14,15" gammagroup="PlayerDisplay"/>
+
+ <color id="wasabi.list.text.selected" value="color.selected.active" gammagroup="Selection"/> <!--listview/treeview selection bar text color -->
+ <color id="wasabi.list.text.selected.background" value="color.selected.active.bg" gammagroup="SelectionBg"/> <!--listview/treeview selection bar backcolor -->
+ <color id="studio.list.item.selected" value="color.selected.active" gammagroup="Selection"/>
+ <color id="studio.list.item.focused" value="color.selected.active.bg" gammagroup="SelectionBg"/>
+
+
+ <color id="wasabi.list.text.current" value="color.selected.active" gammagroup="Selection"/> <!-- currently playing item in lists -->
+ <color id="wasabi.list.text.selected.inactive" value="color.window.txt" gammagroup="WindowText"/> <!-- listview/treeview selection bar textcolor (inactive) -->
+ <color id="wasabi.list.text.selected.background.inactive" value="color.selected.inactive.bg" gammagroup="SelectionBg Inactive"/> <!-- listview/treeview selectionbar back color (inactive) -->
+
+ <color id="wasabi.list.column.background" value="73,76,77" gammagroup="Column"/> <!-- listview header background color -->
+ <color id="wasabi.list.column.text" value="color.window.txt" gammagroup="Column Text"/> <!-- listview header text color -->
+ <color id="wasabi.list.column.frame.top" value="100,103,104" gammagroup="Column"/> <!-- listview header frame top color -->
+ <color id="wasabi.list.column.frame.middle" value="57,61,62" gammagroup="Column"/> <!-- listview header frame middle color -->
+ <color id="wasabi.list.column.frame.bottom" value="31,34,35" gammagroup="Column"/> <!-- listview header frame bottom color -->
+ <color id="wasabi.list.column.empty" value="color.window.bg" gammagroup="ComponentFrame"/> <!-- listview header empty color (beyond the columns -->
+
+ <!-- edit wnds -->
+ <color id="wasabi.window.background" value="color.window.bg" gammagroup="ComponentFrame"/> <!--window background. - If this color is not defined, a whole container is created in memory to extract a pixel, so specifying it makes skin loading faster -->
+ <color id="wasabi.window.text" value="color.window.txt" gammagroup="WindowText"/> <!--text color within windows -->
+ <color id="wasabi.border.sunken" value="73,76,77" gammagroup="ComponentFrame"/> <!-- color of dividers and sunken borders -->
+
+ <color id="wasabi.scrollbar.foreground" value="20,21,22" gammagroup="ScrollBarTrack"/> <!-- scrollbar foreground color -->
+ <color id="wasabi.scrollbar.background" value="20,21,22" gammagroup="ScrollBarTrack"/> <!-- scrollbar background color -->
+ <color id="wasabi.scrollbar.foreground.inverted" value="20,21,22" gammagroup="ScrollBarTrack"/> <!-- inverse scrollbar foreground color -->
+ <color id="wasabi.scrollbar.background.inverted" value="20,21,22" gammagroup="ScrollBarTrack"/> <!-- inverse scrollbar background color -->
+
+ <color id="wasabi.button.text" value="color.window.txt" gammagroup="Column Text"/> <!-- Buttons text color -->
+ <color id="wasabi.button.hiliteText" value="color.display" gammagroup="DisplayText"/> <!-- Buttons hilite text color, used by tab windows-->
+ <color id="wasabi.button.dimmedText" value="149,156,169" gammagroup="PlayerButton"/> <!-- Buttons dimmed text color, when disabled -->
+
+ <bitmap id="wasabi.tree.background" file="$solid" h="64" w="64" color="8,9,10" gammagroup="PlayerDisplay"/><!-- Tree background bitmap (tile) -->
+ <bitmap id="wasabi.list.background" file="$solid" h="64" w="64" color="8,9,10" gammagroup="PlayerDisplay"/><!-- Tree background bitmap (tile) -->
+
+ <!-- Winamp 5.53+ MediaLibrary PopupMenu -->
+
+ <color id="wasabi.popupmenu.frame" value="100,103,104" gammagroup="WindowBackground"/>
+ <color id="wasabi.popupmenu.separator" value="36,37,38" gammagroup="WindowBackground"/>
+ <color id="wasabi.popupmenu.background.selected" value="100,103,104" gammagroup="WindowBackground"/>
+ <!-- pre 5.55:
+ <color id="wasabi.popupmenu.background" value="color.display.bg" gammagroup="PlayerDisplay"/>
+ <color id="wasabi.popupmenu.background.selected" value="color.selected.active.bg" gammagroup="SelectionBg"/>
+ <color id="wasabi.popupmenu.text" value="color.display" gammagroup="DisplayText"/>
+ <color id="wasabi.popupmenu.text.selected" value="color.selected.active" gammagroup="Selection"/>
+ <color id="wasabi.popupmenu.text.inactive" value="20,21,22" gammagroup="ScrollBarTrack"/>
+ <color id="wasabi.popupmenu.frame" value="20,21,22" gammagroup="ScrollBarTrack"/>
+ <color id="wasabi.popupmenu.separator" value="20,21,22" gammagroup="ScrollBarTrack"/>
+ -->
+
+</elements>
diff --git a/Src/resources/skins/Big Bento/xml/system-elements.xml b/Src/resources/skins/Big Bento/xml/system-elements.xml
new file mode 100644
index 00000000..2b3c57af
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/system-elements.xml
@@ -0,0 +1,126 @@
+<elements>
+
+<!-- Scrollbars (on List, Tree, etc...) -->
+ <bitmap id="wasabi.scrollbar.vertical.button" file="window/scrollbars.png" x="20" y="0" h="31" w="13" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.vertical.button.hover" file="window/scrollbars.png" x="20" y="0" h="31" w="13" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.vertical.button.pressed" file="window/scrollbars.png" x="40" y="0" h="31" w="13" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.left" file="window/scrollbars.png" x="60" y="0" h="14" w="13" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.vertical.left.hover" file="window/scrollbars.png" x="60" y="0" h="14" w="13" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.vertical.left.pressed" file="window/scrollbars.png" x="80" y="0" h="14" w="13" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.right" file="window/scrollbars.png" x="60" y="26" h="14" w="13" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.vertical.right.hover" file="window/scrollbars.png" x="60" y="26" h="14" w="13" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.vertical.right.pressed" file="window/scrollbars.png" x="80" y="26" h="14" w="13" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.background" file="window/scrollbars.png" x="0" y="0" w="13" h="17" gammagroup="ComponentFrame"/>
+ <bitmap id="wasabi.scrollbar.vertical.background.top" file="window/scrollbars.png" x="0" y="0" w="13" h="17" gammagroup="ComponentFrame"/>
+ <bitmap id="wasabi.scrollbar.vertical.background.middle" file="window/scrollbars.png" x="0" y="0" w="13" h="17" gammagroup="ComponentFrame"/>
+ <bitmap id="wasabi.scrollbar.vertical.background.bottom" file="window/scrollbars.png" x="0" y="0" w="13" h="17" gammagroup="ComponentFrame"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.button" file="window/scrollbars.png" x="12" y="70" h="13" w="31" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.horizontal.button.hover" file="window/scrollbars.png" x="12" y="70" h="13" w="31" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.horizontal.button.pressed" file="window/scrollbars.png" x="12" y="90" h="13" w="31" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.left" file="window/scrollbars.png" x="0" y="110" h="13" w="14" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.horizontal.left.hover" file="window/scrollbars.png" x="0" y="110" h="13" w="14" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.horizontal.left.pressed" file="window/scrollbars.png" x="0" y="130" h="13" w="14" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.right" file="window/scrollbars.png" x="26" y="110" h="13" w="14" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.horizontal.right.hover" file="window/scrollbars.png" x="26" y="110" h="13" w="14" gammagroup="Column"/>
+ <bitmap id="wasabi.scrollbar.horizontal.right.pressed" file="window/scrollbars.png" x="26" y="130" h="13" w="14" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.background" file="window/scrollbars.png" x="18" y="50" w="17" h="13" gammagroup="ComponentFrame"/>
+ <bitmap id="wasabi.scrollbar.horizontal.background.top" file="window/scrollbars.png" x="18" y="50" w="17" h="13" gammagroup="ComponentFrame"/>
+ <bitmap id="wasabi.scrollbar.horizontal.background.middle" file="window/scrollbars.png" x="18" y="50" w="17" h="13" gammagroup="ComponentFrame"/>
+ <bitmap id="wasabi.scrollbar.horizontal.background.bottom" file="window/scrollbars.png" x="18" y="50" w="17" h="13" gammagroup="ComponentFrame"/>
+
+<!-- Generic Button -->
+ <bitmap id="wasabi.button.label.arrow.up" file="window/window-elements.png" x="137" y="75" h="4" w="7" gammagroup="Column Text"/>
+ <bitmap id="wasabi.button.label.arrow.down" file="window/window-elements.png" x="137" y="86" h="6" w="7" gammagroup="Column Text"/>
+ <bitmap id="wasabi.button.label.arrow.left" file="window/window-elements.png" x="133" y="79" h="7" w="4" gammagroup="Column Text"/>
+ <bitmap id="wasabi.button.label.arrow.right" file="window/window-elements.png" x="144" y="79" h="7" w="4" gammagroup="Column Text"/>
+ <bitmap id="wasabi.button.label.ellipses" file="window/window-elements.png" x="138" y="92" h="1" w="5" gammagroup="Column Text"/>
+
+ <bitmap id="wasabi.button.top.left" file="window/window-elements.png" x="0" y="134" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.top" file="window/window-elements.png" x="4" y="134" h="4" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.top.right" file="window/window-elements.png" x="29" y="134" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.left" file="window/window-elements.png" x="0" y="138" h="25" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.center" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.right" file="window/window-elements.png" x="29" y="138" h="25" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.bottom.left" file="window/window-elements.png" x="0" y="163" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.bottom" file="window/window-elements.png" x="4" y="163" h="4" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.bottom.right" file="window/window-elements.png" x="29" y="163" h="4" w="4" gammagroup="Column"/>
+
+ <bitmap id="wasabi.button.hover.top.left" file="window/window-elements.png" x="33" y="134" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.top" file="window/window-elements.png" x="37" y="134" h="4" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.top.right" file="window/window-elements.png" x="62" y="134" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.left" file="window/window-elements.png" x="33" y="138" h="25" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.center" file="window/window-elements.png" x="37" y="138" h="25" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.right" file="window/window-elements.png" x="62" y="138" h="25" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.bottom.left" file="window/window-elements.png" x="33" y="163" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.bottom" file="window/window-elements.png" x="37" y="163" h="4" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.bottom.right" file="window/window-elements.png" x="62" y="163" h="4" w="4" gammagroup="Column"/>
+
+ <bitmap id="wasabi.button.pressed.top.left" file="window/window-elements.png" x="66" y="134" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.top" file="window/window-elements.png" x="70" y="134" h="4" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.top.right" file="window/window-elements.png" x="95" y="134" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.left" file="window/window-elements.png" x="66" y="138" h="25" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.center" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.right" file="window/window-elements.png" x="95" y="138" h="25" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.bottom.left" file="window/window-elements.png" x="66" y="163" h="4" w="4" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.bottom" file="window/window-elements.png" x="70" y="163" h="4" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.bottom.right" file="window/window-elements.png" x="95" y="163" h="4" w="4" gammagroup="Column"/>
+
+ <bitmap id="wasabi.button.middle" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.hover.middle" file="window/window-elements.png" x="37" y="138" h="25" w="25" gammagroup="Column"/>
+ <bitmap id="wasabi.button.pressed.middle" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Column"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.grip" file="window/scrollgrips.png" x="0" y="0" h="8" w="6" gammagroup="Column Text"/>
+ <bitmap id="wasabi.scrollbar.horizontal.grip" file="window/scrollgrips.png" x="7" y="0" h="6" w="8" gammagroup="Column Text"/>
+
+<!-- Object Frame-->
+ <bitmap id="wasabi.objectframe.top.left" file="window/window-elements.png" x="0" y="114" h="1" w="1" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.top" file="window/window-elements.png" x="1" y="114" h="1" w="17" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.top.right" file="window/window-elements.png" x="18" y="114" h="1" w="1" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.left" file="window/window-elements.png" x="0" y="115" h="17" w="1" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.center" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.right" file="window/window-elements.png" x="18" y="115" h="17" w="1" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.bottom.left" file="window/window-elements.png" x="0" y="132" h="1" w="1" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.bottom" file="window/window-elements.png" x="1" y="132" h="1" w="17" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.objectframe.bottom.right" file="window/window-elements.png" x="18" y="132" h="1" w="1" gammagroup="PlayerDisplay"/>
+
+<!-- Standard Configuration Widgets -->
+ <bitmap id="wasabi.button.checkbox" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.button.checkbox.pressed" file="window/window-elements.png" x="58" y="77" h="7" w="7" gammagroup="DisplayText"/>
+
+ <bitmap id="wasabi.button.checkbox.xbox" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.button.checkbox.xbox.pressed" file="window/window-elements.png" x="65" y="77" h="7" w="7" gammagroup="DisplayText"/>
+
+ <bitmap id="wasabi.button.radio.background" file="window/window-elements.png" x="58" y="66" h="11" w="11" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.button.radio.background.display" file="window/window-elements.png" x="69" y="66" h="9" w="9" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.button.radio" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.button.radio.pressed" file="window/window-elements.png" x="72" y="77" h="7" w="7" gammagroup="DisplayText"/>
+
+<!-- Frame windows -->
+ <bitmap id="wasabi.framewnd.verticaldivider" file="window/window-elements.png" x="124" y="53" h="65" w="8" gammagroup="Frame_Borders"/>
+ <bitmap id="wasabi.framewnd.verticalgrabber" file="window/window-elements.png" x="115" y="53" h="65" w="8" gammagroup="Frame_Borders"/>
+ <bitmap id="wasabi.framewnd.horizontaldivider" file="window/window-elements.png" x="40" y="97" h="8" w="65" gammagroup="Frame_Borders"/>
+ <bitmap id="wasabi.framewnd.horizontalgrabber" file="window/window-elements.png" x="40" y="106" h="8" w="65" gammagroup="Frame_Borders"/>
+ <bitmap id="wasabi.framewnd.windowshade" file="window/framewnd-windowshade.png" gammagroup="Frame_Borders"/>
+
+ <bitmap id="wasabi.frame.divider.arrow.up" file="window/window-elements.png" x="64" y="124" h="4" w="7" gammagroup="Frame_Borders"/>
+ <bitmap id="wasabi.frame.divider.arrow.down" file="window/window-elements.png" x="64" y="128" h="4" w="7" gammagroup="Frame_Borders"/>
+
+<!-- Combo Box List-->
+ <bitmap id="wasabi.dropdownlist.list.top.left" file="window/window-elements.png" x="40" y="124" h="1" w="1"/>
+ <bitmap id="wasabi.dropdownlist.list.top" file="window/window-elements.png" x="41" y="124" h="1" w="10"/>
+ <bitmap id="wasabi.dropdownlist.list.top.right" file="window/window-elements.png" x="51" y="124" h="1" w="1"/>
+ <bitmap id="wasabi.dropdownlist.list.left" file="window/window-elements.png" x="40" y="125" h="8" w="1"/>
+ <bitmap id="wasabi.dropdownlist.list.center" file="window/window-elements.png" x="41" y="125" h="8" w="10" gammagroup="PlayerDisplay"/>
+ <bitmap id="wasabi.dropdownlist.list.right" file="window/window-elements.png" x="51" y="125" h="8" w="1"/>
+ <bitmap id="wasabi.dropdownlist.list.bottom.left" file="window/window-elements.png" x="40" y="133" h="1" w="1"/>
+ <bitmap id="wasabi.dropdownlist.list.bottom" file="window/window-elements.png" x="41" y="133" h="1" w="10"/>
+ <bitmap id="wasabi.dropdownlist.list.bottom.right" file="window/window-elements.png" x="51" y="133" h="1" w="1"/>
+
+</elements> \ No newline at end of file
diff --git a/Src/resources/skins/Big Bento/xml/window-overrides.xml b/Src/resources/skins/Big Bento/xml/window-overrides.xml
new file mode 100644
index 00000000..5bd1b7d3
--- /dev/null
+++ b/Src/resources/skins/Big Bento/xml/window-overrides.xml
@@ -0,0 +1,83 @@
+<!-- This file is needed to prohibit the SUI Components show in a stand alone window -->
+
+<container id="MLibrary" name="Media Library" dynamic="1" component="guid:{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}" default_x="-1" default_y="-1" default_visible="0">
+
+ <layout id="normal" h="1" w="1">
+
+ <!--component
+ x="0"
+ y="0"
+ w="1"
+ h="1"
+ noshowcmdbar="1"
+ autoopen="0"
+ autoclose="0"
+ param="guid:{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}"
+ /-->
+
+ <!--script file="scripts/wndkill.maki" /-->
+
+ </layout>
+
+</container>
+
+<container id="AVS" name="Visualizations" dynamic="1" component="guid:{0000000A-000C-0010-FF7B-01014263450C}" default_x="-1" default_y="-1" default_visible="0">
+
+ <layout id="normal" h="1" w="1">
+
+ <component
+ x="0"
+ y="0"
+ w="1"
+ h="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="1"
+ param="guid:{0000000A-000C-0010-FF7B-01014263450C}"
+ />
+
+ </layout>
+
+</container>
+
+
+<container id="Video" name="Video" dynamic="1" component="guid:{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}" default_x="-1" default_y="-1" default_visible="0">
+
+ <layout id="normal" h="1" w="1">
+
+ <component
+ x="0"
+ y="0"
+ w="1"
+ h="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="1"
+ param="guid:{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"
+ />
+
+ </layout>
+
+</container>
+
+
+<container id="Pledit" name="Playlist Editor" dynamic="1" component="guid:{45F3F7C1-A6F3-4ee6-A15E-125E92FC3F8D}" default_x="-1" default_y="-1" default_visible="0">
+
+ <layout id="normal" h="1" w="1">
+
+ <component
+ x="0"
+ y="0"
+ w="1"
+ h="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="1"
+ param="guid:{45F3F7C1-A6F3-4ee6-A15E-125E92FC3F8D}"
+ />
+
+ <!--script file="scripts/wndkill.maki" /-->
+
+ </layout>
+
+</container> \ No newline at end of file
diff --git a/Src/resources/skins/Nokia/Nokia_3250.wal b/Src/resources/skins/Nokia/Nokia_3250.wal
new file mode 100644
index 00000000..63adfe14
--- /dev/null
+++ b/Src/resources/skins/Nokia/Nokia_3250.wal
Binary files differ
diff --git a/Src/resources/skins/Nokia/Nokia_Edition.wal b/Src/resources/skins/Nokia/Nokia_Edition.wal
new file mode 100644
index 00000000..497ff195
--- /dev/null
+++ b/Src/resources/skins/Nokia/Nokia_Edition.wal
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/about/about.maki b/Src/resources/skins/Winamp Modern/about/about.maki
new file mode 100644
index 00000000..82218e25
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/about.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/about/about.xml b/Src/resources/skins/Winamp Modern/about/about.xml
new file mode 100644
index 00000000..76a8d7a4
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/about.xml
@@ -0,0 +1,138 @@
+<elements>
+ <bitmap id="about.bg" file="about/about_bg.png"/>
+ <bitmap id="about.fg" file="about/about_fg.png"/>
+ <bitmap id="about.winampbolt" file="about/about_bolt.png"/>
+ <bitmap id="about.starani" file="about/about_star.png"/>
+ <bitmap id="about.eye" file="about/eye.png"/>
+
+ <color id="font.about.color1" value="255,225,155" gammagroup=""/>
+ <color id="font.about.color2" value="255,255,255" gammagroup=""/>
+
+</elements>
+
+<groupdef id="skin.about.group" w="0" h="0" relatw="1" relath="1" rectrgn="1">
+ <rect fitparent="1" color="110,119,134" filled="1" />
+ <layer
+ x="0" y="0"
+ w="0" relatw="1"
+ h="321"
+ image="about.bg"
+ />
+ <layer
+ x="0" y="0"
+ w="371"
+ h="321"
+ image="about.fg"
+ />
+ <layer
+ id="about.bolt"
+ x="153" y="149"
+ w="56"
+ h="56"
+ image="about.winampbolt"
+ />
+ <layer
+ id="about.eye1"
+ x="186" y="78"
+ w="3"
+ h="4"
+ image="about.eye"
+ />
+ <layer
+ id="about.eye2"
+ x="197" y="79"
+ w="3"
+ h="4"
+ image="about.eye"
+ />
+ <AnimatedLayer
+ x="-75" y="-70"
+ w="68" h="70"
+ id="about.star1"
+ image="about.starani"
+ autoplay="0"
+ autoreplay="0"
+ />
+ <AnimatedLayer
+ x="-75" y="-70"
+ w="68" h="70"
+ id="about.star2"
+ image="about.starani"
+ autoplay="0"
+ autoreplay="0"
+ />
+ <AnimatedLayer
+ x="-75" y="-70"
+ w="68" h="70"
+ id="about.star3"
+ image="about.starani"
+ autoplay="0"
+ autoreplay="0"
+ />
+ <AnimatedLayer
+ x="-75" y="-70"
+ w="68" h="70"
+ id="about.star4"
+ image="about.starani"
+ autoplay="0"
+ autoreplay="0"
+ />
+
+
+ <text
+ id="about.text1b"
+ color="font.about.color1"
+ x="10" y="13"
+ w="351"
+ h="20"
+ valign="top"
+ align="center"
+ fontsize="13"
+ font="Arial"
+ bold="1"
+ default=""
+ />
+ <text
+ id="about.text2b"
+ color="font.about.color1"
+ x="10" y="13"
+ w="351"
+ h="20"
+ valign="top"
+ align="center"
+ fontsize="13"
+ font="Arial"
+ bold="1"
+ default=""
+ />
+
+ <text
+ id="about.text1"
+ color="font.about.color2"
+ x="10" y="27"
+ w="351"
+ h="30"
+ valign="top"
+ align="center"
+ fontsize="17"
+ font="Arial"
+ default=""
+ />
+ <text
+ id="about.text2"
+ color="font.about.color2"
+ x="10" y="27"
+ w="351"
+ h="30"
+ valign="top"
+ align="center"
+ fontsize="17"
+ font="Arial"
+ default=""
+ />
+
+ <guiobject fitparent="1" />
+
+ <script file="about/about.maki"/>
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/about/about_bg.png b/Src/resources/skins/Winamp Modern/about/about_bg.png
new file mode 100644
index 00000000..24be94e1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/about_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/about/about_bolt.png b/Src/resources/skins/Winamp Modern/about/about_bolt.png
new file mode 100644
index 00000000..8d41135a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/about_bolt.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/about/about_fg.png b/Src/resources/skins/Winamp Modern/about/about_fg.png
new file mode 100644
index 00000000..d420ac2b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/about_fg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/about/about_star.png b/Src/resources/skins/Winamp Modern/about/about_star.png
new file mode 100644
index 00000000..c5195aa9
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/about_star.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/about/eye.png b/Src/resources/skins/Winamp Modern/about/eye.png
new file mode 100644
index 00000000..350abea7
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/about/eye.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/notifier/aol_radio_alb_art.jpg b/Src/resources/skins/Winamp Modern/notifier/aol_radio_alb_art.jpg
new file mode 100644
index 00000000..cdf7662b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/notifier/aol_radio_alb_art.jpg
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/notifier/notif-bg-alpha.png b/Src/resources/skins/Winamp Modern/notifier/notif-bg-alpha.png
new file mode 100644
index 00000000..e9e16822
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/notifier/notif-bg-alpha.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/notifier/notif-bg.png b/Src/resources/skins/Winamp Modern/notifier/notif-bg.png
new file mode 100644
index 00000000..b3681808
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/notifier/notif-bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/notifier/sc_alb_art.jpg b/Src/resources/skins/Winamp Modern/notifier/sc_alb_art.jpg
new file mode 100644
index 00000000..64752759
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/notifier/sc_alb_art.jpg
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/Eq_bg.png b/Src/resources/skins/Winamp Modern/player/Eq_bg.png
new file mode 100644
index 00000000..5d2bfd79
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/Eq_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/Options_buttons.png b/Src/resources/skins/Winamp Modern/player/Options_buttons.png
new file mode 100644
index 00000000..058f3e6a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/Options_buttons.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/Options_elements.PNG b/Src/resources/skins/Winamp Modern/player/Options_elements.PNG
new file mode 100644
index 00000000..d378aecf
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/Options_elements.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/Songtickerfont.png b/Src/resources/skins/Winamp Modern/player/Songtickerfont.png
new file mode 100644
index 00000000..3b3070ba
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/Songtickerfont.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/beat_displayoverlay.png b/Src/resources/skins/Winamp Modern/player/beat_displayoverlay.png
new file mode 100644
index 00000000..7c4d1242
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/beat_displayoverlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/beat_l2.png b/Src/resources/skins/Winamp Modern/player/beat_l2.png
new file mode 100644
index 00000000..43ab1310
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/beat_l2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/beat_left.png b/Src/resources/skins/Winamp Modern/player/beat_left.png
new file mode 100644
index 00000000..f19a9a90
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/beat_left.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/beat_r2.png b/Src/resources/skins/Winamp Modern/player/beat_r2.png
new file mode 100644
index 00000000..85aa4908
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/beat_r2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/beat_right.png b/Src/resources/skins/Winamp Modern/player/beat_right.png
new file mode 100644
index 00000000..f704da80
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/beat_right.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/beat_textoverlay.png b/Src/resources/skins/Winamp Modern/player/beat_textoverlay.png
new file mode 100644
index 00000000..4862b7d1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/beat_textoverlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/bolt.png b/Src/resources/skins/Winamp Modern/player/bolt.png
new file mode 100644
index 00000000..a70e9add
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/bolt.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_balance.png b/Src/resources/skins/Winamp Modern/player/button_balance.png
new file mode 100644
index 00000000..108a2c62
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_balance.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_config_drawer.png b/Src/resources/skins/Winamp Modern/player/button_config_drawer.png
new file mode 100644
index 00000000..5618461a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_config_drawer.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_ct_switch.png b/Src/resources/skins/Winamp Modern/player/button_ct_switch.png
new file mode 100644
index 00000000..82a59c3f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_ct_switch.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_eq.png b/Src/resources/skins/Winamp Modern/player/button_eq.png
new file mode 100644
index 00000000..b6f2a38a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_eq.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_mute.png b/Src/resources/skins/Winamp Modern/player/button_mute.png
new file mode 100644
index 00000000..e8bddac8
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_mute.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_mute_bg.PNG b/Src/resources/skins/Winamp Modern/player/button_mute_bg.PNG
new file mode 100644
index 00000000..3129b0df
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_mute_bg.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_repeat2.png b/Src/resources/skins/Winamp Modern/player/button_repeat2.png
new file mode 100644
index 00000000..600ef18c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_repeat2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_shufflerepeat.png b/Src/resources/skins/Winamp Modern/player/button_shufflerepeat.png
new file mode 100644
index 00000000..3dbc1340
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_shufflerepeat.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_videoavs.png b/Src/resources/skins/Winamp Modern/player/button_videoavs.png
new file mode 100644
index 00000000..a7f914a3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_videoavs.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/button_volume.png b/Src/resources/skins/Winamp Modern/player/button_volume.png
new file mode 100644
index 00000000..d6cf6909
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/button_volume.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_detach.png b/Src/resources/skins/Winamp Modern/player/buttons_detach.png
new file mode 100644
index 00000000..49c739f2
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_detach.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_eq.png b/Src/resources/skins/Winamp Modern/player/buttons_eq.png
new file mode 100644
index 00000000..85f4a055
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_eq.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_mlpl.png b/Src/resources/skins/Winamp Modern/player/buttons_mlpl.png
new file mode 100644
index 00000000..e3369a6e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_mlpl.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_mlpl_bg.png b/Src/resources/skins/Winamp Modern/player/buttons_mlpl_bg.png
new file mode 100644
index 00000000..9584d288
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_mlpl_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_pl.png b/Src/resources/skins/Winamp Modern/player/buttons_pl.png
new file mode 100644
index 00000000..84be72f6
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_pl.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_switchto.png b/Src/resources/skins/Winamp Modern/player/buttons_switchto.png
new file mode 100644
index 00000000..856c92e9
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_switchto.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_video.png b/Src/resources/skins/Winamp Modern/player/buttons_video.png
new file mode 100644
index 00000000..70c32d94
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_video.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/buttons_vis.png b/Src/resources/skins/Winamp Modern/player/buttons_vis.png
new file mode 100644
index 00000000..43cf2bd0
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/buttons_vis.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/config_tabs.png b/Src/resources/skins/Winamp Modern/player/config_tabs.png
new file mode 100644
index 00000000..70924578
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/config_tabs.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/ct_background.png b/Src/resources/skins/Winamp Modern/player/ct_background.png
new file mode 100644
index 00000000..fd6f816a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/ct_background.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/ct_bg.png b/Src/resources/skins/Winamp Modern/player/ct_bg.png
new file mode 100644
index 00000000..6f1ae61b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/ct_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/display.PNG b/Src/resources/skins/Winamp Modern/player/display.PNG
new file mode 100644
index 00000000..d43e78ce
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/display.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/displayoverlay.png b/Src/resources/skins/Winamp Modern/player/displayoverlay.png
new file mode 100644
index 00000000..433e70d5
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/displayoverlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/drawer_bg.PNG b/Src/resources/skins/Winamp Modern/player/drawer_bg.PNG
new file mode 100644
index 00000000..d2a991ea
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/drawer_bg.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/drawer_bg_regions.png b/Src/resources/skins/Winamp Modern/player/drawer_bg_regions.png
new file mode 100644
index 00000000..3d3c43cf
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/drawer_bg_regions.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/drawer_shadow.PNG b/Src/resources/skins/Winamp Modern/player/drawer_shadow.PNG
new file mode 100644
index 00000000..f24f1980
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/drawer_shadow.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/eq_balance.png b/Src/resources/skins/Winamp Modern/player/eq_balance.png
new file mode 100644
index 00000000..db493ca3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/eq_balance.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/eq_labels.png b/Src/resources/skins/Winamp Modern/player/eq_labels.png
new file mode 100644
index 00000000..ecea3332
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/eq_labels.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/eq_textoverlay.png b/Src/resources/skins/Winamp Modern/player/eq_textoverlay.png
new file mode 100644
index 00000000..10b17d3d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/eq_textoverlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/main_bg.png b/Src/resources/skins/Winamp Modern/player/main_bg.png
new file mode 100644
index 00000000..f930e346
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/main_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/mainregions.png b/Src/resources/skins/Winamp Modern/player/mainregions.png
new file mode 100644
index 00000000..40ecf5b0
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/mainregions.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/menubar.PNG b/Src/resources/skins/Winamp Modern/player/menubar.PNG
new file mode 100644
index 00000000..0cf4622c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/menubar.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/numfont.png b/Src/resources/skins/Winamp Modern/player/numfont.png
new file mode 100644
index 00000000..250587fb
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/numfont.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/openclose_overlay.png b/Src/resources/skins/Winamp Modern/player/openclose_overlay.png
new file mode 100644
index 00000000..1bf1c35e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/openclose_overlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/options_bg.PNG b/Src/resources/skins/Winamp Modern/player/options_bg.PNG
new file mode 100644
index 00000000..9bc5cc93
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/options_bg.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/options_buttons2.png b/Src/resources/skins/Winamp Modern/player/options_buttons2.png
new file mode 100644
index 00000000..7edb2d43
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/options_buttons2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/options_more.png b/Src/resources/skins/Winamp Modern/player/options_more.png
new file mode 100644
index 00000000..f64588e9
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/options_more.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/options_scrollbuttons.PNG b/Src/resources/skins/Winamp Modern/player/options_scrollbuttons.PNG
new file mode 100644
index 00000000..6c085fc7
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/options_scrollbuttons.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/options_slider.png b/Src/resources/skins/Winamp Modern/player/options_slider.png
new file mode 100644
index 00000000..334ad436
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/options_slider.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/pe_time.png b/Src/resources/skins/Winamp Modern/player/pe_time.png
new file mode 100644
index 00000000..4bb90b9c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/pe_time.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/pe_time_font.png b/Src/resources/skins/Winamp Modern/player/pe_time_font.png
new file mode 100644
index 00000000..ec790f1e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/pe_time_font.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/playbackstatus.png b/Src/resources/skins/Winamp Modern/player/playbackstatus.png
new file mode 100644
index 00000000..11ab1986
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/playbackstatus.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/player_buttons.png b/Src/resources/skins/Winamp Modern/player/player_buttons.png
new file mode 100644
index 00000000..7ca200f4
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/player_buttons.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/player_buttons_status.png b/Src/resources/skins/Winamp Modern/player/player_buttons_status.png
new file mode 100644
index 00000000..3f98ce8e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/player_buttons_status.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/progressbar.PNG b/Src/resources/skins/Winamp Modern/player/progressbar.PNG
new file mode 100644
index 00000000..c1b6bb2a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/progressbar.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/resize_pl.png b/Src/resources/skins/Winamp Modern/player/resize_pl.png
new file mode 100644
index 00000000..c2848346
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/resize_pl.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/resizer.png b/Src/resources/skins/Winamp Modern/player/resizer.png
new file mode 100644
index 00000000..fd44cd66
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/resizer.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/seekbar.png b/Src/resources/skins/Winamp Modern/player/seekbar.png
new file mode 100644
index 00000000..96d26594
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/seekbar.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/seekpos.png b/Src/resources/skins/Winamp Modern/player/seekpos.png
new file mode 100644
index 00000000..0ebb2dc4
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/seekpos.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/shufflerepeat_bg.PNG b/Src/resources/skins/Winamp Modern/player/shufflerepeat_bg.PNG
new file mode 100644
index 00000000..feea47ec
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/shufflerepeat_bg.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/shufflerepeat_led.png b/Src/resources/skins/Winamp Modern/player/shufflerepeat_led.png
new file mode 100644
index 00000000..aae2c295
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/shufflerepeat_led.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/smallfont.PNG b/Src/resources/skins/Winamp Modern/player/smallfont.PNG
new file mode 100644
index 00000000..da3a58fa
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/smallfont.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/songinfo.png b/Src/resources/skins/Winamp Modern/player/songinfo.png
new file mode 100644
index 00000000..e034c156
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/songinfo.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/songinfofont.png b/Src/resources/skins/Winamp Modern/player/songinfofont.png
new file mode 100644
index 00000000..6b636b7e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/songinfofont.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/txt_config.PNG b/Src/resources/skins/Winamp Modern/player/txt_config.PNG
new file mode 100644
index 00000000..ec888f86
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/txt_config.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/videoavs_bg.png b/Src/resources/skins/Winamp Modern/player/videoavs_bg.png
new file mode 100644
index 00000000..9052189d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/videoavs_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/videoavs_button_bg.png b/Src/resources/skins/Winamp Modern/player/videoavs_button_bg.png
new file mode 100644
index 00000000..9d2ffa06
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/videoavs_button_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/videoavs_button_bg2.png b/Src/resources/skins/Winamp Modern/player/videoavs_button_bg2.png
new file mode 100644
index 00000000..9c708a9b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/videoavs_button_bg2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/videoavs_button_overlay.png b/Src/resources/skins/Winamp Modern/player/videoavs_button_overlay.png
new file mode 100644
index 00000000..dd482e5e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/videoavs_button_overlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg.png b/Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg.png
new file mode 100644
index 00000000..50a14e64
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg2.png b/Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg2.png
new file mode 100644
index 00000000..574f3a06
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/videoavs_buttonup_bg2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/visualization_background.png b/Src/resources/skins/Winamp Modern/player/visualization_background.png
new file mode 100644
index 00000000..624264a0
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/visualization_background.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/visualization_overlay.png b/Src/resources/skins/Winamp Modern/player/visualization_overlay.png
new file mode 100644
index 00000000..8df3d1d1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/visualization_overlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/player/volume_bar_bg.png b/Src/resources/skins/Winamp Modern/player/volume_bar_bg.png
new file mode 100644
index 00000000..1c26e0cd
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/player/volume_bar_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/screenshot.png b/Src/resources/skins/Winamp Modern/screenshot.png
new file mode 100644
index 00000000..45647a23
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/screenshot.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/albumart.m b/Src/resources/skins/Winamp Modern/scripts/albumart.m
new file mode 100644
index 00000000..2ef9ce27
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/albumart.m
@@ -0,0 +1,113 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Global AlbumArtLayer waaa;
+Global Layout aalayout;
+
+System.onScriptLoaded()
+{
+ initAttribs();
+ Container albumart = System.getContainer("winamp.albumart");
+ aalayout = albumart.getLayout("normal");
+ waaa = getScriptGroup().findObject(getParam());
+}
+
+system.onScriptUnloading ()
+{
+ if (!aalayout) return;
+ setPrivateInt("Winamp Modern", "Album Art XPos", aalayout.getLeft());
+ setPrivateInt("Winamp Modern", "Album Art YPos", aalayout.getTop());
+}
+
+aalayout.onStartup ()
+{
+ resize(getPrivateInt("Winamp Modern", "Album Art XPos", 0), getPrivateInt("Winamp Modern", "Album Art YPos", 0), getWidth(), getHeight());
+}
+
+aalayout.onSetVisible (Boolean onoff)
+{
+ if (!onoff)
+ {
+ albumart_visible_attrib.setData("0");
+ }
+ else
+ {
+ albumart_visible_attrib.setData("1");
+ }
+}
+
+albumart_visible_attrib.onDataChanged ()
+{
+ if (getData() == "1")
+ {
+ aalayout.show();
+ }
+ else
+ {
+ aalayout.hide();
+ }
+}
+
+System.onKeyDown(String key)
+{
+ if (key == "alt+a")
+ {
+ if (albumart_visible_attrib.getData() == "0")
+ albumart_visible_attrib.setData("1");
+ else
+ albumart_visible_attrib.setData("0");
+ complete;
+ }
+}
+
+waaa.onRightButtonDown (int x, int y)
+{
+ popupmenu p = new popupmenu;
+
+ p.addCommand("Refresh Album Art", 1, 0, 0);
+ String path = getPath(getPlayItemMetaDataString("filename"));
+ if(path != "")
+ {
+ p.addCommand("Open Folder", 2, 0, 0);
+ }
+
+ int result = p.popatmouse();
+ delete p;
+
+ if (result == 1)
+ {
+ waaa.refresh();
+ }
+ else if (result == 2)
+ {
+ if(path != "")
+ {
+ System.navigateUrl(path);
+ }
+ else
+ {
+ String url = getPlayItemMetaDataString("streamurl");
+ if(url != "")
+ {
+ System.navigateUrl(url);
+ }
+ }
+ }
+}
+
+waaa.onLeftButtonDblClk (int x, int y)
+{
+ String path = getPath(getPlayItemMetaDataString("filename"));
+ if(path != "")
+ {
+ System.navigateUrl(path);
+ }
+ else
+ {
+ String url = getPlayItemMetaDataString("streamurl");
+ if(url != "")
+ {
+ System.navigateUrl(url);
+ }
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/albumart.maki b/Src/resources/skins/Winamp Modern/scripts/albumart.maki
new file mode 100644
index 00000000..02bdf775
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/albumart.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/attribs.m b/Src/resources/skins/Winamp Modern/scripts/attribs.m
new file mode 100644
index 00000000..8304496f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/attribs.m
@@ -0,0 +1,319 @@
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#ifndef __ATTRIBS_M
+#define __ATTRIBS_M
+
+#include <lib/config.mi>
+
+// -----------------------------------------------------------------------------------------------------------------
+
+// this is the page that maps its items to the options menu, you can add attribs or more pages (submenus)
+#define CUSTOM_OPTIONSMENU_ITEMS "{1828D28F-78DD-4647-8532-EBA504B8FC04}"
+
+// this is the page that maps its items to the windows menu (aka View), you can add attribs or more pages (submenus)
+#define CUSTOM_WINDOWSMENU_ITEMS "{6559CA61-7EB2-4415-A8A9-A2AEEF762B7F}"
+
+// custom options submenu item page, you can add more, just use guidgen and Config.newItem()
+#define CUSTOM_PAGE "{26E26319-AECA-4433-B8F1-F4A5BF2A9ED5}"
+
+// drawer config page
+#define CUSTOM_PAGE_DRAWER "{C338B30F-2A04-4b10-871F-4E9D52D62806}"
+
+// menubars config page
+#define CUSTOM_PAGE_MENUBARS "{12ED320E-6813-45ac-9F8E-78EE5B2B5F6D}"
+
+// main windowshade config page
+#define CUSTOM_PAGE_WINDOWSHADE "{58F07E21-AE96-4899-B7BC-3640B40029FB}"
+
+// vis button config page
+#define CUSTOM_PAGE_VISCMD "{D70E3ABF-D2FF-4b82-9A70-4B5DF1A5D942}"
+
+// notifier config page
+#define CUSTOM_PAGE_NOTIFIER "{1AB968B3-8687-4a35-BA70-FCF6D92FB57F}"
+
+// songticker config page
+#define CUSTOM_PAGE_SONGTICKER "{7061FDE0-0E12-11D8-BB41-0050DA442EF3}"
+
+// non exposed attribs page
+#define CUSTOM_PAGE_NONEXPOSED "{E9C2D926-53CA-400f-9A4D-85E31755A4CF}"
+
+
+// -----------------------------------------------------------------------------------------------------------------
+
+Function initAttribs();
+
+// -----------------------------------------------------------------------------------------------------------------
+
+Global ConfigAttribute scrolldrawerattrib;
+Global ConfigAttribute scrollconfigdrawerattrib;
+
+Global ConfigAttribute vis_detach_attrib;
+Global ConfigAttribute video_detach_attrib;
+
+Global ConfigAttribute drawer_directiontop_attrib;
+Global ConfigAttribute drawer_directionbottom_attrib;
+Global ConfigAttribute drawer_directionbypass_attrib;
+
+Global ConfigAttribute eq_visible_attrib, albumart_visible_attrib;
+
+Global ConfigAttribute menubar_main_attrib;
+Global ConfigAttribute menubar_pe_attrib;
+Global ConfigAttribute menubar_ml_attrib;
+
+Global ConfigAttribute windowshade_linkall_attrib;
+Global ConfigAttribute windowshade_linkposition_attrib;
+Global ConfigAttribute windowshade_linknone_attrib;
+
+Global ConfigAttribute beatvisualization_attrib;
+
+Global ConfigAttribute viscmd_config_attrib;
+Global ConfigAttribute viscmd_menu_attrib;
+
+Global ConfigAttribute notifier_minimized_attrib;
+Global ConfigAttribute notifier_windowshade_attrib;
+Global ConfigAttribute notifier_always_attrib;
+Global ConfigAttribute notifier_never_attrib;
+Global ConfigAttribute notifier_fadeintime_attrib;
+Global ConfigAttribute notifier_fadeouttime_attrib;
+Global ConfigAttribute notifier_holdtime_attrib;
+Global ConfigAttribute notifier_disablefullscreen_attrib;
+//Global ConfigAttribute notifier_opennowplaying_attrib;
+Global ConfigAttribute notifier_artworkinnotification_attrib;
+
+Class ConfigAttribute songticker_scrolling_attrib;
+Global songticker_scrolling_attrib songticker_scrolling_modern_attrib;
+Global songticker_scrolling_attrib songticker_scrolling_classic_attrib;
+Global songticker_scrolling_attrib songticker_scrolling_disabled_attrib;
+
+// -----------------------------------------------------------------------------------------------------------------
+
+initAttribs() {
+
+ // create the custom cfgpage for this session (if it does exist, it just returns it)
+ ConfigItem custom_page = Config.newItem("Winamp Modern", CUSTOM_PAGE);
+ ConfigItem custom_page_drawer = Config.newItem("Drawers", CUSTOM_PAGE_DRAWER);
+ ConfigItem custom_page_menubars = Config.newItem("Menus", CUSTOM_PAGE_MENUBARS);
+ ConfigItem custom_page_windowshade = Config.newItem("Main Windowshade Mode", CUSTOM_PAGE_WINDOWSHADE);
+ ConfigItem custom_page_viscmd = Config.newItem("Vis Buttons", CUSTOM_PAGE_VISCMD);
+ ConfigItem custom_page_notifier = Config.newItem("Notifications", CUSTOM_PAGE_NOTIFIER);
+ ConfigItem custom_page_songticker = Config.newItem("Songticker", CUSTOM_PAGE_SONGTICKER);
+
+ ConfigItem custom_page_nonexposed = Config.newItem("Hidden", CUSTOM_PAGE_NONEXPOSED);
+
+ // load up the cfgpage in which we'll insert our custom page
+ ConfigItem custom_options_page = Config.getItem(CUSTOM_OPTIONSMENU_ITEMS);
+ ConfigItem custom_windows_page = Config.getItem(CUSTOM_WINDOWSMENU_ITEMS);
+
+ // this creates a submenu for this attribute
+ ConfigAttribute submenuattrib = custom_options_page.newAttribute("Winamp Modern", "");
+ submenuattrib.setData(CUSTOM_PAGE); // discard any default value and point at our custom cfgpage
+
+ ConfigAttribute drawersubmenu = custom_page.newAttribute("Drawers", "");
+ drawersubmenu.setData(CUSTOM_PAGE_DRAWER);
+
+ ConfigAttribute menubarssubmenu = custom_page.newAttribute("Menus", "");
+ menubarssubmenu.setData(CUSTOM_PAGE_MENUBARS);
+
+ ConfigAttribute windowshadesubmenu = custom_page.newAttribute("Main Windowshade Mode", "");
+ windowshadesubmenu.setData(CUSTOM_PAGE_WINDOWSHADE);
+
+ ConfigAttribute viscmdsubmenu = custom_page.newAttribute("Vis Shortcut Button", "");
+ viscmdsubmenu.setData(CUSTOM_PAGE_VISCMD);
+
+ ConfigAttribute notifiersubmenu = custom_page.newAttribute("Notifications", "");
+ notifiersubmenu.setData(CUSTOM_PAGE_NOTIFIER);
+
+ ConfigAttribute songtickersubmenu = custom_page.newAttribute("Songticker", "");
+ songtickersubmenu.setData(CUSTOM_PAGE_SONGTICKER);
+
+
+ scrolldrawerattrib = custom_page_drawer.newAttribute("Animate Video/Vis Drawer (disabled if opacity < 100%)", "0");
+ scrollconfigdrawerattrib = custom_page_drawer.newAttribute("Animate Config Drawer", "0");
+ ConfigAttribute sep = custom_page_drawer.newAttribute("sep1", ""); sep.setData("-");
+ drawer_directiontop_attrib = custom_page_drawer.newAttribute("Open Video/Vis from the top", "0");
+ drawer_directionbottom_attrib = custom_page_drawer.newAttribute("Open Video/Vis from the bottom", "1");
+ drawer_directionbypass_attrib = custom_page_drawer.newAttribute("Bypass setting to keep in screen", "1");
+ if (drawer_directiontop_attrib.getData() == "1") drawer_directiontop_attrib.onDataChanged(); else drawer_directionbottom_attrib.onDataChanged();
+
+ menubar_main_attrib = custom_page_menubars.newAttribute("Show Menus in Main Window", "1");
+ menubar_pe_attrib = custom_page_menubars.newAttribute("Show Menus in Playlist Editor", "1");
+ menubar_ml_attrib = custom_page_menubars.newAttribute("Show Menus in Media Library", "1");
+
+ // create an attribute for each of our options, if the attribute already exists, it is returned
+ sep = custom_page.newAttribute("sep1", ""); sep.setData("-");
+ vis_detach_attrib = custom_page.newAttribute("Detach Vis Window", "0");
+ video_detach_attrib = custom_page.newAttribute("Detach Video Window", "0");
+ eq_visible_attrib = custom_windows_page.newAttribute("Equalizer\tAlt+G", "0");
+ albumart_visible_attrib = custom_windows_page.newAttribute("Album Art\tAlt+A", "1");
+
+ sep = custom_page.newAttribute("sep2", ""); sep.setData("-");
+ beatvisualization_attrib = custom_page.newAttribute("Enable Beat Visualization", "1");
+
+ windowshade_linkall_attrib = custom_page_windowshade.newAttribute("Link Position and Width", "1");
+ windowshade_linkposition_attrib = custom_page_windowshade.newAttribute("Link Position, Unlink Width", "0");
+ windowshade_linknone_attrib = custom_page_windowshade.newAttribute("Unlink Position and Width", "0");
+
+ viscmd_menu_attrib = custom_page_viscmd.newAttribute("Open Context Menu", "1");
+ viscmd_config_attrib = custom_page_viscmd.newAttribute("Open Configuration", "0");
+
+ notifier_always_attrib = custom_page_notifier.newAttribute("Show always", "0");
+ notifier_windowshade_attrib = custom_page_notifier.newAttribute("Show with windowshade and when minimized", "0");
+ notifier_minimized_attrib = custom_page_notifier.newAttribute("Show only when minimized", "0");
+ notifier_never_attrib = custom_page_notifier.newAttribute("Never show", "1");
+ sep = custom_page_notifier.newAttribute("sep1", ""); sep.setData("-");
+ notifier_disablefullscreen_attrib = custom_page_notifier.newAttribute("Disable in fullscreen", "1");
+ sep = custom_page_notifier.newAttribute("sep666", ""); sep.setData("-");
+ //notifier_opennowplaying_attrib = custom_page_notifier.newAttribute("Open Now Playing on Click", "1");
+ sep = custom_page_notifier.newAttribute("sep333", ""); sep.setData("-");
+ notifier_artworkinnotification_attrib = custom_page_notifier.newAttribute("Show Now Playing Artwork", "1");
+
+ notifier_fadeintime_attrib = custom_page_nonexposed.newAttribute("Notifications fade in time", "1000");
+ notifier_fadeouttime_attrib = custom_page_nonexposed.newAttribute("Notifications fade out time", "5000");
+ notifier_holdtime_attrib = custom_page_nonexposed.newAttribute("Notifications display time", "2000");
+
+ songticker_scrolling_disabled_attrib = custom_page_songticker.newAttribute("Disable Songticker scrolling", "0");
+ if (songticker_scrolling_disabled_attrib.getData() == "0") songticker_scrolling_modern_attrib = custom_page_songticker.newAttribute("Modern Songticker scrolling", "1");
+ else songticker_scrolling_modern_attrib = custom_page_songticker.newAttribute("Modern Songticker scrolling", "0");
+ songticker_scrolling_classic_attrib = custom_page_songticker.newAttribute("Classic Songticker scrolling", "0");
+}
+
+// -----------------------------------------------------------------------------------------------------------------
+
+#ifdef MAIN_ATTRIBS_MGR
+
+Global Int attribs_mychange;
+
+#define NOOFF if (getData()=="0") { setData("1"); return; }
+
+drawer_directiontop_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ drawer_directionbottom_attrib.setData("0");
+ drawer_directiontop_attrib.setData("1");
+ attribs_mychange = 0;
+}
+
+drawer_directionbottom_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ drawer_directiontop_attrib.setData("0");
+ drawer_directionbottom_attrib.setData("1");
+ attribs_mychange = 0;
+}
+
+windowshade_linkall_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ windowshade_linkposition_attrib.setData("0");
+ windowshade_linknone_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+windowshade_linkposition_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ windowshade_linkall_attrib.setData("0");
+ windowshade_linknone_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+windowshade_linknone_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ windowshade_linkall_attrib.setData("0");
+ windowshade_linkposition_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+viscmd_menu_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ viscmd_config_attrib.setData("0");
+ attribs_mychange = 0;
+ updateVisCmd();
+}
+
+viscmd_config_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ viscmd_menu_attrib.setData("0");
+ attribs_mychange = 0;
+ updateVisCmd();
+}
+
+notifier_always_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_never_attrib.setData("0");
+ notifier_windowshade_attrib.setData("0");
+ notifier_minimized_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_never_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_always_attrib.setData("0");
+ notifier_windowshade_attrib.setData("0");
+ notifier_minimized_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_minimized_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_never_attrib.setData("0");
+ notifier_windowshade_attrib.setData("0");
+ notifier_always_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+notifier_windowshade_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ notifier_never_attrib.setData("0");
+ notifier_always_attrib.setData("0");
+ notifier_minimized_attrib.setData("0");
+ attribs_mychange = 0;
+}
+
+songticker_scrolling_modern_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ songticker_scrolling_disabled_attrib.setData("0");
+ songticker_scrolling_classic_attrib.setData("0");
+ attribs_mychange = 0;
+}
+songticker_scrolling_disabled_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ songticker_scrolling_modern_attrib.setData("0");
+ songticker_scrolling_classic_attrib.setData("0");
+ attribs_mychange = 0;
+}
+songticker_scrolling_classic_attrib.onDataChanged() {
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ songticker_scrolling_modern_attrib.setData("0");
+ songticker_scrolling_disabled_attrib.setData("0");
+ attribs_mychange = 0;
+}
+#endif
+
+#endif
diff --git a/Src/resources/skins/Winamp Modern/scripts/beatvisualization.m b/Src/resources/skins/Winamp Modern/scripts/beatvisualization.m
new file mode 100644
index 00000000..af142e9d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/beatvisualization.m
@@ -0,0 +1,139 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Function setObjects();
+
+Global Group frameGroup,beatdisplay;
+Global Layer beatOverlay,DisplayRight,DisplayRightOverlay,DisplaySongtickerBG,VisOverlay;
+Global Timer refreshEQ;
+Global AnimatedLayer beatbarLeft,beatbarRight;
+Global int lastBeatLeft,lastBeatRight;
+Global Button Toggler,Toggler2;
+Global Int dobeat2;
+
+System.onScriptLoaded() {
+ initAttribs();
+ frameGroup = getScriptGroup();
+ beatdisplay = frameGroup.findObject("player.normal.display.beatvisualization");
+ beatOverlay = frameGroup.findObject("beatdisplayoverlay");
+ beatbarLeft = frameGroup.findObject("beatleft");
+ beatbarRight = frameGroup.findObject("beatright");
+
+ Toggler = frameGroup.findObject("beatvisualization");
+ Toggler2 = frameGroup.findObject("beatvisualization2");
+
+ DisplayRight = frameGroup.findObject("display.right");
+ DisplayRightOverlay = frameGroup.findObject("display.right.overlay2");
+ DisplaySongtickerBG = frameGroup.findObject("display.st.right");
+ VisOverlay = frameGroup.findObject("visualization.overlay");
+
+ lastBeatLeft = 0;
+ lastBeatRight = 0;
+
+ refreshEQ = new Timer;
+ refreshEQ.setDelay(10);
+}
+
+System.onscriptunloading() {
+ delete refreshEQ;
+}
+
+setObjects() {
+ int group_width = frameGroup.getWidth();
+
+ if ( group_width % 2 !=0 ) {
+ DisplayRight.setXmlParam("image","player.display.right");
+ DisplayRightOverlay.setXmlParam("image","player.display.right");
+ DisplaySongtickerBG.setXmlParam("image","player.display.songticker.bg.right");
+ VisOverlay.setXmlParam("image","player.visualization.overlay");
+ } else {
+ DisplayRight.setXmlParam("image","player.display.right2");
+ DisplayRightOverlay.setXmlParam("image","player.display.right2");
+ DisplaySongtickerBG.setXmlParam("image","player.display.songticker.bg.right2");
+ VisOverlay.setXmlParam("image","player.visualization.overlay2");
+ }
+
+ if ( group_width > 480 ) {
+ int newXpos = (group_width-60)/2;
+ beatdisplay.setXmlParam("x", IntegerToString(newXpos));
+ beatdisplay.show();
+
+ if ( beatvisualization_attrib.getData()=="1" ) {
+ refreshEQ.stop();
+ refreshEQ.start();
+ } else {
+ refreshEQ.stop();
+ beatbarLeft.gotoframe(0);
+ beatbarRight.gotoframe(0);
+ }
+ } else {
+ beatdisplay.hide();
+ refreshEQ.stop();
+ }
+}
+
+frameGroup.onResize(int x, int y, int w, int h) {
+ setObjects();
+}
+
+refreshEQ.onTimer() {
+ int beatLeft= System.getLeftVuMeter();
+ int beatRight= System.getRightVuMeter();
+
+ int frameLeft=beatLeft/16;
+ int frameRight=beatRight/16;
+
+ if (frameLeft>14) frameLeft=14;
+ if (frameRight>14) frameRight=14;
+
+ if (frameLeft<lastBeatLeft) {
+ frameLeft=lastBeatLeft-1;
+ if (frameLeft<0) frameLeft=0;
+ }
+
+ if (frameRight<lastBeatRight) {
+ frameRight=lastBeatRight-1;
+ if (frameRight<0) frameRight=0;
+ }
+
+ lastBeatLeft=frameLeft;
+ lastBeatRight=frameRight;
+
+ beatbarLeft.gotoframe(frameLeft);
+ beatbarRight.gotoframe(frameRight);
+}
+
+beatvisualization_attrib.onDataChanged() {
+ setObjects();
+}
+
+System.onKeyDown(String key) {
+ if (key == "shift+ctrl+alt") {
+ dobeat2 = 1;
+ complete;
+ } else dobeat2 = 0;
+}
+
+Toggler.onLeftClick() {
+ if ( beatvisualization_attrib.getData()=="1" ) {
+ beatvisualization_attrib.setData("0");
+ } else {
+ beatvisualization_attrib.setData("1");
+ }
+}
+
+Toggler2.onActivate(boolean on) {
+ if (!dobeat2) { Toggler.leftClick(); return; }
+ refreshEQ.stop();
+
+ if (on) {
+ beatbarLeft.setXMLParam("image","player.display.beat.left2");
+ beatbarRight.setXMLParam("image","player.display.beat.right2");
+ beatOverlay.hide();
+ } else {
+ beatbarLeft.setXMLParam("image","player.display.beat.left");
+ beatbarRight.setXMLParam("image","player.display.beat.right");
+ beatOverlay.show();
+ }
+ setObjects();
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/beatvisualization.maki b/Src/resources/skins/Winamp Modern/scripts/beatvisualization.maki
new file mode 100644
index 00000000..fc710ebe
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/beatvisualization.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/buildall.bat b/Src/resources/skins/Winamp Modern/scripts/buildall.bat
new file mode 100644
index 00000000..e7095811
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/buildall.bat
@@ -0,0 +1,2 @@
+for %%a in (*.m) do "H:\Program Files\Nullsoft\sandbox\wasabi\mc.exe" %%a
+pause
diff --git a/Src/resources/skins/Winamp Modern/scripts/configtabs.m b/Src/resources/skins/Winamp Modern/scripts/configtabs.m
new file mode 100644
index 00000000..8cd803c8
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/configtabs.m
@@ -0,0 +1,280 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+function setTabs(int tabstate);
+function setTabContent(int contentstate);
+
+function OpenDrawer(int animate);
+function CloseDrawer(int animate);
+function updateAttribs();
+
+function ShowDrawer();
+function adjustSnapPoints(int DrawerOpen);
+
+Global Group frameGroup,PlayerMain,VideoVisGroup;
+Global Group tabs,tEQon,tEQoff,tOPTIONSon,tOPTIONSoff,tCOLORTHEMESon,tCOLORTHEMESoff;
+Global Group ContentEQ,ContentOPTIONS,ContentCOLORTHEMES;
+Global Layer mouseLayerEQ,mouseLayerOPTIONS,mouseLayerCOLORTHEMES;
+Global Button btnClose,btnOpen;
+Global Group Drawer,DrawerShadow,DrawerContent;
+Global GuiObject ColorThemes;
+Global Layout main;
+Global Int mychange;
+Global Boolean loaded=0;
+Global Timer deferred_opendrawer;
+
+System.onScriptLoaded() {
+ initAttribs();
+
+ frameGroup = getScriptGroup();
+ main = frameGroup.getParentLayout();
+
+ tabs=frameGroup.findObject("config.tabs");
+ tEQon=frameGroup.findObject("config.tab.eq.on");
+ tEQoff=frameGroup.findObject("config.tab.eq.off");
+ tOPTIONSon=frameGroup.findObject("config.tab.options.on");
+ tOPTIONSoff=frameGroup.findObject("config.tab.options.off");
+ tCOLORTHEMESon=frameGroup.findObject("config.tab.colorthemes.on");
+ tCOLORTHEMESoff=frameGroup.findObject("config.tab.colorthemes.off");
+
+ ColorThemes=frameGroup.findObject("colorthemes");
+ PlayerMain=frameGroup.findObject("player.main");
+ VideoVisGroup = frameGroup.findObject("AVSGroup");
+
+ ContentEQ=frameGroup.findObject("player.normal.drawer.eq");
+ ContentOPTIONS=frameGroup.findObject("player.normal.drawer.options");
+ ContentCOLORTHEMES=frameGroup.findObject("player.normal.drawer.colorthemes");
+
+ mouseLayerEQ=frameGroup.findObject("mousetrapTabEQ");
+ mouseLayerOPTIONS=frameGroup.findObject("mousetrapTabOPTIONS");
+ mouseLayerCOLORTHEMES=frameGroup.findObject("mousetrapTabCOLORTHEMES");
+
+ btnClose = frameGroup.findObject("drawer.button.close");
+ btnOpen = frameGroup.findObject("drawer.button.open");
+ drawer = frameGroup.findObject("player.normal.drawer");
+ DrawerShadow = frameGroup.findObject("player.normal.drawer.shadow");
+ DrawerContent = frameGroup.findObject("player.normal.drawer.content");
+
+ int tabEQwidth=tEQon.getWidth();
+ int tabOPTIONSwidth=tOPTIONSon.getWidth();
+
+ int tOPTIONSx=tabEQwidth-3;
+ int tCOLORTHEMESx=tabEQwidth+tabOPTIONSwidth-6;
+
+ tOPTIONSon.setXmlParam("x",integertostring(tOPTIONSx));
+ tOPTIONSoff.setXmlParam("x",integertostring(tOPTIONSx));
+ tCOLORTHEMESoff.setXmlParam("x",integertostring(tCOLORTHEMESx));
+ tCOLORTHEMESon.setXmlParam("x",integertostring(tCOLORTHEMESx));
+
+ mychange = 1;
+ setTabs(getPrivateInt("winamp5", "ConfigTab", 1));
+ mychange = 0;
+ if (getPrivateInt("winamp5", "DrawerOpen", 0)) {
+ OpenDrawer(0);
+ adjustSnapPoints(1);
+ } else {
+ adjustSnapPoints(0);
+ }
+ loaded=1;
+ deferred_opendrawer = new Timer;
+ deferred_opendrawer.setDelay(250);
+}
+
+System.onScriptUnloading() {
+ delete deferred_opendrawer;
+}
+
+setTabs(int tabstate) {
+
+ tEQon.hide();
+ tOPTIONSon.hide();
+ tCOLORTHEMESon.hide();
+
+ if (tabstate==1) {
+ tEQon.show();
+ }
+ if (tabstate==2) {
+ tOPTIONSon.show();
+ }
+ if (tabstate==3) {
+ tCOLORTHEMESon.show();
+ }
+
+ setTabContent(tabstate);
+ setPrivateInt("winamp5", "ConfigTab", tabstate);
+ updateAttribs();
+}
+
+setTabContent(int contentstate) {
+ if (contentstate==1) {
+ ContentEQ.show();
+ ContentOPTIONS.hide();
+ ContentCOLORTHEMES.hide();
+ }
+ if (contentstate==2) {
+ ContentEQ.hide();
+ ContentOPTIONS.show();
+ ContentCOLORTHEMES.hide();
+ }
+ if (contentstate==3) {
+ ContentEQ.hide();
+ ContentOPTIONS.hide();
+ ContentCOLORTHEMES.show();
+ }
+}
+
+mouseLayerEQ.onLeftButtonDown(int x, int y) {
+ setTabs(1);
+}
+
+mouseLayerOPTIONS.onLeftButtonDown(int x, int y) {
+ setTabs(2);
+}
+
+mouseLayerCOLORTHEMES.onLeftButtonDown(int x, int y) {
+ setTabs(3);
+}
+
+OpenDrawer(int animate) {
+ btnOpen.hide();
+ btnClose.show();
+ main.beforeRedock();
+ if (animate && scrollconfigdrawerattrib.getData() == "1") {
+ lockUI();
+ drawer.setTargetX(drawer.getGuiX());
+ drawer.setTargetY(-147);
+ drawer.setTargetW(drawer.getGuiW());
+ drawer.setTargetH(drawer.getGuiH());
+ drawer.setTargetSpeed(1);
+ drawer.gotoTarget();
+ } else {
+ drawer.setXMLParam("y","-147");
+ setPrivateInt("winamp5", "DrawerOpen", 1);
+ ColorThemes.show();
+ adjustSnapPoints(1);
+ updateAttribs();
+ main.Redock();
+ }
+ DrawerShadow.show();
+// main.setXmlParam("minimum_h", "397");
+}
+
+closeDrawer(int animate) {
+ main.beforeRedock();
+// main.setXmlParam("minimum_h", "280");
+ ColorThemes.hide();
+
+ btnClose.hide();
+ btnOpen.show();
+ if (animate && scrollconfigdrawerattrib.getData() == "1") {
+ lockUI();
+ drawer.setTargetX(drawer.getGuiX());
+ drawer.setTargetY(-263);
+ drawer.setTargetW(drawer.getGuiW());
+ drawer.setTargetH(drawer.getGuiH());
+ drawer.setTargetSpeed(1);
+ drawer.gotoTarget();
+ } else {
+ drawer.setXMLParam("y","-263");
+ DrawerShadow.hide();
+ setPrivateInt("winamp5", "DrawerOpen", 0);
+ adjustSnapPoints(0);
+ updateAttribs();
+ main.redock();
+ }
+}
+
+btnClose.onLeftClick() {
+ closeDrawer(1);
+}
+
+btnOpen.onLeftClick() {
+ openDrawer(1);
+}
+
+drawer.onTargetReached() {
+ if (btnClose.isVisible()) {
+ setPrivateInt("winamp5", "DrawerOpen", 1);
+ ColorThemes.show();
+ adjustSnapPoints(1);
+ } else {
+ DrawerShadow.hide();
+ setPrivateInt("winamp5", "DrawerOpen", 0);
+ adjustSnapPoints(0);
+ }
+ updateAttribs();
+ main.redock();
+ unlockUI();
+}
+
+ShowDrawer() {
+ drawer.setXmlParam("y", "-147");
+ ColorThemes.show();
+ btnOpen.hide();
+ btnClose.show();
+ DrawerShadow.show();
+ adjustSnapPoints(1);
+}
+
+adjustSnapPoints(int DrawerOpen) {
+ int menuHeight=0;
+ if (menubar_main_attrib.getData() == "0") menuHeight=17;
+ if (DrawerOpen) {
+ main.snapAdjust(0,0,0,0+menuHeight);
+ } else {
+ main.snapAdjust(0,0,0,116+menuHeight);
+ }
+}
+
+menubar_main_attrib.onDataChanged() {
+ int menuHeight=0;
+ if (getData() == "0") menuHeight=17;
+ main.beforeRedock();
+ int DrawerOpen=getPrivateInt("winamp5", "DrawerOpen", 0);
+ if (DrawerOpen) {
+ main.snapAdjust(0,0,0,0+menuHeight);
+ } else {
+ main.snapAdjust(0,0,0,116+menuHeight);
+ }
+ main.Redock();
+}
+
+main.onResize(int x, int y, int w, int h) {
+ int newXpos=w/2-163;
+ DrawerContent.setXmlParam("x",integertostring(newXpos));
+}
+
+eq_visible_attrib.onDataChanged() {
+ if (mychange) return;
+ mychange = 1;
+ if (getData() == "1") {
+ main.getContainer().switchToLayout("normal"); // instead of main.show(), or linkwidth wont work
+ deferred_opendrawer.start();
+ } if (getData() == "0") {
+ closeDrawer(1);
+ }
+ mychange = 0;
+}
+
+deferred_opendrawer.onTimer() {
+ stop();
+ setTabs(1);
+ if (btnOpen.isVisible()) openDrawer(1);
+}
+
+updateAttribs() {
+ if (mychange) return;
+ mychange = 1;
+ if (tabstate == 1 && !btnOpen.isVisible()) eq_visible_attrib.setData("1"); else eq_visible_attrib.setData("0");
+ mychange = 0;
+}
+
+System.onKeyDown(String key) {
+ if (key == "alt+g") {
+ if (eq_visible_attrib.getData() == "0")
+ eq_visible_attrib.setData("1");
+ else
+ eq_visible_attrib.setData("0");
+ complete;
+ }
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/configtabs.maki b/Src/resources/skins/Winamp Modern/scripts/configtabs.maki
new file mode 100644
index 00000000..d12d33d0
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/configtabs.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/configtarget.m b/Src/resources/skins/Winamp Modern/scripts/configtarget.m
new file mode 100644
index 00000000..2aad82e2
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/configtarget.m
@@ -0,0 +1,97 @@
+#include <lib/std.mi>
+
+// ------------------------------------------------------------------------------------
+Global GuiObject target;
+Global ComponentBucket buck;
+// ------------------------------------------------------------------------------------
+Function turnAllOffExcept(GuiObject except);
+Function turnOn(GuiObject obj);
+Function turnOff(GuiObject obj);
+// ------------------------------------------------------------------------------------
+
+
+// ------------------------------------------------------------------------------------
+// init
+// ------------------------------------------------------------------------------------
+System.onScriptLoaded() {
+ target = getScriptGroup().findObject("skin.config.target");
+ buck = getScriptGroup().findObject("my.bucket");
+
+ // turn off all
+ GuiObject o = NULL;
+ turnAllOffExcept(o);
+}
+
+// ------------------------------------------------------------------------------------
+// save scroller position
+// ------------------------------------------------------------------------------------
+System.onScriptUnloading() {
+ if (buck) {
+ setPrivateInt("configmenu", "last_scroll", buck.getScroll());
+ }
+}
+
+// ------------------------------------------------------------------------------------
+// turn on last open
+// ------------------------------------------------------------------------------------
+buck.onStartup() {
+ setScroll(getPrivateInt("configmenu", "last_scroll", 0));
+ Group g = buck.enumChildren(getPrivateInt("configmenu", "last_page", 0));
+ if (!g) g = buck.enumChildren(0);
+ if (!g) return;
+ ToggleButton btn = g.getObject("btn");
+ if (btn) btn.leftClick();
+}
+
+// ------------------------------------------------------------------------------------
+// this is called by the bucket button to switch to a new group
+// ------------------------------------------------------------------------------------
+target.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source) {
+ if (getToken(action,";",0) == "switchto") {
+ String grp = getToken(action, ";", 1);
+ String is_subpage = getToken(action, ";", 2);
+ target.setXmlParam("groupid", grp);
+
+ if (is_subpage!="subpage") turnAllOffExcept(source.getParent()); // getParent because the source is the button itself, the parent is the whole group item in the bucket
+ }
+}
+
+// ------------------------------------------------------------------------------------
+// turn off all buttons except for the parameter, also save last_page param based on param item
+// ------------------------------------------------------------------------------------
+turnAllOffExcept(GuiObject except) {
+ if (!buck) return;
+ int i=0;
+ // enumerate all inserted groups, turn them off if they're not our exception
+ while (i<buck.getNumChildren()) {
+ GuiObject obj = buck.enumChildren(i);
+ if (obj == except) { // otherwise record last page
+ setPrivateInt("configmenu", "last_page", i);
+ i++;
+ continue;
+ }
+ if (obj == NULL) { break; } // shoundnt happen
+ turnOff(obj);
+ i++;
+ }
+ // turn on the clicked item
+ if (except) turnOn(except);
+}
+
+// ------------------------------------------------------------------------------------
+turnOn(GuiObject obj) {
+ Group gobj = obj;
+
+ // otherwise we just need this :
+ ToggleButton tg = gobj.getObject("btn");
+ tg.setActivated(1);
+}
+
+// ------------------------------------------------------------------------------------
+turnOff(GuiObject obj) {
+ Group gobj = obj;
+
+ // otherwise we just need this :
+ ToggleButton tg = gobj.getObject("btn");
+ tg.setActivated(0);
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/configtarget.maki b/Src/resources/skins/Winamp Modern/scripts/configtarget.maki
new file mode 100644
index 00000000..a2cc4f18
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/configtarget.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/crossfade.m b/Src/resources/skins/Winamp Modern/scripts/crossfade.m
new file mode 100644
index 00000000..9c915997
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/crossfade.m
@@ -0,0 +1,55 @@
+#include <lib/std.mi>
+
+Global Group frameGroup;
+Global Slider slidercb;
+Global Text fadertext;
+Global Button CFIncrease, CFDecrease;
+Global ToggleButton Crossfade;
+Global Layer DisplayOverlay;
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ slidercb = frameGroup.findObject("sCrossfade");
+ fadertext = frameGroup.findObject("CFDisplay");
+ CFIncrease = frameGroup.findObject("CrossfadeIncrease");
+ CFDecrease = frameGroup.findObject("CrossfadeDecrease");
+ Crossfade = frameGroup.findObject("Crossfade");
+ DisplayOverlay = frameGroup.findObject("crossfade.display.overlay");
+ slidercb.onSetPosition(slidercb.getPosition());
+
+ Crossfade.onToggle(Crossfade.getActivated());
+}
+
+slidercb.onSetPosition(int val) {
+ String s = IntegerToString(val);
+ fadertext.setText(s);
+}
+
+CFIncrease.onLeftClick() {
+ slidercb.SetPosition(slidercb.getPosition()+1);
+}
+
+CFDecrease.onLeftClick() {
+ slidercb.SetPosition(slidercb.getPosition()-1);
+}
+
+Crossfade.onToggle(boolean on) {
+ if (!on)
+ {
+ fadertext.setAlpha(150);
+ CFIncrease.setAlpha(150);
+ CFDecrease.setXmlParam("ghost" , "1");
+ CFDecrease.setAlpha(150);
+ CFIncrease.setXmlParam("ghost" , "1");
+ DisplayOverlay.show();
+ }
+ else
+ {
+ fadertext.setAlpha(255);
+ CFIncrease.setAlpha(255);
+ CFDecrease.setAlpha(255);
+ CFIncrease.setXmlParam("ghost" , "0");
+ CFDecrease.setXmlParam("ghost" , "0");
+ DisplayOverlay.hide();
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/crossfade.maki b/Src/resources/skins/Winamp Modern/scripts/crossfade.maki
new file mode 100644
index 00000000..0a8289e3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/crossfade.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/display.m b/Src/resources/skins/Winamp Modern/scripts/display.m
new file mode 100644
index 00000000..0ed9e1ef
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/display.m
@@ -0,0 +1,120 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Global Group frameGroup;
+Global Togglebutton ShuffleBtn,RepeatBtn,ShuffleBtn2,RepeatBtn2;
+Global Timer SongTickerTimer;
+Global Text InfoTicker;
+Global GuiObject SongTicker;
+Global Slider Balance;
+Global Layout normal;
+
+function setSongtickerScrolling();
+
+System.onScriptLoaded() {
+ initAttribs();
+ frameGroup = getScriptGroup();
+ SongTicker = frameGroup.findObject("songticker");
+ InfoTicker = frameGroup.findObject("infoticker");
+ normal = frameGroup.getParentLayout();
+
+ SongTickerTimer = new Timer;
+ SongTickerTimer.setDelay(1000);
+
+ RepeatBtn = frameGroup.findObject("Repeat");
+ ShuffleBtn = frameGroup.findObject("Shuffle");
+ RepeatBtn2 = frameGroup.findObject("RepeatDisplay");
+ ShuffleBtn2 = frameGroup.findObject("ShuffleDisplay");
+
+ Balance = frameGroup.findObject("Balance");
+ setSongtickerScrolling();
+}
+
+normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source)
+{
+ if (strlower(action) == "showinfo")
+ {
+ SongTicker.hide();
+ SongTickerTimer.start();
+ InfoTicker.setText(param);
+ InfoTicker.show();
+
+ }
+ else if (strlower(action) == "cancelinfo")
+ {
+ SongTickerTimer.onTimer ();
+ }
+}
+
+SongTickerTimer.onTimer() {
+ SongTicker.show();
+ InfoTicker.hide();
+ SongTickerTimer.stop();
+}
+
+System.onScriptUnloading() {
+ delete SongTickerTimer;
+}
+
+Balance.onSetPosition(int newpos)
+{
+ string t=translate("Balance")+":";
+ if (newpos==127) t+= " " + translate("Center");
+ if (newpos<127) t += " " + integerToString((100-(newpos/127)*100))+"% "+translate("Left");
+ if (newpos>127) t += " " + integerToString(((newpos-127)/127)*100)+"% "+translate("Right");
+
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText(t);
+}
+
+RepeatBtn.onToggle(boolean on) {
+ SongTickerTimer.start();
+ int v = getCurCfgVal();
+ SongTicker.hide();
+ InfoTicker.show();
+ if (v == 0) InfoTicker.setText("Repeat: OFF");
+ else if (v > 0) InfoTicker.setText("Repeat: ALL");
+ else if (v < 0) InfoTicker.setText("Repeat: TRACK");
+}
+
+ShuffleBtn.onToggle(boolean on) {
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ if (on) InfoTicker.setText("Playlist Shuffling: ON"); else InfoTicker.setText("Playlist Shuffling: OFF");
+}
+
+RepeatBtn2.onToggle(boolean on) {
+ SongTickerTimer.start();
+ int v = getCurCfgVal();
+ SongTicker.hide();
+ InfoTicker.show();
+ if (v == 0) InfoTicker.setText("Repeat: OFF");
+ else if (v > 0) InfoTicker.setText("Repeat: ALL");
+ else if (v < 0) InfoTicker.setText("Repeat: TRACK");
+}
+
+ShuffleBtn2.onToggle(boolean on) {
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ if (on) InfoTicker.setText("Playlist Shuffling: ON"); else InfoTicker.setText("Playlist Shuffling: OFF");
+}
+
+songticker_scrolling_attrib.onDataChanged() {
+ setSongtickerScrolling();
+}
+
+setSongtickerScrolling() {
+ if (songticker_scrolling_modern_attrib.getData()=="1") {
+ SongTicker.setXMLParam("ticker","bounce");
+ }
+ else if (songticker_scrolling_classic_attrib.getData()=="1") {
+ SongTicker.setXMLParam("ticker","scroll");
+ }
+ else {
+ SongTicker.setXMLParam("ticker","off");
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/display.maki b/Src/resources/skins/Winamp Modern/scripts/display.maki
new file mode 100644
index 00000000..e9190556
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/display.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/drawer.m b/Src/resources/skins/Winamp Modern/scripts/drawer.m
new file mode 100644
index 00000000..7e5c3698
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/drawer.m
@@ -0,0 +1,1059 @@
+// -----------------------------------------------------------------------
+// Generic Video/Vis Application Drawer, by Nullsoft.
+//
+// Please #include this script, and override the appropriate events
+// (see end of file), rather than modifying this script into your own
+// version.
+//
+// *You should not have to edit this file*, it's just a bad idea, period.
+// If you need something that is not supported in this version, we
+// recommend that you contact Nullsoft to suggest the feature.
+//
+// Satisfying user experience depends on *fully working* scripts, if you
+// insist on taking this file and modifying it for yourself, be sure to
+// *thoroughly* test its behavior once you are done.
+//
+// If you do add a feature, please contact us so that your extention can
+// be made available to others without each skin developper making its
+// own (potentially broken) implementation.
+//
+// Note: this script requires mc 1.1.2+ to compile, and wa5.8+ to run.
+// -----------------------------------------------------------------------
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include <lib/std.mi>
+#include <lib/config.mi>
+#include <lib/winampconfig.mi>
+
+// call these -- the first two are mandatory
+Function initDrawer(Layout lay, String id); // call in your onScriptLoaded();
+Function shutdownDrawer(); // call in your onScriptUnloading();
+Function openDrawer(); // opens the drawer to the last page unless video plays, in which case it opens to it. does animations according to attribs
+Function openDrawerForVideo(); // opens the drawer to the video page, does animations according to attribs
+Function openDrawerForVis(); // opens the drawer to the vis page, does animations according to attribs
+Function openDrawerForNothing(); // opens the drawer without putting anything in it, does animations according to attribs
+Function closeDrawer(); // closes the drawer, does animations according to attribs
+Function detachVis();
+Function attachVis();
+Function detachVideo();
+Function attachVideo();
+Function switchToVis();
+Function switchToVideo();
+Function Int getDrawerState(); // returns OPEN or CLOSED
+Function Int getDrawerContent(); // returns CONTENT_VIDEO, CONTENT_VIS or CONTENT_NOTHING
+Function maximizeWindow();
+Function restoreWindow();
+Function Int isDrawerToTop(); // returns 1 if the drawer will open to the top or will close from the top, rather than the normal to/from bottom
+// whenever the main window is resized while its drawer is closed, you should compute a new layout
+// height for the next opening of the drawer, this will avoid opening to a gigantic height after
+// closing a big video and resizing the player horizontally. return -1 if you do not want this feature
+Function Int getDrawerOpenAutoHeight(int layoutwidth);
+
+// implement these -- mandatory
+Function WindowHolder getVideoWindowHolder();
+Function WindowHolder getVisWindowHolder();
+Function Int getDrawerClosedHeight();
+Function Int getDefaultDrawerOpenHeight();
+
+// override these -- optional
+Function onBeforeOpeningDrawer();
+Function onBeforeClosingDrawer();
+Function onDoneOpeningDrawer();
+Function onDoneClosingDrawer();
+Function onShowVis();
+Function onHideVis();
+Function onShowVideo();
+Function onHideVideo();
+Function onAttachVideo();
+Function onDetachVideo();
+Function onAttachVis();
+Function onDetachVis();
+Function onBeforeMaximize();
+Function onAfterMaximize();
+Function onBeforeRestore();
+Function onAfterRestore();
+Function onCancelMaximize();
+
+// bind these -- mandatory (they don't have to be exposed in the menus)
+Global ConfigAttribute __drawer_directiontop_attrib;
+Global ConfigAttribute __scrolldrawerattrib;
+Global ConfigAttribute __drawer_directionbypass_attrib;
+Global ConfigAttribute __vis_detach_attrib;
+Global ConfigAttribute __video_detach_attrib;
+
+// -----------------------------------------------------------------------
+
+#define VIDEO_GUID "{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"
+#define VIS_GUID "{0000000A-000C-0010-FF7B-01014263450C}"
+
+// this is used to temporarilly disable playback stop on video window close, in case it's set
+#define SKINTWEAKS_CFGPAGE "{0542AFA4-48D9-4c9f-8900-5739D52C114F}"
+
+// this is used to handle video auto fullscreen on play when the video window is attached to the drawer
+#define VIDEO_CONFIG_GROUP "{2135E318-6919-4bcf-99D2-62BE3FCA8FA6}"
+
+#define DEBUG
+
+#ifdef FALSE
+#undef FALSE
+#endif
+#define FALSE 0
+#ifdef TRUE
+#undef TRUE
+#endif
+#define TRUE -1
+
+#define CLOSED 0
+#define OPEN 1
+
+#define DIRECTION_NONE 0
+#define DIRECTION_OPENING 1
+#define DIRECTION_CLOSING 2
+
+#define CONTENT_NOTHING 0
+#define CONTENT_VIDEO 1
+#define CONTENT_VIS 2
+
+#define DETACHED_VIS 1
+#define DETACHED_VIDEO 2
+
+// avoid calling these functions directly. if you do so, be sure to know what
+// you're doing, and to test your script thoroughly.
+
+Function drawer_expandWindow(int withdrawer);
+Function drawer_reduceWindow(int withdrawer);
+Function drawer_showWindowContent();
+Function drawer_hideWindowContent();
+Function drawer_hideVis();
+Function drawer_showVis();
+Function drawer_hideVideo();
+Function drawer_showVideo();
+Function drawer_dc_showVis();
+Function drawer_dc_showVideo();
+Function drawer_dc_hideVis();
+Function drawer_dc_hideVideo();
+Function drawer_dc_linkup_showVis();
+Function drawer_dc_linkup_showVideo();
+Function drawer_doDetachVis();
+Function drawer_doAttachVis();
+Function drawer_doDetachVideo();
+Function drawer_doAttachVideo();
+Function drawer_disablePSOVC();
+Function drawer_enablePSOVC();
+Function drawer_linkup_showVis();
+Function drawer_linkup_showVideo();
+Function drawer_doMaximizeWindow(int notif);
+
+Global Int __drawer_direction;
+
+Global Timer __callbackTimer;
+Global Int __callback_vis_show, __callback_video_show, __callback_vis_hide, __callback_video_hide;
+Global Timer __callbackTimer2;
+Global Int __callback2_what;
+Global Timer __PSOVCTimer;
+Global Int __bypasscancel;
+Global Int __isinited;
+Global Int __play_auto_fs_video;
+
+Global Int __hiding_video, __hiding_vis, __showing_vis, __showing_video;
+Global Int __last_forcedbottom, __last_forcedtop;
+Global Timer __tempDisable;
+
+Global Layout __main;
+Global Container __maincontainer;
+
+Global String __myname;
+Global Int __windowshade_openvid;
+Global Int __windowshade_openvis;
+
+Global int __maximized;
+Global int __oldx,__oldy,__oldw,__oldh;
+
+// -----------------------------------------------------------------------
+initDrawer(Layout lay, String name) {
+ // todo: test all attribs assigned
+
+ __isinited = 0;
+ __play_auto_fs_video = 0;
+
+ __main = lay;
+ __maincontainer = __main.getContainer();
+
+ if (name == "") __myname = "Drawer";
+ else __myname = name;
+ __drawer_direction = DIRECTION_NONE;
+
+ drawer_hideVis();
+ drawer_hideVideo();
+
+ __callbackTimer = new Timer;
+ __callbackTimer.setDelay(1);
+ __callbackTimer2 = new Timer;
+ __callbackTimer2.setDelay(1);
+ __PSOVCTimer = new Timer;
+ __PSOVCTimer.setDelay(1000);
+ __tempDisable = new Timer;
+ __tempDisable.setDelay(50);
+
+ __maximized = getPrivateInt("winamp5", __myname+"Maximized", 0);
+ if (__maximized) {
+ onBeforeMaximize();
+ onAfterMaximize();
+ }
+
+ __oldx=getPrivateInt("winamp5", __myname+"ox", 0);
+ __oldy=getPrivateInt("winamp5", __myname+"oy", 0);
+ __oldw=getPrivateInt("winamp5", __myname+"ow", 0);
+ __oldh=getPrivateInt("winamp5", __myname+"oh", 0);
+ __last_forcedtop = getPrivateInt("winamp5", __myname+"ForcedTop", 0);
+ __last_forcedbottom = getPrivateInt("winamp5", __myname+"ForcedBottom", 0);
+}
+
+// -----------------------------------------------------------------------
+shutdownDrawer() {
+ delete __callbackTimer;
+ delete __callbackTimer2;
+ delete __PSOVCTimer;
+ delete __tempDisable;
+}
+
+// -----------------------------------------------------------------------
+Int isDrawerToTop() {
+ int fromtop = 0;
+ if (__drawer_directiontop_attrib.getData() =="1") fromtop = 1;
+ if (__drawer_directionbypass_attrib.getData() == "0") return fromtop;
+
+ int curstate = getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ if (curstate != CLOSED) return __last_forcedtop;
+
+ int h=getPrivateInt("winamp5", __myname+"Height", getDefaultDrawerOpenHeight());
+ if (h == getDrawerClosedHeight()) h = getDefaultDrawerOpenHeight();
+ if (__maximized) h = getViewportHeight()+__main.getSnapAdjustBottom();
+
+ __last_forcedbottom = 0;
+ __last_forcedtop = 0;
+
+ // clienttoscreen auto adjusts for render ratio
+ if (fromtop) {
+ int y = __main.getGuiY();
+ int curh = __main.clientToScreenH(__main.getGuiH());
+ if (y + curh < __main.clientToScreenH(h) + getViewportTop()) {
+ int offset = __main.getSnapAdjustBottom();
+ if (!(y + __main.clientToScreenH(h-offset) > getViewPortTop()+getViewPortHeight())) {
+ __last_forcedbottom = 1;
+ return 0;
+ }
+ }
+ } else {
+ int offset = __main.getSnapAdjustBottom();
+ int y = __main.getGuiY();
+ if (y + __main.clientToScreenH(h-offset) > getViewPortTop()+getViewPortHeight()) {
+ int curh = __main.clientToScreenH(__main.getGuiH());
+ if (!(y + curh < __main.clientToScreenH(h) + getViewportTop())) {
+ __last_forcedtop = 1;
+ return 1;
+ }
+ }
+ }
+ return fromtop;
+}
+
+// -----------------------------------------------------------------------
+__main.onTargetReached() {
+ unlockUI();
+ if (__drawer_directiontop_attrib.getData() =="1") __main.reverseTarget(0);
+ if (__drawer_direction == DIRECTION_OPENING) {
+ setPrivateInt("winamp5", __myname+"OpenState", OPEN);
+ drawer_showWindowContent();
+ onDoneOpeningDrawer();
+ } else if (__drawer_direction == DIRECTION_CLOSING) {
+ setPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ onDoneClosingDrawer();
+ }
+ __drawer_direction = DIRECTION_NONE;
+}
+
+// -----------------------------------------------------------------------
+drawer_expandWindow(int withdrawer) {
+ int curstate = getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+#ifdef DEBUG
+ debugstring("expand - curstate = " + integertostring(curstate), 0);
+#endif
+ if (curstate == OPEN) {
+ drawer_showWindowContent();
+ onBeforeOpeningDrawer();
+ onDoneOpeningDrawer();
+ return;
+ }
+ int fromtop = isDrawerToTop();
+ setPrivateInt("winamp5", __myname+"OpenState", OPEN);
+
+ int h=getPrivateInt("winamp5", __myname+"Height", getDefaultDrawerOpenHeight());
+ if (h == getDrawerClosedHeight()) h = getDefaultDrawerOpenHeight();
+ if (__maximized) h = getViewportHeight()+__main.getSnapAdjustBottom();
+ int w = __main.getGuiW();
+
+ if (h == __main.getHeight()) withdrawer = 0;
+
+ onBeforeOpeningDrawer();
+
+ int delay = 0;
+ if (!__main.isLayoutAnimationSafe()) withdrawer = 0;
+ if (withdrawer && StringToInteger(__scrolldrawerattrib.getData())) delay = 1;
+
+ __drawer_direction = DIRECTION_OPENING;
+ __main.setTargetX(__main.getGuiX());
+ __main.setTargetY(__main.getGuiY());
+ __main.setTargetW(w);
+ __main.setTargetH(h);
+ __main.reverseTarget(fromtop);
+ __main.setTargetSpeed(delay);
+ __main.gotoTarget();
+ lockUI();
+
+ if (!__maximized)
+ setPrivateInt("winamp5", __myname+"Height", h);
+ setPrivateInt("winamp5", __myname+"ForcedBottom", __last_forcedBottom);
+ setPrivateInt("winamp5", __myname+"ForcedTop", __last_forcedtop);
+}
+
+// -----------------------------------------------------------------------
+drawer_reduceWindow(int withdrawer) {
+#ifdef DEBUG
+ debugstring("reduce", 0);
+#endif
+ drawer_hideVis();
+ drawer_hideVideo();
+ setPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ if (__drawer_direction == DIRECTION_NONE && !__maximized) { // avoid saving new size if we're currenly opening
+ int h=__main.getHeight();
+ setPrivateInt("winamp5", __myname+"Height", h);
+ }
+
+ drawer_hideWindowContent();
+ onBeforeClosingDrawer();
+
+ int fromtop=0;
+ if (__drawer_directiontop_attrib.getData() =="1") fromtop = 1;
+
+ int delay = 0;
+ if (!__main.isLayoutAnimationSafe()) withdrawer = 0;
+ if (withdrawer && StringToInteger(__scrolldrawerattrib.getData())) delay = 1;
+
+ if (__drawer_directionbypass_attrib.getData() == "1") {
+ if (__last_forcedtop) fromtop = 1;
+ if (__last_forcedbottom) fromtop = 0;
+ }
+
+ __drawer_direction = DIRECTION_CLOSING;
+ __main.setTargetX(__main.getGuiX());
+ __main.setTargetY(__main.getGuiY());
+ __main.setTargetW(__main.getGuiW());
+ __main.setTargetH(getDrawerClosedHeight());
+ __main.reverseTarget(fromtop);
+ __main.setTargetSpeed(delay);
+ __main.gotoTarget();
+ lockUI();
+ __last_forcedtop = 0;
+ __last_forcedbottom = 0;
+ setPrivateInt("winamp5", __myname+"ForcedBottom", 0);
+ setPrivateInt("winamp5", __myname+"ForcedTop", 0);
+}
+
+// -----------------------------------------------------------------------
+openDrawer() {
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ int s = getStatus();
+ if (s == STATUS_PLAYING || s == STATUS_PAUSED) {
+ if (!isVideo()) {
+ if (__vis_detach_attrib.getData() == "0") {
+ openDrawerForVis();
+ } else if (__video_detach_attrib.getData() == "0") {
+ openDrawerForVideo();
+ } else {
+ openDrawerForNothing();
+ }
+ } else {
+ if (__video_detach_attrib.getData() == "0") {
+ openDrawerForVideo();
+ } else if (__vis_detach_attrib.getData() == "0") {
+ openDrawerForVis();
+ } else {
+ openDrawerForNothing();
+ }
+ }
+ } else {
+ int Window_Content=getPrivateInt("winamp5", __myname+"State", CONTENT_VIS);
+ if (window_content == CONTENT_VIS && __vis_detach_attrib.getData() == "0") {
+ openDrawerForVis();
+ } else if (window_content == CONTENT_VIDEO && __video_detach_attrib.getData() == "0") {
+ openDrawerForVideo();
+ } else if (__vis_detach_attrib.getData() == "0") {
+ openDrawerForVis();
+ } else if (__video_detach_attrib.getData() == "0") {
+ openDrawerForVideo();
+ } else {
+ openDrawerForNothing();
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+closeDrawer() {
+ drawer_reduceWindow(1);
+}
+
+// -----------------------------------------------------------------------
+System.onPlay() {
+ // needed to handle video auto fullscreen on play in drawer_showVideo()
+ WinampConfigGroup vidwcg = WinampConfig.getGroup(VIDEO_CONFIG_GROUP);
+ boolean auto_fs = vidwcg.getBool("auto_fs");
+ if (auto_fs && __video_detach_attrib.getData() == "0") __play_auto_fs_video = 1;
+ else __play_auto_fs_video = 0;
+}
+
+System.onTitleChange(String newtitle) {
+ // needed to handle video auto fullscreen on play in drawer_showVideo()
+ WinampConfigGroup vidwcg = WinampConfig.getGroup(VIDEO_CONFIG_GROUP);
+ boolean auto_fs = vidwcg.getBool("auto_fs");
+ if (auto_fs && __video_detach_attrib.getData() == "0") __play_auto_fs_video = 1;
+ else __play_auto_fs_video = 0;
+}
+
+// -----------------------------------------------------------------------
+System.onPause() {
+ __play_auto_fs_video = 0;
+}
+
+// -----------------------------------------------------------------------
+System.onResume() {
+ __play_auto_fs_video = 0;
+}
+
+// -----------------------------------------------------------------------
+System.onStop() {
+ __play_auto_fs_video = 0;
+}
+
+// -----------------------------------------------------------------------
+// The heart of the machine, here we detect when a window wants to open
+// or close, and we decide what to do about it. When we return FALSE, the
+// window performs what it notified us about. When we return TRUE, the
+// showing/hiding of the window is cancelled, and it is now up to us to
+// show or hide the window once we're done with our animations.
+// To show the window ourselves, we later show a windowholder with the
+// autoopen="1" param, and to hide the window, we simply hide the
+// windowholder, and its autoclose="1" param will do the rest
+// -----------------------------------------------------------------------
+System.onGetCancelComponent(String guid, boolean goingvisible) {
+#ifdef DEBUG
+ DebugString("+", 0);
+#endif
+
+ // fix for when the UI sometimes is locked after switching video file in fullscreen
+ unlockUI();
+
+ // isVideo() hasn't been set yet in System.onPlay and System.onTitleChange, so we check it here instead.
+ if (__play_auto_fs_video && !isVideo()) __play_auto_fs_video = 0;
+
+ if (__bypasscancel) return FALSE;
+ if (guid == VIDEO_GUID && !goingvisible && __hiding_video) return FALSE;
+ if (guid == VIS_GUID && !goingvisible && __hiding_vis) return FALSE;
+ if (guid == VIDEO_GUID && goingvisible && __showing_video) return FALSE;
+ if (guid == VIS_GUID && goingvisible && __showing_vis) return FALSE;
+
+#ifdef DEBUG
+ DebugString("--------------- onGetCancelComponent ----------------", 0);
+ DebugString(" GUID : " + guid, 0);
+ if (goingvisible) DebugString(" Going Visible", 0); else DebugString(" Going Invisible", 0);
+ DebugString(" Last Content : " + IntegerToString(getPrivateInt("winamp5", __myname+"State", CONTENT_VIS)), 0);
+ DebugString(" Drawer State : " + IntegerToString(getPrivateInt("winamp5", __myname+"OpenState", CLOSED)), 0);
+ DebugString("-----------------------------------------------------", 0);
+#endif
+
+ if (!__main.isVisible()) return FALSE;
+
+ int Window_Content=getPrivateInt("winamp5", __myname+"State", CONTENT_VIS);
+ int window_status =getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+
+ if (window_status == CLOSED) {
+ if (guid == VIDEO_GUID) {
+ if (__video_detach_attrib.getData() == "0") {
+ if (goingvisible) {
+ openDrawerForVideo();
+ return TRUE;
+ }
+ }
+ }
+ if (guid == VIS_GUID) {
+ if (__vis_detach_attrib.getData() == "0") {
+ if (goingvisible) {
+ openDrawerForVis();
+ return TRUE;
+ }
+ }
+ }
+ } else if (window_status == OPEN) {
+ if (goingvisible) {
+ if (guid == VIDEO_GUID && window_content == CONTENT_VIS) {
+ if (__video_detach_attrib.getData() == "0") {
+ window_content = CONTENT_VIDEO;
+ drawer_hideVis();
+ drawer_dc_showVideo();
+ return TRUE;
+ }
+ } else if (guid == VIS_GUID && window_content == CONTENT_VIDEO) {
+ if (__vis_detach_attrib.getData() == "0") {
+ window_content = CONTENT_VIS;
+ drawer_disablePSOVC();
+ drawer_hideVideo();
+ drawer_dc_showVis();
+ return TRUE;
+ }
+ }
+ }
+ }
+ if (!goingvisible && window_status == OPEN) {
+#ifdef DEBUG
+ DebugString("closing " + guid, 0);
+#endif
+ if (guid == VIDEO_GUID && window_content == CONTENT_VIDEO) {
+ drawer_hideVideo();
+ drawer_reduceWindow(1);
+ return FALSE;
+ }
+ if (guid == VIS_GUID && window_content == CONTENT_VIS) {
+ drawer_hideVis();
+ if ((getStatus() == STATUS_PLAYING ||
+ getStatus() == STATUS_PAUSED) &&
+ isVideo() &&
+ __video_detach_attrib.getData() == "0") {
+ drawer_dc_showVideo();
+ } else {
+ drawer_reduceWindow(1);
+ }
+ return FALSE;
+ }
+ }
+#ifdef DEBUG
+ DebugString("Went thru", 0);
+#endif
+ return FALSE;
+}
+
+// -----------------------------------------------------------------------
+drawer_showVis() {
+#ifdef DEBUG
+ DebugString("drawer_showVis",0 );
+#endif
+ __showing_vis = 1;
+ setPrivateInt("winamp5", __myname+"OpenState", OPEN);
+ setPrivateInt("winamp5", __myname+"State", CONTENT_VIS);
+ GuiObject o = getVisWindowHolder();
+ if (o != NULL) { __bypasscancel = 1; o.show(); __bypasscancel = 0; }
+#ifdef DEBUG
+ else DebugString("vis object not provided (show)", 0);
+#endif
+ onShowVis();
+ __showing_vis = 0;
+}
+
+// -----------------------------------------------------------------------
+drawer_hideVis() {
+ __callback_vis_show = 0;
+#ifdef DEBUG
+ DebugString("drawer_hideVis",0 );
+#endif
+ __hiding_vis = 1;
+ GuiObject o = getVisWindowHolder();
+ if (o != NULL) { __bypasscancel = 1; o.hide(); __bypasscancel = 0; }
+#ifdef DEBUG
+ else DebugString("video object not found (hide)", 0);
+#endif
+ onHideVis();
+ __hiding_vis = 0;
+}
+
+// -----------------------------------------------------------------------
+drawer_showVideo() {
+#ifdef DEBUG
+ DebugString("drawer_showVideo",0 );
+#endif
+ __showing_video = 1;
+ setPrivateInt("winamp5", __myname+"OpenState", OPEN);
+ setPrivateInt("winamp5", __myname+"State", CONTENT_VIDEO);
+ GuiObject o = getVideoWindowHolder();
+ if (o != NULL) {
+ __bypasscancel = 1;
+
+ // hack to fix bug for auto fullscreen on play
+ if (__play_auto_fs_video) setVideoFullscreen(FALSE);
+
+ o.show();
+
+ // hack to fix bug for auto fullscreen on play
+ if (__play_auto_fs_video) setVideoFullscreen(TRUE);
+
+ __bypasscancel = 0;
+ }
+#ifdef DEBUG
+ else DebugString("vis object not found (show)", 0);
+#endif
+ onShowVideo();
+ __play_auto_fs_video = 0;
+ __showing_video = 0;
+}
+
+// -----------------------------------------------------------------------
+drawer_hideVideo() {
+ __callback_video_show = 0;
+#ifdef DEBUG
+ DebugString("drawer_hideVideo",0 );
+#endif
+ __hiding_video = 1;
+ GuiObject o = getVideoWindowHolder();
+ if (o != NULL) { __bypasscancel = 1; o.hide(); __bypasscancel = 0; }
+#ifdef DEBUG
+ else DebugString("video object not found (hide)", 0);
+#endif
+ onHideVideo();
+ __hiding_video = 0;
+}
+
+// -----------------------------------------------------------------------
+__callbackTimer.onTimer() {
+ stop();
+ int cvds = __callback_video_show;
+ int cvss = __callback_vis_show;
+ int cvdh = __callback_video_hide;
+ int cvsh = __callback_vis_hide;
+ __callback_video_show = 0;
+ __callback_vis_show = 0;
+ __callback_video_hide = 0;
+ __callback_vis_hide = 0;
+ if (cvds == 1) drawer_showVideo();
+ if (cvss == 1) drawer_showVis();
+ if (cvsh == 1) drawer_hideVis();
+ if (cvdh == 1) drawer_hideVideo();
+}
+
+// -----------------------------------------------------------------------
+drawer_dc_showVideo() {
+ __callback_video_show = 1;
+ __callback_video_hide = 0;
+ __callbackTimer.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_dc_showVis() {
+ __callback_vis_show = 1;
+ __callback_vis_hide = 0;
+ __callbackTimer.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_dc_hideVideo() {
+ __callback_video_show = 0;
+ __callback_video_hide = 1;
+ __callbackTimer.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_dc_hideVis() {
+ __callback_vis_show = 0;
+ __callback_vis_hide = 1;
+ __callbackTimer.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_showWindowContent() {
+ int lastWindowContent=getPrivateInt("winamp5", __myname+"State", 2);
+#ifdef DEBUG
+ DebugString("drawer_showWindowContent = " + IntegerToString(lastWindowContent), 0);
+#endif
+ if (lastWindowContent==CONTENT_VIDEO) drawer_dc_showVideo();
+ if (lastWindowContent==CONTENT_VIS) drawer_dc_showVis();
+}
+
+// -----------------------------------------------------------------------
+drawer_hideWindowContent() {
+ int lastWindowContent=getPrivateInt("winamp5", __myname+"State", 2);
+#ifdef DEBUG
+ DebugString("drawer_hideWindowContent = " + IntegerToString(lastWindowContent), 0);
+#endif
+ /*if (lastWindowContent==CONTENT_VIDEO)*/ drawer_hideVideo();
+ /*if (lastWindowContent==CONTENT_VIS)*/ drawer_hideVis();
+}
+
+// -----------------------------------------------------------------------
+OpenDrawerForVideo() {
+ setPrivateInt("winamp5", __myname+"State", CONTENT_VIDEO);
+ drawer_expandWindow(1);
+}
+
+// -----------------------------------------------------------------------
+OpenDrawerForVis() {
+ setPrivateInt("winamp5", __myname+"State", CONTENT_VIS);
+ drawer_expandWindow(1);
+}
+
+// -----------------------------------------------------------------------
+OpenDrawerForNothing() {
+ setPrivateInt("winamp5", __myname+"State", CONTENT_NOTHING);
+ drawer_expandWindow(1);
+}
+
+// -----------------------------------------------------------------------
+__main.onResize(int x, int y, int w, int h) {
+ if (!isGoingToTarget() && !__isinited) {
+ __isinited = 1;
+ if (h > getDrawerClosedHeight()) { setPrivateInt("winamp5", __myname+"OpenState", OPEN); drawer_expandWindow(0); }
+ else setPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ }
+}
+
+// -----------------------------------------------------------------------
+__main.onUserResize(int x, int y, int w, int h) {
+ int window_status=getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ if (window_status == OPEN) {
+ int h = getHeight();
+ if (h != getDrawerClosedHeight()) {
+#ifdef DEBUG
+ DebugString("h = "+integerTostring(h), 0);
+#endif
+ if (!__maximized)
+ setPrivateInt("winamp5", __myname+"Height", h);
+ }
+ } else if (window_status == CLOSED) {
+ int h = getDrawerOpenAutoHeight(w);
+ if (h != -1) {
+ setPrivateInt("winamp5", __myname+"Height", h);
+ }
+ }
+ if (__maximized) {
+ __maximized = 0;
+ setPrivateInt("winamp5", __myname+"Maximized", 0);
+ onCancelMaximize();
+ }
+}
+
+// -----------------------------------------------------------------------
+switchToVideo() {
+ if (__callbackTimer.isRunning()) return;
+ if (__callbackTimer2.isRunning()) return;
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ drawer_hideVis();
+ drawer_showVideo();
+}
+
+// -----------------------------------------------------------------------
+switchToVis() {
+ if (__callbackTimer.isRunning()) return;
+ if (__callbackTimer2.isRunning()) return;
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ drawer_disablePSOVC();
+ drawer_hideVideo();
+ drawer_showVis();
+}
+
+// -----------------------------------------------------------------------
+__tempDisable.onTimer() {
+ stop();
+}
+
+// -----------------------------------------------------------------------
+detachVis() {
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ __vis_detach_attrib.setData("1");
+}
+
+// -----------------------------------------------------------------------
+detachVideo() {
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ __video_detach_attrib.setData("1");
+}
+
+// -----------------------------------------------------------------------
+attachVis() {
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ __vis_detach_attrib.setData("0");
+}
+
+// -----------------------------------------------------------------------
+attachVideo() {
+ if (__tempDisable.isRunning()) return;
+ __tempDisable.start();
+ __video_detach_attrib.setData("0");
+}
+
+// -----------------------------------------------------------------------
+__video_detach_attrib.onDataChanged() {
+#ifdef DEBUG
+ DebugString("detach video changed", 0);
+#endif
+ if (getData() == "1") {
+ drawer_doDetachVideo();
+ onDetachVideo();
+ } else {
+ if (getData() == "0") {
+ drawer_doAttachVideo();
+ onAttachVideo();
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+__vis_detach_attrib.onDataChanged() {
+#ifdef DEBUG
+ DebugString("detach vis changed", 0);
+#endif
+ if (getData() == "1") {
+ drawer_doDetachVis();
+ onDetachVis();
+ } else {
+ if (getData() == "0") {
+ drawer_doAttachVis();
+ onAttachVis();
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+drawer_doDetachVideo() {
+ int wasvisible = isNamedWindowVisible(VIDEO_GUID);
+ int lastWindowContent=getPrivateInt("winamp5", __myname+"State", 2);
+ int window_status =getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ if (!wasvisible) return;
+ if (lastWindowContent != CONTENT_VIDEO) return;
+ if (window_status == OPEN) {
+ drawer_disablePSOVC();
+ drawer_reduceWindow(1);
+ }
+ drawer_dc_linkup_showVideo();
+}
+
+// -----------------------------------------------------------------------
+drawer_doDetachVis() {
+ int lastWindowContent=getPrivateInt("winamp5", __myname+"State", 2);
+ int window_status =getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ if (lastWindowContent != CONTENT_VIS) return;
+ int wasvisible = isNamedWindowVisible(VIS_GUID);
+ if (!wasvisible) return;
+ if (window_status == OPEN) {
+ drawer_hideVis();
+ if ((getStatus() == STATUS_PLAYING ||
+ getStatus() == STATUS_PAUSED) && isVideo() &&
+ __video_detach_attrib.getData() == "0") {
+ setPrivateInt("winamp5", __myname+"State", CONTENT_VIDEO);
+ drawer_dc_showVideo();
+ } else {
+ drawer_reduceWindow(1);
+ }
+ }
+ drawer_dc_linkup_showVis();
+}
+
+// -----------------------------------------------------------------------
+drawer_doAttachVideo() {
+ drawer_disablePSOVC();
+ int wasvisible = isNamedWindowVisible(VIDEO_GUID);
+ if (wasvisible) {
+ hideNamedWindow(VIDEO_GUID);
+ int window_status =getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ int window_content=getPrivateInt("winamp5", __myname+"State", 2);
+ if (window_content == CONTENT_VIS) drawer_hideVis();
+ if (window_status == CLOSED) openDrawerForVideo();
+ else drawer_dc_showVideo();
+ }
+}
+
+// -----------------------------------------------------------------------
+drawer_doAttachVis() {
+ drawer_disablePSOVC();
+ int wasvisible = isNamedWindowVisible(VIS_GUID);
+ if (wasvisible) {
+ hideNamedWindow(VIS_GUID);
+ int window_status =getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ int window_content=getPrivateInt("winamp5", __myname+"State", 2);
+ if (window_content == CONTENT_VIDEO) drawer_hideVideo();
+ if (window_status == CLOSED) openDrawerForVis();
+ else drawer_dc_showVis();
+ }
+}
+
+// -----------------------------------------------------------------------
+__callbackTimer2.onTimer() {
+ stop();
+ if (__callback2_what == DETACHED_VIDEO) drawer_linkup_showVideo();
+ if (__callback2_what == DETACHED_VIS) drawer_linkup_showVis();
+}
+
+// -----------------------------------------------------------------------
+drawer_dc_linkup_showVis() {
+ __callback2_what = DETACHED_VIS;
+ __callbackTimer2.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_dc_linkup_showVideo() {
+ __callback2_what = DETACHED_VIDEO;
+ __callbackTimer2.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_linkup_showVis() {
+#ifdef DEBUG
+ DebugString("show detached vis",0 );
+#endif
+ showWindow(VIS_GUID, "", 0);
+}
+
+// -----------------------------------------------------------------------
+drawer_linkup_showVideo() {
+#ifdef DEBUG
+ DebugString("show detached video",0 );
+#endif
+ showWindow(VIDEO_GUID, "", 0);
+ drawer_enablePSOVC();
+}
+
+// -----------------------------------------------------------------------
+drawer_disablePSOVC() {
+#ifdef DEBUG
+ DebugString("disabling stop on video close",0 );
+#endif
+ ConfigItem item = Config.getItem(SKINTWEAKS_CFGPAGE);
+ if (item) {
+ ConfigAttribute attr = item.getAttribute("Prevent video playback Stop on video window Close");
+ if (attr) attr.setData("1");
+ }
+ __PSOVCTimer.start();
+}
+
+// -----------------------------------------------------------------------
+drawer_enablePSOVC() {
+#ifdef DEBUG
+ DebugString("enabling stop on video close",0 );
+#endif
+ __PSOVCTimer.stop();
+ ConfigItem item = Config.getItem(SKINTWEAKS_CFGPAGE);
+ if (item) {
+ ConfigAttribute attr = item.getAttribute("Prevent video playback Stop on video window Close");
+ if (attr) attr.setData("0");
+ }
+}
+
+// -----------------------------------------------------------------------
+__PSOVCTimer.onTimer() {
+ drawer_enablePSOVC();
+}
+
+// -----------------------------------------------------------------------
+__maincontainer.onBeforeSwitchToLayout(Layout oldl, Layout newl) {
+ int window_status =getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+ int window_content=getPrivateInt("winamp5", __myname+"State", 2);
+ if (oldl == __main && window_status == OPEN && window_content == CONTENT_VIDEO && getStatus() == STATUS_PLAYING && isVideo()) {
+ drawer_disablePSOVC();
+ __windowshade_openvid = 1;
+ }
+ if (oldl == __main && window_status == OPEN && window_content == CONTENT_VIS) {
+ __windowshade_openvis = 1;
+ }
+}
+
+// -----------------------------------------------------------------------
+__maincontainer.onSwitchToLayout(Layout newl) {
+ // these do not call drawer_doDetachVis or drawer_doDetachVideo but showDetachVis and showDetachVideo so that the change is temporary
+ if (__windowshade_openvid) {
+ __windowshade_openvid = 0;
+ drawer_linkup_showVideo();
+ }
+ if (__windowshade_openvis) {
+ __windowshade_openvis = 0;
+ drawer_linkup_showVis();
+ }
+}
+
+// -----------------------------------------------------------------------
+Int getDrawerState() {
+ return getPrivateInt("winamp5", __myname+"OpenState", CLOSED);
+}
+
+// -----------------------------------------------------------------------
+Int getDrawerContent() {
+ return getPrivateInt("winamp5", __myname+"State", CONTENT_VIS);
+}
+
+// -----------------------------------------------------------------------
+maximizeWindow() {
+ __oldx=__main.getGuiX();
+ __oldy=__main.getGuiY();
+ __oldw=__main.getGuiW();
+ __oldh=__main.getGuiH();
+
+ setPrivateInt("winamp5", __myname+"ox", __oldx);
+ setPrivateInt("winamp5", __myname+"oy", __oldy);
+ setPrivateInt("winamp5", __myname+"ow", __oldw);
+ setPrivateInt("winamp5", __myname+"oh", __oldh);
+
+ drawer_doMaximizeWindow(1);
+}
+
+// -----------------------------------------------------------------------
+drawer_doMaximizeWindow(int notif) {
+ int vx=getViewportLeft();
+ int vy=getViewportTop();
+ int vw=getViewportWidth();
+ int vh=getViewportHeight();
+
+ if (notif) onBeforeMaximize();
+ __maximized = 1;
+ setPrivateInt("winamp5", __myname+"Maximized", 1);
+ __main.resize(vx, vy, vw, vh+__main.getSnapAdjustBottom());
+ if (notif) onAfterMaximize();
+}
+
+// -----------------------------------------------------------------------
+__main.onSnapAdjustChanged() {
+ if (__maximized)
+ drawer_doMaximizeWindow(0);
+}
+
+// -----------------------------------------------------------------------
+restoreWindow() {
+ onBeforeRestore();
+ __maximized = 0;
+ setPrivateInt("winamp5", __myname+"Maximized", 0);
+ __main.resize(__oldx, __oldy, __oldw, __oldh);
+ onAfterRestore();
+}
+
+// -----------------------------------------------------------------------
+// default events implementations - override them in your script
+// -----------------------------------------------------------------------
+onBeforeOpeningDrawer() {}
+onBeforeClosingDrawer() {}
+onDoneOpeningDrawer() {}
+onDoneClosingDrawer() {}
+onShowVis() {}
+onHideVis() {}
+onShowVideo() {}
+onHideVideo() {}
+onAttachVideo() {}
+onDetachVideo() {}
+onAttachVis() {}
+onDetachVis() {}
+onBeforeMaximize() {}
+onBeforeRestore() {}
+onAfterMaximize() {}
+onAfterRestore() {}
+onCancelMaximize() {}
diff --git a/Src/resources/skins/Winamp Modern/scripts/eq.m b/Src/resources/skins/Winamp Modern/scripts/eq.m
new file mode 100644
index 00000000..8a062181
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/eq.m
@@ -0,0 +1,90 @@
+#include <lib/std.mi>
+#include <lib/winampconfig.mi>
+
+Global Group frameGroup, use;
+Global Button btnEQp12,btnEQ0,btnEQm12;
+Global Layer eqBand;
+Global Boolean manual_set;
+
+Global Layout normal;
+
+#define ISOBANDS "31.5 Hz,63 Hz,125 Hz,250 Hz,500 Hz,1 KHz,2 KHz,4 KHz,8 KHz,16 KHz"
+#define WINAMPBANDS "70 Hz,180 Hz,320 Hz,600 Hz,1 KHz,3 KHz,6 KHz,12 KHz,14 KHz,16 KHz"
+
+System.onScriptLoaded() {
+ WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");
+ int freqmode = eqwcg.getInt("frequencies"); // returns 0 for classical winamp levels, 1 for ISO levels
+
+ frameGroup = getScriptGroup();
+ normal = frameGroup.getParentLayout();
+ btnEQp12 = frameGroup.findObject("EQ_p12");
+ btnEQ0 = frameGroup.findObject("EQ_0");
+ btnEQm12 = frameGroup.findObject("EQ_m12");
+ eqBand = frameGroup.findObject("equalizer.band.label");
+
+ system.onEqFreqChanged(freqmode);
+}
+
+btnEQp12.onLeftClick() {
+ manual_set = 1;
+ for(int i=0; i<10; i++) setEqBand(i, 127);
+ manual_set = 0;
+}
+
+btnEQ0.onLeftClick() {
+ manual_set = 1;
+ for(int i=0; i<10; i++) setEqBand(i, 0);
+ manual_set = 0;
+}
+
+btnEQm12.onLeftClick() {
+ manual_set = 1;
+ for(int i=0; i<10; i++) setEqBand(i, -127);
+ manual_set = 0;
+}
+
+System.onEqFreqChanged (boolean isoonoff)
+{
+ if (isoonoff == 1)
+ {
+ eqBand.setXmlParam("image", "drawer.eq.label.iso");
+ for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(ISOBANDS,",",i));
+ }
+ else
+ {
+ eqBand.setXmlParam("image", "drawer.eq.label.winamp");
+ for(int i=0; i<10; i++) frameGroup.findObject("eq"+integerToString(i+1)).setXmlParam("tooltip", getToken(WINAMPBANDS,",",i));
+ }
+}
+
+system.onEqBandChanged(int band, int value)
+{
+ if (manual_set) return;
+ String t;
+ Float f = value;
+ f = f / 10.5;
+ WinampConfigGroup eqwcg = WinampConfig.getGroup("{72409F84-BAF1-4448-8211-D84A30A1591A}");
+ if (eqwcg.getInt("frequencies") == 1) {
+ if (f >= 0) t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");
+ else t = "EQ: " + translate(getToken(ISOBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");
+ }
+ else {
+ if (f >= 0) t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": +" + floattostring(f, 1) + " "+ translate("dB");
+ else t = "EQ: " + translate(getToken(WINAMPBANDS,",",band)) + ": " + floattostring(f, 1) + " "+ translate("dB");
+ }
+
+ normal.sendAction("showinfo", t, 0,0,0,0);
+}
+
+system.onEqPreampChanged(int value)
+{
+ slider s = getScriptGroup().findObject("preamp");
+ value = s.getPosition(); // Somehow this function returns a range from [-127;125] with hotpos -3, so we take the slider instead
+ String t = "EQ: " + translate("Preamp:") + " ";
+ Float f = value;
+ f = f / 10.5;
+ if (f >= -3) t += "+"+floattostring(f, 1) + " "+ translate("dB");
+ else t += floattostring(f, 1) + " "+ translate("dB");
+
+ normal.sendAction("showinfo", t, 0,0,0,0);
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/eq.maki b/Src/resources/skins/Winamp Modern/scripts/eq.maki
new file mode 100644
index 00000000..da7663c6
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/eq.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/init_Playlist.m b/Src/resources/skins/Winamp Modern/scripts/init_Playlist.m
new file mode 100644
index 00000000..bb5f41ba
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/init_Playlist.m
@@ -0,0 +1,34 @@
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+#include "gen_pageguids.m"
+
+
+Function initAttribs_Playlist();
+
+#define COSTUM_PAGE_PLAYLIST "{0167CFD9-5D35-404a-8F03-80ED5B89DEDF}"
+
+Global ConfigAttribute playlist_search_attrib;
+
+initAttribs_Playlist(){
+ initPages();
+
+ ConfigItem custom_page_playlist = addConfigSubMenu(optionsmenu_page, "Playlist", COSTUM_PAGE_PLAYLIST);
+
+ playlist_search_attrib = custom_page_playlist.newAttribute("Show Playlist Search box", "1");
+ //addMenuSeparator(custom_page_autoresize);
+}
+
+#ifdef MAIN_ATTRIBS_MGR
+/*
+playlist_search_attrib.onDataChanged()
+{
+ if (attribs_mychange) return;
+ NOOFF
+ attribs_mychange = 1;
+ if (getData() == "1") playlist_search_attrib.setData("0");
+ if (getData() == "0") playlist_search_attrib.setData("1");
+ attribs_mychange = 0;
+}*/
+#endif \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/mainmenu.m b/Src/resources/skins/Winamp Modern/scripts/mainmenu.m
new file mode 100644
index 00000000..73efe5be
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mainmenu.m
@@ -0,0 +1,50 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+System.onScriptLoaded() {
+ initAttribs();
+ menubar_main_attrib.onDataChanged();
+}
+
+menubar_main_attrib.onDataChanged() {
+ Group Player = getscriptgroup().findobject("player.content.dummy.group");
+ Group MenuBar = getscriptgroup().findobject("wasabi.menubar");
+ if (getData() == "1") {
+ Player.setXmlParam("y","0");
+ MenuBar.show();
+ } else {
+ Player.setXmlParam("y","-17");
+ MenuBar.hide();
+ }
+}
+
+System.onAccelerator(String action, String section, String key) {
+ if (menubar_main_attrib.getData() == "0") return;
+ Layout l = getScriptGroup().getParentLayout();
+ if (!l.isActive()) return;
+ if (action == "MENUHOTKEY_FILE")
+ {
+ getScriptGroup().findObject("File.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_PLAY")
+ {
+ getScriptGroup().findObject("Play.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_OPTIONS")
+ {
+ getScriptGroup().findObject("Options.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_VIEW")
+ {
+ getScriptGroup().findObject("View.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_HELP")
+ {
+ getScriptGroup().findObject("Help.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/mainmenu.maki b/Src/resources/skins/Winamp Modern/scripts/mainmenu.maki
new file mode 100644
index 00000000..6bf1a69b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mainmenu.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.m b/Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.m
new file mode 100644
index 00000000..fba5e658
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.m
@@ -0,0 +1,25 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Function setOverlay();
+
+Global Layer VideoVisTextOverlay;
+
+System.onScriptLoaded() {
+ initAttribs();
+ VideoVisTextOverlay=getScriptGroup().findObject("menubar.right.textoverlay");
+ setOverlay();
+}
+
+video_detach_attrib.onDataChanged() {
+ setOverlay();
+}
+
+vis_detach_attrib.onDataChanged() {
+ setOverlay();
+}
+
+setOverlay() {
+ if (vis_detach_attrib.getData() == "1" && video_detach_attrib.getData() == "1") VideoVisTextOverlay.hide();
+ else VideoVisTextOverlay.show();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.maki b/Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.maki
new file mode 100644
index 00000000..f07c1fb1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mainmenuoverlay.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/menualign.m b/Src/resources/skins/Winamp Modern/scripts/menualign.m
new file mode 100644
index 00000000..b325c181
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/menualign.m
@@ -0,0 +1,14 @@
+#include <lib/std.mi>
+
+System.onScriptLoaded() {
+ group sg = getScriptGroup();
+ string params = getParam();
+ int offset = 0;
+
+ for (int a = 0; getToken(params,",",a) != ""; a++ )
+ {
+ guiobject tmp = sg.getObject(getToken(params,",",a));
+ tmp.setXMLparam("x",integertostring(offset));
+ offset += tmp.getAutoWidth();
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/menualign.maki b/Src/resources/skins/Winamp Modern/scripts/menualign.maki
new file mode 100644
index 00000000..0709e016
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/menualign.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/mlmenu.m b/Src/resources/skins/Winamp Modern/scripts/mlmenu.m
new file mode 100644
index 00000000..c558a089
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mlmenu.m
@@ -0,0 +1,50 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+System.onScriptLoaded() {
+ initAttribs();
+ menubar_ml_attrib.onDataChanged();
+}
+
+menubar_ml_attrib.onDataChanged() {
+ Group Player = getscriptgroup().findobject("player.content.ml.dummy.group");
+ Group MenuBar = getscriptgroup().findobject("wasabi.menubar.ml");
+ Layout main = getscriptgroup().getParentLayout();
+
+ main.beforeRedock();
+ if (getData() == "1") {
+ Player.setXmlParam("y","17");
+ MenuBar.show();
+ main.snapAdjust(0,0,0,0);
+ }
+ else {
+ Player.setXmlParam("y","0");
+ MenuBar.hide();
+ main.snapAdjust(0,0,0,17);
+ }
+ main.Redock();
+}
+
+System.onAccelerator(String action, String section, String key) {
+ if (menubar_main_attrib.getData() == "0") return;
+ Layout l = getScriptGroup().getParentLayout();
+ if (!l.isActive()) return;
+
+ // we use the general accelerators otherwise use specific ones
+ // will allow the skin to cope with variations in localisations
+ if (action == "MENUHOTKEY_FILE" || action == "ML_MENUHOTKEY_FILE")
+ {
+ getScriptGroup().findObject("ML_File.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_VIEW" || action == "ML_MENUHOTKEY_VIEW")
+ {
+ getScriptGroup().findObject("ML_View.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_HELP" || action == "ML_MENUHOTKEY_HELP")
+ {
+ getScriptGroup().findObject("ML_Help.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/mlmenu.maki b/Src/resources/skins/Winamp Modern/scripts/mlmenu.maki
new file mode 100644
index 00000000..946a2460
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mlmenu.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/mute.m b/Src/resources/skins/Winamp Modern/scripts/mute.m
new file mode 100644
index 00000000..864286a0
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mute.m
@@ -0,0 +1,125 @@
+#include <lib/std.mi>
+
+Function updateVolume(int v);
+
+Global Group frameGroup;
+Global Togglebutton MuteBtn,MuteBtnShade;
+Global Timer SongTickerTimer;
+Global Text InfoTicker;
+Global GuiObject SongTicker;
+Global Float VolumeLevel;
+Global Boolean Muted,BtnPressed;
+Global Layer volumebar;
+Global Timer callback;
+
+System.onScriptLoaded() {
+ Muted = getPrivateInt("winamp5", "muted", 0);
+ VolumeLevel = getPrivateInt("winamp5", "old_volume", 0);
+ frameGroup = getScriptGroup();
+
+ MuteBtn = frameGroup.findObject("mute");
+ MuteBtn.setActivated(Muted);
+
+ callback = new Timer; callback.setDelay(5); callback.start();
+ SongTicker = frameGroup.findObject("songticker");
+ InfoTicker = frameGroup.findObject("infoticker");
+
+ volumebar = frameGroup.findObject("volumebar");
+ volumebar.setXmlParam("w",integertostring( (system.getVolume()/255) *70 + 5));
+
+ SongTickerTimer = new Timer;
+ SongTickerTimer.setDelay(1000);
+ if (Muted) {
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText("Mute ON");
+ }
+ BtnPressed = 0;
+}
+
+System.onScriptUnloading() {
+ setPrivateInt("winamp5", "muted", Muted);
+ setPrivateInt("winamp5", "old_volume", VolumeLevel);
+ delete callback;
+}
+
+callback.onTimer() {
+ MuteBtnShade = getcontainer("main").getlayout("shade").findObject("shademute");
+ if (MuteBtnShade != NULL) {
+ MuteBtnShade.setActivated(Muted);
+ stop();
+ }
+}
+
+SongTickerTimer.onTimer() {
+ SongTicker.show();
+ InfoTicker.hide();
+ SongTickerTimer.stop();
+}
+
+MuteBtn.onLeftClick() {
+ BtnPressed = 1;
+ if (!Muted) {
+ VolumeLevel = System.getVolume();
+ System.setVolume(0);
+ Muted = 1;
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText("Mute ON");
+ MuteBtnShade.setActivated(1);
+ } else {
+ System.setVolume(VolumeLevel);
+ Muted = 0;
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText("Mute OFF");
+ MuteBtnShade.setActivated(0);
+ }
+}
+
+MuteBtnShade.onLeftClick() {
+ BtnPressed = 1;
+ if (!Muted) {
+ VolumeLevel = System.getVolume();
+ System.setVolume(0);
+ Muted = 1;
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText("Mute ON");
+ MuteBtn.setActivated(1);
+ } else {
+ System.setVolume(VolumeLevel);
+ Muted = 0;
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText("Mute OFF");
+ MuteBtn.setActivated(0);
+ }
+}
+
+System.onScriptUnloading() {
+ delete SongTickerTimer;
+}
+
+System.onvolumechanged(int newvol)
+{
+ volumebar.setXmlParam("w",integertostring( (newvol/255) *70 + 5));
+ if (!BtnPressed) {
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText(translate("Volume") + ": " + integerToString(newvol/2.55) + "%");
+
+ if (Muted) {
+ MuteBtn.setActivated(0);
+ MuteBtnShade.setActivated(0);
+ Muted = 0;
+ }
+ }
+ BtnPressed = 0;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/mute.maki b/Src/resources/skins/Winamp Modern/scripts/mute.maki
new file mode 100644
index 00000000..3dfdd215
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/mute.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/notifications_fade_times.maki b/Src/resources/skins/Winamp Modern/scripts/notifications_fade_times.maki
new file mode 100644
index 00000000..e8e35a97
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/notifications_fade_times.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/notifier.m b/Src/resources/skins/Winamp Modern/scripts/notifier.m
new file mode 100644
index 00000000..4144add7
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/notifier.m
@@ -0,0 +1,615 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Function reset();
+Function createNotifier(boolean cancel);
+Function showNotifier(Int w);
+Function onNext();
+function cancelAnimation();
+
+Function Int fillNextTrackInfo(String corneroverride);
+Function Int fillCustomInfo(String customstring);
+Function prepareAlbumArtNotifier();
+
+Function checkPref(int bypassfs);
+
+Function String getArtist();
+
+Function onAlbumArt(Boolean success);
+
+Global Container notifier_container;
+Global Layout notifier_layout;
+Global Timer notifier_timer;
+Global String last_autotitle, cur_status;
+
+Global AlbumArtLayer cover;
+Global boolean handleAACalback = false;
+
+Global Boolean triggerBug; //BUGFIX remove this
+Global Timer fallbackTempFix; //BUGFIX remove this
+
+Global Boolean b_tohide = 0;
+Global int width = 0;
+Global int left = 0;
+
+#define WEBCOVER_SHOUTCAST "winamp.cover.shoutcast"
+#define FORCE_BUG_MODE
+
+// ------------------------------------------------------------------------------
+// init
+// ------------------------------------------------------------------------------
+System.onScriptLoaded() {
+ initAttribs();
+ notifier_timer = new Timer;
+ fallbackTempFix = new Timer; //BUGFIX remove this
+ fallbackTempFix.setDelay(3000); //BUGFIX remove this / Time that onAlbumArtLoaded have to execute before bug mode is ON
+}
+
+// ------------------------------------------------------------------------------
+// shutdown
+// ------------------------------------------------------------------------------
+System.onScriptUnloading() {
+ delete notifier_timer;
+ delete fallbackTempFix; //BUGFIX remove this
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the global hotkey for notification is pressed
+// ------------------------------------------------------------------------------
+System.onShowNotification() {
+ //if (checkPref(1)) return; --mp: if we push the hotkey, we want to show the notifier, no matter what the pref settings are.
+ createNotifier(false);
+ if (getStatus() == STATUS_PLAYING) cur_status = "Playing";
+ if (getStatus() == STATUS_PAUSED) cur_status = "Playback Paused";
+ if (getStatus() == STATUS_STOPPED) cur_status = "Playback Stopped";
+ prepareAlbumArtNotifier();
+ complete; // prevents other scripts from getting the message
+ return 1; // tells anybody else that might watch the returned value that, yes, we implemented that
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the title for the playing item changes, this could be the result of the player
+// going to the next track, or of an update in the track title
+// ------------------------------------------------------------------------------
+System.onTitleChange(String newtitle) {
+ if (last_autotitle == newtitle) return;
+ if (StrLeft(newtitle, 1) == "[") {
+ if (StrLeft(newtitle, 7) == "[Buffer" ||
+ StrLeft(newtitle, 4) == "[ICY") return;
+ }
+ last_autotitle = newtitle;
+ onNext();
+
+ fallbackTempFix.stop(); //BUGFIX remove later
+ fallbackTempFix.start(); //BUGFIX remove later
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the next button
+// ------------------------------------------------------------------------------
+onNext() {
+ if (checkPref(0)) return;
+ createNotifier(false);
+ cur_status = "";
+ prepareAlbumArtNotifier();
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the play button
+// ------------------------------------------------------------------------------
+System.onPlay() {
+ if (checkPref(0)) return;
+ createNotifier(false);
+ cur_status = "Playing";
+ prepareAlbumArtNotifier();
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the pause button
+// ------------------------------------------------------------------------------
+System.onPause() {
+ if (checkPref(0)) return;
+ DebugString("onPause",9);
+ createNotifier(true);
+ showNotifier(fillCustomInfo("Playback Paused"));
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the pause button again
+// ------------------------------------------------------------------------------
+System.onResume() {
+ if (checkPref(0)) return;
+ DebugString("onResume",9);
+ createNotifier(false);
+ cur_status = "Resuming Playback";
+ prepareAlbumArtNotifier();
+}
+
+// ------------------------------------------------------------------------------
+// called by the system when the user clicks the play button
+// ------------------------------------------------------------------------------
+System.onStop() {
+ if (checkPref(0)) return;
+ createNotifier(true);
+ showNotifier(fillCustomInfo("End of Playback"));
+}
+
+// ------------------------------------------------------------------------------
+// checks if we should display anything
+// ------------------------------------------------------------------------------
+Int checkPref(int bypassfs) {
+ if (!bypassfs && notifier_disablefullscreen_attrib.getData() == "1" && isVideoFullscreen()) return 1;
+ if (notifier_never_attrib.getData() == "1") return 1;
+ if (notifier_minimized_attrib.getData() == "1" && !isMinimized()) return 1;
+ if (notifier_windowshade_attrib.getData() == "1") {
+ if (isMinimized()) return 0;
+ Container c = getContainer("main");
+ if (!c) return 1;
+ Layout l = c.getCurLayout();
+ if (!l) return 1;
+ if (l.getId() != "shade") return 1;
+ }
+ return 0;
+}
+
+// ------------------------------------------------------------------------------
+// fade in/out completed
+// ------------------------------------------------------------------------------
+notifier_layout.onTargetReached() {
+ int a = notifier_layout.getAlpha();
+ if (a == 255) {
+ notifier_timer.setDelay(StringToInteger(notifier_holdtime_attrib.getData()));
+ notifier_timer.start();
+ }
+ else if (a == 0) {
+ reset();
+ }
+}
+
+// ------------------------------------------------------------------------------
+// hold time elapsed
+// ------------------------------------------------------------------------------
+notifier_timer.onTimer() {
+ stop();
+ if (notifier_layout.isTransparencySafe()) {
+ notifier_layout.setTargetA(0);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeouttime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ } else {
+ reset();
+ }
+}
+
+// ------------------------------------------------------------------------------
+// when notifier is clicked, bring back the app from minimized state if its minimized and focus it
+// ------------------------------------------------------------------------------
+notifier_layout.onLeftButtonDown(int x, int y) {
+ cancelAnimation();
+
+ restoreApplication();
+ activateApplication();
+ /*if (notifier_opennowplaying_attrib.getData() == "1")
+ {
+ String artist = getArtist();
+ if (artist == "") return;
+ System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?icid=notifiermodern&artistName=" + artist);
+ }*/
+
+ reset();
+}
+
+notifier_layout.onRightButtonUp(int x, int y) {
+ cancelAnimation();
+ reset();
+ complete;
+ return;
+}
+
+//TODO merge w/ code below
+String getArtist ()
+{
+ String artist = getPlayItemMetaDataString("artist");
+ if (artist == "") artist = getPlayItemMetaDataString("uvox/artist");
+ if (artist == "") artist = getPlayItemMetaDataString("cbs/artist");
+ if (artist == "") artist = getPlayItemMetaDataString("streamtitle");
+ if (artist == "") artist = getPlayItemDisplayTitle();
+
+ return artist;
+}
+
+// ------------------------------------------------------------------------------
+// close the notifier window, destroys the container automatically because it's dynamic
+// ------------------------------------------------------------------------------
+reset() {
+ notifier_container.close();
+ notifier_container = NULL;
+ notifier_layout = NULL;
+ handleAACalback = FALSE;
+}
+
+// ------------------------------------------------------------------------------
+createNotifier(boolean cancel) {
+ if (notifier_container == NULL) {
+ notifier_container = newDynamicContainer("notifier");
+ if (!notifier_container) return; // reinstall duh!
+ if (isDesktopAlphaAvailable())
+ notifier_layout = notifier_container.getLayout("desktopalpha");
+ else
+ notifier_layout = notifier_container.getLayout("normal");
+ if (!notifier_layout) return; // reinstall twice, man
+ } else if (cancel) {
+ cancelAnimation();
+ }
+}
+
+cancelAnimation()
+{
+ notifier_layout.cancelTarget();
+ notifier_timer.stop();
+}
+
+// ------------------------------------------------------------------------------
+showNotifier(int w) {
+ w = w + 32;
+
+ Layout m = getContainer("main").getCurLayout();
+ int x = left = getViewportWidthFromGuiObject(m) + getViewportLeftFromGuiObject(m) - w - 2;
+ int y = getViewportHeightFromGuiObject(m) + getViewportTopFromGuiObject(m) - 80 - 2;
+
+ // show if not there or if already shown then lets resize on the fly (bento style)
+ if (!notifier_layout.isVisible()) {
+ notifier_layout.resize(x, y, w, 80);
+ }
+ else {
+ notifier_layout.resize(notifier_layout.getguiX(), y, notifier_layout.getGuiW(), 80);
+ }
+
+ if (notifier_layout.isTransparencySafe()) {
+ notifier_layout.show();
+ notifier_layout.setTargetA(255);
+ notifier_layout.setTargetX(x);
+ notifier_layout.setTargetY(y);
+ notifier_layout.setTargetW(w);
+ notifier_layout.setTargetH(80);
+ notifier_layout.setTargetSpeed(StringToInteger(notifier_fadeintime_attrib.getData()) / 1000);
+ notifier_layout.gotoTarget();
+ } else {
+ notifier_layout.setAlpha(255);
+ notifier_layout.show();
+ notifier_timer.setDelay(StringToInteger(notifier_holdtime_attrib.getData()));
+ notifier_timer.start();
+ }
+}
+
+// ------------------------------------------------------------------------------
+
+prepareAlbumArtNotifier()
+{
+ if (!notifier_layout) return;
+ Group g_albumart = notifier_layout.findObject("notifier.albumart");
+
+ DebugString("prepareAlbumArtNotifier: handleAACalback="+integerToString(handleAACalback), 9);
+ if (g_albumart)
+ {
+ cover = g_albumart.findObject("notifier.cover");
+ DebugString("prepareAlbumArtNotifier: cover.isLoading="+integerToString(cover.isLoading()), 9);
+ DebugString("prepareAlbumArtNotifier: cover.isInvalid="+integerToString(cover.isInvalid()), 9);
+ handleAACalback = true;
+ cover.refresh();
+ }
+}
+
+cover.onAlbumArtLoaded(boolean success)
+{
+ /*
+ Created a seperate function for the code that was here because for some reason I couldn't force this
+ event (from the fallbackTempFix.onTimer) with cover.onAlbumArtLoaded(success) after the Winamp bug appears.
+ Weird, yes.
+ */
+ FORCE_BUG_MODE onAlbumArt(success);
+}
+
+// ------------------------------------------------------------------------------
+Int fillNextTrackInfo(String corneroverride) {
+ Int maxv = 0;
+ Int stream = 0;
+
+ if (!notifier_layout) return 0;
+
+ Group g_text = notifier_layout.findObject("notifier.text");
+ Group g_albumart = notifier_layout.findObject("notifier.albumart");
+
+ Text plentry = g_text.findObject("plentry");
+ Text nexttrack = g_text.findObject("nexttrack");
+ Text _title = g_text.findObject("title");
+ Text album = g_text.findObject("album");
+ Text artist = g_text.findObject("artist");
+ Text endofplayback = notifier_layout.findObject("endofplayback");
+
+ DebugString("got callback for " + getPlayItemString(), 0);
+
+ // Get Stream Name - if no stream returns ""
+ string s = getPlayItemMetaDataString("streamname");
+ string stype = getPlayItemMetaDataString("streamtype"); //"streamtype" will return "2" for SHOUTcast and "5" for SHOUTcast 2
+ if (stype == "2" || stype == "5") stream = 1;
+
+ if (endofplayback) endofplayback.hide();
+
+ if (plentry)
+ {
+ plentry.setText(integerToString(getPlaylistIndex()+1)+translate(" of ")+integerToString(getPlaylistLength()));
+ plentry.show();
+ }
+ if (nexttrack) {
+ if (corneroverride == "") {
+ if (!stream) {
+ if (!isVideo())
+ {
+ nexttrack.setText("New track");
+ }
+ else
+ {
+ nexttrack.setText("New video");
+ }
+ }
+ else
+ {
+ nexttrack.setText("On air");
+ }
+ }
+ else
+ {
+ nexttrack.setText(corneroverride);
+ }
+ nexttrack.show();
+ }
+
+ string set_artist = "";
+ string set = "";
+ if (_title) {
+ String str;
+ if (!stream)
+ {
+ _title.setXmlParam("ticker", "0");
+ _title.setXmlParam("display", "");
+
+ str = getPlayitemMetaDataString("title");
+ if (str == "") str = getPlayitemDisplayTitle();
+ String l = getPlayItemMetaDataString("length");
+ if (l != "") {
+ str += " (" + integerToTime(stringtointeger(l)) + ")";
+ }
+ _title.setText(str);
+ }
+ else
+ {
+ if (str = getPlayItemMetaDataString("streamtitle") != "")
+ {
+ int v = strsearch(str, " - "); // We divide the string by a " - " sublimiter - no luck for old / wrong tagged stations
+ if (v > 0) {
+ set_artist = strleft (str, v); // Store artist
+ string str = strright (str, strlen(str) - 3 - v);
+ _title.setText(str);
+ }
+ else
+ {
+ _title.setXmlParam("ticker", "1"); // These titles can be _very_ long
+ _title.setText(str);
+ }
+ } else
+ {
+ _title.setXmlParam("ticker", "1");
+ _title.setXmlParam("display", "songtitle");
+ _title.setText("");
+ }
+ }
+ _title.show();
+ }
+
+ if (artist) {
+ if (!stream) {
+ if (isVideo())
+ {
+ artist.setText("");
+ }
+ else
+ {
+ artist.setText(getPlayitemMetaDataString("artist"));
+ }
+ }
+ else
+ {
+ // Perhaps we've stored the artist before?
+ if (set_artist != "")
+ {
+ artist.setText(set_artist);
+ }
+ // Then display the station name
+ else if (s != "")
+ {
+ artist.setText(s);
+ }
+ // So, we've had no luck - just display a static text :(
+ else
+ {
+ if (isVideo())
+ {
+ artist.setText("Internet TV");
+ }
+ else
+ {
+ artist.setText("Internet Radio");
+ }
+ }
+ }
+ artist.show();
+ }
+
+ if (album) {
+ String str;
+ if (!stream && !isVideo()) {
+ album.setXmlParam("display", "");
+ str = getPlayitemMetaDataString("album");
+ String l = getPlayitemMetaDataString("track");
+ if (l != "" && l != "-1") str += " (" + translate("Track ") + l + ")";
+ album.setText(str);
+ }
+ else
+ {
+ album.setXmlParam("display", "");
+ // we have divided the songname - let's display the station name
+ if (set_artist != "" && s != "")
+ {
+ album.setText(s);
+ }
+ // no luck either...
+ else
+ {
+ album.setText("");
+ album.setXmlParam("display", "songinfo_localise");
+ }
+ }
+ album.show();
+ }
+
+ // Album Art Stuff
+
+ Layer webcover;
+ if (g_albumart)
+ {
+ cover = g_albumart.findObject("notifier.cover");
+ webcover = g_albumart.findObject("notifier.webcover");
+ }
+
+ Boolean showAlbumArt = FALSE;
+
+ if (cover != NULL && webcover != NULL && notifier_artworkinnotification_attrib.getData() == "1")
+ {
+ if (stream)
+ {
+ if(stype == "2" || stype == "5" && cover.isInvalid())
+ {
+ webcover.setXMLParam("image", WEBCOVER_SHOUTCAST);
+ cover.hide();
+ webcover.show();
+ showAlbumArt = TRUE;
+ }
+ else if(stype == "5" && !cover.isInvalid())
+ {
+ webcover.hide();
+ cover.show();
+ showAlbumArt = TRUE;
+ }
+ }
+ else
+ {
+ if (cover.isInvalid()) // Check if the album art obj shows a pic
+ {
+ showAlbumArt = FALSE;
+ }
+ else
+ {
+ webcover.hide();
+ cover.show();
+ showAlbumArt = TRUE;
+ }
+ }
+ }
+
+ if (showAlbumArt)
+ {
+ if (g_albumart) g_albumart.show();
+ if (g_text) g_text.setXmlParam("x", "75");
+ if (g_text) g_text.setXmlParam("w", "-95");
+ }
+ else
+ {
+ if (g_albumart) g_albumart.hide();
+ if (g_text) g_text.setXmlParam("x", "15");
+ if (g_text) g_text.setXmlParam("w", "-35");
+ }
+
+ if (g_text) g_text.show();
+
+ maxv = artist.getAutoWidth();
+ if (maxv < album.getAutoWidth()) maxv = album.getAutoWidth();
+ if (maxv < _title.getAutoWidth()) maxv = _title.getAutoWidth();
+ if (maxv < (nexttrack.getAutoWidth() + plentry.getAutoWidth() - 5) ) maxv = nexttrack.getAutoWidth() + plentry.getAutoWidth() - 5;
+ if (maxv < 128) maxv = 128;
+ Layout m = getContainer("main").getCurLayout();
+ if (maxv > getViewportWidthFromGuiObject(m)/4) maxv = getViewportWidthFromGuiObject(m)/4;
+
+ width = maxv;
+
+ return maxv + ( showAlbumArt * 91 );
+}
+
+// ------------------------------------------------------------------------------
+Int fillCustomInfo(String customtext)
+{
+ Group p = notifier_layout;
+ Group g_text = p.findObject("notifier.text");
+ Group g_albumart = p.findObject("notifier.albumart");
+ Text plentry = p.findObject("plentry");
+ Text nexttrack = p.findObject("nexttrack");
+ Text _title = p.findObject("title");
+ Text album = p.findObject("album");
+ Text artist = p.findObject("artist");
+ Text endofplayback = p.findObject("endofplayback");
+
+ if (g_text) { g_text.hide(); }
+ if (g_albumart) g_albumart.hide();
+
+ if (plentry) { plentry.hide(); }
+ if (nexttrack) nexttrack.hide();
+ if (_title) { _title.hide(); }
+ if (artist) { artist.hide(); }
+ if (album) { album.hide(); }
+
+ if (endofplayback != NULL /*&& s_endofplayback != NULL*/) {
+ endofplayback.setText(translate(customtext)+" ");
+ //s_endofplayback.setText(translate(customtext)+" ");
+ int aw = endofplayback.getAutoWidth();
+ endofplayback.show();
+ //s_endofplayback.show();
+ if (aw > 128)
+ return aw;
+ }
+ return 128;
+}
+
+//BUGFIX remove this timer later
+fallbackTempFix.onTimer() //As soon as this timer runs, bug mode is ON ;)
+{
+ if (checkPref(0)) return;
+
+ if (!notifier_layout) onNext();
+
+ if(!triggerBug)
+ {
+ triggerBug = true;
+
+ onAlbumArt(cover.isInvalid()); //First time we see the bug
+ fallbackTempFix.setDelay(30);
+
+ DebugString("Hello Bug", 9);
+ }
+ else if(triggerBug && !cover.isLoading()) onAlbumArt(cover.isInvalid());
+}
+
+onAlbumArt(Boolean success){
+ fallbackTempFix.stop(); //BUGFIX remove later
+
+ DebugString("onAlbumArtLoaded: success="+integerToString(success), 9);
+ DebugString("onAlbumArtLoaded: handleAACalback="+integerToString(handleAACalback), 9);
+ DebugString("onAlbumArtLoaded: cover.isLoading="+integerToString(cover.isLoading()), 9);
+ DebugString("onAlbumArtLoaded: cover.isInvalid="+integerToString(cover.isInvalid()), 9);
+ if (!handleAACalback || !notifier_layout /*|| isLoading()*/)
+ {
+ return;
+ }
+
+ handleAACalback = cover.isLoading();
+ cancelAnimation();
+ showNotifier(fillNextTrackInfo(cur_status));
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/notifier.maki b/Src/resources/skins/Winamp Modern/scripts/notifier.maki
new file mode 100644
index 00000000..68d2845f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/notifier.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/playlistpro.m b/Src/resources/skins/Winamp Modern/scripts/playlistpro.m
new file mode 100644
index 00000000..1a73c987
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/playlistpro.m
@@ -0,0 +1,426 @@
+/*
+
+PlaylistPro build 005
+Originally done by pjn123 (www.skinconsortium.com) for the Classic Pro plugin
+
+*/
+
+#include "lib/std.mi"
+#include "lib/pldir.mi"
+#include "init_Playlist.m"
+
+Function resizeResults(int items);
+Function doSearch(String input);
+Function setSearchBox(boolean onOff);
+Function clearSearchBox();
+Function int getPlEntry(int search_item);
+Function String replaceString(string baseString, string toreplace, string replacedby);
+
+Global Group frameGroup, topbar;
+Global Edit searchBox;
+Global Text helpSearch, searchNews;// fakeText;
+Global GuiObject fakeSB, searchXUI, searchButtonXui;
+Global Button searchButton, clearButton, clearButtonText;
+Global GuiList searchResults;
+Global Boolean foundsomething;
+Global int tn, h_tune;
+Global String temptoken;
+Global Windowholder plwh;
+GLobal Timer refreshActiveCheck;
+Global PopupMenu search_rc;
+
+Global Container results_container;
+Global Layout results_layout, main_layout;
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ topbar = frameGroup.findObject("PlaylistPro.topbar");
+ plwh = frameGroup.findObject("wdh.playlist");
+
+ searchBox = frameGroup.findObject("wasabi.edit.box");
+ searchXUI = frameGroup.findObject("pl.search.edit");
+ searchButton = frameGroup.findObject("pl.search.go");
+ searchButtonXui = frameGroup.findObject("pl.search.go");
+ fakeSB = frameGroup.findObject("pl.search.edit.rect");
+ clearButton = frameGroup.findObject("pl.search.edit.clear");
+ clearButtonText = frameGroup.findObject("pl.search.edit.clear.text");
+ helpSearch = frameGroup.findObject("pl.search.edit.searchhelp");
+ //fakeText = frameGroup.findObject("pl.search.go.text.fake");
+
+ results_container = newDynamicContainer("searchresults");
+ results_layout = results_container.getLayout("normal");
+ searchResults = results_layout.findObject("PlaylistPro.list");
+ searchResults.setFontSize(16);
+ searchNews = results_layout.findObject("PlaylistPro.list.news");
+
+ main_layout = getContainer("Pledit").getLayout("normal");
+
+ initAttribs_Playlist();
+
+ //translation workaround
+ /*searchButtonXui.setXmlParam("text", System.translate("Search"));
+ searchButtonXui.setXmlParam("x", integerToString(-1*fakeText.getAutoWidth()-4));
+ searchButtonXui.setXmlParam("w", integerToString(fakeText.getAutoWidth()+2));
+ searchXUI.setXmlParam("w", integerToString(-1*fakeText.getAutoWidth()-9));*/
+
+ refreshActiveCheck = new Timer;
+ refreshActiveCheck.setDelay(100);
+}
+System.onScriptUnLoading() {
+ delete refreshActiveCheck;
+}
+
+refreshActiveCheck.onTimer(){
+ if((!System.isAppActive() || System.isMinimized()) && results_layout.isVisible() ) results_layout.hide();
+}
+
+results_layout.onSetVisible(boolean onOff){
+ if(onOff){
+ refreshActiveCheck.start();
+ }
+ else{
+ refreshActiveCheck.stop();
+ }
+}
+
+System.onShowLayout(Layout _layout){
+ if(main_layout.isVisible()) results_layout.setXmlParam("ontop", "1");
+}
+
+frameGroup.onSetVisible(boolean onOff){
+ if(!onOff) clearSearchBox();
+}
+
+searchButton.onLeftClick(){
+ doSearch(searchBox.getText());
+}
+
+resizeResults(int items){
+ /*results_layout.setTargetX(results_layout.getLeft());
+ results_layout.setTargetY(results_layout.getTop());
+ results_layout.setTargetW(results_layout.getWidth());
+ results_layout.setTargetH(500);
+ results_layout.setTargetSpeed(1);
+ results_layout.gotoTarget();*/
+
+ //items++; //temp add one extra for info... xx items found
+ if(items>20) items=20;
+
+
+ if(items>=1) h_tune=29;
+ else h_tune=25;
+
+ //results_layout.setXmlParam("h", integerToString(20+items*18));
+
+ /*results_layout.setTargetX(results_layout.getLeft());
+ results_layout.setTargetY(results_layout.getTop());
+ results_layout.setTargetW(results_layout.getWidth());
+ results_layout.setTargetH(h_tune+items*16);
+ results_layout.setTargetSpeed(0.3);
+ results_layout.gotoTarget();*/
+ results_layout.resize(results_layout.getLeft(), results_layout.getTop(), results_layout.getWidth(), h_tune+items*16);
+}
+
+searchBox.onEnter(){
+ doSearch(searchBox.getText());
+}
+
+doSearch(String input){
+ if(input==""){
+ clearSearchBox();
+ return;
+ }
+
+ //search history stuff
+ String history = getPublicString("cPro.PlaylistPro.history", "");
+ history = replaceString(history, input, "");
+ history = replaceString(history, ";;", ";");
+ if(strleft(history, 1)==";") history = strright(history, strlen(history)-1);
+ if(strright(history, 1)==";") history = strleft(history, strlen(history)-1);
+ if(history=="") history= input;
+ else history= input+";"+history;
+
+ String output = getToken(history, ";", 0);
+ for(int i = 1; i<15; i++){
+ if(getToken(history, ";", i)=="") break;
+ output+=";"+getToken(history, ";", i);
+ }
+ setPublicString("cPro.PlaylistPro.history", history);
+
+
+ int itemsfound = 0;
+ input = strlower(input);
+
+ results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
+ results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
+ results_layout.setXmlParam("w", integerToString(frameGroup.getWidth()-19));
+
+ if(!results_layout.isVisible()) results_layout.setXmlParam("h", "1");
+
+ searchResults.deleteAllItems();
+ searchResults.scrollToItem(0);
+
+ for(int i = 0; i<PlEdit.getNumTracks(); i++){
+ foundsomething=false;
+
+ for(tn = 0; tn<10; tn++){
+ if(getToken(input, " ", tn)==""){
+ break;
+ }
+
+ temptoken = getToken(input, " ", tn);
+ if(strsearch(strlower(PlEdit.getTitle(i) + " " + PlEdit.getFileName(i)), temptoken)>=0){
+ foundsomething=true;
+ }
+ else{
+ foundsomething=false;
+ }
+
+ if(!foundsomething){
+ break;
+ }
+ }
+
+ if(foundsomething){
+ itemsfound++;
+ searchResults.addItem(integerToString(i+1)+". " + PlEdit.getTitle(i));
+ if(itemsfound>500){
+ searchNews.setText("Search result limited to 500 items");
+ break;
+ }
+ }
+ }
+
+ if(itemsfound==0){
+ searchNews.setText("Nothing was found");
+ }
+ else if(itemsfound<=500){
+ searchNews.setText(System.translate("Items found: ") +integerToString(itemsfound));
+ }
+
+ if(!results_layout.isVisible()) results_layout.show();
+
+ // Fix if always on top is enabled.. it just refresh the ontop ;)
+ results_layout.setXmlParam("ontop", "1");
+
+ resizeResults(itemsfound);
+}
+
+searchResults.onDoubleClick(Int itemnum){
+ PlEdit.playTrack (getPlEntry(itemnum));
+ setSearchBox(false);
+}
+
+searchResults.onRightClick(Int itemnum){
+ search_rc = new PopupMenu;
+ search_rc.addCommand("Move selected to top", 1, 0, 0);
+ search_rc.addCommand("Move selected to bottom", 2, 0, 0);
+ search_rc.addCommand("Move selected after current", 3, 0, 0);
+ search_rc.addCommand("Move selected together", 4, 0, 0);
+ search_rc.addSeparator();
+ search_rc.addCommand("Remove selected from playlist", 5, 0, 0);
+ int result = search_rc.popAtMouse();
+ delete search_rc;
+
+ int lastselected = searchResults.getFirstItemSelected();
+ int itemcounter = 1;
+
+ if(result==1){
+ PlEdit.moveTo (getPlEntry(lastselected), 0);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected), itemcounter);
+ itemcounter++;
+ }
+ PlEdit.showTrack(0);
+ }
+ else if(result==2){
+ PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getNumTracks ()-1);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected)-itemcounter, PlEdit.getNumTracks ()-1);
+ itemcounter++;
+ }
+ PlEdit.showTrack(PlEdit.getNumTracks ()-1);
+ }
+ else if(result==3){
+ int align = 0;
+ int orignalPos = PlEdit.getCurrentIndex();
+ int temp = getPlEntry(lastselected);
+ if(PlEdit.getCurrentIndex() > temp) align++;
+
+ if(orignalPos > getPlEntry(lastselected)) PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex());
+ else PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+1);
+
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+
+ if(orignalPos != getPlEntry(lastselected)){
+ if(orignalPos > getPlEntry(lastselected)){
+ PlEdit.moveTo (getPlEntry(lastselected)-align, PlEdit.getCurrentIndex()+itemcounter);
+ }
+ else{
+ PlEdit.moveTo (getPlEntry(lastselected), PlEdit.getCurrentIndex()+itemcounter+1);
+ }
+
+ temp = getPlEntry(lastselected);
+ if(orignalPos > temp) align++;
+ itemcounter++;
+ }
+ }
+ PlEdit.showCurrentlyPlayingTrack();
+ }
+ else if(result==4){
+ int startpos = getPlEntry(lastselected);
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.moveTo (getPlEntry(lastselected), startpos+itemcounter);
+ itemcounter++;
+ }
+ PlEdit.showTrack(startpos);
+ }
+ else if(result==5){
+ PlEdit.removeTrack (getPlEntry(lastselected));
+ while(searchResults.getNextItemSelected(lastselected) != -1){
+ lastselected = searchResults.getNextItemSelected(lastselected);
+ PlEdit.removeTrack (getPlEntry(lastselected)-itemcounter);
+ itemcounter++;
+ }
+ }
+
+ else return;
+
+ //hides the search
+ setSearchBox(false);
+}
+
+int getPlEntry(int search_item){
+ return stringToInteger(getToken(searchResults.getItemLabel(search_item,0), ". ", 0))-1;
+}
+
+setSearchBox(boolean onOff){
+ if(onOff){
+ searchBox.show();
+ clearButton.show();
+ clearButtonText.show();
+ helpSearch.hide();
+ searchBox.setFocus();
+ }
+ else{
+ searchBox.hide();
+ clearButton.hide();
+ clearButtonText.hide();
+ helpSearch.show();
+ results_layout.hide();
+ }
+}
+
+fakeSB.onLeftButtonDown(int x, int y){
+ setSearchBox(true);
+}
+fakeSB.onRightButtonDown(int x, int y){
+ search_rc = new PopupMenu;
+ search_rc.addCommand("** Search history **", 0, 0, 1);
+ search_rc.addSeparator();
+
+ String history = getPublicString("cPro.PlaylistPro.history", "");
+ boolean historyfound=false;
+ for(int i=0;i<15;i++){
+ String historyitem = getToken(history, ";", i);
+ if(historyitem==""){
+ if(i>0) historyfound=true;
+ break;
+ }
+ search_rc.addCommand(historyitem, i+1, 0, 0);
+ }
+ if(historyfound) search_rc.addSeparator();
+ search_rc.addCommand("Clear History", 100, 0, 0);
+
+ int result = search_rc.popAtMouse();
+ delete search_rc;
+
+ if(result>0 && result<100){
+ setSearchBox(true);
+ searchBox.setText(getToken(history, ";", result-1));
+ searchButton.leftClick();
+ }
+ else if(result==100){
+ setPublicString("cPro.PlaylistPro.history", "");
+ }
+}
+
+clearSearchBox(){
+ searchBox.setText("");
+ setSearchBox(false);
+}
+
+main_layout.onMove(){
+ if(results_layout.isVisible()){
+ results_layout.setXmlParam("x", integerToString(fakeSB.clientToScreenX(fakeSB.getLeft()-2)));
+ results_layout.setXmlParam("y", integerToString(fakeSB.clientToScreenY(fakeSB.getTop() + fakeSB.getHeight())));
+ results_layout.setXmlParam("ontop", "1");
+ }
+}
+main_layout.onResize(int x, int y, int w, int h){
+ if(results_layout.isVisible()) clearSearchBox();
+}
+
+frameGroup.onResize(int x, int y, int w, int h){
+ if(results_layout.isVisible()) clearSearchBox();
+
+ //if(playlist_search_attib.getData()=="0") return;
+
+ if(h<102 || playlist_search_attrib.getData()=="0"){
+
+ if(!topbar.isVisible()) return; //Don't do the same code over and over
+
+ topbar.hide();
+ plwh.setXmlParam("y", "0");
+ plwh.setXmlParam("h", "0");
+ }
+ else{
+ if(topbar.isVisible()) return; //Don't do the same code over and over
+
+ topbar.show();
+ plwh.setXmlParam("y", "30");
+ plwh.setXmlParam("h", "-30");
+ }
+}
+
+clearButton.onLeftClick(){
+ clearSearchBox();
+}
+
+playlist_search_attrib.onDataChanged(){
+ frameGroup.onResize(frameGroup.getLeft(), frameGroup.getTop(), frameGroup.getWidth(), frameGroup.getHeight());
+ //debug("abc " + getData());
+
+ if (getData() == "0"){
+ topbar.hide();
+ plwh.setXMLParam("y", "0");
+ plwh.setXMLParam("h", "0");
+ }
+ else if(getData() == "1"){
+
+ topbar.show();
+ plwh.setXMLParam("y", "30");
+ plwh.setXMLParam("h", "-30");
+
+ }
+}
+
+
+
+String replaceString(string baseString, string toreplace, string replacedby){
+ if (toreplace == "") return baseString;
+ string sf1 = strupper(baseString);
+ string sf2 = strupper(toreplace);
+ int i = strsearch(sf1, sf2);
+ if (i == -1) return baseString;
+ string left = "", right = "";
+ if (i != 0) left = strleft(baseString, i);
+ if (strlen(basestring) - i - strlen(toreplace) != 0) {
+ right = strright(basestring, strlen(basestring) - i - strlen(toreplace));
+ }
+ return left + replacedby + right;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/playlistpro.maki b/Src/resources/skins/Winamp Modern/scripts/playlistpro.maki
new file mode 100644
index 00000000..92cdd793
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/playlistpro.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/plmenu.m b/Src/resources/skins/Winamp Modern/scripts/plmenu.m
new file mode 100644
index 00000000..18fcfbdf
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/plmenu.m
@@ -0,0 +1,72 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Global Layout pl_normal;
+Global Layout pl_shade;
+
+System.onScriptLoaded() {
+ initAttribs();
+ menubar_pe_attrib.onDataChanged();
+ pl_normal = getScriptGroup().getParentLayout();
+}
+
+menubar_pe_attrib.onDataChanged() {
+ Group Player = getscriptgroup().findobject("player.content.pl.dummy.group");
+ Group MenuBar = getscriptgroup().findobject("wasabi.menubar.pl");
+ Layout main = getscriptgroup().getParentLayout();
+
+ main.beforeRedock();
+ if (getData() == "1") {
+ Player.setXmlParam("y","16");
+ MenuBar.show();
+ main.snapAdjust(0,0,0,0);
+ }
+ else {
+ Player.setXmlParam("y","0");
+ MenuBar.hide();
+ main.snapAdjust(0,0,0,16);
+ }
+ main.Redock();
+}
+
+System.onKeyDown(String k) {
+ if (pl_shade == NULL)
+ pl_shade = pl_normal.getContainer().getLayout("shade");
+
+ if (StrLeft(k,4) == "ctrl" && StrSearch(k, "+w") != -1 && (pl_normal.isActive() || pl_shade.isActive())) {
+ if (pl_normal.isVisible())
+ pl_normal.getContainer().switchToLayout("shade");
+ else
+ pl_normal.getContainer().switchToLayout("normal");
+ complete;
+ }
+}
+
+System.onAccelerator(String action, String section, String key) {
+ if (menubar_main_attrib.getData() == "0") return;
+ Layout l = getScriptGroup().getParentLayout();
+ if (!l.isActive()) return;
+
+ // we use the general accelerators otherwise use specific ones
+ // will allow the skin to cope with variations in localisations
+ if (action == "MENUHOTKEY_FILE" || action == "PL_MENUHOTKEY_FILE")
+ {
+ getScriptGroup().findObject("PE_File.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_PLAY" || action == "PL_MENUHOTKEY_PLAYLIST")
+ {
+ getScriptGroup().findObject("PE_Playlist.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "PL_MENUHOTKEY_SORT")
+ {
+ getScriptGroup().findObject("PE_Sort.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+ if (action == "MENUHOTKEY_HELP" || action == "PL_MENUHOTKEY_HELP")
+ {
+ getScriptGroup().findObject("PE_Help.menu").sendAction("open", "", 0, 0, 0, 0);
+ complete;
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/plmenu.maki b/Src/resources/skins/Winamp Modern/scripts/plmenu.maki
new file mode 100644
index 00000000..0e0666be
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/plmenu.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/pltime.m b/Src/resources/skins/Winamp Modern/scripts/pltime.m
new file mode 100644
index 00000000..0f1ad50d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/pltime.m
@@ -0,0 +1,62 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Global Layer TimeBG,TimeDisplay;
+Global Text PLTime;
+Global Group frameGroup;
+Global GuiObject SongTicker;
+Global Timer callback;
+
+function setSongtickerScrolling();
+
+System.onScriptLoaded() {
+ initAttribs();
+ frameGroup = getScriptGroup();
+ TimeBG = frameGroup.findobject("player.pl.time.left");
+ TimeDisplay = frameGroup.findobject("player.pl.time.display.left");
+ PLTime = frameGroup.findobject("PLTime");
+ callback = new Timer; callback.setDelay(1); callback.start();
+}
+
+callback.onTimer() {
+ Container c = getContainer("pledit");
+ if (c) {
+ Layout l = c.getLayout("shade");
+ if (l) {
+ SongTicker = l.findObject("PESongticker");
+ }
+ }
+ if (SongTicker) callback.stop();
+ setSongtickerScrolling();
+}
+
+frameGroup.onResize(int x, int y, int w, int h) {
+ if (w>394) {
+ TimeBG.show();
+ TimeDisplay.show();
+ PLTime.setXMLParam("x","-215");
+ PLTime.setXMLParam("w","90");
+ } else {
+ TimeBG.hide();
+ TimeDisplay.hide();
+ PLTime.setXMLParam("x","-180");
+ PLTime.setXMLParam("w","55");
+ }
+}
+
+songticker_scrolling_attrib.onDataChanged() {
+ setSongtickerScrolling();
+}
+
+setSongtickerScrolling() {
+ if (!Songticker)
+ return;
+
+ if (songticker_scrolling_modern_attrib.getData()=="1") {
+ SongTicker.setXMLParam("ticker","bounce");
+ } else if (songticker_scrolling_classic_attrib.getData()=="1") {
+ SongTicker.setXMLParam("ticker","scroll");
+ } else {
+ SongTicker.setXMLParam("ticker","off");
+ }
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/pltime.maki b/Src/resources/skins/Winamp Modern/scripts/pltime.maki
new file mode 100644
index 00000000..76b24211
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/pltime.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/seek.m b/Src/resources/skins/Winamp Modern/scripts/seek.m
new file mode 100644
index 00000000..3356d3b1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/seek.m
@@ -0,0 +1,65 @@
+#include <lib/std.mi>
+
+Global Group frameGroup;
+Global Slider Seeker;
+Global Int Seeking;
+Global Timer SongTickerTimer;
+Global Text InfoTicker;
+Global GuiObject SongTicker;
+Global layer SeekPos;
+
+System.onScriptLoaded() {
+
+ frameGroup = getScriptGroup();
+ Seeker = frameGroup.findObject("SeekerGhost");
+ SongTicker = frameGroup.findObject("songticker");
+ SeekPos = frameGroup.findObject("player.seekbar.pos");
+ InfoTicker = frameGroup.findObject("infoticker");
+
+ SongTickerTimer = new Timer;
+ SongTickerTimer.setDelay(1000);
+}
+
+SongTickerTimer.onTimer() {
+ SongTicker.show();
+ InfoTicker.hide();
+ SongTickerTimer.stop();
+}
+
+System.onScriptUnloading() {
+ delete SongTickerTimer;
+}
+
+
+Seeker.onSetPosition(int p) {
+ if (seeking) {
+ Float f;
+ f = p;
+ f = f / 255 * 100;
+ Float len = getPlayItemLength();
+ if (len != 0) {
+ int np = len * f / 100;
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText(translate("Seek") + ":" + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ");
+ }
+ }
+}
+
+Seeker.onLeftButtonDown(int x, int y) {
+ seeking = 1;
+}
+
+Seeker.onLeftButtonUp(int x, int y) {
+ seeking = 0;
+ SongTickerTimer.start();
+ SongTicker.show();
+ InfoTicker.hide();
+}
+
+Seeker.onSetFinalPosition(int p) {
+ SongTickerTimer.start();
+ SongTicker.show();
+ InfoTicker.hide();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/seek.maki b/Src/resources/skins/Winamp Modern/scripts/seek.maki
new file mode 100644
index 00000000..09e8f613
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/seek.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/seekshade.m b/Src/resources/skins/Winamp Modern/scripts/seekshade.m
new file mode 100644
index 00000000..9edfa8c5
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/seekshade.m
@@ -0,0 +1,64 @@
+#include <lib/std.mi>
+
+Global Group frameGroup;
+Class Slider Seeker;
+Global Seeker Seeker1, Seeker2;
+Global Int Seeking;
+Global Timer SongTickerTimer;
+Global GuiObject SongTicker;
+Global Text InfoTicker;
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ Seeker1 = frameGroup.findObject("shadeSeekerGhost");
+ Seeker2 = frameGroup.findObject("shadeSeekerGhost2");
+ SongTicker = frameGroup.findObject("SongtickerShade");
+ InfoTicker = frameGroup.findObject("infotickerShade");
+
+ SongTickerTimer = new Timer;
+ SongTickerTimer.setDelay(1000);
+}
+
+SongTickerTimer.onTimer() {
+ SongTicker.show();
+ InfoTicker.hide();
+ SongTickerTimer.stop();
+}
+
+System.onScriptUnloading() {
+ delete SongTickerTimer;
+}
+
+
+Seeker.onSetPosition(int p) {
+ if (seeking) {
+ Float f;
+ f = p;
+ f = f / 255 * 100;
+ Float len = getPlayItemLength();
+ if (len != 0) {
+ int np = len * f / 100;
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText(translate("Seek") + ":" + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) ");
+ }
+ }
+}
+
+Seeker.onLeftButtonDown(int x, int y) {
+ seeking = 1;
+}
+
+Seeker.onLeftButtonUp(int x, int y) {
+ seeking = 0;
+ SongTickerTimer.start();
+ SongTicker.show();
+ InfoTicker.hide();
+}
+
+Seeker.onSetFinalPosition(int p) {
+ SongTickerTimer.start();
+ SongTicker.show();
+ InfoTicker.hide();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/seekshade.maki b/Src/resources/skins/Winamp Modern/scripts/seekshade.maki
new file mode 100644
index 00000000..77298182
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/seekshade.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/shadecontrol.m b/Src/resources/skins/Winamp Modern/scripts/shadecontrol.m
new file mode 100644
index 00000000..1fc4cce0
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/shadecontrol.m
@@ -0,0 +1,190 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+function setObjects(int w);
+function setSongtickerScrolling();
+
+Global Group frameGroup, gX1,gX2,gX3,display,display2,displaytimer,displayticker,displayvis;
+Global Button btnExpand,btnReduce,shadeeq;
+Global Layout main;
+Global Layout main_normal;
+Global Layer volumebar;
+Global Timer SongTickerTimer;
+Global GuiObject SongTicker;
+Global text InfoTicker;
+Global Button colorthemes;
+
+System.onScriptLoaded() {
+ initAttribs();
+
+ frameGroup = getScriptGroup();
+ main = frameGroup.getParentLayout();
+ main_normal = frameGroup.getParentLayout().getContainer().getLayout("normal");
+ gX1 = frameGroup.findObject("shadeX1");
+ gX2 = frameGroup.findObject("shadeX2");
+ gX3 = frameGroup.findObject("shadeX3");
+ shadeeq = frameGroup.findObject("shadeeq");
+ display = frameGroup.findObject("shadedisplay");
+ display2 = frameGroup.findObject("shadedisplay2");
+ displaytimer = frameGroup.findObject("shadetimer");
+ displayticker = frameGroup.findObject("shadeticker");
+ displayvis = frameGroup.findObject("shadevis");
+ btnExpand = frameGroup.findObject("shade.expand");
+ btnReduce = frameGroup.findObject("shade.reduce");
+ colorthemes = frameGroup.findObject("shadect");
+
+ SongTicker = frameGroup.findObject("SongtickerShade");
+ InfoTicker = frameGroup.findObject("infotickerShade");
+ SongTickerTimer = new Timer;
+ SongTickerTimer.setDelay(1000);
+
+ volumebar = frameGroup.findObject("volumebarShade");
+ volumebar.setXmlParam("w",integertostring( (system.getVolume()/255) *40 + 5));
+
+ setSongtickerScrolling();
+}
+
+System.onScriptUnloading() {
+ delete SongTickerTimer;
+}
+
+SongTickerTimer.onTimer() {
+ SongTicker.show();
+ InfoTicker.hide();
+ SongTickerTimer.stop();
+}
+
+frameGroup.onResize(int x, int y, int w, int h) {
+ setObjects(w);
+}
+
+shadeeq.onLeftClick() {
+ eq_visible_attrib.setData("1");
+}
+
+setObjects(int w) {
+
+ int ShowButtons=getPrivateInt("winamp5", "ShowShadeButtons", 0);
+
+ if (ShowButtons) {
+ btnExpand.show();
+ btnReduce.hide();
+ } else {
+ btnExpand.hide();
+ btnReduce.show();
+ }
+
+ gX1.hide();
+ gX2.hide();
+ gX3.hide();
+ display.hide();
+ display2.hide();
+ displaytimer.hide();
+ displayticker.hide();
+ displayvis.hide();
+
+ if (w>413) {
+ int w_display=w-356;
+ display.setXMLParam("w", integertostring(w_display));
+ display.show();
+ displaytimer.show();
+
+ if (w>433) {
+ displayticker.show();
+ displayticker.setXMLParam("w", integertostring(w_display-13));
+
+ if (w>573) {
+ display.hide();
+ display2.setXMLParam("w", integertostring(w_display-45));
+ display2.show();
+ displayticker.setXMLParam("w", integertostring(w_display-56-13));
+
+ if (ShowButtons) {
+ gX1.setXMLParam("x", "-100");
+ gX1.show();
+
+ if (w>596) {
+ display2.setXMLParam("w", integertostring(w_display-68));
+ displayticker.setXMLParam("w", integertostring(w_display-79-13));
+
+ gX1.setXMLParam("x", "-123");
+
+ gX2.setXMLParam("x", "-80");
+ gX2.show();
+
+ if (w>655) {
+ display2.setXMLParam("w", integertostring(w_display-127));
+ displayticker.setXMLParam("w", integertostring(w_display-138-13));
+
+ gX1.setXMLParam("x", "-182");
+
+ gX2.setXMLParam("x", "-139");
+
+ gX3.setXMLParam("x", "-116");
+ gX3.show();
+
+ if (w>673) {
+ displayvis.setXMLParam("x", integertostring(-257));
+ displayvis.show();
+ displayticker.setXMLParam("w", integertostring(w_display-194-13));
+ }
+ }
+ }
+ } else {
+ display2.setXMLParam("w", integertostring(w_display));
+ displayvis.setXMLParam("x", integertostring(-130));
+ displayvis.show();
+ displayticker.setXMLParam("w", integertostring(w_display-66-13));
+ }
+ }
+ }
+ }
+}
+
+System.onKeyDown(String key) {
+ if (StrLeft(key,4) == "ctrl" && StrSearch(key, "+w") != -1 && (main.isActive() || main_normal.isActive())) {
+ if (main.isVisible())
+ main.getContainer().switchToLayout("normal");
+ else
+ main.getContainer().switchToLayout("shade");
+ complete;
+ }
+}
+
+btnExpand.onleftClick() {
+ setPrivateInt("winamp5", "ShowShadeButtons", 0);
+ setObjects(main.getGUIw());
+}
+
+btnReduce.onleftClick() {
+ setPrivateInt("winamp5", "ShowShadeButtons", 1);
+ setObjects(main.getGUIw());
+}
+
+System.onvolumechanged(int newvol)
+{
+ volumebar.setXmlParam("w",integertostring( (newvol/255) *40 + 5));
+ SongTickerTimer.start();
+ SongTicker.hide();
+ InfoTicker.show();
+ InfoTicker.setText(translate("Volume") + ": " + integerToString(newvol/2.55) + "%");
+}
+
+songticker_scrolling_attrib.onDataChanged() {
+ setSongtickerScrolling();
+}
+
+setSongtickerScrolling() {
+ if (songticker_scrolling_modern_attrib.getData()=="1") {
+ SongTicker.setXMLParam("ticker","bounce");
+ } else if (songticker_scrolling_classic_attrib.getData()=="1") {
+ SongTicker.setXMLParam("ticker","scroll");
+ } else {
+ SongTicker.setXMLParam("ticker","off");
+ }
+}
+
+colorthemes.onRightButtonDown(int x, int y) {
+ triggerAction(colorthemes, "ThemesSlotsMenu", "");
+ complete;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/shadecontrol.maki b/Src/resources/skins/Winamp Modern/scripts/shadecontrol.maki
new file mode 100644
index 00000000..6a47037e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/shadecontrol.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/shadelinks.m b/Src/resources/skins/Winamp Modern/scripts/shadelinks.m
new file mode 100644
index 00000000..0bca63f3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/shadelinks.m
@@ -0,0 +1,45 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: syncbutton.m
+Version: 1.0
+
+Type: maki
+Date: 25. Jun. 2007 - 14:04
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Function String getArtist ();
+
+Global Button nowplaying;
+
+System.onScriptLoaded ()
+{
+ nowplaying = getScriptGroup().getObject("nowplaying");
+}
+
+nowplaying.onLeftClick ()
+{
+ String artist = getArtist();
+ if (artist == "") return;
+
+ String icid = "winshadeiconmodern";
+
+ System.navigateUrlBrowser("http://client.winamp.com/nowplaying/artist/?icid="+ icid +"&artistName=" + artist);
+}
+
+String getArtist ()
+{
+ String artist = getPlayItemMetaDataString("artist");
+ if (artist == "") artist = getPlayItemMetaDataString("uvox/artist");
+ if (artist == "") artist = getPlayItemMetaDataString("cbs/artist");
+ if (artist == "") artist = getPlayItemMetaDataString("streamtitle");
+ if (artist == "") artist = getPlayItemDisplayTitle();
+
+ return artist;
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/shadelinks.maki b/Src/resources/skins/Winamp Modern/scripts/shadelinks.maki
new file mode 100644
index 00000000..13c24afe
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/shadelinks.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/shadesizepos.m b/Src/resources/skins/Winamp Modern/scripts/shadesizepos.m
new file mode 100644
index 00000000..9712239a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/shadesizepos.m
@@ -0,0 +1,41 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Function updateLinkage(int type);
+
+System.onScriptLoaded() {
+ initAttribs();
+ if (windowshade_linkall_attrib.getData() == "1") windowshade_linkall_attrib.onDataChanged();
+ if (windowshade_linkposition_attrib.getData() == "1") windowshade_linkposition_attrib.onDataChanged();
+ if (windowshade_linknone_attrib.getData() == "1") windowshade_linknone_attrib.onDataChanged();
+}
+
+windowshade_linkall_attrib.onDataChanged() {
+ if (getData() == "1") updateLinkage(2);
+}
+
+windowshade_linkposition_attrib.onDataChanged() {
+ if (getData() == "1") updateLinkage(1);
+}
+
+windowshade_linknone_attrib.onDataChanged() {
+ if (getData() == "1") updateLinkage(0);
+}
+
+updateLinkage(int type) {
+ Layout shade = getScriptGroup().getParentLayout();
+ Layout normal = shade.getContainer().getLayout("normal");
+ if (type == 0) {
+ shade.setXmlParam("unlinked", "1");
+ shade.setXmlParam("linkwidth", "");
+ normal.setXmlParam("linkwidth", "");
+ } else if (type == 1) {
+ shade.setXmlParam("unlinked", "0");
+ shade.setXmlParam("linkwidth", "");
+ normal.setXmlParam("linkwidth", "");
+ } else if (type == 2) {
+ shade.setXmlParam("unlinked", "0");
+ shade.setXmlParam("linkwidth", "normal");
+ normal.setXmlParam("linkwidth", "shade");
+ }
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/shadesizepos.maki b/Src/resources/skins/Winamp Modern/scripts/shadesizepos.maki
new file mode 100644
index 00000000..b3b51c8e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/shadesizepos.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/songinfo.m b/Src/resources/skins/Winamp Modern/scripts/songinfo.m
new file mode 100644
index 00000000..d216b1a3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/songinfo.m
@@ -0,0 +1,165 @@
+#include <lib/std.mi>
+
+Function string tokenizeSongInfo(String tkn, String sinfo);
+Function getSonginfo(String SongInfoString);
+Function loadPlaylistArtWork();
+
+Global Group frameGroup;
+Global Layer channelDisplay;
+Global Text bitrateText, FrequencyText;
+Global Timer songInfoTimer;
+Global String SongInfoString;
+Global AlbumArtLayer waaa;
+Global Int waaaRetries = 0;
+
+System.onScriptLoaded(){
+ frameGroup = getScriptGroup();
+
+ bitrateText = frameGroup.findObject("Bitrate");
+ frequencyText = frameGroup.findObject("Frequency");
+
+ channelDisplay = frameGroup.findObject("channels");
+
+ songInfoTimer = new Timer;
+ songInfoTimer.setDelay(1000);
+
+ if (getStatus() == STATUS_PLAYING) {
+ String sit = getSongInfoText();
+ waaaRetries = 0;
+ if (sit != "") getSonginfo(sit);
+ else songInfoTimer.setDelay(50); // goes to 1000 once info is available
+ songInfoTimer.start();
+ } else if (getStatus() == STATUS_PAUSED) {
+ getSonginfo(getSongInfoText());
+ }
+}
+
+loadPlaylistArtWork()
+{
+ Container albumart = System.getContainer("winamp.albumart");
+ if(albumart)
+ {
+ Layout aalayout = albumart.getLayout("normal");
+ if(aalayout)
+ {
+ waaa = aalayout.findObject("waaa");
+ }
+ }
+}
+
+System.onScriptUnloading(){
+ delete songInfoTimer;
+}
+
+System.onPlay(){
+ String sit = getSongInfoText();
+ waaaRetries = 0;
+ if (sit != "") getSonginfo(sit);
+ else songInfoTimer.setDelay(50); // goes to 1000 once info is available
+ songInfoTimer.start();
+}
+
+System.onStop(){
+ waaaRetries = 0;
+ songInfoTimer.stop();
+ frequencyText.setText("(__)");
+ bitrateText.setText("(___)");
+ channelDisplay.setXmlParam("image", "player.songinfo.none");
+}
+
+System.onResume(){
+ String sit = getSongInfoText();
+ if (sit != "") getSonginfo(sit);
+ else songInfoTimer.setDelay(50); // goes to 1000 once info is available
+ songInfoTimer.start();
+}
+
+System.onPause(){
+ songInfoTimer.stop();
+}
+
+songInfoTimer.onTimer(){
+ String sit = getSongInfoText();
+ if (sit == "") return;
+ songInfoTimer.setDelay(1000);
+ getSonginfo(sit);
+
+ if(!waaa) loadPlaylistArtWork();
+ if(waaa)
+ {
+ if(waaa.isInvalid() && waaaRetries < 5)
+ {
+ waaaRetries += 1;
+ waaa.refresh();
+ waaa.show();
+ }
+ else if(!waaa.isInvalid())
+ {
+ waaaRetries = 0;
+ }
+ }
+}
+
+String tokenizeSongInfo(String tkn, String sinfo){
+ int searchResult;
+ String rtn;
+ if (tkn=="Bitrate"){
+ for (int i = 0; i < 5; i++) {
+ rtn = getToken(sinfo, " ", i);
+ searchResult = strsearch(rtn, "kbps");
+ if (searchResult>0) return StrMid(rtn, 0, searchResult);
+ }
+ return "";
+ }
+
+ if (tkn=="Channels"){
+ for (int i = 0; i < 5; i++) {
+ rtn = getToken(sinfo, " ", i);
+ searchResult = strsearch(rtn, "tereo");
+ if (searchResult>0) return "stereo";
+ searchResult = strsearch(rtn, "ono");
+ if (searchResult>0) return "mono";
+ // Martin: surround > 3, stereo = 2,3
+ searchResult = strsearch(rtn, "annels");
+ if (searchResult>0)
+ {
+ int pos = strsearch(getSongInfoText(), "annels");
+ pos = stringToInteger(strmid(getSongInfoText(), pos - 4, 1));
+ if (pos > 3) return "surround";
+ if (pos > 1 && pos < 4) return "stereo";
+ else return "mono";
+ }
+ }
+ return "none";
+ }
+
+ if (tkn=="Frequency"){
+ for (int i = 0; i < 5; i++) {
+ rtn = getToken(sinfo, " ", i);
+ searchResult = strsearch(strlower(rtn), "khz");
+ if (searchResult>0) {
+ String r = StrMid(rtn, 0, searchResult);
+ int dot = StrSearch(r, ".");
+ if (dot == -1) dot = StrSearch(r, ",");
+ if (dot != -1) return StrMid(r, 0, dot);
+ return r;
+ }
+
+ }
+ return "";
+ }
+ else return "";
+}
+
+getSonginfo(String SongInfoString) {
+ String tkn;
+
+ tkn = tokenizeSongInfo("Bitrate", SongInfoString);
+ if(tkn != "") {bitrateText.setText("["+tkn+"]");}
+
+ tkn = tokenizeSongInfo("Channels", SongInfoString);
+ channelDisplay.setXmlParam("image", "player.songinfo." + tkn);
+
+ tkn = tokenizeSongInfo("Frequency", SongInfoString);
+ if(tkn != "") {frequencyText.setText("["+tkn+"]");}
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/songinfo.maki b/Src/resources/skins/Winamp Modern/scripts/songinfo.maki
new file mode 100644
index 00000000..2d943cd2
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/songinfo.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/standardframe.m b/Src/resources/skins/Winamp Modern/scripts/standardframe.m
new file mode 100644
index 00000000..7e6a8a57
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/standardframe.m
@@ -0,0 +1,68 @@
+#include <lib/std.mi>
+
+Global Group frameGroup, content, titlebar;
+Global String x, y, w, h, rx, ry, rw, rh;
+Global Layer mouselayer;
+Global Button Sysmenu;
+
+Function setNewGroup(String groupid);
+
+System.onScriptLoaded() {
+ frameGroup = getScriptGroup();
+ String param = getParam();
+ x = getToken(param, ",", 0);
+ y = getToken(param, ",", 1);
+ w = getToken(param, ",", 2);
+ h = getToken(param, ",", 3);
+ rx = getToken(param, ",", 4);
+ ry = getToken(param, ",", 5);
+ rw = getToken(param, ",", 6);
+ rh = getToken(param, ",", 7);
+ sysmenu = frameGroup.findObject("sysmenu");
+}
+
+System.onSetXuiParam(String param, String value) {
+ if (param == "content") {
+ setNewGroup(value);
+ titlebar = frameGroup.findObject("wasabi.titlebar");
+ mouselayer = titlebar.findObject("mousetrap");
+ }
+ if (param == "padtitleright" || param == "padtitleleft") {
+ if (titlebar != NULL) titlebar.setXmlParam(param, value);
+ }
+ if (param == "shade") {
+ if (mouselayer != NULL) mouselayer.setXmlParam("dblclickaction", "switch;"+value);
+ else messagebox("Cannot set shade parameter for StandardFrame object, no mousetrap found", "Skin Error", 0, "");
+ }
+}
+
+// backward compatibility for prerelease notify trick
+frameGroup.onNotify(String cmd, String param, int a, int b) {
+ String _command = getToken(cmd, ",", 0);
+ String _param = getToken(cmd, ",", 1);
+ if (_command == "content" || _command == "padtitleright" || _command == "padtitleleft" || _command == "shade") {
+ onSetXuiParam(_command, _param);
+ }
+}
+
+setNewGroup(String groupid) {
+ content = newGroup(groupid);
+ if (content == NULL) {
+ messagebox("group \"" + groupid + "\" not found", "ButtonGroup", 0, "");
+ return;
+ }
+ content.setXmlParam("x", x);
+ content.setXmlParam("y", y);
+ content.setXmlParam("w", w);
+ content.setXmlParam("h", h);
+ content.setXmlParam("relatx", rx);
+ content.setXmlParam("relaty", ry);
+ content.setXmlParam("relatw", rw);
+ content.setXmlParam("relath", rh);
+ content.init(frameGroup);
+}
+
+Sysmenu.onLeftClick() {
+ LayoutStatus _status = frameGroup.findObject("sysmenu.status");
+ _status.callme("{system}");
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/standardframe.maki b/Src/resources/skins/Winamp Modern/scripts/standardframe.maki
new file mode 100644
index 00000000..252fee66
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/standardframe.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/titlebar.m b/Src/resources/skins/Winamp Modern/scripts/titlebar.m
new file mode 100644
index 00000000..5d28307c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/titlebar.m
@@ -0,0 +1,104 @@
+#include <lib/std.mi>
+
+#define MARGIN 0
+
+Function resizeObjects();
+
+Global GuiObject left, right, center;
+Global Text tcenter;
+Global Layer lcenter;
+Global Group sg;
+Global int padleft, padright;
+
+System.onScriptLoaded() {
+
+ padleft = 0;
+ padright = 0;
+
+ sg = getScriptGroup();
+
+ if (sg == NULL) {
+ messageBox("titlebar.maki can only run within a group", "Error", 0, "");
+ return;
+ }
+
+ left = sg.findObject(getToken(getParam(), ";", 0));
+ center = sg.findObject(getToken(getParam(), ";", 1));
+ if (center != NULL) {
+ tcenter = center.findObject("window.titlebar.title");
+ lcenter = center.findObject("window.titlebar.title.overlay");
+ }
+ right = sg.findObject(getToken(getParam(), ";", 2));
+}
+
+// backward compatibility with prerelease notify trick
+sg.onNotify(String cmd, String param, int a, int b) {
+ String _command = getToken(cmd, ",", 0);
+ String _param = getToken(cmd, ",", 1);
+ if (_command == "padtitleright" || _command == "padtitleright")
+ onSetXuiParam(_command, _param);
+}
+
+System.onSetXuiParam(String param, String value) {
+ if (param == "padtitleright") {
+ padright = padright + StringToInteger(value);
+ resizeObjects();
+ }
+ if (param == "padtitleleft") {
+ padleft = padleft + StringToInteger(value);
+ resizeObjects();
+ }
+}
+
+resizeObjects() {
+ int text_width = 0;
+ int layout_width = 0;
+ int group_width = sg.getWidth();
+
+ Layout l = sg.getParentLayout();
+ layout_width = l.getWidth();
+
+ if (center != NULL) {
+ text_width = center.getAutoWidth();
+ }
+
+ int lx = (layout_width - text_width) / 2;
+ lx = l.clientToScreenX(lx);
+ lx = sg.screenToClientX(lx);
+ lx = lx - sg.getLeft();
+
+ if (center != NULL) {
+ center.setXmlParam("x", IntegerToString(lx));
+ center.setXmlParam("relatx", "0");
+ center.setXmlParam("w", IntegerToString(text_width));
+ center.setXmlParam("relatw", "0");
+
+ lcenter.setXmlParam("x", IntegerToString(lx));
+ lcenter.setXmlParam("relatx", "0");
+ lcenter.setXmlParam("w", IntegerToString(text_width));
+ lcenter.setXmlParam("relatw", "0");
+
+ }
+
+ if (left != NULL) {
+ left.setXmlParam("x", IntegerToString(padleft));
+ left.setXmlParam("relatx", "0");
+ left.setXmlParam("w", IntegerToString(lx-padleft-MARGIN));
+ left.setXmlParam("relatw", "0");
+ }
+ if (right != NULL) {
+ right.setXmlParam("x", IntegerToString(lx+text_width+MARGIN+1));
+ right.setXmlParam("relatx", "0");
+ right.setXmlParam("w", "-" + IntegerToString(lx+text_width+1+padright+MARGIN+1)); //IntegerToString(group_width-(lx+text_width)));
+ right.setXmlParam("relatw", "1");
+ }
+}
+
+tcenter.onTextChanged(string newtext) {
+ resizeObjects();
+}
+
+sg.onResize(int x, int y, int w, int h) {
+ resizeObjects();
+}
+
diff --git a/Src/resources/skins/Winamp Modern/scripts/titlebar.maki b/Src/resources/skins/Winamp Modern/scripts/titlebar.maki
new file mode 100644
index 00000000..316a777a
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/titlebar.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/video.m b/Src/resources/skins/Winamp Modern/scripts/video.m
new file mode 100644
index 00000000..5cd0723d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/video.m
@@ -0,0 +1,15 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Global Button btnVideoReattach;
+
+System.onScriptLoaded() {
+ initAttribs();
+ BtnVideoReattach = getScriptGroup().findObject("button.video.reattach");
+}
+
+BtnVideoReattach.onLeftClick() {
+ Container c = getContainer("main");
+ if (c.getLayout("shade").isVisible()) c.switchToLayout("normal");
+ video_detach_attrib.setData("0");
+}
diff --git a/Src/resources/skins/Winamp Modern/scripts/video.maki b/Src/resources/skins/Winamp Modern/scripts/video.maki
new file mode 100644
index 00000000..734ae90c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/video.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/videoavs.m b/Src/resources/skins/Winamp Modern/scripts/videoavs.m
new file mode 100644
index 00000000..32ce21cb
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/videoavs.m
@@ -0,0 +1,313 @@
+#include <lib/std.mi>
+#include <lib/config.mi>
+
+#define MAIN_ATTRIBS_MGR
+
+Function updateVisCmd();
+Function updateOpenCloseDirection();
+
+// this implements the main app drawer
+#include "drawer.m"
+
+// this loads the skin config attributes definitions
+#include "attribs.m"
+
+Global Layout main, shade;
+Global Container maincontainer;
+Global Group frameGroup, ButtonsVideo,ButtonsVis,ButtonsVideoDetach,ButtonsVisDetach,ButtonsVideoSwitchto,ButtonsVisSwitchto;
+Global Button btnOpen,btnClose,btnMaximize,btnRestore, btnVisDetach, btnVideoDetach, btnVisSwitchto, btnVideoSwitchto;
+Global Layer resizer,resizerDrawer,OpenCloseHider;
+Global GuiObject VideoVisGroup;
+Global Int evershown;
+Global Int ismaximized;
+Global Int lasttotop;
+
+//------------------------------------------------------------------------
+// script startup
+//------------------------------------------------------------------------
+System.onScriptLoaded() {
+ // init skin attributes for this script
+
+ initAttribs();
+
+ // bind objects
+
+ frameGroup = getScriptGroup();
+ btnOpen = frameGroup.findObject("videoavs.open");
+ btnClose = frameGroup.findObject("videoavs.close");
+ btnMaximize = frameGroup.findObject("button.vid.max");
+ btnRestore = frameGroup.findObject("button.vid.restore");
+ resizer = frameGroup.findObject("player.main.resizer");
+ resizerDrawer = frameGroup.findObject("drawer.resizer");
+
+ ButtonsVideo = frameGroup.findObject("buttons.video");
+ ButtonsVis = frameGroup.findObject("buttons.vis");
+
+ ButtonsVideoDetach = frameGroup.findObject("buttons.video.detach");
+ ButtonsVisDetach = frameGroup.findObject("buttons.vis.detach");
+ BtnVisDetach = ButtonsVisDetach.findObject("button.vis.detach");
+ BtnVideoDetach = ButtonsVideoDetach.findObject("button.vid.detach");
+
+ ButtonsVideoSwitchto = frameGroup.findObject("buttons.video.switchto");
+ ButtonsVisSwitchto = frameGroup.findObject("buttons.vis.switchto");
+
+ BtnVisSwitchto = ButtonsVisSwitchto.findObject("button.vis.Switchto");
+ BtnVideoSwitchto = ButtonsVideoSwitchto.findObject("button.vid.Switchto");
+
+ OpenCloseHider=frameGroup.findObject("openclosehider");
+
+ main = frameGroup.getParentLayout();
+ maincontainer = main.getContainer();
+ VideoVisGroup = frameGroup.findObject("AVSGroup");
+
+ VideoVisGroup.hide();
+
+ // bind drawer script attribs to our attribs
+
+ __drawer_directiontop_attrib = drawer_directiontop_attrib;
+ __scrolldrawerattrib = scrolldrawerattrib;
+ __drawer_directionbypass_attrib = drawer_directionbypass_attrib;
+ __vis_detach_attrib = vis_detach_attrib;
+ __video_detach_attrib = video_detach_attrib;
+
+ // startup drawer script
+
+ initDrawer(main, "VideoAVS");
+
+ // more init
+
+ if (vis_detach_attrib.getData() == "1" && video_detach_attrib.getData() == "1") OpenCloseHider.show();
+ else OpenCloseHider.hide();
+
+ lasttotop = 0;
+}
+
+//------------------------------------------------------------------------
+// grab a handle to the windowshade layout, can't get it in onScriptLoaded since it doesn't exists yet
+// also, first time we are shown, we update the viscmd button's action
+//------------------------------------------------------------------------
+main.onSetVisible(int show) {
+ if (!evershown) {
+ evershown = 1;
+ if (!shade) {
+ shade = maincontainer.getLayout("shade");
+ }
+ updateVisCmd();
+ updateOpenCloseDirection();
+ }
+}
+
+//------------------------------------------------------------------------
+// script shutdown
+//------------------------------------------------------------------------
+System.onScriptUnloading() {
+
+ // shutdown the drawer script
+
+ shutdownDrawer();
+}
+
+//------------------------------------------------------------------------
+// drawer script backend
+//------------------------------------------------------------------------
+
+Int getDrawerClosedHeight() {
+ return 280; // this is the size of the layout when the drawer is closed
+}
+
+Int getDefaultDrawerOpenHeight() {
+ return 510; // this is the default size of the layout, used when it opens the first time
+}
+
+// whenever the main window is resized while its drawer is closed, we change the height of the drawer the
+// next time it opens so that video will fit 4:3
+Int getDrawerOpenAutoHeight(int layoutwidth) {
+ return (layoutwidth-6)*(3/4)+55+270;
+}
+
+WindowHolder getVisWindowHolder() {
+ WindowHolder wh = getScriptGroup().findObject("myviswnd");
+ return wh; // we return our vis windowholder object
+}
+
+WindowHolder getVideoWindowHolder() {
+ WindowHolder wh = getScriptGroup().findObject("myvideownd");
+ return wh; // we return our video windowholder object
+}
+
+//------------------------------------------------------------------------
+// optional drawer events
+//------------------------------------------------------------------------
+
+onDoneOpeningDrawer() {
+ // nothing to do
+}
+
+onDoneClosingDrawer() {
+ VideoVisGroup.hide();
+}
+
+onBeforeOpeningDrawer() {
+ resizer.setXmlParam("resize", "bottomright");
+ resizerDrawer.setXmlParam("resize", "bottomright");
+ btnOpen.hide();
+ main.setXmlParam("minimum_h", "380");
+
+ VideoVisGroup.show();
+}
+
+onBeforeClosingDrawer() {
+ resizer.setXmlParam("resize", "right");
+ resizerDrawer.setXmlParam("resize", "right");
+ main.setXmlParam("minimum_h", "280");
+ btnOpen.show();
+}
+
+onShowVis() {
+ ButtonsVideo.hide();
+ ButtonsVideoDetach.hide();
+ ButtonsVideoSwitchto.hide();
+ ButtonsVis.show();
+ ButtonsVisDetach.show();
+ if (video_detach_attrib.getData() == "0") ButtonsVisSwitchto.show();
+}
+
+onHideVis() {
+ ButtonsVis.hide();
+ ButtonsVisDetach.hide();
+ ButtonsVisSwitchto.hide();
+}
+
+onShowVideo() {
+ ButtonsVis.hide();
+ ButtonsVisDetach.hide();
+ ButtonsVisSwitchto.hide();
+ ButtonsVideo.show();
+ ButtonsVideoDetach.show();
+ if (vis_detach_attrib.getData() == "0") ButtonsVideoSwitchto.show();
+}
+
+onHideVideo() {
+ ButtonsVideo.hide();
+ ButtonsVideoDetach.hide();
+ ButtonsVideoSwitchto.hide();
+}
+
+onDetachVideo() {
+ ButtonsVisSwitchto.hide();
+ if (vis_detach_attrib.getData() == "1") OpenCloseHider.show();
+}
+
+onAttachVideo() {
+ ButtonsVisSwitchto.show();
+ OpenCloseHider.hide();
+}
+
+onDetachVis() {
+ ButtonsVideoSwitchto.hide();
+ if (video_detach_attrib.getData() == "1") OpenCloseHider.show();
+}
+
+onAttachVis() {
+ ButtonsVideoSwitchto.show();
+ OpenCloseHider.hide();
+}
+
+onBeforeRestore() {
+ btnMaximize.show();
+ btnRestore.hide();
+}
+
+onBeforeMaximize() {
+ btnRestore.show();
+ btnMaximize.hide();
+}
+
+onCancelMaximize() {
+ btnMaximize.show();
+ btnRestore.hide();
+}
+
+// -----------------------------------------------------------------------
+// drawer control
+// -----------------------------------------------------------------------
+
+btnOpen.onLeftClick() {
+ openDrawer();
+}
+
+btnClose.onLeftClick() {
+ closeDrawer();
+}
+
+btnMaximize.onLeftClick() {
+ maximizeWindow();
+}
+
+btnRestore.onLeftClick() {
+ restoreWindow();
+}
+
+BtnVisDetach.onLeftClick() {
+ detachVis();
+}
+
+BtnVideoDetach.onLeftClick() {
+ detachVideo();
+}
+
+BtnVisSwitchto.onLeftClick() {
+ switchToVideo();
+}
+
+BtnVideoSwitchto.onLeftClick() {
+ switchToVis();
+}
+
+// -----------------------------------------------------------------------
+// when the player window is moved on the screen, we should update the up/down arrow for the open/close buttons since the
+// drawer may have changed the direction it will open depending on user settings
+// -----------------------------------------------------------------------
+main.onMove() {
+ updateOpenCloseDirection();
+}
+
+// -----------------------------------------------------------------------
+// just invert the images when the direction is to top and restore them otherwise
+// -----------------------------------------------------------------------
+updateOpenCloseDirection() {
+ if (isDrawerToTop()) {
+ if (!lasttotop) {
+ btnClose.setXmlParam("image", "player.button.videoavs");
+ btnClose.setXmlParam("downimage", "player.button.videoavs.pressed");
+ btnClose.setXmlParam("hoverImage", "player.button.videoavs.hover");
+ btnOpen.setXmlParam("image", "player.button.videoavs.up");
+ btnOpen.setXmlParam("downimage", "player.button.videoavs.up.pressed");
+ btnOpen.setXmlParam("hoverImage", "player.button.videoavs.up.hover");
+ lasttotop = 1;
+ }
+ } else {
+ if (lasttotop) {
+ btnOpen.setXmlParam("image", "player.button.videoavs");
+ btnOpen.setXmlParam("downimage", "player.button.videoavs.pressed");
+ btnOpen.setXmlParam("hoverImage", "player.button.videoavs.hover");
+ btnClose.setXmlParam("image", "player.button.videoavs.up");
+ btnClose.setXmlParam("downimage", "player.button.videoavs.up.pressed");
+ btnClose.setXmlParam("hoverImage", "player.button.videoavs.up.hover");
+ lasttotop = 0;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+updateVisCmd() {
+ Button btn = getScriptGroup().findObject("button.vis.misc");
+ if (btn) {
+ if (viscmd_menu_attrib.getData() == "1") {
+ btn.setXmlParam("action", "Vis_Menu");
+ } else {
+ btn.setXmlParam("action", "Vis_Cfg");
+ }
+ }
+}
+
diff --git a/Src/resources/skins/Winamp Modern/scripts/videoavs.maki b/Src/resources/skins/Winamp Modern/scripts/videoavs.maki
new file mode 100644
index 00000000..13a3f501
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/videoavs.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/vis.m b/Src/resources/skins/Winamp Modern/scripts/vis.m
new file mode 100644
index 00000000..f80f8335
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/vis.m
@@ -0,0 +1,42 @@
+#include <lib/std.mi>
+#include "attribs.m"
+
+Function updateVisCmd();
+
+Global Button btnVisReattach;
+Global Layout thislayout;
+Global Int evershown;
+
+System.onScriptLoaded() {
+ initAttribs();
+ thislayout = getScriptGroup().getParentLayout();
+ BtnVisReattach = getScriptGroup().findObject("button.vis.reattach");
+}
+
+thisLayout.onSetVisible(int show) {
+ if (!evershown) {
+ evershown = 1;
+ updateVisCmd();
+ }
+}
+
+BtnVisReattach.onLeftClick() {
+ Container c = getContainer("main");
+ if (c.getLayout("shade").isVisible()) c.switchToLayout("normal");
+ vis_detach_attrib.setData("0");
+}
+
+viscmd_menu_attrib.onDataChanged() {
+ updateVisCmd();
+}
+
+updateVisCmd() {
+ Button btn = getScriptGroup().findObject("button.vis.misc");
+ if (btn) {
+ if (viscmd_menu_attrib.getData() == "1") {
+ btn.setXmlParam("action", "Vis_Menu");
+ } else {
+ btn.setXmlParam("action", "Vis_Cfg");
+ }
+ }
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/vis.maki b/Src/resources/skins/Winamp Modern/scripts/vis.maki
new file mode 100644
index 00000000..e1983f3d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/vis.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/scripts/visualizer.m b/Src/resources/skins/Winamp Modern/scripts/visualizer.m
new file mode 100644
index 00000000..1d2fccc1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/visualizer.m
@@ -0,0 +1,267 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: visualizer.m
+Version: 1.4
+
+Type: maki
+Date: 07. Okt. 2007 - 19:56
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+ www.martin.deimos.de.vu
+
+Note: This script handles also the timer reflection
+-----------------------------------------------------
+---------------------------------------------------*/
+
+#include <lib/std.mi>
+
+Function refreshVisSettings();
+Function setVis (int mode);
+Function ProcessMenuResult (int a);
+
+Global Group scriptGroup;
+Global Vis visualizer;
+Global Text tmr;
+
+Global PopUpMenu visMenu;
+Global PopUpMenu specmenu;
+Global PopUpMenu oscmenu;
+Global PopUpMenu pksmenu;
+Global PopUpMenu anamenu;
+Global PopUpMenu stylemenu;
+
+Global Int currentMode, a_falloffspeed, p_falloffspeed, a_coloring;
+Global Boolean show_peaks, isShade;
+Global layer trigger;
+
+Global Layout thislayout;
+Global Container main;
+
+System.onScriptLoaded()
+{
+ scriptGroup = getScriptGroup();
+ thislayout = scriptGroup.getParentLayout();
+ main = thislayout.getContainer();
+
+ visualizer = scriptGroup.findObject("visual");
+
+ trigger = scriptGroup.findObject("main.vis.trigger");
+
+ visualizer.setXmlParam("peaks", integerToString(show_peaks));
+ visualizer.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ visualizer.setXmlParam("falloff", integerToString(a_falloffspeed));
+
+ refreshVisSettings ();
+}
+
+refreshVisSettings ()
+{
+ currentMode = getPrivateInt(getSkinName(), "Visualizer Mode", 1);
+ show_peaks = getPrivateInt(getSkinName(), "Visualizer show Peaks", 1);
+ a_falloffspeed = getPrivateInt(getSkinName(), "Visualizer analyzer falloff", 3);
+ p_falloffspeed = getPrivateInt(getSkinName(), "Visualizer peaks falloff", 2);
+ a_coloring = getPrivateInt(getSkinName(), "Visualizer analyzer coloring", 0);
+
+ visualizer.setXmlParam("peaks", integerToString(show_peaks));
+ visualizer.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ visualizer.setXmlParam("falloff", integerToString(a_falloffspeed));
+
+ if (a_coloring == 0)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 1)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 2)
+ {
+ visualizer.setXmlParam("coloring", "Fire");
+ }
+ else if (a_coloring == 3)
+ {
+ visualizer.setXmlParam("coloring", "Line");
+ }
+
+ setVis (currentMode);
+}
+
+trigger.onLeftButtonDown (int x, int y)
+{
+ if (isKeyDown(VK_ALT) && isKeyDown(VK_SHIFT) && isKeyDown(VK_CONTROL))
+ {
+ if (visualizer.getXmlParam("fliph") == "1")
+ {
+ visualizer.setXmlParam("fliph", "0");
+ }
+ else
+ {
+ visualizer.setXmlParam("fliph", "1");
+ }
+ return;
+ }
+
+ currentMode++;
+
+ if (currentMode == 6)
+ {
+ currentMode = 0;
+ }
+
+ setVis (currentMode);
+ complete;
+}
+
+trigger.onRightButtonUp (int x, int y)
+{
+ visMenu = new PopUpMenu;
+ specmenu = new PopUpMenu;
+ oscmenu = new PopUpMenu;
+ pksmenu = new PopUpMenu;
+ anamenu = new PopUpMenu;
+ stylemenu = new PopUpMenu;
+
+ visMenu.addCommand("Presets:", 999, 0, 1);
+ visMenu.addCommand("No Visualization", 100, currentMode == 0, 0);
+ specmenu.addCommand("Thick Bands", 1, currentMode == 1, 0);
+ specmenu.addCommand("Thin Bands", 2, currentMode == 2, 0);
+ visMenu.addSubMenu(specmenu, "Spectrum Analyzer");
+
+ oscmenu.addCommand("Solid", 3, currentMode == 3, 0);
+ oscmenu.addCommand("Dots", 4, currentMode == 4, 0);
+ oscmenu.addCommand("Lines", 5, currentMode == 5, 0);
+ visMenu.addSubMenu(oscmenu, "Oscilloscope");
+
+ visMenu.addSeparator();
+ visMenu.addCommand("Options:", 102, 0, 1);
+ visMenu.addCommand("Show Peaks", 101, show_peaks == 1, 0);
+ pksmenu.addCommand("Slower", 200, p_falloffspeed == 0, 0);
+ pksmenu.addCommand("Slow", 201, p_falloffspeed == 1, 0);
+ pksmenu.addCommand("Moderate", 202, p_falloffspeed == 2, 0);
+ pksmenu.addCommand("Fast", 203, p_falloffspeed == 3, 0);
+ pksmenu.addCommand("Faster", 204, p_falloffspeed == 4, 0);
+ visMenu.addSubMenu(pksmenu, "Peak Falloff Speed");
+ anamenu.addCommand("Slower", 300, a_falloffspeed == 0, 0);
+ anamenu.addCommand("Slow", 301, a_falloffspeed == 1, 0);
+ anamenu.addCommand("Moderate", 302, a_falloffspeed == 2, 0);
+ anamenu.addCommand("Fast", 303, a_falloffspeed == 3, 0);
+ anamenu.addCommand("Faster", 304, a_falloffspeed == 4, 0);
+ visMenu.addSubMenu(anamenu, "Analyzer Falloff Speed");
+ stylemenu.addCommand("Normal", 400, a_coloring == 0, 0);
+ stylemenu.addCommand("Fire", 402, a_coloring == 2, 0);
+ stylemenu.addCommand("Line", 403, a_coloring == 3, 0);
+ //visMenu.addSubMenu(stylemenu, "Analyzer Coloring");
+
+ ProcessMenuResult (visMenu.popAtMouse());
+
+ delete visMenu;
+ delete specmenu;
+ delete oscmenu;
+ delete pksmenu;
+ delete anamenu;
+ delete stylemenu;
+
+ complete;
+}
+
+ProcessMenuResult (int a)
+{
+ if (a < 1) return;
+
+ if (a > 0 && a <= 6 || a == 100)
+ {
+ if (a == 100) a = 0;
+ setVis(a);
+ }
+
+ else if (a == 101)
+ {
+ show_peaks = (show_peaks - 1) * (-1);
+ visualizer.setXmlParam("peaks", integerToString(show_peaks));
+ setPrivateInt(getSkinName(), "Visualizer show Peaks", show_peaks);
+ }
+
+ else if (a >= 200 && a <= 204)
+ {
+ p_falloffspeed = a - 200;
+ visualizer.setXmlParam("peakfalloff", integerToString(p_falloffspeed));
+ setPrivateInt(getSkinName(), "Visualizer peaks falloff", p_falloffspeed);
+ }
+
+ else if (a >= 300 && a <= 304)
+ {
+ a_falloffspeed = a - 300;
+ visualizer.setXmlParam("falloff", integerToString(a_falloffspeed));
+ setPrivateInt(getSkinName(), "Visualizer analyzer falloff", a_falloffspeed);
+ }
+
+ else if (a >= 400 && a <= 403)
+ {
+ a_coloring = a - 400;
+ if (a_coloring == 0)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 1)
+ {
+ visualizer.setXmlParam("coloring", "Normal");
+ }
+ else if (a_coloring == 2)
+ {
+ visualizer.setXmlParam("coloring", "Fire");
+ }
+ else if (a_coloring == 3)
+ {
+ visualizer.setXmlParam("coloring", "Line");
+ }
+ setPrivateInt(getSkinName(), "Visualizer analyzer coloring", a_coloring);
+ }
+}
+
+setVis (int mode)
+{
+ setPrivateInt(getSkinName(), "Visualizer Mode", mode);
+ if (mode == 0)
+ {
+ visualizer.setMode(0);
+ }
+ else if (mode == 1)
+ {
+ visualizer.setXmlParam("bandwidth", "wide");
+ visualizer.setMode(1);
+ }
+ else if (mode == 2)
+ {
+ visualizer.setXmlParam("bandwidth", "thin");
+ visualizer.setMode(1);
+ }
+ else if (mode == 3)
+ {
+ visualizer.setXmlParam("oscstyle", "solid");
+ visualizer.setMode(2);
+ }
+ else if (mode == 4)
+ {
+ visualizer.setXmlParam("oscstyle", "dots");
+ visualizer.setMode(2);
+ }
+ else if (mode == 5)
+ {
+ visualizer.setXmlParam("oscstyle", "lines");
+ visualizer.setMode(2);
+ }
+ currentMode = mode;
+}
+
+// Sync Normal and Shade Layout
+
+main.onBeforeSwitchToLayout(Layout oldlayout, Layout newlayout)
+{
+ if (newlayout != thislayout)
+ {
+ return;
+ }
+
+ refreshVisSettings();
+} \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/scripts/visualizer.maki b/Src/resources/skins/Winamp Modern/scripts/visualizer.maki
new file mode 100644
index 00000000..4b90d855
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/scripts/visualizer.maki
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/bg_overlay.png b/Src/resources/skins/Winamp Modern/shade/bg_overlay.png
new file mode 100644
index 00000000..b4c31f7f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/bg_overlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/buttons.png b/Src/resources/skins/Winamp Modern/shade/buttons.png
new file mode 100644
index 00000000..77f42bec
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/buttons.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/buttons2.PNG b/Src/resources/skins/Winamp Modern/shade/buttons2.PNG
new file mode 100644
index 00000000..2347a307
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/buttons2.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/buttons_bg.png b/Src/resources/skins/Winamp Modern/shade/buttons_bg.png
new file mode 100644
index 00000000..0dd2d125
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/buttons_bg.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/corners.png b/Src/resources/skins/Winamp Modern/shade/corners.png
new file mode 100644
index 00000000..35998040
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/corners.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/display_overlay.png b/Src/resources/skins/Winamp Modern/shade/display_overlay.png
new file mode 100644
index 00000000..6e727271
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/display_overlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/led.png b/Src/resources/skins/Winamp Modern/shade/led.png
new file mode 100644
index 00000000..b39f7a57
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/led.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/nowplaying.png b/Src/resources/skins/Winamp Modern/shade/nowplaying.png
new file mode 100644
index 00000000..203dddcb
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/nowplaying.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/pl_shade.png b/Src/resources/skins/Winamp Modern/shade/pl_shade.png
new file mode 100644
index 00000000..6090cddb
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/pl_shade.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/playbackstatus.png b/Src/resources/skins/Winamp Modern/shade/playbackstatus.png
new file mode 100644
index 00000000..3dd8aa22
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/playbackstatus.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/seek.png b/Src/resources/skins/Winamp Modern/shade/seek.png
new file mode 100644
index 00000000..467621f7
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/seek.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/shade_bg.PNG b/Src/resources/skins/Winamp Modern/shade/shade_bg.PNG
new file mode 100644
index 00000000..3c5fdc11
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/shade_bg.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/songtickerfont.PNG b/Src/resources/skins/Winamp Modern/shade/songtickerfont.PNG
new file mode 100644
index 00000000..dd6fd15d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/songtickerfont.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/shade/volume.png b/Src/resources/skins/Winamp Modern/shade/volume.png
new file mode 100644
index 00000000..de77c4e8
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/shade/volume.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/skin.xml b/Src/resources/skins/Winamp Modern/skin.xml
new file mode 100644
index 00000000..7c461c64
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/skin.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<WasabiXML version="1.35">
+
+ <skininfo>
+ <version>1.1.1</version>
+ <name>Winamp5 Base Skin</name>
+ <comment>Please feel free to use this skin as a reference point to build your new Winamp5 skins.</comment>
+ <author gaybag="bartibartman">Sven Kistner</author>
+ <email>sven@metrix.de</email>
+ <homepage>http://www.winamp.com</homepage>
+ <screenshot>screenshot.png</screenshot>
+ </skininfo>
+
+ <accelerators section="normal">
+ <accelerator bind="Alt+F" action="MENUHOTKEY_FILE"/>
+ <accelerator bind="Alt+P" action="MENUHOTKEY_PLAY"/>
+ <accelerator bind="Alt+O" action="MENUHOTKEY_OPTIONS"/>
+ <accelerator bind="Alt+I" action="MENUHOTKEY_VIEW"/>
+ <accelerator bind="Alt+H" action="MENUHOTKEY_HELP"/>
+ </accelerators>
+
+ <accelerators section="myvideownd">
+ <accelerator bind="Alt+F" action="MENUHOTKEY_FILE"/>
+ <accelerator bind="Alt+P" action="MENUHOTKEY_PLAY"/>
+ <accelerator bind="Alt+O" action="MENUHOTKEY_OPTIONS"/>
+ <accelerator bind="Alt+I" action="MENUHOTKEY_VIEW"/>
+ <accelerator bind="Alt+H" action="MENUHOTKEY_HELP"/>
+ </accelerators>
+
+ <accelerators section="player.content.pl.dummy.group">
+ <accelerator bind="Alt+F" action="PL_MENUHOTKEY_FILE"/>
+ <accelerator bind="Alt+P" action="PL_MENUHOTKEY_PLAYLIST"/>
+ <accelerator bind="Alt+S" action="PL_MENUHOTKEY_SORT"/>
+ <accelerator bind="Alt+H" action="PL_MENUHOTKEY_HELP"/>
+ </accelerators>
+
+ <accelerators section="player.content.ml.dummy.group">
+ <accelerator bind="Alt+F" action="ML_MENUHOTKEY_FILE"/>
+ <accelerator bind="Alt+I" action="ML_MENUHOTKEY_VIEW"/>
+ <accelerator bind="Alt+H" action="ML_MENUHOTKEY_HELP"/>
+ </accelerators>
+
+ <include file="xml/color-presets.xml"/>
+ <include file="xml/system-colors.xml"/>
+ <include file="standardframe/standardframe.xml"/>
+ <include file="titlebar/titlebar.xml"/>
+ <include file="xml/player.xml"/>
+ <include file="xml/pledit.xml"/>
+ <include file="xml/ml.xml"/>
+ <include file="xml/vis.xml"/>
+ <include file="xml/video.xml"/>
+ <include file="xml/albumart.xml"/>
+ <include file="xml/notifier.xml"/>
+ <include file="about/about.xml"/>
+
+</WasabiXML> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/standardframe/standardframe-elements.xml b/Src/resources/skins/Winamp Modern/standardframe/standardframe-elements.xml
new file mode 100644
index 00000000..6bb6139e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/standardframe/standardframe-elements.xml
@@ -0,0 +1,14 @@
+<elements>
+
+ <bitmap id="wasabi.frame.basetexture" file="window/background.png" gammagroup="Backgrounds" />
+ <elementalias id="component.basetexture" target="wasabi.frame.basetexture" />
+
+ <bitmap id="wasabi.frame.top.left" file="window/titlebar.png" x="0" y="0" h="18" w="10" gammagroup="Titlebar"/>
+ <bitmap id="wasabi.frame.top" file="window/titlebar.png" x="10" y="0" h="18" w="10" gammagroup="Titlebar"/>
+ <bitmap id="wasabi.frame.top.right" file="window/titlebar.png" x="43" y="0" h="18" w="10" gammagroup="Titlebar"/>
+
+ <bitmap id="wasabi.frame.top.left.region" file="window/titlebar.png" x="0" y="120" h="18" w="10" />
+ <bitmap id="wasabi.frame.top.right.region" file="window/titlebar.png" x="43" y="120" h="18" w="10" />
+
+
+</elements>
diff --git a/Src/resources/skins/Winamp Modern/standardframe/standardframe.xml b/Src/resources/skins/Winamp Modern/standardframe/standardframe.xml
new file mode 100644
index 00000000..4a5825ff
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/standardframe/standardframe.xml
@@ -0,0 +1,517 @@
+<!-- =======================================================================================================
+
+ This file implements the following objects :
+
+ - Wasabi:MainFrame:NoStatus
+ - Wasabi:PlaylistFrame:NoStatus
+ - Wasabi:MediaLibraryFrame:NoStatus
+ Available parameters :
+
+ padtitleleft : resizes the title from the left by the specified amount of pixels
+ padtitleright : resizes the title from the right by the specified amount of pixels
+ content : tells the object which group to instantiate in its client area
+
+======================================================================================================== -->
+
+<include file="standardframe-elements.xml" />
+<include file="window_menus.xml" />
+
+<groupdef id="wasabi.main.layout" h="161">
+ <layer
+ id="window.top.left"
+ x="0" y="0"
+ image="wasabi.frame.top.left"
+ resize="topleft"
+ sysregion="1"
+ />
+ <layer
+ id="window.top"
+ x="10" y="0"
+ w="-20"
+ relatw="1"
+ image="wasabi.frame.top"
+ resize="top"
+ sysregion="1"
+ />
+ <layer
+ id="window.top.right"
+ x="-10" y="0"
+ relatx="1"
+ image="wasabi.frame.top.right"
+ resize="topright"
+ sysregion="1"
+ />
+ <layer
+ id="window.top.left.region"
+ x="0"
+ y="0"
+ image="wasabi.frame.top.left.region"
+ sysregion="-2"
+ />
+ <layer
+ id="window.top.right.region"
+ x="-10"
+ y="0"
+ relatx="1"
+ image="wasabi.frame.top.right.region"
+ sysregion="-2"
+ />
+
+ <Wasabi:TitleBar
+ id="wasabi.titlebar"
+ x="10" y="0"
+ w="-29" h="18"
+ relatw="1"
+ />
+
+ <layer
+ x="5" y="4"
+ image="wasabi.button.bg.title"
+ />
+ <button
+ id="MainMenu.inactive"
+ action="SYSMENU"
+ x="6" y="4"
+ image="wasabi.button.sysmenu.inactive"
+ tooltip="Main Menu"
+ activeAlpha="0"
+ />
+ <button
+ id="MainMenu"
+ action="SYSMENU"
+ x="6" y="4"
+ image="wasabi.button.sysmenu"
+ downImage="wasabi.button.sysmenu.pressed"
+ hoverImage="wasabi.button.sysmenu.hover"
+ tooltip="Main Menu"
+ inactiveAlpha="0"
+ />
+ <button
+ id="Close.inactive"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit.inactive"
+ tooltip="Close Window"
+ activeAlpha="0"
+ />
+ <button
+ id="Close"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit"
+ downImage="wasabi.button.exit.pressed"
+ hoverImage="wasabi.button.exit.hover"
+ tooltip="Close Window"
+ inactiveAlpha="0"
+ />
+</groupdef>
+
+
+
+<groupdef id="wasabi.standard.layout">
+ <layer
+ id="window.top.left"
+ x="0" y="0"
+ image="wasabi.frame.top.left"
+ resize="topleft"
+ sysregion="1"
+ />
+ <layer
+ id="window.top"
+ x="10" y="0"
+ w="-20"
+ relatw="1"
+ image="wasabi.frame.top"
+ resize="top"
+ sysregion="1"
+ />
+ <layer
+ id="window.top.right"
+ x="-10" y="0"
+ relatx="1"
+ image="wasabi.frame.top.right"
+ resize="topright"
+ sysregion="1"
+ />
+ <layer
+ id="window.top.left.region"
+ x="0"
+ y="0"
+ image="wasabi.frame.top.left.region"
+ sysregion="-2"
+ />
+ <layer
+ id="window.top.right.region"
+ x="-10"
+ y="0"
+ relatx="1"
+ image="wasabi.frame.top.right.region"
+ sysregion="-2"
+ />
+
+ <Wasabi:TitleBar
+ id="wasabi.titlebar"
+ x="10" y="0"
+ w="-29" h="18"
+ relatw="1"
+ />
+
+ <layer
+ x="5" y="4"
+ image="wasabi.button.bg.title"
+ />
+ <button
+ id="MainMenu"
+ action="SYSMENU"
+ x="6" y="4"
+ image="wasabi.button.sysmenu.inactive"
+ tooltip="Main Menu"
+ activeAlpha="0"
+ />
+ <button
+ id="MainMenu"
+ action="SYSMENU"
+ x="6" y="4"
+ image="wasabi.button.sysmenu"
+ downImage="wasabi.button.sysmenu.pressed"
+ hoverImage="wasabi.button.sysmenu.hover"
+ tooltip="Main Menu"
+ inactiveAlpha="0"
+ />
+ <button
+ id="Close.inactive"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit.inactive"
+ tooltip="Close Window"
+ activeAlpha="0"
+ />
+ <button
+ id="Close"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit"
+ downImage="wasabi.button.exit.pressed"
+ hoverImage="wasabi.button.exit.hover"
+ tooltip="Close Window"
+ inactiveAlpha="0"
+ />
+</groupdef>
+
+<!-- <Wasabi:MainFrame:NoStatus /> implementation -->
+<groupdef id="wasabi.mainframe.nostatusbar" sysregion="1" xuitag="Wasabi:MainFrame:NoStatus">
+ <group id="wasabi.main.layout" x="0" y="0" w="0" relatw="1" sysregion="1"/>
+ <group id="wasabi.menubar" x="0" y="18" w="0" relatw="1" sysregion="1" visible="1"/>
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="0,18,0,0,0,0,1,1" />
+</groupdef>
+
+<!-- <Wasabi:PlaylistFrame:NoStatus /> implementation -->
+<groupdef id="wasabi.playlistframe.nostatusbar" sysregion="1" xuitag="Wasabi:PlaylistFrame:NoStatus">
+ <group id="wasabi.standard.layout" x="0" y="0" w="0" relatw="1" sysregion="1"/>
+ <group id="wasabi.menubar.pl" x="0" y="18" w="0" relatw="1" sysregion="1" visible="1"/>
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="0,18,0,0,0,0,1,1" />
+</groupdef>
+
+<!-- <Wasabi:MediaLibraryFrame:NoStatus /> implementation -->
+<groupdef id="wasabi.medialibraryframe.nostatusbar" sysregion="1" xuitag="Wasabi:MediaLibraryFrame:NoStatus">
+ <group id="wasabi.standard.layout" x="0" y="0" w="0" relatw="1" sysregion="1"/>
+ <group id="wasabi.menubar.ml" x="0" y="18" w="0" relatw="1" sysregion="1" visible="1"/>
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="0,18,0,0,0,0,1,1" />
+</groupdef>
+
+<!-- <Wasabi:VISFrame:NoStatus /> implementation -->
+<groupdef id="wasabi.visframe.nostatusbar" sysregion="1" xuitag="Wasabi:VISFrame:NoStatus">
+ <group id="wasabi.standard.layout" x="0" y="0" w="0" relatw="1" sysregion="1"/>
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="0,18,0,0,0,0,1,1" />
+</groupdef>
+
+
+
+
+
+
+
+
+<!-- =======================================================================================================
+
+ This group serves as a template for all the Wasabi:StandardFrame objects
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.frame.layout">
+
+ <layer
+ id="window.top.left"
+ x="0" y="0"
+ image="wasabi.frame.top.left"
+ resize="topleft"
+ sysregion="1"
+ />
+ <layer
+ id="window.top"
+ x="10" y="0"
+ w="-20"
+ relatw="1"
+ image="wasabi.frame.top"
+ resize="top"
+ sysregion="1"
+ />
+ <layer
+ id="window.top.right"
+ x="-10" y="0"
+ relatx="1"
+ image="wasabi.frame.top.right"
+ resize="topright"
+ sysregion="1"
+ />
+ <layer
+ id="window.top.left.region"
+ x="0"
+ y="0"
+ image="wasabi.frame.top.left.region"
+ sysregion="-2"
+ />
+ <layer
+ id="window.top.right.region"
+ x="-10"
+ y="0"
+ relatx="1"
+ image="wasabi.frame.top.right.region"
+ sysregion="-2"
+ />
+
+ <layer
+ x="0" y="18"
+ image="wasabi.window2.topleft"
+ resize="topleft"
+ />
+ <layer
+ x="6" y="18"
+ w="-12"
+ relatw="1"
+ image="wasabi.window2.topcenter"
+ resize="top"
+ />
+ <layer
+ x="-6" y="18"
+ relatx="1"
+ image="wasabi.window2.topright"
+ resize="topright"
+ />
+ <layer
+ x="0" y="23"
+ relath="1"
+ h="-23"
+ image="wasabi.window2.left"
+ resize="left"
+ />
+ <layer
+ x="-6" y="23"
+ relatx="1"
+ relath="1"
+ h="-23"
+ image="wasabi.window2.right"
+ resize="right"
+ />
+
+ <layer id="window.resize.disabler" x="6" y="6" w="-12" h="-12" relatw="1" relath="1"/>
+
+ <LayoutStatus id="sysmenu.status" bg="0" x="5" y="3" w="14" h="9" includeonly="{system}" />
+ <hideobject target="sysmenu.status"/>
+
+ <Wasabi:TitleBar
+ id="wasabi.titlebar"
+ x="20" y="0"
+ w="-39" h="18"
+ relatw="1"
+ />
+
+ <layer
+ id="MainMenu.button.bg"
+ x="5" y="4"
+ image="wasabi.button.bg.title"
+ />
+ <button
+ id="MainMenu.inactive"
+ action="SYSMENU"
+ x="6" y="4"
+ image="wasabi.button.sysmenu.inactive"
+ tooltip="Main Menu"
+ activeAlpha="0"
+ />
+ <button
+ id="MainMenu"
+ action="SYSMENU"
+ x="6" y="4"
+ image="wasabi.button.sysmenu"
+ downImage="wasabi.button.sysmenu.pressed"
+ hoverImage="wasabi.button.sysmenu.hover"
+ tooltip="Main Menu"
+ inactiveAlpha="0"
+ />
+ <button
+ id="Close.inactive"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit.inactive"
+ tooltip="Close Window"
+ activeAlpha="0"
+ />
+ <button
+ id="Close"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit"
+ downImage="wasabi.button.exit.pressed"
+ hoverImage="wasabi.button.exit.hover"
+ tooltip="Close Window"
+ inactiveAlpha="0"
+ />
+
+ </groupdef>
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Status /> implementation
+
+======================================================================================================== -->
+
+ <groupdef id="wasabi.standardframe.statusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Status">
+
+ <group id="wasabi.frame.layout" x="0" y="0" w="0" relatw="1" h="-42" relath="1"/>
+ <layer
+ x="0" y="-42"
+ relaty="1"
+ image="wasabi.window2.bottomleft"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-25"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="wasabi.window2.bottomcenter"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-42"
+ relatx="1"
+ relaty="1"
+ image="wasabi.window2.bottomright"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+
+ <layer
+ id="window.resizer"
+ x="-16" y="-16"
+ relatx="1" relaty="1"
+ image="wasabi.frame.resizer"
+ resize="bottomright"
+ scale="bottomright"
+ />
+
+ <LayoutStatus id="standardframe.layoutstatus" x="11" y="-21" relaty="1" w="-43" relatw="1" h="18" exclude="{system}" />
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="6,23,-12,-48,0,0,1,1" />
+
+</groupdef>
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:NoStatus /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:NoStatus">
+
+ <group id="wasabi.frame.layout" x="0" y="0" w="0" h="-15" relatw="1" relath="1"/>
+ <layer
+ x="0" y="-27"
+ relaty="1"
+ image="wasabi.window2.bottomleft.nostatus"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-10"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="wasabi.window2.bottomcenter.nostatus"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-27"
+ relatx="1"
+ relaty="1"
+ image="wasabi.window2.bottomright.nostatus"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+ <script id="standardframe.script" file="scripts/standardframe.maki" param="6,23,-12,-33,0,0,1,1" />
+
+</groupdef>
+
+
+
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Modal /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.modal" inherit_group="wasabi.standardframe.nostatusbar" sysregion="1" xuitag="Wasabi:StandardFrame:Modal">
+ <sendparams target="wasabi.titlebar" x="4" w="-22" relatw="1" />
+ <hideobject target="MainMenu;MainMenu.inactive.inactive;MainMenu.button.bg"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom" resize="0" />
+</groupdef>
+
+
+<!-- =======================================================================================================
+
+ <Wasabi:StandardFrame:Static /> implementation
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.standardframe.static" inherit_group="wasabi.standardframe.nostatusbar" sysregion="1" xuitag="Wasabi:StandardFrame:Static">
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom" resize="0" />
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/standardframe/window_menus.xml b/Src/resources/skins/Winamp Modern/standardframe/window_menus.xml
new file mode 100644
index 00000000..305bf979
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/standardframe/window_menus.xml
@@ -0,0 +1,227 @@
+<!-- Common menu buttons -->
+
+<groupdef id="menu.button.normal" xuitag="menu:button_normal" rectrgn="1" h="16">
+ <!-- Dummy -->
+</groupdef>
+
+<groupdef id="menu.button.hover" xuitag="menu:button_hover" rectrgn="1" h="16">
+ <layer id="button.left" image="button.menu.hover.left" x="0" y="0"/>
+ <layer id="button.middle" image="button.menu.hover.middle" x="4" y="0" w="-7" relatw="1"/>
+ <layer id="button.right" image="button.menu.hover.right" x="-3" y="0" relatx="1"/>
+</groupdef>
+
+<groupdef id="menu.button.pressed" xuitag="menu:button_pressed" rectrgn="1" h="16">
+ <layer id="button.left" image="button.menu.pressed.left" x="0" y="0"/>
+ <layer id="button.middle" image="button.menu.pressed.middle" x="4" y="0" w="-7" relatw="1"/>
+ <layer id="button.right" image="button.menu.pressed.right" x="-3" y="0" relatx="1"/>
+</groupdef>
+
+<!-- End of menu buttons -->
+
+<groupdef id="menugroup.file" autowidthsource="File.txt" h="16">
+ <menu:button_normal id="File.up.btn" x="0" y="0"/>
+ <menu:button_pressed id="File.down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="File.hover.btn" x="0" y="0" visible="0"/>
+ <layer id="File.txt" image="txt.menu.file" x="0" y="0"/>
+ <Menu id="File.menu" menugroup="main" next="Play.menu" prev="Help.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:File" normal="File.up.btn" hover="File.hover.btn" down="File.down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.play" autowidthsource="Play.txt" h="16">
+ <menu:button_normal id="Play.up.btn" x="0" y="0"/>
+ <menu:button_pressed id="Play.down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="Play.hover.btn" x="0" y="0" visible="0"/>
+ <layer id="Play.txt" image="txt.menu.play" x="0" y="0"/>
+ <Menu id="Play.menu" menugroup="main" next="Options.menu" prev="File.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:Play" normal="Play.up.btn" hover="Play.hover.btn" down="Play.down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.options" autowidthsource="Options.txt" h="16">
+ <menu:button_normal id="Options.up.btn" x="0" y="0"/>
+ <menu:button_pressed id="Options.down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="Options.hover.btn" x="0" y="0" visible="0"/>
+ <layer id="Options.txt" image="txt.menu.options" x="0" y="0"/>
+ <Menu id="Options.menu" menugroup="main" next="View.menu" prev="Play.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:Options" normal="Options.up.btn" hover="Options.hover.btn" down="Options.down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.view" autowidthsource="View.txt" h="16">
+ <menu:button_normal id="View.up.btn" x="0" y="0"/>
+ <menu:button_pressed id="View.down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="View.hover.btn" x="0" y="0" visible="0"/>
+ <layer id="View.txt" image="txt.menu.view" x="0" y="0"/>
+ <Menu id="View.menu" menugroup="main" next="Help.menu" prev="Options.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:Windows" normal="View.up.btn" hover="View.hover.btn" down="View.down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.help" autowidthsource="Help.txt" h="16">
+ <menu:button_normal id="Help.up.btn" x="0" y="0"/>
+ <menu:button_pressed id="Help.down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="Help.hover.btn" x="0" y="0" visible="0"/>
+ <layer id="Help.txt" image="txt.menu.help" x="0" y="0"/>
+ <Menu id="Help.menu" menugroup="main" next="File.menu" prev="View.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:Help" normal="Help.up.btn" hover="Help.hover.btn" down="Help.down.btn" />
+</groupdef>
+
+<groupdef id="menu.group" rectrgn="1">
+ <group id="menugroup.file"/>
+ <group id="menugroup.play"/>
+ <group id="menugroup.options"/>
+ <group id="menugroup.view"/>
+ <group id="menugroup.help"/>
+ <script id="mainmenu.script" file="scripts/menualign.maki" param="menugroup.file,menugroup.play,menugroup.options,menugroup.view,menugroup.help"/>
+</groupdef>
+
+<groupdef id="menugroup.pe_file" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.file" x="0" y="0"/>
+ <Menu id="PE_File.menu" menugroup="pl" next="PE_Playlist.menu" prev="PE_Help.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:PE_File" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.pe_playlist" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.playlist" x="0" y="0"/>
+ <Menu id="PE_Playlist.menu" menugroup="pl" next="PE_Sort.menu" prev="PE_File.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:PE_Playlist" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.pe_sort" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.sort" x="0" y="0"/>
+ <Menu id="PE_Sort.menu" menugroup="pl" next="PE_Help.menu" prev="PE_Playlist.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:PE_Sort" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.pe_help" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.help" x="0" y="0"/>
+ <Menu id="PE_Help.menu" menugroup="pl" next="PE_File.menu" prev="PE_Sort.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:PE_Help" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menu.group.pl" rectrgn="1">
+ <group id="menugroup.pe_file"/>
+ <group id="menugroup.pe_playlist"/>
+ <group id="menugroup.pe_sort"/>
+ <group id="menugroup.pe_help"/>
+ <script id="mainmenu.script" file="scripts/menualign.maki" param="menugroup.pe_file,menugroup.pe_playlist,menugroup.pe_sort,menugroup.pe_help"/>
+</groupdef>
+
+<groupdef id="menugroup.ml_file" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.file" x="0" y="0"/>
+ <Menu id="ML_File.menu" menugroup="ml" next="ML_View.menu" prev="ML_Help.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:ML_File" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.ml_view" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.view" x="0" y="0"/>
+ <Menu id="ML_View.menu" menugroup="ml" next="ML_Help.menu" prev="ML_File.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:ML_View" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menugroup.ml_help" autowidthsource="label.txt" h="16">
+ <menu:button_normal id="up.btn" x="0" y="0"/>
+ <menu:button_pressed id="down.btn" x="0" y="0" visible="0"/>
+ <menu:button_hover id="hover.btn" x="0" y="0" visible="0"/>
+ <layer id="label.txt" image="txt.menu.help" x="0" y="0"/>
+ <Menu id="ML_Help.menu" menugroup="ml" next="ML_File.menu" prev="ML_View.menu" x="0" y="0" h="16" w="0" relatw="1" menu="WA5:ML_Help" normal="up.btn" hover="hover.btn" down="down.btn" />
+</groupdef>
+
+<groupdef id="menu.group.ml" rectrgn="1">
+ <group id="menugroup.ml_file"/>
+ <group id="menugroup.ml_view"/>
+ <group id="menugroup.ml_help"/>
+ <script id="mainmenu.script" file="scripts/menualign.maki" param="menugroup.ml_file,menugroup.ml_view,menugroup.ml_help"/>
+</groupdef>
+
+
+<groupdef id="wasabi.menubar" background="wasabi.frame.basetexture" h="17">
+ <layer
+ id="menubar.left"
+ x="0" y="0"
+ w="5" h="17"
+ image="wasabi.menubar.left"
+ />
+ <layer
+ id="menubar.center"
+ x="5" y="0"
+ w="-50" h="17"
+ relatw="1"
+ image="wasabi.menubar.center"
+ />
+ <layer
+ id="menubar.right"
+ x="-45" y="0"
+ w="45" h="17"
+ relatx="1"
+ image="wasabi.menubar.right"
+ />
+ <layer
+ id="menubar.right"
+ x="-45" y="0"
+ w="45" h="17"
+ relatx="1"
+ image="wasabi.menubar.right.overlay"
+ />
+ <layer
+ id="menubar.right.textoverlay"
+ x="-45" y="0"
+ w="45" h="17"
+ relatx="1"
+ image="wasabi.menubar.right.textoverlay"
+ />
+ <group id="menu.group" x="1" y="0"/>
+ <script id="mainmenuoverlay.script" file="scripts/mainmenuoverlay.maki" />
+</groupdef>
+
+<groupdef id="wasabi.menubar.pl" background="wasabi.frame.basetexture" h="17">
+ <layer
+ id="menubar.left"
+ x="0" y="0"
+ w="5" h="17"
+ image="wasabi.menubar.left"
+ />
+ <layer
+ id="menubar.center"
+ x="5" y="0"
+ w="-50" h="17"
+ relatw="1"
+ image="wasabi.menubar.center"
+ />
+ <layer
+ id="menubar.right"
+ x="-45" y="0"
+ w="45" h="17"
+ relatx="1"
+ image="wasabi.menubar.right"
+ />
+ <group id="menu.group.pl" x="1" y="0"/>
+</groupdef>
+
+<groupdef id="wasabi.menubar.ml" background="wasabi.frame.basetexture" h="17">
+ <layer
+ id="menubar.left"
+ x="0" y="0"
+ w="5" h="17"
+ image="wasabi.menubar.left"
+ />
+ <layer
+ id="menubar.center"
+ x="5" y="0"
+ w="-50" h="17"
+ relatw="1"
+ image="wasabi.menubar.center"
+ />
+ <layer
+ id="menubar.right"
+ x="-45" y="0"
+ w="45" h="17"
+ relatx="1"
+ image="wasabi.menubar.right"
+ />
+ <group id="menu.group.ml" x="1" y="0"/>
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/titlebar/titlebar.xml b/Src/resources/skins/Winamp Modern/titlebar/titlebar.xml
new file mode 100644
index 00000000..73b5fce5
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/titlebar/titlebar.xml
@@ -0,0 +1,120 @@
+<!-- =======================================================================================================
+
+ <Wasabi:TitleBar /> implmentation
+
+ Available parameters :
+
+ - All params for Group
+ - All params for Text
+
+ Required objects : (these objects are manipulated by the script, so overriding with script content inheritance
+ will require you to have these objects. Otherwise, you should be fine)
+
+ - Group id="wasabi.titlebar.streak.left"
+ - Group id="wasabi.titlebar.streak.right"
+ - Layer id="mousetrap" (this object shoud cover the content of the group)
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.titlebar" xuitag="Wasabi:TitleBar" embed_xui="window.titlebar.title">
+ <group
+ id="wasabi.titlebar.streak"
+ instanceid="wasabi.titlebar.streak.left"
+ x="0" y="3"
+ w="95" h="9"
+ />
+
+ <sendparams group="wasabi.titlebar.streak.left" target="titlebar.center.active" w="-20"/>
+ <sendparams group="wasabi.titlebar.streak.left" target="titlebar.center.inactive" w="-20"/>
+ <sendparams group="wasabi.titlebar.streak.left" target="titlebar.right.active" x="-10"/>
+ <sendparams group="wasabi.titlebar.streak.left" target="titlebar.right.inactive" x="-10"/>
+
+ <text
+ id="window.titlebar.title"
+ x="100" y="1"
+ w="50" h="15"
+ default=":componentname"
+ font="Arial" fontsize="14"
+ color="titlebar.text.color"
+ shadowcolor="0,0,0"
+ shadowx="1" shadowy="1"
+ bold="1"
+ inactiveAlpha="128"
+ forceuppercase="1"
+ />
+ <layer
+ id="window.titlebar.title.overlay"
+ x="100" y="4"
+ w="1" h="11"
+ image="wasabi.titlebar.overlay"
+ />
+
+ <group
+ id="wasabi.titlebar.streak"
+ instanceid="wasabi.titlebar.streak.right"
+ x="155" y="3"
+ w="-155" relatw="1" h="9"
+ sysregion="1"
+ />
+ <sendparams group="wasabi.titlebar.streak.right" target="titlebar.center.active" x="10" w="-20"/>
+ <sendparams group="wasabi.titlebar.streak.right" target="titlebar.center.inactive" x="10" w="-20"/>
+ <sendparams group="wasabi.titlebar.streak.right" target="titlebar.left.active" x="0"/>
+ <sendparams group="wasabi.titlebar.streak.right" target="titlebar.left.inactive" x="0"/>
+
+ <layer id="mousetrap" x="0" y="0" w="0" h="0" relatw="1" relath="1" move="1"/>
+ <script id="titlebar" file="scripts/titlebar.maki" param="wasabi.titlebar.streak.left;window.titlebar.title;wasabi.titlebar.streak.right" />
+</groupdef>
+
+
+
+<!-- =======================================================================================================
+
+ This implements a title streak bar. Dependencies are limited to the wasabi.titlebar group, in other words, if you remove
+ the sendparams in the above group, none of these objects are required.
+
+======================================================================================================== -->
+
+<groupdef id="wasabi.titlebar.streak">
+
+ <layer
+ id="titlebar.left.active"
+ x="0" y="1"
+ image="wasabi.titlebar.left.active"
+ inactiveAlpha="0"
+ />
+ <layer
+ id="titlebar.center.active"
+ x="10" y="1" w="-10"
+ relatw="1"
+ image="wasabi.titlebar.center.active"
+ inactiveAlpha="0"
+ />
+ <layer
+ id="titlebar.right.active"
+ x="-10" y="1"
+ relatx="1"
+ image="wasabi.titlebar.right.active"
+ inactiveAlpha="0"
+ />
+
+ <layer
+ id="titlebar.left.inactive"
+ x="0" y="1"
+ image="wasabi.titlebar.left.inactive"
+ activeAlpha="0"
+ />
+ <layer
+ id="titlebar.center.inactive"
+ x="10" y="1" w="-10"
+ relatw="1"
+ image="wasabi.titlebar.center.inactive"
+ activeAlpha="0"
+ />
+ <layer
+ id="titlebar.right.inactive"
+ x="-10" relatx="1" y="1"
+ image="wasabi.titlebar.right.inactive"
+ activeAlpha="0"
+ />
+</groupdef>
+
diff --git a/Src/resources/skins/Winamp Modern/window/Scrollgrips.png b/Src/resources/skins/Winamp Modern/window/Scrollgrips.png
new file mode 100644
index 00000000..0884a74c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/Scrollgrips.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/background.png b/Src/resources/skins/Winamp Modern/window/background.png
new file mode 100644
index 00000000..e03e91ea
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/background.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/main.png b/Src/resources/skins/Winamp Modern/window/main.png
new file mode 100644
index 00000000..07816c80
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/main.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/main2.png b/Src/resources/skins/Winamp Modern/window/main2.png
new file mode 100644
index 00000000..1710e224
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/main2.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu.png b/Src/resources/skins/Winamp Modern/window/menu.png
new file mode 100644
index 00000000..763e64db
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/file.png b/Src/resources/skins/Winamp Modern/window/menu/file.png
new file mode 100644
index 00000000..f17698b6
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/file.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/help.png b/Src/resources/skins/Winamp Modern/window/menu/help.png
new file mode 100644
index 00000000..5ac81bda
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/help.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/options.png b/Src/resources/skins/Winamp Modern/window/menu/options.png
new file mode 100644
index 00000000..bef075f8
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/options.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/play.png b/Src/resources/skins/Winamp Modern/window/menu/play.png
new file mode 100644
index 00000000..7ed4f529
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/play.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/playlist.png b/Src/resources/skins/Winamp Modern/window/menu/playlist.png
new file mode 100644
index 00000000..5591c600
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/playlist.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/sort.png b/Src/resources/skins/Winamp Modern/window/menu/sort.png
new file mode 100644
index 00000000..e27e9304
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/sort.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu/view.png b/Src/resources/skins/Winamp Modern/window/menu/view.png
new file mode 100644
index 00000000..f20d005c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu/view.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/menu_elements.png b/Src/resources/skins/Winamp Modern/window/menu_elements.png
new file mode 100644
index 00000000..ca4ae9b4
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/menu_elements.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/mlwindow.png b/Src/resources/skins/Winamp Modern/window/mlwindow.png
new file mode 100644
index 00000000..9f48d2cd
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/mlwindow.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/plwindow.png b/Src/resources/skins/Winamp Modern/window/plwindow.png
new file mode 100644
index 00000000..daeeb27c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/plwindow.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/scrollbars.png b/Src/resources/skins/Winamp Modern/window/scrollbars.png
new file mode 100644
index 00000000..95cc2eea
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/scrollbars.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/sui.png b/Src/resources/skins/Winamp Modern/window/sui.png
new file mode 100644
index 00000000..fa200ba5
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/sui.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/titlebar.png b/Src/resources/skins/Winamp Modern/window/titlebar.png
new file mode 100644
index 00000000..4f2138c6
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/titlebar.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/titlebar_overlay.png b/Src/resources/skins/Winamp Modern/window/titlebar_overlay.png
new file mode 100644
index 00000000..7aafa18c
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/titlebar_overlay.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/wasabi_window.PNG b/Src/resources/skins/Winamp Modern/window/wasabi_window.PNG
new file mode 100644
index 00000000..a1f23a72
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/wasabi_window.PNG
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/window/window-elements.png b/Src/resources/skins/Winamp Modern/window/window-elements.png
new file mode 100644
index 00000000..66172be8
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/window/window-elements.png
Binary files differ
diff --git a/Src/resources/skins/Winamp Modern/xml/albumart.xml b/Src/resources/skins/Winamp Modern/xml/albumart.xml
new file mode 100644
index 00000000..663ac71b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/albumart.xml
@@ -0,0 +1,21 @@
+<container id="winamp.albumart" name="Album Art" default_visible="1" nomenu="1" >
+
+<groupdef id="albumart.content.group">
+
+ <AlbumArt
+ id="waaa" fitparent="1" move="1"
+ />
+
+ <script file="scripts/albumart.maki" param="waaa" />
+
+</groupdef>
+
+<layout id="normal" minimum_w="107" minimum_h="60" h="164" w="164">
+ <Wasabi:Standardframe:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="albumart.content.group"
+ />
+
+</layout>
+
+</container> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/color-presets.xml b/Src/resources/skins/Winamp Modern/xml/color-presets.xml
new file mode 100644
index 00000000..2c2e5bbb
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/color-presets.xml
@@ -0,0 +1,1977 @@
+<gammaset id="Default">
+ <gammagroup id="Backgrounds" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Text" value="-3897,-3774,-2394" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonStatus" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Led" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Display" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListSelBackground" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Good Ol' Winamp">
+ <gammagroup id="Backgrounds" value="-2848,-2848,-2368" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2880,-2880,-2336" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-2880,-2880,-2336" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="2220,2220,2220" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-2848,-2848,-2368" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="192,-128,-1632" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="1152,608,-1920" gray="2" boost="0" />
+ <gammagroup id="Text" value="-4096,1024,-4096" gray="1" boost="1" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-484,-356,-356" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="0,128,128" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="-484,-356,-356" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="0,128,128" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="1696,2976,-2464" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-4096,-1024,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="1696,2976,-2464" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-484,-356,-356" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="0,128,128" gray="2" boost="0" />
+ <gammagroup id="Led" value="1696,2976,-2464" gray="0" boost="0" />
+ <gammagroup id="Display" value="-2432,-2432,-1696" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2432,-2432,-1696" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-4096,0,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-4096,0,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-4096,0,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-4096,0,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-4096,0,-4096" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="1696,2976,-2464" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="200,300,300" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-1096,-1096,-1096" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="1200,1300,1300" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="2700,2800,2800" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-4096,1024,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-4096,1024,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="4096,4096,4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-4096,-4096,1400" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="2400,2400,2400" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-2848,-2848,-2368" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="-4096,3727,-4096" gray="1" boost="1" />
+</gammaset>
+
+<gammaset id="Blues">
+ <gammagroup id="Backgrounds" value="-3142,-2689,-1081" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="-880,-478,502" gray="1" boost="0" />
+ <gammagroup id="Menubar" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="-3820,-2664,0" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-3619,-3116,-2262" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="-428,0,552" gray="0" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="0,301,929" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="301,477,904" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="0,251,1206" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="1055,2387,3568" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="ButtonStatus" value="0,427,829" gray="0" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-553,-277,276" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="0,301,929" gray="0" boost="0" />
+ <gammagroup id="Led" value="0,879,2010" gray="0" boost="0" />
+ <gammagroup id="Display" value="-3142,-2689,-1081" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-3142,-2689,-1081" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-503,-176,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="-503,-176,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-503,-176,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-503,-176,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-503,-176,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="-478,0,1030" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="804,1457,3090" gray="0" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-1056,-553,276" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-2804,-1457,2090" gray="0" boost="1" />
+ <gammagroup id="TextDark" value="2060,2789,4096" gray="0" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="-1182,0,2035" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-3182,-2880,-880" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="2010,2739,3819" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-3142,-2689,-1081" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="BubbleGum">
+ <gammagroup id="Backgrounds" value="2412,-453,-478" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="2060,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="4096,0,-553" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="4096,1356,1708" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="4096,1256,-176" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="4096,-1910,-1006" gray="0" boost="0" />
+ <gammagroup id="Text" value="-2558,-3220,-3220" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="2387,527,-151" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="4096,-1910,-1006" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="2387,527,-151" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="4096,-1910,-1006" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="4096,-2539,-1006" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="1155,-2740,-4096" gray="1" boost="1" />
+ <gammagroup id="ButtonStatus" value="4096,-1408,-4071" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="4096,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="4096,804,0" gray="0" boost="0" />
+ <gammagroup id="Led" value="3844,-4096,427" gray="0" boost="0" />
+ <gammagroup id="Display" value="3945,-2312,-754" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="3945,-2312,-754" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,-1885" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,-1885" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,-1885" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,-1885" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,-1885" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="2663,-1835,-4096" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="3945,-2312,-754" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="2186,-176,-1383" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="2412,-478,-3820" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListText" value="-2011,-2740,-2765" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="402,-930,-553" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="1909,778,2739" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="1457,-930,-905" gray="0" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="2412,-453,-478" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="-2126,-3562,-4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Citrus">
+ <gammagroup id="Backgrounds" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="3036,0,-3596" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Text" value="-1682,-3339,-4096" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" gray="0" boost="1" />
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="3872,288,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="3872,288,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="3872,288,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Led" value="3872,288,-4096" gray="2" boost="0" />
+ <gammagroup id="Display" value="4064,480,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="4064,480,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="3872,288,-4096" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1596,-2332,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-4096,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="4064,480,-4096" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="3064,480,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-630,-2126,-4096" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Clover">
+ <gammagroup id="Backgrounds" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="-2966,-176,-1433" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="-2966,-176,-1433" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Text" value="-4096,-2984,-3363" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-2966,-176,-1433" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="-2966,-176,-1433" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2966,-176,-1433" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Led" value="-2966,-176,-1433" gray="2" boost="0" />
+ <gammagroup id="Display" value="-2966,-176,-1433" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2966,-176,-1433" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="-3242,-553,-1508" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-2966,-176,-1433" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-2966,-176,-1433" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-3159,-1520,-2458" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-4096,-4096,-4096" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Copper">
+ <gammagroup id="Backgrounds" value="-1856,-1856,-1856" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="-832,-1216,-1504" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-832,-1216,-1504" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="320,384,544" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="-832,-1216,-1504" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="-832,-1216,-1504" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="16,-915,-1520" gray="0" boost="0" />
+ <gammagroup id="Text" value="449,-1729,-3410" gray="2" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-416,-1248,-1856" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="16,-915,-1520" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="-416,-1248,-1856" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="16,-915,-1520" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-416,-1248,-1856" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="16,-915,-1520" gray="0" boost="0" />
+ <gammagroup id="Led" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="Display" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="136,-1856,-3728" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-832,-1216,-1504" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-1536,-2756,-3628" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="-992,-2272,-3776" gray="2" boost="0" />
+ <gammagroup id="ListTextSelected" value="992,32,-704" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="992,32,-704" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="3136,-256,-3328" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-992,-2272,-3776" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="-992,-2272,-3776" gray="2" boost="0" />
+ <gammagroup id="Tooltips Background" value="-998,-2316,-3147" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Dymunds">
+ <gammagroup id="Backgrounds" value="351,-277,-729" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="175,0,-252" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="251,-202,150" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="0,0,4" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="351,-277,-729" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="0,-202,276" gray="1" boost="0" />
+ <gammagroup id="Text" value="-3329,-3207,-2915" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="276,452,1382" gray="1" boost="1" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="276,452,1382" gray="1" boost="1" />
+ <gammagroup id="ButtonGlow" value="276,452,1382" gray="1" boost="1" />
+ <gammagroup id="ButtonsActive" value="-729,-1458,-779" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-729,-1458,-779" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1583,603,-352" gray="1" boost="0" />
+ <gammagroup id="Led" value="1936,451,1890" gray="2" boost="0" />
+ <gammagroup id="Display" value="251,-202,150" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="251,-202,150" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="1936,451,1890" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="351,-277,-729" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="2789,2261,150" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="351,-277,-729" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="-478,-1659,-2790" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-277,0,653" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="2336,552,-880" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-4096,-3519,-2614" gray="1" boost="1" />
+ <gammagroup id="ListBackground" value="251,-202,150" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="251,-202,150" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="-4096,-3519,-2614" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="-262,-784,-1366" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-4096,-4085,-4096" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Grapefruit">
+ <gammagroup id="Backgrounds" value="2060,251,-1483" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2061,-2941,-2212" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-2061,-2941,-2212" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="4096,2713,-1483" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="3417,1105,-1483" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="1030,376,-553" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="1030,376,-553" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="1482,904,-176" gray="1" boost="0" />
+ <gammagroup id="Text" value="-2605,-3315,-2700" gray="1" boost="1" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" gray="0" boost="1" />
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="904,502,-202" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="2060,251,-1483" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="2487,1155,-227" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="3090,678,2085" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-2061,-2941,-2212" gray="1" boost="1" />
+ <gammagroup id="ButtonStatus" value="-880,-2564,-779" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="-930,-2941,-1056" gray="1" boost="1" />
+ <gammagroup id="Scrollbar Buttons" value="2060,251,-1483" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="2487,1155,-227" gray="1" boost="0" />
+ <gammagroup id="Led" value="2603,296,2400" gray="2" boost="0" />
+ <gammagroup id="Display" value="-1032,-2414,-1133" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-1032,-2414,-1133" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,-553,-1860" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,-553,-1860" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,-553,-1860" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,-528,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,-553,-1860" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="2603,296,2400" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2061,-2941,-2212" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="1206,477,-1458" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="3794,2236,-679" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,-227,-704" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1860,-2991,-2011" gray="1" boost="1" />
+ <gammagroup id="ListTextCurrent" value="2060,251,-1483" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-1860,-2991,-2011" gray="1" boost="1" />
+ <gammagroup id="ListSelBackground" value="2060,251,-1483" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-2161,-3242,-2244" gray="1" boost="1" />
+ <gammagroup id="Tooltips Text" value="4096,2968,-499" gray="1" boost="1" />
+</gammaset>
+
+<gammaset id="Grapes">
+ <gammagroup id="Backgrounds" value="-1383,-2438,-428" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2714,-4096,-2237" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="502,0,879" gray="1" boost="0" />
+ <gammagroup id="Menubar" value="-2212,-3368,-1684" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="3216,1784,4096" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="-453,-2287,879" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="502,0,879" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="502,0,879" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="954,402,1331" gray="1" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="502,0,879" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="1105,402,1457" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="502,0,879" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="1105,402,1457" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="1784,0,2437" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="0,-1533,577" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-729,-2187,0" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="502,0,879" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1030,527,1432" gray="0" boost="0" />
+ <gammagroup id="Led" value="2914,-578,3693" gray="0" boost="0" />
+ <gammagroup id="Display" value="-1383,-2438,-428" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-1383,-2438,-428" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-377,-1031,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-377,-1031,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-377,-1031,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-377,-1031,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-377,-1031,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="2914,-578,3693" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2539,-4096,-2061" gray="0" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-252,-729,2035" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="3216,1784,4096" gray="0" boost="1" />
+ <gammagroup id="TextDark" value="3241,2362,4096" gray="0" boost="1" />
+ <gammagroup id="ListText" value="-578,-1156,427" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="1708,1407,2336" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-4096,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="ListSelBackground" value="-1383,-2438,-428" gray="1" boost="1" />
+ <gammagroup id="ListColumnText" value="2990,1658,4096" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-1383,-2438,-428" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-4096,-4096,-4096" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Halloween">
+ <gammagroup id="Backgrounds" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="1764,-780,-4096" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="1764,-780,-4096" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="-1999,-1999,-1999" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="1764,-780,-4096" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="1764,-780,-4096" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="1764,-780,-4096" gray="1" boost="1" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="1764,-780,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="1764,-780,-4096" gray="1" boost="1" />
+ <gammagroup id="Buttons2" value="864,80,-2096" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="864,80,-2096" gray="1" boost="1" />
+ <gammagroup id="ButtonGlow" value="4064,980,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="4064,-980,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="4064,980,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="1764,-780,-4096" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1764,-780,-4096" gray="1" boost="1" />
+ <gammagroup id="Led" value="4064,980,-4096" gray="2" boost="0" />
+ <gammagroup id="Display" value="4064,980,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="3064,180,-3096" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="1" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="1" />
+ <gammagroup id="ProgressBar" value="2764,80,-3096" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="4064,980,-4096" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="2064,-980,-4096" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="4064,1980,-3096" gray="1" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="4096,-377,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="4064,1583,-4096" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="0,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="4064,980,-4096" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="2576,-701,-4096" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-3000,-3000,-3000" gray="2" boost="1" />
+</gammaset>
+
+<gammaset id="HaXb0x">
+ <gammagroup id="Backgrounds" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-1400,-1400,-1400" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="2072,2872,-4032" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-2600,-2600,-2600" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="2596,4096,-4096" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-2480,-2480,-2480" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-564,640,-2432" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="-64,640,-2432" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="300,1240,-2332" gray="2" boost="1" />
+ <gammagroup id="Text" value="-616,4096,-4096" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-64,640,-2432" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="300,1240,-2332" gray="2" boost="1" />
+ <gammagroup id="Buttons2" value="-64,640,-2432" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="300,1240,-2332" gray="2" boost="1" />
+ <gammagroup id="ButtonGlow" value="2596,2976,-3464" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-2950,-376,-3964" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-64,640,-2432" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-64,640,-2432" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="300,1240,-2332" gray="2" boost="1" />
+ <gammagroup id="Led" value="3872,3872,-4032" gray="0" boost="0" />
+ <gammagroup id="Display" value="3872,3872,-4032" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="3872,3872,-4032" gray="0" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,-3000" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,-3000" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,-3000" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,-3000" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,-3000" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="1796,2576,-2464" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="1400,2800,-2300" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-600,400,-4096" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="2400,3800,-1300" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="2500,4096,-2000" gray="1" boost="1" />
+ <gammagroup id="ListText" value="3996,4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="4096,4096,4096" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="4096,4096,4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-268,1984,-3040" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="2500,4096,-2000" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="-268,1984,-3040" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-3000,-3000,-3000" gray="2" boost="1" />
+</gammaset>
+
+<gammaset id="Love Machine">
+ <gammagroup id="Backgrounds" value="0,-4096,-1848" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="1984,-3040,-832" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="0,-4096,-1848" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="2400,340,1400" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="0,-4096,-1848" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="0,-4096,-1848" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Led" value="2222,922,1622" gray="2" boost="0" />
+ <gammagroup id="Display" value="1984,-3040,-832" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="1984,-3040,-832" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="2222,922,1622" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="3096,2096,2596" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="4096,4096,4096" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,-4096,-1848" gray="2" boost="1" />
+ <gammagroup id="TextDark" value="4096,4096,4096" gray="1" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-844,-844,-844" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="4096,-779,0" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="1984,-3040,-832" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="1984,-3040,-832" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-333,-4096,-2138" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="MonoDark">
+ <gammagroup id="Backgrounds" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="550,550,550" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-2200,-2200,-2200" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="3096,3096,3096" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-1999,-1999,-1999" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="-333,-333,-333" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-255,-255,-255" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="-255,-255,-255" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="1222,1222,1222" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-999,-999,-999" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2000,-2000,-2000" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-255,-255,-255" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Led" value="1222,1222,1222" gray="2" boost="0" />
+ <gammagroup id="Display" value="-2896,-2896,-2896" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2896,-2896,-2896" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="255,255,255" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="500,500,500" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-550,-550,-550" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="1500,1500,1500" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="4096,4096,4096" gray="1" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-990,-990,-990" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-1096,-1096,-1096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="2222,2222,2222" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="NightVision">
+ <gammagroup id="Backgrounds" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="-3619,778,351" gray="1" boost="0" />
+ <gammagroup id="Menubar" value="-2200,-2200,-2200" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,3417,4096" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-1999,-1999,-1999" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-905,753,1507" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="-779,753,1231" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Text" value="-4096,-327,0" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Buttons2" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="ButtonGlow" value="1222,1222,1222" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-999,-999,-999" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2941,-1332,-955" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Led" value="-3619,1532,-302" gray="0" boost="0" />
+ <gammagroup id="Display" value="-3418,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-3418,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-880,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-880,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-880,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="-3619,829,-302" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2463,1881,4096" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-302,3214,3693" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-302,2914,3693" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-4096,-327,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1257,3920,4045" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-679,3719,4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-3418,452,980" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-4018,-1452,-880" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="-2966,3769,4096" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="-1259,3609,4096" gray="1" boost="1" />
+</gammaset>
+
+<gammaset id="Popcorn">
+ <gammagroup id="Backgrounds" value="829,603,351" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="175,0,-252" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="175,0,-252" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="-553,-1734,-2840" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="3869,2764,1457" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="1583,603,-352" gray="1" boost="0" />
+ <gammagroup id="Text" value="-2639,-3720,-4096" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="1583,603,-352" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="402,251,0" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="1583,603,-352" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="1985,954,-327" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-327,-2689,-2438" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-327,-1156,-2438" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1583,603,-352" gray="1" boost="0" />
+ <gammagroup id="Led" value="4096,-855,-4096" gray="0" boost="0" />
+ <gammagroup id="Display" value="3693,2362,829" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="3693,2362,829" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="2789,1105,-352" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-704,-1458,-2111" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="980,-202,-1182" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-704,-1458,-2111" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-478,-1659,-2790" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-2639,-3720,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="2739,552,-880" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="3317,2035,1482" gray="1" boost="1" />
+ <gammagroup id="ListBackground" value="3995,3191,1859" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-1000,-1500,-2000" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="753,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="3241,1757,-380" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-2639,-3720,-4096" gray="1" boost="1" />
+</gammaset>
+
+<gammaset id="Powerpuff!">
+ <gammagroup id="Backgrounds" value="527,1784,-1558" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="703,402,-1684" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-3318,-1131,502" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="4096,4096,1507" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="0,1231,-2438" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="703,402,-1684" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="703,402,-1684" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="653,2035,-2488" gray="1" boost="0" />
+ <gammagroup id="Text" value="-3268,-2723,-1658" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="-1709,-176,1960" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="-1709,1080,1960" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="-1709,-176,1960" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-1709,603,1960" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="3945,3593,-1458" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-3418,-578,-2488" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="980,3090,0" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="703,402,-1684" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="0,1206,-2036" gray="1" boost="0" />
+ <gammagroup id="Led" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Display" value="1608,3618,-553" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="1608,3618,1553" gray="0" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,-2463" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,-2463" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,-2463" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="527,1557,-3242" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1709,-176,1960" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-4000,-2000,0" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-4000,-2000,0" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-1709,3543,-2287" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="3065,3191,-1835" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="3065,3191,-1835" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-1709,-176,1960" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-1709,-176,1960" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="-2413,-1483,0" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="527,1784,-1558" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="-2802,-618,-3444" gray="1" boost="1" />
+</gammaset>
+
+<gammaset id="Toxic">
+ <gammagroup id="Backgrounds" value="-1182,-855,-1785" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="-578,-151,-1182" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="-1634,226,-3770" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-2187,-1961,-4021" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="2362,3693,1206" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-2187,-1961,-4021" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="427,804,-528" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="427,929,-227" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="-202,251,-1207" gray="1" boost="0" />
+ <gammagroup id="Text" value="-428,0,-654" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-1760,-1458,-4021" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="-930,-403,-3192" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="-1760,-1458,-4021" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-930,-403,-3192" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="1206,1834,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="1557,2161,-704" gray="0" boost="1" />
+ <gammagroup id="ButtonStatus" value="351,1633,-3192" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="2814,4020,0" gray="0" boost="1" />
+ <gammagroup id="Scrollbar Buttons" value="-1760,-1458,-4021" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-930,-403,-3192" gray="0" boost="0" />
+ <gammagroup id="Led" value="3467,2035,-3091" gray="0" boost="0" />
+ <gammagroup id="Display" value="-2187,-1961,-4021" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2187,-1961,-4021" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-352,0,-830" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="-352,0,-830" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-352,0,-830" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-1006,0,-1684" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-578,0,-1684" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="929,1683,-4021" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="1809,2336,0" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-679,-352,-1810" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="-2262,-1885,-3569" gray="0" boost="1" />
+ <gammagroup id="ListText" value="-428,0,-654" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-377,0,-679" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="477,1457,-1483" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="-2187,-1961,-4021" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-2187,-1961,-4021" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="-2890,-2011,-2740" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-1182,-855,-1785" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-2187,-1961,-4021" gray="1" boost="0" />
+</gammaset>
+
+<gammaset id="Uranium">
+ <gammagroup id="Backgrounds" value="-640,-96,-608" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2112,-2112,-2112" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-2080,-1600,-1824" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="96,96,96" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-1088,-512,-288" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="-1088,-512,-288" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="-1856,-1408,-1248" gray="2" boost="0" />
+ <gammagroup id="Text" value="-214,2367,-782" gray="2" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-1088,-512,-288" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="-1856,-1408,-1248" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="-1088,-512,-288" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-1856,-1408,-1248" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="-1920,3872,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="-672,32,288" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="-1920,3872,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="-1920,3872,-4096" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-1088,-512,-288" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-1856,-1408,-1248" gray="2" boost="0" />
+ <gammagroup id="Led" value="-1920,2872,-3096" gray="2" boost="0" />
+ <gammagroup id="Display" value="2400,2336,2816" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="2400,2336,2816" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-1920,0,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplayVis" value="-1920,0,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-1920,0,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-1920,0,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-1920,0,-4096" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="-1920,3872,-4096" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2112,-2112,-2112" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-340,-16,-308" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="1640,2196,1608" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="-1920,3872,-4096" gray="2" boost="0" />
+ <gammagroup id="ListTextSelected" value="-192,4064,-1792" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-1088,-512,-288" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="2400,2336,2816" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-2592,-2560,-2624" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="-1920,3872,-4096" gray="2" boost="0" />
+ <gammagroup id="Tooltips Background" value="-640,-96,-608" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="-3087,-3467,-3016" gray="2" boost="1" />
+</gammaset>
+
+<gammaset id="Varsity">
+ <gammagroup id="Backgrounds" value="150,0,-176" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="150,150,150" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-2237,-3870,-3820" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="4096,1884,-3669" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="-805,-880,-1332" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="150,0,-176" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="150,0,-176" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="577,276,-252" gray="1" boost="0" />
+ <gammagroup id="Text" value="-2784,-2922,-3751" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="150,0,-176" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="150,0,-176" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-737,-2826,-3040" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="-1433,-3167,-3167" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-1433,-3167,-3167" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="-604,-2765,-2790" gray="1" boost="1" />
+ <gammagroup id="Scrollbar Buttons" value="150,0,-176" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="351,201,-202" gray="1" boost="0" />
+ <gammagroup id="Led" value="-737,-2826,-3040" gray="2" boost="0" />
+ <gammagroup id="Display" value="-805,-880,-1332" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-805,-880,-1332" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="-1433,-3167,-3167" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1307,-3368,-3393" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-805,-880,-1332" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-151,-2513,-2463" gray="1" boost="1" />
+ <gammagroup id="ListText" value="0,0,-553" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="2161,-604,-4096" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="2161,-176,-4096" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="-805,-880,-1332" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-805,-880,-1332" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="678,-3745,-3770" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="-2237,-3870,-3820" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,3205,-1223" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Bloods">
+ <gammagroup id="Backgrounds" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="555,-3921,-2840" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="0,-3921,-2840" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Text" value="-2470,-4096,-4081" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="678,-3443,-3016" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="0,-3921,-2840" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="0,-3921,-2840" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Led" value="904,-3921,-3142" gray="2" boost="0" />
+ <gammagroup id="Display" value="0,-3421,-2440" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="0,-3921,-2840" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="829,-3644,-3267" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="1759,-1232,-1483" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="0,-3921,-2840" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="0,-3921,-2840" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="MonoLite">
+ <gammagroup id="Backgrounds" value="-440,-440,-440" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Text" value="-3652,-3652,-3652" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="550,550,550" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-880,-880,-880" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="220,220,220" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Led" value="190,190,190" gray="2" boost="0" />
+ <gammagroup id="Display" value="1110,1110,1110" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-1110,-1110,-1110" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-3770,-3770,-3770" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-1558,-1558,-1558" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-990,-990,-990" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-990,-990,-990" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-440,-440,-440" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-4085,-4096,-4096" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Gold Rush">
+ <gammagroup id="Backgrounds" value="422,-132,-2056" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="655,451,-1035" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="655,451,-1035" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="1851,1268,-365" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="889,539,-569" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="889,539,-948" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="1151,685,335" gray="2" boost="0" />
+ <gammagroup id="Text" value="-3329,-3728,-3713" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="655,451,-1035" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="-744,-1298,-2610" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="422,-132,-2056" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,189,-511" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="830,655,-540" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-423,-2347,-2172" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-423,-2347,-2172" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="801,364,-948" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="947,451,-277" gray="2" boost="0" />
+ <gammagroup id="Led" value="714,-1123,-1035" gray="2" boost="0" />
+ <gammagroup id="Display" value="-715,-1502,-2726" gray="2" boost="1" />
+ <gammagroup id="DisplaySongtickerBG" value="-686,-1444,-3164" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,-715" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,-715" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,-715" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,-715" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,-482" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="626,-2347,-2172" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,-336,-1735" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,-394,-1444" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,-394,-1735" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,-686" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="0,0,-452" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-715,-1502,-2726" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-715,-1502,-2726" gray="2" boost="1" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="889,539,-948" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Jeans">
+ <gammagroup id="Backgrounds" value="-2843,-2581,-2027" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="0,-1473,-3193" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="-1823,-4096,-2872" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="3600,-132,-1414" gray="0" boost="1" />
+ <gammagroup id="ButtonsActive" value="-861,-4096,-2843" gray="0" boost="1" />
+ <gammagroup id="ButtonStatus" value="-1298,-4096,-2960" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Led" value="-219,218,714" gray="2" boost="0" />
+ <gammagroup id="Display" value="-1560,-3339,-2522" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2843,-2581,-2027" gray="0" boost="1" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="0,189,568" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,189,568" gray="0" boost="1" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="2375,2638,3425" gray="0" boost="1" />
+ <gammagroup id="ListText" value="-598,-219,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-2027,-365,0" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-1881,-394,-686" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="-1560,-3339,-2522" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-1094,-482,0" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="1705,2142,2405" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-2289,-4096,-3076" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="3279,3717,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Bitter Lemon">
+ <gammagroup id="Backgrounds" value="597,481,510" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="-512,0,-2528" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-512,0,-2528" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="1376,1376,1376" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="3804,3950,4064" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="4064,4064,4064" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="-160,-160,-160" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="3136,2240,1472" gray="0" boost="0" />
+ <gammagroup id="Text" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="239,326,355" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="-336,685,-2231" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="239,326,355" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-336,685,-2231" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="2144,3040,-1280" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-656,335,-2785" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="1763,2900,-3040" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="-1792,-1344,-3584" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="239,326,355" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-336,685,-2231" gray="1" boost="0" />
+ <gammagroup id="Led" value="1443,2463,-1504" gray="2" boost="0" />
+ <gammagroup id="Display" value="2112,3040,-1504" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="0,510,772" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-4096,-3892,-3718" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="-4096,-3892,-3718" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-4096,-3892,-3718" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-686,0,-1504" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-4096,-3892,-3718" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="2112,3040,-482" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,160,510" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="1728,2880,3200" gray="1" boost="1" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="1056,-384,544" gray="1" boost="0" />
+ <gammagroup id="ListText" value="-4096,-4009,-3922" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-4096,-3339,-1677" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-3776,-3164,-1356" gray="0" boost="1" />
+ <gammagroup id="ListBackground" value="2304,3168,-960" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="976,1384,1647" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="-3328,-2272,-1952" gray="1" boost="0" />
+ <gammagroup id="Tooltips Background" value="-190,830,-1504" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Blue Martini">
+ <gammagroup id="Backgrounds" value="-1152,-1024,32" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-1376,-1728,-2112" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-1376,-1728,-2112" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="4096,3600,2871" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="-640,-448,1696" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="1024,288,-512" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="1588,743,0" gray="0" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="1024,288,-512" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="1588,743,0" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="1024,288,-512" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="1588,743,0" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="1920,2112,3552" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonStatus" value="1920,2112,3552" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="1920,2112,3552" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="1024,288,-512" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1588,743,0" gray="0" boost="0" />
+ <gammagroup id="Led" value="1920,2112,3552" gray="2" boost="0" />
+ <gammagroup id="Display" value="539,539,801" gray="1" boost="1" />
+ <gammagroup id="DisplaySongtickerBG" value="597,685,1122" gray="1" boost="1" />
+ <gammagroup id="DisplayElements" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="DisplayVis" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="1920,2112,3552" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1152,-1024,32" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="1024,288,-512" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="ListTextSelected" value="-2318,-2114,-1035" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-1735,-1648,-1210" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="539,539,889" gray="1" boost="1" />
+ <gammagroup id="ListSelBackground" value="-219,-161,218" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="-3392,-3392,-3392" gray="2" boost="0" />
+ <gammagroup id="Tooltips Background" value="801,0,-394" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="City Night">
+ <gammagroup id="Backgrounds" value="-1344,-1344,-1344" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="Titlebar" value="96,96,96" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="1096,1096,1096" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="-1500,-1500,-1500" gray="2" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="-448,-448,-448" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="-1500,-1500,-1500" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="-448,-448,-448" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-1500,-1500,-1500" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="4064,1152,-3264" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="0,-511,-2260" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="1792,1005,-1269" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="-4096,-3105,-3280" gray="0" boost="1" />
+ <gammagroup id="Scrollbar Buttons" value="-448,-448,-448" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-1500,-1500,-1500" gray="2" boost="0" />
+ <gammagroup id="Led" value="2988,1152,-3264" gray="2" boost="0" />
+ <gammagroup id="Display" value="-2700,-2700,-2700" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2500,-2500,-2500" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-248,-132,0" gray="2" boost="0" />
+ <gammagroup id="DisplayVis" value="-248,-132,0" gray="2" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-248,-132,0" gray="2" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,-569,-2493" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,-569,-2493" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="1559,451,-2318" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2027,-1823,-1997" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-423,-394,-365" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="1297,-161,-2522" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="860,0,-3264" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="2400,2336,2816" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-2592,-2560,-2624" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="0,-190,-1240" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Bullfrog">
+ <gammagroup id="Backgrounds" value="-256,704,-4064" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="-1920,-1312,-4096" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="160,1792,-1706" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-132,0,422" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="-256,704,-4064" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="-423,0,-2260" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="333,333,333" gray="1" boost="0" />
+ <gammagroup id="Text" value="-3280,-2668,-3805" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="481,772,1851" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="-161,0,1268" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="481,772,1851" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-161,0,1268" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="1880,3717,-4064" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-4096,-1024,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-4096,-1024,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="481,772,1851" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-161,0,1268" gray="0" boost="0" />
+ <gammagroup id="Led" value="1938,2463,1384" gray="2" boost="0" />
+ <gammagroup id="Display" value="451,1996,-3222" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="2496,4032,-2784" gray="0" boost="0" />
+ <gammagroup id="DisplayElements" value="222,222,222" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="222,222,222" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="222,222,222" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="2" boost="1" />
+ <gammagroup id="DisplaySongtickerShade" value="222,222,222" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="864,896,992" gray="2" boost="1" />
+ <gammagroup id="BGOverlayDark" value="-256,704,-4064" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-540,0,-1589" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-256,704,-4064" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="-1920,-715,-4096" gray="0" boost="0" />
+ <gammagroup id="ListSelBackground" value="-256,704,-4064" gray="0" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-773,0,-2172" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Fort Knox">
+ <gammagroup id="Backgrounds" value="-864,-896,-2080" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="-864,-896,-1760" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="-190,-219,-1881" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-512,-512,-1414" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="-1152,-1152,-2304" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,-1298" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,0,-1210" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="-1152,-1152,-2304" gray="1" boost="0" />
+ <gammagroup id="Text" value="0,0,-482" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="0,0,-1376" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="189,160,-773" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="-352,-384,-1376" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="189,160,-773" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-352,-384,-1376" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-977,-1006,-2464" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="2288,2259,-1440" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-219,-248,-1210" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="189,160,-773" gray="1" boost="0" />
+ <gammagroup id="Led" value="1822,1822,-1440" gray="2" boost="0" />
+ <gammagroup id="Display" value="-928,-960,-2080" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-928,-960,-2080" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,-569" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,-569" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,-569" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,-569" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,-569" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="1822,1822,-1440" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-511,-511,-1852" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-394,-365,-1240" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,0,-569" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-288,-288,-1792" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-3105,-3076,-3543" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="-288,-288,-1792" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-288,-288,-1792" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-3018,-3076,-4096" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="2609,2609,0" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Raspberry Club">
+ <gammagroup id="Backgrounds" value="-704,-3680,-2560" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="306,-1056,-3222" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="393,0,-423" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-1408,-3712,-2848" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="3687,2080,-2560" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="-96,-3616,-2304" gray="0" boost="0" />
+ <gammagroup id="TitlebarText" value="1005,-831,-2944" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="830,-715,-2944" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="1326,-248,-2464" gray="2" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="830,-715,-2944" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="1530,0,-2376" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="830,-715,-2944" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="1384,-248,-2406" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="3392,1938,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="-704,-3680,-2560" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="830,-2610,-1531" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="2848,-2048,-1920" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="830,-715,-2944" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1268,-190,-2260" gray="2" boost="0" />
+ <gammagroup id="Led" value="3571,1024,-4096" gray="2" boost="0" />
+ <gammagroup id="Display" value="2592,364,-3328" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="2592,364,-3328" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,-161,-540" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,-161,-540" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,-161,-540" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,-161,-540" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,-161,-540" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="3571,1024,-4096" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="2464,218,-3168" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="0,-1123,-3076" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="3616,2080,-2560" gray="0" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="2112,4032,-192" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-704,-3680,-2560" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="3046,976,-2976" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="801,-190,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="3616,2080,-2560" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="451,-686,-2551" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Emerald City">
+ <gammagroup id="Backgrounds" value="320,736,864" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2368,-288,32" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="306,1239,1676" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-2016,-384,-256" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="-4096,2336,2496" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,306,422" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="218,481,626" gray="2" boost="0" />
+ <gammagroup id="Text" value="-4067,-3630,-3339" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="-2231,0,276" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="-1094,306,597" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="-512,-128,32" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-896,320,736" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="-365,1268,1472" gray="2" boost="1" />
+ <gammagroup id="ButtonsActive" value="-2960,510,2084" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="-3980,0,1180" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="-819,-161,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-512,-128,32" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-896,320,736" gray="2" boost="0" />
+ <gammagroup id="Led" value="-3392,1851,2208" gray="2" boost="0" />
+ <gammagroup id="Display" value="-4096,3136,3328" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-4096,3136,3328" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="4064,2208,2080" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="4064,2208,2080" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-598,889,1326" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-598,-190,0" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="-2432,1536,2272" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-394,0,131" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1648,-365,256" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-1648,-365,256" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-4096,800,928" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-2720,480,1088" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-1910,-219,364" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Baby Jeans">
+ <gammagroup id="Backgrounds" value="-2464,-2240,-1632" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2112,-2016,-1793" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="1440,-128,-608" gray="1" boost="0" />
+ <gammagroup id="Menubar" value="-2112,-2016,-1793" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="-3328,-3360,-3168" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="-2464,-2240,-1632" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="0,-248,-482" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="960,256,-192" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="1024,-704,-1216" gray="0" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="960,256,-192" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="1024,-704,-1216" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="960,256,-192" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="1024,-704,-1216" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-192,-96,224" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="1239,-948,-1327" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-800,-480,-160" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="864,-2080,-1408" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="960,256,-192" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="1024,-704,-1216" gray="1" boost="0" />
+ <gammagroup id="Led" value="2580,1588,830" gray="2" boost="0" />
+ <gammagroup id="Display" value="3136,2240,1472" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayElements" value="-4096,-4096,-3513" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="-4096,-4096,-3513" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-4096,-4096,-3513" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-4096,-3863,-2930" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="1440,-128,-608" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="2550,1676,422" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="3136,2240,1472" gray="1" boost="1" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="-608,-32,608" gray="1" boost="0" />
+ <gammagroup id="ListText" value="-3328,-3360,-3168" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-2464,-2240,-1632" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-4009,-2347,-1210" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="3136,2240,1472" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="1440,768,160" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="3017,2725,2375" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="0,-336,-715" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Arctica">
+ <gammagroup id="Backgrounds" value="512,544,608" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="-1376,-1216,-861" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="1967,1996,2055" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-977,-861,-598" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="384,384,384" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="1312,1760,2871" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="-307,-161,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="830,918,947" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="-832,-736,-480" gray="0" boost="0" />
+ <gammagroup id="Text" value="-4096,-3863,-3572" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="512,544,608" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="-832,-736,-480" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="512,544,608" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-832,-736,-480" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-192,-96,224" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-1632,-1568,-1376" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-1632,-1568,-1376" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="864,-2080,-1408" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="512,544,608" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-832,-736,-480" gray="0" boost="0" />
+ <gammagroup id="Led" value="1588,1822,3250" gray="2" boost="0" />
+ <gammagroup id="Display" value="3200,3456,3808" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="2259,2492,2900" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-2872,-3134,-2755" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="-2872,-3134,-2755" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-2872,-3134,-2755" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,860,1239" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-2872,-3134,-2755" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="2463,3104,4096" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2496,-2784,-2368" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-277,-248,0" gray="1" boost="1" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="1568,1568,1568" gray="1" boost="0" />
+ <gammagroup id="ListText" value="1920,2272,2464" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-416,-416,-352" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-3543,-3222,-2231" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="960,1376,1792" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-1344,-832,-320" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="-2336,-2016,-1728" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="-248,-132,160" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Donatello">
+ <gammagroup id="Backgrounds" value="-768,288,-2016" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="-1024,-128,-2432" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="3904,-2432,-2432" gray="1" boost="0" />
+ <gammagroup id="Titlebar" value="-608,384,-1312" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="448,608,256" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="-608,384,-1312" gray="1" boost="0" />
+ <gammagroup id="Text" value="-1304,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="2912,-3136,-2400" gray="2" boost="1" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="333,333,333" gray="0" boost="0" />
+ <gammagroup id="Led" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="Display" value="3456,-256,-3264" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="4064,2208,2080" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="4064,2208,2080" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="4064,2208,2080" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="3456,-256,-3264" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="3456,-256,-3264" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1088,-96,-1440" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="2016,2944,896" gray="2" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="2016,2944,896" gray="2" boost="0" />
+ <gammagroup id="ListTextSelected" value="2112,4032,-192" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="4064,1952,256" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="2720,-544,-3200" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="2912,-928,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Rain Forest">
+ <gammagroup id="Backgrounds" value="-4096,-1312,-3616" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2080,-2080,-2080" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="-132,3396,-1240" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-2080,-2080,-2080" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="-2720,-1056,-2912" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-336,0,-307" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="0,864,224" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="352,1312,448" gray="1" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="-598,889,-656" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-598,889,-656" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="-3455,1734,-2901" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="-4096,2080,-3616" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="-4096,2080,-3616" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="128,4064,128" gray="0" boost="0" />
+ <gammagroup id="Led" value="-1589,1647,-3616" gray="2" boost="0" />
+ <gammagroup id="Display" value="-4096,-1356,-3136" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-4096,-1984,-3136" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,3833,-277" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="-3105,2080,-3616" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-4096,2080,-3616" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="655,4096,0" gray="0" boost="1" />
+ <gammagroup id="ListText" value="-307,0,-336" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1006,0,-1414" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-2930,0,-3309" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="-4096,-1920,-3712" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-2784,-320,-2592" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="0,3192,0" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-1065,0,-1152" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Amethyst">
+ <gammagroup id="Backgrounds" value="-1088,-2912,-1056" gray="0" boost="0" />
+ <gammagroup id="Backgrounds2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="-1968,-4096,-1444" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="-1088,-2912,-1056" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-219,-598,-132" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="502,0,879" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="954,402,1331" gray="1" boost="0" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="-190,-1210,0" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-190,-1210,0" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="3168,128,4064" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="2976,-1312,4064" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="2976,-1312,4064" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-190,-1210,0" gray="0" boost="0" />
+ <gammagroup id="Led" value="2976,-1312,4064" gray="0" boost="0" />
+ <gammagroup id="Display" value="-831,-3543,-773" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-831,-3543,-773" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="2976,-1312,4064" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1210,-3134,-452" gray="0" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,-656,-132" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-1088,-2912,-1056" gray="0" boost="1" />
+ <gammagroup id="TextDark" value="3454,2055,4096" gray="0" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="-307,-1997,3483" gray="2" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-307,-1997,3483" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="453,-2287,879" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-320,-2784,-448" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="3279,976,4096" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-2581,-4096,-2610" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Sunflower">
+ <gammagroup id="Backgrounds" value="3630,450,-1708" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="3630,450,-1708" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="4096,-356,-3522" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="-553,-1734,-2840" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="4096,0,-3630" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="0,592,0" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="-2626,-619,-2393" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="-969,1003,-864" gray="2" boost="0" />
+ <gammagroup id="Buttons" value="3630,450,-1708" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="7061,-819,-1925" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="3630,450,-1708" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="7061,-819,-1925" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="4096,-1541,-3069" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="2937,-2068,-2832" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2521,0,-2438" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="7061,-819,-1925" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="3630,450,-1708" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="7061,-819,-1925" gray="1" boost="0" />
+ <gammagroup id="Led" value="4096,-1357,-2885" gray="2" boost="0" />
+ <gammagroup id="Display" value="3693,1447,-1693" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="7061,-819,-1925" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-2639,-3544,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="1967,3946,-1450" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-3793,-2463,-3140" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="-2930,-549,-2498" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1647,-1015,-1726" gray="1" boost="0" />
+ <gammagroup id="BGOverlayBright" value="980,-202,-1182" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-704,-2938,-2111" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-478,-1659,-2790" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-2639,-3720,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="2739,552,-880" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="3317,2035,1482" gray="1" boost="1" />
+ <gammagroup id="ListBackground" value="4280,2192,-1252" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="420,-1494,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="753,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="Text" value="-2639,-3720,-4096" gray="1" boost="0" />
+ <gammagroup id="Text Inverse" value="4095,4095,4095" boost="1"/>
+ <gammagroup id="Tooltips Background" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Blueberry">
+ <gammagroup id="Backgrounds" value="-857,-2095,2304" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-857,-2095,2304" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="-3619,778,351" gray="1" boost="0" />
+ <gammagroup id="Menubar" value="-857,-2095,-303" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="-2569,-2779,-3043" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-857,-2095,2304" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="-905,753,1507" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="-779,753,1231" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Buttons" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Buttons2" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="ButtonGlow" value="1222,1222,1222" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-999,-999,-999" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2941,-1332,-955" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Led" value="-3619,1532,-302" gray="0" boost="0" />
+ <gammagroup id="Display" value="-404,955,3305" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-3418,452,2541" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="770,770,770" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="770,770,770" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="-3619,829,-302" gray="0" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2463,1881,4096" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-302,3214,3693" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-302,2914,3693" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-4096,-327,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1257,3920,4045" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-679,3719,4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-857,-2095,2304" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-4018,-1452,-880" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="-2966,3769,4096" gray="1" boost="1" />
+ <gammagroup id="Text" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" boost="0"/>
+ <gammagroup id="Tooltips Background" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Coagulated">
+ <gammagroup id="Backgrounds" value="-2755,-3980,-4096" gray="1" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2901,-4067,-4096" gray="1" boost="0" />
+ <gammagroup id="Bolt" value="-1094,-1502,-2551" gray="2" boost="1" />
+ <gammagroup id="Menubar" value="-2522,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="MenubarText" value="-4096,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-2901,-4067,-4096" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="-2726,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="Text" value="3891,4096,4096" gray="1" boost="1" />
+ <gammagroup id="Text Inverse" value="-4096,-4096,-4096" gray="0" boost="1" />
+ <gammagroup id="Buttons" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="-2464,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-2581,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-2639,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-2610,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2755,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="3629,3454,4096" gray="1" boost="1" />
+ <gammagroup id="Scrollbar Buttons" value="-2376,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-2785,-4096,-3980" gray="1" boost="0" />
+ <gammagroup id="Led" value="-2056,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="Display" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2755,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-3222,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-3076,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-3572,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-4038,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="-2930,-3193,-3222" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-1094,-1502,-2551" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-1094,-1502,-2551" gray="1" boost="1" />
+ <gammagroup id="BG2Textoverlay" value="-1094,-1502,-2551" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="-627,-1502,-2551" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-1094,-1502,-2551" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1589,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-1414,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="ListBackground" value="-2930,-3193,-3222" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-3455,-3834,-4096" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="4096,4096,4096" gray="1" boost="1" />
+ <gammagroup id="Tooltips Background" value="-1648,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="Tooltips Text" value="-3601,-4096,-4096" gray="1" boost="1" />
+</gammaset>
+
+<gammaset id="Peachy">
+ <gammagroup id="Backgrounds" value="4096,-768,-1719" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="3961,-614,-1753" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="1334,-2685,-3084" gray="2" boost="1" />
+ <gammagroup id="Titlebar" value="3961,-1275,-1753" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="3961,1411,-814" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="3961,1411,-814" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="3961,-1642,-2102" gray="2" boost="0" />
+ <gammagroup id="Text" value="-783,-3345,-4096" gray="2" boost="0" />
+ <gammagroup id="Text Inverse" value="4096,2454,2024" gray="2" boost="1" />
+ <gammagroup id="Buttons" value="552,-231,-629" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="4096,-3375,-4050" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="4096,-1289,-2793" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="4096,0,-553" gray="2" boost="0" />
+ <gammagroup id="Led" value="1580,-2394,-3989" gray="2" boost="0" />
+ <gammagroup id="Display" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="475,-3391,-4081" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="4096,-1166,-2164" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="1334,-2685,-3084" gray="2" boost="1" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="4096,536,-261" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="3926,613,-461" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="4096,-507,-1657" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="1334,-2685,-3084" gray="2" boost="1" />
+</gammaset>
+
+<gammaset id="Bricks Set">
+ <gammagroup id="Backgrounds" value="-3836,-1666,490" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-190,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Bolt" value="-4096,0,813" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="-4096,-4096,-4096" gray="0" boost="1" />
+ <gammagroup id="Titlebar" value="-3836,-1666,490" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="TitlebarElements" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="TitlebarHover" value="4096,4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Text" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="-4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Buttons" value="459,441,-4096" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover" value="837,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Buttons2" value="459,441,-4096" gray="0" boost="0" />
+ <gammagroup id="ButtonsHover2" value="837,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="ButtonGlow" value="4096,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="ButtonsActive" value="1863,-4096,-4096" gray="0" boost="1" />
+ <gammagroup id="ButtonStatus" value="4096,-4078,-4096" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="-3682,2408,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-4096,-1720,813" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="Led" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="Display" value="4096,4096,4096" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-4096,4096,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="4096,0,-4096" gray="2" boost="0" />
+ <gammagroup id="DisplayVis" value="-4096,-1558,-4096" gray="0" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="3482,951,0" gray="0" boost="0" />
+ <gammagroup id="DisplaySongticker" value="4096,0,-4096" gray="0" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="4096,0,-4096" gray="0" boost="0" />
+ <gammagroup id="ProgressBar" value="4096,4096,4096" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="4096,4096,4096" gray="2" boost="1" />
+ <gammagroup id="BGOverlayBright" value="3328,1989,813" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="TextDark" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="337,2792,-3912" gray="0" boost="0" />
+ <gammagroup id="ListBackground" value="751,4096,-2394" gray="0" boost="0" />
+ <gammagroup id="ListSelBackground" value="2997,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="ListColumnText" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="-3836,-1666,490" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="4096,4096,4096" gray="0" boost="1" />
+</gammaset>
+
+<gammaset id="Rosemary">
+ <gammagroup id="Backgrounds" value="819,0,0" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="369,0,0" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Menubar" value="459,0,0" gray="0" boost="0" />
+ <gammagroup id="MenubarText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Titlebar" value="459,0,0" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="945,-352,-460" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="153,0,0" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="1665,0,0" gray="2" boost="0" />
+ <gammagroup id="Text" value="-2116,-3754,-3448" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4096,4096,4096" gray="2" boost="1" />
+ <gammagroup id="Buttons" value="297,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="2727,0,0" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="297,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="2727,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="1413,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="1413,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonStatus" value="1737,0,0" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="1953,0,0" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="2385,-316,-298" gray="2" boost="0" />
+ <gammagroup id="Led" value="4096,0,0" gray="2" boost="0" />
+ <gammagroup id="Display" value="603,0,0" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="1953,0,0" gray="2" boost="0" />
+ <gammagroup id="DisplayVis" value="2817,-1090,-1144" gray="2" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="1953,0,0" gray="2" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-1126,-1684,-1648" gray="2" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-1126,-1684,-1648" gray="2" boost="0" />
+ <gammagroup id="ProgressBar" value="1197,-1558,-2170" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="0,0,0" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="TextDark" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="ListTextSelected" value="4096,4096,4096" gray="0" boost="0" />
+ <gammagroup id="ListTextCurrent" value="1413,0,0" gray="2" boost="0" />
+ <gammagroup id="ListBackground" value="4096,3429,3501" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="1413,0,0" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Background" value="819,0,0" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Blueberry And Cream">
+ <gammagroup id="Backgrounds" value="791,791,20" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="791,791,20" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-857,-2095,-303" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="-2569,-2779,-3043" gray="1" boost="1" />
+ <gammagroup id="Titlebar" value="-857,-2095,2304" gray="2" boost="0" />
+ <gammagroup id="TitlebarText" value="-905,753,1507" gray="1" boost="0" />
+ <gammagroup id="TitlebarElements" value="-779,753,1231" gray="1" boost="0" />
+ <gammagroup id="TitlebarHover" value="-553,1281,1834" gray="1" boost="1" />
+ <gammagroup id="Buttons" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="Buttons2" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="ButtonGlow" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="ButtonsActive" value="-999,-999,-999" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-1056,427,804" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="Led" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="Display" value="-404,955,3305" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-3418,452,2541" gray="1" boost="0" />
+ <gammagroup id="DisplayElements" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-880,452,980" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="770,770,770" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="770,770,770" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="BGOverlayBright" value="-2287,-4096,-1578" gray="2" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-2003,-2581,-701" gray="2" boost="0" />
+ <gammagroup id="TextDark" value="-302,2914,3693" gray="1" boost="1" />
+ <gammagroup id="ListText" value="-4096,-327,0" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="-1257,3920,4045" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="-679,3719,4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-857,-2095,2304" gray="2" boost="0" />
+ <gammagroup id="ListSelBackground" value="-4018,-1452,-880" gray="2" boost="0" />
+ <gammagroup id="ListColumnText" value="-2966,3769,4096" gray="1" boost="1" />
+ <gammagroup id="Text" value="-3016,-4096,-3016" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="4096,4096,4096" gray="0" boost="1" />
+ <gammagroup id="Tooltips Background" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Tooltips Text" value="0,0,0" gray="0" boost="0" />
+</gammaset>
+
+<gammaset id="Qwayke">
+ <gammagroup id="Backgrounds" value="-3000,-3000,-3000" gray="2" boost="0" />
+ <gammagroup id="Backgrounds2" value="-2260,-2620,-3124" gray="2" boost="0" />
+ <gammagroup id="Bolt" value="153,-1936,-3952" gray="2" boost="0" />
+ <gammagroup id="Menubar" value="-2908,-3484,-4096" gray="2" boost="0" />
+ <gammagroup id="MenubarText" value="369,-4096,-4096" gray="2" boost="1" />
+ <gammagroup id="Titlebar" value="-1999,-1999,-1999" gray="1" boost="0" />
+ <gammagroup id="TitlebarText" value="-1216,-2296,-4096" gray="2" boost="0" />
+ <gammagroup id="TitlebarElements" value="-1216,-2296,-4096" gray="2" boost="0" />
+ <gammagroup id="TitlebarHover" value="0,-1576,-4096" gray="2" boost="0" />
+ <gammagroup id="Text" value="-1072,-4096,-4096" gray="0" boost="0" />
+ <gammagroup id="Text Inverse" value="0,0,0" gray="0" boost="0" />
+ <gammagroup id="Buttons" value="-2386,-2836,-3358" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover" value="-1252,-2170,-4078" gray="1" boost="0" />
+ <gammagroup id="Buttons2" value="-2386,-2836,-3358" gray="2" boost="0" />
+ <gammagroup id="ButtonsHover2" value="-1252,-2170,-4078" gray="1" boost="0" />
+ <gammagroup id="ButtonGlow" value="-568,-1468,-4078" gray="1" boost="0" />
+ <gammagroup id="ButtonsActive" value="-568,-1468,-4078" gray="1" boost="0" />
+ <gammagroup id="ButtonStatus" value="-568,-1468,-4078" gray="1" boost="0" />
+ <gammagroup id="ButtonText" value="0,0,0" gray="1" boost="0" />
+ <gammagroup id="Scrollbar Buttons" value="-2386,-2836,-3358" gray="2" boost="0" />
+ <gammagroup id="Scrollbar Hover" value="-1252,-2170,-4078" gray="1" boost="0" />
+ <gammagroup id="Led" value="0,-4096,-4096" gray="2" boost="0" />
+ <gammagroup id="Display" value="-2278,-2782,-4078" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerBG" value="-2440,-2854,-4078" gray="2" boost="0" />
+ <gammagroup id="DisplayElements" value="-1486,-2242,-4078" gray="1" boost="0" />
+ <gammagroup id="DisplayVis" value="-1486,-2242,-4078" gray="1" boost="0" />
+ <gammagroup id="DisplayBeatVis" value="-1486,-2242,-4078" gray="1" boost="0" />
+ <gammagroup id="DisplaySongticker" value="-1486,-2242,-4078" gray="1" boost="0" />
+ <gammagroup id="DisplaySongtickerShade" value="-1486,-2242,-4078" gray="1" boost="0" />
+ <gammagroup id="ProgressBar" value="-1216,-3538,-3556" gray="1" boost="0" />
+ <gammagroup id="BGOverlayDark" value="-2926,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="BGOverlayBright" value="-2350,-3340,-3646" gray="1" boost="0" />
+ <gammagroup id="BG2Textoverlay" value="-4096,-4096,-4096" gray="1" boost="1" />
+ <gammagroup id="TextDark" value="783,-1180,-3088" gray="2" boost="1" />
+ <gammagroup id="ListText" value="-1936,-3538,-3556" gray="1" boost="0" />
+ <gammagroup id="ListTextSelected" value="4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListTextCurrent" value="4096,-4096,-4096" gray="1" boost="0" />
+ <gammagroup id="ListBackground" value="-2782,-3232,-4078" gray="1" boost="0" />
+ <gammagroup id="ListSelBackground" value="-3070,-3358,-3520" gray="1" boost="0" />
+ <gammagroup id="ListColumnText" value="927,-4096,-4096" gray="2" boost="1" />
+ <gammagroup id="Tooltips Background" value="-2908,-3484,-4096" gray="2" boost="0" />
+ <gammagroup id="Tooltips Text" value="819,-4096,-4096" gray="0" boost="1" />
+</gammaset>
diff --git a/Src/resources/skins/Winamp Modern/xml/configdrawer.xml b/Src/resources/skins/Winamp Modern/xml/configdrawer.xml
new file mode 100644
index 00000000..94737362
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/configdrawer.xml
@@ -0,0 +1,1214 @@
+<groupdef id="config.tab.eq.on" h="19" autowidthsource="config.text.eq.on">
+ <Grid x="0" y="0" w="0" h="19" relatw="1"
+ left="drawer.tab.on.left"
+ middle="drawer.tab.on.center"
+ right="drawer.tab.on.right"
+ />
+ <text
+ id="config.text.eq.on" ticker="0"
+ default="Equalizer"
+ x="11" y="-5"
+ fontsize="12"
+ w="-24" relatw="1" relath="1" h="8"
+ font="player.smallfont" move="0"
+ color="drawer.color.text.dark"
+ />
+</groupdef>
+<groupdef id="config.tab.eq.off" h="19" autowidthsource="config.text.eq.off">
+ <Grid x="0" y="0" w="0" h="19" relatw="1"
+ left="drawer.tab.off.left"
+ middle="drawer.tab.off.center"
+ right="drawer.tab.off.right"
+ />
+ <text
+ id="config.text.eq.off" ticker="0"
+ default="Equalizer"
+ x="11" y="-5"
+ fontsize="12"
+ w="-24" relatw="1" relath="1" h="8"
+ font="player.smallfont" move="0"
+ color="drawer.color.text.dark"
+ />
+ <Layer id="mousetrapTabEQ" x="0" y="0" w="0" h="0" relatw="1" relath="1" move="0"/>
+</groupdef>
+<groupdef id="config.tab.options.on" h="19" autowidthsource="config.text.options.on">
+ <Grid x="0" y="0" w="0" h="19" relatw="1"
+ left="drawer.tab.on.left"
+ middle="drawer.tab.on.center"
+ right="drawer.tab.on.right"
+ />
+ <text
+ id="config.text.options.on" ticker="0"
+ default="Options"
+ x="11" y="-5"
+ fontsize="12"
+ w="-24" relatw="1" relath="1" h="7"
+ font="player.smallfont"
+ color="drawer.color.text.dark"
+ />
+</groupdef>
+<groupdef id="config.tab.options.off" h="19" autowidthsource="config.text.options.off">
+ <Grid x="0" y="0" w="0" h="19" relatw="1"
+ left="drawer.tab.off.left"
+ middle="drawer.tab.off.center"
+ right="drawer.tab.off.right"
+ />
+ <text
+ id="config.text.options.off" ticker="0"
+ default="Options"
+ x="11" y="-5"
+ fontsize="12"
+ w="-24" relatw="1" relath="1" h="7"
+ font="player.smallfont"
+ color="drawer.color.text.dark"
+ />
+ <Layer id="mousetrapTabOPTIONS" x="0" y="0" w="0" h="0" relatw="1" relath="1" move="0"/>
+</groupdef>
+<groupdef id="config.tab.colorthemes.on" h="19" autowidthsource="config.text.colorthemes.on">
+ <Grid x="0" y="0" w="0" h="19" relatw="1"
+ left="drawer.tab.on.left"
+ middle="drawer.tab.on.center"
+ right="drawer.tab.on.right"
+ />
+ <text
+ id="config.text.colorthemes.on" ticker="0"
+ default="Color Themes"
+ x="11" y="-5"
+ fontsize="12"
+ w="-24" relatw="1" relath="1" h="7"
+ font="player.smallfont"
+ color="drawer.color.text.dark"
+ />
+</groupdef>
+<groupdef id="config.tab.colorthemes.off" h="19" autowidthsource="config.text.colorthemes.off">
+ <Grid x="0" y="0" w="0" h="19" relatw="1"
+ left="drawer.tab.off.left"
+ middle="drawer.tab.off.center"
+ right="drawer.tab.off.right"
+ />
+ <text
+ id="config.text.colorthemes.off" ticker="0"
+ default="Color Themes"
+ x="11" y="-5"
+ fontsize="12"
+ w="-24" relatw="1" relath="1" h="7"
+ font="player.smallfont"
+ color="drawer.color.text.dark"
+ />
+ <Layer id="mousetrapTabCOLORTHEMES" x="0" y="0" w="0" h="0" relatw="1" relath="1" move="0"/>
+</groupdef>
+
+<groupdef id="config.tabs" w="330">
+ <group id="config.tab.eq.off" x="0" y="0"/>
+ <group id="config.tab.options.off" x="0" y="0"/>
+ <group id="config.tab.colorthemes.off" x="0" y="0"/>
+ <group id="config.tab.eq.on" x="0" y="0"/>
+ <group id="config.tab.options.on" x="0" y="0"/>
+ <group id="config.tab.colorthemes.on" x="0" y="0"/>
+</groupdef>
+
+<groupdef id="player.config.inner" name="Config Inner" w="326" h="127">
+ <layer
+ id="drawer.inner.left"
+ x="0" y="0"
+ image="drawer.inner.left"
+ />
+ <layer
+ id="drawer.inner.center"
+ x="10" y="0"
+ relatw="1"
+ w="-30"
+ image="drawer.inner.center"
+ />
+ <layer
+ id="drawer.inner.right"
+ x="-20" y="0"
+ relatx="1"
+ image="drawer.inner.right"
+ />
+</groupdef>
+
+
+<groupdef id="player.normal.drawer.eq.balance" x="0" y="0">
+ <layer
+ x="5" y="0"
+ image="drawer.eq.balance.bg"
+ />
+ <layer
+ x="7" y="2"
+ image="drawer.eq.balance.txtoverlay.bright"
+ />
+ <slider
+ id="Balance"
+ action="PAN"
+ x="1" y="8"
+ w="77" h="13"
+ thumb="drawer.eq.button.balance"
+ downThumb="drawer.eq.button.balance.pressed"
+ hoverThumb="drawer.eq.button.balance.hover"
+ tooltip="Balance"
+ />
+</groupdef>
+
+<groupdef id="player.normal.drawer.eq.content" name="Drawer EQ Content" w="318" h="89">
+ <layer
+ x="0" y="0"
+ image="drawer.eq.bg"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.eq.txtoverlay.dark"
+ />
+ <layer
+ x="0" y="82"
+ image="drawer.eq.txtoverlay.bright"
+ />
+
+ <layer
+ id="equalizer.band.label"
+ x="135" y="82"
+ image="drawer.eq.label.iso"
+ />
+
+ <button
+ id="eqonoff"
+ Image="drawer.eq.button.on"
+ downImage="drawer.eq.button.on.pressed"
+ activeImage="drawer.eq.button.on"
+ hoverImage="drawer.eq.button.on.hover"
+ action="EQ_TOGGLE"
+ x="16" y="47"
+ tooltip="EQ on/off"
+ />
+ <button
+ id="eqonoff_led"
+ Image="player.led.off"
+ activeImage="player.led.on"
+ action="EQ_TOGGLE"
+ x="36" y="45"
+ />
+
+ <button
+ id="eqauto"
+ Image="drawer.eq.button.auto"
+ downImage="drawer.eq.button.auto.pressed"
+ activeImage="drawer.eq.button.auto"
+ hoverImage="drawer.eq.button.auto.hover"
+ action="EQ_AUTO"
+ x="16" y="61"
+ tooltip="EQ auto"
+ />
+ <button
+ id="eqonoff_led"
+ Image="player.led.off"
+ activeImage="player.led.on"
+ action="EQ_AUTO"
+ x="49" y="59"
+ />
+
+ <button
+ id="eqpresets"
+ Image="drawer.eq.button.presets"
+ downImage="drawer.eq.button.presets.pressed"
+ hoverImage="drawer.eq.button.presets.hover"
+ action="MENU"
+ param="presets"
+ x="16" y="75"
+ tooltip="Open presets"
+ />
+
+ <slider
+ id="sCrossfade"
+ cfgattrib="{F1239F09-8CC6-4081-8519-C2AE99FCB14C};Crossfade time"
+ high="20"
+ x="14" y="30"
+ w="2" h="2"
+ />
+
+ <togglebutton
+ id="CrossfadeLED"
+ x="27" y="24"
+ Image="player.led.off"
+ activeImage="player.led.on"
+ cfgattrib="{FC3EAF78-C66E-4ED2-A0AA-1494DFCC13FF};Enable crossfading"
+ />
+ <togglebutton
+ id="Crossfade"
+ x="8" y="26"
+ image="drawer.eq.button.crossfade"
+ downImage="drawer.eq.button.crossfade.pressed"
+ activeImage="drawer.eq.button.crossfade"
+ hoverImage="drawer.eq.button.crossfade.hover"
+ tooltip="Toggle Crossfading Between Tracks"
+ cfgattrib="{FC3EAF78-C66E-4ED2-A0AA-1494DFCC13FF};Enable crossfading"
+ />
+
+ <button
+ id="CrossfadeDecrease"
+ Image="drawer.eq.button.crossfade.prev"
+ downImage="drawer.eq.button.crossfade.prev.pressed"
+ hoverImage="drawer.eq.button.crossfade.prev.hover"
+ x="43" y="26"
+ tooltip="Decrease Crossfade Time"
+ />
+ <button
+ id="CrossfadeIncrease"
+ Image="drawer.eq.button.crossfade.next"
+ downImage="drawer.eq.button.crossfade.next.pressed"
+ hoverImage="drawer.eq.button.crossfade.next.hover"
+ x="64" y="26"
+ tooltip="Increase Crossfade Time"
+ />
+
+ <layer
+ image="drawer.eq.crossfade.display"
+ x="51" y="26"
+ />
+
+ <text
+ id="CFDisplay"
+ x="51" y="27" w="12" h="8"
+ font="player.pe.time.font"
+ align="center"
+ valign="top"
+ fontsize="8"
+ color="font.display"
+ />
+
+ <layer
+ id="crossfade.display.overlay"
+ image="drawer.eq.crossfade.display"
+ x="51" y="26"
+ alpha="150"
+ />
+
+ <button
+ id="EQ_p12"
+ x="104" y="6"
+ w="21" h="7"
+ rectrgn="1"
+ />
+
+ <button
+ id="EQ_0"
+ x="104" y="36"
+ w="21" h="7"
+ rectrgn="1"
+ />
+
+ <button
+ id="EQ_m12"
+ x="104" y="66"
+ w="21" h="7"
+ rectrgn="1"
+ />
+
+ <slider
+ id="preamp"
+ action="EQ_BAND" param="preamp"
+ x="82" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ tooltip="Preamp"
+ />
+
+ <slider
+ id="eq1"
+ action="EQ_BAND" param="1"
+ x="134" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq2"
+ action="EQ_BAND" param="2"
+ x="152" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq3"
+ action="EQ_BAND" param="3"
+ x="170" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq4"
+ action="EQ_BAND" param="4"
+ x="188" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq5"
+ action="EQ_BAND" param="5"
+ x="206" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq6"
+ action="EQ_BAND" param="6"
+ x="224" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq7"
+ action="EQ_BAND" param="7"
+ x="242" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq8"
+ action="EQ_BAND" param="8"
+ x="260" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq9"
+ action="EQ_BAND" param="9"
+ x="278" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <slider
+ id="eq10"
+ action="EQ_BAND" param="10"
+ x="296" y="1"
+ w="13" h="80"
+ orientation="vertical"
+ thumb="player.main.eq.button"
+ hoverthumb="player.main.eq.button.hover"
+ downthumb="player.main.eq.button.pressed"
+ />
+
+ <script id="eq.script" file="scripts/eq.maki" />
+ <script id="crossfade.script" file="scripts/crossfade.maki" />
+</groupdef>
+
+
+<groupdef id="player.normal.drawer.eq" name="Drawer EQ Content" w="318" h="89">
+ <group id="player.normal.drawer.eq.content" x="0" y="0"/>
+ <group id="player.normal.drawer.eq.balance" x="0" y="0"/>
+</groupdef>
+
+
+
+
+<groupdef id="player.normal.drawer.options" name="Drawer Options Content" w="314" h="93">
+ <layer
+ x="0" y="0"
+ image="drawer.options.bg"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.bg.display"
+ />
+ <layer
+ x="14" y="6"
+ image="drawer.options.bg2.shadow"
+ />
+ <layer
+ x="14" y="6"
+ image="drawer.options.bg2"
+ />
+
+ <!-- config page target -->
+ <GroupXFade speed="0.5" x="100" y="12" w="200" h="74" id="skin.config.target" />
+
+ <!-- config menu -->
+ <componentbucket id="my.bucket" x="17" y="20" w="81" h="55" spacing="0" leftmargin="0" rightmargin="0" vertical="1" wndtype="skin.config"/>
+
+ <!-- up/down arrows -->
+ <Button
+ cbtarget="bucket" action="cb_prevpage"
+ x="17" y="10"
+ image="drawer.options.button.scroll.up"
+ downImage="drawer.options.button.scroll.up.pressed"
+ hoverImage="drawer.options.button.scroll.up.hover"
+ tooltip="Scroll up"
+ rectrgn="1"
+ />
+ <Button
+ cbtarget="bucket" action="cb_nextpage"
+ x="17" y="76"
+ image="drawer.options.button.scroll.down"
+ downImage="drawer.options.button.scroll.down.pressed"
+ hoverImage="drawer.options.button.scroll.down.hover"
+ tooltip="Scroll down"
+ rectrgn="1"
+ />
+ <script id="configtarget.script" file="scripts/configtarget.maki" />
+</groupdef>
+
+
+<!-- config menu items -->
+<groupdef id="bucket.entry.1" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.drawers.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.drawers" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.drawers"
+ hoverImage="drawer.options.button.drawers.hover"
+ downImage="drawer.options.button.drawers.pressed"
+ activeImage="drawer.options.button.drawers.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="bucket.entry.2" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.menus.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.menus" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.menus"
+ hoverImage="drawer.options.button.menus.hover"
+ downImage="drawer.options.button.menus.pressed"
+ activeImage="drawer.options.button.menus.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="bucket.entry.3" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.winshade.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.winshade" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.winshade"
+ hoverImage="drawer.options.button.winshade.hover"
+ downImage="drawer.options.button.winshade.pressed"
+ activeImage="drawer.options.button.winshade.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="bucket.entry.4" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.visbutton.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.visbutton" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.visbutton"
+ hoverImage="drawer.options.button.visbutton.hover"
+ downImage="drawer.options.button.visbutton.pressed"
+ activeImage="drawer.options.button.visbutton.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="bucket.entry.5" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.notifications.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.notifications" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.notifications"
+ hoverImage="drawer.options.button.notifications.hover"
+ downImage="drawer.options.button.notifications.pressed"
+ activeImage="drawer.options.button.notifications.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="bucket.entry.6" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.songticker.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.songticker" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.songticker"
+ hoverImage="drawer.options.button.songticker.hover"
+ downImage="drawer.options.button.songticker.pressed"
+ activeImage="drawer.options.button.songticker.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="bucket.entry.7" windowtype="skin.config" w="81" h="14">
+ <layer
+ x="0" y="0"
+ image="drawer.options.button.misc.shadow"
+ />
+ <togglebutton
+ id="btn"
+ action="switchto;optionsgroup.misc" action_target="skin.config.target"
+ x="0" y="0"
+ image="drawer.options.button.misc"
+ hoverImage="drawer.options.button.misc.hover"
+ downImage="drawer.options.button.misc.pressed"
+ activeImage="drawer.options.button.misc.pressed"
+ rectrgn="1"
+ />
+</groupdef>
+
+<!-- config menu pages -->
+
+<groupdef id="optionsgroup.drawers">
+ <layer
+ x="0" y="0"
+ image="drawer.options.drawers.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.drawers.text"
+ />
+ <togglebutton
+ cfgattrib="{C338B30F-2A04-4b10-871F-4E9D52D62806};Animate Video/Vis Drawer (disabled if opacity = 100%)"
+ x="10" y="2"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{C338B30F-2A04-4b10-871F-4E9D52D62806};Animate Config Drawer"
+ x="10" y="14"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{C338B30F-2A04-4b10-871F-4E9D52D62806};Open Video/Vis from the top"
+ x="10" y="30"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{C338B30F-2A04-4b10-871F-4E9D52D62806};Open Video/Vis from the bottom"
+ x="10" y="41"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{C338B30F-2A04-4b10-871F-4E9D52D62806};Bypass setting to keep in screen"
+ x="10" y="56"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="optionsgroup.menus">
+ <layer
+ x="0" y="0"
+ image="drawer.options.menus.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.menus.text"
+ />
+ <togglebutton
+ cfgattrib="{12ED320E-6813-45ac-9F8E-78EE5B2B5F6D};Show Menus in Main Window"
+ x="10" y="13"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{12ED320E-6813-45ac-9F8E-78EE5B2B5F6D};Show Menus in Playlist Editor"
+ x="10" y="28"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{12ED320E-6813-45ac-9F8E-78EE5B2B5F6D};Show Menus in Media Library"
+ x="10" y="43"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="optionsgroup.winshade">
+ <layer
+ x="0" y="0"
+ image="drawer.options.winshade.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.winshade.text"
+ />
+ <togglebutton
+ cfgattrib="{58F07E21-AE96-4899-B7BC-3640B40029FB};Link Position and Width"
+ x="11" y="13"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{58F07E21-AE96-4899-B7BC-3640B40029FB};Link Position, Unlink Width"
+ x="11" y="28"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{58F07E21-AE96-4899-B7BC-3640B40029FB};Unlink Position and Width"
+ x="11" y="43"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="optionsgroup.visbutton">
+ <layer
+ x="0" y="0"
+ image="drawer.options.visbutton.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.visbutton.text"
+ />
+ <togglebutton
+ cfgattrib="{D70E3ABF-D2FF-4b82-9A70-4B5DF1A5D942};Open Context Menu"
+ x="25" y="25"
+ image="drawer.options.radio.w140.off"
+ hoverImage="drawer.options.radio.w140.hover"
+ downImage="drawer.options.radio.w140.down"
+ activeImage="drawer.options.radio.w140.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{D70E3ABF-D2FF-4b82-9A70-4B5DF1A5D942};Open Configuration"
+ x="25" y="39"
+ image="drawer.options.radio.w140.off"
+ hoverImage="drawer.options.radio.w140.hover"
+ downImage="drawer.options.radio.w140.down"
+ activeImage="drawer.options.radio.w140.on"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="optionsgroup.notifications">
+ <layer
+ x="0" y="0"
+ image="drawer.options.notifications.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.notifications.text"
+ />
+ <togglebutton
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show always"
+ x="10" y="1"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show with windowshade and when minimized"
+ x="10" y="13"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Show only when minimized"
+ x="10" y="25"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Never show"
+ x="10" y="37"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{1AB968B3-8687-4a35-BA70-FCF6D92FB57F};Disable in fullscreen"
+ x="10" y="54"
+ image="drawer.options.checkbox.w131.off"
+ hoverImage="drawer.options.checkbox.w131.hover"
+ downImage="drawer.options.checkbox.w131.down"
+ activeImage="drawer.options.checkbox.w131.on"
+ rectrgn="1"
+ />
+
+ <Button
+ action="switchto;optionsgroup.notifications.2;subpage" action_target="skin.config.target"
+ x="152" y="55"
+ image="drawer.options.more"
+ downImage="drawer.options.more.down"
+ hoverImage="drawer.options.more.hover"
+ tooltip="more options"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="optionsgroup.notifications.2">
+ <layer
+ id="snotifier_fadein_shadow"
+ x="0" y="0"
+ image="drawer.options.notifications2.fadein.shadow"
+ />
+ <layer
+ id="snotifier_hold_shadow"
+ x="0" y="25"
+ image="drawer.options.notifications2.hold.shadow"
+ />
+ <layer
+ id="snotifier_fadeout_shadow"
+ x="0" y="50"
+ image="drawer.options.notifications2.fadeout.shadow"
+ />
+ <layer
+ id="snotifier_fadein_text"
+ x="0" y="0"
+ image="drawer.options.notifications2.fadein.text"
+ />
+ <layer
+ id="snotifier_hold_text"
+ x="0" y="25"
+ image="drawer.options.notifications2.hold.text"
+ />
+ <layer
+ id="snotifier_fadeout_text"
+ x="0" y="50"
+ image="drawer.options.notifications2.fadeout.text"
+ />
+
+ <slider
+ id="snotifier_fadeintime"
+ cfgattrib="{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications fade in time"
+ high="10000"
+ thumb="drawer.options.slider"
+ downThumb="drawer.options.slider.down"
+ hoverThumb="drawer.options.slider.hover"
+ tooltip="Adjust Fade in time"
+ x="9" y="11"
+ w="115" h="10"
+ />
+
+ <slider
+ id="snotifier_holdtime"
+ cfgattrib="{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications display time"
+ high="10000"
+ thumb="drawer.options.slider"
+ downThumb="drawer.options.slider.down"
+ hoverThumb="drawer.options.slider.hover"
+ tooltip="Adjust Hold time"
+ x="9" y="35"
+ w="115" h="10"
+ />
+
+ <slider
+ id="snotifier_fadeouttime"
+ cfgattrib="{E9C2D926-53CA-400f-9A4D-85E31755A4CF};Notifications fade out time"
+ high="10000"
+ thumb="drawer.options.slider"
+ downThumb="drawer.options.slider.down"
+ hoverThumb="drawer.options.slider.hover"
+ tooltip="Adjust Fade out time"
+ x="9" y="61"
+ w="115" h="10"
+ />
+
+ <text
+ id="tnotifier_fadeintime"
+ x="127" y="13" w="25" h="8"
+ font="player.pe.time.font"
+ align="left"
+ valign="top"
+ fontsize="8"
+ color="font.display"
+ default="10.2s"
+ />
+ <text
+ id="tnotifier_holdtime"
+ x="127" y="38" w="25" h="8"
+ font="player.pe.time.font"
+ align="left"
+ valign="top"
+ fontsize="8"
+ color="font.display"
+ default="10.2s"
+ />
+ <text
+ id="tnotifier_fadeouttime"
+ x="127" y="63" w="25" h="8"
+ font="player.pe.time.font"
+ align="left"
+ valign="top"
+ fontsize="8"
+ color="font.display"
+ default="10.2s"
+ />
+
+ <Button
+ action="switchto;optionsgroup.notifications;subpage" action_target="skin.config.target"
+ x="152" y="55"
+ image="drawer.options.back"
+ downImage="drawer.options.back.down"
+ hoverImage="drawer.options.back.hover"
+ tooltip="back"
+ rectrgn="1"
+ />
+
+ <script id="notifications_fade_times.script" file="scripts/notifications_fade_times.maki" />
+
+</groupdef>
+
+
+
+<groupdef id="optionsgroup.songticker">
+ <layer
+ x="0" y="0"
+ image="drawer.options.songticker.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.songticker.text"
+ />
+ <togglebutton
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF3};Disable Songticker scrolling"
+ x="11" y="13"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF3};Modern Songticker scrolling"
+ x="11" y="28"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{7061FDE0-0E12-11D8-BB41-0050DA442EF3};Classic Songticker scrolling"
+ x="11" y="43"
+ image="drawer.options.radio.w181.off"
+ hoverImage="drawer.options.radio.w181.hover"
+ downImage="drawer.options.radio.w181.down"
+ activeImage="drawer.options.radio.w181.on"
+ rectrgn="1"
+ />
+
+</groupdef>
+
+<groupdef id="optionsgroup.misc">
+ <layer
+ x="0" y="0"
+ image="drawer.options.misc.shadow"
+ />
+ <layer
+ x="0" y="0"
+ image="drawer.options.misc.text"
+ />
+ <togglebutton
+ cfgattrib="{26E26319-AECA-4433-B8F1-F4A5BF2A9ED5};Detach Vis Window"
+ x="10" y="11"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{26E26319-AECA-4433-B8F1-F4A5BF2A9ED5};Detach Video Window"
+ x="10" y="26"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+ <togglebutton
+ cfgattrib="{26E26319-AECA-4433-B8F1-F4A5BF2A9ED5};Enable Beat Visualization"
+ x="10" y="45"
+ image="drawer.options.checkbox.w181.off"
+ hoverImage="drawer.options.checkbox.w181.hover"
+ downImage="drawer.options.checkbox.w181.down"
+ activeImage="drawer.options.checkbox.w181.on"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="player.normal.drawer.colorthemes" name="Drawer ColorThemes Content" w="310" h="98">
+ <layer
+ id="drawer.colorthemes.bg"
+ x="0" y="0"
+ image="drawer.colorthemes.bg"
+ />
+ <layer
+ x="228" y="20"
+ image="drawer.colorthemes.txtoverlay.dark"
+ />
+
+ <layer
+ x="6" y="5"
+ ghost="1"
+ h="80"
+ w="204"
+ tile="1"
+ image="wasabi.list.background"
+ />
+
+ <layer
+ x="197" y="5"
+ image="wasabi.scrollbar.vertical.background.middle"
+ w="13" h="79"
+ />
+ <layer
+ x="197" y="5"
+ image="wasabi.scrollbar.vertical.left"
+ />
+ <layer
+ x="197" y="68"
+ image="wasabi.scrollbar.vertical.right"
+ />
+ <layer
+ x="197" y="22"
+ image="wasabi.scrollbar.vertical.button"
+ />
+
+
+
+ <ColorThemes:List
+ id="colorthemes"
+ x="6" y="5"
+ w="204" h="80"
+ nohscroll="1"
+ nocolheader="1"
+ visible="0"
+ />
+
+ <Button
+ id="Switch"
+ action="colorthemes_switch"
+ action_target="colorthemes"
+ x="250" y="72"
+ image="drawer.button.settheme"
+ downImage="drawer.button.settheme.pressed"
+ hoverImage="drawer.button.settheme.hover"
+ tooltip="Switch to selected ColorTheme"
+ />
+
+ <Button
+ id="Switch"
+ action="colorthemes_previous"
+ action_target="colorthemes"
+ x="217" y="72"
+ image="drawer.button.theme.prev"
+ downImage="drawer.button.theme.prev.pressed"
+ hoverImage="drawer.button.theme.prev.hover"
+ tooltip="Previous ColorTheme"
+ />
+ <Button
+ id="Switch"
+ action="colorthemes_next"
+ action_target="colorthemes"
+ x="229" y="72"
+ image="drawer.button.theme.next"
+ downImage="drawer.button.theme.next.pressed"
+ hoverImage="drawer.button.theme.next.hover"
+ tooltip="Next ColorTheme"
+ />
+
+</groupdef>
+
+
+<groupdef id="player.normal.drawer.content" name="Config Drawer Content" w="326" h="127">
+ <group id="player.config.inner" x="0" y="0"/>
+ <group id="config.tabs" x="10" y="108" />
+ <group id="player.normal.drawer.eq" x="3" y="15" visible="0"/>
+ <group id="player.normal.drawer.options" x="5" y="13" visible="0"/>
+ <group id="player.normal.drawer.colorthemes" x="8" y="14" visible="0"/>
+</groupdef>
+
+
+<groupdef id="player.normal.drawer" name="Config Drawer" relatw="1" w="0" h="129" background="wasabi.frame.basetexture">
+
+ <layer
+ id="drawer.window.left"
+ x="0" y="0"
+ image="drawer.main.left"
+ resize="left"
+ />
+ <layer
+ id="drawer.window.center"
+ x="20" y="0"
+ w="-40"
+ relatw="1"
+ image="drawer.main.center"
+ />
+ <layer
+ id="drawer.window.right"
+ x="-20" y="0"
+ relatx="1"
+ image="drawer.main.right"
+ resize="right"
+ />
+ <layer
+ id="drawer.window.left.bottom.region"
+ x="0" y="0"
+ image="drawer.main.left.region"
+ resize="left"
+ sysregion="-1"
+ />
+ <layer
+ id="drawer.window.right.bottom.region"
+ x="-20" y="0"
+ relatx="1"
+ image="drawer.main.right.region"
+ sysregion="-1"
+ />
+
+ <group id="player.normal.drawer.content" x="0" y="0"/>
+
+
+ <layer
+ id="drawer.button.close.bg"
+ x="-80" y="113"
+ relatx="1"
+ image="drawer.button.close.bg"
+ />
+
+ <button
+ id="drawer.button.close"
+ x="-72" y="118"
+ relatx="1"
+ image="drawer.button.close"
+ downImage="drawer.button.close.pressed"
+ hoverImage="drawer.button.close.hover"
+ tooltip="Close Configuration Drawer"
+ rectrgn="1"
+ />
+ <button
+ id="drawer.button.open"
+ x="-72" y="118"
+ relatx="1"
+ image="drawer.button.open"
+ downImage="drawer.button.open.pressed"
+ hoverImage="drawer.button.open.hover"
+ tooltip="Open Configuration Drawer"
+ rectrgn="1"
+ />
+
+ <layer
+ id="drawer.resizer"
+ w="20" h="20"
+ x="-20" y="-20"
+ relatx="1"
+ relaty="1"
+ resize="right"
+ />
+
+</groupdef>
+
+<groupdef id="player.normal.drawer.shadow" w="0" h="15" relatw="1">
+ <layer
+ x="9" y="0"
+ relatw="1"
+ w="-94"
+ image="drawer.main.shadow.left"
+ />
+ <layer
+ x="-85" y="0"
+ relatx="1"
+ image="drawer.main.shadow.right"
+ ghost="1"
+ />
+</groupdef>
diff --git a/Src/resources/skins/Winamp Modern/xml/ml-normal.xml b/Src/resources/skins/Winamp Modern/xml/ml-normal.xml
new file mode 100644
index 00000000..5c7d7eb6
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/ml-normal.xml
@@ -0,0 +1,121 @@
+
+
+
+<groupdef id="ml.frame.layout" relatw="1" relath="1" w="0" h="-35" background="wasabi.frame.basetexture">
+ <layer
+ x="0" y="0"
+ image="player.ml.topleft"
+ resize="topleft"
+ />
+ <layer
+ x="6" y="0"
+ w="-12"
+ relatw="1"
+ image="player.ml.topcenter"
+ resize="top"
+ />
+ <layer
+ x="-6" y="0"
+ relatx="1"
+ image="player.ml.topright"
+ resize="topright"
+ />
+ <layer
+ x="0" y="5"
+ relath="1"
+ h="-50"
+ image="player.ml.left"
+ resize="left"
+ />
+ <layer
+ x="-6" y="5"
+ relatx="1"
+ relath="1"
+ h="-50"
+ image="player.ml.right"
+ resize="right"
+ />
+ <layer
+ x="0" y="-52"
+ relaty="1"
+ image="player.ml.bottomleft"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-10"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="player.ml.bottomcenter"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-52"
+ relatx="1"
+ relaty="1"
+ image="player.ml.bottomright"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+</groupdef>
+
+<groupdef id="player.content.ml.dummy.group" name="MediaLibraryDummyGroup" relatw="1" relath="1" w="0" h="0">
+ <component
+ x="6"
+ y="5"
+ w="-12"
+ relatw="1"
+ h="-50"
+ relath="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="0"
+ param="guid:{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}"
+ />
+ <group id="ml.frame.layout" x="0" y="0"/>
+</groupdef>
+
+<groupdef id="mledit.content.group" name="MediaLibraryContent">
+ <group id="player.content.ml.dummy.group" x="0" y="17" sysregion="1"/>
+ <script id="mlmenu.script" file="scripts/mlmenu.maki" />
+</groupdef>
+
+
+<layout id="normal" minimum_w="354" minimum_h="164" h="349" w="790">
+ <Wasabi:MediaLibraryFrame:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="mledit.content.group"
+ padtitleleft="10"
+ padtitleright="0"
+ shade="shade"
+ />
+ <sendparams target="mousetrap" dblClickAction="SWITCH;shade"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom;" resize="0"/>
+
+ <layer
+ x="0" y="0" w="0" h="3"
+ relatw="1"
+ resize="top"
+ />
+
+</layout>
+
+
+
+
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/ml.xml b/Src/resources/skins/Winamp Modern/xml/ml.xml
new file mode 100644
index 00000000..1b97c7b3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/ml.xml
@@ -0,0 +1,3 @@
+<container id="MLibrary" name="Media Library" dynamic="1" component="guid:{6B0EDF80-C9A5-11D3-9F26-00C04F39FFC6}" default_x="0" default_y="164" default_visible="@HAVE_LIBRARY@">
+ <include file="ml-normal.xml"/>
+</container>
diff --git a/Src/resources/skins/Winamp Modern/xml/notifier-elements.xml b/Src/resources/skins/Winamp Modern/xml/notifier-elements.xml
new file mode 100644
index 00000000..d544cb5b
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/notifier-elements.xml
@@ -0,0 +1,11 @@
+<elements>
+ <bitmap id="notifier.bg.left" file="notifier/notif-bg.png" x="0" y="0" w="13" h="80" gammagroup="Backgrounds"/>
+ <bitmap id="notifier.bg.center" file="notifier/notif-bg.png" x="13" y="0" w="133" h="80" gammagroup="Backgrounds"/>
+ <bitmap id="notifier.bg.right" file="notifier/notif-bg.png" x="146" y="0" w="13" h="80" gammagroup="Backgrounds"/>
+ <bitmap id="notifier.bg.left.da" file="notifier/notif-bg-alpha.png" x="0" y="0" w="13" h="80" gammagroup="Backgrounds"/>
+ <bitmap id="notifier.bg.center.da" file="notifier/notif-bg-alpha.png" x="13" y="0" w="133" h="80" gammagroup="Backgrounds"/>
+ <bitmap id="notifier.bg.right.da" file="notifier/notif-bg-alpha.png" x="146" y="0" w="13" h="80" gammagroup="Backgrounds"/>
+ <bitmap id="winamp.cover.shoutcast" file="notifier/sc_alb_art.jpg" x="0" y="0" h="111" w="111"/>
+ <color id="notifier.dark" value="white" gammagroup="Text"/>
+ <color id="notifier.bright" value="black" gammagroup="Text Inverse"/>
+</elements> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/notifier-normal.xml b/Src/resources/skins/Winamp Modern/xml/notifier-normal.xml
new file mode 100644
index 00000000..2a45e30d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/notifier-normal.xml
@@ -0,0 +1,43 @@
+<groupdef id="notifier.albumart" sysregion="1" ghost="1" >
+
+ <layer id="notifier.cover.bg" x="0" y="0" image="notifier.bg.cover" move="0"/>
+ <AlbumArt id="notifier.cover" x="18" y="15" h="50" w="50" move="0" rectrgn="1" notfoundImage="winamp.cover.notfound.50" noAutoRefresh="1"/>
+ <layer id="notifier.webcover" x="18" y="15" h="50" w="50" move="0" rectrgn="1" visible="0"/>
+
+</groupdef>
+
+<groupdef id="notifier.text" sysregion = "1" ghost="1">
+
+ <!-- mp: I know this is an unusual way to get text shadow - but it creates a much better effect than the shadow params -->
+ <text id="plentry" x="0" y="12" default="2/15" w="100" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="12" bold="1" ghost="1"/>
+
+ <text id="nexttrack" x="-102" y="12" w="102" relatw="1" align="right" default="Next track" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="12" bold="1" ghost="1"/>
+
+ <text id="title" x="0" y="27" w="0" relatw="1" default="Nothing" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="17" ghost="1" bold="1" translate="0"/>
+
+ <text id="artist" x="0" y="41" w="0" h="18" relatw="1" default="Nithin Sawhney" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="13" ghost="1" translate="0"/>
+
+ <text id="album" x="0" y="54" w="0" h="14" relatw="1" default="Prophesy" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="13" ghost="1" translate="0"/>
+
+</groupdef>
+
+
+<layout id="normal" noparent="1" ontop="1" h="80" w="128" forcealpha="1" noactivation="1" nodock="1" move="0">
+
+ <grid left="notifier.bg.left" middle="notifier.bg.center" right="notifier.bg.right" fitparent="1" sysregion="1" ghost="1" rectrgn="0" move="0"/>
+ <group id="notifier.text" x="75" y="0" h="80" w="-95" relatw="1" move="0"/>
+ <group id="notifier.albumart" x="0" y="0" h="80" w="80" relatw="1" move="0" visible="0"/>
+
+ <text id="endofplayback" x="16" y="32" w="-32" relatw="1" align="center" default="End of playback" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="20" visible="0" ghost="1"/>
+
+</layout>
+
+<layout id="desktopalpha" noparent="1" ontop="1" h="80" w="128" desktopalpha="1" noactivation="1" nodock="1" move="0">
+
+ <grid left="notifier.bg.left.da" middle="notifier.bg.center.da" right="notifier.bg.right.da" fitparent="1" ghost="1" move="0"/>
+ <group id="notifier.text" x="75" y="0" h="80" w="-95" relatw="1" move="0"/>
+ <group id="notifier.albumart" x="0" y="0" h="80" w="80" relatw="1" move="0" visible="0"/>
+
+ <text id="endofplayback" x="16" y="32" w="-32" relatw="1" align="center" default="End of playback" color="notifier.dark" shadow="1" shadowcolor="notifier.bright" shadowx="1" shadowy="1" font="Arial" fontsize="20" visible="0" ghost="1"/>
+
+</layout> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/notifier.xml b/Src/resources/skins/Winamp Modern/xml/notifier.xml
new file mode 100644
index 00000000..6eeae70f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/notifier.xml
@@ -0,0 +1,9 @@
+<include file="notifier-elements.xml"/>
+<container id="notifier" name="Notifier" dynamic="1" default_visible="0" nomenu="1" nofocusapponclose="1">
+
+ <include file="notifier-normal.xml"/>
+
+</container>
+
+<!-- this script runs independently -->
+<script file="scripts/notifier.maki"/> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/player-elements-shade.xml b/Src/resources/skins/Winamp Modern/xml/player-elements-shade.xml
new file mode 100644
index 00000000..09a0f8c1
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player-elements-shade.xml
@@ -0,0 +1,186 @@
+<elements>
+
+<!-- Backgrounds/Overlays -->
+ <bitmap id="shade.bg.overlay" file="shade/bg_overlay.png" x="0" y="0" w="177" h="20" gammagroup="Backgrounds2"/>
+
+ <bitmap id="shade.bg.left" file="shade/shade_bg.png" x="0" y="0" w="303" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.bg.center" file="shade/shade_bg.png" x="305" y="0" w="5" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.bg.right" file="shade/shade_bg.png" x="305" y="0" w="49" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.bg.resize" file="shade/shade_bg.png" x="358" y="0" w="9" h="21" gammagroup="Backgrounds"/>
+
+ <bitmap id="shade.regions.left" file="shade/corners.png" x="0" y="0" w="5" h="25"/>
+ <bitmap id="shade.regions.right" file="shade/corners.png" x="10" y="0" w="5" h="25"/>
+
+ <bitmap id="shade.bg.X1" file="shade/buttons_bg.png" x="0" y="0" w="42" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.bg.X2" file="shade/buttons_bg.png" x="42" y="0" w="23" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.bg.X3" file="shade/buttons2.png" x="26" y="0" w="59" h="23" gammagroup="Backgrounds"/>
+ <bitmap id="shade.bg.X4" file="shade/buttons_bg.png" x="110" y="0" w="74" h="25" gammagroup="Backgrounds"/>
+
+<!-- Display -->
+ <bitmap id="shade.display.left" file="shade/pl_shade.png" x="23" y="34" w="10" h="14" gammagroup="Display"/>
+ <bitmap id="shade.display.center" file="shade/pl_shade.png" x="33" y="34" w="50" h="14" gammagroup="Display"/>
+ <bitmap id="shade.display.right" file="shade/pl_shade.png" x="214" y="34" w="6" h="14" gammagroup="Display"/>
+
+ <bitmap id="shade.display.bg.left" file="shade/pl_shade.png" x="20" y="0" w="10" h="22" gammagroup="Backgrounds"/>
+ <bitmap id="shade.display.bg.center" file="shade/pl_shade.png" x="30" y="0" w="10" h="22" gammagroup="Backgrounds"/>
+ <bitmap id="shade.display.bg.right" file="shade/pl_shade.png" x="208" y="0" w="10" h="22" gammagroup="Backgrounds"/>
+
+ <bitmap id="shade.display2.bg.right" file="shade/buttons2.png" x="5" y="0" w="21" h="23" gammagroup="Backgrounds"/>
+
+ <bitmap id="shade.display.vis.bg" file="shade/display_overlay.png" x="0" y="20" w="60" h="13" gammagroup="Display"/>
+ <bitmap id="shade.display.vis.overlay" file="shade/display_overlay.png" x="0" y="0" w="60" h="13" gammagroup="Display"/>
+ <bitmap id="shade.display.ticker.overlay" file="shade/display_overlay.png" x="0" y="40" w="5" h="13" gammagroup="Display"/>
+
+
+
+<!-- Playback buttons -->
+ <bitmap id="shade.button.previous" file="shade/buttons.png" x="212" y="3" h="13" w="14" gammagroup="Buttons"/>
+ <bitmap id="shade.button.previous.pressed" file="shade/buttons.png" x="212" y="23" h="13" w="14" gammagroup="Buttons"/>
+ <bitmap id="shade.button.previous.hover" file="shade/buttons.png" x="212" y="3" h="13" w="14" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.play" file="shade/buttons.png" x="232" y="1" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.play.pressed" file="shade/buttons.png" x="232" y="21" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.play.hover" file="shade/buttons.png" x="232" y="1" h="17" w="17" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.pause" file="shade/buttons.png" x="254" y="1" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.pause.pressed" file="shade/buttons.png" x="254" y="21" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.pause.hover" file="shade/buttons.png" x="254" y="1" h="17" w="17" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.stop" file="shade/buttons.png" x="276" y="1" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.stop.pressed" file="shade/buttons.png" x="276" y="21" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.stop.hover" file="shade/buttons.png" x="276" y="1" h="17" w="17" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.next" file="shade/buttons.png" x="299" y="3" h="13" w="14" gammagroup="Buttons"/>
+ <bitmap id="shade.button.next.pressed" file="shade/buttons.png" x="299" y="23" h="13" w="14" gammagroup="Buttons"/>
+ <bitmap id="shade.button.next.hover" file="shade/buttons.png" x="299" y="3" h="13" w="14" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.status.play" file="shade/playbackstatus.png" x="0" y="0" h="9" w="51" gammagroup="ButtonStatus"/>
+ <bitmap id="shade.button.status.pause" file="shade/playbackstatus.png" x="0" y="20" h="9" w="51" gammagroup="ButtonStatus"/>
+ <bitmap id="shade.button.status.stop" file="shade/playbackstatus.png" x="0" y="40" h="9" w="51" gammagroup="ButtonStatus"/>
+
+<!-- Volume -->
+ <bitmap id="shade.button.volume" file="shade/volume.png" x="0" y="0" h="11" w="16" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.volume.hover" file="shade/volume.png" x="0" y="0" h="11" w="16" gammagroup="ButtonsHover2"/>
+ <bitmap id="shade.button.volume.pressed" file="shade/volume.png" x="20" y="0" h="11" w="16" gammagroup="Buttons2"/>
+
+<!-- Seek -->
+ <bitmap id="shade.button.seek" file="shade/seek.png" x="0" y="0" h="10" w="24" gammagroup="Buttons"/>
+ <bitmap id="shade.button.seek.pressed" file="shade/seek.png" x="30" y="0" h="10" w="24" gammagroup="Buttons"/>
+ <bitmap id="shade.button.seek.hover" file="shade/seek.png" x="0" y="0" h="10" w="24" gammagroup="ButtonsHover"/>
+
+<!-- EJECT/PL/ML -->
+ <bitmap id="shade.button.eject" file="shade/buttons.png" x="349" y="7" h="9" w="14" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.eject.pressed" file="shade/buttons.png" x="349" y="27" h="9" w="14" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.eject.hover" file="shade/buttons.png" x="349" y="7" h="9" w="14" gammagroup="ButtonsHover2"/>
+
+ <bitmap id="shade.button.pl" file="shade/buttons.png" x="369" y="7" h="9" w="14" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.pl.pressed" file="shade/buttons.png" x="369" y="27" h="9" w="14" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.pl.hover" file="shade/buttons.png" x="369" y="7" h="9" w="14" gammagroup="ButtonsHover2"/>
+ <bitmap id="shade.button.pl.active" file="shade/buttons.png" x="369" y="47" h="9" w="14" gammagroup="ButtonsActive"/>
+
+ <bitmap id="shade.button.ml" file="shade/buttons.png" x="387" y="7" h="9" w="15" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.ml.pressed" file="shade/buttons.png" x="387" y="27" h="9" w="15" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.ml.hover" file="shade/buttons.png" x="387" y="7" h="9" w="15" gammagroup="ButtonsHover2"/>
+ <bitmap id="shade.button.ml.active" file="shade/buttons.png" x="387" y="47" h="9" w="15" gammagroup="ButtonsActive"/>
+
+<!-- MUTE -->
+ <bitmap id="shade.button.mute.off" file="shade/buttons.png" x="328" y="5" h="13" w="13" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.mute.on" file="shade/buttons.png" x="328" y="45" h="13" w="13" gammagroup="Buttons2"/>
+ <bitmap id="shade.button.mute.on.hover" file="shade/buttons.png" x="328" y="45" h="13" w="13" gammagroup="ButtonsHover2"/>
+ <bitmap id="shade.button.mute.on.pressed" file="shade/buttons.png" x="328" y="25" h="13" w="13" gammagroup="Buttons2"/>
+
+<!-- SHUFFLE/REPEAT -->
+ <bitmap id="shade.button.repeat0" file="shade/buttons.png" x="0" y="5" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.repeat.pressed0" file="shade/buttons.png" x="0" y="25" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.repeat.hover0" file="shade/buttons.png" x="0" y="5" h="15" w="15" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.repeat1" file="shade/buttons.png" x="0" y="5" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.repeat.pressed1" file="shade/buttons.png" x="0" y="45" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.repeat.hover1" file="shade/buttons.png" x="0" y="5" h="15" w="15" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.repeat2" file="shade/buttons.png" x="19" y="45" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.repeat.pressed2" file="shade/buttons.png" x="0" y="25" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.repeat.hover2" file="shade/buttons.png" x="19" y="45" h="15" w="15" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.button.shuffle" file="shade/buttons.png" x="19" y="5" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.shuffle.pressed" file="shade/buttons.png" x="19" y="25" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.button.shuffle.hover" file="shade/buttons.png" x="19" y="5" h="15" w="15" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.led.on" file="shade/led.png" x="0" y="0" h="9" w="9" gammagroup="Led"/>
+ <bitmap id="shade.led.off" file="shade/led.png" x="20" y="0" h="9" w="9" gammagroup="Led"/>
+
+<!-- EQ -->
+ <bitmap id="shade.button.eq" file="shade/buttons.png" x="109" y="1" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.eq.pressed" file="shade/buttons.png" x="109" y="21" h="17" w="17" gammagroup="Buttons"/>
+ <bitmap id="shade.button.eq.hover" file="shade/buttons.png" x="109" y="1" h="17" w="17" gammagroup="ButtonsHover"/>
+
+<!-- ColorThemes -->
+ <bitmap id="shade.button.ct" file="shade/buttons2.png" x="41" y="43" h="7" w="29" gammagroup="Buttons"/>
+ <bitmap id="shade.button.ct.pressed" file="shade/buttons2.png" x="41" y="73" h="7" w="29" gammagroup="Buttons"/>
+ <bitmap id="shade.button.ct.hover" file="shade/buttons2.png" x="41" y="43" h="7" w="29" gammagroup="ButtonsHover"/>
+ <bitmap id="shade.button.ct.prev" file="shade/buttons2.png" x="32" y="43" h="7" w="8" gammagroup="Buttons"/>
+ <bitmap id="shade.button.ct.prev.pressed" file="shade/buttons2.png" x="32" y="73" h="7" w="8" gammagroup="Buttons"/>
+ <bitmap id="shade.button.ct.prev.hover" file="shade/buttons2.png" x="32" y="43" h="7" w="8" gammagroup="ButtonsHover"/>
+ <bitmap id="shade.button.ct.next" file="shade/buttons2.png" x="71" y="43" h="7" w="8" gammagroup="Buttons"/>
+ <bitmap id="shade.button.ct.next.pressed" file="shade/buttons2.png" x="71" y="73" h="7" w="8" gammagroup="Buttons"/>
+ <bitmap id="shade.button.ct.next.hover" file="shade/buttons2.png" x="71" y="43" h="7" w="8" gammagroup="ButtonsHover"/>
+
+<!-- Always on top -->
+ <bitmap id="shade.button.aot" file="shade/buttons2.png" x="33" y="32" h="7" w="34" gammagroup="Buttons"/>
+ <bitmap id="shade.button.aot.pressed" file="shade/buttons2.png" x="33" y="62" h="7" w="34" gammagroup="Buttons"/>
+ <bitmap id="shade.button.aot.hover" file="shade/buttons2.png" x="33" y="32" h="7" w="34" gammagroup="ButtonsHover"/>
+
+<!-- Expand/Reduce -->
+ <bitmap id="shade.button.expand" file="shade/buttons2.png" x="16" y="37" h="7" w="7" gammagroup="Buttons"/>
+ <bitmap id="shade.button.expand.pressed" file="shade/buttons2.png" x="16" y="67" h="7" w="7" gammagroup="Buttons"/>
+ <bitmap id="shade.button.expand.hover" file="shade/buttons2.png" x="16" y="37" h="7" w="7" gammagroup="ButtonsHover"/>
+ <bitmap id="shade.button.reduce" file="shade/buttons2.png" x="96" y="37" h="7" w="7" gammagroup="Buttons"/>
+ <bitmap id="shade.button.reduce.pressed" file="shade/buttons2.png" x="96" y="67" h="7" w="7" gammagroup="Buttons"/>
+ <bitmap id="shade.button.reduce.hover" file="shade/buttons2.png" x="96" y="37" h="7" w="7" gammagroup="ButtonsHover"/>
+
+<!-- SONGTICKERFONT -->
+ <bitmap id="bitmapfont.shade.songticker" file="shade/songtickerfont.png" x="0" y="0" h="40" w="300" gammagroup="DisplaySongtickerShade"/>
+ <bitmapfont id="shade.songticker.font" file="bitmapfont.shade.songticker" charwidth="7" charheight="12" hspacing="-1" vspacing="0"/>
+
+<!-- CLOSE/MINIMIZE... -->
+ <bitmap id="shade.button.winshade" file="window/titlebar.png" x="0" y="140" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.winshade.pressed" file="window/titlebar.png" x="40" y="140" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.winshade.hover" file="window/titlebar.png" x="0" y="140" h="10" w="11" gammagroup="TitlebarHover"/>
+
+ <bitmap id="shade.button.minimize" file="window/titlebar.png" x="0" y="40" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.minimize.pressed" file="window/titlebar.png" x="40" y="40" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.minimize.hover" file="window/titlebar.png" x="0" y="40" h="10" w="11" gammagroup="TitlebarHover"/>
+
+ <bitmap id="shade.button.close" file="window/titlebar.png" x="0" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.close.pressed" file="window/titlebar.png" x="40" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.close.hover" file="window/titlebar.png" x="0" y="80" h="10" w="11" gammagroup="TitlebarHover"/>
+
+ <bitmap id="shade.button.sysmenu" file="window/titlebar.png" x="0" y="20" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.sysmenu.pressed" file="window/titlebar.png" x="40" y="20" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="shade.button.sysmenu.hover" file="window/titlebar.png" x="0" y="20" h="10" w="11" gammagroup="TitlebarHover"/>
+
+<!-- PLAYLIST SHADE -->
+ <bitmap id="shade.pl.bg.left" file="shade/pl_shade.png" x="0" y="0" w="30" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.pl.bg.center" file="shade/pl_shade.png" x="36" y="0" w="10" h="25" gammagroup="Backgrounds"/>
+ <bitmap id="shade.pl.bg.right" file="shade/pl_shade.png" x="208" y="0" w="74" h="25" gammagroup="Backgrounds"/>
+
+ <bitmap id="shade.pl.display.left" file="shade/pl_shade.png" x="23" y="34" w="10" h="14" gammagroup="Display"/>
+ <bitmap id="shade.pl.display.center" file="shade/pl_shade.png" x="33" y="34" w="50" h="14" gammagroup="Display"/>
+ <bitmap id="shade.pl.display.right" file="shade/pl_shade.png" x="214" y="34" w="6" h="14" gammagroup="Display"/>
+
+ <bitmap id="shade.pl.seek" file="shade/pl_shade.png" x="29" y="65" h="9" w="24" gammagroup="Buttons"/>
+ <bitmap id="shade.pl.seek.pressed" file="shade/pl_shade.png" x="59" y="65" h="9" w="24" gammagroup="Buttons"/>
+ <bitmap id="shade.pl.seek.hover" file="shade/pl_shade.png" x="29" y="65" h="9" w="24" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.pl.button.list" file="shade/pl_shade.png" x="228" y="35" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.pl.button.list.pressed" file="shade/pl_shade.png" x="228" y="65" h="15" w="15" gammagroup="Buttons"/>
+ <bitmap id="shade.pl.button.list.hover" file="shade/pl_shade.png" x="228" y="35" h="15" w="15" gammagroup="ButtonsHover"/>
+
+ <bitmap id="shade.pl.resize" file="shade/pl_shade.png" x="137" y="57" h="23" w="9" gammagroup="Buttons"/>
+
+ <bitmap id="shade.button.nowplaying.normal" file="shade/nowplaying.png" x="0" y="0" h="10" w="10" gammagroup="DisplayVis"/>
+ <bitmap id="shade.button.nowplaying.hover" file="shade/nowplaying.png" x="10" y="0" h="10" w="10" gammagroup="DisplayVis"/>
+ <bitmap id="shade.button.nowplaying.down" file="shade/nowplaying.png" x="20" y="0" h="10" w="10" gammagroup="DisplayVis"/>
+
+</elements>
+
diff --git a/Src/resources/skins/Winamp Modern/xml/player-elements.xml b/Src/resources/skins/Winamp Modern/xml/player-elements.xml
new file mode 100644
index 00000000..95234b88
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player-elements.xml
@@ -0,0 +1,723 @@
+<elements>
+
+
+ <!-- SUI Playlist Search -->
+ <bitmap id="sui.pl.search.box.1" file="window/sui.png" x="180" y="39" w="6" h="1" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.2" file="window/sui.png" x="187" y="39" w="6" h="1" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.3" file="window/sui.png" x="194" y="39" w="6" h="1" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.4" file="window/sui.png" x="180" y="41" w="6" h="6" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.5" file="window/sui.png" x="187" y="41" w="6" h="6" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.6" file="window/sui.png" x="194" y="41" w="6" h="6" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.7" file="window/sui.png" x="180" y="48" w="6" h="24" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.8" file="window/sui.png" x="187" y="48" w="6" h="24" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.box.9" file="window/sui.png" x="194" y="48" w="6" h="24" gammagroup="Backgrounds"/>
+
+ <bitmap id="sui.pl.search.bg.1" file="window/sui.png" x="81" y="31" w="18" h="30" gammagroup="ListBackground"/>
+ <bitmap id="sui.pl.search.bg.2" file="window/sui.png" x="100" y="31" w="20" h="30" gammagroup="ListBackground"/>
+ <bitmap id="sui.pl.search.bg.3" file="window/sui.png" x="121" y="31" w="18" h="30" gammagroup="ListBackground"/>
+
+ <bitmap id="sui.pl.search.bgv.1" file="window/sui.png" x="0" y="31" w="30" h="30" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.bgv.2" file="window/sui.png" x="31" y="31" w="20" h="30" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.bgv.3" file="window/sui.png" x="50" y="31" w="30" h="30" gammagroup="Backgrounds"/>
+
+ <bitmap id="sui.pl.search.go.bgv" file="window/sui.png" x="225" y="0" w="20" h="19" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.go.1" file="window/sui.png" x="225" y="20" w="20" h="19" gammagroup="Buttons"/>
+ <bitmap id="sui.pl.search.go.2" file="window/sui.png" x="225" y="40" w="20" h="19" gammagroup="Buttons"/>
+ <bitmap id="sui.pl.search.go.3" file="window/sui.png" x="225" y="60" w="20" h="19" gammagroup="Buttons"/>
+
+ <bitmap id="sui.pl.search.stop.bgv" file="window/sui.png" x="201" y="0" w="20" h="19" gammagroup="Backgrounds"/>
+ <bitmap id="sui.pl.search.stop.1" file="window/sui.png" x="201" y="20" w="20" h="19" gammagroup="Buttons"/>
+ <bitmap id="sui.pl.search.stop.2" file="window/sui.png" x="201" y="40" w="20" h="19" gammagroup="Buttons"/>
+ <bitmap id="sui.pl.search.stop.3" file="window/sui.png" x="201" y="60" w="20" h="19" gammagroup="Buttons"/>
+
+
+<!-- Player Backgrounds/Overlays -->
+ <bitmap id="player.main.left" file="window/main.png" x="0" y="0" h="126" w="180" gammagroup="Backgrounds"/>
+ <bitmap id="player.main.center" file="window/main.png" x="200" y="0" h="126" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="player.main.right" file="window/main.png" x="264" y="0" h="126" w="90" gammagroup="Backgrounds"/>
+ <bitmap id="player.main.bg2.left" file="window/main2.png" x="0" y="0" h="31" w="60" gammagroup="Backgrounds2"/>
+ <bitmap id="player.main.bg2.center" file="window/main2.png" x="60" y="0" h="31" w="20" gammagroup="Backgrounds2"/>
+ <bitmap id="player.main.bg2.right" file="window/main2.png" x="126" y="0" h="31" w="90" gammagroup="Backgrounds2"/>
+ <bitmap id="player.main.left.region" file="player/mainregions.png" x="0" y="0" h="6" w="6"/>
+ <bitmap id="player.main.right.region" file="player/mainregions.png" x="10" y="0" h="6" w="6"/>
+ <bitmap id="player.main.bg" file="player/main_bg.png" x="0" y="0" h="126" w="354"/>
+ <bitmap id="player.openclose.overlay" file="player/openclose_overlay.png" x="0" y="0" h="17" w="40" gammagroup="Backgrounds"/>
+ <bitmap id="player.main.bg2.textoverlay" file="player/txt_config.png" x="0" y="0" h="5" w="25" gammagroup="BG2Textoverlay"/>
+
+<!-- Media Library Window -->
+ <bitmap id="player.ml.topleft" file="window/mlwindow.png" x="0" y="0" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.topright" file="window/mlwindow.png" x="58" y="0" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.topcenter" file="window/mlwindow.png" x="20" y="0" h="5" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.left" file="window/mlwindow.png" x="0" y="5" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.right" file="window/mlwindow.png" x="58" y="5" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.bottomleft" file="window/mlwindow.png" x="0" y="16" h="52" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.bottomright" file="window/mlwindow.png" x="44" y="16" h="52" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="player.ml.bottomcenter" file="window/mlwindow.png" x="30" y="58" h="10" w="10" gammagroup="Backgrounds"/>
+
+<!-- Playlist Window -->
+ <bitmap id="player.pl.topleft" file="window/plwindow.png" x="0" y="0" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.topright" file="window/plwindow.png" x="58" y="0" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.topcenter" file="window/plwindow.png" x="20" y="0" h="5" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.left" file="window/plwindow.png" x="0" y="5" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.right" file="window/plwindow.png" x="58" y="5" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.bottomleft" file="window/plwindow.png" x="0" y="16" h="67" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.bottomright" file="window/plwindow.png" x="44" y="16" h="67" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.bottomcenter" file="window/plwindow.png" x="30" y="58" h="25" w="10" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.button.add" file="player/buttons_pl.png" x="4" y="0" h="13" w="37" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.add.pressed" file="player/buttons_pl.png" x="4" y="20" h="13" w="37" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.add.hover" file="player/buttons_pl.png" x="4" y="0" h="13" w="37" gammagroup="ButtonsHover"/>
+ <bitmap id="player.pl.button.add.bg" file="player/buttons_pl.png" x="1" y="36" h="21" w="44" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.button.rem" file="player/buttons_pl.png" x="49" y="0" h="13" w="38" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.rem.pressed" file="player/buttons_pl.png" x="49" y="20" h="13" w="38" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.rem.hover" file="player/buttons_pl.png" x="49" y="0" h="13" w="38" gammagroup="ButtonsHover"/>
+ <bitmap id="player.pl.button.rem.bg" file="player/buttons_pl.png" x="45" y="36" h="21" w="46" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.button.sel" file="player/buttons_pl.png" x="95" y="0" h="13" w="31" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.sel.pressed" file="player/buttons_pl.png" x="95" y="20" h="13" w="31" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.sel.hover" file="player/buttons_pl.png" x="95" y="0" h="13" w="31" gammagroup="ButtonsHover"/>
+ <bitmap id="player.pl.button.sel.bg" file="player/buttons_pl.png" x="91" y="36" h="21" w="39" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.button.misc" file="player/buttons_pl.png" x="134" y="0" h="13" w="38" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.misc.pressed" file="player/buttons_pl.png" x="134" y="20" h="13" w="38" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.misc.hover" file="player/buttons_pl.png" x="134" y="0" h="13" w="38" gammagroup="ButtonsHover"/>
+ <bitmap id="player.pl.button.misc.bg" file="player/buttons_pl.png" x="130" y="36" h="21" w="46" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.button.list" file="player/buttons_pl.png" x="220" y="0" h="13" w="91" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.list.pressed" file="player/buttons_pl.png" x="220" y="20" h="13" w="91" gammagroup="Buttons"/>
+ <bitmap id="player.pl.button.list.hover" file="player/buttons_pl.png" x="220" y="0" h="13" w="91" gammagroup="ButtonsHover"/>
+ <bitmap id="player.pl.button.list.bg" file="player/buttons_pl.png" x="216" y="36" h="21" w="99" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.resizer" file="player/resize_pl.png" x="0" y="0" h="15" w="15" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.pl.time" file="player/pe_time.png" x="0" y="0" h="20" w="70" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.time.display" file="player/pe_time.png" x="5" y="34" h="11" w="60" gammagroup="Display"/>
+ <bitmap id="player.pl.time.left" file="player/pe_time.png" x="0" y="0" h="20" w="55" gammagroup="Backgrounds"/>
+ <bitmap id="player.pl.time.display.left" file="player/pe_time.png" x="5" y="34" h="11" w="50" gammagroup="Display"/>
+
+<!-- PE Time -->
+ <bitmap id="bitmapfont.pe.font" file="player/pe_time_font.png" x="0" y="0" h="23" w="124" gammagroup="DisplayElements"/>
+ <bitmapfont id="player.pe.time.font" file="bitmapfont.pe.font" charwidth="4" charheight="8" hspacing="0" vspacing="0"/>
+
+<!-- Drawer Background -->
+ <bitmap id="drawer.main.left" file="player/drawer_bg.png" x="0" y="4" h="133" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.main.center" file="player/drawer_bg.png" x="20" y="4" h="133" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.main.right" file="player/drawer_bg.png" x="50" y="4" h="133" w="90" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.main.left.region" file="player/drawer_bg_regions.png" x="0" y="4" h="133" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.main.right.region" file="player/drawer_bg_regions.png" x="50" y="4" h="133" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.colorthemes.bg" file="player/ct_background.png" x="0" y="0" h="90" w="306" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.colorthemes.txtoverlay.dark" file="player/ct_background.png" x="318" y="20" h="21" w="72" gammagroup="BGOverlayDark"/>
+
+ <bitmap id="wasabi.list.background" file="player/ct_bg.png" x="0" y="0" h="36" w="36" gammagroup="ListBackground"/>
+
+ <bitmap id="drawer.main.shadow.left" file="player/drawer_shadow.png" x="0" y="0" h="15" w="10"/>
+ <bitmap id="drawer.main.shadow.right" file="player/drawer_shadow.png" x="260" y="0" h="15" w="76"/>
+
+ <bitmap id="drawer.button.settheme" file="player/button_ct_switch.png" x="43" y="0" h="13" w="48" gammagroup="Buttons"/>
+ <bitmap id="drawer.button.settheme.hover" file="player/button_ct_switch.png" x="43" y="0" h="13" w="48" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.button.settheme.pressed" file="player/button_ct_switch.png" x="43" y="20" h="13" w="48" gammagroup="Buttons"/>
+
+ <bitmap id="drawer.button.theme.prev" file="player/button_ct_switch.png" x="0" y="0" h="13" w="12" gammagroup="Buttons"/>
+ <bitmap id="drawer.button.theme.prev.hover" file="player/button_ct_switch.png" x="0" y="0" h="13" w="12" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.button.theme.prev.pressed" file="player/button_ct_switch.png" x="0" y="20" h="13" w="12" gammagroup="Buttons"/>
+
+ <bitmap id="drawer.button.theme.next" file="player/button_ct_switch.png" x="22" y="0" h="13" w="11" gammagroup="Buttons"/>
+ <bitmap id="drawer.button.theme.next.hover" file="player/button_ct_switch.png" x="22" y="0" h="13" w="11" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.button.theme.next.pressed" file="player/button_ct_switch.png" x="22" y="20" h="13" w="11" gammagroup="Buttons"/>
+
+<!-- Drawer InnerBackground -->
+ <bitmap id="drawer.inner.left" file="player/config_tabs.png" x="0" y="4" h="119" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.inner.center" file="player/config_tabs.png" x="68" y="4" h="119" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.inner.right" file="player/config_tabs.png" x="186" y="4" h="119" w="20" gammagroup="Backgrounds"/>
+
+<!-- Drawer Elements -->
+ <bitmap id="drawer.tab.off.left" file="player/config_tabs.png" x="19" y="112" h="19" w="15" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.tab.off.center" file="player/config_tabs.png" x="34" y="112" h="19" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.tab.off.right" file="player/config_tabs.png" x="52" y="112" h="19" w="15" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.tab.on.left" file="player/config_tabs.png" x="79" y="112" h="19" w="15" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.tab.on.center" file="player/config_tabs.png" x="94" y="112" h="19" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.tab.on.right" file="player/config_tabs.png" x="112" y="112" h="19" w="15" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.button.close.bg" file="player/config_tabs.png" x="139" y="117" h="15" w="41" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.button.close" file="player/button_config_drawer.png" x="0" y="20" h="7" w="25" gammagroup="Buttons"/>
+ <bitmap id="drawer.button.close.hover" file="player/button_config_drawer.png" x="0" y="20" h="7" w="25" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.button.close.pressed" file="player/button_config_drawer.png" x="50" y="20" h="7" w="25" gammagroup="Buttons"/>
+ <bitmap id="drawer.button.open" file="player/button_config_drawer.png" x="0" y="0" h="7" w="25" gammagroup="Buttons"/>
+ <bitmap id="drawer.button.open.hover" file="player/button_config_drawer.png" x="0" y="0" h="7" w="25" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.button.open.pressed" file="player/button_config_drawer.png" x="50" y="0" h="7" w="25" gammagroup="Buttons"/>
+
+<!-- Drawer Content Options -->
+ <bitmap id="drawer.options.bg" file="player/options_bg.png" x="0" y="0" h="93" w="314" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.options.bg.display" file="player/options_bg.png" x="0" y="100" h="93" w="314" gammagroup="Display"/>
+
+ <bitmap id="drawer.options.bg2" file="player/options_elements.png" x="21" y="6" h="85" w="291" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.bg2.shadow" file="player/options_elements.png" x="571" y="6" h="85" w="291" gammagroup="Display"/>
+
+ <bitmap id="drawer.options.button.scroll.up" file="player/options_scrollbuttons.png" x="160" y="0" h="9" w="69" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.scroll.up.hover" file="player/options_scrollbuttons.png" x="80" y="0" h="9" w="69" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.scroll.up.pressed" file="player/options_scrollbuttons.png" x="0" y="0" h="9" w="69" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.scroll.down" file="player/options_scrollbuttons.png" x="160" y="66" h="9" w="69" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.scroll.down.hover" file="player/options_scrollbuttons.png" x="80" y="66" h="9" w="69" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.scroll.down.pressed" file="player/options_scrollbuttons.png" x="0" y="66" h="9" w="69" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.drawers" file="player/options_buttons.png" x="180" y="0" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.drawers.hover" file="player/options_buttons.png" x="90" y="0" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.drawers.pressed" file="player/options_buttons.png" x="0" y="0" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.menus" file="player/options_buttons.png" x="180" y="14" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.menus.hover" file="player/options_buttons.png" x="90" y="14" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.menus.pressed" file="player/options_buttons.png" x="0" y="14" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.winshade" file="player/options_buttons.png" x="180" y="28" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.winshade.hover" file="player/options_buttons.png" x="90" y="28" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.winshade.pressed" file="player/options_buttons.png" x="0" y="28" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.visbutton" file="player/options_buttons.png" x="180" y="42" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.visbutton.hover" file="player/options_buttons.png" x="90" y="42" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.visbutton.pressed" file="player/options_buttons.png" x="0" y="42" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.notifications" file="player/options_buttons.png" x="180" y="56" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.notifications.hover" file="player/options_buttons.png" x="90" y="56" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.notifications.pressed" file="player/options_buttons.png" x="0" y="56" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.songticker" file="player/options_buttons.png" x="180" y="70" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.songticker.hover" file="player/options_buttons.png" x="90" y="70" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.songticker.pressed" file="player/options_buttons.png" x="0" y="70" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.misc" file="player/options_buttons.png" x="180" y="84" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.misc.hover" file="player/options_buttons.png" x="90" y="84" h="14" w="77" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.button.misc.pressed" file="player/options_buttons.png" x="0" y="84" h="14" w="77" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.button.drawers.shadow" file="player/options_buttons.png" x="290" y="0" h="14" w="77" gammagroup="Display"/>
+ <bitmap id="drawer.options.button.menus.shadow" file="player/options_buttons.png" x="290" y="14" h="14" w="77" gammagroup="Display"/>
+ <bitmap id="drawer.options.button.winshade.shadow" file="player/options_buttons.png" x="290" y="28" h="14" w="77" gammagroup="Display"/>
+ <bitmap id="drawer.options.button.visbutton.shadow" file="player/options_buttons.png" x="290" y="42" h="14" w="77" gammagroup="Display"/>
+ <bitmap id="drawer.options.button.notifications.shadow" file="player/options_buttons.png" x="290" y="56" h="14" w="77" gammagroup="Display"/>
+ <bitmap id="drawer.options.button.songticker.shadow" file="player/options_buttons.png" x="290" y="70" h="14" w="77" gammagroup="Display"/>
+ <bitmap id="drawer.options.button.misc.shadow" file="player/options_buttons.png" x="290" y="84" h="14" w="77" gammagroup="Display"/>
+
+ <bitmap id="drawer.options.drawers.shadow" file="player/options_elements.png" x="577" y="112" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.drawers.text" file="player/options_elements.png" x="27" y="112" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.menus.shadow" file="player/options_elements.png" x="577" y="202" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.menus.text" file="player/options_elements.png" x="27" y="202" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.winshade.shadow" file="player/options_elements.png" x="577" y="292" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.winshade.text" file="player/options_elements.png" x="27" y="292" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.misc.shadow" file="player/options_elements.png" x="797" y="112" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.misc.text" file="player/options_elements.png" x="247" y="112" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.notifications.shadow" file="player/options_elements.png" x="797" y="292" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.notifications.text" file="player/options_elements.png" x="247" y="292" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.notifications2.fadein.shadow" file="player/options_elements.png" x="797" y="382" h="25" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.notifications2.fadein.text" file="player/options_elements.png" x="247" y="382" h="25" w="198" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.notifications2.hold.shadow" file="player/options_elements.png" x="797" y="408" h="25" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.notifications2.hold.text" file="player/options_elements.png" x="247" y="408" h="25" w="198" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.notifications2.fadeout.shadow" file="player/options_elements.png" x="797" y="432" h="24" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.notifications2.fadeout.text" file="player/options_elements.png" x="247" y="432" h="24" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.songticker.shadow" file="player/options_elements.png" x="577" y="382" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.songticker.text" file="player/options_elements.png" x="27" y="382" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.visbutton.shadow" file="player/options_elements.png" x="797" y="202" h="72" w="198" gammagroup="Display"/>
+ <bitmap id="drawer.options.visbutton.text" file="player/options_elements.png" x="247" y="202" h="72" w="198" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.checkbox.w181.off" file="player/options_buttons2.png" x="0" y="80" h="13" w="181" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.checkbox.w181.on" file="player/options_buttons2.png" x="0" y="100" h="13" w="181" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.checkbox.w181.hover" file="player/options_buttons2.png" x="0" y="0" h="13" w="181" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.checkbox.w181.down" file="player/options_buttons2.png" x="0" y="20" h="13" w="181" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.checkbox.w131.off" file="player/options_buttons2.png" x="0" y="80" h="13" w="131" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.checkbox.w131.on" file="player/options_buttons2.png" x="0" y="100" h="13" w="131" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.checkbox.w131.hover" file="player/options_buttons2.png" x="0" y="0" h="13" w="131" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.checkbox.w131.down" file="player/options_buttons2.png" x="0" y="20" h="13" w="131" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.radio.w181.off" file="player/options_buttons2.png" x="0" y="120" h="13" w="181" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.radio.w181.on" file="player/options_buttons2.png" x="0" y="140" h="13" w="181" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.radio.w181.hover" file="player/options_buttons2.png" x="0" y="40" h="13" w="181" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.radio.w181.down" file="player/options_buttons2.png" x="0" y="60" h="13" w="181" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.radio.w140.off" file="player/options_buttons2.png" x="0" y="120" h="13" w="140" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.radio.w140.on" file="player/options_buttons2.png" x="0" y="140" h="13" w="140" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.radio.w140.hover" file="player/options_buttons2.png" x="0" y="40" h="13" w="140" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.radio.w140.down" file="player/options_buttons2.png" x="0" y="60" h="13" w="140" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.more" file="player/options_more.png" x="0" y="30" h="19" w="49" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.more.hover" file="player/options_more.png" x="60" y="30" h="19" w="49" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.more.down" file="player/options_more.png" x="120" y="30" h="19" w="49" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.back" file="player/options_more.png" x="0" y="0" h="19" w="49" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.back.hover" file="player/options_more.png" x="60" y="0" h="19" w="49" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.back.down" file="player/options_more.png" x="120" y="0" h="19" w="49" gammagroup="DisplayElements"/>
+
+ <bitmap id="drawer.options.slider" file="player/options_slider.png" x="0" y="0" h="10" w="14" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.slider.hover" file="player/options_slider.png" x="0" y="10" h="10" w="14" gammagroup="DisplayElements"/>
+ <bitmap id="drawer.options.slider.down" file="player/options_slider.png" x="0" y="0" h="10" w="14" gammagroup="DisplayElements"/>
+
+<!-- Drawer Content EQ -->
+ <bitmap id="drawer.eq.bg" file="player/eq_bg.png" x="0" y="0" h="89" w="318" gammagroup="Backgrounds"/>
+ <bitmap id="player.main.eq.button" file="player/button_eq.png" x="0" y="0" h="23" w="13" gammagroup="Buttons"/>
+ <bitmap id="player.main.eq.button.hover" file="player/button_eq.png" x="0" y="0" h="23" w="13" gammagroup="ButtonsHover"/>
+ <bitmap id="player.main.eq.button.pressed" file="player/button_eq.png" x="18" y="0" h="23" w="13" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.txtoverlay.dark" file="player/eq_textoverlay.png" x="0" y="0" h="76" w="318" gammagroup="BGOverlayDark"/>
+ <bitmap id="drawer.eq.txtoverlay.bright" file="player/eq_textoverlay.png" x="0" y="82" h="7" w="318" gammagroup="BGOverlayBright"/>
+ <bitmap id="drawer.eq.balance.txtoverlay.bright" file="player/eq_textoverlay.png" x="0" y="89" h="5" w="63" gammagroup="BGOverlayBright"/>
+ <bitmap id="drawer.eq.button.on" file="player/buttons_eq.png" x="8" y="21" h="9" w="20" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.on.pressed" file="player/buttons_eq.png" x="88" y="21" h="9" w="20" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.on.hover" file="player/buttons_eq.png" x="8" y="21" h="9" w="20" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.button.auto" file="player/buttons_eq.png" x="8" y="35" h="9" w="33" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.auto.pressed" file="player/buttons_eq.png" x="88" y="35" h="9" w="33" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.auto.hover" file="player/buttons_eq.png" x="8" y="35" h="9" w="33" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.button.presets" file="player/buttons_eq.png" x="8" y="49" h="9" w="49" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.presets.pressed" file="player/buttons_eq.png" x="88" y="49" h="9" w="49" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.presets.hover" file="player/buttons_eq.png" x="8" y="49" h="9" w="49" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.balance.bg" file="player/eq_balance.png" x="0" y="0" h="16" w="68" gammagroup="Backgrounds"/>
+ <bitmap id="drawer.eq.button.balance" file="player/button_balance.png" x="69" y="5" h="13" w="23" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.balance.hover" file="player/button_balance.png" x="69" y="5" h="13" w="23" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.button.balance.pressed" file="player/button_balance.png" x="99" y="5" h="13" w="23" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.crossfade" file="player/buttons_eq.png" x="0" y="0" h="9" w="18" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.crossfade.hover" file="player/buttons_eq.png" x="0" y="0" h="9" w="18" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.button.crossfade.pressed" file="player/buttons_eq.png" x="80" y="0" h="9" w="18" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.crossfade.display" file="player/buttons_eq.png" x="46" y="21" h="9" w="12" gammagroup="Display"/>
+ <bitmap id="drawer.eq.button.crossfade.prev" file="player/buttons_eq.png" x="35" y="0" h="9" w="7" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.crossfade.prev.hover" file="player/buttons_eq.png" x="35" y="0" h="9" w="7" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.button.crossfade.prev.pressed" file="player/buttons_eq.png" x="115" y="0" h="9" w="7" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.crossfade.next" file="player/buttons_eq.png" x="56" y="0" h="9" w="7" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.button.crossfade.next.hover" file="player/buttons_eq.png" x="56" y="0" h="9" w="7" gammagroup="ButtonsHover"/>
+ <bitmap id="drawer.eq.button.crossfade.next.pressed" file="player/buttons_eq.png" x="136" y="0" h="9" w="7" gammagroup="Buttons"/>
+ <bitmap id="drawer.eq.label.winamp" file="player/eq_labels.png" x="0" y="0" h="5" w="174" gammagroup="BGOverlayBright"/>
+ <bitmap id="drawer.eq.label.iso" file="player/eq_labels.png" x="0" y="5" h="5" w="174" gammagroup="BGOverlayBright"/>
+
+<!-- Titlebar -->
+ <bitmap id="wasabi.titlebar.left.active" file="window/titlebar.png" x="0" y="100" h="9" w="10" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.titlebar.center.active" file="window/titlebar.png" x="10" y="100" h="9" w="10" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.titlebar.right.active" file="window/titlebar.png" x="43" y="100" h="9" w="10" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.titlebar.left.inactive" file="window/titlebar.png" x="0" y="110" h="9" w="10" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.titlebar.center.inactive" file="window/titlebar.png" x="10" y="110" h="9" w="10" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.titlebar.right.inactive" file="window/titlebar.png" x="43" y="110" h="9" w="10" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.titlebar.overlay" file="window/titlebar_overlay.png" x="0" y="0" h="11" w="32" gammagroup="Titlebar"/>
+
+<!-- Resize -->
+ <bitmap id="player.resizer" file="player/resizer.png" x="0" y="0" w="17" h="17" gammagroup="Backgrounds2"/>
+
+<!-- Menubar -->
+ <bitmap id="wasabi.menubar.left" file="player/menubar.png" x="0" y="0" h="17" w="5" gammagroup="Menubar"/>
+ <bitmap id="wasabi.menubar.center" file="player/menubar.png" x="5" y="0" h="17" w="5" gammagroup="Menubar"/>
+ <bitmap id="wasabi.menubar.right.overlay" file="player/menubar.png" x="25" y="0" h="17" w="45" gammagroup="Menubar"/>
+ <bitmap id="wasabi.menubar.right.textoverlay" file="player/menubar.png" x="125" y="0" h="17" w="45" gammagroup="MenubarText"/>
+ <bitmap id="wasabi.menubar.right" file="player/menubar.png" x="75" y="0" h="17" w="45" gammagroup="Menubar"/>
+
+<!-- Menu -->
+ <bitmap id="txt.menu.file" file="window/menu/file.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.play" file="window/menu/play.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.view" file="window/menu/view.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.help" file="window/menu/help.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.play" file="window/menu/play.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.sort" file="window/menu/sort.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.options" file="window/menu/options.png" gammagroup="MenubarText"/>
+ <bitmap id="txt.menu.playlist" file="window/menu/playlist.png" gammagroup="MenubarText"/>
+
+ <bitmap id="button.menu.hover.left" file="window/menu_elements.png" x="31" y="20" w="4" h="16" gammagroup="Menubar"/>
+ <bitmap id="button.menu.hover.middle" file="window/menu_elements.png" x="35" y="20" w="44" h="16" gammagroup="Menubar"/>
+ <bitmap id="button.menu.hover.right" file="window/menu_elements.png" x="79" y="20" w="3" h="16" gammagroup="Menubar"/>
+
+ <bitmap id="button.menu.pressed.left" file="window/menu_elements.png" x="31" y="40" w="4" h="16" gammagroup="Menubar"/>
+ <bitmap id="button.menu.pressed.middle" file="window/menu_elements.png" x="35" y="40" w="44" h="16" gammagroup="Menubar"/>
+ <bitmap id="button.menu.pressed.right" file="window/menu_elements.png" x="79" y="40" w="3" h="16" gammagroup="Menubar"/>
+
+<!-- Titlebar Buttons -->
+ <bitmap id="wasabi.button.winshade" file="window/titlebar.png" x="0" y="60" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.winshade.pressed" file="window/titlebar.png" x="40" y="60" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.winshade.hover" file="window/titlebar.png" x="0" y="60" h="10" w="11" gammagroup="TitlebarHover"/>
+ <bitmap id="wasabi.button.winshade.inactive" file="window/titlebar.png" x="60" y="60" h="10" w="11" gammagroup="TitlebarElements"/>
+
+ <bitmap id="wasabi.button.sysmenu" file="window/titlebar.png" x="0" y="20" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.sysmenu.pressed" file="window/titlebar.png" x="40" y="20" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.sysmenu.hover" file="window/titlebar.png" x="0" y="20" h="10" w="11" gammagroup="TitlebarHover"/>
+ <bitmap id="wasabi.button.sysmenu.inactive" file="window/titlebar.png" x="60" y="20" h="10" w="11" gammagroup="TitlebarElements"/>
+
+ <bitmap id="wasabi.button.minimize" file="window/titlebar.png" x="0" y="40" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.minimize.pressed" file="window/titlebar.png" x="40" y="40" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.minimize.hover" file="window/titlebar.png" x="0" y="40" h="10" w="11" gammagroup="TitlebarHover"/>
+ <bitmap id="wasabi.button.minimize.inactive" file="window/titlebar.png" x="60" y="40" h="10" w="11" gammagroup="TitlebarElements"/>
+
+ <bitmap id="wasabi.button.exit" file="window/titlebar.png" x="0" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.exit.pressed" file="window/titlebar.png" x="40" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.exit.hover" file="window/titlebar.png" x="0" y="80" h="10" w="11" gammagroup="TitlebarHover"/>
+ <bitmap id="wasabi.button.exit.inactive" file="window/titlebar.png" x="60" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+
+ <bitmap id="wasabi.button.close.flat" file="window/titlebar.png" x="0" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.close.flat.pressed" file="window/titlebar.png" x="40" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+ <bitmap id="wasabi.button.close.flat.hover" file="window/titlebar.png" x="0" y="80" h="10" w="11" gammagroup="TitlebarHover"/>
+ <bitmap id="wasabi.button.close.flat.inactive" file="window/titlebar.png" x="60" y="80" h="10" w="11" gammagroup="TitlebarElements"/>
+
+ <bitmap id="wasabi.button.bg.title" file="window/titlebar.png" x="60" y="100" h="11" w="13" gammagroup="Titlebar"/>
+
+<!-- Playback buttons -->
+ <bitmap id="player.button.previous.bg" file="player/player_buttons.png" x="0" y="0" h="26" w="30" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.previous" file="player/player_buttons.png" x="0" y="40" h="26" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.previous.pressed" file="player/player_buttons.png" x="0" y="80" h="26" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.previous.hover" file="player/player_buttons.png" x="0" y="120" h="26" w="30" gammagroup="ButtonGlow"/>
+
+ <bitmap id="player.button.play.bg" file="player/player_buttons.png" x="30" y="0" h="29" w="30" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.play" file="player/player_buttons.png" x="30" y="40" h="29" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.play.pressed" file="player/player_buttons.png" x="30" y="80" h="29" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.play.hover" file="player/player_buttons.png" x="30" y="120" h="29" w="30" gammagroup="ButtonGlow"/>
+
+ <bitmap id="player.button.pause.bg" file="player/player_buttons.png" x="60" y="0" h="29" w="30" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.pause" file="player/player_buttons.png" x="60" y="40" h="29" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.pause.pressed" file="player/player_buttons.png" x="60" y="80" h="29" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.pause.hover" file="player/player_buttons.png" x="60" y="120" h="29" w="30" gammagroup="ButtonGlow"/>
+
+ <bitmap id="player.button.stop.bg" file="player/player_buttons.png" x="90" y="0" h="29" w="30" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.stop" file="player/player_buttons.png" x="90" y="40" h="29" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.stop.pressed" file="player/player_buttons.png" x="90" y="80" h="29" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.stop.hover" file="player/player_buttons.png" x="90" y="120" h="29" w="30" gammagroup="ButtonGlow"/>
+
+ <bitmap id="player.button.next.bg" file="player/player_buttons.png" x="120" y="0" h="26" w="30" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.next" file="player/player_buttons.png" x="120" y="40" h="26" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.next.pressed" file="player/player_buttons.png" x="120" y="80" h="26" w="30" gammagroup="Buttons"/>
+ <bitmap id="player.button.next.hover" file="player/player_buttons.png" x="120" y="120" h="26" w="30" gammagroup="ButtonGlow"/>
+
+ <bitmap id="player.button.status.play" file="player/player_buttons_status.png" x="30" y="0" h="29" w="90" gammagroup="ButtonStatus"/>
+ <bitmap id="player.button.status.pause" file="player/player_buttons_status.png" x="30" y="40" h="29" w="90" gammagroup="ButtonStatus"/>
+ <bitmap id="player.button.status.stop" file="player/player_buttons_status.png" x="30" y="80" h="29" w="90" gammagroup="ButtonStatus"/>
+
+ <bitmap id="player.button.mlpl.bg" file="player/buttons_mlpl_bg.png" x="0" y="0" h="26" w="90" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.eject" file="player/buttons_mlpl.png" x="0" y="0" h="13" w="19" gammagroup="Buttons"/>
+ <bitmap id="player.button.eject.hover" file="player/buttons_mlpl.png" x="0" y="0" h="13" w="19" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.eject.pressed" file="player/buttons_mlpl.png" x="0" y="40" h="13" w="19" gammagroup="Buttons"/>
+ <bitmap id="player.button.pl" file="player/buttons_mlpl.png" x="26" y="0" h="13" w="22" gammagroup="Buttons"/>
+ <bitmap id="player.button.pl.hover" file="player/buttons_mlpl.png" x="26" y="0" h="13" w="22" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.pl.active" file="player/buttons_mlpl.png" x="26" y="20" h="13" w="22" gammagroup="ButtonsActive"/>
+ <bitmap id="player.button.pl.pressed" file="player/buttons_mlpl.png" x="26" y="40" h="13" w="22" gammagroup="Buttons"/>
+ <bitmap id="player.button.ml" file="player/buttons_mlpl.png" x="52" y="0" h="13" w="22" gammagroup="Buttons"/>
+ <bitmap id="player.button.ml.hover" file="player/buttons_mlpl.png" x="52" y="0" h="13" w="22" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.ml.active" file="player/buttons_mlpl.png" x="52" y="20" h="13" w="22" gammagroup="ButtonsActive"/>
+ <bitmap id="player.button.ml.pressed" file="player/buttons_mlpl.png" x="52" y="40" h="13" w="22" gammagroup="Buttons"/>
+
+<!-- Display -->
+ <bitmap id="player.display.bg.left" file="player/display.png" x="0" y="0" h="67" w="60" gammagroup="Backgrounds"/>
+ <bitmap id="player.display.bg.center" file="player/display.png" x="60" y="0" h="67" w="60" gammagroup="Backgrounds"/>
+ <bitmap id="player.display.bg.right" file="player/display.png" x="247" y="0" h="67" w="60" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.display.songticker.bg.left" file="player/display.png" x="0" y="124" h="19" w="60" gammagroup="DisplaySongtickerBG"/>
+ <bitmap id="player.display.songticker.bg.center" file="player/display.png" x="60" y="124" h="19" w="60" gammagroup="DisplaySongtickerBG"/>
+ <bitmap id="player.display.songticker.bg.right" file="player/display.png" x="247" y="124" h="19" w="60" gammagroup="DisplaySongtickerBG"/>
+
+ <bitmap id="player.display.left" file="player/display.png" x="0" y="80" h="67" w="60" gammagroup="Display"/>
+ <bitmap id="player.display.center" file="player/display.png" x="60" y="80" h="67" w="60" gammagroup="Display"/>
+ <bitmap id="player.display.right" file="player/display.png" x="247" y="80" h="67" w="60" gammagroup="Display"/>
+
+ <bitmap id="player.display.right2" file="player/display.png" x="163" y="80" h="67" w="60" gammagroup="Display"/>
+ <bitmap id="player.display.songticker.bg.right2" file="player/display.png" x="163" y="124" h="19" w="60" gammagroup="DisplaySongtickerBG"/>
+
+ <bitmap id="player.display.left.overlay" file="player/displayoverlay.png" x="0" y="0" h="63" w="21" gammagroup="DisplaySongtickerBG"/>
+ <bitmap id="player.display.right.overlay" file="player/displayoverlay.png" x="56" y="0" h="63" w="17" gammagroup="DisplaySongtickerBG"/>
+
+<!-- Display Beat Visualization -->
+ <bitmap id="player.display.beat.left" file="player/beat_left.png" gammagroup="DisplayBeatVis"/>
+ <bitmap id="player.display.beat.right" file="player/beat_right.png" gammagroup="DisplayBeatVis"/>
+ <bitmap id="player.display.beat.left2" file="player/beat_l2.png" gammagroup="DisplayBeatVis"/>
+ <bitmap id="player.display.beat.right2" file="player/beat_r2.png" gammagroup="DisplayBeatVis"/>
+ <bitmap id="player.display.beat.textoverlay" file="player/beat_textoverlay.png" gammagroup="DisplayBeatVis"/>
+ <bitmap id="player.display.beat.displayoverlay" file="player/beat_displayoverlay.png" gammagroup="Display"/>
+
+<!-- Seek -->
+ <bitmap id="player.button.seek" file="player/seekbar.png" x="97" y="0" h="13" w="36" gammagroup="Buttons"/>
+ <bitmap id="player.button.seek.pressed" file="player/seekbar.png" x="137" y="0" h="13" w="36" gammagroup="Buttons"/>
+ <bitmap id="player.button.seek.hover" file="player/seekbar.png" x="97" y="0" h="13" w="36" gammagroup="ButtonsHover"/>
+ <bitmap id="player.seekbar.left" file="player/seekbar.png" x="0" y="0" h="13" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.seekbar.center" file="player/seekbar.png" x="10" y="0" h="13" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.seekbar.right" file="player/seekbar.png" x="73" y="0" h="13" w="10" gammagroup="Backgrounds"/>
+
+<!-- NUMFONT -->
+ <bitmap id="bitmapfont.player.BIGNUM" file="player/numfont.png" x="0" y="0" h="60" w="300" gammagroup="DisplayElements"/>
+ <bitmapfont id="player.BIGNUM" file="bitmapfont.player.BIGNUM" charwidth="13" charheight="20" hspacing="-1" vspacing="0"/>
+
+<!-- SMALLFONT -->
+ <bitmap id="bitmapfont.player.smallfont" file="player/smallfont.png" x="0" y="0" h="24" w="192" charwidth="6" charheight="8" hspacing="0" vspacing="-1" gammagroup="TextDark"/>
+ <bitmapfont id="player.smallfont" file="bitmapfont.player.smallfont" charwidth="6" charheight="8" hspacing="0" vspacing="-1"/>
+
+<!-- SONGTICKERFONT -->
+ <bitmap id="bitmapfont.player.songticker" file="player/songtickerfont.png" x="0" y="0" h="66" w="320" gammagroup="DisplaySongticker"/>
+ <bitmapfont id="player.songticker.font" file="bitmapfont.player.songticker" charwidth="10" charheight="22" hspacing="-1" vspacing="0"/>
+
+<!-- PLAYBACK STATUS -->
+ <bitmap id="player.status.stop" file="player/playbackstatus.png" x="0" y="0" h="23" w="10" gammagroup="DisplayElements"/>
+ <bitmap id="player.status.play" file="player/playbackstatus.png" x="20" y="0" h="23" w="10" gammagroup="DisplayElements"/>
+ <bitmap id="player.status.pause" file="player/playbackstatus.png" x="40" y="0" h="23" w="10" gammagroup="DisplayElements"/>
+
+<!-- VISUALIZATION -->
+ <bitmap id="player.visualization.background" file="player/visualization_background.png" x="0" y="0" h="33" w="85" gammagroup="DisplayElements"/>
+ <bitmap id="player.visualization.overlay" file="player/visualization_overlay.png" x="0" y="0" h="33" w="85" gammagroup="Display"/>
+ <bitmap id="player.visualization.overlay2" file="player/visualization_overlay.png" x="1" y="0" h="33" w="85" gammagroup="Display"/>
+
+<!-- SONGINFO -->
+ <bitmap id="bitmapfont.player.songinfo" file="player/songinfofont.png" x="0" y="0" h="23" w="124" gammagroup="DisplayElements"/>
+ <bitmapfont id="player.songinfo.font" file="bitmapfont.player.songinfo" charwidth="4" charheight="8" hspacing="0" vspacing="0"/>
+ <bitmap id="player.songinfo.kbps" file="player/songinfo.png" x="0" y="0" h="7" w="20" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.khz" file="player/songinfo.png" x="47" y="0" h="7" w="22" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.stereo" file="player/songinfo.png" x="0" y="13" h="9" w="74" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.mono" file="player/songinfo.png" x="0" y="23" h="9" w="74" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.none" file="player/songinfo.png" x="0" y="33" h="9" w="74" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.surround" file="player/songinfo.png" x="0" y="43" h="9" w="74" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.repeat1" file="player/songinfo.png" x="76" y="13" h="10" w="14" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.repeat2" file="player/songinfo.png" x="76" y="27" h="10" w="14" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.repeat0" file="player/songinfo.png" x="76" y="43" h="10" w="14" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.shuffle.on" file="player/songinfo.png" x="91" y="13" h="10" w="13" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.shuffle.off" file="player/songinfo.png" x="91" y="43" h="10" w="13" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.eq.on" file="player/songinfo.png" x="94" y="0" h="7" w="10" gammagroup="DisplayElements"/>
+ <bitmap id="player.songinfo.eq.off" file="player/songinfo.png" x="94" y="30" h="7" w="10" gammagroup="DisplayElements"/>
+
+<!-- WINAMP BOLT -->
+ <bitmap id="player.button.bolt.bg" file="player/bolt.png" x="3" y="1" h="20" w="18" gammagroup="Backgrounds2"/>
+ <bitmap id="player.button.bolt" file="player/bolt.png" x="33" y="1" h="20" w="18" gammagroup="Bolt"/>
+ <bitmap id="player.button.bolt.hover" file="player/bolt.png" x="63" y="1" h="20" w="18" gammagroup="Bolt"/>
+ <bitmap id="player.button.bolt.pressed" file="player/bolt.png" x="93" y="1" h="20" w="18" gammagroup="Bolt"/>
+
+<!-- Volume -->
+ <bitmap id="player.volume.bg" file="player/volume_bar_bg.png" x="0" y="0" h="19" w="85" gammagroup="Backgrounds2"/>
+ <bitmap id="player.button.volume" file="player/button_volume.png" x="0" y="0" h="13" w="21" gammagroup="Buttons2"/>
+ <bitmap id="player.button.volume.hover" file="player/button_volume.png" x="0" y="0" h="13" w="21" gammagroup="ButtonsHover2"/>
+ <bitmap id="player.button.volume.pressed" file="player/button_volume.png" x="60" y="0" h="13" w="21" gammagroup="Buttons2"/>
+
+<!-- Mute -->
+ <bitmap id="player.button.mute.bg" file="player/button_mute_bg.png" x="0" y="0" h="24" w="23" gammagroup="Backgrounds2"/>
+ <bitmap id="player.button.mute.off" file="player/button_mute.png" x="0" y="0" h="15" w="15" gammagroup="Buttons2"/>
+ <bitmap id="player.button.mute.off.hover" file="player/button_mute.png" x="0" y="0" h="15" w="15" gammagroup="ButtonsHover2"/>
+ <bitmap id="player.button.mute.off.pressed" file="player/button_mute.png" x="30" y="0" h="15" w="15" gammagroup="Buttons2"/>
+ <bitmap id="player.button.mute.on" file="player/button_mute.png" x="0" y="30" h="15" w="15" gammagroup="Buttons2"/>
+ <bitmap id="player.button.mute.on.hover" file="player/button_mute.png" x="0" y="30" h="15" w="15" gammagroup="ButtonsHover2"/>
+ <bitmap id="player.button.mute.on.pressed" file="player/button_mute.png" x="30" y="30" h="15" w="15" gammagroup="Buttons2"/>
+
+<!-- Shuffle / Repeat -->
+ <bitmap id="player.button.repeat.bg" file="player/shufflerepeat_bg.png" x="0" y="0" h="23" w="40" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.shuffle.bg" file="player/shufflerepeat_bg.png" x="0" y="23" h="23" w="40" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.repeat" file="player/button_shufflerepeat.png" x="0" y="0" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.button.repeat.hover" file="player/button_shufflerepeat.png" x="0" y="0" h="15" w="20" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.repeat.pressed" file="player/button_shufflerepeat.png" x="30" y="0" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.button.shuffle" file="player/button_shufflerepeat.png" x="0" y="23" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.button.shuffle.hover" file="player/button_shufflerepeat.png" x="0" y="23" h="15" w="20" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.shuffle.pressed" file="player/button_shufflerepeat.png" x="30" y="23" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.led.on" file="player/shufflerepeat_led.png" x="0" y="0" h="13" w="13" gammagroup="Led"/>
+ <bitmap id="player.led.off" file="player/shufflerepeat_led.png" x="20" y="0" h="13" w="13" gammagroup="Led"/>
+
+ <bitmap id="player.button.repeat0" file="player/button_shufflerepeat.png" x="0" y="0" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.button.repeat.hover0" file="player/button_shufflerepeat.png" x="0" y="0" h="15" w="20" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.repeat.pressed0" file="player/button_shufflerepeat.png" x="30" y="0" h="15" w="20" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.repeat1" file="player/button_shufflerepeat.png" x="0" y="0" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.button.repeat.hover1" file="player/button_shufflerepeat.png" x="0" y="0" h="15" w="20" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.repeat.pressed1" file="player/button_repeat2.png" x="30" y="0" h="15" w="20" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.repeat2" file="player/button_repeat2.png" x="0" y="0" h="15" w="20" gammagroup="Buttons"/>
+ <bitmap id="player.button.repeat.hover2" file="player/button_repeat2.png" x="0" y="0" h="15" w="20" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.repeat.pressed2" file="player/button_shufflerepeat.png" x="30" y="0" h="15" w="20" gammagroup="Buttons"/>
+
+<!-- VIDEO/AVS -->
+ <bitmap id="player.button.videoavs.up.bg" file="player/videoavs_buttonup_bg.png" x="0" y="0" h="18" w="43" gammagroup="Menubar"/>
+ <bitmap id="player.button.videoavs.up.bg2" file="player/videoavs_buttonup_bg2.png" x="0" y="0" h="18" w="43" gammagroup="Menubar"/>
+ <bitmap id="player.button.videoavs.overlay" file="player/videoavs_button_overlay.png" x="0" y="0" h="16" w="39" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.videoavs" file="player/button_videoavs.png" x="0" y="0" h="9" w="27" gammagroup="Buttons2"/>
+ <bitmap id="player.button.videoavs.hover" file="player/button_videoavs.png" x="0" y="0" h="9" w="27" gammagroup="ButtonsHover2"/>
+ <bitmap id="player.button.videoavs.pressed" file="player/button_videoavs.png" x="50" y="0" h="9" w="27" gammagroup="Buttons2"/>
+ <bitmap id="player.button.videoavs.up" file="player/button_videoavs.png" x="0" y="10" h="9" w="27" gammagroup="Buttons2"/>
+ <bitmap id="player.button.videoavs.up.hover" file="player/button_videoavs.png" x="0" y="10" h="9" w="27" gammagroup="ButtonsHover2"/>
+ <bitmap id="player.button.videoavs.up.pressed" file="player/button_videoavs.png" x="50" y="10" h="9" w="27" gammagroup="Buttons2"/>
+ <bitmap id="player.videoavs.topleft" file="player/videoavs_bg.png" x="0" y="0" h="21" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.topmiddle" file="player/videoavs_bg.png" x="10" y="0" h="21" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.topright" file="player/videoavs_bg.png" x="84" y="0" h="21" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.left" file="player/videoavs_bg.png" x="0" y="21" h="10" w="4" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.middle" file="player/videoavs_bg.png" x="10" y="21" h="10" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.right" file="player/videoavs_bg.png" x="90" y="21" h="10" w="4" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.bottomleft" file="player/videoavs_bg.png" x="0" y="47" h="26" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.bottommiddle" file="player/videoavs_bg.png" x="10" y="47" h="26" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.videoavs.bottomright" file="player/videoavs_bg.png" x="44" y="47" h="26" w="50" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.button.video.bg.left" file="player/buttons_video.png" x="0" y="38" h="18" w="97" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.bg.center" file="player/buttons_video.png" x="97" y="38" h="18" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.bg.right" file="player/buttons_video.png" x="111" y="38" h="18" w="52" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.button.video.bg.detached.left" file="player/buttons_video.png" x="0" y="57" h="18" w="74" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.bg.detached.center" file="player/buttons_video.png" x="74" y="57" h="18" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.bg.detached.right" file="player/buttons_video.png" x="88" y="57" h="18" w="52" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.button.video.fs" file="player/buttons_video.png" x="3" y="0" h="13" w="17" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.fs.hover" file="player/buttons_video.png" x="3" y="0" h="13" w="17" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.fs.pressed" file="player/buttons_video.png" x="3" y="20" h="13" w="17" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.s1x" file="player/buttons_video.png" x="26" y="0" h="13" w="17" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.s1x.hover" file="player/buttons_video.png" x="26" y="0" h="13" w="17" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.s1x.pressed" file="player/buttons_video.png" x="26" y="20" h="13" w="17" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.s2x" file="player/buttons_video.png" x="49" y="0" h="13" w="18" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.s2x.hover" file="player/buttons_video.png" x="49" y="0" h="13" w="18" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.s2x.pressed" file="player/buttons_video.png" x="49" y="20" h="13" w="18" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.smax" file="player/buttons_video.png" x="73" y="0" h="13" w="17" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.smax.hover" file="player/buttons_video.png" x="73" y="0" h="13" w="17" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.smax.pressed" file="player/buttons_video.png" x="73" y="20" h="13" w="17" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.srestore" file="player/buttons_video.png" x="173" y="0" h="13" w="17" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.srestore.hover" file="player/buttons_video.png" x="173" y="0" h="13" w="17" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.srestore.pressed" file="player/buttons_video.png" x="173" y="20" h="13" w="17" gammagroup="Buttons"/>
+
+ <!--<bitmap id="player.button.video.tv" file="player/buttons_video.png" x="118" y="0" h="13" w="19" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.tv.hover" file="player/buttons_video.png" x="118" y="0" h="13" w="19" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.tv.pressed" file="player/buttons_video.png" x="118" y="20" h="13" w="19" gammagroup="Buttons"/>-->
+
+ <bitmap id="player.button.video.misc" file="player/buttons_video.png" x="143" y="0" h="13" w="17" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.misc.hover" file="player/buttons_video.png" x="143" y="0" h="13" w="17" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.misc.pressed" file="player/buttons_video.png" x="143" y="20" h="13" w="17" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.vis.bg.left" file="player/buttons_vis.png" x="0" y="38" h="18" w="213" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.vis.bg.detached.left" file="player/buttons_vis.png" x="0" y="57" h="18" w="192" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.button.vis.bg.right" file="player/buttons_vis.png" x="216" y="38" h="18" w="23" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.vis.bg.detached.right" file="player/buttons_vis.png" x="205" y="57" h="18" w="23" gammagroup="Backgrounds"/>
+
+ <bitmap id="player.button.vis.prev" file="player/buttons_vis.png" x="3" y="0" h="13" w="40" gammagroup="Buttons"/>
+ <bitmap id="player.button.vis.prev.hover" file="player/buttons_vis.png" x="3" y="0" h="13" w="40" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.vis.prev.pressed" file="player/buttons_vis.png" x="3" y="20" h="13" w="40" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.vis.next" file="player/buttons_vis.png" x="49" y="0" h="13" w="41" gammagroup="Buttons"/>
+ <bitmap id="player.button.vis.next.hover" file="player/buttons_vis.png" x="49" y="0" h="13" w="41" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.vis.next.pressed" file="player/buttons_vis.png" x="49" y="20" h="13" w="41" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.vis.random" file="player/buttons_vis.png" x="107" y="0" h="13" w="60" gammagroup="Buttons"/>
+ <bitmap id="player.button.vis.random.hover" file="player/buttons_vis.png" x="107" y="0" h="13" w="60" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.vis.random.pressed" file="player/buttons_vis.png" x="107" y="20" h="13" w="60" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.detach.bg" file="player/buttons_detach.png" x="0" y="118" h="15" w="92" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.detach" file="player/buttons_detach.png" x="3" y="40" h="11" w="86" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.detach.hover" file="player/buttons_detach.png" x="3" y="40" h="11" w="86" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.detach.pressed" file="player/buttons_detach.png" x="3" y="60" h="11" w="86" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.reattach.bg" file="player/buttons_detach.png" x="148" y="106" h="21" w="105" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.reattach" file="player/buttons_detach.png" x="153" y="40" h="11" w="97" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.reattach.hover" file="player/buttons_detach.png" x="153" y="40" h="11" w="97" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.reattach.pressed" file="player/buttons_detach.png" x="153" y="60" h="11" w="97" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.vis.detach.bg" file="player/buttons_detach.png" x="0" y="78" h="15" w="108" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.vis.detach" file="player/buttons_detach.png" x="3" y="0" h="11" w="102" gammagroup="Buttons"/>
+ <bitmap id="player.button.vis.detach.hover" file="player/buttons_detach.png" x="3" y="0" h="11" w="102" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.vis.detach.pressed" file="player/buttons_detach.png" x="3" y="20" h="11" w="102" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.vis.reattach.bg" file="player/buttons_detach.png" x="148" y="76" h="21" w="114" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.vis.reattach" file="player/buttons_detach.png" x="153" y="0" h="11" w="106" gammagroup="Buttons"/>
+ <bitmap id="player.button.vis.reattach.hover" file="player/buttons_detach.png" x="153" y="0" h="11" w="106" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.vis.reattach.pressed" file="player/buttons_detach.png" x="153" y="20" h="11" w="106" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.video.switchto.bg" file="player/buttons_switchto.png" x="1" y="40" h="15" w="120" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.video.switchto" file="player/buttons_switchto.png" x="4" y="2" h="11" w="113" gammagroup="Buttons"/>
+ <bitmap id="player.button.video.switchto.hover" file="player/buttons_switchto.png" x="4" y="2" h="11" w="113" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.video.switchto.pressed" file="player/buttons_switchto.png" x="4" y="22" h="11" w="113" gammagroup="Buttons"/>
+
+ <bitmap id="player.button.vis.switchto.bg" file="player/buttons_switchto.png" x="131" y="40" h="15" w="120" gammagroup="Backgrounds"/>
+ <bitmap id="player.button.vis.switchto" file="player/buttons_switchto.png" x="134" y="2" h="11" w="113" gammagroup="Buttons"/>
+ <bitmap id="player.button.vis.switchto.hover" file="player/buttons_switchto.png" x="134" y="2" h="11" w="113" gammagroup="ButtonsHover"/>
+ <bitmap id="player.button.vis.switchto.pressed" file="player/buttons_switchto.png" x="134" y="22" h="11" w="113" gammagroup="Buttons"/>
+
+<!-- Pogress Bar -->
+ <bitmap id="player.progressbar.left" file="player/progressbar.png" x="0" y="0" h="4" w="2" gammagroup="ProgressBar"/>
+ <bitmap id="player.progressbar.center" file="player/progressbar.png" x="10" y="0" h="4" w="2" gammagroup="ProgressBar"/>
+ <bitmap id="player.progressbar.right" file="player/progressbar.png" x="71" y="0" h="4" w="2" gammagroup="ProgressBar"/>
+ <bitmap id="player.volumebar" file="player/progressbar.png" x="10" y="1" h="2" w="2" gammagroup="ProgressBar"/>
+
+<!-- Scrollbars (on List, Tree, etc...) -->
+ <bitmap id="wasabi.scrollbar.vertical.button" file="window/scrollbars.png" x="20" y="0" h="31" w="13" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.vertical.button.hover" file="window/scrollbars.png" x="20" y="0" h="31" w="13" gammagroup="Scrollbar Hover"/>
+ <bitmap id="wasabi.scrollbar.vertical.button.pressed" file="window/scrollbars.png" x="40" y="0" h="31" w="13" gammagroup="Scrollbar Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.left" file="window/scrollbars.png" x="60" y="0" h="17" w="13" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.vertical.left.hover" file="window/scrollbars.png" x="60" y="0" h="17" w="13" gammagroup="Scrollbar Hover"/>
+ <bitmap id="wasabi.scrollbar.vertical.left.pressed" file="window/scrollbars.png" x="80" y="0" h="17" w="13" gammagroup="Scrollbar Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.right" file="window/scrollbars.png" x="60" y="26" h="17" w="13" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.vertical.right.hover" file="window/scrollbars.png" x="60" y="26" h="17" w="13" gammagroup="Scrollbar Hover"/>
+ <bitmap id="wasabi.scrollbar.vertical.right.pressed" file="window/scrollbars.png" x="80" y="26" h="17" w="13" gammagroup="Scrollbar Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.background" file="window/scrollbars.png" x="0" y="0" w="13" h="17" />
+ <bitmap id="wasabi.scrollbar.vertical.background.top" file="window/scrollbars.png" x="0" y="0" w="13" h="17" />
+ <bitmap id="wasabi.scrollbar.vertical.background.middle" file="window/scrollbars.png" x="0" y="0" w="13" h="17" />
+ <bitmap id="wasabi.scrollbar.vertical.background.bottom" file="window/scrollbars.png" x="0" y="0" w="13" h="17" />
+
+ <bitmap id="wasabi.scrollbar.horizontal.button" file="window/scrollbars.png" x="12" y="70" h="13" w="31" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.horizontal.button.hover" file="window/scrollbars.png" x="12" y="70" h="13" w="31" gammagroup="Scrollbar Hover"/>
+ <bitmap id="wasabi.scrollbar.horizontal.button.pressed" file="window/scrollbars.png" x="12" y="90" h="13" w="31" gammagroup="Scrollbar Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.left" file="window/scrollbars.png" x="0" y="110" h="13" w="17" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.horizontal.left.hover" file="window/scrollbars.png" x="0" y="110" h="13" w="17" gammagroup="Scrollbar Hover"/>
+ <bitmap id="wasabi.scrollbar.horizontal.left.pressed" file="window/scrollbars.png" x="0" y="130" h="13" w="17" gammagroup="Scrollbar Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.right" file="window/scrollbars.png" x="26" y="110" h="13" w="17" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.horizontal.right.hover" file="window/scrollbars.png" x="26" y="110" h="13" w="17" gammagroup="Scrollbar Hover"/>
+ <bitmap id="wasabi.scrollbar.horizontal.right.pressed" file="window/scrollbars.png" x="26" y="130" h="13" w="17" gammagroup="Scrollbar Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.horizontal.background" file="window/scrollbars.png" x="18" y="50" w="17" h="13" />
+ <bitmap id="wasabi.scrollbar.horizontal.background.left" file="window/scrollbars.png" x="18" y="50" w="17" h="13" />
+ <bitmap id="wasabi.scrollbar.horizontal.background.middle" file="window/scrollbars.png" x="18" y="50" w="17" h="13" />
+ <bitmap id="wasabi.scrollbar.horizontal.background.right" file="window/scrollbars.png" x="18" y="50" w="17" h="13" />
+
+<!-- Generic Button -->
+ <bitmap id="wasabi.button.label.arrow.up" file="window/window-elements.png" x="137" y="75" h="4" w="7" gammagroup="Button Fonts"/>
+ <bitmap id="wasabi.button.label.arrow.down" file="window/window-elements.png" x="137" y="86" h="4" w="7" gammagroup="Button Fonts"/>
+ <bitmap id="wasabi.button.label.arrow.left" file="window/window-elements.png" x="133" y="79" h="7" w="4" gammagroup="Button Fonts"/>
+ <bitmap id="wasabi.button.label.arrow.right" file="window/window-elements.png" x="144" y="79" h="7" w="4" gammagroup="Button Fonts"/>
+ <bitmap id="wasabi.button.label.ellipses" file="window/window-elements.png" x="138" y="92" h="1" w="5" gammagroup="Button Fonts"/>
+
+ <bitmap id="wasabi.button.top.left" file="window/window-elements.png" x="0" y="134" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.top" file="window/window-elements.png" x="4" y="134" h="4" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.top.right" file="window/window-elements.png" x="29" y="134" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.left" file="window/window-elements.png" x="0" y="138" h="25" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.center" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.right" file="window/window-elements.png" x="29" y="138" h="25" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.bottom.left" file="window/window-elements.png" x="0" y="163" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.bottom" file="window/window-elements.png" x="4" y="163" h="4" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.bottom.right" file="window/window-elements.png" x="29" y="163" h="4" w="4" gammagroup="Buttons"/>
+
+ <bitmap id="wasabi.button.hover.top.left" file="window/window-elements.png" x="33" y="134" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.top" file="window/window-elements.png" x="37" y="134" h="4" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.top.right" file="window/window-elements.png" x="62" y="134" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.left" file="window/window-elements.png" x="33" y="138" h="25" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.center" file="window/window-elements.png" x="37" y="138" h="25" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.right" file="window/window-elements.png" x="62" y="138" h="25" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.bottom.left" file="window/window-elements.png" x="33" y="163" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.bottom" file="window/window-elements.png" x="37" y="163" h="4" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.bottom.right" file="window/window-elements.png" x="62" y="163" h="4" w="4" gammagroup="Buttons"/>
+
+ <bitmap id="wasabi.button.pressed.top.left" file="window/window-elements.png" x="66" y="134" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.top" file="window/window-elements.png" x="70" y="134" h="4" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.top.right" file="window/window-elements.png" x="95" y="134" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.left" file="window/window-elements.png" x="66" y="138" h="25" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.center" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.right" file="window/window-elements.png" x="95" y="138" h="25" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.bottom.left" file="window/window-elements.png" x="66" y="163" h="4" w="4" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.bottom" file="window/window-elements.png" x="70" y="163" h="4" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.bottom.right" file="window/window-elements.png" x="95" y="163" h="4" w="4" gammagroup="Buttons"/>
+
+ <bitmap id="wasabi.button.middle" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.hover.middle" file="window/window-elements.png" x="37" y="138" h="25" w="25" gammagroup="Buttons"/>
+ <bitmap id="wasabi.button.pressed.middle" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Buttons"/>
+
+ <bitmap id="wasabi.scrollbar.vertical.grip" file="window/scrollgrips.png" x="0" y="0" h="8" w="6" gammagroup="Scrollbar Buttons"/>
+ <bitmap id="wasabi.scrollbar.horizontal.grip" file="window/scrollgrips.png" x="7" y="0" h="6" w="8" gammagroup="Scrollbar Buttons"/>
+
+<!-- WASABI WINDOW -->
+ <bitmap id="wasabi.window2.topleft" file="window/wasabi_window.png" x="0" y="0" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.topright" file="window/wasabi_window.png" x="58" y="0" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.topcenter" file="window/wasabi_window.png" x="20" y="0" h="5" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.left" file="window/wasabi_window.png" x="0" y="5" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.right" file="window/wasabi_window.png" x="58" y="5" h="5" w="6" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.bottomleft" file="window/wasabi_window.png" x="0" y="16" h="42" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.bottomright" file="window/wasabi_window.png" x="44" y="16" h="42" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.bottomcenter" file="window/wasabi_window.png" x="30" y="33" h="25" w="10" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.bottomleft.nostatus" file="window/wasabi_window.png" x="80" y="16" h="27" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.bottomright.nostatus" file="window/wasabi_window.png" x="124" y="16" h="27" w="20" gammagroup="Backgrounds"/>
+ <bitmap id="wasabi.window2.bottomcenter.nostatus" file="window/wasabi_window.png" x="110" y="33" h="10" w="10" gammagroup="Backgrounds"/>
+
+</elements> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/player-normal-group.xml b/Src/resources/skins/Winamp Modern/xml/player-normal-group.xml
new file mode 100644
index 00000000..d3abe23e
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player-normal-group.xml
@@ -0,0 +1,1232 @@
+<!-- player-normal-group.xml defines the layout of the Winamp Player Window. -->
+
+<!-- Playback buttons -->
+<groupdef id="player.normal.playbuttons" name="Player buttons">
+
+ <!-- Button Backgrounds -->
+ <layer
+ id="Play.bg"
+ x="30" y="0"
+ image="player.button.play.bg"
+ />
+ <layer
+ id="Play.button.bg"
+ x="30" y="0"
+ image="player.button.play"
+ />
+ <layer
+ id="Pause.bg"
+ x="60" y="0"
+ image="player.button.pause.bg"
+ />
+ <layer
+ id="Pause.button.bg"
+ x="60" y="0"
+ image="player.button.pause"
+ />
+ <layer
+ id="Stop.bg"
+ x="90" y="0"
+ image="player.button.stop.bg"
+ />
+ <layer
+ id="Stop.button.bg"
+ x="90" y="0"
+ image="player.button.stop"
+ />
+
+ <!-- Playback Button Status -->
+ <status
+ id="status"
+ x="30" y="0"
+ stopBitmap="player.button.status.stop"
+ playBitmap="player.button.status.play"
+ pauseBitmap="player.button.status.pause"
+ ghost="1"
+ />
+
+
+ <!-- PREVIOUS -->
+ <layer
+ id="Previous.bg"
+ x="0" y="0"
+ image="player.button.previous.bg"
+ />
+ <layer
+ id="Previous.button.bg"
+ x="0" y="0"
+ image="player.button.previous"
+ />
+ <button
+ id="Previous"
+ action="PREV"
+ x="0" y="0"
+ image="player.button.previous"
+ downImage="player.button.previous.pressed"
+ hoverImage="player.button.previous.hover"
+ tooltip="Previous"
+ rectrgn="1"
+ />
+
+ <!-- PLAY -->
+ <button
+ id="Play"
+ action="PLAY"
+ x="30" y="0"
+ image="player.button.play"
+ downImage="player.button.play.pressed"
+ hoverImage="player.button.play.hover"
+ tooltip="Play"
+ rectrgn="1"
+ />
+
+ <!-- PAUSE -->
+ <button
+ id="Pause"
+ action="PAUSE"
+ x="60" y="0"
+ image="player.button.pause"
+ downImage="player.button.pause.pressed"
+ hoverImage="player.button.pause.hover"
+ tooltip="Pause"
+ rectrgn="1"
+ />
+
+ <!-- STOP -->
+ <button
+ id="Stop"
+ action="STOP"
+ x="90" y="0"
+ image="player.button.stop"
+ downImage="player.button.stop.pressed"
+ hoverImage="player.button.stop.hover"
+ tooltip="Stop"
+ rectrgn="1"
+ />
+
+ <!-- NEXT -->
+ <layer
+ id="Next.bg"
+ x="120" y="0"
+ image="player.button.next.bg"
+ />
+ <layer
+ id="Next.button.bg"
+ x="120" y="0"
+ image="player.button.next"
+ />
+ <button
+ id="Next"
+ action="NEXT"
+ x="120" y="0"
+ image="player.button.next"
+ downImage="player.button.next.pressed"
+ hoverImage="player.button.next.hover"
+ tooltip="Next"
+ rectrgn="1"
+ />
+
+</groupdef>
+
+
+<groupdef id="player.normal.songinfo" name="Songinfo">
+
+ <!-- Bitrate -->
+ <layer
+ id="display.songinfo.display.kbps"
+ x="7" y="0"
+ ghost="1"
+ image="player.songinfo.kbps"
+ />
+ <text
+ id="Bitrate"
+ display="" default="(___)"
+ x="27" y="0" w="30" h="8"
+ font="player.songinfo.font"
+ fontsize="9"
+ color="font.display"
+ valign="top"
+ />
+
+ <!-- Frequency -->
+ <layer
+ id="display.songinfo.display.khz"
+ x="56" y="0"
+ ghost="1"
+ image="player.songinfo.khz"
+ />
+ <text
+ id="Frequency"
+ display="" default="(__)"
+ x="78" y="0" w="30" h="8"
+ font="player.songinfo.font"
+ fontsize="9"
+ color="font.display"
+ valign="top"
+ />
+
+ <!-- mono/stereo -->
+ <layer x="7" y="10" id="channels" image="player.songinfo.none" move="1" rectrgn="1" dblclickaction="WA5:Prefs" dblclickparam="42" />
+
+ <!-- EQ on/off -->
+ <button
+ id="eqonoff_led"
+ Image="player.songinfo.eq.off"
+ activeImage="player.songinfo.eq.on"
+ action="EQ_TOGGLE"
+ x="101" y="0"
+ rectrgn="1"
+ />
+
+ <!-- shuffle/repeat -->
+ <togglebutton
+ id="ShuffleDisplay"
+ x="98" y="10"
+ image="player.songinfo.shuffle.off"
+ downImage="player.songinfo.shuffle.off"
+ activeImage="player.songinfo.shuffle.on"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ rectrgn="1"
+ />
+ <NStatesButton
+ id="RepeatDisplay"
+ x="83" y="10"
+ nstates="3"
+ image="player.songinfo.repeat"
+ downImage="player.songinfo.repeat"
+ activeImage="player.songinfo.repeat"
+ hoverImage="player.songinfo.repeat"
+ tooltip="Toggle Playlist/Song Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ rectrgn="1"
+ />
+
+ <script id="songinfo.script" file="scripts/songinfo.maki" />
+</groupdef>
+
+<groupdef id="player.normal.display.beatvisualization" name="BeatVisualization">
+ <AnimatedLayer
+ x="7" y="0"
+ w="76" h="50"
+ id="beatleft"
+ image="player.display.beat.left"
+ move="0"
+ autoplay="0"
+ autoreplay="0"
+ ghost="1"
+ />
+ <AnimatedLayer
+ x="88" y="0"
+ w="76" h="50"
+ id="beatright"
+ image="player.display.beat.right"
+ move="0"
+ autoplay="0"
+ autoreplay="0"
+ ghost="1"
+ />
+ <layer
+ x="2" y="0"
+ image="player.display.beat.textoverlay"
+ />
+ <layer
+ id="beatdisplayoverlay"
+ x="2" y="0"
+ image="player.display.beat.displayoverlay"
+ />
+ <button
+ id="beatvisualization"
+ x="4" y="0"
+ w="162" h="31"
+ tooltip="Toggle Beat Visualization"
+ rectrgn="1"
+ ghost="0"
+ />
+ <togglebutton
+ id="beatvisualization2"
+ x="84" y="10"
+ w="4" h="4"
+ tooltip="Toggle Beat Visualization"
+ rectrgn="1"
+ ghost="0"
+ />
+
+</groupdef>
+
+
+<!-- DISPLAY -->
+<groupdef id="player.normal.display" name="Display" relatw="1" w="-49">
+
+ <layer
+ id="display.background.left"
+ x="0" y="0"
+ ghost="1"
+ image="player.display.bg.left"
+ />
+ <layer
+ id="display.background.center"
+ x="60" y="0"
+ ghost="1"
+ relatw="1"
+ w="-120"
+ image="player.display.bg.center"
+ />
+ <layer
+ id="display.background.right"
+ x="-60" y="0"
+ ghost="1"
+ relatx="1"
+ image="player.display.bg.right"
+ />
+ <layer
+ id="display.left"
+ x="0" y="0"
+ ghost="1"
+ image="player.display.left"
+ />
+ <layer
+ id="display.center"
+ x="60" y="0"
+ ghost="1"
+ relatw="1"
+ w="-120"
+ tile="1"
+ image="player.display.center"
+ />
+ <layer
+ id="display.right"
+ x="-60" y="0"
+ ghost="1"
+ relatx="1"
+ image="player.display.right"
+ />
+ <layer
+ id="display.st.left"
+ x="0" y="44"
+ ghost="1"
+ image="player.display.songticker.bg.left"
+ />
+ <layer
+ id="display.st.center"
+ x="60" y="44"
+ ghost="1"
+ relatw="1"
+ w="-120"
+ tile="1"
+ image="player.display.songticker.bg.center"
+ />
+ <layer
+ id="display.st.right"
+ x="-60" y="44"
+ ghost="1"
+ relatx="1"
+ image="player.display.songticker.bg.right"
+ />
+
+ <!-- Timer -->
+ <text
+ id="timer"
+ display="time"
+ x="20" y="16"
+ w="78" h="20"
+ font="player.BIGNUM"
+ align="center"
+ timecolonwidth="5"
+ timeroffstyle="1"
+ fontsize="24"
+ color="font.display"
+ />
+
+
+ <!-- Playback Status -->
+ <status
+ id="status"
+ x="11" y="15"
+ w="10" h="23"
+ stopBitmap="player.status.stop"
+ playBitmap="player.status.play"
+ pauseBitmap="player.status.pause"
+ />
+
+ <!-- Visualization -->
+ <layer
+ id="visualization.background"
+ x="-94" y="12"
+ relatx="1"
+ image="player.visualization.background"
+ />
+
+ <vis
+ id="visual"
+ x="-88" y="13" w="72" h="25"
+ relatx="1"
+ gammagroup="DisplayVis"
+ ColorBand1="255,255,255"
+ ColorBand2="255,255,255"
+ ColorBand3="255,255,255"
+ ColorBand4="255,255,255"
+ ColorBand5="255,255,255"
+ ColorBand6="255,255,255"
+ ColorBand7="255,255,255"
+ ColorBand8="255,255,255"
+ ColorBand9="255,255,255"
+ ColorBand10="255,255,255"
+ ColorBand11="255,255,255"
+ ColorBand12="255,255,255"
+ ColorBand13="255,255,255"
+ ColorBand14="255,255,255"
+ ColorBand15="255,255,255"
+ ColorBand16="255,255,255"
+
+ colorbandpeak="255,255,255"
+ colorosc1="255,255,255"
+ colorosc2="255,255,255"
+ colorosc3="255,255,255"
+ colorosc4="255,255,255"
+ colorosc5="255,255,255"
+ />
+
+ <layer id="main.vis.trigger" x="-83" y="13" w="72" h="25" relatx="1" rectrgn="1"/>
+
+ <script file="scripts/visualizer.maki" />
+
+ <layer
+ id="visualization.overlay"
+ x="-99" y="12"
+ relatx="1"
+ image="player.visualization.overlay"
+ ghost="1"
+ />
+
+ <!-- Songticker -->
+ <Songticker
+ id="Songticker" showlen="1"
+ x="8" y="43"
+ relatw="1"
+ w="-16" h="23"
+ leftpadding="5"
+ rightpadding="-5"
+ font="player.songticker.font"
+ align="center"
+ valign="top"
+ rightclickaction="trackmenu"
+ dblclickaction="trackinfo"
+ fontsize="18"
+ color="font.display.songticker"
+ altfont="Arial"
+ />
+
+ <Text
+ id="Infoticker"
+ x="8" y="43"
+ relatw="1"
+ w="-16" h="23"
+ leftpadding="5"
+ rightpadding="-5"
+ font="player.songticker.font"
+ align="center"
+ valign="top"
+ fontsize="18"
+ color="font.display.songticker"
+ altfont="Arial"
+ visible="0"
+ />
+
+ <!-- Songticker overlay -->
+ <layer
+ id="display.left.overlay"
+ x="0" y="0"
+ ghost="1"
+ image="player.display.left.overlay"
+ />
+ <layer
+ id="display.right.overlay"
+ x="-21" y="0"
+ ghost="1"
+ relatx="1"
+ image="player.display.right.overlay"
+ />
+
+ <!-- the songinfo -->
+ <group id="player.normal.songinfo" x="96" y="17" />
+
+ <group id="player.normal.display.beatvisualization" x="200" y="11" visible="0"/>
+
+ <layer
+ id="display.left"
+ x="0" y="0"
+ ghost="1"
+ image="player.display.left"
+ alpha="13"
+ />
+
+ <layer
+ id="display.center"
+ x="60" y="0"
+ ghost="1"
+ relatw="1"
+ w="-120"
+ tile="1"
+ image="player.display.center"
+ alpha="13"
+ />
+
+ <layer
+ id="display.right.overlay2"
+ x="-60" y="0"
+ ghost="1"
+ relatx="1"
+ image="player.display.right"
+ alpha="13"
+ />
+
+ <script id="beatvisualization.script" file="scripts/beatvisualization.maki" />
+
+</groupdef>
+
+<groupdef id="player.bar.rightbottom" relatw="1" w="0" relath="1" h="0">
+
+ <layer
+ id="player.main.resizer"
+ x="-17" y="108"
+ relatx="1"
+ image="player.resizer"
+ resize="right"
+ sysregion="1"
+ rectrgn="1"
+ />
+
+ <layer
+ x="-31" y="101"
+ relatx="1"
+ image="player.button.bolt.bg"
+ sysregion="1"
+ />
+ <button
+ id="about"
+ action="TOGGLE" param="guid:{D6201408-476A-4308-BF1B-7BACA1124B12}"
+ x="-31" y="101"
+ relatx="1"
+ image="player.button.bolt"
+ downImage="player.button.bolt.pressed"
+ activeImage="player.button.bolt"
+ hoverImage="player.button.bolt.hover"
+ rectrgn="1"
+ />
+
+ <!-- Volume -->
+ <layer
+ x="183" y="100"
+ image="player.volume.bg"
+ />
+
+ <layer
+ id="volumebar"
+ x="185" y="115"
+ w="10"
+ image="player.volumebar"
+ />
+
+ <slider
+ id="Volume"
+ action="VOLUME"
+ x="183" y="110"
+ w="86" h="13"
+ thumb="player.button.volume"
+ downThumb="player.button.volume.pressed"
+ hoverThumb="player.button.volume.hover"
+ tooltip="Volume"
+ />
+
+ <!-- Mute -->
+ <layer
+ x="160" y="99"
+ image="player.button.mute.bg"
+ />
+ <togglebutton
+ id="mute"
+ x="164" y="104"
+ image="player.button.mute.off"
+ downImage="player.button.mute.on.pressed"
+ hoverImage="player.button.mute.on.hover"
+ activeImage="player.button.mute.on"
+ tooltip="Toggle Mute"
+ rectrgn="1"
+ />
+
+ <script id="mute.script" file="scripts/mute.maki" />
+
+</groupdef>
+
+
+<groupdef id="buttons.video">
+ <layer
+ x="0" y="0"
+ image="player.button.video.bg.left"
+ />
+ <layer
+ x="97" y="0"
+ relatw="1" w="-169"
+ image="player.button.video.bg.center"
+ />
+ <layer
+ x="-72" y="0"
+ relatx="1"
+ image="player.button.video.bg.right"
+ />
+
+ <button
+ id="button.vid.fs"
+ action="VID_FS"
+ x="3" y="2"
+ image="player.button.video.fs"
+ downImage="player.button.video.fs.pressed"
+ hoverImage="player.button.video.fs.hover"
+ tooltip="Fullscreen"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vid.1x"
+ action="VID_1X"
+ x="26" y="2"
+ image="player.button.video.s1x"
+ downImage="player.button.video.s1x.pressed"
+ hoverImage="player.button.video.s1x.hover"
+ tooltip="Normal Size"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vid.2x"
+ action="VID_2X"
+ x="49" y="2"
+ image="player.button.video.s2x"
+ downImage="player.button.video.s2x.pressed"
+ hoverImage="player.button.video.s2x.hover"
+ tooltip="Double Size"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vid.max"
+ x="73" y="2"
+ image="player.button.video.smax"
+ downImage="player.button.video.smax.pressed"
+ hoverImage="player.button.video.smax.hover"
+ tooltip="Maximize Window"
+ rectrgn="1"
+ />
+ <button
+ id="button.vid.restore"
+ x="73" y="2"
+ image="player.button.video.srestore"
+ downImage="player.button.video.srestore.pressed"
+ hoverImage="player.button.video.srestore.hover"
+ tooltip="Restore Window"
+ rectrgn="1"
+ visible="0"
+ />
+
+ <button
+ id="button.vid.misc"
+ action="VID_Misc"
+ x="-40" y="2"
+ relatx="1"
+ image="player.button.video.misc"
+ downImage="player.button.video.misc.pressed"
+ hoverImage="player.button.video.misc.hover"
+ tooltip="Options"
+ rectrgn="1"
+ />
+
+ <text
+ id="wasabi.statusbar.text"
+ x="100" y="2"
+ w="-174" h="12"
+ relatw="1"
+ font="arial"
+ color="drawer.color.text.dark" fontsize="14"
+ display="VID_Info" wrap="0"
+ ghost="1"
+ />
+</groupdef>
+
+
+<groupdef id="buttons.vis">
+ <layer
+ x="0" y="0"
+ image="player.button.vis.bg.left"
+ />
+
+ <button
+ id="button.vid.fs"
+ action="VIS_FS"
+ x="3" y="2"
+ image="player.button.video.fs"
+ downImage="player.button.video.fs.pressed"
+ hoverImage="player.button.video.fs.hover"
+ tooltip="Fullscreen"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vis.prev"
+ action="VIS_Prev"
+ x="38" y="2"
+ image="player.button.vis.prev"
+ downImage="player.button.vis.prev.pressed"
+ hoverImage="player.button.vis.prev.hover"
+ tooltip="Previous Visualization"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vis.next"
+ action="VIS_Next"
+ x="84" y="2"
+ image="player.button.vis.next"
+ downImage="player.button.vis.next.pressed"
+ hoverImage="player.button.vis.next.hover"
+ tooltip="Next Visualization"
+ rectrgn="1"
+ />
+
+ <togglebutton
+ id="button.vis.random"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ x="142" y="2"
+ image="player.button.vis.random"
+ downImage="player.button.vis.random.pressed"
+ hoverImage="player.button.vis.random.hover"
+ tooltip="Toggle Random Visualization"
+ rectrgn="1"
+ />
+ <togglebutton
+ id="led.vis.random"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ x="200" y="-2"
+ image="player.led.off"
+ downImage="player.led.on"
+ activeImage="player.led.on"
+ rectrgn="1"
+ />
+
+ <layer
+ x="-43" y="0"
+ relatx="1"
+ image="player.button.vis.bg.right"
+ />
+ <button
+ id="button.vis.misc"
+ action="Vis_Menu"
+ x="-40" y="2"
+ relatx="1"
+ image="player.button.video.misc"
+ downImage="player.button.video.misc.pressed"
+ hoverImage="player.button.video.misc.hover"
+ tooltip="Options"
+ rectrgn="1"
+ />
+
+</groupdef>
+
+<groupdef id="buttons.video.detach">
+ <layer
+ x="0" y="0"
+ image="player.button.video.detach.bg"
+ />
+ <button
+ id="button.vid.detach"
+ x="3" y="2"
+ image="player.button.video.detach"
+ downImage="player.button.video.detach.pressed"
+ hoverImage="player.button.video.detach.hover"
+ tooltip="Detach Video"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="buttons.video.switchto">
+ <layer
+ x="0" y="0"
+ image="player.button.video.switchto.bg"
+ />
+ <button
+ id="button.vid.switchto"
+ x="3" y="2"
+ image="player.button.video.switchto"
+ downImage="player.button.video.switchto.pressed"
+ hoverImage="player.button.video.switchto.hover"
+ tooltip="Switch to Visualizer"
+ rectrgn="1"
+ />
+</groupdef>
+
+
+<groupdef id="buttons.vis.detach">
+ <layer
+ x="0" y="0"
+ image="player.button.vis.detach.bg"
+ />
+ <button
+ id="button.vis.detach"
+ x="3" y="2"
+ image="player.button.vis.detach"
+ downImage="player.button.vis.detach.pressed"
+ hoverImage="player.button.vis.detach.hover"
+ tooltip="Detach Visualizations"
+ rectrgn="1"
+ />
+</groupdef>
+
+<groupdef id="buttons.vis.switchto">
+ <layer
+ x="0" y="0"
+ image="player.button.vis.switchto.bg"
+ />
+ <button
+ id="button.vis.switchto"
+ x="3" y="2"
+ image="player.button.vis.switchto"
+ downImage="player.button.vis.switchto.pressed"
+ hoverImage="player.button.vis.switchto.hover"
+ tooltip="Switch to Video"
+ rectrgn="1"
+ />
+</groupdef>
+
+
+
+<groupdef id="videowindow" rectrgn="1">
+ <windowholder id="myvideownd" fitparent="1" autoclose="1" autoopen="1" autoavailable="0" visible="0" hold="guid:{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"/>
+ <windowholder id="myviswnd" fitparent="1" autoclose="1" autoopen="1" autoavailable="0" visible="0" hold="guid:avs" autofocus="0"/>
+</groupdef>
+
+<groupdef id="video.group" rectrgn="1">
+ <rect fitparent="1" color="0,0,0" filled="1" />
+ <group id="videowindow" fitparent="1"/>
+</groupdef>
+
+
+<groupdef id="AVSGroup" relatw="1" w="0" relath="1" h="-280" visible="0" background="wasabi.frame.basetexture">
+ <layer
+ x="0" y="0"
+ image="player.videoavs.topleft"
+ resize="left"
+ />
+ <layer
+ x="10" y="0"
+ ghost="0"
+ relatw="1"
+ w="-20"
+ image="player.videoavs.topmiddle"
+ />
+ <layer
+ x="-10" y="0"
+ relatx="1"
+ image="player.videoavs.topright"
+ resize="right"
+ />
+
+ <layer
+ x="0" y="21"
+ relath="1"
+ h="-47"
+ image="player.videoavs.left"
+ resize="left"
+ />
+ <layer
+ x="4" y="21"
+ ghost="0"
+ relatw="1"
+ w="-8"
+ relath="1"
+ h="-47"
+ image="player.videoavs.middle"
+ />
+ <layer
+ x="-4" y="21"
+ relatx="1"
+ relath="1"
+ h="-47"
+ image="player.videoavs.right"
+ resize="right"
+ />
+
+ <layer
+ x="0" y="-26"
+ ghost="0"
+ image="player.videoavs.bottomleft"
+ relaty="1"
+ />
+ <layer
+ x="10" y="-26"
+ ghost="0"
+ relatw="1"
+ w="-60"
+ relaty="1"
+ image="player.videoavs.bottommiddle"
+ />
+ <layer
+ x="-50" y="-26"
+ ghost="0"
+ relatx="1"
+ relaty="1"
+ image="player.videoavs.bottomright"
+ />
+
+ <layer
+ id="player.button.videoavs.up.bg2"
+ x="-45" y="0"
+ relatx="1"
+ image="player.button.videoavs.up.bg2"
+ />
+
+ <group id="video.group" x="4" y="21" relatw="1" relath="1" w="-8" h="-47"/>
+ <group id="buttons.video" x="10" relatw="1" w="0" relaty="1" y="-21"/>
+ <group id="buttons.vis" x="10" relatw="1" w="0" relaty="1" y="-21"/>
+ <group id="buttons.video.detach" x="5" y="3" visible="0"/>
+ <group id="buttons.vis.detach" x="5" y="3" visible="0"/>
+
+ <group id="buttons.video.switchto" x="-170" y="3" relatx="1" visible="0"/>
+ <group id="buttons.vis.switchto" x="-170" y="3" relatx="1" visible="1"/>
+
+</groupdef>
+
+
+<groupdef id="player.main" relatw="1" w="0" h="126">
+ <layer
+ id="window.left"
+ x="0" y="0"
+ image="player.main.left"
+ sysregion = "1"
+ />
+ <layer
+ id="window.center"
+ x="180" y="0"
+ w="-270"
+ relatw="1"
+ image="player.main.center"
+ sysregion = "1"
+ />
+ <layer
+ id="window.right"
+ x="-90" y="0"
+ relatx="1"
+ image="player.main.right"
+ sysregion = "1"
+ />
+
+ <layer
+ id="window.bg2.left"
+ x="138" y="95"
+ image="player.main.bg2.left"
+ sysregion = "1"
+ />
+
+ <layer
+ id="window.bg2.center"
+ x="198" y="95"
+ w="-288"
+ relatw="1"
+ image="player.main.bg2.center"
+ sysregion = "1"
+ />
+
+ <layer
+ id="window.bg2.right"
+ x="-90" y="95"
+ relatx="1"
+ image="player.main.bg2.right"
+ sysregion = "1"
+ />
+ <layer
+ x="-72" y="107"
+ relatx="1"
+ image="player.main.bg2.textoverlay"
+ />
+ <layer
+ id="window.left.bottom.region"
+ x="0" y="120"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ id="window.right.bottom.region"
+ x="-6" y="120"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+
+ <!-- the display -->
+ <group id="player.normal.display" x="5" y="3" />
+
+ <!-- the playback buttons -->
+ <group id="player.normal.playbuttons" x="4" y="93" />
+
+ <!-- the volume / mute / resize / ... -->
+ <group id="player.bar.rightbottom" x="0" y="0" />
+
+
+
+ <!-- SEEK SLIDER -->
+
+ <layer
+ id="seekbar.left"
+ x="6" y="75"
+ ghost="1"
+ image="player.seekbar.left"
+ />
+ <layer
+ id="seekbar.center"
+ x="16" y="75"
+ ghost="1"
+ relatw="1"
+ w="-121"
+ image="player.seekbar.center"
+ />
+ <layer
+ id="seekbar.right"
+ x="-105" y="75"
+ ghost="1"
+ relatx="1"
+ image="player.seekbar.right"
+ />
+
+ <ProgressGrid
+ w="-110" h="4" relatw="1"
+ orientation="right"
+ x="10" y="79"
+ middle="player.progressbar.center"
+ />
+
+ <slider
+ id="Seeker"
+ action="SEEK"
+ x="6" y="75"
+ h="13"
+ relatw="1"
+ w="-100"
+ thumb="player.button.seek"
+ downThumb="player.button.seek.pressed"
+ hoverThumb="player.button.seek.hover"
+ tooltip="Seeker"
+ />
+ <slider
+ id="SeekerGhost"
+ action="SEEK"
+ x="6" y="75"
+ h="13"
+ relatw="1"
+ w="-100"
+ thumb="player.button.seek"
+ downThumb="player.button.seek.pressed"
+ hoverThumb="player.button.seek.hover"
+ />
+
+ <!-- Shuffle / Repeat -->
+ <layer
+ id="button.repeat.bg"
+ x="-44" y="18"
+ ghost="1"
+ relatx="1"
+ image="player.button.repeat.bg"
+ />
+ <layer
+ id="button.shuffle.bg"
+ x="-44" y="41"
+ ghost="1"
+ relatx="1"
+ image="player.button.shuffle.bg"
+ />
+
+ <NStatesButton
+ id="Repeat"
+ x="-40" y="22"
+ nstates="3"
+ relatx="1"
+ image="player.button.repeat"
+ downImage="player.button.repeat.pressed"
+ hoverImage="player.button.repeat.hover"
+ activeImage="player.button.repeat"
+ tooltip="Toggle Playlist/Song Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ rectrgn="1"
+ />
+ <togglebutton
+ id="Shuffle"
+ x="-40" y="45"
+ relatx="1"
+ image="player.button.shuffle"
+ downImage="player.button.shuffle.pressed"
+ hoverImage="player.button.shuffle.hover"
+ activeImage="player.button.shuffle"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ rectrgn="1"
+ />
+
+ <NStatesButton
+ id="RepeatLED"
+ x="-19" y="22"
+ relatx="1"
+ nstates="3"
+ autoelements="0"
+ image="player.led.off"
+ downImage="player.led.on"
+ activeImage="player.led.on"
+ tooltip="Toggle Playlist/Song Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ rectrgn="1"
+ />
+ <togglebutton
+ id="ShuffleLED"
+ x="-19" y="45"
+ relatx="1"
+ image="player.led.off"
+ downImage="player.led.on"
+ activeImage="player.led.on"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ rectrgn="1"
+ />
+
+
+ <layer
+ id="player.button.videoavs.overlay"
+ x="-43" y="0"
+ ghost="0"
+ relatx="1"
+ image="player.button.videoavs.overlay"
+ />
+
+ <layer
+ id="player.button.mlpl.bg"
+ x="-94" y="69"
+ ghost="0"
+ relatx="1"
+ image="player.button.mlpl.bg"
+ />
+
+ <button
+ id="EJECT"
+ action="EJECT"
+ x="-86" y="75"
+ relatx="1"
+ image="player.button.eject"
+ downImage="player.button.eject.pressed"
+ hoverImage="player.button.eject.hover"
+ tooltip="Open file(s)"
+ />
+
+ <layer
+ x="-60" y="75"
+ relatx="1"
+ image="player.button.pl"
+ />
+ <layer
+ x="-34" y="75"
+ relatx="1"
+ image="player.button.ml"
+ />
+
+ <button
+ id="pl"
+ action="TOGGLE" param="guid:pl"
+ x="-60" y="75"
+ relatx="1"
+ image="player.button.pl"
+ downImage="player.button.pl.pressed"
+ hoverImage="player.button.pl.hover"
+ activeImage="player.button.pl.active"
+ tooltip="Playlist Editor"
+ />
+ <button
+ id="ml"
+ action="TOGGLE" param="guid:ml"
+ x="-34" y="75"
+ relatx="1"
+ image="player.button.ml"
+ downImage="player.button.ml.pressed"
+ hoverImage="player.button.ml.hover"
+ activeImage="player.button.ml.active"
+ tooltip="Media Library"
+ />
+
+ <layer
+ x="0" y="0"
+ w="3" h="0"
+ relath="1"
+ resize="left"
+ />
+ <layer
+ x="-5" y="0"
+ w="5" h="-20"
+ relath="1"
+ relatx="1"
+ resize="right"
+ />
+
+ <script id="seek.script" file="scripts/seek.maki" />
+ <script id="display.script" file="scripts/display.maki" />
+
+
+</groupdef>
+
+<groupdef id="player.content.dummy.group" name="WinampDummyGroup" relatw="1" relath="1" w="0" h="0">
+ <group id="player.normal.drawer" x="0" y="-263" relaty="1" sysregion="1" move="1"/>
+ <group id="player.normal.drawer.shadow" x="0" y="-149" relaty="1" relatw="1" w="0" visible="0" sysregion="1"/>
+ <group id="player.main" x="0" y="-263" relaty="1" sysregion="1"/>
+ <group id="AVSGroup" x="0" y="17" sysregion="1"/>
+
+ <layer
+ id="player.button.videoavs.up.bg"
+ x="-45" y="17"
+ relatx="1"
+ image="player.button.videoavs.up.bg"
+ />
+ <button
+ id="videoavs.close"
+ x="-37" y="19"
+ relatx="1"
+ image="player.button.videoavs.up"
+ downImage="player.button.videoavs.up.pressed"
+ hoverImage="player.button.videoavs.up.hover"
+ tooltip="Close Video and Visualization"
+ rectrgn="1"
+ />
+ <button
+ id="videoavs.open"
+ x="-37" y="19"
+ relatx="1"
+ image="player.button.videoavs"
+ downImage="player.button.videoavs.pressed"
+ hoverImage="player.button.videoavs.hover"
+ tooltip="Open Video and Visualization"
+ rectrgn="1"
+ />
+ <layer
+ id="openclosehider"
+ x="-44" y="16"
+ relatx="1"
+ image="player.openclose.overlay"
+ />
+
+ <script id="configtabs.script" file="scripts/configtabs.maki" />
+ <script id="videoavs.script" file="scripts/videoavs.maki" />
+
+</groupdef>
+
+<groupdef id="player.content.group" name="Winamp">
+ <group id="player.content.dummy.group" x="0" y="0"/>
+ <script id="mainmenu.script" file="scripts/mainmenu.maki" />
+</groupdef>
+
+<include file="configdrawer.xml" /> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/player-normal.xml b/Src/resources/skins/Winamp Modern/xml/player-normal.xml
new file mode 100644
index 00000000..4dacbb76
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player-normal.xml
@@ -0,0 +1,114 @@
+<!-- player-normal.xml creates the layout of the Winamp Player Window. -->
+
+<include file="player-normal-group.xml" />
+
+ <layout
+ id="normal"
+ minimum_w="354"
+ minimum_h="280"
+ h="280"
+ w="354"
+ droptarget="pldr"
+ snapadjustbottom="116"
+ linkwidth="shade"
+ >
+
+ <Wasabi:MainFrame:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="player.content.group"
+ padtitleleft="10"
+ padtitleright="25"
+ shade="shade"
+ />
+ <sendparams target="window.titlebar.title" default="WINAMP"/>
+ <sendparams target="mousetrap" dblClickAction="SWITCH;shade"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom;" resize="0"/>
+ <hideobject target="close;close.inactive"/>
+
+
+<layer
+ x="-42" y="4"
+ relatx="1"
+ image="wasabi.button.bg.title"
+/>
+<button
+ id="Minimize"
+ action="MINIMIZE"
+ x="-41" y="4"
+ relatx="1"
+ image="wasabi.button.minimize.inactive"
+ tooltip="Minimize Winamp"
+ activeAlpha="0"
+/>
+<button
+ id="Minimize"
+ action="MINIMIZE"
+ x="-41" y="4"
+ relatx="1"
+ image="wasabi.button.minimize"
+ downImage="wasabi.button.minimize.pressed"
+ hoverImage="wasabi.button.minimize.hover"
+ tooltip="Minimize Winamp"
+ inactiveAlpha="0"
+/>
+
+<layer
+ x="-30" y="4"
+ relatx="1"
+ image="wasabi.button.bg.title"
+/>
+<button
+ id="winshade"
+ action="SWITCH" param="shade"
+ x="-29" y="4"
+ relatx="1"
+ image="wasabi.button.winshade.inactive"
+ tooltip="Windowshade Mode"
+ activeAlpha="0"
+/>
+<button
+ id="winshade"
+ action="SWITCH" param="shade"
+ x="-29" y="4"
+ relatx="1"
+ image="wasabi.button.winshade"
+ downImage="wasabi.button.winshade.pressed"
+ hoverImage="wasabi.button.winshade.hover"
+ tooltip="Windowshade Mode"
+ inactiveAlpha="0"
+/>
+
+<layer
+ x="-18" y="4"
+ relatx="1"
+ image="wasabi.button.bg.title"
+/>
+<button
+ id="Close"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit.inactive"
+ tooltip="Exit Winamp"
+ activeAlpha="0"
+/>
+<button
+ id="Close"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="wasabi.button.exit"
+ downImage="wasabi.button.exit.pressed"
+ hoverImage="wasabi.button.exit.hover"
+ tooltip="Exit Winamp"
+ inactiveAlpha="0"
+/>
+
+ <groupdef id="playlistpro">
+ <PlaylistPro id="centro.windowholder.playlist1" x="0" y="0" h="0" w="0" relath="1" relatw="1" autofocus="1" wantfocus="1" autoclose="1" autoopen="1" autoavailable="1"/>
+ </groupdef>
+
+</layout>
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/player-shade-group.xml b/Src/resources/skins/Winamp Modern/xml/player-shade-group.xml
new file mode 100644
index 00000000..db81505f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player-shade-group.xml
@@ -0,0 +1,684 @@
+
+<groupdef id="shadeX1"> <!-- SHUFFLE/REPEAT -->
+ <layer
+ x="0" y="0"
+ image="shade.bg.X1"
+ ghost="1"
+ />
+
+ <NStatesButton
+ id="shadeRepeat"
+ x="1" y="8"
+ nstates="3"
+ image="shade.button.repeat"
+ downImage="shade.button.repeat.pressed"
+ hoverImage="shade.button.repeat.hover"
+ tooltip="Toggle Playlist/Song Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ rectrgn="1"
+ />
+ <togglebutton
+ id="shadeShuffle"
+ x="20" y="8"
+ image="shade.button.shuffle"
+ downImage="shade.button.shuffle.pressed"
+ hoverImage="shade.button.shuffle.hover"
+ activeImage="shade.button.shuffle"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ rectrgn="1"
+ />
+
+ <NStatesButton
+ id="shadeRepeatLED"
+ x="12" y="1"
+ nstates="3"
+ autoelements="0"
+ image="shade.led.off"
+ downImage="shade.led.on"
+ activeImage="shade.led.on"
+ tooltip="Toggle Playlist Repeating"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Repeat"
+ cfgvals="0;1;-1"
+ rectrgn="1"
+ />
+ <togglebutton
+ id="shadeShuffleLED"
+ x="31" y="1"
+ image="shade.led.off"
+ downImage="shade.led.on"
+ activeImage="shade.led.on"
+ tooltip="Toggle Playlist Shuffling"
+ cfgattrib="{45F3F7C1-A6F3-4EE6-A15E-125E92FC3F8D};Shuffle"
+ rectrgn="1"
+ />
+</groupdef>
+
+
+<groupdef id="shadeX2"> <!-- EQ -->
+ <layer
+ x="0" y="0"
+ image="shade.bg.X2"
+ ghost="1"
+ />
+ <button
+ id="shadeeq"
+ x="3" y="4"
+ image="shade.button.eq"
+ downImage="shade.button.eq.pressed"
+ activeImage="shade.button.eq"
+ hoverImage="shade.button.eq.hover"
+ tooltip="Equalizer"
+ />
+</groupdef>
+
+<groupdef id="shadeX3"> <!-- COLOR THEMES -->
+ <layer
+ x="0" y="0"
+ image="shade.bg.X3"
+ ghost="1"
+ />
+ <button
+ id="shadect"
+ action="TOGGLE" param="{53DE6284-7E88-4c62-9F93-22ED68E6A024}"
+ x="15" y="13"
+ image="shade.button.ct"
+ downImage="shade.button.ct.pressed"
+ activeImage="shade.button.ct"
+ hoverImage="shade.button.ct.hover"
+ tooltip="Color Themes"
+ />
+ <ColorThemes:Mgr
+ id="colorthemes_shade"
+ x="50" y="50"
+ w="200" h="100"
+ nohscroll="1"
+ visible="1"
+ />
+ <Button
+ id="Switch.ct.prev"
+ action="colorthemes_previous"
+ action_target="colorthemes_shade"
+ x="6" y="13"
+ image="shade.button.ct.prev"
+ downImage="shade.button.ct.prev.pressed"
+ hoverImage="shade.button.ct.prev.hover"
+ tooltip="Previous ColorTheme"
+ />
+ <Button
+ id="Switch.ct.next"
+ action="colorthemes_next"
+ action_target="colorthemes_shade"
+ x="45" y="13"
+ image="shade.button.ct.next"
+ downImage="shade.button.ct.next.pressed"
+ hoverImage="shade.button.ct.next.hover"
+ tooltip="Next ColorTheme"
+ />
+ <togglebutton
+ id="shadeaot"
+ cfgattrib="{280876CF-48C0-40BC-8E86-73CE6BB462E5};Always on top"
+ x="7" y="2"
+ image="shade.button.aot"
+ downImage="shade.button.aot.pressed"
+ activeImage="shade.button.aot"
+ hoverImage="shade.button.aot.hover"
+ tooltip="Toggle Always on top"
+ />
+ <togglebutton
+ id="shadeaot"
+ cfgattrib="{280876CF-48C0-40BC-8E86-73CE6BB462E5};Always on top"
+ x="42" y="1"
+ image="shade.led.off"
+ activeImage="shade.led.on"
+ tooltip="Toggle Always on top"
+ />
+</groupdef>
+
+<groupdef id="shadeX4"> <!-- Always on top -->
+ <layer
+ x="0" y="0"
+ image="shade.bg.X4"
+ ghost="1"
+ />
+</groupdef>
+
+
+
+<groupdef id="shadedisplay"> <!-- Display-->
+ <layer
+ x="0" y="0"
+ image="shade.display.bg.left"
+ ghost="1"
+ />
+ <layer
+ x="10" y="0"
+ w="-20"
+ relatw="1"
+ image="shade.display.bg.center"
+ ghost="1"
+ />
+ <layer
+ x="-10" y="0"
+ relatx="1"
+ image="shade.display.bg.right"
+ ghost="1"
+ />
+ <layer
+ x="3" y="4"
+ image="shade.display.left"
+ ghost="1"
+ />
+ <layer
+ x="13" y="4"
+ w="-21"
+ relatw="1"
+ image="shade.display.center"
+ ghost="1"
+ tile="1"
+ />
+ <layer
+ x="-8" y="4"
+ relatx="1"
+ image="shade.display.right"
+ ghost="1"
+ />
+
+ <!-- SEEK SLIDER -->
+ <slider
+ id="shadeSeeker2"
+ action="SEEK"
+ x="1" y="15"
+ h="10" w="-1"
+ relatw="1"
+ thumb="shade.button.seek"
+ downThumb="shade.button.seek.pressed"
+ hoverThumb="shade.button.seek.hover"
+ tooltip="Seeker"
+ alpha="100"
+ />
+ <slider
+ id="shadeSeekerGhost2"
+ action="SEEK"
+ x="1" y="15"
+ h="10" w="-1"
+ relatw="1"
+ thumb="shade.button.seek"
+ downThumb="shade.button.seek.pressed"
+ hoverThumb="shade.button.seek.hover"
+ tooltip="Seeker"
+ />
+</groupdef>
+
+
+<groupdef id="shadedisplay2"> <!-- Display-->
+ <layer
+ x="0" y="0"
+ image="shade.display.bg.left"
+ ghost="1"
+ />
+ <layer
+ x="10" y="0"
+ w="-20"
+ relatw="1"
+ image="shade.display.bg.center"
+ ghost="1"
+ />
+ <layer
+ x="-21" y="1"
+ relatx="1"
+ image="shade.display2.bg.right"
+ ghost="1"
+ />
+ <layer
+ x="3" y="4"
+ image="shade.display.left"
+ ghost="1"
+ />
+ <layer
+ x="13" y="4"
+ w="-32"
+ relatw="1"
+ image="shade.display.center"
+ ghost="1"
+ tile="1"
+ />
+ <layer
+ x="-19" y="4"
+ relatx="1"
+ image="shade.display.right"
+ ghost="1"
+ />
+
+ <button
+ id="shade.expand"
+ x="-10" y="8"
+ relatx="1"
+ image="shade.button.expand"
+ downImage="shade.button.expand.pressed"
+ hoverImage="shade.button.expand.hover"
+ tooltip="Expand Display"
+ rectrgn="1"
+ />
+ <button
+ id="shade.reduce"
+ x="-10" y="8"
+ relatx="1"
+ image="shade.button.reduce"
+ downImage="shade.button.reduce.pressed"
+ hoverImage="shade.button.reduce.hover"
+ tooltip="Reduce Display / Show more options"
+ rectrgn="1"
+ />
+
+ <!-- SEEK SLIDER -->
+ <slider
+ id="shadeSeeker"
+ action="SEEK"
+ x="1" y="15"
+ h="10" w="-11"
+ relatw="1"
+ thumb="shade.button.seek"
+ downThumb="shade.button.seek.pressed"
+ hoverThumb="shade.button.seek.hover"
+ tooltip="Seeker"
+ alpha="100"
+ />
+ <slider
+ id="shadeSeekerGhost"
+ action="SEEK"
+ x="1" y="15"
+ h="10" w="-11"
+ relatw="1"
+ thumb="shade.button.seek"
+ downThumb="shade.button.seek.pressed"
+ hoverThumb="shade.button.seek.hover"
+ tooltip="Seeker"
+ />
+</groupdef>
+
+<groupdef id="shadeticker" h="25"> <!-- Songticker -->
+ <Songticker
+ id="SongtickerShade" ticker="1"
+ display="songname" showlen="1"
+ x="40" y="4"
+ w="-44" h="13" relatw="1"
+ leftpadding="5"
+ rightpadding="-5"
+ font="shade.songticker.font"
+ align="left"
+ rightclickaction="trackmenu"
+ dblclickaction="trackinfo"
+ fontsize="13"
+ color="font.display.songtickershade"
+ altfont="Arial"
+ />
+ <Text
+ id="InfotickerShade"
+ x="40" y="4"
+ w="-44" h="13" relatw="1"
+ leftpadding="5"
+ rightpadding="-5"
+ font="shade.songticker.font"
+ align="left"
+ rightclickaction="trackmenu"
+ dblclickaction="trackinfo"
+ fontsize="13"
+ color="font.display.songtickershade"
+ altfont="Arial"
+ visible="0"
+ />
+ <layer
+ x="40" y="4"
+ image="shade.display.ticker.overlay"
+ ghost="1"
+ />
+</groupdef>
+
+<groupdef id="shadevis" h="25"> <!-- VIS -->
+
+ <layer
+ x="0" y="4"
+ image="shade.display.vis.bg"
+ ghost="1"
+ />
+
+ <vis
+ id="visual"
+ x="4" y="4" w="53" h="13"
+ gammagroup="DisplayVis"
+ ColorBand1="255,255,255"
+ ColorBand2="255,255,255"
+ ColorBand3="255,255,255"
+ ColorBand4="255,255,255"
+ ColorBand5="255,255,255"
+ ColorBand6="255,255,255"
+ ColorBand7="255,255,255"
+ ColorBand8="255,255,255"
+ ColorBand9="255,255,255"
+ ColorBand10="255,255,255"
+ ColorBand11="255,255,255"
+ ColorBand12="255,255,255"
+ ColorBand13="255,255,255"
+ ColorBand14="255,255,255"
+ ColorBand15="255,255,255"
+ ColorBand16="255,255,255"
+
+ colorbandpeak="255,255,255"
+ colorosc1="255,255,255"
+ colorosc2="255,255,255"
+ colorosc3="255,255,255"
+ colorosc4="255,255,255"
+ colorosc5="255,255,255"
+ />
+
+ <layer id="main.vis.trigger" x="4" y="4" w="53" h="13" rectrgn="1"/>
+
+ <script file="scripts/visualizer.maki" />
+
+ <layer
+ x="0" y="4"
+ image="shade.display.vis.overlay"
+ ghost="1"
+ />
+
+</groupdef>
+
+<groupdef id="shadetimer" h="25"> <!-- Timer -->
+
+ <button id="nowplaying"
+ x="7" y="6" rectrgn="1"
+ image="shade.button.nowplaying.normal"
+ hoverImage="shade.button.nowplaying.hover"
+ downImage="shade.button.nowplaying.down"
+ tooltip="More information about this artist"
+ />
+
+ <script file="scripts/shadelinks.maki"/>
+
+ <text
+ id="timer"
+ display="time"
+ x="18" y="4"
+ w="40" h="12"
+ font="shade.songticker.font"
+ align="left"
+ timecolonwidth="2"
+ timeroffstyle="1"
+ fontsize="12"
+ color="font.display"
+ altfont="Arial"
+ altfontsize="13"
+ altbold="1"
+ />
+</groupdef>
+
+
+
+<groupdef id="shademain" name="Shade Main" w="0" h="25" relatw="1">
+
+ <!-- Background -->
+ <layer
+ x="0" y="0"
+ image="shade.bg.left"
+ dblClickAction="SWITCH;normal"
+ />
+ <layer
+ x="303" y="0"
+ w="-352"
+ relatw="1"
+ image="shade.bg.center"
+ dblClickAction="SWITCH;normal"
+ />
+ <layer
+ x="-49" y="0"
+ relatx="1"
+ image="shade.bg.right"
+ dblClickAction="SWITCH;normal"
+ />
+ <layer
+ x="128" y="5"
+ image="shade.bg.overlay"
+ dblClickAction="SWITCH;normal"
+ />
+ <layer
+ x="-54" y="0"
+ relatx="1"
+ image="shade.bg.resize"
+ ghost="1"
+ />
+ <layer
+ id="shade.region.left"
+ x="0" y="0"
+ image="shade.regions.left"
+ sysregion="-2"
+ />
+ <layer
+ id="shade.region.right"
+ x="-5" y="0"
+ relatx="1"
+ image="shade.regions.right"
+ sysregion="-2"
+ />
+ <layer
+ x="0" y="0"
+ w="5" h="25"
+ resize="left"
+ />
+ <layer
+ x="-5" y="0"
+ relatx="1"
+ w="5" h="25"
+ resize="right"
+ />
+
+
+ <!-- Sysmenu -->
+ <button
+ id="shadeSysmenu"
+ action="SYSMENU"
+ x="6" y="4"
+ image="shade.button.sysmenu"
+ downImage="shade.button.sysmenu.pressed"
+ hoverImage="shade.button.sysmenu.hover"
+ tooltip="Main Menu"
+ />
+
+
+ <!-- PREVIOUS -->
+ <button
+ id="shadePrevious"
+ action="PREV"
+ x="29" y="6"
+ image="shade.button.previous"
+ downImage="shade.button.previous.pressed"
+ hoverImage="shade.button.previous.hover"
+ tooltip="Previous"
+ rectrgn="1"
+ />
+ <!-- Playback Button Status -->
+ <status
+ id="shadestatus"
+ x="54" y="8"
+ stopBitmap="shade.button.status.stop"
+ playBitmap="shade.button.status.play"
+ pauseBitmap="shade.button.status.pause"
+ ghost="1"
+ />
+
+ <!-- PLAY -->
+ <button
+ id="shadePlay"
+ action="PLAY"
+ x="49" y="4"
+ image="shade.button.play"
+ downImage="shade.button.play.pressed"
+ hoverImage="shade.button.play.hover"
+ status="shade.button.play.active"
+ tooltip="Play"
+ rectrgn="1"
+ />
+
+ <!-- PAUSE -->
+ <button
+ id="shadePause"
+ action="PAUSE"
+ x="71" y="4"
+ image="shade.button.pause"
+ downImage="shade.button.pause.pressed"
+ hoverImage="shade.button.pause.hover"
+ tooltip="Pause"
+ rectrgn="1"
+ />
+
+ <!-- STOP -->
+ <button
+ id="shadeStop"
+ action="STOP"
+ x="93" y="4"
+ image="shade.button.stop"
+ downImage="shade.button.stop.pressed"
+ hoverImage="shade.button.stop.hover"
+ tooltip="Stop"
+ rectrgn="1"
+ />
+
+ <!-- NEXT -->
+ <button
+ id="shadeNext"
+ action="NEXT"
+ x="116" y="6"
+ image="shade.button.next"
+ downImage="shade.button.next.pressed"
+ hoverImage="shade.button.next.hover"
+ tooltip="Next"
+ rectrgn="1"
+ />
+
+
+ <!-- VOLUME -->
+ <layer
+ id="volumebarShade"
+ x="168" y="17"
+ w="10"
+ image="player.volumebar"
+ />
+ <slider
+ id="shadeVolume"
+ action="VOLUME"
+ x="164" y="12"
+ w="56" h="11"
+ thumb="shade.button.volume"
+ downThumb="shade.button.volume.pressed"
+ hoverThumb="shade.button.volume.hover"
+ tooltip="Volume"
+ />
+
+ <!-- MUTE -->
+ <togglebutton
+ id="shademute"
+ x="148" y="8"
+ image="shade.button.mute.off"
+ downImage="shade.button.mute.on.pressed"
+ hoverImage="shade.button.mute.on.hover"
+ activeImage="shade.button.mute.on"
+ tooltip="Toggle Mute"
+ rectrgn="1"
+ />
+
+ <!-- EJECT/PL/ML -->
+ <button
+ id="shadeEJECT"
+ action="EJECT"
+ x="229" y="10"
+ image="shade.button.eject"
+ downImage="shade.button.eject.pressed"
+ hoverImage="shade.button.eject.hover"
+ tooltip="Open file(s)"
+ />
+ <layer
+ x="249" y="10"
+ image="shade.button.pl"
+ />
+ <layer
+ x="267" y="10"
+ image="shade.button.ml"
+ />
+
+ <button
+ id="shadepl"
+ action="TOGGLE" param="guid:pl"
+ x="249" y="10"
+ image="shade.button.pl"
+ downImage="shade.button.pl.pressed"
+ hoverImage="shade.button.pl.hover"
+ activeImage="shade.button.pl.active"
+ tooltip="Playlist Editor"
+ />
+ <button
+ id="shademl"
+ action="TOGGLE" param="guid:ml"
+ x="267" y="10"
+ image="shade.button.ml"
+ downImage="shade.button.ml.pressed"
+ hoverImage="shade.button.ml.hover"
+ activeImage="shade.button.ml.active"
+ tooltip="Media Library"
+ />
+
+ <!-- Resizer -->
+ <layer
+ x="-54" y="1"
+ w="9" h="23"
+ relatx="1"
+ image="shade.pl.resize"
+ resize="right"
+ rectrgn="1"
+ />
+
+ <!-- CLOSE/SHADE/MINIMIZE -->
+ <button
+ id="shadeMinimize"
+ action="MINIMIZE"
+ x="-41" y="4"
+ relatx="1"
+ image="shade.button.minimize"
+ downImage="shade.button.minimize.pressed"
+ hoverImage="shade.button.minimize.hover"
+ tooltip="Minimize Winamp"
+ />
+ <button
+ id="shadeClose"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="shade.button.close"
+ downImage="shade.button.close.pressed"
+ hoverImage="shade.button.close.hover"
+ tooltip="Exit Winamp"
+ />
+ <button
+ id="shadeWinshade"
+ action="SWITCH" param="normal"
+ x="-29" y="4"
+ relatx="1"
+ image="shade.button.winshade"
+ downImage="shade.button.winshade.pressed"
+ hoverImage="shade.button.winshade.hover"
+ tooltip="Return to Normal Mode"
+ />
+
+ <group id="shadedisplay" x="299" y="0" w="150" visible="0"/>
+ <group id="shadedisplay2" x="299" y="0" w="150" visible="0"/>
+ <group id="shadeticker" x="312" y="0" w="40" visible="0"/>
+ <group id="shadevis" x="299" y="0" w="60" relatx="1" visible="0"/>
+ <group id="shadetimer" x="299" y="0" w="53" visible="0"/>
+ <group id="shadeX1" x="-237" y="0" relatx="1" visible="0"/>
+ <group id="shadeX2" x="-195" y="0" relatx="1" visible="0"/>
+ <group id="shadeX3" x="-174" y="1" relatx="1" visible="0"/>
+ <group id="shadeX4" x="-130" y="0" relatx="1" visible="0"/>
+
+ <script id="seekshade.script" file="scripts/seekshade.maki" />
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/player-shade.xml b/Src/resources/skins/Winamp Modern/xml/player-shade.xml
new file mode 100644
index 00000000..6fc87018
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player-shade.xml
@@ -0,0 +1,27 @@
+<!-- player-shade.xml creates the layout of the Winamp Shade Window. -->
+
+ <include file="player-shade-group.xml"/>
+
+ <layout
+ id="shade"
+ minimum_w="354"
+ minimum_h="25"
+ h="25"
+ w="354"
+ droptarget="pldr"
+ background="wasabi.frame.basetexture"
+ linkwidth="normal" appbar="top|bottom"
+ >
+
+
+ <!--<group id="shadedrawer" x="215" y="0" sysregion="1" move="1"/>-->
+ <group id="shademain" x="0" y="0" sysregion="1"/>
+
+ <script id="shadecontrol.script" file="scripts/shadesizepos.maki" />
+ <script id="shadecontrol.script" file="scripts/shadecontrol.maki" />
+
+
+</layout>
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/player.xml b/Src/resources/skins/Winamp Modern/xml/player.xml
new file mode 100644
index 00000000..6a3d81e4
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/player.xml
@@ -0,0 +1,11 @@
+<include file="player-elements.xml"/>
+<include file="player-elements-shade.xml"/>
+
+<container id="main" name="Player Window" default_x="0" default_y="0" default_h="164" default_visible="1">
+
+ <include file="player-normal.xml"/>
+ <include file="player-shade.xml"/>
+ <include file="playlistpro.xml"/>
+
+</container>
+
diff --git a/Src/resources/skins/Winamp Modern/xml/playlistpro.xml b/Src/resources/skins/Winamp Modern/xml/playlistpro.xml
new file mode 100644
index 00000000..339a227d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/playlistpro.xml
@@ -0,0 +1,62 @@
+<groupdef id="PlaylistPro.list.group" minimum_h="64" background="studio.BaseTexture">
+
+ <grid
+ fitparent="1"
+ topleft="sui.pl.search.box.1"
+ top="sui.pl.search.box.2"
+ topright="sui.pl.search.box.3"
+ left="sui.pl.search.box.4"
+ middle="sui.pl.search.box.5"
+ right="sui.pl.search.box.6"
+ bottomleft="sui.pl.search.box.7"
+ bottom="sui.pl.search.box.8"
+ bottomright="sui.pl.search.box.9"
+ sysregion="1"
+ />
+
+ <list id="PlaylistPro.list" x="4" y="0" w="-6" h="-24" relatw="1" relath="1" nocolheader="1" antialias="1" font="arial" multiselect="1"/>
+ <text id="PlaylistPro.list.news" x="3" y="-22" w="-6" h="20" relaty="1" relatw="1" text="Results found: 22 items" font="arial" color="wasabi.list.text" align="center" antialias="1" fontsize="17"/>
+ <layer x="0" y="-1" relaty="1" w="0" relatw="1" h="20" resize="bottom" />
+
+</groupdef>
+
+<container id="searchresults" name="Search Results" dynamic="1" default_visible="0" nomenu="1" nofocusapponclose="1" autoclose="1">
+ <layout id="normal" noparent="1" ontop="1" noactivation="1" nodock="1" move="0" autoclose="1">
+ <group id="PlaylistPro.list.group" x="1" y="0" h="0" w="-12" relath="1" relatw="1"/>
+ <layer id="1px.patch" x="-11" y="0" w="1" relath="1" relatx="1" h="20" image="sui.pl.search.box.6" sysregion="1"/>
+ </layout>
+</container>
+
+
+<groupdef id="wasabi.edits" xuitag="Wasabi:EditBox2" embed_xui="wasabi.edit.box" h="24">
+ <button id="pl.search.edit.rect" x="3" y="6" w="-4" h="18" relatw="1" relath="0" rectrgn="1" tooltip="Click to search the playlist (Right-Click for search history)" cursor="IDC_IBEAM"/>
+ <text id="pl.search.edit.searchhelp" x="1" y="3" w="-5" h="19" relatw="1" antialias="1" color="wasabi.list.text" text="Search in Playlist" ghost="1" font="arial" alpha="230" fontsize="16"/>
+ <edit id="wasabi.edit.box" x="3" y="4" w="-21" h="18" relatw="1" relath="0" autoselect="1" visible="0"/>
+
+<button id="pl.search.edit.clear.text" x="-20" y="2" h="19" w="20" relatx="1" rectrgn="1" image="sui.pl.search.stop.bgv" visible="0"/>
+<button id="pl.search.edit.clear" x="-20" y="2" h="19" w="20" relatx="1" rectrgn="1" image="sui.pl.search.stop.1" hoverimage="sui.pl.search.stop.1" downimage="sui.pl.search.stop.3" cursor="IDC_HAND" tooltip="Clear Search" visible="0"/>
+</groupdef>
+
+<groupdef id="player.component.playlist.searchbar.search" h="31">
+ <grid x="0" y="0" h="31" w="0" relatw="1"
+ left="sui.pl.search.bgv.1" middle="sui.pl.search.bgv.2" right="sui.pl.search.bgv.3"/>
+
+ <grid x="0" y="0" h="30" w="0" relatw="1"
+ left="sui.pl.search.bg.1" middle="sui.pl.search.bg.2" right="sui.pl.search.bg.3"/>
+
+ <button id="pl.search.go" x="-26" y="4" h="19" w="20" relatx="1" image="sui.pl.search.go.1" hoverimage="sui.pl.search.go.2" downimage="sui.pl.search.go.3" tooltip="Go Search" rectrgn="1"/>
+ <Wasabi:EditBox2 id="pl.search.edit" x="4" y="4" relatw="1" w="-10" h="20" text=""/>
+</groupdef>
+<groupdef id="PlaylistPro.topbar">
+ <group id="player.component.playlist.searchbar.search" x="0" y="0" w="0" relatw="1"/>
+</groupdef>
+
+<groupdef id="PlaylistPro.xui" wantfocus="1" rectrgn="1" xuitag="PlaylistPro" embed_xui="wdh.playlist">
+ <!--rect fitparent="1" filled="1" color="wasabi.window.background"/-->
+
+ <windowholder id="wdh.playlist" h="0" x="0" w="0" relath="1" relatw="1" autofocus="0" wantfocus="0" autoclose="1" autoopen="1" autoavailable="1" hold="guid:{45f3f7c1-a6f3-4ee6-a15e-125e92fc3f8d}"/>
+
+<group id="PlaylistPro.topbar" x="0" y="0" w="0" h="30" relatw="1" visible="0"/>
+ <script file="scripts/playlistpro.maki"/>
+</groupdef>
+
diff --git a/Src/resources/skins/Winamp Modern/xml/pledit-normal.xml b/Src/resources/skins/Winamp Modern/xml/pledit-normal.xml
new file mode 100644
index 00000000..27de17cd
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/pledit-normal.xml
@@ -0,0 +1,259 @@
+<groupdef id="pledit.buttons.group" relatw="1" w="0" h="21">
+ <layer
+ x="0" y="0"
+ image="player.pl.button.add.bg"
+ />
+ <button
+ id="pl.add"
+ action="PE_Add"
+ x="3" y="4"
+ image="player.pl.button.add"
+ downImage="player.pl.button.add.pressed"
+ hoverImage="player.pl.button.add.hover"
+ tooltip="Add Files to Playlist"
+ />
+
+ <layer
+ x="42" y="0"
+ image="player.pl.button.rem.bg"
+ />
+ <button
+ id="pl.rem"
+ action="PE_Rem"
+ x="46" y="4"
+ image="player.pl.button.rem"
+ downImage="player.pl.button.rem.pressed"
+ hoverImage="player.pl.button.rem.hover"
+ tooltip="Remove Files from Playlist"
+ />
+
+ <layer
+ x="86" y="0"
+ image="player.pl.button.sel.bg"
+ />
+ <button
+ id="pl.sel"
+ action="PE_Sel"
+ x="90" y="4"
+ image="player.pl.button.sel"
+ downImage="player.pl.button.sel.pressed"
+ hoverImage="player.pl.button.sel.hover"
+ tooltip="Select Files in Playlist"
+ />
+
+ <layer
+ x="123" y="0"
+ image="player.pl.button.misc.bg"
+ />
+ <button
+ id="pl.misc"
+ action="PE_Misc"
+ x="127" y="4"
+ image="player.pl.button.misc"
+ downImage="player.pl.button.misc.pressed"
+ hoverImage="player.pl.button.misc.hover"
+ tooltip="Misc Actions"
+ />
+
+ <layer
+ x="-119" y="0"
+ relatx="1"
+ image="player.pl.button.list.bg"
+ />
+ <button
+ id="pl.list"
+ action="PE_List"
+ x="-115" y="4"
+ relatx="1"
+ image="player.pl.button.list"
+ downImage="player.pl.button.list.pressed"
+ hoverImage="player.pl.button.list.hover"
+ tooltip="Manage Playlist"
+ />
+
+ <layer
+ x="-187" y="1"
+ relatx="1"
+ image="player.pl.time"
+ />
+ <layer
+ x="-182" y="5"
+ relatx="1"
+ image="player.pl.time.display"
+ />
+ <layer
+ id="player.pl.time.left"
+ x="-227" y="1"
+ relatx="1"
+ image="player.pl.time.left"
+ visible="0"
+ />
+ <layer
+ id="player.pl.time.display.left"
+ x="-222" y="5"
+ relatx="1"
+ image="player.pl.time.display.left"
+ visible="0"
+ />
+ <text
+ id="PLTime"
+ ticker="1"
+ display="PE_Info"
+ x="-180" y="7" w="55" h="8"
+ relatx="1"
+ font="player.pe.time.font"
+ align="left"
+ valign="top"
+ fontsize="8"
+ color="font.display"
+ />
+
+ <layer
+ x="-24" y="4"
+ relatx="1"
+ image="player.pl.resizer"
+ resize="bottomright"
+ />
+</groupdef>
+
+
+<groupdef id="pl.frame.layout" relatw="1" relath="1" w="0" h="-35" background="wasabi.frame.basetexture">
+ <layer
+ x="0" y="0"
+ image="player.pl.topleft"
+ resize="topleft"
+ />
+ <layer
+ x="6" y="0"
+ w="-12"
+ relatw="1"
+ image="player.pl.topcenter"
+ resize="top"
+ />
+ <layer
+ x="-6" y="0"
+ relatx="1"
+ image="player.pl.topright"
+ resize="topright"
+ />
+ <layer
+ x="0" y="5"
+ relath="1"
+ h="-50"
+ image="player.pl.left"
+ resize="left"
+ />
+ <layer
+ x="-6" y="5"
+ relatx="1"
+ relath="1"
+ h="-50"
+ image="player.pl.right"
+ resize="right"
+ />
+ <layer
+ x="0" y="-67"
+ relaty="1"
+ image="player.pl.bottomleft"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-25"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="player.pl.bottomcenter"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-67"
+ relatx="1"
+ relaty="1"
+ image="player.pl.bottomright"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+ <group id="pledit.buttons.group" x="5" y="-23" relaty="1"/>
+</groupdef>
+
+<groupdef id="player.content.pl.dummy.group" name="PlaylistDummyGroup" relatw="1" relath="1" w="0" h="0">
+ <group id="pl.frame.layout" x="0" y="1"/>
+
+ <group id="playlistpro" y="6" h="-65" x="6" w="-12" relath="1" relatw="1"/>
+ <!--component
+ x="6"
+ y="6"
+ w="-12"
+ relatw="1"
+ h="-65"
+ relath="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="0"
+ param="guid:{45F3F7C1-A6F3-4ee6-A15E-125E92FC3F8D}"
+ /-->
+</groupdef>
+
+<groupdef id="pledit.content.group" name="PlaylistContent">
+ <group id="player.content.pl.dummy.group" x="0" y="17" sysregion="1"/>
+ <script id="plmenu.script" file="scripts/plmenu.maki" />
+ <script id="pltime.script" file="scripts/pltime.maki" />
+</groupdef>
+
+<layout id="normal" minimum_w="354" minimum_h="164" h="164" w="436" linkwidth="shade" appbar="left|top|right|bottom">
+ <Wasabi:PlaylistFrame:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="pledit.content.group"
+ padtitleleft="10"
+ padtitleright="12"
+ />
+ <sendparams target="mousetrap" dblClickAction="SWITCH;shade"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom;" resize="0"/>
+
+ <layer
+ x="-30" y="4"
+ relatx="1"
+ image="wasabi.button.bg.title"
+ />
+ <button
+ id="winshade"
+ action="SWITCH" param="shade"
+ x="-29" y="4"
+ relatx="1"
+ image="wasabi.button.winshade.inactive"
+ tooltip="Windowshade Mode"
+ activeAlpha="0"
+ />
+ <button
+ id="winshade"
+ action="SWITCH" param="shade"
+ x="-29" y="4"
+ relatx="1"
+ image="wasabi.button.winshade"
+ downImage="wasabi.button.winshade.pressed"
+ hoverImage="wasabi.button.winshade.hover"
+ tooltip="Windowshade Mode"
+ inactiveAlpha="0"
+ />
+
+</layout>
+
+
+
+
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/pledit-normal_2.xml b/Src/resources/skins/Winamp Modern/xml/pledit-normal_2.xml
new file mode 100644
index 00000000..7f0a2f47
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/pledit-normal_2.xml
@@ -0,0 +1,259 @@
+<groupdef id="pledit.buttons.group" relatw="1" w="0" h="21">
+ <layer
+ x="0" y="0"
+ image="player.pl.button.add.bg"
+ />
+ <button
+ id="pl.add"
+ action="PE_Add"
+ x="3" y="4"
+ image="player.pl.button.add"
+ downImage="player.pl.button.add.pressed"
+ hoverImage="player.pl.button.add.hover"
+ tooltip="Add Files to Playlist"
+ />
+
+ <layer
+ x="42" y="0"
+ image="player.pl.button.rem.bg"
+ />
+ <button
+ id="pl.rem"
+ action="PE_Rem"
+ x="46" y="4"
+ image="player.pl.button.rem"
+ downImage="player.pl.button.rem.pressed"
+ hoverImage="player.pl.button.rem.hover"
+ tooltip="Remove Files from Playlist"
+ />
+
+ <layer
+ x="86" y="0"
+ image="player.pl.button.sel.bg"
+ />
+ <button
+ id="pl.sel"
+ action="PE_Sel"
+ x="90" y="4"
+ image="player.pl.button.sel"
+ downImage="player.pl.button.sel.pressed"
+ hoverImage="player.pl.button.sel.hover"
+ tooltip="Select Files in Playlist"
+ />
+
+ <layer
+ x="123" y="0"
+ image="player.pl.button.misc.bg"
+ />
+ <button
+ id="pl.misc"
+ action="PE_Misc"
+ x="127" y="4"
+ image="player.pl.button.misc"
+ downImage="player.pl.button.misc.pressed"
+ hoverImage="player.pl.button.misc.hover"
+ tooltip="Misc Actions"
+ />
+
+ <layer
+ x="-119" y="0"
+ relatx="1"
+ image="player.pl.button.list.bg"
+ />
+ <button
+ id="pl.list"
+ action="PE_List"
+ x="-115" y="4"
+ relatx="1"
+ image="player.pl.button.list"
+ downImage="player.pl.button.list.pressed"
+ hoverImage="player.pl.button.list.hover"
+ tooltip="Manage Playlist"
+ />
+
+ <layer
+ x="-187" y="1"
+ relatx="1"
+ image="player.pl.time"
+ />
+ <layer
+ x="-182" y="5"
+ relatx="1"
+ image="player.pl.time.display"
+ />
+ <layer
+ id="player.pl.time.left"
+ x="-227" y="1"
+ relatx="1"
+ image="player.pl.time.left"
+ visible="0"
+ />
+ <layer
+ id="player.pl.time.display.left"
+ x="-222" y="5"
+ relatx="1"
+ image="player.pl.time.display.left"
+ visible="0"
+ />
+ <text
+ id="PLTime"
+ ticker="1"
+ display="PE_Info"
+ x="-180" y="7" w="55" h="8"
+ relatx="1"
+ font="player.pe.time.font"
+ align="left"
+ valign="top"
+ fontsize="8"
+ color="font.display"
+ />
+
+ <layer
+ x="-24" y="4"
+ relatx="1"
+ image="player.pl.resizer"
+ resize="bottomright"
+ />
+</groupdef>
+
+
+<groupdef id="pl.frame.layout" relatw="1" relath="1" w="0" h="-35" background="wasabi.frame.basetexture">
+ <layer
+ x="0" y="0"
+ image="player.pl.topleft"
+ resize="topleft"
+ />
+ <layer
+ x="6" y="0"
+ w="-12"
+ relatw="1"
+ image="player.pl.topcenter"
+ resize="top"
+ />
+ <layer
+ x="-6" y="0"
+ relatx="1"
+ image="player.pl.topright"
+ resize="topright"
+ />
+ <layer
+ x="0" y="5"
+ relath="1"
+ h="-50"
+ image="player.pl.left"
+ resize="left"
+ />
+ <layer
+ x="-6" y="5"
+ relatx="1"
+ relath="1"
+ h="-50"
+ image="player.pl.right"
+ resize="right"
+ />
+ <layer
+ x="0" y="-67"
+ relaty="1"
+ image="player.pl.bottomleft"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-25"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="player.pl.bottomcenter"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-67"
+ relatx="1"
+ relaty="1"
+ image="player.pl.bottomright"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+ <group id="pledit.buttons.group" x="5" y="-23" relaty="1"/>
+</groupdef>
+
+<groupdef id="player.content.pl.dummy.group" name="PlaylistDummyGroup" relatw="1" relath="1" w="0" h="0">
+ <group id="pl.frame.layout" x="0" y="1"/>
+ <!--component
+ x="6"
+ y="6"
+ w="-12"
+ relatw="1"
+ h="-65"
+ relath="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="0"
+ param="guid:{45F3F7C1-A6F3-4ee6-A15E-125E92FC3F8D}"
+ /-->
+
+ <group id="playlistpro" y="6" h="-65" x="6" w="-12" relath="1" relatw="1"/>
+</groupdef>
+
+<groupdef id="pledit.content.group" name="PlaylistContent">
+ <group id="player.content.pl.dummy.group" x="0" y="17" sysregion="1"/>
+ <script id="plmenu.script" file="scripts/plmenu.maki" />
+ <script id="pltime.script" file="scripts/pltime.maki" />
+</groupdef>
+
+<layout id="normal" minimum_w="354" minimum_h="164" h="164" w="436" linkwidth="shade" appbar="left|top|right|bottom">
+ <Wasabi:PlaylistFrame:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="pledit.content.group"
+ padtitleleft="10"
+ padtitleright="12"
+ />
+ <sendparams target="mousetrap" dblClickAction="SWITCH;shade"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom;" resize="0"/>
+
+ <layer
+ x="-30" y="4"
+ relatx="1"
+ image="wasabi.button.bg.title"
+ />
+ <button
+ id="winshade"
+ action="SWITCH" param="shade"
+ x="-29" y="4"
+ relatx="1"
+ image="wasabi.button.winshade.inactive"
+ tooltip="Windowshade Mode"
+ activeAlpha="0"
+ />
+ <button
+ id="winshade"
+ action="SWITCH" param="shade"
+ x="-29" y="4"
+ relatx="1"
+ image="wasabi.button.winshade"
+ downImage="wasabi.button.winshade.pressed"
+ hoverImage="wasabi.button.winshade.hover"
+ tooltip="Windowshade Mode"
+ inactiveAlpha="0"
+ />
+
+</layout>
+
+
+
+
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/pledit-shade-group.xml b/Src/resources/skins/Winamp Modern/xml/pledit-shade-group.xml
new file mode 100644
index 00000000..307c90d3
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/pledit-shade-group.xml
@@ -0,0 +1,161 @@
+<groupdef id="plshade" name="Playlist Shade" w="0" h="25" relatw="1">
+
+ <!-- BACKGROUND -->
+ <layer
+ x="0" y="0"
+ image="shade.pl.bg.left"
+ dblClickAction="SWITCH;normal"
+ resize="left"
+ />
+ <layer
+ x="30" y="0"
+ w="-104" relatw="1"
+ image="shade.pl.bg.center"
+ dblClickAction="SWITCH;normal"
+ />
+ <layer
+ x="-74" y="0"
+ relatx="1"
+ image="shade.pl.bg.right"
+ dblClickAction="SWITCH;normal"
+ />
+ <layer
+ x="-10" y="0"
+ w="10" h="25"
+ relatx="1"
+ dblClickAction="SWITCH;normal"
+ resize="right"
+ />
+ <layer
+ x="-40" y="1"
+ w="9" h="23"
+ relatx="1"
+ image="shade.pl.resize"
+ resize="right"
+ rectrgn="1"
+ />
+
+ <layer
+ id="shade.pl.region.left"
+ x="0" y="0"
+ image="shade.regions.left"
+ sysregion="-2"
+ />
+ <layer
+ id="shade.pl.region.right"
+ x="-5" y="0"
+ relatx="1"
+ image="shade.regions.right"
+ sysregion="-2"
+ />
+
+ <!-- DISPLAY -->
+ <layer
+ x="23" y="4"
+ image="shade.pl.display.left"
+ ghost="1"
+ />
+ <layer
+ x="33" y="4"
+ w="-105" relatw="1"
+ image="shade.pl.display.center"
+ tile="1"
+ ghost="1"
+ />
+ <layer
+ x="-72" y="4"
+ relatx="1"
+ image="shade.pl.display.right"
+ ghost="1"
+ />
+
+ <!-- SEEK SLIDER -->
+ <slider
+ id="plshadeSeeker"
+ action="SEEK"
+ x="22" y="15"
+ h="9" w="-87"
+ relatw="1"
+ thumb="shade.pl.seek"
+ downThumb="shade.pl.seek.pressed"
+ hoverThumb="shade.pl.seek.hover"
+ tooltip="Seeker"
+ alpha="100"
+ />
+ <slider
+ id="plshadeSeekerGhost"
+ action="SEEK"
+ x="22" y="15"
+ h="9" w="-87"
+ relatw="1"
+ thumb="shade.pl.seek"
+ downThumb="shade.pl.seek.pressed"
+ hoverThumb="shade.pl.seek.hover"
+ tooltip="Seeker"
+ />
+
+ <!-- LIST BUTTON -->
+ <button
+ id="plshadeMLList"
+ action="PE_ListOfLists"
+ x="-59" y="5"
+ relatx="1"
+ image="shade.pl.button.list"
+ downImage="shade.pl.button.list.pressed"
+ activeImage="shade.pl.button.list"
+ hoverImage="shade.pl.button.list.hover"
+ tooltip="Library's Playlists"
+ />
+
+ <!-- Songticker -->
+ <Songticker
+ id="PESongticker" ticker="1"
+ x="26" y="4"
+ w="-95" h="13" relatw="1"
+ leftpadding="5"
+ rightpadding="-5"
+ font="shade.songticker.font"
+ align="left"
+ dblClickAction="SWITCH;normal"
+ rightclickaction="trackmenu"
+ fontsize="13"
+ color="font.display"
+ altfont="Arial"
+ />
+
+
+ <!-- CLOSE/SHADE/SYSTEM -->
+ <button
+ id="plshadeClose"
+ action="CLOSE"
+ x="-17" y="4"
+ relatx="1"
+ image="shade.button.close"
+ downImage="shade.button.close.pressed"
+ hoverImage="shade.button.close.hover"
+ tooltip="Close Window"
+ />
+ <button
+ id="plshadeWinshade"
+ action="SWITCH" param="normal"
+ x="-29" y="4"
+ relatx="1"
+ image="shade.button.winshade"
+ downImage="shade.button.winshade.pressed"
+ hoverImage="shade.button.winshade.hover"
+ tooltip="Return to Normal Mode"
+ />
+ <button
+ id="plshadeSysmenu"
+ action="SYSMENU"
+ x="6" y="4"
+ image="shade.button.sysmenu"
+ downImage="shade.button.sysmenu.pressed"
+ hoverImage="shade.button.sysmenu.hover"
+ tooltip="Main Menu"
+ />
+
+
+
+
+</groupdef> \ No newline at end of file
diff --git a/Src/resources/skins/Winamp Modern/xml/pledit-shade.xml b/Src/resources/skins/Winamp Modern/xml/pledit-shade.xml
new file mode 100644
index 00000000..cb2c2544
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/pledit-shade.xml
@@ -0,0 +1,22 @@
+<!-- pledit-shade.xml creates the layout of the Playlist Shade Window. -->
+
+ <include file="pledit-shade-group.xml"/>
+
+ <layout
+ id="shade"
+ minimum_w="354"
+ minimum_h="25"
+ h="25"
+ w="436"
+ droptarget="pldr"
+ background="wasabi.frame.basetexture"
+ linkwidth="normal"
+appbar="top|bottom"
+ >
+
+ <group id="plshade" x="0" y="0" sysregion="1" w="0" relath="1"/>
+
+</layout>
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/pledit.xml b/Src/resources/skins/Winamp Modern/xml/pledit.xml
new file mode 100644
index 00000000..8e971c5f
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/pledit.xml
@@ -0,0 +1,5 @@
+<container id="Pledit" name="Playlist Editor" dynamic="1" component="guid:{45F3F7C1-A6F3-4ee6-A15E-125E92FC3F8D}" default_x="354" default_y="0" default_visible="1">
+ <include file="pledit-normal.xml"/>
+ <include file="pledit-shade.xml"/>
+ <include file="playlistpro.xml"/>
+</container>
diff --git a/Src/resources/skins/Winamp Modern/xml/system-colors.xml b/Src/resources/skins/Winamp Modern/xml/system-colors.xml
new file mode 100644
index 00000000..4d0cd580
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/system-colors.xml
@@ -0,0 +1,58 @@
+<!--
+
+ system-colors.xml
+
+ this file contains all the static color definitions for Wasabi. An objects that does not rely on a group will use
+ one of these elements to decide what color to use.
+
+-->
+
+
+<elements>
+
+ <!-- Winamp Modern Skin custom colors - use your own instead -->
+
+ <color id="font.display" value="255,255,255" gammagroup="DisplayElements"/>
+ <color id="font.display.songticker" value="255,255,255" gammagroup="DisplaySongticker"/>
+ <color id="font.display.songtickershade" value="255,255,255" gammagroup="DisplaySongtickerShade"/>
+ <color id="titlebar.text.color" value="255,255,255" gammagroup="TitlebarText"/>
+ <color id="drawer.color.text.dark" value="0,0,0" gammagroup="TextDark"/>
+
+ <!-- Generic Lists -->
+ <color id="wasabi.list.text" value="255,255,255" gammagroup="ListText"/> <!--lists/trees item foreground (also edit text) -->
+ <color id="wasabi.list.background" value="28,61,125" gammagroup="ListBackground"/> <!--lists/trees item background (also bg for edit) -->
+ <color id="wasabi.list.text.alternate" value="255,255,255" gammagroup="ListText"/>
+ <color id="wasabi.list.background.alternate" value="38,71,135" gammagroup="ListBackground"/>
+
+ <color id="wasabi.list.text.selected" value="214,228,255" gammagroup="ListTextSelected"/> <!--listview/treeview selection bar text color -->
+ <color id="wasabi.list.text.selected.background" value="103,136,201" gammagroup="ListSelBackground"/> <!--listview/treeview selection bar backcolor -->
+ <color id="studio.list.item.selected" value="103,136,201" gammagroup="ListSelBackground"/>
+ <color id="studio.list.item.focused" value="103,136,201" gammagroup="ListSelBackground"/>
+
+
+ <color id="wasabi.list.text.current" value="187,210,255" gammagroup="ListTextCurrent"/> <!-- currently playing item in lists -->
+ <color id="wasabi.list.text.selected.inactive" value="214,228,255" gammagroup="ListTextSelected"/> <!-- listview/treeview selection bar textcolor (inactive) -->
+ <color id="wasabi.list.text.selected.background.inactive" value="68,90,133" gammagroup="ListSelBackground"/> <!-- listview/treeview selectionbar back color (inactive) -->
+
+ <color id="wasabi.list.column.background" value="204,208,217" gammagroup="Backgrounds"/> <!-- listview header background color -->
+ <color id="wasabi.list.column.text" value="0,0,0" gammagroup="ListColumnText"/> <!-- listview header text color -->
+ <color id="wasabi.list.column.frame.top" value="246,246,248" gammagroup="Backgrounds"/> // listview header frame top color
+ <color id="wasabi.list.column.frame.middle" value="142,150,163" gammagroup="Backgrounds"/> // listview header frame middle color
+ <color id="wasabi.list.column.frame.bottom" value="0,0,0" gammagroup="Backgrounds"/> // listview header frame bottom color
+ <color id="wasabi.list.column.empty" value="142,150,163" gammagroup="Backgrounds"/> // listview header empty color (beyond the columns
+
+ <!-- edit wnds -->
+ <color id="wasabi.window.background" value="127,135,149" gammagroup="Backgrounds"/> <!--window background. - If this color is not defined, a whole container is created in memory to extract a pixel, so specifying it makes skin loading faster -->
+ <color id="wasabi.window.text" value="255,255,255" gammagroup="listText"/> <!--text color within windows -->
+ <color id="wasabi.border.sunken" value="204,208,217" gammagroup="Backgrounds"/> // color of dividers and sunken borders
+
+ <color id="wasabi.scrollbar.foreground" value="28,61,125" gammagroup="ListBackground"/> <!-- scrollbar foreground color -->
+ <color id="wasabi.scrollbar.background" value="0,0,0" gammagroup="ListBackground"/> <!-- scrollbar background color -->
+ <color id="wasabi.scrollbar.foreground.inverted" value="0,0,0" gammagroup="ListBackground"/> <!-- inverse scrollbar foreground color -->
+ <color id="wasabi.scrollbar.background.inverted" value="0,0,0" gammagroup="ListBackground"/> <!-- inverse scrollbar background color -->
+
+ <color id="wasabi.button.text" value="0,0,0" gammagroup="ButtonText"/> <!-- Buttons text color -->
+ <color id="wasabi.button.hiliteText" value="0,0,0" gammagroup="ButtonText"/> <!-- Buttons hilite text color, used by tab windows-->
+ <color id="wasabi.button.dimmedText" value="149,156,169" gammagroup="ButtonText"/> <!-- Buttons dimmed text color, when disabled -->
+
+</elements>
diff --git a/Src/resources/skins/Winamp Modern/xml/video-normal.xml b/Src/resources/skins/Winamp Modern/xml/video-normal.xml
new file mode 100644
index 00000000..bfabaa39
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/video-normal.xml
@@ -0,0 +1,234 @@
+<groupdef id="video.buttons.group" relatw="1" w="0" h="21">
+ <layer
+ x="0" y="0"
+ image="player.button.video.bg.detached.left"
+ />
+ <layer
+ x="74" y="0"
+ relatw="1" w="-264"
+ image="player.button.video.bg.detached.center"
+ />
+ <layer
+ x="-190" y="0"
+ relatx="1"
+ image="player.button.video.bg.detached.right"
+ />
+
+ <button
+ id="button.vid.fs"
+ action="VID_FS"
+ x="3" y="3"
+ image="player.button.video.fs"
+ downImage="player.button.video.fs.pressed"
+ hoverImage="player.button.video.fs.hover"
+ tooltip="Fullscreen"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vid.1x"
+ action="VID_1X"
+ x="26" y="3"
+ image="player.button.video.s1x"
+ downImage="player.button.video.s1x.pressed"
+ hoverImage="player.button.video.s1x.hover"
+ tooltip="Normal Size"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vid.2x"
+ action="VID_2X"
+ x="49" y="3"
+ image="player.button.video.s2x"
+ downImage="player.button.video.s2x.pressed"
+ hoverImage="player.button.video.s2x.hover"
+ tooltip="Double Size"
+ rectrgn="1"
+ />
+
+
+ <!--<button
+ id="button.vid.tv"
+ action="VID_TV"
+ x="-183" y="3"
+ relatx="1"
+ image="player.button.video.tv"
+ downImage="player.button.video.tv.pressed"
+ hoverImage="player.button.video.tv.hover"
+ tooltip="Internet TV"
+ rectrgn="1"
+ />-->
+
+ <button
+ id="button.vid.misc"
+ action="VID_Misc"
+ x="-158" y="3"
+ relatx="1"
+ image="player.button.video.misc"
+ downImage="player.button.video.misc.pressed"
+ hoverImage="player.button.video.misc.hover"
+ tooltip="Options"
+ rectrgn="1"
+ />
+
+
+ <text
+ id="wasabi.statusbar.text"
+ x="75" y="3"
+ w="-265" h="12"
+ relatw="1"
+ font="arial"
+ color="drawer.color.text.dark" fontsize="14"
+ display="VID_Info" wrap="0"
+ ghost="1"
+ />
+
+
+ <layer
+ x="-128" y="0"
+ relatx="1"
+ image="player.button.video.reattach.bg"
+ />
+ <button
+ id="button.video.reattach"
+ x="-124" y="4"
+ relatx="1"
+ image="player.button.video.reattach"
+ downImage="player.button.video.reattach.pressed"
+ hoverImage="player.button.video.reattach.hover"
+ tooltip="Reattach Video"
+ rectrgn="1"
+ />
+
+ <layer
+ x="-24" y="4"
+ relatx="1"
+ image="player.pl.resizer"
+ resize="bottomright"
+ />
+
+</groupdef>
+
+
+<groupdef id="video.frame.layout" relatw="1" relath="1" w="0" h="-18" background="wasabi.frame.basetexture">
+ <layer
+ x="0" y="0"
+ image="player.pl.topleft"
+ resize="topleft"
+ />
+ <layer
+ x="6" y="0"
+ w="-12"
+ relatw="1"
+ image="player.pl.topcenter"
+ resize="top"
+ />
+ <layer
+ x="-6" y="0"
+ relatx="1"
+ image="player.pl.topright"
+ resize="topright"
+ />
+ <layer
+ x="0" y="5"
+ relath="1"
+ h="-50"
+ image="player.pl.left"
+ resize="left"
+ />
+ <layer
+ x="-6" y="5"
+ relatx="1"
+ relath="1"
+ h="-50"
+ image="player.pl.right"
+ resize="right"
+ />
+ <layer
+ x="0" y="-67"
+ relaty="1"
+ image="player.pl.bottomleft"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-25"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="player.pl.bottomcenter"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-67"
+ relatx="1"
+ relaty="1"
+ image="player.pl.bottomright"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+ <group id="video.buttons.group" x="5" y="-22" relaty="1"/>
+</groupdef>
+
+<groupdef id="player.content.video.dummy.group" name="VideoDummyGroup" relatw="1" relath="1" w="0" h="0">
+ <group id="video.frame.layout" x="0" y="0"/>
+ <component
+ x="6"
+ y="5"
+ w="-12"
+ relatw="1"
+ h="-48"
+ relath="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="1"
+ param="{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}"
+ />
+</groupdef>
+
+<groupdef id="video.content.group" name="PlaylistContent">
+ <group id="player.content.video.dummy.group" x="0" y="0" sysregion="1"/>
+ <script id="video.script" file="scripts/video.maki" />
+</groupdef>
+
+
+<layout id="normal" minimum_w="354" minimum_h="164" h="280" w="354">
+
+ <Wasabi:VISFrame:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="video.content.group"
+ padtitleleft="10"
+ padtitleright="0"
+ />
+
+ <sendparams target="window.titlebar.title" default="VIDEO"/>
+ <sendparams target="mousetrap" dblClickAction="SWITCH;shade"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom;" resize="0"/>
+
+ <layer
+ x="0" y="0" w="0" h="3"
+ relatw="1"
+ resize="top"
+ />
+
+</layout>
+
+
+
+
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/video.xml b/Src/resources/skins/Winamp Modern/xml/video.xml
new file mode 100644
index 00000000..b7c6498d
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/video.xml
@@ -0,0 +1,3 @@
+<container id="Video" name="Video" dynamic="1" component="guid:{F0816D7B-FFFC-4343-80F2-E8199AA15CC3}" default_visible="0" default_x="0" default_y="0" default_w="354">
+ <include file="video-normal.xml"/>
+</container>
diff --git a/Src/resources/skins/Winamp Modern/xml/vis-normal.xml b/Src/resources/skins/Winamp Modern/xml/vis-normal.xml
new file mode 100644
index 00000000..c2bffb69
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/vis-normal.xml
@@ -0,0 +1,223 @@
+<groupdef id="vis.buttons.group" relatw="1" w="0" h="21">
+ <layer
+ x="0" y="0"
+ image="player.button.vis.bg.detached.left"
+ />
+
+ <button
+ id="button.vid.fs"
+ action="VIS_FS"
+ x="3" y="3"
+ image="player.button.video.fs"
+ downImage="player.button.video.fs.pressed"
+ hoverImage="player.button.video.fs.hover"
+ tooltip="Fullscreen"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vis.prev"
+ action="VIS_Prev"
+ x="28" y="3"
+ image="player.button.vis.prev"
+ downImage="player.button.vis.prev.pressed"
+ hoverImage="player.button.vis.prev.hover"
+ tooltip="Previous Visualization"
+ rectrgn="1"
+ />
+
+ <button
+ id="button.vis.next"
+ action="VIS_Next"
+ x="74" y="3"
+ image="player.button.vis.next"
+ downImage="player.button.vis.next.pressed"
+ hoverImage="player.button.vis.next.hover"
+ tooltip="Next Visualization"
+ rectrgn="1"
+ />
+
+ <togglebutton
+ id="button.vis.random"
+ x="122" y="3"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ image="player.button.vis.random"
+ downImage="player.button.vis.random.pressed"
+ hoverImage="player.button.vis.random.hover"
+ tooltip="Toggle Random Visualization"
+ rectrgn="1"
+ />
+ <togglebutton
+ id="led.vis.random"
+ cfgattrib="{0000000A-000C-0010-FF7B-01014263450C};Random"
+ x="180" y="-1"
+ image="player.led.off"
+ downImage="player.led.on"
+ activeImage="player.led.on"
+ rectrgn="1"
+ />
+
+
+ <layer
+ x="193" y="0"
+ image="player.button.vis.bg.detached.right"
+ />
+ <button
+ id="button.vis.misc"
+ action="Vis_Menu"
+ x="196" y="3"
+ image="player.button.video.misc"
+ downImage="player.button.video.misc.pressed"
+ hoverImage="player.button.video.misc.hover"
+ tooltip="Options"
+ rectrgn="1"
+ />
+
+
+ <layer
+ x="-136" y="0"
+ relatx="1"
+ image="player.button.vis.reattach.bg"
+ />
+ <button
+ id="button.vis.reattach"
+ x="-132" y="4"
+ relatx="1"
+ image="player.button.vis.reattach"
+ downImage="player.button.vis.reattach.pressed"
+ hoverImage="player.button.vis.reattach.hover"
+ tooltip="Reattach Visualizations"
+ rectrgn="1"
+ />
+
+ <layer
+ x="-24" y="4"
+ relatx="1"
+ image="player.pl.resizer"
+ resize="bottomright"
+ />
+
+</groupdef>
+
+
+<groupdef id="vis.frame.layout" relatw="1" relath="1" w="0" h="-18" background="wasabi.frame.basetexture">
+ <layer
+ x="0" y="0"
+ image="player.pl.topleft"
+ resize="topleft"
+ />
+ <layer
+ x="6" y="0"
+ w="-12"
+ relatw="1"
+ image="player.pl.topcenter"
+ resize="top"
+ />
+ <layer
+ x="-6" y="0"
+ relatx="1"
+ image="player.pl.topright"
+ resize="topright"
+ />
+ <layer
+ x="0" y="5"
+ relath="1"
+ h="-50"
+ image="player.pl.left"
+ resize="left"
+ />
+ <layer
+ x="-6" y="5"
+ relatx="1"
+ relath="1"
+ h="-50"
+ image="player.pl.right"
+ resize="right"
+ />
+ <layer
+ x="0" y="-67"
+ relaty="1"
+ image="player.pl.bottomleft"
+ resize="bottomleft"
+ />
+ <layer
+ x="20" y="-25"
+ w="-40"
+ relatw="1"
+ relaty="1"
+ image="player.pl.bottomcenter"
+ resize="bottom"
+ />
+ <layer
+ x="-20" y="-67"
+ relatx="1"
+ relaty="1"
+ image="player.pl.bottomright"
+ resize="bottomright"
+ />
+ <layer
+ x="0" y="-6"
+ relaty="1"
+ image="player.main.left.region"
+ resize="left"
+ sysregion="-2"
+ />
+ <layer
+ x="-6" y="-6"
+ relaty="1"
+ relatx="1"
+ image="player.main.right.region"
+ sysregion="-2"
+ />
+ <group id="vis.buttons.group" x="5" y="-22" relaty="1"/>
+</groupdef>
+
+<groupdef id="player.content.vis.dummy.group" name="AVSDummyGroup" relatw="1" relath="1" w="0" h="0">
+ <group id="vis.frame.layout" x="0" y="0"/>
+ <component
+ x="6"
+ y="5"
+ w="-12"
+ relatw="1"
+ h="-48"
+ relath="1"
+ noshowcmdbar="1"
+ autoopen="1"
+ autoclose="1"
+ param="{0000000A-000C-0010-FF7B-01014263450C}"
+ />
+</groupdef>
+
+<groupdef id="vis.content.group" name="PlaylistContent">
+ <group id="player.content.vis.dummy.group" x="0" y="0" sysregion="1"/>
+ <script id="vis.script" file="scripts/vis.maki" />
+</groupdef>
+
+
+<layout id="normal" minimum_w="354" minimum_h="164" h="280" w="354">
+
+ <Wasabi:VISFrame:NoStatus
+ x="0" y="0" w="0" h="0" relatw="1" relath="1"
+ content="vis.content.group"
+ padtitleleft="10"
+ padtitleright="0"
+ />
+
+ <sendparams target="window.titlebar.title" default="VISUALIZER"/>
+ <sendparams target="mousetrap" dblClickAction="SWITCH;shade"/>
+ <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom;" resize="0"/>
+
+ <layer
+ x="0" y="0" w="0" h="3"
+ relatw="1"
+ resize="top"
+ />
+
+</layout>
+
+
+
+
+
+
+
diff --git a/Src/resources/skins/Winamp Modern/xml/vis.xml b/Src/resources/skins/Winamp Modern/xml/vis.xml
new file mode 100644
index 00000000..0d4c9a14
--- /dev/null
+++ b/Src/resources/skins/Winamp Modern/xml/vis.xml
@@ -0,0 +1,3 @@
+<container id="AVS" name="Visualizations" dynamic="1" component="guid:{0000000A-000C-0010-FF7B-01014263450C}" default_visible="0" default_x="0" default_y="0" default_w="354">
+ <include file="vis-normal.xml"/>
+</container>