home *** CD-ROM | disk | FTP | other *** search
/ Hentai 69 / HENTAI69.iso / Extra / MPSetup.exe / 1033 / RCDATA / CABINET / wmploc.DLL / 256 / MEDIAINFO.JS < prev    next >
Text File  |  2002-12-14  |  9KB  |  432 lines

  1. // Windows Media Player - Copyright 2000 Microsoft Corporation.
  2. //<script>
  3.  
  4. // See MediaInfo.xls in SD for table of states
  5.  
  6. var mtNone                  = 0;
  7. var mtCD                    = 1;
  8. var mtDVD                   = 2;
  9. var mtAudio                 = 3;
  10. var mtOther                 = 4;
  11.  
  12. var g_MediaType             = mtNone;
  13.  
  14. var lnkNone                 = 0;
  15. var lnkFindAlbumInfo        = 1;
  16. var lnkFindDVDInfo          = 2;
  17. var lnkDVDInfo              = 3;
  18. var lnkBuyCD                = 4;
  19. var lnkBuyDVD               = 5;
  20. var lnkBuyTickets           = 6;
  21.  
  22. var g_rgLinkText = new Array(
  23.     0,
  24.     1452,
  25.     1454,
  26.     1456,
  27.     1458,
  28.     1460,
  29.     1462
  30.     );
  31.  
  32. var g_rgLinkTooltip = new Array(
  33.     0,
  34.     1453,
  35.     1455,
  36.     1457,
  37.     1459,
  38.     1461,
  39.     1463
  40.     );
  41.  
  42. var g_Link1                 = lnkNone;
  43. var g_Link2                 = lnkNone;
  44.  
  45. var artNone                 = 0;
  46. var artAlbum                = 1;
  47. var artDVD                  = 2;
  48.  
  49. var g_Art                   = artNone;
  50.  
  51. var LRDetails               = 1;
  52. var LREdit                  = 2;
  53. var LRBuyNow                = 4;
  54. var LRBuyTickets            = 8;
  55.  
  56. function OnLoad()
  57. {
  58.     svCoverArt.left=(vMediaInfo.width-svCoverArt.width)/2;
  59.     svCoverArt.horizontalAlignment="center"
  60.     txtAux.top=svCoverArt.top+svCoverArt.height+4;
  61.  
  62.     Refresh();
  63. }
  64.  
  65. function OnStateChange(NewState)
  66. {
  67.     if(osMediaOpen==NewState)
  68.     {
  69.         Refresh();
  70.     }
  71. }
  72.  
  73. function OnCurrentItemChange()
  74. {
  75.     if((osPlaylistOpenNoMedia==player.openState)&&(psReady==player.playState))
  76.     {
  77.         Refresh();
  78.     }
  79. }
  80.  
  81. function OnMediaChange(Item)
  82. {
  83.     if( player.currentMedia && player.currentMedia.isIdentical( Item ) )
  84.     {
  85.         Refresh();
  86.     }
  87. }
  88.  
  89. function OnPlaylistChange(Playlist,change)
  90. {
  91.     if( player.currentPlaylist.isIdentical( Playlist ) || (8 == change) )
  92.     {
  93.         Refresh();
  94.     }
  95. }
  96.  
  97. function OnCurrentMediaItemAvailable(bstrItemName)
  98. {
  99.     if( ( (bstrItemName == "WMPImage_AlbumArtLarge") || (bstrItemName == "WMPImage_AlbumArtSmall") ) && 
  100.         (osMediaOpen==player.openState) )
  101.     {
  102.         Refresh();
  103.     }
  104. }
  105.  
  106. function OnClickLink1()
  107. {
  108.     OnClickLink(g_Link1);
  109. }
  110.  
  111. function OnClickLink2()
  112. {
  113.     OnClickLink(g_Link2);
  114. }
  115.  
  116. function OnClickLink( Link )
  117. {
  118.     switch( Link )
  119.     {
  120.     case lnkFindAlbumInfo:
  121.     case lnkFindDVDInfo:
  122.         helper.linkRequest=LREdit;
  123.         break;
  124.     case lnkDVDInfo:
  125.         helper.linkRequest=LRDetails;
  126.         break;
  127.     case lnkBuyCD:
  128.     case lnkBuyDVD:
  129.         helper.linkRequest=LRBuyNow;
  130.         break;
  131.     case lnkBuyTickets:
  132.         helper.linkRequest=LRBuyTickets;
  133.         break;
  134.     }
  135. }
  136.  
  137. function OnClickCoverArt()
  138. {
  139.     if( g_Art != artNone )
  140.     {
  141.         helper.linkRequest=LRDetails;
  142.     }
  143. }
  144.  
  145. function Refresh()
  146. {
  147.     g_MediaType = GetMediaType();
  148.  
  149.     switch( g_MediaType )
  150.     {
  151.     case mtNone:
  152.         RefreshNone();
  153.         break;
  154.  
  155.     case mtCD:
  156.         RefreshCD();
  157.         break;
  158.  
  159.     case mtDVD:
  160.         RefreshDVD();
  161.         break;
  162.  
  163.     case mtAudio:
  164.         RefreshAudio();
  165.         break;
  166.  
  167.     case mtOther:
  168.         RefreshOther();
  169.         break;
  170.     }
  171.  
  172.     svCoverArt.backgroundImage = "";
  173.     svCoverArt.backgroundImage = GetCoverImage();
  174. }
  175.  
  176. function RefreshNone()
  177. {
  178.     g_Link1 = lnkNone;
  179.     g_Link2 = lnkNone;
  180.  
  181.     UpdateLinks();
  182.  
  183.     g_Art = artNone;
  184.  
  185.     UpdateArt();
  186.  
  187.     txtAux.value="";
  188. }
  189.  
  190. function RefreshCD()
  191. {
  192.     var sAux = "";
  193.     var nLAvailable = 0;
  194.  
  195.     nLAvailable = helper.linkAvailable;
  196.  
  197.     g_Link1 = ( ( 0 != ( nLAvailable & LRBuyNow ) )? lnkBuyCD : lnkNone );
  198.     g_Link2 = ( ( 0 != ( nLAvailable & LRBuyTickets ) )? lnkBuyTickets : lnkNone );
  199.  
  200.     if( ( g_Link1 == lnkNone ) && ( g_Link2 == lnkNone ) )
  201.     {
  202.         g_Link1 = lnkFindAlbumInfo;
  203.     }
  204.  
  205.     UpdateLinks();
  206.  
  207.     g_Art = artAlbum;
  208.  
  209.     UpdateArt();
  210.  
  211.     sAux=player.currentPlaylist.getItemInfo("Name");
  212.     if( "" == sAux )
  213.     {
  214.         sAux= theme.loadString("res://wmploc/RT_STRING/#917");
  215.     }
  216.     txtAux.value=sAux;
  217. }
  218.  
  219. function RefreshDVD()
  220. {
  221.     var sAux = "";
  222.     var nLAvailable = 0;
  223.  
  224.     var rootPlaylist = helper.getRootPlaylist( player.currentPlaylist );
  225.  
  226.     if( null != rootPlaylist )
  227.     {
  228.         sAux=rootPlaylist.getItemInfo("Name");
  229.     }
  230.  
  231.     if( "" == sAux )
  232.     {
  233.         sAux= theme.loadString("res://wmploc/RT_STRING/#950");
  234.     }
  235.  
  236.     var fFound = false;
  237.  
  238.     if( sAux != theme.loadString("res://wmploc/RT_STRING/#950") )
  239.     {
  240.         fFound = true;
  241.     }
  242.  
  243.     nLAvailable = helper.linkAvailable;
  244.  
  245.     g_Link1 = ( ( 0 != ( nLAvailable & LRBuyNow ) )? lnkBuyDVD : lnkNone );
  246.     g_Link2 = ( ( 0 != ( nLAvailable & LRBuyTickets ) )? lnkBuyTickets : lnkNone );
  247.  
  248.     if( ( g_Link1 == lnkNone ) && ( g_Link2 == lnkNone ) )
  249.     {
  250.         if( fFound )
  251.         {
  252.             g_Link1 = lnkDVDInfo;
  253.         }
  254.         else
  255.         {
  256.             g_Link1 = lnkFindDVDInfo;
  257.         }
  258.     }
  259.  
  260.     UpdateLinks();
  261.  
  262.     g_Art = artDVD;
  263.  
  264.     UpdateArt();
  265.  
  266.     txtAux.value=sAux;
  267. }
  268.  
  269. function RefreshAudio()
  270. {
  271.     var nLAvailable = 0;
  272.  
  273.     nLAvailable = helper.linkAvailable;
  274.  
  275.     g_Link1 = ( ( 0 != ( nLAvailable & LRBuyNow ) )? lnkBuyCD : lnkNone );
  276.     g_Link2 = ( ( 0 != ( nLAvailable & LRBuyTickets ) )? lnkBuyTickets : lnkNone );
  277.  
  278.     if( ( g_Link1 == lnkNone ) && ( g_Link2 == lnkNone ) )
  279.     {
  280.         g_Link1 = lnkFindAlbumInfo;
  281.     }
  282.  
  283.     UpdateLinks();
  284.  
  285.     g_Art = artAlbum;
  286.  
  287.     UpdateArt();
  288.  
  289.     txtAux.value=player.currentMedia.getItemInfo("Album");
  290. }
  291.  
  292. function RefreshOther()
  293. {
  294.     g_Link1 = lnkNone;
  295.     g_Link2 = lnkNone;
  296.  
  297.     UpdateLinks();
  298.  
  299.     g_Art = artNone;
  300.  
  301.     UpdateArt();
  302.  
  303.     txtAux.value=player.currentMedia.getItemInfo("Title");
  304. }
  305.  
  306. function UpdateLinks()
  307. {
  308.     txtLink1.value = "res://wmploc.dll/RT_STRING/#" + g_rgLinkText[ g_Link1 ].toString();
  309.     txtLink1.tooltip = "res://wmploc.dll/RT_STRING/#" + g_rgLinkTooltip[ g_Link1 ].toString();
  310.     txtLink2.value = "res://wmploc.dll/RT_STRING/#" + g_rgLinkText[ g_Link2 ].toString();
  311.     txtLink2.tooltip = "res://wmploc.dll/RT_STRING/#" + g_rgLinkTooltip[ g_Link2 ].toString();
  312.  
  313.     txtLink1.horizontalAlignment = "left";
  314.     txtLink2.horizontalAlignment = "left";
  315.  
  316.     if( lnkNone != g_Link1 && lnkNone != g_Link2 )
  317.     {
  318.         txtLink1.width = svLinkBar.width / 2;
  319.         txtLink2.left  = txtLink1.width;
  320.         txtLink2.width = txtLink1.width;
  321.         txtLink1.horizontalAlignment = "left";
  322.         txtLink2.horizontalAlignment = "right";
  323.     }
  324.     else if( lnkNone != g_Link1 )
  325.     {
  326.         txtLink1.width = svLinkBar.width;
  327.         txtLink1.horizontalAlignment = "stretch";
  328.     }
  329.     else if( lnkNone != g_Link2 )
  330.     {
  331.         txtLink2.left  = 0;
  332.         txtLink2.width = svLinkBar.width;
  333.         txtLink2.horizontalAlignment = "stretch";
  334.     }
  335.  
  336.     txtLink1.visible = ( lnkNone != g_Link1 );
  337.     txtLink2.visible = ( lnkNone != g_Link2 );
  338.  
  339.     txtLink1.accName = txtLink1.value;
  340.     txtLink2.accName = txtLink2.value;
  341. }
  342.  
  343. function OnLinkBarResize()
  344. {
  345.     if( lnkNone != g_Link1 && lnkNone != g_Link2 )
  346.     {
  347.         txtLink2.horizontalAlignment = "left";
  348.         txtLink1.width = svLinkBar.width / 2;
  349.         txtLink2.left  = txtLink1.width;
  350.         txtLink2.width = txtLink1.width;
  351.         txtLink2.horizontalAlignment = "right";
  352.     }
  353. }
  354.  
  355. function UpdateArt()
  356. {
  357.     switch( g_Art )
  358.     {
  359.     case artNone:
  360.         btnCoverArtClick.cursor = "system";
  361.         btnCoverArtClick.tabStop = "false";
  362.         btnCoverArtClick.upTooltip = "";
  363.         break;
  364.     case artAlbum:
  365.         btnCoverArtClick.cursor = "hand";
  366.         btnCoverArtClick.tabStop = "true";
  367.         btnCoverArtClick.upTooltip = "res://wmploc.dll/RT_STRING/#1450";
  368.         break;
  369.     case artDVD:
  370.         btnCoverArtClick.cursor = "hand";
  371.         btnCoverArtClick.tabStop = "true";
  372.         btnCoverArtClick.upTooltip = "res://wmploc.dll/RT_STRING/#1451";
  373.         break;
  374.     }
  375.  
  376.     btnCoverArtClick.accName = btnCoverArtClick.upTooltip;
  377. }
  378.  
  379. function OpenMedia()
  380. {
  381.     return( ( null != player.currentMedia ) );
  382. }
  383.  
  384. function GetMediaType()
  385. {
  386.     if( !OpenMedia() )
  387.     {
  388.         return( mtNone );
  389.     }
  390.  
  391.     if ( (player.currentPlaylist.count>0) )
  392.     {
  393.         var sURL = player.currentPlaylist.item(0).sourceURL;
  394.  
  395.         if(sURL.indexOf("wmpdvd:")==0)
  396.         {
  397.             return( mtDVD );
  398.         }
  399.         if(sURL.indexOf("wmpcd:")==0)
  400.         {
  401.             return( mtCD );
  402.         }
  403.     }
  404.  
  405.     var sType = player.currentMedia.getItemInfo("FileType").toUpperCase();
  406.  
  407.     if( ( "WMA" == sType ) || ( "MP3" == sType ) )
  408.     {
  409.         return( mtAudio );
  410.     }
  411.  
  412.     return( mtOther );
  413. }
  414.  
  415. function GetCoverImage()
  416. {
  417.     if( !OpenMedia() )
  418.     {
  419.         return( "res://wmploc.dll/RT_BITMAP/#" + helper.getCurrentArtID( true ).toString() );
  420.     }
  421.  
  422.     return( "WMPImage_AlbumArtLarge" );
  423. }
  424.  
  425. function DoACCKeyPress(keyCode, dofunction)
  426. {
  427.     if ( (keyCode==32) || (keyCode==13) )
  428.     {
  429.         dofunction();    
  430.     }
  431. }
  432.