home *** CD-ROM | disk | FTP | other *** search
/ DOKAN 63 / DOKAN63.iso / Extra / MPSetupXP.exe / 1033 / RCDATA / CABINET / 9SeriesDefault.wmz / Corona.js < prev    next >
Text File  |  2002-10-15  |  6KB  |  219 lines

  1.  
  2. // globals
  3. var g_paneCurrent            = 0;
  4. var g_vidIsRunning            = false;
  5. var g_playlistIsVisible        = false;
  6. var g_equalizerIsVisible    = false;
  7.  
  8. // constants
  9. var PANE_VIS            = 0;
  10. var PANE_VID            = 1;
  11. var VIDEO_WIDTH            = 320;    // pixels
  12. var VIDEO_HEIGHT        = 240;    // pixels
  13. var PANEL_VELOCITY        = 200;  // milliseconds
  14. var EQ_PANEL_TRAVEL_Y    = 124;    // pixels
  15.  
  16. var THEME_SAVE_VAR_EQ        = "EqualizerPanel";
  17. var THEME_SAVE_VAR_PLAYLIST    = "PlaylistPanel";
  18. var THEME_SAVE_VAR_WIDTH    = "PlayerWidth";
  19. var THEME_SAVE_VAR_HEIGHT    = "PlayerHeight";
  20.  
  21. function OnLoad() {
  22.  
  23.     ipl.setColumnResizeMode( 0, "Stretches" );
  24.     ipl.setColumnResizeMode( 1, "AutoSizeData" );
  25.  
  26.     player.settings.autoStart = true;
  27.     
  28.     /* load the preset popups */
  29.     for (i = 0; i < eq.presetCount; i++) {
  30.         popupPreset.appendItem(eq.presetTitle(i));
  31.     }
  32.  
  33.     /* set pane environment */
  34.        SetPane(PANE_VIS);
  35.     g_vidIsRunning = player.openState == osMediaOpen && player.currentMedia.ImageSourceWidth > 0;
  36.     g_vidIsRunning ? StartVideo() : EndVideo();
  37.  
  38.     /* set view to previous saved state */
  39.     // assign height and width registry values to temp vars
  40.     // as they will not exist the first time the skin is applied.
  41.     var tWidth = theme.loadPreference(THEME_SAVE_VAR_WIDTH),
  42.         tHeight = theme.loadPreference(THEME_SAVE_VAR_HEIGHT);
  43.     
  44.     // assign the height and width values to the view
  45.     vPlayer.width    = (tWidth && (tWidth > vPlayer.minWidth))
  46.                         ? tWidth
  47.                         : vPlayer.minWidth;
  48.     vPlayer.height    = (tHeight && (tHeight > vPlayer.minHeight))
  49.                         ? tHeight
  50.                         : vPlayer.minHeight;
  51.                         
  52.     if (theme.loadPreference(THEME_SAVE_VAR_EQ) == "True")
  53.         ToggleEqualizer();
  54.     if (theme.loadPreference(THEME_SAVE_VAR_PLAYLIST) == "True")
  55.         TogglePlaylist();
  56.  
  57.  
  58.     OnOpenStateChangeTransport(player.openState);
  59.     OnPlayStateChangeTransport(player.playState);
  60.     OnStatusChangeTransport(player.status);
  61.     
  62.        OnPlayStateChange();
  63.     OnOpenStateChange();
  64.      
  65. }
  66.  
  67. function OnClose() {
  68.     // save view state
  69.     theme.savePreference(THEME_SAVE_VAR_EQ,            g_equalizerIsVisible);
  70.     theme.savePreference(THEME_SAVE_VAR_PLAYLIST,    g_playlistIsVisible);
  71.     theme.savePreference(THEME_SAVE_VAR_WIDTH,        vPlayer.width);
  72.     theme.savePreference(THEME_SAVE_VAR_HEIGHT,        vPlayer.height);
  73. }
  74.  
  75. function StartVideo() {
  76.     g_vidIsRunning = true;
  77.     SetPane(PANE_VID);
  78.  
  79.     var vidWidth    = player.currentMedia.imageSourceWidth;
  80.     var vidHeight    = player.currentMedia.imageSourceHeight;
  81.     
  82.     if (vidWidth > VIDEO_WIDTH && vidHeight > VIDEO_HEIGHT) {
  83.         vPlayer.width    = vPlayer.minWidth + (vidWidth - VIDEO_WIDTH);
  84.         vPlayer.height    = vPlayer.minHeight + (vidHeight - VIDEO_HEIGHT);
  85.     }
  86.         
  87. }
  88.  
  89.  
  90. function EndVideo() {
  91.  
  92.     g_vidIsRunning = false;
  93.  
  94.     vPlayer.width    = vPlayer.minWidth;
  95.     vPlayer.height    = vPlayer.minHeight;
  96.     
  97.     if (g_paneCurrent == PANE_VID) {
  98.         SetPane(PANE_VIS);
  99.     }
  100. }
  101.  
  102. function SetPane(pane) {
  103.  
  104.     switch (pane) {
  105.         case PANE_VIS:
  106.             vid.visible        = false;
  107.             vis.visible        = true;
  108.  
  109.             vPlayer.width    = vPlayer.minWidth;
  110.             vPlayer.height    = vPlayer.minHeight;
  111.  
  112.             break;
  113.         case PANE_VID:
  114.             vid.visible        = true;
  115.             vis.visible        = false;
  116.             break;
  117.     }
  118.     
  119.     g_paneCurrent = pane;
  120. }
  121.  
  122. function TogglePlaylist() {
  123.     
  124.     if (!g_playlistIsVisible) {
  125.         svPlaylist.moveTo(0, 33, PANEL_VELOCITY);
  126.     } else {
  127.         ddpl.visible = ipl.visible = false;
  128.         svPlaylist.moveTo(250, 33, PANEL_VELOCITY);
  129.     }
  130.     
  131.     bPlaylist.down = g_playlistIsVisible = !g_playlistIsVisible;
  132. }
  133.  
  134. function ToggleEqualizer() {
  135.  
  136.     if (!g_equalizerIsVisible) {
  137.         svEqualizer.moveTo(262, svEqualizer.top + EQ_PANEL_TRAVEL_Y, PANEL_VELOCITY);
  138.     } else {
  139.         svEqualizer.moveTo(262, svEqualizer.top - EQ_PANEL_TRAVEL_Y, PANEL_VELOCITY);
  140.     }
  141.  
  142.     bEq.down = g_equalizerIsVisible = !g_equalizerIsVisible;
  143. }
  144.  
  145.  
  146. function ToggleSuperCompact() {
  147.  
  148.     if (g_equalizerIsVisible) {
  149.         ToggleEqualizer();
  150.         g_equalizerIsVisible = true;
  151.     }
  152.     if (g_playlistIsVisible) {
  153.         TogglePlaylist();
  154.         g_playlistIsVisible = true;
  155.     }
  156.     
  157.     theme.currentViewID = "viewTiny";
  158. }
  159.  
  160. function UpdateMetadata(status) {
  161.     if(player.openState==osMediaOpen)
  162.     {
  163.         update = status ? true : !update;
  164.         metadata.value = (update ? player.status : player.currentMedia.name);
  165.     }
  166. }
  167.  
  168. function EqResize() {
  169.     for (i = 1; i <= 10; i++) {
  170.         eval("eq" + i + ".left = " + Math.floor(GetEqSliderLeft(i)) + ";");
  171.         eval("tEq" + i + ".left = eq" + i + ".left - 6;");
  172.     }
  173. }
  174.  
  175. function GetEqSliderLeft(eqNum) {
  176.     var eqSlideImgWidth        = 18;    // pixel width of the eq slider image
  177.     var eqTotalSlideArea    = 180;  // eqSlideWidth * 10 (total number of eq sliders)
  178.     var nEqSlideSpacing        = 11;    // number of gutters between sliders; nSliders + 1
  179.  
  180.     return (((svEqualizerTopMiddle.width - eqTotalSlideArea) / nEqSlideSpacing) * eqNum) + (eqSlideImgWidth * (eqNum - 1));
  181. }
  182.  
  183. function OpenMedia() {
  184.  
  185.     newFile = theme.openDialog('FILE_OPEN', 'FILES_ALLMEDIA');
  186.     if (newFile) {
  187.         player.URL = newFile;
  188.         player.controls.play();
  189.     }
  190. }
  191.  
  192. function OnOpenStateChange() {
  193.  
  194.     if (player.openState == osMediaOpen) {
  195.         g_vidIsRunning = player.currentMedia.ImageSourceWidth > 0;
  196.         g_vidIsRunning ? StartVideo() : EndVideo();
  197.     }            
  198. }
  199.  
  200. function OnPlayStateChange() {
  201.  
  202.     switch (player.playState) {
  203.         case psStopped:
  204.             vis.visible = false;  
  205.             break;
  206.         case psPaused:
  207.             vis.visible = false;  
  208.             break;
  209.         case psPlaying:
  210.         default:
  211.             vis.visible = !g_vidIsRunning;
  212.    }
  213.  
  214. }
  215.  
  216. function OnModeChange(NewMode, NewValue) {
  217.     if (NewMode == 'shuffle')
  218.         bShuffle.down = NewValue;
  219. }