home *** CD-ROM | disk | FTP | other *** search
/ Neil's C++ Stuff / 2016-02-neilstuff-weebly.iso / apps / audioPlayer2.swf / scripts / __Packages / Application.as next >
Text File  |  2016-02-05  |  21KB  |  528 lines

  1. class Application
  2. {
  3.    static var CLOSED = 0;
  4.    static var CLOSING = 1;
  5.    static var OPENING = 2;
  6.    static var OPEN = 3;
  7.    static var _colorKeys = ["bg","leftbg","lefticon","voltrack","volslider","rightbg","rightbghover","righticon","righticonhover","text","track","border","loader","tracker","skip"];
  8.    static var _colorScheme = {bg:15066597,leftbg:13421772,lefticon:3355443,voltrack:15921906,volslider:6710886,rightbg:11842740,rightbghover:10066329,righticon:3355443,righticonhover:16777215,skip:6710886,text:3355443,track:16777215,border:13421772,loader:39168,tracker:14540253};
  9.    static var _options = {playerID:"",encode:false,autostart:false,loop:false,animation:true,remaining:false,noinfo:false,killdownload:true,checkpolicy:false,demomode:false,bufferTime:5,volume:60,rtl:false};
  10.    function Application()
  11.    {
  12.    }
  13.    static function start(sourceFile, options)
  14.    {
  15.       if(options != undefined)
  16.       {
  17.          Application._setOptions(options);
  18.       }
  19.       if(!Application._options.demomode && Application._options.encode)
  20.       {
  21.          sourceFile = Application._sixBitDecode(sourceFile);
  22.       }
  23.       if(!Application._options.demomode)
  24.       {
  25.          var _loc1_ = new Object();
  26.          _loc1_.initialVolume = Application._options.volume;
  27.          _loc1_.bufferTime = Application._options.bufferTime;
  28.          _loc1_.enableCycling = Application._options.loop;
  29.          _loc1_.playerID = Application._options.playerID;
  30.          _loc1_.killDownload = Application._options.killdownload;
  31.          _loc1_.checkPolicy = Application._options.checkpolicy;
  32.          Application._player = new net.onepixelout.audio.Player(_loc1_);
  33.          var _loc5_ = Application._options.titles == undefined ? "" : Application._options.titles;
  34.          var _loc3_ = Application._options.artists == undefined ? "" : Application._options.artists;
  35.          Application._player.loadPlaylist(sourceFile,_loc5_,_loc3_);
  36.          if(!Application._options.demomode)
  37.          {
  38.             Application._player.addListener(Application);
  39.          }
  40.       }
  41.       Application._state = Application.CLOSED;
  42.       if(Application._options.demomode || !Application._options.animation || Application._options.autostart)
  43.       {
  44.          Application._state = Application.OPEN;
  45.       }
  46.       Application._setStage();
  47.       Application._setColors(true);
  48.       if(flash.external.ExternalInterface.available)
  49.       {
  50.          flash.external.ExternalInterface.addCallback("load",Application,Application.ei_loadFile);
  51.          flash.external.ExternalInterface.addCallback("close",Application,Application.ei_closePlayer);
  52.          flash.external.ExternalInterface.addCallback("open",Application,Application.ei_openPlayer);
  53.          flash.external.ExternalInterface.addCallback("setVolume",Application,Application.ei_setVolume);
  54.          var _loc2_ = Number(flash.external.ExternalInterface.call("AudioPlayer.getVolume",Application._options.playerID));
  55.          if(_loc2_ > -1)
  56.          {
  57.             Application._player.setVolume(_loc2_,true);
  58.          }
  59.       }
  60.       if(!Application._options.demomode && Application._options.autostart)
  61.       {
  62.          Application.onPlay();
  63.       }
  64.       setInterval(Application._update,100);
  65.    }
  66.    static function _setOptions(options)
  67.    {
  68.       for(var _loc2_ in options)
  69.       {
  70.          Application._options[_loc2_] = options[_loc2_];
  71.       }
  72.    }
  73.    static function _setStage()
  74.    {
  75.       Stage.align = "L";
  76.       Stage.scaleMode = "noScale";
  77.       var _loc2_ = _root.getNextHighestDepth();
  78.       _loc2_;
  79.       Application.masked_mc = _root.createEmptyMovieClip("masked_mc",_loc2_++);
  80.       Application.background_mc = Application.masked_mc.attachMovie("Background","background_mc",0);
  81.       Application.progress_mc = Application.masked_mc.attachMovie("Progress","progress_mc",1);
  82.       Application.progress_mc.addListener(Application);
  83.       Application.loading_mc = Application.masked_mc.attachMovie("Loading","loading_mc",2);
  84.       if(Application._options.demomode || Application._player.getTrackCount() > 1)
  85.       {
  86.          Application.next_mc = Application.masked_mc.attachMovie("Toggle","next_mc",3);
  87.          Application.previous_mc = Application.masked_mc.attachMovie("Toggle","previous_mc",4);
  88.          Application.previous_mc._rotation = -180;
  89.          if(!Application._options.demomode)
  90.          {
  91.             Application.next_mc.onRelease = function()
  92.             {
  93.                Application._player.next();
  94.                Application.display_mc.setTime(0);
  95.             };
  96.             Application.previous_mc.onRelease = function()
  97.             {
  98.                Application._player.previous();
  99.                Application.display_mc.setTime(0);
  100.             };
  101.          }
  102.       }
  103.       _loc2_;
  104.       Application.mask_mc = _root.attachMovie("Mask","mask_mc",_loc2_++);
  105.       Application.masked_mc.setMask(Application.mask_mc);
  106.       Application.mask_mc._width = 8;
  107.       _loc2_;
  108.       Application.display_mc = _root.attachMovie("Display","display_mc",_loc2_++);
  109.       if(Application._state == Application.CLOSED)
  110.       {
  111.          Application.display_mc._visible = false;
  112.       }
  113.       _loc2_;
  114.       Application.volume_mc = _root.attachMovie("Volume","volume_mc",_loc2_++);
  115.       Application.volume_mc.addListener(Application);
  116.       _loc2_;
  117.       Application.control_mc = _root.attachMovie("Control","control_mc",_loc2_++,{state:(!Application._options.autostart ? "play" : "pause")});
  118.       Application.control_mc.addListener(Application);
  119.       Application._alignAndResize();
  120.       if(Application._options.demomode)
  121.       {
  122.          Application.control_mc.toggle();
  123.          Application.volume_mc.toggleControl(true);
  124.          Application.volume_mc.update(Application._options.volume);
  125.          Application.progress_mc.updateProgress(0.3);
  126.          Application.loading_mc.update(0.6);
  127.          Application.display_mc.setText("1 Pixel Out: Demo Mode",0,true);
  128.          Application.display_mc.setTime(356560,Application._options.remaining);
  129.          Application.previous_mc._alpha = 50;
  130.       }
  131.       Stage.addListener(Application);
  132.    }
  133.    static function _alignAndResize()
  134.    {
  135.       Application.background_mc._x = Application.volume_mc.realWidth - 7;
  136.       var _loc2_ = Application._player.getTrackCount();
  137.       Application.progress_mc._x = Application.volume_mc.realWidth + 4;
  138.       if(Application._options.demomode || _loc2_ > 1)
  139.       {
  140.          Application.progress_mc._x += 8;
  141.       }
  142.       Application.progress_mc._y = 2;
  143.       Application.loading_mc._x = Application.volume_mc.realWidth + 4;
  144.       if(Application._options.demomode || _loc2_ > 1)
  145.       {
  146.          Application.loading_mc._x += 8;
  147.       }
  148.       Application.loading_mc._y = 20;
  149.       if(Application._options.demomode || _loc2_ > 1)
  150.       {
  151.          Application.next_mc._x = Stage.width - 43;
  152.          Application.next_mc._y = 12;
  153.          Application.previous_mc._x = Application.volume_mc.realWidth + 6;
  154.          Application.previous_mc._y = 12;
  155.       }
  156.       Application.mask_mc._x = Application.volume_mc.realWidth - 7;
  157.       Application.display_mc._x = Application.volume_mc.realWidth + 6;
  158.       if(Application._options.demomode || _loc2_ > 1)
  159.       {
  160.          Application.display_mc._x += 8;
  161.       }
  162.       Application.display_mc._y = 2;
  163.       if(Application._state == Application.CLOSED)
  164.       {
  165.          Application.control_mc._x = Application.volume_mc.realWidth - 6;
  166.       }
  167.       else
  168.       {
  169.          Application.control_mc._x = Stage.width - Application.control_mc.realWidth;
  170.       }
  171.       if(Application._options.rtl)
  172.       {
  173.          Application.control_mc.flip();
  174.          Application.volume_mc.flip();
  175.          Application.volume_mc._x = Stage.width - Application.volume_mc.realWidth;
  176.          Application.background_mc._x = Application.control_mc.realWidth - 7;
  177.          _loc2_ = Application._player.getTrackCount();
  178.          Application.progress_mc._x = Application.control_mc.realWidth + 4;
  179.          if(Application._options.demomode || _loc2_ > 1)
  180.          {
  181.             Application.progress_mc._x += 4;
  182.          }
  183.          Application.progress_mc._y = 2;
  184.          Application.loading_mc._x = Application.control_mc.realWidth + 4;
  185.          if(Application._options.demomode || _loc2_ > 1)
  186.          {
  187.             Application.loading_mc._x += 4;
  188.          }
  189.          Application.loading_mc._y = 20;
  190.          if(Application._options.demomode || _loc2_ > 1)
  191.          {
  192.             Application.next_mc._x = Stage.width - 52;
  193.             Application.next_mc._y = 12;
  194.             Application.previous_mc._x = Application.control_mc.realWidth + 2;
  195.             Application.previous_mc._y = 12;
  196.          }
  197.          Application.mask_mc._rotation = 180;
  198.          Application.mask_mc._y += Application.mask_mc._height;
  199.          Application.mask_mc._x = Application.volume_mc._x + 7;
  200.          Application.display_mc._x = Application.control_mc.realWidth + 6;
  201.          if(Application._options.demomode || _loc2_ > 1)
  202.          {
  203.             Application.display_mc._x += 4;
  204.          }
  205.          Application.display_mc._y = 2;
  206.          if(Application._state == Application.CLOSED)
  207.          {
  208.             Application.control_mc._x = Application.volume_mc._x - Application.control_mc.realWidth + 6;
  209.          }
  210.          else
  211.          {
  212.             Application.control_mc._x = 0;
  213.          }
  214.       }
  215.       var _loc1_ = Stage.width - (Application.control_mc.realWidth + Application.volume_mc.realWidth);
  216.       Application.background_mc._width = _loc1_ + 14;
  217.       if(Application._state == Application.OPEN)
  218.       {
  219.          Application.mask_mc._width = _loc1_ + 14;
  220.       }
  221.       if(Application._options.demomode || _loc2_ > 1)
  222.       {
  223.          _loc1_ -= 12;
  224.       }
  225.       Application.progress_mc.resize(_loc1_ - 8);
  226.       Application.loading_mc.resize(_loc1_ - 8);
  227.       Application.display_mc.resize(_loc1_ - 12);
  228.    }
  229.    static function _setColors(force)
  230.    {
  231.       var _loc2_ = undefined;
  232.       var _loc4_ = undefined;
  233.       if(!force && !_root.setcolors)
  234.       {
  235.          return undefined;
  236.       }
  237.       _loc2_ = 0;
  238.       while(_loc2_ < Application._colorKeys.length)
  239.       {
  240.          if(_root[Application._colorKeys[_loc2_]] != undefined)
  241.          {
  242.             _loc4_ = _root[Application._colorKeys[_loc2_]];
  243.             if(_loc4_.indexOf("0x") == -1)
  244.             {
  245.                _loc4_ = "0x" + _loc4_;
  246.             }
  247.             Application._colorScheme[Application._colorKeys[_loc2_]] = _loc4_;
  248.          }
  249.          _loc2_ = _loc2_ + 1;
  250.       }
  251.       _root.setcolors = 0;
  252.       var _loc3_ = [{target:Application.background_mc,color:Application._colorScheme.bg},{target:Application.volume_mc.background_mc,color:Application._colorScheme.leftbg},{target:Application.volume_mc.icon_mc,color:Application._colorScheme.lefticon},{target:Application.volume_mc.control_mc.track_mc,color:Application._colorScheme.voltrack},{target:Application.volume_mc.control_mc.bar_mc,color:Application._colorScheme.volslider},{target:Application.control_mc.background_mc.normal_mc,color:Application._colorScheme.rightbg},{target:Application.control_mc.background_mc.hover_mc,color:Application._colorScheme.rightbghover},{target:Application.control_mc.play_mc.normal_mc,color:Application._colorScheme.righticon},{target:Application.control_mc.play_mc.hover_mc,color:Application._colorScheme.righticonhover},{target:Application.control_mc.pause_mc.normal_mc,color:Application._colorScheme.righticon},{target:Application.control_mc.pause_mc.hover_mc,color:Application._colorScheme.righticonhover},{target:Application.loading_mc.bar_mc,color:Application._colorScheme.loader},{target:Application.loading_mc.track_mc,color:Application._colorScheme.track},{target:Application.progress_mc.track_mc,color:Application._colorScheme.track},{target:Application.progress_mc.bar_mc,color:Application._colorScheme.tracker},{target:Application.progress_mc.border_mc,color:Application._colorScheme.border},{target:Application.next_mc,color:Application._colorScheme.skip},{target:Application.previous_mc,color:Application._colorScheme.skip},{target:Application.display_mc.message_txt,color:Application._colorScheme.text},{target:Application.display_mc.time_txt,color:Application._colorScheme.text}];
  253.       var _loc5_ = undefined;
  254.       _loc2_ = 0;
  255.       while(_loc2_ < _loc3_.length)
  256.       {
  257.          if(typeof _loc3_[_loc2_].target == "movieclip")
  258.          {
  259.             _loc5_ = new Color(_loc3_[_loc2_].target);
  260.             _loc5_.setRGB(_loc3_[_loc2_].color);
  261.          }
  262.          else
  263.          {
  264.             _loc3_[_loc2_].target.textColor = _loc3_[_loc2_].color;
  265.          }
  266.          _loc2_ = _loc2_ + 1;
  267.       }
  268.    }
  269.    static function onResize()
  270.    {
  271.       Application._alignAndResize();
  272.    }
  273.    static function onPlay()
  274.    {
  275.       if(flash.external.ExternalInterface.available)
  276.       {
  277.          flash.external.ExternalInterface.call("AudioPlayer.activate",Application._options.playerID);
  278.       }
  279.       Application._player.play();
  280.       Application.volume_mc.toggleControl(true);
  281.       if(Application._state < Application.OPENING && Application._options.animation)
  282.       {
  283.          Application.openPlayer();
  284.       }
  285.    }
  286.    static function onStop()
  287.    {
  288.       if(Application._options.animation && Application._state > Application.CLOSING)
  289.       {
  290.          Application.closePlayer();
  291.       }
  292.       Application.volume_mc.toggleControl(false);
  293.       if(Application.control_mc.state == "pause")
  294.       {
  295.          Application.control_mc.toggle();
  296.       }
  297.    }
  298.    static function onPause()
  299.    {
  300.       Application._player.pause();
  301.       Application.volume_mc.toggleControl(false);
  302.       if(Application._state > Application.CLOSING && Application._options.animation)
  303.       {
  304.          Application.closePlayer();
  305.       }
  306.    }
  307.    static function onMoveHead(newPosition)
  308.    {
  309.       Application._player.moveHead(newPosition);
  310.    }
  311.    static function onSetVolume(volume, final)
  312.    {
  313.       if(final == undefined)
  314.       {
  315.          final = true;
  316.       }
  317.       Application._player.setVolume(volume,final);
  318.       if(flash.external.ExternalInterface.available && final)
  319.       {
  320.          flash.external.ExternalInterface.call("AudioPlayer.syncVolumes",Application._options.playerID,volume);
  321.       }
  322.    }
  323.    static function openPlayer()
  324.    {
  325.       Application._state = Application.OPENING;
  326.       var _loc1_ = !Application._options.rtl ? Stage.width - Application.control_mc.realWidth : 0;
  327.       if(Application._clearID != null)
  328.       {
  329.          clearInterval(Application._clearID);
  330.       }
  331.       Application._clearID = setInterval(Application._animate,40,_loc1_);
  332.    }
  333.    static function closePlayer()
  334.    {
  335.       Application._state = Application.CLOSING;
  336.       Application.display_mc._visible = false;
  337.       var _loc1_ = !Application._options.rtl ? Application.volume_mc.realWidth - 6 : Application.volume_mc._x - Application.control_mc.realWidth + 6;
  338.       if(Application._clearID != null)
  339.       {
  340.          clearInterval(Application._clearID);
  341.       }
  342.       Application._clearID = setInterval(Application._animate,40,_loc1_);
  343.    }
  344.    static function _animate(targetX)
  345.    {
  346.       var _loc1_ = targetX - Application.control_mc._x;
  347.       var _loc2_ = 0.5;
  348.       _loc1_ *= _loc2_;
  349.       if(Math.abs(_loc1_) < 1)
  350.       {
  351.          Application.control_mc._x = targetX;
  352.          if(Application._options.rtl)
  353.          {
  354.             Application.mask_mc._width -= _loc1_ * 2;
  355.          }
  356.          else
  357.          {
  358.             Application.mask_mc._width += _loc1_ * 2;
  359.          }
  360.          clearInterval(Application._clearID);
  361.          if(Application._state == Application.OPENING)
  362.          {
  363.             Application.display_mc._visible = true;
  364.             Application._state = Application.OPEN;
  365.          }
  366.          else
  367.          {
  368.             Application._state = Application.CLOSED;
  369.          }
  370.          return undefined;
  371.       }
  372.       Application.control_mc._x += _loc1_;
  373.       if(Application._options.rtl)
  374.       {
  375.          Application.mask_mc._width -= _loc1_;
  376.       }
  377.       else
  378.       {
  379.          Application.mask_mc._width += _loc1_;
  380.       }
  381.    }
  382.    static function _update()
  383.    {
  384.       Application._setColors(false);
  385.       if(Application._options.demomode)
  386.       {
  387.          return undefined;
  388.       }
  389.       var _loc1_ = Application._player.getState();
  390.       Application.volume_mc.update(_loc1_.volume);
  391.       Application.control_mc.enabled = true;
  392.       if(_loc1_.state != net.onepixelout.audio.Player.PAUSED)
  393.       {
  394.          Application.progress_mc.updateProgress(_loc1_.played);
  395.       }
  396.       Application.progress_mc.setMaxValue(_loc1_.loaded);
  397.       Application.loading_mc.update(_loc1_.loaded);
  398.       if(_loc1_.trackCount > 1)
  399.       {
  400.          Application.next_mc.enabled = _loc1_.hasNext;
  401.          Application.previous_mc.enabled = _loc1_.hasPrevious;
  402.          if(_loc1_.hasNext)
  403.          {
  404.             Application.next_mc._alpha = 100;
  405.          }
  406.          else
  407.          {
  408.             Application.next_mc._alpha = 50;
  409.          }
  410.          if(_loc1_.hasPrevious)
  411.          {
  412.             Application.previous_mc._alpha = 100;
  413.          }
  414.          else
  415.          {
  416.             Application.previous_mc._alpha = 50;
  417.          }
  418.       }
  419.       var _loc3_ = "";
  420.       var _loc0_ = null;
  421.       if((_loc0_ = _loc1_.state) !== net.onepixelout.audio.Player.NOTFOUND)
  422.       {
  423.          var _loc2_ = "";
  424.          if(_loc1_.connecting)
  425.          {
  426.             _loc2_ = "Connecting...";
  427.          }
  428.          else
  429.          {
  430.             if(!Application._options.noinfo && _loc1_.trackCount > 1)
  431.             {
  432.                _loc2_ = _loc1_.trackIndex + 1 + ": ";
  433.             }
  434.             if(_loc1_.buffering)
  435.             {
  436.                _loc2_ += "Buffering...";
  437.             }
  438.             else if(!Application._options.noinfo)
  439.             {
  440.                if(_loc1_.trackInfo.artist.length > 0 || _loc1_.trackInfo.songname.length > 0)
  441.                {
  442.                   _loc2_ += _loc1_.trackInfo.artist;
  443.                   if(_loc1_.trackInfo.artist.length > 0)
  444.                   {
  445.                      _loc2_ += " - ";
  446.                   }
  447.                   _loc2_ += _loc1_.trackInfo.songname;
  448.                }
  449.                else
  450.                {
  451.                   _loc2_ = "Track #" + (_loc1_.trackIndex + 1);
  452.                }
  453.             }
  454.          }
  455.          Application.display_mc.setText(_loc2_,0,true);
  456.          Application.display_mc.setTime(!Application._options.remaining ? _loc1_.position : _loc1_.duration - _loc1_.position,Application._options.remaining);
  457.       }
  458.       else
  459.       {
  460.          if(_loc1_.trackCount > 1)
  461.          {
  462.             _loc3_ = _loc1_.trackIndex + 1 + " - ";
  463.          }
  464.          Application.display_mc.setText(_loc3_ + "File not found",0);
  465.          Application.display_mc.setTime(0);
  466.       }
  467.    }
  468.    static function _sixBitDecode(sourceStr)
  469.    {
  470.       var _loc4_ = "";
  471.       var _loc7_ = "";
  472.       var _loc8_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
  473.       var _loc2_ = undefined;
  474.       var _loc5_ = undefined;
  475.       var _loc3_ = undefined;
  476.       var _loc1_ = undefined;
  477.       _loc1_ = 0;
  478.       while(_loc1_ < sourceStr.length)
  479.       {
  480.          _loc2_ = _loc8_.indexOf(sourceStr.substr(_loc1_,1));
  481.          _loc3_ = ("000000" + _loc2_.toString(2)).substr(-6,6);
  482.          _loc4_ += _loc3_;
  483.          _loc1_ = _loc1_ + 1;
  484.       }
  485.       _loc1_ = 0;
  486.       while(_loc1_ < _loc4_.length)
  487.       {
  488.          _loc3_ = _loc4_.substr(_loc1_,8);
  489.          _loc2_ = parseInt(_loc3_,2);
  490.          _loc5_ = String.fromCharCode(_loc2_);
  491.          _loc7_ += _loc5_;
  492.          _loc1_ += 8;
  493.       }
  494.       return _loc7_;
  495.    }
  496.    static function ei_closePlayer()
  497.    {
  498.       var _loc1_ = Application._player.getState();
  499.       if(_loc1_.state == net.onepixelout.audio.Player.PLAYING || _loc1_.state == net.onepixelout.audio.Player.NOTFOUND)
  500.       {
  501.          if(_loc1_.loaded < 1)
  502.          {
  503.             Application._player.stop(false);
  504.          }
  505.          else
  506.          {
  507.             Application._player.pause();
  508.          }
  509.          Application.onStop();
  510.       }
  511.    }
  512.    static function ei_openPlayer()
  513.    {
  514.       Application.onPlay();
  515.       Application.control_mc.toggle();
  516.    }
  517.    static function ei_setVolume(newVolume)
  518.    {
  519.       Application._player.setVolume(newVolume);
  520.    }
  521.    static function ei_loadFile(sourceFile, titles, artists)
  522.    {
  523.       Application._player.stop(false);
  524.       Application.onStop();
  525.       Application._player.loadPlaylist(sourceFile,titles,artists);
  526.    }
  527. }
  528.