home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 January / Chip_2003-01_cd1.bin / zkuste / wmakeup / download / elvis.wmz / elvis.js < prev    next >
Text File  |  2002-06-14  |  8KB  |  342 lines

  1. /*
  2. (c)2000 Tattoo Media. All rights reserved.
  3. Dev work: robwest jon munro
  4. */
  5. var vidIsRunning = false;
  6. var playlistIsVisible = false;
  7. var eqIsVisible = false;
  8. var vidIsVisible = false;
  9. var eqStatus = false;
  10. var plStatus = false;
  11. var vidStatus = false;
  12. var efStatus = false;
  13.  
  14. function Init()
  15. {
  16.     loadPrefs();
  17.     UpdateMetaData();
  18.     vidIsRunning = (player.currentMedia.ImageSourceWidth>0);
  19.     Elvis_playlist.setColumnResizeMode( 0, "Stretches" );
  20.     Elvis_playlist.setColumnResizeMode( 1, "AutoSizeData" );
  21.     volume_slider.value = player.settings.volume;
  22.     if (vidIsRunning){
  23.         vidIsVisible=false;
  24.         StartVideo();
  25.         }
  26.     else {
  27.         EndVideo();
  28.         }
  29.     OnPlayStateChange();    
  30. }
  31.  
  32. function savePrefs() {
  33.     theme.savePreference('eqStatus',eqStatus);
  34.     theme.savePreference('plStatus',plStatus);
  35.     theme.savePreference('vidStatus',vidStatus);
  36.     theme.savePreference('efStatus',efStatus);
  37.     mediacenter.effectType = Elvis_effects.currentEffectType;
  38.     mediacenter.effectPreset = Elvis_effects.currentPreset;
  39. }
  40.  
  41. function loadPrefs() {
  42.     var _eqStatus    = theme.loadPreference('eqStatus');
  43.     var _plStatus    = theme.loadPreference('plStatus');
  44.     var _vidStatus    = theme.loadPreference('vidStatus');
  45.     var _efStatus    = theme.loadPreference('efStatus');
  46.     
  47.     if (_eqStatus != '--') {
  48.         eqStatus = (_eqStatus.toLowerCase() == 'true') ? true : false;
  49.     } else {
  50.         eqStatus = false;
  51.     }
  52.  
  53.     if (_plStatus != '--') {
  54.         plStatus = (_plStatus.toLowerCase() == 'true') ? true : false;
  55.     } else {
  56.         plStatus = false;
  57.     }
  58.  
  59.     if (_vidStatus != '--') {
  60.         vidStatus = (_vidStatus.toLowerCase() == 'true') ? true : false;
  61.     } else {
  62.         vidStatus = false;
  63.     }
  64.     
  65.     if (_efStatus != '--') {
  66.         efStatus = (_efStatus.toLowerCase() == 'true') ? true : false;
  67.     } else {
  68.         efStatus = false;
  69.     }
  70.     if (eqStatus){
  71.     show('eq');
  72.     }
  73.     if (plStatus){
  74.     show('playlist');
  75.     }
  76.     if (vidStatus){
  77.     show('vid');
  78.     }
  79.     if (efStatus){
  80.     Elvis_effects.currentEffectType = mediacenter.effectType;
  81.     Elvis_effects.currentPreset = mediacenter.effectPreset;
  82.     Elvis_fx.visible = "true";
  83.     }
  84. }
  85.  
  86. function OnPlayStateChange()
  87. {
  88.       if (player.PlayState == psUndefined || player.PlayState == psPlaying)
  89.           {
  90.             Play();
  91.         }
  92. }
  93.  
  94. function OnOpenStateChange()
  95. {
  96.     switch (player.OpenState)
  97.     {
  98.     case osUndefined:
  99.         break;
  100.             Play();
  101.     case osMediaOpen:
  102.         UpdateMetadata();
  103.             Play();
  104.         break;
  105.     }
  106. }
  107.  
  108. function OnClose()
  109. {
  110.     savePrefs();
  111. }
  112.  
  113. function UpdateMetadata() {
  114.     checkLocality();
  115. }
  116.  
  117.  
  118. function Play()
  119. {
  120.     if (player.currentMedia.ImageSourceWidth>0){
  121.         vidIsRunning=true;
  122.         StartVideo();
  123.         vidStatus = true;
  124.         }
  125.     UpdateMetadata();
  126.     player.controls.play();
  127. }
  128. function Stop()
  129. {
  130.     player.controls.stop();
  131.  
  132. }
  133.  
  134. function StartVideo()
  135. {
  136.     var i
  137.     vidIsVisible = false;
  138.     show('vid');
  139.     vidIsRunning = true;
  140. }
  141.  
  142. function EndVideo()
  143. {
  144.     vidIsRunning = Elvis_vid.visible = false;
  145. }
  146.  
  147. function updateProgress()
  148. {
  149.     var mins;
  150.     var secs;
  151.     var pad = '';
  152.     var tmp = player.controls.currentPosition
  153.     mins = Math.floor(tmp/60)
  154.     secs = Math.round(tmp - mins*60)
  155.     if (secs==60) {
  156.         mins += 1;
  157.         secs = 0;
  158.     }
  159.     if (secs<10) pad='0';
  160.     // Update the progress bar and the time display
  161.     ElvisProgress.value = player.controls.currentPosition;
  162.     ElvisTime.value=mins + ':' + pad + secs;
  163.     
  164. }
  165.  
  166. function OnTimerTick()
  167. {
  168.     var bw = player.network.bandWidth / 1000;
  169.     bw = bw.toString();
  170.     var intDecimal = bw.indexOf('.');
  171.     bw = bw.substring(0,intDecimal+2)
  172.  
  173.     metadataBandWidth2.value = bw;
  174.     checkLocality();
  175. }
  176.  
  177. /* ------------------------MEDIA SOURCE-------------------------*/
  178. function checkLocality() {
  179.     var onColor = "#000000";
  180.     var offColor = "#FFFFFF";
  181.  
  182.     var strSourceURL = player.currentMedia.sourceURL;
  183.     if (strSourceURL.search(/cd\:/i) != -1) {
  184.         tLocal.foregroundColor = offColor;
  185.         tCD.foregroundColor = onColor;
  186.         tNet.foregroundColor = offColor;
  187.     } else if (strSourceURL.search(/\\/i) != -1) {
  188.         tLocal.foregroundColor = onColor;
  189.         tCD.foregroundColor = offColor;
  190.         tNet.foregroundColor = offColor;
  191.     } else {
  192.         tLocal.foregroundColor = offColor;
  193.         tCD.foregroundColor = offColor;
  194.         tNet.foregroundColor = onColor;
  195.     }
  196. }
  197.  
  198. function openElvisTray() {        
  199.         ElvisTray.moveTo(3,60,300);
  200.         btnTrayClose.tabStop = true;
  201.     }
  202.  
  203. function closeElvisTray(){
  204.     if (ElvisTray.left < 238) {
  205.         btnTrayClose.tabStop = false;
  206.         Elvis_pl.tabStop = false;
  207.         Elvis_playlist.tabStop = false;
  208.         vidIsVisible = false;
  209.         eqIsVisible = false;
  210.         playlistIsVisible = false;
  211.         ElvisTray.moveTo(238,60, 300);
  212.         plStatus = false;
  213.         eqStatus = false;
  214.         vidStatus = false;        
  215.     } 
  216. }
  217.  
  218. function hideTrayItems(){
  219.         Elvis_pl.visible = false;
  220.         Elvis_playlist.visible = false;
  221.         Elvis_eq.visible = false;
  222.         Elvis_vid.visible = false;
  223.         Elvis_video.visible = false;
  224.     } 
  225.  
  226. function onEndPLMove()
  227. {
  228.         Elvis_pl.visible = playlistIsVisible;
  229.         Elvis_playlist.visible = playlistIsVisible;
  230.         Elvis_eq.visible = eqIsVisible;
  231.         Elvis_vid.visible = vidIsVisible;
  232.         Elvis_video.visible = vidIsVisible;        
  233.         }
  234.  
  235. function show(panItem) {
  236.     switch (panItem) {
  237.         case "playlist":
  238.             //if playlist is visible and the tray is out 
  239.             if (playlistIsVisible) {
  240.                 hideTrayItems();
  241.                 closeElvisTray();
  242.             } else {
  243.                 //if tray is closed open and display playlist
  244.                 if (ElvisTray.left >= 238){ 
  245.                     eqIsVisible = false;
  246.                     vidIsVisible = false;
  247.                     playlistIsVisible = true;
  248.                     Elvis_playlist.tabStop = true;
  249.                     Elvis_pl.tabStop = true;
  250.                     btnTrayClose.tabStop = true;
  251.                     openElvisTray();
  252.                     plStatus = true;
  253.                     eqStatus = false;
  254.                     vidStatus = false;
  255.                     
  256.                 } else
  257.                 // if tray is open switch to playlist
  258.                  { 
  259.                     eqIsVisible = false;
  260.                     vidIsVisible = false;
  261.                     playlistIsVisible = true;
  262.                     onEndPLMove();
  263.                     Elvis_playlist.tabStop = true;
  264.                     Elvis_pl.tabStop = true;
  265.                     btnTrayClose.tabStop = true;
  266.                     plStatus = true;
  267.                     eqStatus = false;
  268.                     vidStatus = false;
  269.                     
  270.                     } 
  271.                 }
  272.         break;
  273.         case "vid":
  274.             //if video is visible and the tray is out 
  275.             if (vidIsVisible) {
  276.                 closeElvisTray();
  277.             } else
  278.             //if tray is closed open and display video
  279.              {    
  280.                 if (ElvisTray.left >= 238){ openElvisTray() };
  281.                 vidIsVisible = true;
  282.                 playlistIsVisible = false;
  283.                 eqIsVisible = false;
  284.                 onEndPLMove();
  285.                 btnTrayClose.tabStop = true;
  286.                 Elvis_pl.tabStop = false;
  287.                 Elvis_playlist.tabStop = false;
  288.                 eqStatus = false;
  289.                 plStatus = false;
  290.                 vidStatus = true;
  291.             }
  292.             break;
  293.             
  294.         case "eq":
  295.             //if eq is visible and the tray is out 
  296.             if (eqIsVisible) {
  297.                 closeElvisTray();
  298.             } else 
  299.             //if tray is closed open and display eq
  300.             {    
  301.                 if (ElvisTray.left >= 238){ openElvisTray() };
  302.                 vidIsVisible = false;
  303.                 playlistIsVisible = false;
  304.                 eqIsVisible = true;                
  305.                 onEndPLMove();
  306.                 ElvisTray.tabStop = true;
  307.                 //Elvis_eq.tabStop = true;
  308.                 //ElvisEQS.tabStop = true;
  309.                 btnEQReset.tabStop = true;
  310.                 btnTrayClose.tabStop = true;
  311.                 Elvis_pl.tabStop = false;
  312.                 Elvis_playlist.tabStop = false;
  313.                 eqStatus = true;
  314.                 plStatus = false;
  315.                 vidStatus = false;
  316.             }    
  317.             break;    
  318.         
  319.     }
  320. }
  321.  
  322. function slideVolumeTray() {
  323.     if (ElvisVolumeTray.left <238) {
  324.         ElvisVolumeTray.moveTo(238, 310, 300);
  325.         ElvisVolControl.tabStop = false;
  326.     } else {
  327.         ElvisVolumeTray.moveTo(121, 310, 300);
  328.         ElvisVolControl.tabStop = true;
  329.     }
  330. }
  331.  
  332. function fx()
  333. {
  334.     if (Elvis_fx.visible){
  335.         Elvis_fx.visible = "false";
  336.         efStatus = false;
  337.     }
  338.     else {
  339.         Elvis_fx.visible = "true";
  340.         efStatus = true;
  341.     }
  342. }