home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 March / Chip_2004-03_cd1.bin / opsys / wmakeup / downloads / Jewel.wmz / jewel.js < prev    next >
Text (UTF-16)  |  2004-01-06  |  32KB  |  809 lines

  1. /*
  2.     The Skins Factory
  3.     http://www.theskinsfactory.com
  4.     info@theskinsfactory.com
  5.     Jewel WMP 9 Skin
  6. */
  7.  
  8. function onLoadPreview()
  9. {
  10.     if(player){}
  11.     view.width = 0;
  12.     view.height = 0;
  13.     view.backgroundImage = "";
  14.     theme.currentViewID = "controlView";
  15. }
  16.  
  17. function onLoadSkin()
  18. {
  19.     theme.savePreference("exitView", "false");
  20.  
  21.     if ("true"==theme.loadPreference("plViewer"))
  22.     {
  23.         theme.openView( 'plView' );
  24.     }
  25.  
  26.     if ("true"==theme.loadPreference("eqViewer"))
  27.     {
  28.         theme.openView( 'eqView' );
  29.     }
  30.  
  31.     if ("true"==theme.loadPreference("visViewer"))
  32.     {
  33.         theme.openView( 'visView' );
  34.     }
  35.  
  36.     if ("true"==theme.loadPreference("infoViewer"))
  37.     {
  38.         theme.openView( 'infoView' );
  39.     }
  40.  
  41.     if ("true"==theme.loadPreference("remoteViewer"))
  42.     {
  43.         theme.openView( 'remoteView' );
  44.     }
  45.  
  46.     theme.openView('mainView');
  47.  
  48.     checkControlPlayerState();
  49. }
  50.  
  51. function checkViewStatus()
  52. {
  53.     if("true"==theme.loadPreference("remoteCallPl"))
  54.     {
  55.         toggleView('plView','plViewer')
  56.         theme.savePreference("remoteCallPl", "false");
  57.     }
  58.     if("true"==theme.loadPreference("remoteCallEq"))
  59.     {
  60.         toggleView('eqView','eqViewer')
  61.         theme.savePreference("remoteCallEq", "false");
  62.     }
  63.     if("true"==theme.loadPreference("remoteCallVis"))
  64.     {
  65.         toggleView('visView','visViewer')
  66.         theme.savePreference("remoteCallVis", "false");
  67.     }
  68.     if("true"==theme.loadPreference("remoteCallInfo"))
  69.     {
  70.         toggleView('infoView','infoViewer')
  71.         theme.savePreference("remoteCallInfo", "false");
  72.     }
  73.     if("true"==theme.loadPreference("remoteCallRemote"))
  74.     {
  75.         toggleView('remoteView','remoteViewer')
  76.         theme.savePreference("remoteCallRemote", "false");
  77.     }
  78.  
  79.     if("true"==theme.loadPreference("minimizeView"))
  80.     {
  81.         view.minimize();
  82.         theme.savePreference("minimizeView", "false");
  83.     }
  84.     if("true"==theme.loadPreference("exitView"))
  85.     {
  86.         
  87.         view.close();
  88.     }
  89. }
  90.  
  91. function onCloseSkin()
  92. {
  93.     theme.savePreference("exitView", "false");
  94. }
  95.  
  96. function checkControlPlayerState(){
  97.  
  98.     if (player){
  99.         switch (player.playState){
  100.  
  101.             case 2:
  102.             case 3:     //playing
  103.  
  104.                 if(("false"==theme.loadPreference("vidViewer"))&&player.currentMedia.ImageSourceWidth>0){
  105.                     theme.openView('videoView');
  106.                 
  107.                 }
  108.                 break;
  109.             }
  110.         }
  111. }
  112.  
  113. function remoteStartUp()
  114. {
  115.     theme.savePreference( 'remoteViewer', "true" );
  116.     checkRemotePlayerState();
  117.     remoteBitrate();
  118. }
  119.  
  120. function remoteBitrate()
  121. {
  122.     if(player.openState!=13) return;
  123.     var bit = player.currentMedia.getItemInfo('bitrate');
  124.     if(bit > 100000)
  125.     {
  126.         bitInt = bit/1000
  127.         bitVal = parseInt(bitInt);
  128.         bitVal += locBitrate.toolTip;
  129.         metadata3.value = bitVal;
  130.     }
  131.     else
  132.     {
  133.         metadata3.value = locVideo.toolTip;
  134.     }
  135. }
  136.  
  137. function checkRemotePlayerState(){
  138.  
  139.     if (player){
  140.         switch (player.playState){
  141.  
  142.             case 2:
  143.                 metadata2.value = locPause.toolTip;
  144.                 break;
  145.             case 3:     //playing
  146.                 metadata2.value = locPlay.toolTip;
  147.                 remoteBitrate();
  148.                 break;
  149.             }
  150.         }
  151.  
  152.  
  153.     if (!player.controls.isAvailable("Stop")) {
  154.         time.value = "00:00";
  155.         metadata2.value = locStop.toolTip;
  156.     }
  157.  
  158. }
  159.  
  160. function loadRemote(){
  161.     var val = theme.loadPreference('remoteCallRemote');
  162.     if(val=='--'){
  163.         theme.savePreference('remoteCallRemote', 'true');
  164.     }
  165. }
  166.  
  167. function mainStartUp(){
  168.     volume.value = player.settings.volume;
  169.     loadMainPrefs();
  170.     theme.savePreference("vidViewer", "false");
  171.     checkPlayerState();
  172.     updateMetadata('status');
  173.     loadRemote();
  174. }
  175.  
  176. function checkPlayerState(){
  177.  
  178.     if (player){
  179.         switch (player.playState){
  180.  
  181.             case 2:
  182.             case 3:     //playing
  183. /*
  184.                 if(("false"==theme.loadPreference("vidViewer"))&&player.currentMedia.ImageSourceWidth>0){
  185.                     theme.openView('videoView');
  186.                     if("true"==theme.loadPreference("visViewer")){
  187.                         theme.savePreference("visViewer", "false");
  188.                         theme.closeView( "visView" );
  189.                     }
  190.                     break
  191.                 }
  192. */                
  193.                 break;
  194.             }
  195.         }
  196.  
  197.  
  198.     if (!player.controls.isAvailable("Stop")) {
  199.         
  200.     }
  201.  
  202. }
  203.  
  204. // metadata
  205.  
  206. function updateMetadata(type)
  207. {
  208.     if("status"==type)
  209.     {
  210.         if(player.openState!=13)
  211.         {
  212.             metadata.value = locReady.toolTip; 
  213.             metadata.scrolling = (metadata.textWidth>metadata.width);
  214.             return;
  215.         }
  216.  
  217.         var metaAuthor = player.currentMedia.getItemInfo("author");
  218.  
  219.         if (metaAuthor != "") 
  220.         {
  221.             metaAuthor += " - ";
  222.         }
  223. /*
  224.         metadata.value = player.status;
  225.  
  226.         if (metadata.value != "") {
  227.             metadata.value += " - ";
  228.         }
  229. */
  230.         metadata.value = metaAuthor;
  231.     }
  232.     else if("playlist"==type)
  233.     {
  234.         if(player.currentPlaylist.count==0) return;
  235.  
  236.         var metaAuthor = player.currentMedia.getItemInfo("author");
  237.  
  238.         if (metaAuthor != "") 
  239.         {
  240.             metaAuthor += " - ";
  241.         }
  242.  
  243.         if(player.openState!=13){
  244.             metadata.value = metaAuthor;
  245.         }
  246.     }
  247.     else
  248.     {
  249.         metadata.value = player.status;
  250.         metadata.scrolling = (metadata.textWidth>metadata.width);
  251.         return;
  252.     }
  253.  
  254.     metadata.value += player.currentmedia.name;
  255.     metadata.scrolling = (metadata.textWidth>metadata.width);
  256.     //metadataStatus = player.status;
  257.     
  258.     if(!player.controls.isAvailable("Stop"))
  259.     {
  260.         metadata.scrolling = false;
  261.     }
  262. }
  263.  
  264. // button and hotkey definitions
  265.  
  266. // open file
  267. function openFile(media)
  268. {
  269.     if(media=='file')media = theme.openDialog('FILE_OPEN','FILES_ALLMEDIA');
  270.     if(media)
  271.     {
  272.         player.URL = media;
  273.         player.controls.play();
  274.     }
  275. }
  276.  
  277. function viewHotKeys()
  278. {
  279.     switch(event.keycode)
  280.     {
  281.         case 122:
  282.         case 90:
  283.             player.controls.previous();
  284.             break;
  285.         case 120:
  286.         case 88:
  287.             player.controls.play();
  288.             break;
  289.         case 99:
  290.         case 67:
  291.             player.controls.pause();
  292.             break;
  293.         case 118:
  294.         case 86:
  295.             player.controls.stop();
  296.             break;
  297.         case 98:
  298.         case 66:
  299.             player.controls.next();
  300.             break;
  301.         case 108:
  302.         case 76:
  303.             openFile('file');
  304.             break;
  305.     }
  306. }
  307.  
  308. function viewResizer(event)
  309. {
  310.     switch(event.keycode)
  311.     {
  312.         case 37:
  313.             view.width-=20;
  314.             break;
  315.         case 38:
  316.             view.height-=20
  317.             break;
  318.         case 39:
  319.             view.width+=20;
  320.             break;
  321.         case 40:
  322.             view.height+=20;
  323.             break;
  324.     }
  325. }
  326.  
  327. function updateToolTip(id,button,tip)
  328. {
  329.     if("true"==theme.loadPreference( id ))
  330.     {
  331.         eval( button +".upToolTip = locHide" + tip + ".toolTip" );
  332.     }
  333.     else
  334.     {
  335.         eval( button +".upToolTip = locShow" + tip + ".toolTip" );
  336.     }
  337. }
  338.  
  339. function updateSeekToolTip()
  340. {
  341.     if(player.openState!=13) return;
  342.  
  343.     var seekHours = Math.floor((seek.value / 3600));
  344.     if (seekHours < 10) seekHours = "0" + seekHours;
  345.  
  346.     var seekMinutes = Math.floor((seek.value - (seekHours*3600))/60);
  347.     if (seekMinutes < 10) seekMinutes = "0" + seekMinutes;
  348.  
  349.     var seekSeconds = Math.floor((seek.value - (seekMinutes*60) - (seekHours*3600)));
  350.     if (seekSeconds < 10) seekSeconds = "0" + seekSeconds;
  351.  
  352.     var seekString;
  353.  
  354.     if (seekHours==00)
  355.     {
  356.         seekString = "";
  357.     }
  358.     else
  359.     {
  360.         seekString = seekHours + ":";
  361.     }
  362.  
  363.     seekString += seekMinutes + ":" + seekSeconds;
  364.  
  365.     seek.toolTip = seekString;
  366.     seek.toolTip += " / ";
  367.     seek.toolTip += player.currentMedia.DurationString;
  368.  
  369. }
  370.  
  371. function updateVolToolTip(id)
  372. {
  373.     vol = "";
  374.     vol += player.settings.volume;
  375.     eval(id + ".toolTip = vol" );
  376. }
  377.  
  378. function updateShuffRep()
  379. {
  380.     if(player.settings.getMode('shuffle'))
  381.     {
  382.         shuffleButton.down = true;
  383.     }else{
  384.         shuffleButton.down = false;
  385.     }
  386.  
  387.     if(player.settings.getMode('loop'))
  388.     {
  389.         repeatButton.down = true;
  390.     }else{
  391.         repeatButton.down = false;
  392.     }
  393. }
  394.  
  395. //
  396.  
  397. function volKey(event)
  398. {
  399.     switch(event.keycode)
  400.     {
  401.         case 39:
  402.         case 38:
  403.             if(player.settings.volume < 95)
  404.             {
  405.                 player.settings.volume+=5;
  406.             }else{
  407.                 player.settings.volume = 100;
  408.             }
  409.             break;
  410.         case 37:
  411.         case 40:
  412.             if(player.settings.volume > 5)
  413.             {
  414.                 player.settings.volume-=5;
  415.             }else{
  416.                 player.settings.volume = 0;
  417.             }
  418.             break;
  419.     }
  420.     player.settings.mute = false;
  421. }
  422.  
  423. function seekKey(event)
  424. {
  425.     if(player.openState!=13) return;
  426.     switch(event.keycode)
  427.     {
  428.         case 37:
  429.         case 40:
  430.             if(player.controls.currentPosition > 10)
  431.             {
  432.                 player.controls.currentPosition-=10;
  433.             }else{
  434.                 player.controls.currentPosition = 0;
  435.             }
  436.             break;
  437.         case 39:
  438.         case 38:
  439.             if(player.controls.currentPosition < player.currentMedia.duration)
  440.             {
  441.                 player.controls.currentPosition+=10;
  442.             }else{
  443.                 player.controls.currentPosition = player.currentMedia.duration;
  444.             }
  445.             break;
  446.     }
  447. }
  448.  
  449. // view toggle 
  450.  
  451. function toggleView(name,id)
  452. {
  453.     if("true"==theme.loadPreference(id))
  454.     {
  455.         theme.savePreference(id, "false");
  456.         theme.closeView( name );
  457.     }else{
  458.         theme.openView( name );
  459.     }
  460. }
  461.  
  462. function closeView(id)
  463. {
  464.     theme.savePreference(id, "false");
  465.     if( id=="vidViewer" )
  466.     {
  467.         player.controls.stop();
  468.         //theme.savePreference("vidCheck", "false");
  469.         theme.savePreference("vidViewer", "false");
  470.     }
  471.     view.close();
  472. }
  473.  
  474. function autoSizeView(width,height)
  475. {
  476.     var viewSize = theme.loadPreference( width );
  477.  
  478.     if( "--" != viewSize )
  479.     {
  480.         view.width = viewSize;
  481.     }else{
  482.         view.width = view.minWidth;
  483.     }
  484.  
  485.     viewSize = theme.loadpreference( height );
  486.  
  487.     if( "--" != viewSize )
  488.     {
  489.         view.height = viewSize;
  490.     }else{
  491.         view.height = view.minHeight;
  492.     }
  493. }
  494.  
  495. function saveViewSize(width,height)
  496. {
  497.     theme.savepreference( width , view.width );
  498.     theme.savepreference( height , view.height );
  499. }
  500.  
  501.  
  502.  
  503. // preferences
  504.  
  505. function loadMainPrefs(){
  506.     theme.savePreference("exitView", "false");
  507.  
  508. }
  509.  
  510. function saveMainPrefs() {
  511.  
  512.     theme.savePreference("exitView", "true");
  513. }
  514.  
  515. function mainShutDown(){
  516.     saveMainPrefs();
  517. }
  518.  
  519. // playlist
  520. function loadPlPrefs()
  521. {
  522.     theme.savePreference( 'plViewer', "true" );
  523.  
  524.     autoSizeView('plWidth','plHeight');
  525.  
  526.     var index = 0;
  527.  
  528.     playlist1.setColumnResizeMode( index++, "AutosizeData" );
  529.     playlist1.setColumnResizeMode( index++, "Stretches" );
  530.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  531.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  532.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  533.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  534.  
  535. }
  536.  
  537. function savePlPrefs(){
  538.     saveViewSize('plWidth','plHeight');
  539. }
  540.  
  541. // eq settings
  542. function loadEQPrefs()
  543. {
  544.     theme.savePreference( 'eqViewer', "true" );
  545.  
  546.     view.width = view.minWidth;
  547.     view.height = view.minHeight;
  548. }
  549.  
  550. function eqKey(event,level){
  551.     switch(event.keyCode){
  552.         case 38: // up
  553.         case 39:
  554.             eval("eq.gainLevel" + level + "++");
  555.             break;
  556.         case 40: // down
  557.         case 37:
  558.             eval("eq.gainLevel" + level + "--");
  559.             break;
  560.     }
  561. }
  562.  
  563. function sliderKey(event,id,val)
  564. {
  565.     switch(event.keyCode){
  566.         case 39:
  567.         case 38: // up
  568.             eval(id + "+=" + val);
  569.             break;
  570.         case 40: // down
  571.         case 37:
  572.             eval(id + "-=" + val);
  573.             break;
  574.     }
  575. }
  576.  
  577. function updateBalToolTip()
  578. {
  579.     balance.toolTip = "";
  580.     balance.toolTip += player.settings.balance;
  581. }
  582.  
  583. function toggleSkinFx()
  584. {
  585.     if("true"==theme.loadPreference("soundFX"))
  586.     {
  587.         theme.savePreference("soundFX", "false");
  588.     }else{
  589.         theme.savePreference("soundFX", "true");
  590.     }
  591. }
  592.  
  593.  
  594. function toggleSpeaker()
  595. {
  596.     if(eq.speakerSize==2)
  597.     {
  598.         eq.speakerSize = -1;
  599.     }
  600.     eq.speakerSize++
  601.  
  602. }
  603.  
  604. // visualizations
  605. function loadVisPrefs(){
  606.     theme.savePreference( 'visViewer', "true" );
  607.     visEffects.currentEffectType = mediacenter.effectType;
  608.     visEffects.currentPreset = mediacenter.effectPreset;
  609.  
  610.     autoSizeView('visWidth','visHeight');
  611.  
  612.     checkVisualsPlayerState();
  613. }
  614.  
  615. function saveVisPrefs(){
  616.     mediacenter.effectType = visEffects.currentEffectType;
  617.     mediacenter.effectPreset = visEffects.currentPreset;
  618.     saveViewSize('visWidth','visHeight');
  619. }
  620.  
  621. function checkVisualsPlayerState(){
  622.  
  623.     if (player){
  624.         switch (player.playState){
  625.             case 2:
  626.             case 3:     //playing
  627.                 //visMask.visible = true;
  628.                 displayVisText()
  629.                 if(player.currentMedia.ImageSourceWidth>0){
  630.                     theme.savePreference('visViewer', "false");
  631.                     view.close();
  632.                 }
  633.                 break;
  634.  
  635.             }
  636.         }
  637.  
  638.     if (!player.controls.isAvailable("Stop")) {
  639.         //visMask.visible = false;
  640.     }
  641. }
  642.  
  643. function displayVisText(){
  644.     visEffectsSub.visible = true;
  645.     //visEffectsText.value = visEffects.currentEffectTitle + ": " + visEffects.currentPresetTitle;
  646.     visView.timerInterval = 6000
  647. }
  648.  
  649. function hideVisText(){
  650.     visEffectsSub.visible = false;
  651.     visView.timerInterval = 0
  652. }
  653.  
  654. // video settings
  655.  
  656. function loadVidPrefs(){
  657.     theme.savePreference( 'vidViewer', "true" );
  658.  
  659.     var _drawerStatus = theme.loadPreference('drawerStatus');
  660.  
  661.     if (_drawerStatus != '--') {
  662.         drawerStatus = (_drawerStatus.toLowerCase() == 'true') ? false : true;
  663.     } else {
  664.         drawerStatus = true;
  665.     }
  666.  
  667.     checkSnapStatus();
  668.     checkVideoPlayerState();
  669.     updateZoomToolTip();
  670.     toggleVidDrawer();
  671. }
  672.  
  673. function saveVidPrefs(){
  674.     theme.savePreference('drawerStatus',drawerStatus);
  675. }
  676.  
  677. function loadVidSize(){
  678.     var vidSizer = theme.loadPreference( "videoWidth" );
  679.  
  680.     if( "--" != vidSizer )
  681.     {
  682.         view.width = vidSizer;
  683.     }
  684.     vidSizer = theme.loadpreference( "videoHeight" );
  685.  
  686.     if( "--" != vidSizer )
  687.     {
  688.         view.height = vidSizer;
  689.     }
  690. }
  691.  
  692. function saveVidSize(){
  693.     theme.savepreference( "videoWidth", view.width );
  694.     theme.savepreference( "videoHeight", view.height );
  695.     theme.savePreference("vidSnapper" , "false");
  696.     vidZoom.upToolTip = vidSetTip.toolTip;
  697.     mediacenter.videoZoom = 50;
  698. }
  699.  
  700. function videoZoom(){
  701.     if("false"==theme.loadPreference("vidSnapper")){
  702.         mediacenter.videoZoom = 50;
  703.     }
  704.     if(mediacenter.videoZoom < 76){
  705.         mediacenter.videoZoom = 100;
  706.     }else if(mediacenter.videoZoom <101){
  707.         mediacenter.videoZoom = 150;
  708.     }else if(mediacenter.videoZoom < 156){
  709.         mediacenter.videoZoom = 200;
  710.     }else{
  711.         mediacenter.videoZoom = 75;
  712.     }
  713.     SnapToVideo();
  714.     updateZoomToolTip();
  715. }
  716.  
  717. function updateZoomToolTip(){
  718.  
  719.     vidZoom.upToolTip = vidZoomIn.toolTip + mediacenter.videoZoom + vidZoomMid.toolTip;
  720.  
  721.     if(mediacenter.videoZoom < 76){
  722.         nextZoom = 100;
  723.     }else if(mediacenter.videoZoom <101){
  724.         nextZoom = 150;
  725.     }else if(mediacenter.videoZoom < 156){
  726.         nextZoom = 200;
  727.     }else{
  728.         nextZoom = 75;
  729.     }
  730.  
  731.     vidZoom.upToolTip += nextZoom + vidZoomOut.toolTip;
  732.     
  733.     if("false"==theme.loadPreference("vidSnapper")){
  734.         vidZoom.upToolTip = vidSetTip.toolTip;
  735.     }
  736. }
  737.  
  738. function SnapToVideo(){
  739.  
  740.     theme.savePreference("vidSnapper" , "true");
  741.  
  742.     var zoom = mediacenter.videoZoom;
  743.     var viewWidth = (player.currentMedia.imageSourceWidth * (zoom/100.00));
  744.     var viewHeight = (player.currentMedia.imageSourceHeight * (zoom/100.00));
  745.  
  746.     view.width = viewWidth + 47;
  747.     view.height = viewHeight + 142;
  748. }
  749.  
  750. function checkSnapStatus(){
  751.     if(player.openState!=13) return;
  752.     if("false"==theme.loadPreference("vidSnapper")){
  753.         loadVidSize();
  754.     }else{
  755.         SnapToVideo();
  756.     }
  757. }
  758.  
  759. function checkVideoPlayerState(){
  760.     if (player){
  761.         switch (player.playState){
  762.             
  763.             case 3:     //playing
  764.                 if(!player.currentMedia.ImageSourceWidth>0){
  765.                     theme.savePreference('vidViewer', "false");
  766.                     view.close();
  767.                     break;
  768.                 }
  769.                 vidBack.visible = false;
  770.                 videoFrame.visible = true;
  771.                 if(!player.fullScreen){
  772.                     checkSnapStatus();
  773.                 }
  774.                 break;
  775.             case 8:
  776.                 return;
  777.                 break;
  778.             }
  779.             vidResize.enabled = true;
  780.             vidZoom.enabled = true;
  781.         }
  782.  
  783.     if (!player.controls.isAvailable("Stop")) {
  784.         videoFrame.visible = false;
  785.         vidResize.enabled = false;
  786.         vidZoom.enabled = false;
  787.         vidBack.visible = true;
  788.         view.width = 347;
  789.         view.height = 306;
  790.     }
  791. }
  792.  
  793. function toggleVidDrawer(){
  794.     if(!drawerStatus){
  795.         vidDrawer.moveTo(0,view.height-87,500);
  796.         vidDrawerFrame.visible = true;
  797.         vidDrawerButton.down = true;
  798.         drawerStatus = !drawerStatus;
  799.     }else{
  800.         vidDrawer.moveTo(0,view.height-180,500);
  801.         drawerStatus = !drawerStatus;
  802.     }
  803. }
  804.  
  805. function checkVidDrawer(){
  806.     drawerStatus = drawerStatus;
  807.     vidDrawerFrame.visible = drawerStatus;
  808. }
  809.