home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 December / Chip_2002-12_cd1.bin / zkuste / wmakeup / download / bft.wmz / bttf.js < prev    next >
Encoding:
Text (UTF-16)  |  2002-10-23  |  25.3 KB  |  660 lines

  1. /*
  2.     http://www.theskinsfactory.com
  3.     info@theskinsfactory.com
  4. */
  5.  
  6. // play states -- main player
  7.  
  8. function mainStartUp(){
  9.     volume.value = player.settings.volume;
  10.     loadMainPrefs();
  11.     checkPlayerState();
  12.     checkSplineTension();
  13. }
  14.  
  15. function checkPlayerState(){
  16.  
  17.     if (player){
  18.         switch (player.playState){
  19.             case 0:        //undefined
  20.                 
  21.                 break;
  22.             case 1:        //stopped
  23.  
  24.                 break;
  25.             case 2:        //paused
  26.  
  27.                 break;
  28.             case 3:     //playing
  29.                 if(player.currentMedia.ImageSourceWidth>0){
  30.                     theme.openView('videoView');
  31.                     if("true"==theme.loadPreference("visViewer")){
  32.                         theme.savePreference("visViewer", "false");
  33.                         theme.closeView( "visView" );
  34.                     }
  35.                 }
  36.                 break;
  37.             case 6:        //buffering
  38.                 
  39.                 break;
  40.             case 7:        //waiting
  41.                 
  42.                 break;
  43.             case 8:        //media ended
  44.                 
  45.                 break;
  46.             case 9:        //Transitioning
  47.                 
  48.                 break;
  49.             case 10:    //Ready
  50.                 
  51.                 break;
  52.             }
  53.             
  54.         }
  55.  
  56.     if (!player.controls.isAvailable("Stop")) {
  57.  
  58.     }
  59.     updateMetadata();
  60. }
  61.  
  62. // metadata
  63.  
  64. function updateMetadata(){
  65.  
  66.     if(player.openState!=13) return;
  67.  
  68.     metadata.value = player.status;
  69.  
  70.     authorppl = player.currentmedia.getiteminfo("#author");
  71.  
  72.     if (authorppl == "") {
  73.         authorppl = player.currentmedia.getiteminfo("author");
  74.     }
  75.  
  76.     if (authorppl != "") {
  77.         authorppl += " - ";
  78.     }
  79.  
  80.     if (metadata.value != "") {
  81.         metadata.value += " - ";
  82.     }
  83.  
  84.     metadata.value += authorppl;
  85.     metadata.value += player.currentmedia.name;
  86.     metadata.scrolling = (metadata.textWidth>metadata.width);
  87.     
  88. }
  89.  
  90. // button and hotkey definitions
  91.  
  92. // open file
  93. function openFile(){
  94.     var media = theme.openDialog('FILE_OPEN','FILES_ALLMEDIA');
  95.     if (media) {
  96.         player.URL = media;
  97.         player.controls.play();
  98.     }
  99. }
  100.  
  101. function viewHotKeys(){
  102.     switch(event.keycode){
  103.         case 122:
  104.         case 90:
  105.             player.controls.previous();
  106.             break;
  107.         case 120:
  108.         case 88:
  109.             player.controls.play();
  110.             break;
  111.         case 99:
  112.         case 67:
  113.             player.controls.pause();
  114.             break;
  115.         case 118:
  116.         case 86:
  117.             player.controls.stop();
  118.             break;
  119.         case 98:
  120.         case 66:
  121.             player.controls.next();
  122.             break;
  123.         case 108:
  124.         case 76:
  125.             openFile();
  126.             break;
  127.         case 80:
  128.         case 102:
  129.         case 70:
  130.  
  131.             break;
  132.  
  133.     }
  134. }
  135.  
  136. function viewResizer(event){
  137.     switch(event.keycode){
  138.         case 37:
  139.             view.width-=20;
  140.             break;
  141.         case 38:
  142.             view.height-=20
  143.             break;
  144.         case 39:
  145.             view.width+=20;
  146.             break;
  147.         case 40:
  148.             view.height+=20;
  149.             break;
  150.         }
  151. }
  152.  
  153. function checkToolTips(){
  154.     if("true"==theme.loadPreference("plViewer")){
  155.         plButton.upToolTip = "Hide Playlist";
  156.     }else{
  157.         plButton.upToolTip = "Show Playlist";
  158.     }
  159.     if("true"==theme.loadPreference("visViewer")){
  160.         visButton.upToolTip = "Hide Visualizations";
  161.     }else{
  162.         visButton.upToolTip = "Show Visualizations";
  163.     }
  164.  
  165. }
  166.  
  167. function updateShuffRep(){
  168.     if(player.settings.getMode('shuffle')){
  169.         shuffleButton.down = true;
  170.     }else{
  171.         shuffleButton.down = false;
  172.     }
  173.  
  174.     if(player.settings.getMode('loop')){
  175.         loopButton.down = true;
  176.     }else{
  177.         loopButton.down = false;
  178.     }
  179. }
  180.  
  181. function volKey(event){
  182.     switch(event.keycode){
  183.         case 37:
  184.         case 38:
  185.             if(player.settings.volume < 95){
  186.                 player.settings.volume+=5;
  187.             }else{
  188.                 player.settings.volume = 100;
  189.             }
  190.             break;
  191.         case 39:
  192.         case 40:
  193.             if(player.settings.volume > 5){
  194.                 player.settings.volume-=5;
  195.             }else{
  196.                 player.settings.volume = 0;
  197.             }
  198.             break;        
  199.         }
  200.         mute.down = false;
  201.         player.settings.mute = false;
  202.     }
  203.  
  204. function updateVolToolTip(){
  205.     volume.toolTip = "";
  206.     volume.toolTip += player.settings.volume;
  207. }
  208.  
  209. // preferences
  210.  
  211. function loadMainPrefs(){
  212.     var _eqBase = theme.loadPreference('eqBase');
  213.  
  214.     if (_eqBase != '--') {
  215.         eqBase = (_eqBase.toLowerCase() == 'true') ? false : true;
  216.     } else {
  217.         eqBase = true;
  218.     }
  219.  
  220.     toggleEQ();
  221.  
  222.     if ("true"==theme.loadPreference("plViewer")){
  223.         theme.openView( 'plView' );
  224.     }
  225.  
  226.     if ("true"==theme.loadPreference("visViewer")){
  227.         theme.openView( 'visView' );
  228.     }
  229.  
  230.     if ("true"==theme.loadPreference("infoViewer")){
  231.         theme.openView( 'infoView' );
  232.     }
  233. }
  234.  
  235. function saveMainPrefs() {
  236.     theme.savePreference('eqBase',false);
  237. }
  238.  
  239. function mainShutDown(){
  240.     saveMainPrefs();
  241. }
  242.  
  243. // equalizer 
  244.  
  245. var eqBase = false;
  246.  
  247. function toggleEQ(){
  248.     if(!eqBase){
  249.         eqBackTop.moveTo(18,118,500);    // eq is bottom
  250.         eqBackBot.moveTo(18,172,500)
  251.         eqBack.visible = true;
  252.         eqButton.down = true;
  253.         eqBase = !eqBase;
  254.     }else{
  255.         eqBackTop.moveTo(18,60,500);    // eq is top
  256.         eqBackBot.moveTo(18,72,500);
  257.         eqButton.down =false;
  258.         eqBase = !eqBase;
  259.     }
  260. }
  261.  
  262. function eqStep(){
  263.     if(eqBackBot.top==74){
  264.         eqBack.visible = false;
  265.     }
  266. }
  267.  
  268. function checkSplineTension(){
  269.     splineTensionBtn1.down = false;
  270.     splineTensionBtn2.down = false;
  271.     splineTensionBtn3.down = false;
  272.     if(!eq.enableSplineTension){
  273.         splineTensionBtn1.down = true
  274.     }else if(eq.enableSplineTension && eq.splineTension==2 ){
  275.         splineTensionBtn2.down = true;
  276.     }else if(eq.enableSplineTension && eq.splineTension==10){
  277.         splineTensionBtn3.down = true;
  278.     }
  279. }
  280.  
  281. // view toggle 
  282.  
  283. var plID = "plViewer";
  284. var plName = "plView";
  285. var visID = "visViewer";
  286. var visName = "visView";
  287. var vidID = "videoView";
  288.  
  289. function toggleView(name,id){
  290.     if("true"==theme.loadPreference(id)){
  291.         theme.savePreference(id, "false");
  292.         theme.closeView( name );
  293.     }else{
  294.         theme.openView( name );
  295.     }
  296. }
  297.  
  298. function closeView(id){
  299.     theme.savePreference(id, "false");
  300.     if( id==vidID && player.currentMedia.ImageSourceWidth>0 ){
  301.         player.controls.stop();
  302.     }
  303.     view.close();
  304. }
  305.  
  306. // playlist
  307. function loadPlPrefs(){
  308.     theme.savePreference( 'plViewer', "true" );
  309.  
  310.     var dwScale = theme.loadPreference( "PlaylistWidth" );
  311.  
  312.     if( "--" != dwScale )
  313.     {
  314.         plView.width = dwScale;
  315.     }
  316.     dwScale = theme.loadpreference( "PlaylistHeight" );
  317.  
  318.     if( "--" != dwScale )
  319.     {
  320.         plView.height = dwScale;
  321.     }
  322.  
  323.     plFrame.setColumnResizeMode( 0, "stretches" );
  324.     plFrame.setColumnResizeMode( 1, "autosizedata" );
  325.     plFrame.setColumnResizeMode( 2, "autosizedata" );
  326.     plFrame.setColumnResizeMode( 3, "autosizedata" );
  327.  
  328. }
  329.  
  330. function savePlPrefs(){
  331.     theme.savepreference( "PlaylistWidth", plView.width );
  332.     theme.savepreference( "PlaylistHeight", plView.height );
  333. }
  334.  
  335. // visualizations
  336. function loadVisPrefs(){
  337.     theme.savePreference( 'visViewer', "true" );
  338.     visEffects.currentEffectType = mediacenter.effectType;
  339.     visEffects.currentPreset = mediacenter.effectPreset;
  340.  
  341.     var dwScale = theme.loadPreference( "visWidth" );
  342.  
  343.     if( "--" != dwScale )
  344.     {
  345.         visView.width = dwScale;
  346.     }
  347.     dwScale = theme.loadpreference( "visHeight" );
  348.  
  349.     if( "--" != dwScale )
  350.     {
  351.         visView.height = dwScale;
  352.     }
  353.     
  354.     checkVisualsPlayerState()
  355. }
  356.  
  357. function saveVisPrefs(){
  358.     mediacenter.effectType = visEffects.currentEffectType;
  359.     mediacenter.effectPreset = visEffects.currentPreset;
  360.     theme.savepreference( "visWidth", visView.width );
  361.     theme.savepreference( "visHeight", visView.height );
  362. }
  363.  
  364. function checkVisualsPlayerState(){
  365.  
  366.     if (player){
  367.         switch (player.playState){
  368.             case 0:        //undefined
  369.                 
  370.                 break;
  371.             case 1:        //stopped
  372.  
  373.                 break;
  374.             case 2:        //paused
  375.  
  376.                 break;
  377.             case 3:     //playing
  378.                 //visMask.visible = true;
  379.                 break;
  380.             case 6:        //buffering
  381.                 
  382.                 break;
  383.             case 7:        //waiting
  384.                 
  385.                 break;
  386.             case 8:        //media ended
  387.                 
  388.                 break;
  389.             case 9:        //Transitioning
  390.                 
  391.                 break;
  392.             case 10:    //Ready
  393.                 
  394.                 break;
  395.             }
  396.         }
  397.  
  398.     if (!player.controls.isAvailable("Stop")) {
  399.         //visMask.visible = false;
  400.     }
  401. }
  402.  
  403. function displayVisText(){
  404.     visEffectsText.visible = true;
  405.     visEffectsText.value = visEffects.currentEffectTitle + ": " + visEffects.currentPresetTitle;
  406.     visView.timerInterval = 6000
  407. }
  408.  
  409. function hideVisText(){
  410.     visEffectsText.visible = false;
  411.     visView.timerInterval = 0
  412. }
  413.  
  414. // video
  415.  
  416. function loadVidPrefs(){
  417.     var _drawerStatus = theme.loadPreference('drawerStatus');
  418.  
  419.     if (_drawerStatus != '--') {
  420.         drawerStatus = (_drawerStatus.toLowerCase() == 'true') ? false : true;
  421.     } else {
  422.         drawerStatus = true;
  423.     }
  424.  
  425.     checkSnapStatus();
  426.     checkVideoPlayerState();
  427.     updateZoomToolTip();
  428.     toggleVidDrawer();
  429.  
  430. }
  431.  
  432. function saveVidPrefs(){
  433.     theme.savePreference('drawerStatus',drawerStatus);
  434. }
  435.  
  436. function loadVidSize(){
  437.     var vidSizer = theme.loadPreference( "videoWidth" );
  438.  
  439.     if( "--" != vidSizer )
  440.     {
  441.         view.width = vidSizer;
  442.     }
  443.     vidSizer = theme.loadpreference( "videoHeight" );
  444.  
  445.     if( "--" != vidSizer )
  446.     {
  447.         view.height = vidSizer;
  448.     }
  449. }
  450.  
  451. function saveVidSize(){
  452.     theme.savepreference( "videoWidth", view.width );
  453.     theme.savepreference( "videoHeight", view.height );
  454.     theme.savePreference("vidSnapper" , "false");
  455.     vidZoom.upToolTip = "Click To Set Video Size";
  456.     mediacenter.videoZoom = 50;
  457. }
  458.  
  459. function videoZoom(){
  460.     if("false"==theme.loadPreference("vidSnapper")){
  461.         mediacenter.videoZoom = 50;
  462.     }
  463.     if(mediacenter.videoZoom < 76){
  464.         mediacenter.videoZoom = 100;
  465.     }else if(mediacenter.videoZoom <101){
  466.         mediacenter.videoZoom = 150;
  467.     }else if(mediacenter.videoZoom < 156){
  468.         mediacenter.videoZoom = 200;
  469.     }else{
  470.         mediacenter.videoZoom = 75;
  471.     }
  472.     SnapToVideo();
  473.     updateZoomToolTip();
  474. }
  475.  
  476. function updateZoomToolTip(){
  477.  
  478.     vidZoom.upToolTip = "Video Size - [current: " + mediacenter.videoZoom + "%] - [next: ";
  479.  
  480.     if(mediacenter.videoZoom < 76){
  481.         nextZoom = 100;
  482.     }else if(mediacenter.videoZoom <101){
  483.         nextZoom = 150;
  484.     }else if(mediacenter.videoZoom < 156){
  485.         nextZoom = 200;
  486.     }else{
  487.         nextZoom = 75;
  488.     }
  489.  
  490.     vidZoom.upToolTip += nextZoom + "%]";
  491.     
  492.     if("false"==theme.loadPreference("vidSnapper")){
  493.         vidZoom.upToolTip = "Click To Set Video Size";
  494.     }
  495. }
  496.  
  497. function SnapToVideo(){
  498.  
  499.     theme.savePreference("vidSnapper" , "true");
  500.  
  501.     var zoom = mediacenter.videoZoom;
  502.     var viewWidth = (player.currentMedia.imageSourceWidth * (zoom/100.00));
  503.     var viewHeight = (player.currentMedia.imageSourceHeight * (zoom/100.00));
  504.  
  505.     view.width = viewWidth + 218;
  506.     view.height = viewHeight + 93;
  507. }
  508.  
  509. function checkSnapStatus(){
  510.     if("false"==theme.loadPreference("vidSnapper")){
  511.         loadVidSize();
  512.     }else{
  513.         SnapToVideo();
  514.     }
  515. }
  516.  
  517. function checkVideoPlayerState(){
  518.     if (player){
  519.         switch (player.playState){
  520.             case 0:        //undefined
  521.                 
  522.                 break;
  523.             case 1:        //stopped
  524.  
  525.                 break;
  526.             case 2:        //paused
  527.  
  528.                 break;
  529.             case 3:     //playing
  530.                 if(!player.currentMedia.ImageSourceWidth>0){
  531.                     view.close();
  532.                     break;
  533.                 }
  534.                 centerBox.visible = true;
  535.                 checkSnapStatus();
  536.                 break;
  537.             case 6:        //buffering
  538.                 checkSnapStatus();
  539.                 break;
  540.             case 7:        //waiting
  541.                 
  542.                 break;
  543.             case 8:        //media ended
  544.                 
  545.                 break;
  546.             case 9:        //Transitioning
  547.                 
  548.                 break;
  549.             case 10:    //Ready
  550.                 
  551.                 break;
  552.             }
  553.         }
  554.  
  555.     if (!player.controls.isAvailable("Stop")) {
  556.         centerBox.visible = false;
  557.         
  558.     }
  559. }
  560.  
  561. var drawerStatus = false;
  562.  
  563. function toggleVidDrawer(){
  564.     if(!drawerStatus){
  565.         leftDrawer.moveTo(view.width-158,0,500);
  566.         vidSettings.visible = true;
  567.         vidDrawerButton.down = true;
  568.         drawerStatus = !drawerStatus;
  569.     }else{
  570.         leftDrawer.moveTo(view.width-288,0,500);
  571.         drawerStatus = !drawerStatus;
  572.     }
  573. }
  574.  
  575. function checkDrawer(){
  576.     drawerStatus = drawerStatus;
  577.     vidSettings.visible = drawerStatus;
  578. }
  579.  
  580. // info / content
  581.  
  582. function loadInfoPrefs(){
  583.     theme.savePreference( 'infoViewer', "true" );
  584.     view.height = 302;
  585. }
  586.  
  587. var infoGo = 0;
  588.  
  589. function showInfo(menu,nav,infoGo){
  590.     infoMenuBack.visible = menu;
  591.     infoNavSub.visible = nav;
  592.     infoWeb.visible = false;
  593.     switch(infoGo){
  594.         case 0:
  595.             infoSub.backgroundImage = "";
  596.             break;
  597.         case 1:
  598.             infoMode = 1;    // call sections
  599.             navGo = 1;
  600.             navLimit = 2;
  601.             infoNavNext();
  602.             break;
  603.         case 2:
  604.             infoMode = 2;    // call sections
  605.             navGo = 1;
  606.             navLimit = 2;
  607.             infoNavNext();
  608.             break;
  609.         case 3:
  610.             infoMode = 3;
  611.             navGo = 1;
  612.             navLimit = 2;
  613.             infoNavNext();
  614.             break;
  615.         case 4:                // screenshots
  616.             infoMode = 4;
  617.             navGo = 1;
  618.             navLimit = 7;
  619.             infoNavNext();
  620.             break;
  621.         case 5:
  622.             infoMode = 5;
  623.             navGo = 1;
  624.             navLimit = 5;
  625.             infoNavNext();
  626.             break;
  627.         case 6:
  628.             infoMode = 6;
  629.             navGo = 1;
  630.             navLimit = 1;
  631.             infoNavNext();
  632.             infoWeb.visible = true;
  633.             break;
  634.     }
  635. }
  636.  
  637. navGo = 1;
  638.  
  639. function infoNavNext(){
  640.     infoSub.backgroundImage = "c_sub_" + infoMode + "_" + navGo + ".jpg";
  641.     navCheck();
  642. }
  643.  
  644. function infoNavPrev(){
  645.     infoSub.backgroundImage = "c_sub_" + infoMode + "_" + navGo + ".jpg";
  646.     navCheck();
  647. }
  648.  
  649. function navCheck(){
  650.     if(navGo==1){
  651.         navPrev.enabled = false;
  652.         navNext.enabled = true;
  653.     }else if(navGo==navLimit && infoMode==infoMode){    // enable / disable sections
  654.         navNext.enabled = false;
  655.         navPrev.enabled = true;
  656.     }else{
  657.         navNext.enabled = true;
  658.         navPrev.enabled = true;
  659.     }
  660. }