home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2002 June / VPR0206A.BIN / Optik.wmz / optik.js < prev    next >
Text File  |  2000-04-21  |  4KB  |  144 lines

  1. /*
  2.     ゥ2000 Microsoft Corporation. All rights reserved.
  3. */
  4.  
  5. var noPane  = 0;
  6. var eqPane  = 1;
  7. var plPane  = 2;
  8. var vidPane = 3;
  9. var currentPane = 0;
  10.  
  11. var vidIsRunning = false;
  12.  
  13. function Init()
  14. {
  15.     pl.setColumnResizeMode(0, "Stretches");
  16.     pl.setColumnResizeMode(1, "AutoSizeData");
  17.     visEffects.currentEffectType = mediacenter.effectType;
  18.     visEffects.currentPreset = mediacenter.effectPreset;
  19.  
  20.     OnOpenStateChange();
  21.     OnPlayStateChange();
  22. }
  23.  
  24. function OnClose()
  25. {
  26.     mediacenter.effectType = visEffects.currentEffectType;
  27.     mediacenter.effectPreset = visEffects.currentPreset;
  28. }
  29.  
  30. function OnOpenStateChange()
  31. {
  32.     if(player.OpenState == osMediaOpen)
  33.     {
  34.         vidIsRunning =
  35.             (player.currentMedia.ImageSourceWidth>0);
  36.         UpdateMetadata();
  37.         bClose.enabled = !vidIsRunning;
  38.         // makes bClose show up when switching from video to audio
  39.  
  40.         if(currentPane!=eqPane && currentPane!=plPane)
  41.         {
  42.             SetVisibility(vidIsRunning?vidPane:noPane);
  43.         }
  44.     }
  45. }
  46.  
  47. function OnPlayStateChange()
  48. {
  49.     bPlay.visible = true;
  50.     switch(player.PlayState)
  51.     {
  52.     case psStopped:
  53.         visEffects.visible = false;
  54.         break;
  55.     case psPlaying:
  56.         bPlay.visible = false;
  57.         visEffects.visible = !vidIsRunning;
  58.         UpdateMetadata();
  59.         break;
  60.     }
  61. }
  62.  
  63. function StartVideo()
  64. {
  65.     vidIsRunning = true;
  66.     SetVisibility(vidPane);
  67. }
  68.  
  69. function EndVideo()
  70. {
  71.     vidIsRunning = false;
  72.     bVis.enabled = true;
  73.     bVis.upToolTip = xVidVisTt.value;
  74. }
  75.  
  76. function UpdateMetadata()
  77. {
  78.     metadata.value =
  79.         player.currentmedia.getiteminfo("author");
  80.     if(metadata.value != "")
  81.     {
  82.         metadata.value += " -- ";
  83.     }
  84.     metadata.value += player.currentmedia.name;
  85.     metadata.scrolling = metadata.textWidth>metadata.width;
  86. }
  87.  
  88. function SetVisibility(newPane)
  89. {
  90.     bClose.enabled = !vidIsRunning;
  91.     view.height = 378;
  92.     bEq.upToolTip = xEqTt.toolTip;
  93.     bPl.upToolTip = xPlTt.toolTip;
  94.     bVis.enabled = true;
  95.     bVis.upToolTip = (vidIsRunning ?
  96.         xVidVisTt.toolTip : xVidVisTt.value);
  97.  
  98.     switch(newPane)
  99.     {
  100.     case noPane:
  101.         sWindow.visible =
  102.             sAudio.visible =
  103.             pl.visible =
  104.             vid.visible = false;
  105.         view.height = 286;
  106.         break;
  107.     case eqPane:
  108.         sWindow.visible =
  109.             sAudio.visible = true;
  110.         vid.visible =
  111.             pl.visible = false;
  112.         bEq.upToolTip = xEqTt.value;
  113.         break;
  114.     case plPane:
  115.         sWindow.visible =
  116.             pl.visible = true;
  117.         vid.visible =
  118.             sAudio.visible = false;
  119.         bPl.upToolTip = xPlTt.value;
  120.         break;
  121.     case vidPane:
  122.         sWindow.visible =
  123.             vid.visible = true;
  124.         sAudio.visible =
  125.             pl.visible = false;
  126.         bVis.upToolTip = "";
  127.         bVis.enabled = false;
  128.         break;
  129.     }
  130.  
  131.     currentPane = newPane;
  132. }
  133.  
  134. function AdjustEQ()
  135. {
  136.     eq.gainLevel2 = (8*bass.value +   treble.value)/9;
  137.     eq.gainLevel3 = (7*bass.value + 2*treble.value)/9;
  138.     eq.gainLevel4 = (6*bass.value + 3*treble.value)/9;
  139.     eq.gainLevel5 = (5*bass.value + 4*treble.value)/9;
  140.     eq.gainLevel6 = (4*bass.value + 5*treble.value)/9;
  141.     eq.gainLevel7 = (3*bass.value + 6*treble.value)/9;
  142.     eq.gainLevel8 = (2*bass.value + 7*treble.value)/9;
  143.     eq.gainLevel9 = (  bass.value + 8*treble.value)/9;
  144. }