home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September (Special) / Chip-Special_2002-09_Digitalni-Video.bin / servis / wm9 / mpsetupXP.exe / RCDATA / CABINET / wmploc.DLL / 256 / 136 < prev    next >
Text File  |  2002-08-19  |  11KB  |  479 lines

  1. // Windows Media Player - Copyright 2000 Microsoft Corporation.
  2. //<script>
  3.  
  4. var g_kAlphaToTime = 330;
  5. var g_kAlphaDisabled = 0x80;
  6. var g_kSplineTensionMedium = 3;
  7. var g_kSplineTensionTight  = 9;
  8.  
  9. function InitEQ()
  10. {
  11.     if (PlayingDVD())
  12.     {
  13.         nextPreset.enabled=false;
  14.         eqOnOffButton.enabled=false;
  15.     }
  16.     else
  17.     {
  18.         eqOnOffButton.enabled=true;
  19.         UpdateEQOnOff();
  20.     }
  21. }
  22.  
  23. function UpdateEQOnOff()
  24. {
  25.     if (eq.bypass == true)
  26.     {
  27.         nextPreset.enabled=false;
  28.         eqOnOffLabel.value="res://wmploc.dll/RT_STRING/#1851";
  29.     }
  30.     else
  31.     {
  32.         nextPreset.enabled=true;
  33.         eqOnOffLabel.value="res://wmploc.dll/RT_STRING/#1846";
  34.     }
  35. }
  36.  
  37. function InitSRS()
  38. {
  39.     if (PlayingDVD())
  40.     {
  41.         nextSpeakerSize.enabled=false;
  42.         srsOnOffButton.enabled=false;
  43.     }
  44.     else
  45.     {
  46.         srsOnOffButton.enabled=true;
  47.         UpdateSRSOnOff();
  48.     }
  49. }
  50.  
  51. function UpdateSRSOnOff()
  52. {
  53.     if (eq.enhancedAudio == true)
  54.     {
  55.         nextSpeakerSize.enabled=true;
  56.         srsOnOffLabel.value="res://wmploc.dll/RT_STRING/#1846";
  57.     }
  58.     else
  59.     {
  60.         nextSpeakerSize.enabled=false;
  61.         srsOnOffLabel.value="res://wmploc.dll/RT_STRING/#1851";
  62.     }
  63. }
  64.  
  65. function NextSpeakerSize()
  66. {
  67.     var index = eq.speakerSize;
  68.  
  69.     index++;
  70.     if (index > 2)
  71.         index = 0;
  72.  
  73.     eq.speakerSize = index;
  74. }
  75.  
  76. function ResetVideoSettings()
  77. {
  78.     vs.brightness=0;
  79.     vs.contrast=0;
  80.     vs.hue=0;
  81.     vs.saturation=0;
  82. }
  83.  
  84. function InitMetaDataDisplay()
  85. {   
  86.     var MediaInfoURL;
  87.  
  88.     if(player.isOnline)
  89.     {
  90.         if(player.OpenState == osMediaOpen)
  91.         {
  92.             MediaInfoURL = mediacenter.getNamedString("NPMetaDataURL_ONLINE");
  93.             var TOC = player.currentMedia.GetItemInfo("TOC");
  94.             if(TOC)
  95.             {
  96.                 MediaInfoURL = MediaInfoURL + TOC;
  97.             }
  98.         }
  99.         else
  100.         {
  101.             MediaInfoURL = "about:<body bgcolor=black scroll=no>";
  102.         }
  103.     }
  104.     else
  105.     {
  106.         MediaInfoURL = mediacenter.getNamedString("NPMetaDataURL_OFFLINE");
  107.     }
  108.  
  109.     Browser1.URL = MediaInfoURL;
  110. }
  111.  
  112. function CaptionsView_OnOpenStateChangeEvent()
  113. {
  114.     switch (player.OpenState)
  115.     {
  116.         case osMediaChanging:
  117.             ClearSamiDisplay();
  118.             break;
  119.     }
  120. }
  121.  
  122. function LyricsView_OnOpenStateChangeEvent()
  123. {
  124.     switch (player.openState)
  125.     {
  126.         case osMediaOpen:
  127.             var Lyrics = player.currentMedia.GetItemInfo("Lyrics");
  128.             ShowLyrics(Lyrics);
  129.             break;
  130.         case osMediaChanging:
  131.             ShowLyrics("");
  132.             break;
  133.     }
  134. }
  135.  
  136. function ShowLyrics(Param)
  137. {
  138.     Browser1.showLyrics(Param);
  139. }
  140.  
  141. function MetaDataView_OnOpenStateChangeEvent()
  142. {
  143.     switch (player.OpenState)
  144.     {
  145.         case osMediaOpen:
  146.             InitMetaDataDisplay();
  147.             break;
  148.     }
  149. }
  150.  
  151. function SwitchView(viewID)
  152. {
  153.     mediacenter.settingsView = viewID;  // tell media center about the change
  154.     theme.CurrentViewID = viewID;       // switch to this view
  155. }
  156.  
  157. function InitSamiDisplay()
  158. {
  159.     Browser1.loadSpecialPage("SAMI");
  160. }
  161.  
  162. function InitLyricsDisplay()
  163. {
  164.     Browser1.loadSpecialPage("Lyrics");
  165. }
  166.  
  167. function ClearSamiDisplay()
  168. {
  169.     handleScriptCommand("Text", "");
  170. }
  171.  
  172. function handleScriptCommand(scType, Param)
  173. {
  174.     scType = scType.toUpperCase();
  175.  
  176.     if(scType == "TEXT" ||  scType == "<SYNC" || scType == "CAPTION")
  177.     {
  178.         Browser1.showSAMIText(Param);
  179.     }
  180. }
  181.  
  182.  
  183. function InitVideoSettingsView()
  184. {
  185.     if ( PlayingDVD() )
  186.     {
  187.         videoResetButton.enabled = false;
  188.         videoResetButton.alphaBlendTo(0x80,330); 
  189.     }
  190.     else
  191.     {
  192.         videoResetButton.enabled = true;
  193.         videoResetButton.alphaBlendTo(0xff,330); 
  194.     }
  195. }
  196.          
  197. function OnOpenStateChangeEvent(NewState, pfnHandler)
  198. {
  199.     switch (NewState)
  200.     {
  201.         case osPlaylistOpenNoMedia:
  202.         case osMediaOpen:
  203.             pfnHandler();
  204.             break;
  205.     }
  206. }
  207.  
  208.  
  209.  
  210. var g_SRSViewTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1827");
  211. var g_EQViewTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1848");
  212. var g_VideoSettingsTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1849");
  213. var g_WindowsMediaInfoTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1821");
  214. var g_CaptionsTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1850");
  215. var g_LyricsTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1867");
  216. var g_AdvancedVideoSettingsTitle = theme.loadString("res://wmploc.dll/RT_STRING/#1852");
  217.  
  218. function InitViewSelectionPopup()
  219. {
  220.  
  221.     ViewSelectPopup.appendItem(g_SRSViewTitle);
  222.     ViewSelectPopup.appendItem(g_EQViewTitle);
  223.     ViewSelectPopup.appendItem(g_VideoSettingsTitle);
  224.     ViewSelectPopup.appendItem(g_WindowsMediaInfoTitle);
  225.     ViewSelectPopup.appendItem(g_CaptionsTitle);
  226.     ViewSelectPopup.appendItem(g_LyricsTitle);
  227.     if ( player.DVD.isAvailable("DVDDecoder") )
  228.     {
  229.         ViewSelectPopup.appendItem(g_AdvancedVideoSettingsTitle);
  230.     }
  231. }
  232.  
  233. var g_viewNames = new Array
  234. (
  235.     "SRSView",
  236.     "EQView",
  237.     "VideoSettingsView",
  238.     "MetaDataView",
  239.     "CaptionsView",
  240.     "LyricsView",
  241.     "AdvancedVideoSettingsView"
  242. );
  243.  
  244. function ViewPopupSelect(index)
  245. {
  246.     if (g_viewNames[index]=="MetaDataView")
  247.     {
  248.         if((false==player.isOnline) || PlayingDVD())
  249.         {
  250.             SwitchView("OfflineMetaDataView");
  251.             return;
  252.         }
  253.     }
  254.     SwitchView(g_viewNames[index]);
  255. }
  256.  
  257. function InitEQSelectionPopup()
  258. {
  259.     var max = eq.presetCount;
  260.     for (var index=0; index<max; index++)
  261.     {
  262.         EQSelectPopup.appendItem(eq.presetTitle(index));
  263.     }
  264.     
  265. }
  266.  
  267. function EQPopupSelect(index)
  268. {
  269.     eq.currentPreset = index;
  270. }
  271.  
  272. function CheckForDVD()
  273. {
  274.     if (PlayingDVD())
  275.     {
  276.         BtnNextFrame.enabled=true;
  277.         JogShuttleSubTransport.enabled=true;
  278.         JogShuttleSlider.passThrough=false;
  279.         NextFrameSub.alphaBlend=0xFF; 
  280.         JogShuttleSub.alphaBlend=0xFF;
  281.     }
  282.      
  283.     else 
  284.     {
  285.         BtnNextFrame.enabled=false;
  286.         JogShuttleSubTransport.enabled=false;
  287.         JogShuttleSlider.passThrough=true;
  288.         NextFrameSub.alphaBlend=0x80;
  289.         JogShuttleSub.alphaBlend=0x80;
  290.     } 
  291. }
  292.  
  293. var g_kMaxDVDRate=16;
  294.  
  295. function GetNonlinearRate(sliderval)
  296. {
  297.     var temp = sliderval * sliderval * sliderval * g_kMaxDVDRate; 
  298.     return temp;
  299. }
  300.  
  301. function SetSlider(rate)
  302. {
  303.     var sign = (rate<0) ? -1 : 1;  
  304.     JogShuttleSlider.value = sign * Math.pow(Math.abs(rate/g_kMaxDVDRate),1/3);
  305.     JogShuttleSlider.toolTip = rate;
  306. }
  307.  
  308. function GetSliderTooltip(sliderval)
  309. {
  310.     var floatval = GetNonlinearRate(sliderval);
  311.     if ( (0.8<floatval)&&(floatval<1.2) )
  312.     {
  313.             return "1.0";
  314.     }
  315.     var stringval = floatval.toString();
  316.     var decimalPosition = stringval.indexOf(".");
  317.     if(decimalPosition!=-1)
  318.     {
  319.         var sigfigs = (Math.abs(floatval) > 0.2) ? 2 : 4;
  320.         stringval = stringval.slice(0,decimalPosition+sigfigs);
  321.     }
  322.     return stringval;
  323. }
  324.  
  325. function SetRate(sliderval)
  326. {
  327.     var stringval = GetSliderTooltip(sliderval);
  328.     var floatval = parseFloat(stringval);
  329.     if (floatval)
  330.     {
  331.         player.settings.rate = floatval;
  332.     }
  333.     else SetSlider(player.settings.rate);
  334. }
  335.  
  336. var g_Zoom50 = theme.loadString("res://wmploc.dll/RT_STRING/#1134");
  337. var g_Zoom100 = theme.loadString("res://wmploc.dll/RT_STRING/#1135");
  338. var g_Zoom200 = theme.loadString("res://wmploc.dll/RT_STRING/#1136");
  339. var g_ZoomCustom = theme.loadString("res://wmploc.dll/RT_STRING/#1133");
  340.  
  341. function InitZoomPopup()
  342. {
  343.    ZoomPopup.appendItem(g_Zoom50);
  344.    ZoomPopup.appendItem(g_Zoom100);
  345.    ZoomPopup.appendItem(g_Zoom200);
  346.    ZoomPopup.appendItem(g_ZoomCustom);
  347.  
  348. }
  349.  
  350. function ZoomPopupSelect(index)
  351. {
  352.     if (index==3)
  353.     {
  354.         mediacenter.videoStretchToFit=true;    
  355.     }
  356.  
  357.     else
  358.     { 
  359.         mediacenter.videoStretchToFit=false;   
  360.         switch (index)
  361.         {
  362.             case 0:
  363.                 mediacenter.videoZoom=50;
  364.                 break;
  365.             case 1:
  366.                 mediacenter.videoZoom=100;
  367.                 break;
  368.             case 2:
  369.                 mediacenter.videoZoom=200;
  370.                 break;
  371.         }
  372.     }
  373. }
  374.  
  375. function getZoomText()
  376. {
  377.     if (mediacenter.videoStretchToFit)
  378.     {
  379.         return g_ZoomCustom;
  380.     }
  381.  
  382.     else 
  383.     {
  384.         switch (mediacenter.videoZoom)
  385.         {
  386.             case 50:
  387.                 return g_Zoom50;
  388.             case 100:
  389.                 return g_Zoom100;
  390.             case 200:
  391.                 return g_Zoom200;
  392.             default:
  393.                 return g_ZoomCustom;    
  394.         }    
  395.     }
  396. }
  397.  
  398. function PersistSettings()
  399. {
  400.     if (eq.enableSplineTension)
  401.     {
  402.         theme.savePreference('splineTension',eq.splineTension);
  403.     }
  404.     else
  405.     {
  406.         theme.savePreference('splineTension','disabled');
  407.     }
  408. }
  409.  
  410. function InitPersistedSettings()
  411. {
  412.     var st = theme.loadPreference('splineTension');
  413.     if (st=='--') 
  414.     {
  415.         eq.enableSplineTension=true;
  416.         eq.splineTension=g_kSplineTensionMedium;
  417.     }
  418.     
  419.     else
  420.     {
  421.         if (st=="disabled")
  422.         {
  423.             eq.enableSplineTension=false;
  424.         }
  425.         else
  426.         {
  427.             eq.enableSplineTension=true;
  428.             eq.splineTension=parseInt(st);
  429.         }
  430.     }
  431.     
  432.     stDisable.down  = !eq.enableSplineTension;    
  433.     stMedium.down   = (eq.enableSplineTension) && (eq.splineTension == g_kSplineTensionMedium);
  434.     stTight.down    = (eq.enableSplineTension) && (eq.splineTension == g_kSplineTensionTight);
  435. }
  436.  
  437.  
  438. function UpdateSplineTensionButtons()
  439. {
  440.     with (eq)
  441.     {    
  442.         stDisable.down = !enableSplineTension;
  443.  
  444.         if (!enableSplineTension)
  445.         {
  446.             stMedium.down=false; 
  447.             stTight.down=false;
  448.         }
  449.     
  450.         else
  451.         {
  452.             stMedium.down = (splineTension==g_kSplineTensionMedium); 
  453.             stTight.down  = (splineTension==g_kSplineTensionTight);
  454.         }
  455.     } 
  456. }    
  457.  
  458. function DoShiftSensitiveEQ(level,newVal)
  459. {
  460.     if (eq.enableSplineTension && event.shiftKey) 
  461.     {
  462.         eq.enableSplineTension=false; 
  463.         eq.gainLevels(level) = newVal; 
  464.         eq.enableSplineTension=true;
  465.     }
  466. }
  467.  
  468. function SwitchToOfflineIfNecessary()
  469. {
  470.     if ( (false==player.isOnline) || (PlayingDVD()) )
  471.     {
  472.         SwitchView("OfflineMetaDataView");
  473.     }
  474. }
  475.  
  476. function PlayingDVD()
  477. {
  478.     return ( (player.currentPlaylist.count>0) && (player.currentPlaylist.item(0).sourceURL.indexOf("wmpdvd:")==0));
  479. }