# My life's a script

**URL:** <https://forum.kirupa.com/t/my-lifes-a-script/172562>\
**Category:** flash\
**Created:** [December 15, 2005, 4:28pm UTC](https://forum.kirupa.com/t/my-lifes-a-script/172562 "2005-12-15T16:28:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![skenzie](https://avatars.discourse-cdn.com/v4/letter/s/e36b37/32.png) [@skenzie](https://forum.kirupa.com/u/skenzie)\
**Post date:** [December 15, 2005, 4:28pm UTC](https://forum.kirupa.com/t/my-lifes-a-script/172562/1 "2005-12-15T16:28:00Z")

</div>

Any eagle eyed actionscripters out there know how to turn a portion of this code into something that would animate a circle fill to the duration of a song being played.  
Please accept my apologies for being a total pain in the butt.  
iain

> function loadData(success)  
> {  
> if (success)  
> {

bytes\_loaded = Math.round(this.getBytesLoaded());  
bytes\_total = Math.round(this.getBytesTotal());  
getPercent = bytes\_loaded/bytes\_total;  
this.filler1.\_rotation = getPercent_100_3.6;  
trace ( getPercent_100_3.6 );  
if (bytes\_loaded == bytes\_total) {  
this.gotoAndPlay(3);  
}  
#include “drawWedge.as”  
//  
d\_mc = \_root.createEmptyMovieClip(“drawing\_layer”, 2);  
//  
radius = 92;  
arcVal = getPercent_100_3.6;  
function pie() {  
d\_mc.clear();  
d\_mc.lineStyle(2, 0x6688AA);  
d\_mc.beginFill(0xAABBCC, 50);  
d\_mc.drawWedge(filler1.\_x, filler1.\_y, 90, arcVal-arcVal-arcVal, radius);  
d\_mc.endFill();  
}  
trace (radius);  
showDisplay = this.firstChild.attributes.showDisplay;  
if (showDisplay == “yes”)  
{  
top.easeY(toppos);  
topup = false;  
display\_btn.\_rotation = display\_btn.\_rotation + 180;  
} // end if  
showPlaylist = this.firstChild.attributes.showPlaylist;  
if (showPlaylist == “yes”)  
{  
bot.easeY(botpos);  
botup = false;  
list\_btn.\_rotation = list\_btn.\_rotation + 180;  
} // end if  
aPath = new Array();  
songTitel = new Array();  
audioTracks = new Array();  
audioTracks.shuffle();  
audioTracks = this.firstChild.childNodes;  
song\_total = audioTracks.length;  
var \_l2 = 0;  
while (\_l2 \< song\_total)  
{  
aPath.push(audioTracks[\_l2].attributes.path);  
songTitel.push(audioTracks[\_l2].attributes.title);  
bot.playlist.btn.duplicateMovieClip(“btn” + \_l2, \_l2);  
bot.playlist[“btn” + \_l2].\_y = bot.playlist.btn.\_y + \_l2 \* int(bot.playlist.btn.\_height) + \_l2;  
bot.playlist[“btn” + \_l2].txt = checkDigits(\_l2 + 1) + ". " + songTitel[\_l2];  
bot.playlist[“btn” + \_l2].hit.onPress = function ()  
{  
listClick(this.\_parent.getDepth() + 1);  
};  
++\_l2;  
} // end while  
autoStart = this.firstChild.attributes.autoStart;  
if (autoStart == “yes”)  
{  
playSong();  
pie();  
play\_btn.\_visible = 0;  
}  
else if (autoStart == “no”)  
{  
play\_btn.\_visible = 1;  
pause\_btn.\_visible = 0;  
}  
else if (autoStart == “random”)  
{  
current\_song = random(song\_total) + 1;  
playSong();  
play\_btn.\_visible = 0;  
}  
else  
{  
current\_song = int(this.firstChild.attributes.autoStart);  
playSong();  
play\_btn.\_visible = 0;  
} // end if  
} // end if  
delete audioTracks;  
delete data\_xml;  
} // End of the function  
function listClick(prm)  
{  
delete pausepos;  
current\_song = prm;  
MySound.stop();  
playSong();  
} // End of the function  
function playSong()  
{  
AudioPath = aPath[current\_song - 1];  
if (pausePos \> 0)  
{  
top.equalizer.\_visible = 1;  
MySound.start(pausePos, 0);  
pausePos = 0;  
}  
else  
{  
MySound = new Sound();  
MySound.setVolume(volume);  
MySound.loadSound(AudioPath, true);  
MySound.onSoundComplete = function ()  
{  
top.equalizer.\_visible = 0;  
if (autoStart == “random”)  
{  
current\_song = random(song\_total) + 1;  
}  
else  
{  
current\_song == song\_total ? (current\_song = 1, current\_song = 1) : (current\_song++);  
} // end if  
playSong();  
};  
top.track\_load.onEnterFrame = function ()  
{  
total = this.\_parent.\_parent.MySound.getBytesTotal();  
geladen = this.\_parent.\_parent.MySound.getBytesLoaded();  
if (geladen != total)  
{

getPercent = geladen / total;  
this.\_parent.filler1.\_rotation = getPercent_100_3.6;  
this.\_parent.load\_display = Math.round(geladen \* 100 / total) + “% Loaded”;  
this.\_xscale = Math.round(geladen \* 100 / total);  
percent = int ( ( total / geladen ) \* 100 );  
if (percent \< 0) {  
percent = 0;  
}  
tellTarget (“\_root.loader”) {  
gotoAndStop(int (\_root.percent /2));  
}  
}  
else  
{  
this.\_xscale = 100;  
top.equalizer.\_visible = 1;  
delete this.onEnterFrame;  
delete this.\_parent.load\_display;  
} // end if  
};  
} // end if  
play\_btn.\_visible = 0;  
pause\_btn.\_visible = 1;  
} // End of the function

function checkDigits(toCheck)  
{  
var \_l1 = “0” + toCheck;  
return (toCheck \< 10 ? (“0” + toCheck) : (toCheck));  
} // End of the function  
function scrollTitle()  
{  
top.title.txt.autoSize = true;  
if (songTitel[current\_song - 1].length \> 20)  
{  
top.title.txt.text = songTitel[current\_song - 1] + " " + songTitel[current\_song - 1];  
top.title.\_x + top.title.\_width / 2 + 4 \< top.title\_mask.\_x ? (top.title.\_x = top.title\_mask.\_x, top.title.\_x = top.title\_mask.\_x) : (top.title.\_x–);  
}  
else  
{  
top.title.txt.text = songTitel[current\_song - 1];  
top.title.\_x = top.title\_mask.\_x - 3;  
} // end if  
} // End of the function  
\_root.playlist == undefined ? (playlist = “upload/mp3player.xml”, playlist = “upload/mp3player.xml”) : (playlist = \_root.playlist);  
volume = 90;  
current\_song = 1;  
top.equalizer.\_visible = 0;  
data\_xml = new XML();  
data\_xml.ignoreWhite = true;  
data\_xml.onLoad = loadData;  
data\_xml.load(playlist);  
bot.list\_bg.onEnterFrame = function ()  
{  
if (hitTest(\_root.\_xmouse, \_root.\_ymouse, true) && this.\_parent.playlist.\_height \> this.\_height)  
{  
ymin = this.\_y + this.\_height - this.\_parent.playlist.\_height;  
ymax = this.\_y + 3;  
conv = (this.\_ymouse - 15) \* 1.300000 / this.\_height;  
conv \> 1 ? (conv = 1, conv = 1) : (null);  
conv \< 0 ? (conv = 0, conv = 0) : (null);  
this.\_parent.playlist.easeY(ymax - conv \* (ymax - ymin));  
} // end if  
};  
bot.playlist.setMask(bot.list\_bg);  
play\_btn.onRelease = function ()  
{  
playSong();  
};  
pause\_btn.onRelease = function ()  
{  
this.\_visible = 0;  
play\_btn.\_visible = 1;  
pausePos = MySound.position / 1000;  
MySound.stop();  
top.equalizer.\_visible = 0;  
};  
next\_btn.onRelease = function ()  
{  
delete pausepos;  
current\_song == song\_total ? (current\_song = 1, current\_song = 1) : (current\_song++);  
MySound.stop();  
playSong();  
};  
prev\_btn.onRelease = function ()  
{  
delete pausepos;  
current\_song == 1 ? (current\_song = song\_total, current\_song = song\_total) : (current\_song–);  
MySound.stop();  
playSong();  
};  
top.setMask(top\_mask);  
toppos = top.\_y;  
top.\_y = int(toppos + top\_mask.\_height - 29);  
topup = true;  
display\_btn.onPress = function ()  
{  
if (topup == true)  
{  
top.easeY(toppos);  
topup = false;  
}  
else  
{  
top.easeY(int(toppos + top\_mask.\_height - 27));  
topup = true;  
} // end if  
this.\_rotation = this.\_rotation + 180;  
};  
bot.setMask(bot\_mask);  
botpos = bot.\_y;  
bot.\_y = botpos - bot.list\_bg.\_height - 6;  
botup = true;  
list\_btn.onPress = function ()  
{  
if (botup == true)  
{  
bot.easeY(botpos);  
botup = false;  
}  
else  
{  
bot.easeY(botpos - bot.list\_bg.\_height - 6);  
botup = true;  
} // end if  
this.\_rotation = this.\_rotation + 180;  
};  
drag\_btn.onPress = function ()  
{  
startDrag (this.\_parent, false);  
};  
drag\_btn.onRelease = drag\_btn.onReleaseOutside = function ()  
{  
stopDrag ();  
};  
this.onEnterFrame = function ()  
{  
dur = int(MySound.duration / 1000);  
pos = int(MySound.position / 1000);  
playTime = {};  
playTime.minutes = int(pos / 60);  
playTime.seconds = int(pos % 60);  
playTime.total = checkDigits(playTime.minutes) + “:” + checkDigits(playTime.seconds);  
trackTime = {};  
trackTime.minutes = int(dur / 60);  
trackTime.seconds = int(dur % 60);  
trackTime.total = checkDigits(trackTime.minutes) + “:” + checkDigits(trackTime.seconds);  
if (top.load\_display == undefined)  
{  
top.display = playTime.total + " / " + trackTime.total;  
}  
else  
{  
top.display = top.load\_display;  
} // end if  
if (top.trackDrag != true)  
{  
prozent = pos \* 100 / dur;  
top.track\_play.\_xscale = prozent;  
} // end if  
};  
top.track\_back.onPress = function ()  
{  
this.\_parent.trackDrag = true;  
this.\_parent.track\_play.onEnterFrame = function ()  
{  
perc = (this.\_parent.\_xmouse - this.\_parent.track\_back.\_x) / this.\_parent.track\_back.\_width;  
max = this.\_parent.track\_load.\_width / this.\_parent.track\_back.\_width;  
perc \> max ? (perc = max, perc = max) : (null);  
perc \< 0.010000 ? (perc = 0.010000, perc = 0.010000) : (null);  
this.\_width = this.\_parent.track\_back.\_width \* perc;  
this.\_parent.\_parent.pausePos = perc \* this.\_parent.\_parent.MySound.duration / 1000;  
};  
};  
top.track\_back.onRelease = top.track\_back.onReleaseOutside = function ()  
{  
delete this.\_parent.track\_play.onEnterFrame;  
this.\_parent.trackDrag = false;  
MySound.stop();  
playSong();  
};  
vol\_back.onPress = function ()  
{  
vol\_front.onEnterFrame = function ()  
{  
perc = (\_xmouse - vol\_back.\_x) / vol\_back.\_width;  
perc \> 0.950000 ? (perc = 1, perc = 1) : (null);  
perc \< 0.050000 ? (perc = 0, perc = 0) : (null);  
this.\_width = vol\_back.\_width \* perc;  
volume = Math.round(perc \* 100);  
MySound.setVolume(volume);  
top.equalizer.\_yscale = volume;  
};  
};  
vol\_back.onRelease = vol\_back.onReleaseOutside = function ()  
{  
delete vol\_front.onEnterFrame;  
};  
vol\_front.setMask(vol\_mask);  
top.equalizer.setMask(top.eq\_mask);  
top.equalizer.onEnterFrame = function ()  
{  
++i;  
this.createEmptyMovieClip(“graph” + i, i);  
with (this[“graph” + i])  
{  
\_x = 0;  
\_y = 0;  
beginFill(6710886, 50);  
moveTo(0, 0);  
for (j = 0; j \< 36; j++)  
{  
z = random(12) + 8;  
lineTo(j \* 6, -1);  
lineTo(j \* 6, -z);  
lineTo(j \* 6 + 4, -z);  
lineTo(j \* 6 + 4, -1);  
lineTo(j \* 6, -1);  
} // end of for  
lineTo(j \* 6, 0);  
lineTo(0, 0);  
endFill();  
} // End of with  
i \>= 3 ? (i = 0, i = 0) : (null);  
};  
top.title.setMask(top.title\_mask);  
setInterval(scrollTitle, 40);  
MovieClip.prototype.easeY = function (t)  
{  
this.onEnterFrame = function ()  
{  
this.\_y = int(t - (t - this.\_y) / 1.500000);  
if (this.\_y \> t - 1 && this.\_y \< t + 1)  
{  
delete this.onEnterFrame;  
} // end if  
};  
};
