Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.mosesSupposes.fuse.*;
- ZigoEngine.register(Fuse, FuseFMP, PennerEasing, FuseItem);
- ZigoEngine.DURATION = 0.25;
- #include "amps.as"
- // Setup Volume Control
- var heightFactor:Number = 2.5;
- var xFactor:Number = 4;
- var yFactor:Number = -4.3;
- var widthFactor:Number = 2.1;
- var startX:Number = -28;
- var numFilled:Number = 0;
- var currentVolume:Number = 80;
- pos_bar._alpha = 40;
- p_bar._alpha = 0;
- p_bar.onPress = function() {
- p_state = 1;
- s.stop();
- p_bar.startDrag(false, -129.3, 2, -71, 2);
- }
- p_bar.onRelease = releasePosBar;
- p_bar.onReleaseOutside = function() {
- ZigoEngine.DURATION = 1.0;
- ZigoEngine.doTween(pos_bar, "_alpha", 40);
- ZigoEngine.doTween(p_bar, "_alpha", 0);
- ZigoEngine.doTween(song_view, "_alpha", 100);
- releasePosBar();
- }
- function releasePosBar() {
- p_bar.stopDrag();
- var perc:Number = Math.abs(-129.3 - p_bar._x)/60;
- var pos:Number = perc*s.duration;
- play_dis._alpha = 100;
- pause_dis._alpha = 0;
- p_state = 0;
- s.position = pos;
- s.setVolume(currentVolume);
- s.start(pos/1000);
- }
- pos_bar.onRollOver = p_bar.onRollOver = function() {
- ZigoEngine.DURATION = 1.0;
- ZigoEngine.doTween(pos_bar, "_alpha", 100);
- ZigoEngine.doTween(p_bar, "_alpha", 100);
- ZigoEngine.doTween(song_view, "_alpha", 0);
- }
- pos_bar.onRollOut = p_bar.onRollOut = function() {
- ZigoEngine.DURATION = 1.0;
- ZigoEngine.doTween(pos_bar, "_alpha", 40);
- ZigoEngine.doTween(p_bar, "_alpha", 0);
- ZigoEngine.doTween(song_view, "_alpha", 100);
- }
- // Setup sound object
- var s:Sound = new Sound();
- s.onSoundComplete = playSong;
- initVolume(80);
- function initVolume(newVol:Number) {
- var pctVolume:Number = 100/7;
- var numFill:Number = Math.round(newVol / pctVolume);
- /* Generate background bars */
- for (var volBars:Number = 0; volBars < 7; volBars++) {
- var newBar:MovieClip = this.attachMovie("volume_bar","vbar_"+volBars, this.getNextHighestDepth());
- newBar._x = volBars*xFactor + startX;
- newBar._width = widthFactor;
- newBar._height = heightFactor * volBars;
- newBar._y = 7.5 + newBar._height / 2;
- }
- currentVolume = newVol;
- numFilled = numFill;
- fillBars(numFill);
- s.setVolume(newVol);
- }
- function fillBars(num:Number) {
- for (var count:Number = 0; count < num; count++) {
- ZigoEngine.doTween(eval("vbar_" + count), "_tint", 0x000000);
- f.start();
- }
- }
- /* Volume Clip Array */
- var volClips:Array = new Array(7);
- /* Set the Clips to the Volume Array */
- for (var temp:Number = 0; temp < 7; temp++)
- volClips[temp] = eval("vbar_" + temp);
- /* Event Setup for ALL Clips */
- for (var temp:Number = 0; temp < 7; temp++) {
- /****************************************************************************
- * ROLLOVER FUNCTION *
- * **************************************************************************
- * Notes: None. *
- * On Roll Over = Tint the current and all clips previous to blue *
- * **************************************************************************/
- volClips[temp].onRollOver = function() {
- var s:String = this._name.substring(5,6);
- for (var a:Number = 0; a <= s; a++) {
- ZigoEngine.doTween({target:eval("vbar_" + a), tint:0x1B09C4, time:0.05, ease:"easeOutQuad"});
- }
- }
- /*********************** END ROLLOVER FUNCTION ******************************/
- /****************************************************************************
- * ROLLOUT FUNCTION *
- * **************************************************************************
- * Notes: Sloppy Code. Can be done recursively. Re-do for efficiency! - MB *
- * What it does: Tint only previously filled bars to black, others to white *
- * **************************************************************************/
- volClips[temp].onRollOut = function() {
- /* Since our mc contains the position inside
- * the instance name, we can use a substring */
- var s:String = this._name.substring(5,6);
- /* If that position is less than the number of filled bars,
- * we want to tint them black because they were filled previously */
- if (s < numFilled) {
- ZigoEngine.doTween({target:this, tint:0x000000, time:0.05, ease:"easeOutQuad"});
- for (var a:Number = 0; a < s; a++)
- ZigoEngine.doTween({target:eval("vbar_" + a), tint:0x000000, time:0.05, ease:"easeOutQuad"});
- } else { /* Otherwise, we will tent the unfilled mc's back to white */
- ZigoEngine.doTween({target:this, tint:0xFFFFFF, time:0.05, ease:"easeOutQuad"});
- for (var a:Number = 0; a < s; a++) {
- if (a < numFilled)
- ZigoEngine.doTween({target:eval("vbar_" + a), tint:0x000000, time:0.05, ease:"easeOutQuad"});
- else
- ZigoEngine.doTween({target:eval("vbar_" + a), tint:0xFFFFFF, time:0.05, ease:"easeOutQuad"});
- }
- }
- }
- /**************************** END OF ROLLOUT FUNCTION ******************************/
- /****************************************************************************
- * ONPRESS FUNCTION *
- * **************************************************************************
- * Notes: None. *
- * What it does: Fill bars up to where we click! *
- * **************************************************************************/
- volClips[temp].onPress = function() {
- var mc_instance:String = this._name.substring(5,6);
- numFilled = int(mc_instance) + 1;
- var newV:Number = Math.round( (100/7)*numFilled );
- for (var a:Number = numFilled; a < 7; a++) {
- ZigoEngine.doTween({target:eval("vbar_" + a), tint:0xFFFFFF, time:0.05, ease:"easeOutBounce"});
- }
- currentVolume = newV;
- s.setVolume(newV);
- }
- }
- // Array of songs
- var sa:Array = new Array();
- // Currently playing song
- var cps:Number = Math.round(Math.random()*2);
- // Position of music
- var pos:Number;
- // Load the songs XML
- var xml:XML = new XML();
- xml.ignoreWhite = true;
- xml.onLoad = function()
- {
- var nodes:Array = this.firstChild.childNodes;
- for(var i=0;i<nodes.length;i++)
- {
- sa.push(new Song(nodes[i].attributes.url, nodes[i].attributes.artist, nodes[i].attributes.track));
- }
- playSong();
- }
- xml.load("songs.xml");
- this.onEnterFrame = function() {
- if (p_state == 1) {
- for (var a:Number = 0; a < numEqualizers; a++) {
- eval("this._parent.amp_bars.m" + a)._height = 0;
- }
- } else {
- var perc:Number = s.position/s.duration;
- var index:Number = Math.floor(eval("amp" + (cps + 1)).length*perc);
- var ampNum:Array = new Array();
- p_bar._x = -129.3 + perc*60.0;
- pos_bar.alpha_back._width = perc*60.0 + (p_bar._width);
- for (var v:Number = 0; v < numEqualizers; v++) {
- var indValue:Number = eval("amp" + (cps + 1))[index + (v%numEqualizers)]*4;
- ampNum[v] = equalizerHeight - indValue;
- }
- for (var z:Number = 0; z < numEqualizers; z++) {
- var mc_mask:MovieClip = eval ("this._parent.amp_bars.eq" + z + ".m");
- var mc:MovieClip = eval("this._parent.amp_bars.eq" + z);
- var fallingBar:MovieClip = eval("this._parent.amp_bars.h" + z);
- var hFactor:Number = equalizerHeight - ampNum[z];
- mc_mask._height = hFactor;
- var hScale:Number = equalizerHeight / 134;
- if ( (hFactor*hScale) > (Math.abs(fallingBar._y)) ) {
- fallingBar._y = -(hFactor*hScale);
- }
- var colorIndex:Number = ((Math.abs(fallingBar._y)) / equalizerHeight)*255;
- colorIndex = Math.floor(colorIndex);
- var f:Fuse = new Fuse();
- f.push({target:fallingBar, tint:0x00FF00*colorIndex, time:0, ease:"easeOutQuad"});
- f.start();
- }
- }
- }
- // Play the MP3 File
- function playSong():Void
- {
- s = new Sound();
- s.onSoundComplete = playSong;
- s.setVolume(currentVolume);
- if(cps == sa.length - 1)
- {
- cps = 0;
- s.loadSound(sa[cps].earl, true);
- }
- else
- {
- s.loadSound(sa[++cps].earl, true);
- }
- song_view.song_name.text = cps+1 + ") " + sa[cps].artist + " - " + sa[cps].track;
- textPos = 0;
- }
- function goBack():Void
- {
- s = new Sound();
- s.onSoundComplete = playSong;
- s.setVolume(currentVolume);
- if(cps == 0)
- {
- cps = sa.length-1;
- s.loadSound(sa[cps].earl, true);
- }
- else
- {
- s.loadSound(sa[--cps].earl, true);
- }
- song_view.song_name.text = cps+1 + ") " + sa[cps].artist + " - " + sa[cps].track;
- textPos = 0;
- }
- var p_state:Number = 0;
- var play_state:Number = 1;
- mute.mute_symbol._alpha = 0;
- play_dis._alpha = 100;
- pause_dis._alpha = 0;
- // Pauses the music
- function pauseIt():Void
- {
- if (p_state == 0) {
- pos = s.position;
- s.stop();
- p_state = 1;
- play_dis._alpha = 0;
- pause_dis._alpha = 100;
- } else {
- play_dis._alpha = 100;
- pause_dis._alpha = 0;
- p_state = 0;
- s.setVolume(currentVolume);
- s.start(pos/1000);
- }
- }
- play_but.onPress = function() {
- if (play_dis._alpha != 100) {
- this._parent.pauseIt();
- }
- }
- play_but.onRollOver = function() {
- if (play_dis._alpha != 100) {
- var f:Fuse = new Fuse();
- f.push({target:play_but, brightness: 40, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- }
- play_but.onRollOut = function() {
- if (play_dis._alpha != 100) {
- var f:Fuse = new Fuse();
- f.push({target:play_but, brightness: 0, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- }
- pause.onRollOver = function() {
- if (pause_dis._alpha != 100) {
- var f:Fuse = new Fuse();
- f.push({target:pause, brightness: 40, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- }
- pause.onRollOut = function() {
- if (pause_dis._alpha != 100) {
- var f:Fuse = new Fuse();
- f.push({target:pause, brightness: 0, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- }
- back.onRollOver = function() {
- var f:Fuse = new Fuse();
- f.push({target:back, brightness: 40, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- back.onRollOut = function() {
- var f:Fuse = new Fuse();
- f.push({target:back, brightness: 0, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- forward.onRollOver = function() {
- var f:Fuse = new Fuse();
- f.push({target:forward, brightness: 40, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- forward.onRollOut = function() {
- var f:Fuse = new Fuse();
- f.push({target:forward, brightness: 0, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- mute.onRollOver = function() {
- var f:Fuse = new Fuse();
- f.push({target:mute, brightness: 40, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- mute.onRollOut = function() {
- var f:Fuse = new Fuse();
- f.push({target:mute, brightness: 0, time:0.25, ease:"easeOutQuad"});
- f.start();
- }
- pause.onPress = function() {
- this._parent.pauseIt();
- }
- forward.onPress = function() {
- this._parent.playSong();
- }
- back.onPress = function() {
- this._parent.goBack();
- }
- mute.onPress = function() {
- if (mute.mute_symbol._alpha != 100) {
- s.setVolume(0);
- mute.mute_symbol._alpha = 100;
- } else {
- s.setVolume(currentVolume);
- mute.mute_symbol._alpha = 0;
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // Text scroller bonus code
- var size_t:Number = 21;
- var textPos:Number = 0;
- var intervalID:Number = setInterval(scroller, 200);
- function scroller():Void
- {
- var t:String = (cps+1 + ") " + sa[cps].artist + " - " + sa[cps].track);
- if(textPos+size_t < t.length)
- {
- textPos++;
- song_view.song_name.text = (cps+1 + ") " + sa[cps].artist + " - " + sa[cps].track).substring(textPos, textPos+size_t);
- }
- else
- {
- clearInterval(intervalID);
- intervalID = setInterval(scroller2, 200);
- }
- }
- function scroller2():Void
- {
- var t:String = (cps+1 + ") " + sa[cps].artist + " - " + sa[cps].track);
- if(textPos > 0)
- {
- textPos--;
- song_view.song_name.text = (cps+1 + ") " + sa[cps].artist + " - " + sa[cps].track).substring(textPos, size_t);
- }
- else
- {
- clearInterval(intervalID);
- intervalID = setInterval(scroller, 200);
- }
- }
Add Comment
Please, Sign In to add comment