home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 November / Chip_2002-11_cd1.bin / zkuste / wmakeup / download / xbox.wmz / xbox.js < prev    next >
Text File  |  2002-02-28  |  13KB  |  545 lines

  1. /*
  2.     because we love xbox, and xbox loves us...
  3.     even has the 'double-click bug' fix thanks to Josh Cain for that....
  4. */
  5.  
  6. var vidViewer = eqViewer = visViewer = false;
  7. var vidSets = false;
  8. var g_fExpectingSizeChange = false;
  9. var g_fUserHasSized = false;
  10. var visStatus = 1;
  11. var contentStatus =1;
  12. var reverseA = false;
  13.  
  14. function disableVis(){
  15.     visAnimation.visible = false;
  16.     visEffects.visible = false;
  17.     visButton.enabled = false;
  18.     visPrev.enabled = false;
  19.     visNext.enabled = false;
  20.     visPrev.moveTo(32,41,500);
  21.     visNext.moveTo(142,40,500);
  22. }
  23.  
  24. function onPlayStateChange() {
  25.     vidIsPlaying = (player.OpenState == osMediaOpen) && (player.currentMedia.ImageSourceWidth>0);
  26.     vidIsPlaying ? openVidWindow() : visChooserPre();
  27.  
  28. //checks the playstates
  29.     if (player){
  30.         switch (player.playState){
  31.             case 1:
  32.                 visStatus = visStatus;
  33.                 disableVis();
  34.                 hideVideo();
  35.                 updateMetadata();
  36.                 break;
  37.             case 2:
  38.                 visButton.enabled = false;
  39.                 break;
  40.             case 6:
  41.                 visStatus = visStatus;
  42.                 disableVis();
  43.                 hideVideo();
  44.                 metadata.value += player.status;
  45.                 break;
  46.             case 7:
  47.                 visStatus = visStatus;
  48.                 disableVis();
  49.                 hideVideo();
  50.                 break;
  51.             case 8:
  52.                 visStatus = visStatus;
  53.                 disableVis();
  54.                 hideVideo();
  55.                 break;
  56.             }
  57.         }
  58.  
  59. //ehh.. just to make sure things don't get screwed...
  60.     if (!player.controls.isAvailable("Stop")) {
  61.         visStatus = visStatus;
  62.         disableVis();
  63.         hideVideo();
  64.         shuffVis();
  65.         updateMetadata();
  66.         }
  67.  
  68.         updateMetadata();
  69.     }
  70.  
  71. function updateMetadata(){
  72.  
  73.     if(player.openState!=13) return;
  74.  
  75.     metadata.value = player.status;
  76.  
  77.     authorppl = player.currentmedia.getiteminfo("#author");
  78.  
  79.     if (authorppl == "") {
  80.         authorppl = player.currentmedia.getiteminfo("author");
  81.     }
  82.  
  83.     if (authorppl != "") {
  84.         authorppl += " - ";
  85.     }
  86.  
  87.     if (metadata.value != "") {
  88.         metadata.value += " - ";
  89.     }
  90.  
  91.     bitrater = player.currentmedia.getiteminfo("#bitrate").substring(0,player.currentmedia.getiteminfo("#bitrate").length-3);
  92.  
  93.     if (bitrater == "") {
  94.         bitrater = player.currentmedia.getiteminfo("bitrate").substring(0,player.currentmedia.getiteminfo("bitrate").length-3);
  95.     }
  96.  
  97.     bitrater += (bitrater) ? " kbps" : "0kbps";
  98.  
  99.     metadata.value += authorppl;
  100.     metadata.value += player.currentmedia.name;
  101.     metadata.scrolling = (metadata.textWidth>metadata.width);
  102.     //metadata.value += (metadata.scrolling) ? "          " : "";
  103.     //metadata.value += " - ";
  104.     //metadata.value += bitrater;
  105.  
  106. }
  107.  
  108. function visChooserPre(){
  109.     visStatus = visStatus;
  110.     shuffVis();
  111.     visButton.enabled = true;
  112.     }
  113.  
  114. function openVidWindow() {
  115.     theme.openview( 'videoBox' );
  116.     vidViewer = true;
  117.     disableVis();
  118.     }
  119.  
  120. function mainLoader(){
  121.     visEffects.currentEffectType = mediacenter.effectType;
  122.     visEffects.currentPreset = mediacenter.effectPreset;
  123.  
  124.     loadPrefs();
  125.     onPlayStateChange();
  126.     meatData();
  127.  
  128.     volume.value = player.settings.volume;    
  129.     }
  130.  
  131. // playlist functions from wmp js converter
  132.  
  133.  
  134. function onLoadPL(){
  135.     theme.savePreference( 'plViewer', "true" );
  136.     var dwScale = theme.loadPreference( "PlaylistWidth" );
  137.  
  138.     if( "--" != dwScale )
  139.     {
  140.         plBox.width = dwScale;
  141.     }
  142.     dwScale = theme.loadpreference( "PlaylistHeight" );
  143.  
  144.     if( "--" != dwScale )
  145.     {
  146.         plBox.height = dwScale;
  147.     }
  148.  
  149.     plFrame.setColumnResizeMode( 0, "stretches" );
  150.     plFrame.setColumnResizeMode( 1, "autosizedata" );
  151.     plFrame.setColumnResizeMode( 2, "autosizedata" );
  152.     plFrame.setColumnResizeMode( 3, "autosizedata" );
  153. }
  154.  
  155. function onClosePL(){
  156.     theme.savepreference( "PlaylistWidth", plBox.width );
  157.     theme.savepreference( "PlaylistHeight", plBox.height );
  158. }
  159.  
  160. function togglePL(){
  161.     if("true"==theme.loadPreference("plViewer")){
  162.         theme.savePreference("plViewer", "false");
  163.         theme.closeView( "plBox" );
  164.     }else{
  165.         theme.openView( "plBox" );
  166.     }
  167. }
  168.  
  169. function toggleContent(){
  170.     if("true"==theme.loadPreference("contentViewer")){
  171.         theme.savePreference("contentViewer", "false");
  172.         theme.closeView( "contentBox" );
  173.     }else{
  174.         theme.openView( "contentBox" );
  175.     }
  176. }
  177.  
  178.  
  179. function launchVideo() {
  180.     if (vidViewer) {
  181.         theme.closeview('videoBox');
  182.         vidViewer = false;
  183.     } else {
  184.         theme.openview('videoBox');
  185.         vidViewer = true;            
  186.     }
  187. }
  188.  
  189. function showEQ() {
  190.     if(!eqViewer){
  191.         eqBack.visible = true;
  192.         eqButton.upToolTip = "Hide Equalizer";
  193.         eqViewer = !eqViewer;
  194.         visButtonEQKiller.visible = true;
  195.         visButton.visible = false;
  196.     }else{
  197.         eqBack.visible = false;
  198.         eqButton.upToolTip = "Show Equalizer";
  199.         eqViewer = !eqViewer;
  200.         visButtonEQKiller.visible = false;
  201.         visButton.visible = true;
  202.         }
  203.     }
  204.  
  205.  
  206. function shuffVis(){
  207.     visStatus
  208.     switch(visStatus){
  209.         case 1:
  210.             visViewer = false;
  211.             visAnimation.visible = true;
  212.             visEffects.visible = false;
  213.             visPrev.enabled = false;
  214.             visNext.enabled = false;
  215.             visStatus = 1;
  216.             visButton.upToolTip = "Vis Effects - Click to change";
  217.             break;
  218.         case 2:
  219.             visViewer = true;
  220.             visAnimation.visible = false;
  221.             visEffects.visible = true;
  222.             visPrev.enabled = true;
  223.             visNext.enabled = true;
  224.             visPrev.moveTo(32,21,500);
  225.             visNext.moveTo(142,20,500);
  226.             visStatus = 2;
  227.             visButton.upToolTip = "Hide Vis Effects";
  228.             break;
  229.         case 3:
  230.             visViewer = 'dos';
  231.             visAnimation.visible = false;
  232.             visEffects.visible = false;
  233.             visPrev.enabled = false;
  234.             visNext.enabled = false;
  235.             visButton.enabled = true;
  236.             visStatus = 0;
  237.             visPrev.moveTo(32,41,500);
  238.             visNext.moveTo(142,40,500);
  239.             visButton.upToolTip = "Vis Effects  - Click to change";
  240.             break;
  241.         }
  242.     }
  243.  
  244. function stopVideo(){
  245.     if(player.currentMedia.ImageSourceWidth>0){
  246.     player.controls.stop();
  247.     }
  248.     videoBox.close();
  249. }
  250.  
  251. function OnLoadVideo()
  252. {
  253.     SnapToVideo();
  254.     xLogo.visible = false;
  255.  
  256. }
  257.  
  258. function AllowResizeVideo()
  259. {
  260.     mediacenter.videoStretchToFit=true;
  261.     mediacenter.videoShrinkToFit=true; 
  262.     return;
  263. }
  264. /*
  265. function ZoomVideo()
  266. {
  267.     g_fUserHasSized = true;
  268.  
  269.     mediacenter.videoStretchToFit = false;
  270.     mediacenter.videoShrinkToFit = false;
  271.  
  272.     if( mediacenter.videoZoom < 51 )
  273.     {
  274.         mediacenter.videoZoom = 100;
  275.     }
  276.     else if( mediacenter.videoZoom < 101 )
  277.     {
  278.         mediacenter.videoZoom = 200;
  279.     }
  280.     else
  281.     {
  282.         mediacenter.videoZoom = 50;
  283.     }
  284.  
  285.     SnapToVideo();
  286. }
  287. */
  288.  
  289. function SnapToVideo()
  290. {
  291.     if( (!g_fUserHasSized && mediacenter.videoStretchToFit) || !mediacenter.videoStretchToFit)
  292.     {
  293.         var zoom = mediacenter.videoStretchToFit ? 100 : mediacenter.videoZoom;
  294.         var x = (player.currentMedia.imageSourceWidth * (zoom / 100.0));
  295.         var y = (player.currentMedia.imageSourceHeight * (zoom / 100.0));
  296.  
  297.         g_fExpectingSizeChange = true;
  298.         view.width = x + 91;
  299.         view.height = y + 179;
  300.         g_fExpectingSizeChange = false;
  301.     }
  302.     else
  303.     {
  304.         view.height= player.currentMedia.imageSourceHeight + 179;
  305.         view.width= player.currentMedia.imageSourceWidth + 91;
  306.     }
  307.  
  308. }
  309.  
  310. function OnCloseVideo(){
  311.     theme.closeview('videoBox');
  312. }
  313.  
  314. function hideVideo(){
  315.     videoWin.visible = false;
  316.     xLogo.visible = true;
  317.     }
  318.  
  319. function showmeVid(){
  320.     videoWin.visible = true;
  321.     }
  322.  
  323. function moveVidSettings() {
  324.     if(!vidSets){
  325.         settingsFrame.visible = true;
  326.         vidSettings.moveTo(0,view.height-111,500);
  327.         xUp.visible = true;
  328.         xDown.visible = false;
  329.         vidDrawerUpS.enabled = false;
  330.         vidSets = !vidSets;
  331.     }else{
  332.         vidSettings.moveTo(0,view.height-210,500);
  333.         xUp.visible = false;
  334.         xDown.visible = true;
  335.         vidDrawerUpS.enabled = true;
  336.         vidSets = !vidSets;
  337.         }
  338.     }
  339.  
  340. function hideVidSettings() {
  341.     vidSets = vidSets;
  342.     settingsFrame.visible = vidSets;
  343.     }
  344.  
  345. function contentSwitcher(){
  346.     contentStatus
  347.         switch(contentStatus){
  348.             case 1:
  349.                 contentShow.backgroundImage="c_xbox.jpg";
  350.                 cPrev.visible = false;
  351.                 xboxText.moveTo(65,172,500);
  352.                 gamesText.moveTo(65,235,500);
  353.                 systemLink.visible = true;
  354.                 gamesLink.visible = false;
  355.                 abcLink.visible = false;
  356.                 winmediaLink.visible = false;
  357.                 csLink.visible = false;
  358.                 break;
  359.             case 2:
  360.                 contentShow.backgroundImage="c_games.jpg";
  361.                 cPrev.visible = true;
  362.                 xboxText.moveTo(65,92,500);
  363.                 gamesText.moveTo(65,172,500);
  364.                 webText.moveTo(65,235,500);
  365.                 systemLink.visible = false;
  366.                 gamesLink.visible = true;
  367.                 abcLink.visible = false;
  368.                 winmediaLink.visible = false;
  369.                 csLink.visible = false;
  370.                 break;
  371.             case 3:
  372.                 systemLink.visible = false;
  373.                 gamesLink.visible = false;
  374.                 abcLink.visible = true;
  375.                 winmediaLink.visible = false;
  376.                 csLink.visible = false;
  377.  
  378.                 contentShow.backgroundImage="c_web.jpg";
  379.                 wLink.visible = false;
  380.                 xLink.visible = true;
  381.                 cNext.visible = true;
  382.                 gamesText.moveTo(65,92,500);
  383.                 webText.moveTo(65,172,500);
  384.                 winmediaText.moveTo(65,235,500);
  385.                 winmediaTextL.moveTo(65,255,300);
  386.                 break;
  387.             case 4:
  388.                 contentShow.backgroundImage="c_winmedia.jpg";
  389.                 wLink.visible = true;
  390.                 wLink2.visible = false;
  391.                 xLink.visible = false;
  392.                 cNext.visible = true;
  393.                 webText.moveTo(65,92,500);
  394.                 winmediaText.moveTo(65,175,500);
  395.                 winmediaTextCS.moveTo(65,235,500);
  396.                 systemLink.visible = false;
  397.                 gamesLink.visible = false;
  398.                 abcLink.visible = false;
  399.                 winmediaLink.visible = true;
  400.                 csLink.visible = false;
  401.                 break;
  402.             case 5:
  403.                 wLink.visible = false;
  404.                 wLink2.visible = true;
  405.                 contentShow.backgroundImage="c_winmedia_cs.jpg";
  406.                 winmediaText.moveTo(65,92,500);
  407.                 winmediaTextCS.moveTo(65,175,500);
  408.                 cNext.visible = false;
  409.                 systemLink.visible = false;
  410.                 gamesLink.visible = false;
  411.                 abcLink.visible = false;
  412.                 winmediaLink.visible = false;
  413.                 csLink.visible = true;
  414.                 break;
  415.             }
  416.         }
  417.  
  418. function shutDown(){
  419.     savePrefs();
  420.     mediacenter.effectType = visEffects.currentEffectType;
  421.     mediacenter.effectPreset = visEffects.currentPreset;
  422.     }
  423.  
  424. function reverseAnim(){
  425.     if(!reverseA){
  426.         introAnim.backgroundImage = "intro_anim_rev.gif";
  427.         reverseButton.upToolTip = "Open Shutter";
  428.         reverseButton.downToolTip = "Open Shutter";
  429.         introPNG.visible = true;
  430.         disableVis();
  431.         plButton.enabled = false;
  432.         eqButton.enabled = false;
  433.         reverseA = !reverseA;
  434.         if(eqViewer = eqViewer){
  435.             showEQ();
  436.             }
  437.     }else{
  438.         introAnim.backgroundImage = "intro_anim.gif";
  439.         reverseButton.upToolTip = "Close Shutter";
  440.         introPNG.visible = false;
  441.         plButton.enabled = true;
  442.         eqButton.enabled = true;
  443.         reverseA = !reverseA;
  444.         onPlayStateChange();
  445.         }
  446.     }
  447.  
  448. function loadPrefs() {
  449.     var _eqViewer = theme.loadPreference('eqViewer');
  450.     var _visStatus = theme.loadPreference('visStatus');
  451.  
  452.     if (_eqViewer != '--') {
  453.         eqViewer = (_eqViewer.toLowerCase() == 'true') ? false : true;
  454.     } else {
  455.         eqViewer = true;
  456.     }
  457.  
  458.     if ("true"==theme.loadPreference("plViewer"))
  459.     {
  460.         theme.openView( 'plBox' );
  461.     }
  462.  
  463.     if ("true"==theme.loadPreference("contentViewer"))
  464.     {
  465.         theme.openView( 'contentBox' );
  466.     }
  467.  
  468.     shuffVis();
  469.     showEQ();
  470. }
  471.  
  472. function savePrefs() {
  473.     theme.savePreference('eqViewer',eqViewer);
  474.     theme.savePreference('visStatus',visStatus);
  475.     }
  476.  
  477. function loadVidPrefs() {
  478.     var _vidSets = theme.loadPreference('vidSets');
  479.  
  480.     if (_vidSets != '--') {
  481.         vidSets = (_vidSets.toLowerCase() == 'true') ? false : true;
  482.     } else {
  483.         vidSets = true;
  484.     }
  485.  
  486.     moveVidSettings();
  487. }
  488.  
  489. function saveVidPrefs() {
  490.     theme.savePreference('vidSets',vidSets);
  491. }
  492.  
  493. function resetCode(){
  494.     event.keycode = 65;
  495.     }
  496.  
  497. function pressButton(event){
  498.  
  499.     switch(event.keycode){
  500.         case 88:
  501.         case 120:
  502.             player.launchURL('http://www.xbox.com/downloads/wmskinee');
  503.             break;
  504.             }
  505.         }
  506.  
  507. function seekUpDown(event){
  508.     switch(event.keycode){
  509.         case 39:
  510.             if(player.controls.currentPosition < 900){
  511.                 player.controls.currentPosition+=10;
  512.             }else{
  513.                 player.controls.currentPosition = 1000;
  514.             }
  515.             break;
  516.         case 37:
  517.             if(player.controls.currentPosition > 10){
  518.                 player.controls.currentPosition-=10;
  519.             }else{
  520.                 player.controls.currentPosition = 0;
  521.             }
  522.             break;        
  523.             }
  524.     }
  525.  
  526. function volUpDown(event){
  527.     switch(event.keycode){
  528.         case 39:
  529.             if(player.settings.volume < 95){
  530.                 player.settings.volume+=5;
  531.             }else{
  532.                 player.settings.volume = 100;
  533.             }
  534.             break;
  535.         case 37:
  536.             if(player.settings.volume > 5){
  537.                 player.settings.volume-=5;
  538.             }else{
  539.                 player.settings.volume = 0;
  540.             }
  541.             break;        
  542.             }
  543.     }
  544.  
  545.