Frame 1
var mpl = (new com.jeroenwijering.players.MediaPlayer(this.player));
Symbol 37 MovieClip Frame 1
icn._accProps = new Object();
icn._accProps.silent = true;
bar._accProps = new Object();
bar._accProps.silent = true;
bck._accProps = new Object();
bck._accProps.silent = true;
Symbol 66 MovieClip Frame 1
playpause._accProps = new Object();
playpause._accProps.name = "Pause";
playpause._accProps.shortcut = "p";
stop._accProps = new Object();
stop._accProps.name = "Previous";
stop._accProps.shortcut = "r";
prev._accProps = new Object();
prev._accProps.name = "Previous";
prev._accProps.shortcut = "r";
next._accProps = new Object();
next._accProps.name = "Next";
next._accProps.shortcut = "n";
scrub._accProps = new Object();
scrub._accProps.silent = true;
fs._accProps = new Object();
fs._accProps.name = "Full Screen";
fs._accProps.shortcut = "f";
dl._accProps = new Object();
dl._accProps.name = "Download";
dl._accProps.shortcut = "d";
au._accProps = new Object();
au._accProps.name = "Audio Description";
au._accProps.shortcut = "a";
cc._accProps = new Object();
cc._accProps.name = "Captions";
cc._accProps.shortcut = "c";
vol._accProps = new Object();
vol._accProps.name = "Mute";
vol._accProps.shortcut = "m";
playpause.tabIndex = 2;
prev.tabIndex = 3;
stop.tabIndex = 3;
next.tabIndex = 4;
fs.tabIndex = 5;
vol.tabIndex = 9;
cc.tabIndex = 7;
au.tabIndex = 8;
dl.tabIndex = 6;
Symbol 96 MovieClip Frame 1
video._accProps = new Object();
video._accProps.silent = true;
back._accProps = new Object();
back._accProps.name = "Link";
back._accProps.shortcut = "l";
back.tabIndex = 1;
Symbol 104 MovieClip [__Packages.com.jeroenwijering.feeds.FeedListener] Frame 0
interface com.jeroenwijering.feeds.FeedListener
{
}
Symbol 105 MovieClip [__Packages.com.jeroenwijering.players.AbstractPlayer] Frame 0
class com.jeroenwijering.players.AbstractPlayer implements com.jeroenwijering.feeds.FeedListener
{
var config, manager, feeder, controller;
function AbstractPlayer (tgt) {
var ref = this;
config.clip = tgt;
manager = new com.jeroenwijering.utils.ConfigManager(true);
manager.onComplete = function () {
ref.fillConfig();
};
manager.loadConfig(config);
}
function fillConfig() {
((config.largecontrols == "true") ? ((config.controlbar = config.controlbar * 2)) : null);
if (config.displayheight == undefined) {
config.displayheight = config.height - config.controlbar;
} else if (Number(config.displayheight) > Number(config.height)) {
config.displayheight = config.height;
}
if (config.displaywidth == undefined) {
config.displaywidth = config.width;
}
((config.bwstreams == undefined) ? (loadFile()) : (checkStream()));
}
function checkStream() {
}
function loadFile(str) {
feeder = new com.jeroenwijering.feeds.FeedManager(true, config.enablejs, config.prefix, str);
feeder.addListener(this);
feeder.loadFile({file:config.file});
}
function onFeedUpdate() {
if (controller == undefined) {
config.clip._visible = true;
config.clip._parent.activity._visible = false;
setupMCV();
}
}
function setupMCV() {
controller = new com.jeroenwijering.players.AbstractController(config, feeder);
var _local5 = new com.jeroenwijering.players.AbstractView(controller, config, feeder);
var _local2 = new Array(_local5);
var _local3 = new com.jeroenwijering.players.AbstractModel(_local2, controller, config, feeder);
var _local4 = new Array(_local3);
controller.startMCV(_local4);
}
}
Symbol 106 MovieClip [__Packages.com.jeroenwijering.feeds.FeedManager] Frame 0
class com.jeroenwijering.feeds.FeedManager
{
var enclosures, stream, listeners, feed, feedXML;
function FeedManager (enc, jvs, pre, str) {
((enc == true) ? ((enclosures = true)) : ((enclosures = false)));
((jvs == "true") ? (enableJavascript()) : null);
((pre == undefined) ? null : ((prefix = pre)));
((str == undefined) ? null : ((stream = "_" + str)));
listeners = new Array();
}
function enableJavascript() {
if (flash.external.ExternalInterface.available) {
flash.external.ExternalInterface.addCallback("loadFile", this, loadFile);
flash.external.ExternalInterface.addCallback("addItem", this, addItem);
flash.external.ExternalInterface.addCallback("removeItem", this, removeItem);
flash.external.ExternalInterface.addCallback("itemData", this, itemData);
flash.external.ExternalInterface.addCallback("getLength", this, getLength);
}
}
function loadFile(obj) {
feed = new Array();
for (var _local7 in elements) {
if ((obj[_local7] != undefined) && (obj[_local7].indexOf("asfunction") == -1)) {
_root[_local7] = obj[_local7];
}
}
var _local5 = "xml";
var _local3 = filetypes.length;
while (_local3-- , _local3 >= 0) {
if (obj.file.substr(0, 4).toLowerCase() == "rtmp") {
_local5 = "rtmp";
} else if ((_root.type == filetypes[_local3]) || (obj.file.substr(-3).toLowerCase() == filetypes[_local3])) {
_local5 = filetypes[_local3];
}
}
if ((_local5 == "xml") && (obj.file.indexOf("asfunction") == -1)) {
loadXML(unescape(obj.file));
} else {
feed[0] = new Object();
feed[0].type = _local5;
for (var _local6 in elements) {
if (_root[_local6] != undefined) {
feed[0][_local6] = unescape(_root[_local6]);
}
}
playersPostProcess();
}
}
function loadXML(url) {
var ref = this;
feedXML = new XML();
feedXML.ignoreWhite = true;
feedXML.onLoad = function (scs) {
if (scs) {
var _local3 = this.firstChild.nodeName.toLowerCase();
if (_local3 == "rss") {
ref.parser = new com.jeroenwijering.feeds.RSSParser(ref.prefix);
ref.feed = ref.parser.parse(this);
} else if (_local3 == "feed") {
ref.parser = new com.jeroenwijering.feeds.ATOMParser(ref.prefix);
ref.feed = ref.parser.parse(this);
} else if (_local3 == "playlist") {
ref.parser = new com.jeroenwijering.feeds.XSPFParser(ref.prefix);
ref.feed = ref.parser.parse(this);
} else if (_local3 == "asx") {
ref.parser = new com.jeroenwijering.feeds.ASXParser(ref.prefix);
ref.feed = ref.parser.parse(this);
}
if (_root.audio != undefined) {
ref.feed[0].audio = unescape(_root.audio);
}
ref.playersPostProcess(url);
}
};
if (_root._url.indexOf("file://") > -1) {
feedXML.load(url);
} else if (url.indexOf("?") > -1) {
feedXML.load((url + "&") + random(999));
} else {
feedXML.load((url + "?") + random(999));
}
}
function playersPostProcess(url) {
((url == undefined) ? null : (filterOverlays()));
onlymp3s = true;
((feed.length > 1) ? ((ischapters = true)) : ((ischapters = false)));
captions = false;
audio = false;
var _local2 = 0;
while (_local2 < feed.length) {
if (((enclosures == true) && (feed[_local2].type == undefined)) && (url != undefined)) {
feed[_local2].type = "mp3";
feed[_local2].file = (((talkrURL + "?feed_url=") + url) + "&permalink=") + feed[_local2].link;
} else if (stream == undefined) {
feed[_local2].file = prefix + feed[_local2].file;
} else if (feed[_local2].type == "rtmp") {
feed[_local2].id = feed[_local2].id + stream;
feed[_local2].file = prefix + feed[_local2].file;
} else if (feed[_local2].type == "flv") {
feed[_local2].file = ((prefix + feed[_local2].file.substr(0, feed[_local2].file.length - 4)) + stream) + feed[_local2].file.substr(-4);
}
if (feed[_local2].type != "mp3") {
onlymp3s = false;
}
if (feed[_local2].start == undefined) {
feed[_local2].start = 0;
}
if (feed[_local2].file != feed[0].file) {
ischapters = false;
}
if (feed[_local2].captions != undefined) {
captions = true;
}
if (feed[_local2].audio != undefined) {
audio = true;
}
if ((feed[_local2].duration == undefined) || (isNaN(feed[_local2].duration))) {
feed[_local2].duration = 0;
}
_local2++;
}
updateListeners();
}
function filterOverlays() {
var _local2 = 0;
while (_local2 < feed.length) {
if (feed[_local2].category == "overlay") {
feed[_local2 + 1].overlayfile = feed[_local2].file;
feed[_local2 + 1].overlaylink = feed[_local2].link;
feed.splice(_local2, 1);
overlays = true;
}
_local2++;
}
}
function addItem(obj, idx) {
if (obj.title == undefined) {
obj.title = obj.file;
}
if (obj.type == undefined) {
obj.type = obj.file.substr(-3);
}
if ((arguments.length == 1) || (idx >= feed.length)) {
feed.push(obj);
} else {
var _local4 = feed.slice(0, idx);
var _local6 = feed.slice(idx);
_local4.push(obj);
feed = _local4.concat(_local6);
}
updateListeners();
}
function removeItem(idx) {
if (feed.length == 1) {
return(undefined);
}
if ((arguments.length == 0) || (idx >= feed.length)) {
feed.pop();
} else {
feed.splice(idx, 1);
}
updateListeners();
}
function itemData(idx) {
return(feed[idx]);
}
function addListener(lst) {
listeners.push(lst);
}
function removeListener(lst) {
var _local2 = listeners.length;
while (_local2-- , _local2 >= 0) {
if (listeners[_local2] == lst) {
listeners.splice(_local2, 1);
return(undefined);
}
}
}
function getLength() {
return(feed.lenght);
}
function updateListeners() {
var _local2 = listeners.length;
while (_local2-- , _local2 >= 0) {
listeners[_local2].onFeedUpdate();
}
}
var captions = false;
var audio = false;
var onlymp3s = false;
var ischapters = true;
var overlays = false;
var prefix = "";
var talkrURL = "http://www.talkr.com/app/get_mp3.app";
var filetypes = Array("flv", "mp3", "rbs", "jpg", "gif", "png", "rtmp", "swf", "mp4", "m4v", "m4a", "mov", "3gp", "3g2");
var elements = {file:"", title:"", link:"", id:"", image:"", author:"", captions:"", audio:"", category:"", start:"", type:"", duration:""};
}
Symbol 107 MovieClip [__Packages.com.jeroenwijering.feeds.AbstractParser] Frame 0
class com.jeroenwijering.feeds.AbstractParser
{
var elements, mimetypes;
function AbstractParser (pre) {
setElements();
setMimes();
}
function setElements() {
elements = new Object();
}
function setMimes() {
mimetypes = new Object();
mimetypes.mp3 = "mp3";
mimetypes["audio/mpeg"] = "mp3";
mimetypes.flv = "flv";
mimetypes["video/x-flv"] = "flv";
mimetypes.jpeg = "jpg";
mimetypes.jpg = "jpg";
mimetypes["image/jpeg"] = "jpg";
mimetypes.png = "png";
mimetypes["image/png"] = "png";
mimetypes.gif = "gif";
mimetypes["image/gif"] = "gif";
mimetypes.rtmp = "rtmp";
mimetypes.swf = "swf";
mimetypes["application/x-shockwave-flash"] = "swf";
mimetypes.rtmp = "rtmp";
mimetypes["application/x-fcs"] = "rtmp";
}
function parse(xml) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < xml.firstChild.childNodes.length) {
_local3.push(xml.firstChild.childNodes[_local1].nodeName);
_local1++;
}
return(_local3);
}
function rfc2Date(dat) {
if (isNaN(dat)) {
var _local2 = dat.split(" ");
((_local2[1] == "") ? (_local2.splice(1, 1)) : null);
var _local9 = MONTH_INDEXES[_local2[2]];
var _local7 = _local2[1].substring(0, 2);
var _local10 = _local2[3];
var _local4 = _local2[5];
var _local5 = _local2[4].split(":");
var _local6 = new Date(_local10, _local9, _local7, _local5[0], _local5[1], _local5[2]);
var _local3 = Math.round(_local6.valueOf() / 1000) - (_local6.getTimezoneOffset() * 60);
if (isNaN(_local4)) {
_local3 = _local3 - (3600 * timezones[_local4]);
} else {
_local3 = _local3 - ((3600 * Number(_local4.substring(0, 3))) - (60 * Number(_local4.substring(3, 2))));
}
dat = new Date(_local3 * 1000);
return(_local3);
}
return(dat);
}
function iso2Date(dat) {
if (isNaN(dat)) {
while (dat.indexOf(" ") > -1) {
var _local1 = dat.indexOf(" ");
dat = dat.substr(0, _local1) + dat.substr(_local1 + 1);
}
var _local3 = new Date(dat.substr(0, 4), dat.substr(5, 2) - 1, dat.substr(8, 2), dat.substr(11, 2), dat.substr(14, 2), dat.substr(17, 2));
var _local2 = Math.round(_local3.valueOf() / 1000) - (_local3.getTimezoneOffset() * 60);
if (dat.length > 20) {
var _local4 = Number(dat.substr(20, 2));
var _local5 = Number(dat.substr(23, 2));
if (dat.charAt(19) == "-") {
_local2 = (_local2 - (_local4 * 3600)) - (_local5 * 60);
} else {
_local2 = _local2 + ((_local4 * 3600) + (_local5 * 60));
}
dat = new Date(_local2 * 1000);
}
return(_local2);
}
return(dat);
}
var timezones = {IDLW:-12, NT:-11, AHST:-10, CAT:-10, HST:-10, YST:-9, PST:-8, MST:-7, PDT:-7, CST:-6, EST:-5, CDT:-5, EDT:-4, ADT:-3, WBT:-4, AST:-4, NT:-3.5, EBT:-3, AT:-2, WAT:-1, UTC:0, UT:0, GMT:0, WET:0, CET:1, CEST:1, EET:2, EEDT:3, MSK:3, IRT:3.5, SAMT:4, YEKT:5, TMT:5, TJT:5, OMST:6, NOVT:6, LKT:6, MMT:6.5, KRAT:7, ICT:7, WIT:7, WAST:7, IRKT:8, ULAT:8, CST:8, CIT:8, BNT:8, YAKT:9, JST:9, KST:9, EIT:9, ACST:9.5, VLAT:10, ACDT:10.5, SAKT:10, GST:10, MAGT:11, IDLE:12, PETT:12, NZST:12};
var MONTH_INDEXES = {January:0, February:1, March:2, April:3, May:4, June:5, July:6, August:7, September:8, October:9, November:10, December:11, Jan:0, Feb:1, Mar:2, Apr:3, May:4, Jun:5, Jul:6, Aug:7, Sep:8, Oct:9, Nov:10, Dec:11};
}
Symbol 108 MovieClip [__Packages.com.jeroenwijering.feeds.RSSParser] Frame 0
class com.jeroenwijering.feeds.RSSParser extends com.jeroenwijering.feeds.AbstractParser
{
var elements, rfc2Date, iso2Date, mimetypes;
function RSSParser () {
super();
}
function setElements() {
elements = new Object();
elements.title = "title";
elements.guid = "id";
elements.author = "author";
elements.category = "category";
elements.link = "link";
elements["geo:lat"] = "latitude";
elements["geo:long"] = "longitude";
elements["geo:city"] = "city";
}
function parse(xml) {
var _local12 = new Array();
var _local6 = xml.firstChild.firstChild.firstChild;
while (_local6 != null) {
if (_local6.nodeName.toLowerCase() == "item") {
var _local2 = new Object();
var _local10 = 0;
while (_local10 < _local6.childNodes.length) {
var _local3 = _local6.childNodes[_local10];
var _local4 = _local3.nodeName.toLowerCase();
if (elements[_local4] != undefined) {
_local2[elements[_local4]] = _local3.firstChild.nodeValue;
} else if (_local4 == "description") {
_local2.description = com.jeroenwijering.utils.StringMagic.stripTagsBreaks(_local3.firstChild.nodeValue);
} else if (_local4 == "pubdate") {
_local2.date = rfc2Date(_local3.firstChild.nodeValue);
} else if (_local4 == "dc:date") {
_local2.date = iso2Date(_local3.firstChild.nodeValue);
} else if (_local4 == "media:thumbnail") {
_local2.image = _local3.attributes.url;
} else if (_local4 == "itunes:image") {
_local2.image = _local3.attributes.href;
} else if (_local4 == "georss:point") {
var _local11 = _local3.firstChild.nodeValue.split(" ");
_local2.latitude = Number(_local11[0]);
_local2.longitude = Number(_local11[1]);
} else if ((_local4 == "enclosure") || (_local4 == "media:content")) {
var _local7 = _local3.attributes.type.toLowerCase();
if ((mimetypes[_local7] != undefined) && (_local2.type != "flv")) {
_local2.type = mimetypes[_local7];
_local2.file = _local3.attributes.url;
_local2.duration = com.jeroenwijering.utils.StringMagic.toSeconds(_local3.attributes.duration);
if (_local2.file.substr(0, 4) == "rtmp") {
_local2.type = "rtmp";
}
if (_local3.childNodes[0].nodeName == "media:thumbnail") {
_local2.image = _local3.childNodes[0].attributes.url;
}
} else if (_local7 == "captions") {
_local2.captions = _local3.attributes.url;
} else if (_local7 == "audio") {
_local2.audio = _local3.attributes.url;
}
} else if (_local4 == "media:group") {
var _local5 = 0;
while (_local5 < _local3.childNodes.length) {
var _local8 = _local3.childNodes[_local5].nodeName.toLowerCase();
if (_local8 == "media:content") {
var _local9 = _local3.childNodes[_local5].attributes.type.toLowerCase();
if ((mimetypes[_local9] != undefined) && (_local2.type != "flv")) {
_local2.file = _local3.childNodes[_local5].attributes.url;
_local2.duration = com.jeroenwijering.utils.StringMagic.toSeconds(_local3.attributes.duration);
_local2.type = mimetypes[_local9];
if (_local2.file.substr(0, 4) == "rtmp") {
_local2.type = "rtmp";
}
}
}
if (_local8 == "media:thumbnail") {
_local2.image = _local3.childNodes[_local5].attributes.url;
}
_local5++;
}
}
_local10++;
}
if ((_local2.latitude == undefined) && (lat != undefined)) {
_local2.latitude = lat;
_local2.longitude = lng;
}
if (_local2.image == undefined) {
if (((_local2.file.indexOf(".jpg") > 0) || (_local2.file.indexOf(".png") > 0)) || (_local2.file.indexOf(".gif") > 0)) {
_local2.image = _local2.file;
} else if (img != undefined) {
_local2.image = img;
}
}
if (_local2.author == undefined) {
_local2.author = ttl;
}
_local12.push(_local2);
} else if (_local6.nodeName == "title") {
var ttl = _local6.firstChild.nodeValue;
} else if (_local6.nodeName == "geo:lat") {
var lat = _local6.firstChild.nodeValue;
} else if (_local6.nodeName == "geo:long") {
var lng = _local6.firstChild.nodeValue;
} else if (_local6.nodeName == "itunes:image") {
var img = _local6.attributes.href;
}
_local6 = _local6.nextSibling;
}
return(_local12);
}
}
Symbol 109 MovieClip [__Packages.com.jeroenwijering.utils.StringMagic] Frame 0
class com.jeroenwijering.utils.StringMagic
{
function StringMagic () {
}
static function stripTagsBreaks(str) {
if ((str.length == 0) || (str == undefined)) {
return("");
}
var _local4 = str.split(newline);
str = _local4.join("");
_local4 = str.split("\r");
str = _local4.join("");
var _local2 = str.indexOf("<");
while (_local2 != -1) {
var _local3 = str.indexOf(">", _local2 + 1);
((_local3 == -1) ? (_local3 = str.length - 1) : null);
str = str.substr(0, _local2) + str.substr(_local3 + 1, str.length);
_local2 = str.indexOf("<", _local2);
}
return(str);
}
static function chopString(str, cap, nbr) {
var _local2 = cap;
while (_local2 < str.length) {
if (_local2 == (cap * nbr)) {
if (str.indexOf(" ", _local2 - 5) == -1) {
return(str);
}
return(str.substr(0, str.indexOf(" ", _local2 - 5)));
}
if (str.indexOf(" ", _local2) > 0) {
str = (str.substr(0, str.indexOf(" ", _local2 - 3)) + newline) + str.substr(str.indexOf(" ", _local2 - 3) + 1);
}
_local2 = _local2 + cap;
}
return(str);
}
static function addLeading(nbr) {
if (nbr < 10) {
return("0" + Math.floor(nbr));
}
return(Math.floor(nbr).toString());
}
static function toSeconds(str) {
var _local2 = str.split(":");
if (str.substr(-1) == "s") {
var _local3 = Number(str.substr(0, str.length - 2));
} else if (str.substr(-1) == "m") {
var _local3 = Number(str.substr(0, str.length - 2)) * 60;
} else if (str.substr(-1) == "h") {
var _local3 = Number(str.substr(0, str.length - 2)) * 3600;
} else if (_local2.length > 1) {
var _local3 = Number(_local2[_local2.length - 1]);
_local3 = _local3 + (Number(_local2[_local2.length - 2]) * 60);
_local3 = _local3 + (Number(_local2[_local2.length - 3]) * 3600);
} else {
var _local3 = Number(str);
}
if (isNaN(_local3)) {
return(0);
}
return(_local3);
}
}
Symbol 110 MovieClip [__Packages.com.jeroenwijering.feeds.ATOMParser] Frame 0
class com.jeroenwijering.feeds.ATOMParser extends com.jeroenwijering.feeds.AbstractParser
{
var elements, iso2Date, mimetypes;
function ATOMParser () {
super();
}
function setElements() {
elements = new Object();
elements.title = "title";
elements.id = "id";
}
function parse(xml) {
var _local9 = new Array();
var _local6 = xml.firstChild.firstChild;
while (_local6 != null) {
if (_local6.nodeName.toLowerCase() == "entry") {
var _local3 = new Object();
var _local7 = 0;
while (_local7 < _local6.childNodes.length) {
var _local2 = _local6.childNodes[_local7];
var _local4 = _local2.nodeName.toLowerCase();
if (elements[_local4] != undefined) {
_local3[elements[_local4]] = _local2.firstChild.nodeValue;
} else if ((_local4 == "link") && (_local2.attributes.rel == "alternate")) {
_local3.link = _local2.attributes.href;
} else if (_local4 == "summary") {
_local3.description = com.jeroenwijering.utils.StringMagic.stripTagsBreaks(_local2.firstChild.nodeValue);
} else if (_local4 == "published") {
_local3.date = iso2Date(_local2.firstChild.nodeValue);
} else if (_local4 == "updated") {
_local3.date = iso2Date(_local2.firstChild.nodeValue);
} else if (_local4 == "modified") {
_local3.date = iso2Date(_local2.firstChild.nodeValue);
} else if (_local4 == "category") {
_local3.category = _local2.attributes.term;
} else if (_local4 == "author") {
var _local5 = 0;
while (_local5 < _local2.childNodes.length) {
if (_local2.childNodes[_local5].nodeName == "name") {
_local3.author = _local2.childNodes[_local5].firstChild.nodeValue;
}
_local5++;
}
} else if ((_local4 == "link") && (_local2.attributes.rel == "enclosure")) {
var _local8 = _local2.attributes.type.toLowerCase();
if ((mimetypes[_local8] != undefined) && (_local3.type != "flv")) {
_local3.file = _local2.attributes.href;
_local3.type = mimetypes[_local8];
if (_local3.file.substr(0, 4) == "rtmp") {
_local3.type = "rtmp";
}
}
} else if ((_local4 == "link") && (_local2.attributes.rel == "captions")) {
_local3.captions = _local2.attributes.href;
} else if ((_local4 == "link") && (_local2.attributes.rel == "audio")) {
_local3.audio = _local2.attributes.href;
} else if ((_local4 == "link") && (_local2.attributes.rel == "image")) {
_local3.image = _local2.attributes.href;
}
_local7++;
}
((_local3.author == undefined) ? ((_local3.author = ttl)) : null);
_local9.push(_local3);
} else if (_local6.nodeName == "title") {
var ttl = _local6.firstChild.nodeValue;
}
_local6 = _local6.nextSibling;
}
return(_local9);
}
}
Symbol 111 MovieClip [__Packages.com.jeroenwijering.feeds.XSPFParser] Frame 0
class com.jeroenwijering.feeds.XSPFParser extends com.jeroenwijering.feeds.AbstractParser
{
var elements, mimetypes;
function XSPFParser () {
super();
}
function setElements() {
elements = new Object();
elements.title = "title";
elements.creator = "author";
elements.info = "link";
elements.image = "image";
elements.identifier = "id";
elements.album = "category";
}
function parse(xml) {
var _local9 = new Array();
var _local7 = xml.firstChild.firstChild;
while (_local7 != null) {
if (_local7.nodeName == "trackList") {
var _local6 = 0;
while (_local6 < _local7.childNodes.length) {
var _local2 = new Object();
var _local5 = 0;
while (_local5 < _local7.childNodes[_local6].childNodes.length) {
var _local3 = _local7.childNodes[_local6].childNodes[_local5];
var _local4 = _local3.nodeName.toLowerCase();
if (elements[_local4] != undefined) {
_local2[elements[_local4]] = _local3.firstChild.nodeValue;
} else if ((_local4 == "location") && (_local2.type != "flv")) {
_local2.file = _local3.firstChild.nodeValue;
var _local8 = _local2.file.substr(-3).toLowerCase();
if (_local2.file.substr(0, 4) == "rtmp") {
_local2.type = "rtmp";
} else if (mimetypes[_local8] != undefined) {
_local2.type = mimetypes[_local8];
}
} else if (_local4 == "annotation") {
_local2.description = com.jeroenwijering.utils.StringMagic.stripTagsBreaks(_local3.firstChild.nodeValue);
} else if ((_local4 == "link") && (_local3.attributes.rel == "captions")) {
_local2.captions = _local3.firstChild.nodeValue;
} else if ((_local4 == "link") && (_local3.attributes.rel == "audio")) {
_local2.audio = _local3.firstChild.nodeValue;
} else if (_local4 == "meta") {
_local2[_local3.attributes.rel] = _local3.firstChild.nodeValue;
}
_local5++;
}
_local9.push(_local2);
_local6++;
}
}
_local7 = _local7.nextSibling;
}
return(_local9);
}
}
Symbol 112 MovieClip [__Packages.com.jeroenwijering.feeds.ASXParser] Frame 0
class com.jeroenwijering.feeds.ASXParser extends com.jeroenwijering.feeds.AbstractParser
{
var elements, mimetypes;
function ASXParser () {
super();
}
function setElements() {
elements = new Object();
elements.title = "title";
elements.author = "author";
elements.abstract = "description";
}
function parse(xml) {
var _local8 = new Array();
var _local6 = xml.firstChild.firstChild;
while (_local6 != null) {
if (_local6.nodeName.toLowerCase() == "entry") {
var _local3 = new Object();
var _local5 = 0;
while (_local5 < _local6.childNodes.length) {
var _local2 = _local6.childNodes[_local5];
var _local4 = _local2.nodeName.toLowerCase();
if (elements[_local4] != undefined) {
_local3[elements[_local4]] = _local2.firstChild.nodeValue;
} else if (_local4 == "moreinfo") {
_local3.link = _local2.attributes.href;
} else if (_local4 == "duration") {
_local3.duration = com.jeroenwijering.utils.StringMagic.toSeconds(_local2.attributes.value);
} else if (_local4 == "ref") {
_local3.file = _local2.attributes.href;
var _local7 = _local2.attributes.href.substr(-3);
if (mimetypes[_local7] != undefined) {
_local3.type = mimetypes[_local7];
}
if (_local3.file.substr(0, 4) == "rtmp") {
_local3.type = "rtmp";
}
} else if (_local4 == "param") {
_local3[_local2.attributes.name] = _local2.attributes.value;
}
_local5++;
}
_local8.push(_local3);
}
_local6 = _local6.nextSibling;
}
return(_local8);
}
}
Symbol 113 MovieClip [__Packages.com.jeroenwijering.players.AbstractController] Frame 0
class com.jeroenwijering.players.AbstractController implements com.jeroenwijering.feeds.FeedListener
{
var config, feeder, randomizer, currentItem, currentURL, registeredModels;
function AbstractController (cfg, fed) {
config = cfg;
feeder = fed;
if (config.shuffle == "true") {
randomizer = new com.jeroenwijering.utils.Randomizer(feeder.feed);
currentItem = randomizer.pick();
} else {
currentItem = 0;
}
feeder.addListener(this);
}
function startMCV(mar) {
}
function getEvent(typ, prm) {
trace((("controller: " + typ) + ": ") + prm);
switch (typ) {
case "playpause" :
setPlaypause();
break;
case "prev" :
setPrev();
break;
case "next" :
setNext();
break;
case "stop" :
setStop();
break;
case "scrub" :
setScrub(prm);
break;
case "volume" :
setVolume(prm);
break;
case "playitem" :
setPlayitem(prm);
break;
case "getlink" :
setGetlink(prm);
break;
case "fullscreen" :
setFullscreen();
break;
case "complete" :
setComplete();
break;
case "captions" :
setCaptions();
break;
case "audio" :
setAudio();
break;
default :
trace("controller: incompatible event received");
}
}
function setPlaypause() {
}
function setPrev() {
}
function setNext() {
}
function setStop() {
}
function setScrub(prm) {
}
function setPlayitem(itm) {
currentURL = feeder.feed[itm].file;
}
function setGetlink(idx) {
}
function setComplete() {
}
function setVolume(prm) {
}
function setFullscreen() {
}
function setCaptions() {
}
function setAudio() {
}
function sendChange(typ, prm) {
var _local2 = 0;
while (_local2 < registeredModels.length) {
registeredModels[_local2].getChange(typ, prm);
_local2++;
}
}
function onFeedUpdate() {
var _local2 = 0;
while (_local2 < feeder.feed.length) {
if (feeder.feed[_local2].file == currentURL) {
currentItem = _local2;
sendChange("item", currentItem);
}
_local2++;
}
if (feeder.feed[currentItem].file != currentURL) {
setStop();
if (randomizer != undefined) {
randomizer = new com.jeroenwijering.utils.Randomizer(feeder.feed);
}
if (currentItem >= feeder.feed.length) {
if (config.shuffle == "false") {
currentItem = 0;
} else {
currentItem = randomizer.pick();
}
sendChange("item", currentItem);
}
if (config.autostart == "true") {
sendChange("start");
}
}
}
var itemsPlayed = 0;
}
Symbol 114 MovieClip [__Packages.com.jeroenwijering.utils.Randomizer] Frame 0
class com.jeroenwijering.utils.Randomizer
{
var originalArray, bufferArray;
function Randomizer (arr) {
originalArray = arr;
bufferArray = new Array();
}
function pick() {
if (bufferArray.length == 0) {
var _local2 = 0;
while (_local2 < originalArray.length) {
bufferArray.push(_local2);
_local2++;
}
}
var _local3 = random(bufferArray.length);
var _local4 = bufferArray[_local3];
bufferArray.splice(_local3, 1);
return(_local4);
}
}
Symbol 115 MovieClip [__Packages.com.jeroenwijering.utils.ConfigManager] Frame 0
class com.jeroenwijering.utils.ConfigManager
{
var staging, config, parser, cookie, context;
function ConfigManager (stg) {
staging = stg;
if (staging == true) {
Stage.scaleMode = "noScale";
Stage.align = "TL";
}
}
function loadConfig(def) {
config = def;
if (staging == true) {
config.width = Stage.width;
config.height = Stage.height;
config.clip._visible = false;
config.clip._parent.activity._x = Stage.width / 2;
config.clip._parent.activity._y = Stage.height / 2;
}
((_root.config == undefined) ? (loadCookies()) : (loadFile()));
}
function loadFile() {
var ref = this;
parser = new com.jeroenwijering.utils.XMLParser();
parser.onComplete = function (obj) {
var _local3 = new Object();
var _local1 = 0;
while (_local1 < obj.childs.length) {
_local3[obj.childs[_local1].name] = obj.childs[_local1].value;
_local1++;
}
ref.checkWrite(_local3);
ref.loadCookies();
};
parser.parse(_root.config);
}
function loadCookies() {
cookie = SharedObject.getLocal("com.jeroenwijering.players", "/");
checkWrite(cookie.data);
loadVars();
}
function loadVars() {
checkWrite(_root);
((staging == true) ? (setContext()) : null);
onComplete();
}
function checkWrite(dat) {
for (var _local3 in config) {
if (dat[_local3] != undefined) {
config[_local3] = unescape(dat[_local3]);
}
}
}
function setContext() {
function goTo() {
getURL (ref.config.aboutlnk, ref.ref.config.linktarget);
}
var ref = this;
context = new ContextMenu();
context.hideBuiltInItems();
context.customItems.push(new ContextMenuItem(("About " + config.abouttxt) + "...", goTo));
config.clip._parent.menu = context;
}
function onComplete() {
}
}
Symbol 116 MovieClip [__Packages.com.jeroenwijering.utils.XMLParser] Frame 0
class com.jeroenwijering.utils.XMLParser
{
var input, output;
function XMLParser () {
}
function parse(lnk) {
var ref = this;
input = new XML();
output = new Object();
input.ignoreWhite = true;
input.onHTTPStatus = function (stt) {
ref.status = stt;
};
input.onLoad = function (scs) {
if (scs) {
ref.processRoot();
} else {
ref.onError(ref.status);
}
};
if (_root._url.indexOf("file://") > -1) {
input.load(lnk);
} else if (lnk.indexOf("?") > -1) {
input.load((lnk + "&") + random(999));
} else {
input.load((lnk + "?") + random(999));
}
}
function processRoot() {
processNode(input.firstChild, output);
delete input;
onComplete(output);
}
function processNode(nod, obj) {
obj.name = nod.nodeName;
for (var _local7 in nod.attributes) {
obj[_local7] = nod.attributes[_local7];
}
if ((nod.childNodes.length < 2) && (nod.firstChild.nodeName == null)) {
obj.value = nod.firstChild.nodeValue;
} else {
obj.childs = new Array();
var _local2 = nod.firstChild;
var _local6 = 0;
while (_local2 != undefined) {
var _local3 = new Object();
processNode(_local2, _local3);
obj.childs.push(_local3);
_local2 = _local2.nextSibling;
_local6++;
}
}
}
function onComplete(obj) {
}
function onError(nbr) {
}
}
Symbol 117 MovieClip [__Packages.com.jeroenwijering.players.AbstractView] Frame 0
class com.jeroenwijering.players.AbstractView
{
var controller, config, feeder;
function AbstractView (ctr, cfg, fed) {
controller = ctr;
config = cfg;
feeder = fed;
}
function getUpdate(typ, pr1, pr2) {
trace((((("view: " + typ) + ": ") + pr1) + ",") + pr2);
switch (typ) {
case "state" :
setState(pr1);
break;
case "load" :
setLoad(pr1);
break;
case "time" :
setTime(pr1, pr2);
break;
case "item" :
setItem(pr1);
break;
case "size" :
setSize(pr1, pr2);
break;
case "volume" :
setVolume(pr1);
break;
case "datarate" :
setDatarate(pr1);
break;
default :
trace("View: incompatible update received");
}
}
function setState(pr1) {
}
function setLoad(pr1) {
}
function setTime(pr1, pr2) {
}
function setItem(pr1) {
}
function setSize(pr1, pr2) {
}
function setVolume(pr1) {
}
function setDatarate(pr1, pr2) {
}
function sendEvent(typ, prm) {
controller.getEvent(typ, prm);
}
}
Symbol 118 MovieClip [__Packages.com.jeroenwijering.players.AbstractModel] Frame 0
class com.jeroenwijering.players.AbstractModel
{
var registeredViews, controller, config, feeder, isActive, currentItem, mediatypes, currentPosition;
function AbstractModel (vws, ctr, cfg, fed) {
registeredViews = vws;
controller = ctr;
config = cfg;
feeder = fed;
}
function getChange(typ, prm) {
trace((("model: " + typ) + ": ") + prm);
switch (typ) {
case "item" :
setItem(prm);
break;
case "start" :
((isActive == true) ? (setStart(prm)) : null);
break;
case "pause" :
((isActive == true) ? (setPause(prm)) : null);
break;
case "stop" :
((isActive == true) ? (setStop()) : null);
break;
case "volume" :
setVolume(prm);
break;
default :
trace("Model: incompatible change received");
}
}
function setItem(idx) {
currentItem = idx;
var _local4 = false;
var _local2 = 0;
while (_local2 < mediatypes.length) {
if (feeder.feed[idx].type == mediatypes[_local2]) {
_local4 = true;
}
_local2++;
}
if (feeder.feed[idx].start > 0) {
currentPosition = feeder.feed[idx].start;
}
if (_local4 == true) {
isActive = true;
sendUpdate("item", idx);
} else {
isActive = false;
}
}
function setStart(prm) {
}
function setPause(prm) {
}
function setStop() {
}
function setVolume(vol) {
((isActive == true) ? (sendUpdate("volume", vol)) : null);
}
function sendUpdate(typ, prm, pr2) {
var _local2 = 0;
while (_local2 < registeredViews.length) {
registeredViews[_local2].getUpdate(typ, prm, pr2);
_local2++;
}
}
function sendCompleteEvent() {
controller.getEvent("complete");
}
}
Symbol 119 MovieClip [__Packages.com.jeroenwijering.players.MediaPlayer] Frame 0
class com.jeroenwijering.players.MediaPlayer extends com.jeroenwijering.players.AbstractPlayer
{
var controller, feeder;
function MediaPlayer (tgt) {
super(tgt);
}
function checkStream() {
var ref = this;
var str = config.bwstreams.split(",");
var _local3 = new com.jeroenwijering.utils.BandwidthCheck(config.bwfile);
_local3.onComplete = function (kbps) {
trace("bandwidth: " + kbps);
var _local3 = new ContextMenuItem(("Detected bandwidth: " + kbps) + " kbps");
_local3.separatorBefore = true;
ref.manager.context.customItems.push(_local3);
if ((ref.config.enablejs == "true") && (flash.external.ExternalInterface.available)) {
flash.external.ExternalInterface.call("getBandwidth", kbps);
}
var _local1 = 1;
while (_local1 < str.length) {
if (kbps < Number(str[_local1])) {
ref.loadFile(str[_local1 - 1]);
return(undefined);
}
_local1++;
}
ref.loadFile(str[str.length - 1]);
};
}
function setupMCV() {
controller = new com.jeroenwijering.players.PlayerController(config, feeder);
var _local7 = new com.jeroenwijering.players.DisplayView(controller, config, feeder);
var _local17 = new com.jeroenwijering.players.ControlbarView(controller, config, feeder);
var _local2 = new Array(_local7, _local17);
if ((config.displayheight < (config.height - config.controlbar)) || (config.displaywidth < config.width)) {
var _local9 = new com.jeroenwijering.players.PlaylistView(controller, config, feeder);
_local2.push(_local9);
} else {
config.clip.playlist._visible = (config.clip.playlistmask._visible = false);
}
if (config.usekeys == "true") {
var _local12 = new com.jeroenwijering.players.InputView(controller, config, feeder);
_local2.push(_local12);
}
if (config.showeq == "true") {
var _local8 = new com.jeroenwijering.players.EqualizerView(controller, config, feeder);
_local2.push(_local8);
} else {
config.clip.equalizer._visible = false;
}
if (feeder.captions == true) {
var _local3 = new com.jeroenwijering.players.CaptionsView(controller, config, feeder);
_local2.push(_local3);
} else {
config.clip.captions._visible = false;
}
if (config.recommendations != undefined) {
var _local10 = new com.jeroenwijering.players.RecommendationsView(controller, config, feeder);
_local2.push(_local10);
} else {
config.clip.recommendations._visible = false;
}
if (feeder.audio == true) {
var _local15 = new com.jeroenwijering.players.AudioView(controller, config, feeder, true);
_local2.push(_local15);
}
if (config.enablejs == "true") {
var _local11 = new com.jeroenwijering.players.JavascriptView(controller, config, feeder);
_local2.push(_local11);
}
if (config.callback != undefined) {
var _local5 = new com.jeroenwijering.players.CallbackView(controller, config, feeder);
_local2.push(_local5);
}
if (feeder.overlays == true) {
var _local6 = new com.jeroenwijering.players.OverlayView(controller, config, feeder);
_local2.push(_local6);
} else {
config.clip.overlay._visible = false;
}
var _local16 = new com.jeroenwijering.players.MP3Model(_local2, controller, config, feeder, config.clip);
var _local4 = new com.jeroenwijering.players.FLVModel(_local2, controller, config, feeder, config.clip.display.video);
var _local13 = new com.jeroenwijering.players.ImageModel(_local2, controller, config, feeder, config.clip.display.image);
var _local14 = new Array(_local16, _local4, _local13);
if (feeder.captions == true) {
_local4.capView = _local3;
}
controller.startMCV(_local14);
}
var config = {clip:undefined, file:"playlist.xml", height:undefined, width:undefined, controlbar:20, displayheight:undefined, frontcolor:0, backcolor:16777215, lightcolor:0, screencolor:0, autoscroll:"false", displaywidth:undefined, largecontrols:"false", logo:undefined, showdigits:"true", showdownload:"false", showeq:"false", showicons:"true", showstop:"false", showvolume:"true", thumbsinplaylist:"false", usefullscreen:"true", fsbuttonlink:undefined, autostart:"false", bufferlength:3, deblocking:4, overstretch:"false", repeat:"false", rotatetime:10, shuffle:"true", smoothing:"true", volume:80, bwfile:"100k.jpg", bwstreams:undefined, callback:undefined, enablejs:"false", javascriptid:"", linkfromdisplay:"false", linktarget:undefined, prefix:undefined, recommendations:undefined, streamscript:undefined, useaudio:"true", usecaptions:"true", usemute:"false", usekeys:"true", abouttxt:"JW Media Player 3.13", aboutlnk:"http://www.jeroenwijering.com/?item=JW_Media_Player"};
}
Symbol 120 MovieClip [__Packages.com.jeroenwijering.utils.BandwidthCheck] Frame 0
class com.jeroenwijering.utils.BandwidthCheck
{
var loader, clip, connector, startTime;
function BandwidthCheck (fil) {
var ref = this;
if (fil.indexOf("rtmp") == -1) {
loader = new MovieClipLoader();
loader.addListener(this);
clip = _root.createEmptyMovieClip("_bwchecker", 1);
loader.loadClip((fil + "?") + random(9999), clip);
} else {
connector = new NetConnection();
connector.onStatus = function (info) {
if (info.code != "NetConnection.Connect.Success") {
ref.onComplete(0);
}
};
connector.connect(fil, true);
connector.onBWDone = function (kbps, dtd, dtt, lat) {
ref.onComplete(kbps);
};
connector.onBWCheck = function () {
};
}
}
function onLoadComplete(tgt, hts) {
tgt._visible = false;
var _local4 = new Date();
var _local6 = clip.getBytesTotal();
var _local3 = (_local4.getTime() - startTime) / 1000;
var _local2 = (_local6 * 0.0078125) * 0.93;
var _local5 = Math.floor(_local2 / _local3);
onComplete(_local5);
clip.removeMovieClip();
}
function onLoadError(tgt, err, stt) {
onComplete(0);
}
function onLoadStart() {
var _local2 = new Date();
startTime = _local2.getTime();
}
function onComplete() {
}
}
Symbol 121 MovieClip [__Packages.com.jeroenwijering.players.PlayerController] Frame 0
class com.jeroenwijering.players.PlayerController extends com.jeroenwijering.players.AbstractController
{
var playerSO, registeredModels, sendChange, currentItem, config, feeder, isPlaying, currentURL, itemsPlayed, randomizer, muted;
function PlayerController (cfg, fed) {
super(cfg, fed);
playerSO = SharedObject.getLocal("com.jeroenwijering.players", "/");
}
function startMCV(mar) {
registeredModels = mar;
sendChange("item", currentItem);
if (config.autostart == "muted") {
sendChange("volume", 0);
} else {
sendChange("volume", config.volume);
}
if (config.usecaptions == "false") {
config.clip.captions._visible = false;
config.clip.controlbar.cc.icn._alpha = 40;
}
if (config.useaudio == "false") {
config.clip.audio.setStop();
config.clip.controlbar.au.icn._alpha = 40;
}
if (config.autostart == "false") {
sendChange("pause", feeder.feed[currentItem].start);
isPlaying = false;
} else {
sendChange("start", feeder.feed[currentItem].start);
isPlaying = true;
}
}
function setPlaypause() {
if (isPlaying == true) {
isPlaying = false;
sendChange("pause");
} else {
isPlaying = true;
sendChange("start");
}
}
function setPrev() {
if (currentItem == 0) {
var _local2 = feeder.feed.length - 1;
} else {
var _local2 = currentItem - 1;
}
setPlayitem(_local2);
}
function setNext() {
if (currentItem == (feeder.feed.length - 1)) {
var _local2 = 0;
} else {
var _local2 = currentItem + 1;
}
setPlayitem(_local2);
}
function setStop() {
sendChange("pause", 0);
sendChange("stop");
sendChange("item", currentItem);
isPlaying = false;
}
function setScrub(prm) {
if (isPlaying == true) {
sendChange("start", prm);
} else {
sendChange("pause", prm);
}
}
function setPlayitem(itm) {
if (itm != currentItem) {
((itm > (feeder.feed.length - 1)) ? (itm = feeder.feed.length - 1) : null);
if (feeder.feed[currentItem].file != feeder.feed[itm].file) {
sendChange("stop");
}
currentItem = itm;
sendChange("item", itm);
}
sendChange("start", feeder.feed[itm].start);
currentURL = feeder.feed[itm].file;
isPlaying = true;
}
function setGetlink(idx) {
if (feeder.feed[idx].link == undefined) {
setPlaypause();
} else {
getURL (feeder.feed[idx].link, config.linktarget);
}
}
function setComplete() {
itemsPlayed++;
if ((feeder.feed[currentItem].type == "rtmp") || (config.streamscript != undefined)) {
sendChange("stop");
}
if ((config.repeat == "false") || ((config.repeat == "list") && (itemsPlayed == feeder.feed.length))) {
sendChange("pause", 0);
isPlaying = false;
itemsPlayed = 0;
} else {
if (config.shuffle == "true") {
var _local2 = randomizer.pick();
} else if (currentItem == (feeder.feed.length - 1)) {
var _local2 = 0;
} else {
var _local2 = currentItem + 1;
}
setPlayitem(_local2);
}
}
function setFullscreen() {
if ((Stage.displayState == "normal") && (config.usefullscreen == "true")) {
Stage.displayState = "fullScreen";
} else if ((Stage.displayState == "fullScreen") && (config.usefullscreen == "true")) {
Stage.displayState = "normal";
} else if (config.fsbuttonlink != undefined) {
sendChange("stop");
getURL (config.fsbuttonlink, config.linktarget);
}
}
function setCaptions() {
if (config.usecaptions == "true") {
config.usecaptions = "false";
config.clip.captions._visible = false;
config.clip.controlbar.cc.icn._alpha = 40;
} else {
config.usecaptions = "true";
config.clip.captions._visible = true;
config.clip.controlbar.cc.icn._alpha = 100;
}
playerSO.data.usecaptions = config.usecaptions;
playerSO.flush();
}
function setAudio() {
if (config.useaudio == "true") {
config.useaudio = "false";
config.clip.audio.setStop();
config.clip.controlbar.au.icn._alpha = 40;
} else {
config.useaudio = "true";
config.clip.audio.setStart();
config.clip.controlbar.au.icn._alpha = 100;
}
playerSO.data.useaudio = config.useaudio;
playerSO.flush();
}
function setVolume(prm) {
if (prm < 0) {
prm = 0;
} else if (prm > 100) {
prm = 100;
}
if (prm == 0) {
if (muted == true) {
muted = false;
sendChange("volume", config.volume);
} else {
muted = true;
sendChange("volume", 0);
}
} else {
sendChange("volume", prm);
config.volume = prm;
playerSO.data.volume = config.volume;
playerSO.flush();
}
}
}
Symbol 122 MovieClip [__Packages.com.jeroenwijering.players.DisplayView] Frame 0
class com.jeroenwijering.players.DisplayView extends com.jeroenwijering.players.AbstractView
{
var itemSize, config, thumbSize, imageLoader, startPos, currentItem, feeder;
function DisplayView (ctr, cfg, fed) {
super(ctr, cfg, fed);
Stage.addListener(this);
itemSize = new Array(config.displaywidth, config.displayheight);
thumbSize = new Array(config.displaywidth, config.displayheight);
var ref = this;
var tgt = config.clip;
imageLoader = new com.jeroenwijering.utils.ImageLoader(tgt.display.thumb);
imageLoader.onLoadFinished = function () {
ref.thumbSize = new Array(this.targetClip._width, this.targetClip._height);
ref.scaleClip(tgt.display.thumb, this.targetClip._width, this.targetClip._height);
};
startPos = new Array(tgt._x, tgt._y);
setColorsClicks();
setDimensions();
}
function setColorsClicks() {
var ref = this;
var tgt = config.clip.back;
tgt.col = new Color(tgt);
tgt.col.setRGB(config.backcolor);
var tgt = config.clip.display;
tgt.col = new Color(tgt.back);
tgt.col.setRGB(config.screencolor);
tgt.setMask(config.clip.mask);
if (config.showicons == "false") {
tgt.playicon._visible = false;
tgt.muteicon._visible = false;
}
tgt.activity._visible = false;
tgt.back.tabEnabled = false;
if (config.autostart == "muted") {
tgt.back.onRelease = function () {
ref.sendEvent("volume", 80);
ref.firstClick();
};
} else if (config.autostart == "false") {
tgt.muteicon._visible = false;
tgt.back.onRelease = function () {
ref.sendEvent("playpause");
ref.firstClick();
};
} else {
ref.firstClick();
}
if (config.logo != "undefined") {
var _local2 = new com.jeroenwijering.utils.ImageLoader(tgt.logo, "none");
_local2.onLoadFinished = function () {
tgt.logo._x = (ref.config.displaywidth - tgt.logo._width) - 10;
tgt.logo._y = 10;
};
_local2.loadImage(config.logo);
tgt.logo.onRelease = function () {
ref.sendEvent("getlink", ref.currentItem);
};
}
}
function setDimensions() {
var _local2 = config.clip.back;
if (Stage.displayState == "fullScreen") {
config.clip._x = (config.clip._y = 0);
_local2._width = Stage.width;
_local2._height = Stage.height;
} else {
config.clip._x = startPos[0];
config.clip._y = startPos[1];
_local2._width = config.width;
_local2._height = config.height;
if ((config.displayheight >= (config.height - config.controlbar)) && (config.displaywidth == config.width)) {
_local2._height--;
}
}
_local2 = config.clip.display;
scaleClip(_local2.thumb, thumbSize[0], thumbSize[1]);
scaleClip(_local2.image, itemSize[0], itemSize[1]);
scaleClip(_local2.video, itemSize[0], itemSize[1]);
if (Stage.displayState == "fullScreen") {
config.clip.mask._width = (_local2.back._width = Stage.width);
config.clip.mask._height = (_local2.back._height = Stage.height);
} else {
config.clip.mask._width = (_local2.back._width = config.displaywidth);
config.clip.mask._height = (_local2.back._height = config.displayheight);
}
_local2.playicon._x = (_local2.activity._x = (_local2.muteicon._x = Math.round(_local2.back._width / 2)));
_local2.playicon._y = (_local2.activity._y = (_local2.muteicon._y = Math.round(_local2.back._height / 2)));
if (Stage.displayState == "fullScreen") {
_local2.playicon._xscale = (_local2.playicon._yscale = (_local2.muteicon._xscale = (_local2.muteicon._yscale = (_local2.activity._xscale = (_local2.activity._yscale = (_local2.logo._xscale = (_local2.logo._yscale = 200)))))));
_local2.logo._x = (Stage.width - _local2.logo._width) - 20;
_local2.logo._y = 20;
} else {
_local2.playicon._xscale = (_local2.playicon._yscale = (_local2.muteicon._xscale = (_local2.muteicon._yscale = (_local2.activity._xscale = (_local2.activity._yscale = (_local2.logo._xscale = (_local2.logo._yscale = 100)))))));
if (_local2.logo._height > 1) {
_local2.logo._x = (config.displaywidth - _local2.logo._width) - 10;
_local2.logo._y = 10;
}
}
}
function setState(stt) {
var _local2 = config.clip.display;
switch (stt) {
case 0 :
if ((config.linkfromdisplay == "false") && (config.showicons == "true")) {
_local2.playicon._visible = true;
}
_local2.activity._visible = false;
break;
case 1 :
_local2.playicon._visible = false;
if (config.showicons == "true") {
_local2.activity._visible = true;
}
break;
case 2 :
_local2.playicon._visible = false;
_local2.activity._visible = false;
}
}
function setSize(wid, hei) {
itemSize = new Array(wid, hei);
var _local2 = config.clip.display;
scaleClip(_local2.image, itemSize[0], itemSize[1]);
scaleClip(_local2.video, itemSize[0], itemSize[1]);
}
function scaleClip(tgt, wid, hei) {
var _local9 = tgt.mc._currentframe;
tgt.mc.gotoAndStop(1);
if (Stage.displayState == "fullScreen") {
var _local6 = Stage.width;
var _local5 = Stage.height;
} else {
var _local6 = config.displaywidth;
var _local5 = config.displayheight;
}
var _local3 = _local6 / wid;
var _local4 = _local5 / hei;
if (((_local3 < _local4) && (config.overstretch == "false")) || ((_local4 < _local3) && (config.overstretch == "true"))) {
tgt._width = wid * _local3;
tgt._height = hei * _local3;
} else if (config.overstretch == "none") {
tgt._width = wid;
tgt._height = hei;
} else if (config.overstretch == "fit") {
tgt._width = _local6;
tgt._height = _local5;
} else {
tgt._width = wid * _local4;
tgt._height = hei * _local4;
}
tgt._x = (_local6 / 2) - (tgt._width / 2);
tgt._y = (_local5 / 2) - (tgt._height / 2);
tgt.mc.gotoAndPlay(_local9);
}
function setItem(idx) {
currentItem = idx;
var _local2 = config.clip.display;
if (feeder.feed[idx].image == "undefined") {
_local2.thumb.clear();
_local2.thumb._visible = false;
} else {
imageLoader.loadImage(feeder.feed[idx].image);
_local2.thumb._visible = true;
}
}
function onResize() {
if (config.displayheight >= config.height) {
config.height = (config.displayheight = Stage.height);
config.width = (config.displaywidth = Stage.width);
}
setDimensions();
}
function onFullScreen(fs) {
if (fs == false) {
setDimensions();
}
}
function firstClick() {
var ref = this;
var _local2 = config.clip.display;
_local2.playicon._visible = false;
_local2.muteicon._visible = false;
if (config.linkfromdisplay == "true") {
_local2.back.onRelease = function () {
ref.sendEvent("getlink", ref.currentItem);
};
} else {
_local2.back.onRelease = function () {
ref.sendEvent("playpause", 1);
};
}
}
}
Symbol 123 MovieClip [__Packages.com.jeroenwijering.utils.ImageLoader] Frame 0
class com.jeroenwijering.utils.ImageLoader
{
var targetClip, targetWidth, targetHeight, mcLoader, useSmoothing, sourceURL, sourceWidth, sourceHeight, sourceLength, metaInt;
function ImageLoader (tgt, ost, wid, hei) {
targetClip = tgt;
((arguments.length > 1) ? ((overStretch = String(ost))) : null);
if (arguments.length > 2) {
targetWidth = wid;
targetHeight = hei;
}
mcLoader = new MovieClipLoader();
mcLoader.addListener(this);
}
function onLoadInit(inTarget) {
if (useSmoothing == true) {
var _local3 = new flash.display.BitmapData(targetClip.mc._width, targetClip.mc._height, true, 0);
_local3.draw(targetClip.mc);
var _local2 = targetClip.createEmptyMovieClip("smc", targetClip.getNextHighestDepth());
_local2.attachBitmap(_local3, _local2.getNextHighestDepth(), "auto", true);
targetClip.mc.unloadMovie();
targetClip.mc.removeMovieClip();
delete targetClip.mc;
scaleImage(targetClip.smc);
onLoadFinished();
} else {
targetClip.mc.forceSmoothing = true;
if (sourceURL.toLowerCase().indexOf(".swf") == -1) {
scaleImage(targetClip.mc);
}
onLoadFinished();
}
}
function scaleImage(tgt) {
targetClip._xscale = (targetClip._yscale = 100);
var _local5 = tgt._currentframe;
tgt.gotoAndStop(1);
sourceWidth = tgt._width;
sourceHeight = tgt._height;
sourceLength = tgt._totalframes / 20;
var _local3 = targetWidth / sourceWidth;
var _local4 = targetHeight / sourceHeight;
if ((overStretch == "fit") || (Math.abs(_local3 - _local4) < 0.1)) {
tgt._width = targetWidth;
tgt._height = targetHeight;
} else if (((overStretch == "true") && (_local3 > _local4)) || ((overStretch == "false") && (_local3 < _local4))) {
tgt._xscale = (tgt._yscale = _local3 * 100);
} else if (overStretch == "none") {
tgt._xscale = (tgt._yscale = 100);
} else {
tgt._xscale = (tgt._yscale = _local4 * 100);
}
if (targetWidth != undefined) {
tgt._x = (targetWidth / 2) - (tgt._width / 2);
tgt._y = (targetHeight / 2) - (tgt._height / 2);
}
tgt.gotoAndPlay(_local5);
onMetaData();
}
function loadImage(img) {
sourceURL = img;
targetClip.mc.clear();
targetClip.smc.unloadMovie();
targetClip.smc.removeMovieClip();
delete targetClip.smc;
checkSmoothing(img);
var _local3 = targetClip.createEmptyMovieClip("mc", 1);
mcLoader.loadClip(img, _local3);
if (img.toLowerCase().indexOf(".swf") > -1) {
metaInt = setInterval(this, "setSWFMeta", 200);
}
}
function checkSmoothing(img) {
var _local3 = _root._url.indexOf("/", 8);
var _local4 = _root._url.substring(0, _local3);
if ((((System.capabilities.version.indexOf("7,0,") > -1) || (img.toLowerCase().indexOf(".swf") > -1)) || (_root._url.indexOf("file://") > -1)) || ((img.indexOf(_local4) == -1) && (img.indexOf("http://") == 0))) {
useSmoothing = false;
} else {
useSmoothing = true;
}
}
function setSWFMeta() {
if (targetClip.mc._currentframe > 0) {
clearInterval(metaInt);
scaleImage(targetClip.mc);
}
}
function onLoadProgress(tgt, btl, btt) {
}
function onLoadFinished() {
}
function onMetaData() {
}
var overStretch = "none";
}
Symbol 124 MovieClip [__Packages.com.jeroenwijering.players.ControlbarView] Frame 0
class com.jeroenwijering.players.ControlbarView extends com.jeroenwijering.players.AbstractView implements com.jeroenwijering.feeds.FeedListener
{
var feeder, config, hideInt, barWidths, itemLength, currentItem;
function ControlbarView (ctr, cfg, fed) {
super(ctr, cfg, fed);
setColorsClicks();
setDimensions();
Stage.addListener(this);
feeder.addListener(this);
}
function setColorsClicks() {
var ref = this;
var _local2 = config.clip.controlbar;
_local2.col = new Color(_local2.back);
_local2.col.setRGB(config.backcolor);
_local2.playpause.col1 = new Color(_local2.playpause.ply);
_local2.playpause.col1.setRGB(config.frontcolor);
_local2.playpause.col2 = new Color(_local2.playpause.pas);
_local2.playpause.col2.setRGB(config.frontcolor);
_local2.playpause.onRollOver = function () {
this.col1.setRGB(ref.config.lightcolor);
this.col2.setRGB(ref.config.lightcolor);
};
_local2.playpause.onRollOut = function () {
this.col1.setRGB(ref.config.frontcolor);
this.col2.setRGB(ref.config.frontcolor);
};
_local2.playpause.onRelease = function () {
ref.sendEvent("playpause");
};
_local2.stop.col = new Color(_local2.stop.icn);
_local2.stop.col.setRGB(config.frontcolor);
_local2.stop.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.stop.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.stop.onRelease = function () {
ref.sendEvent("stop");
};
_local2.prev.col = new Color(_local2.prev.icn);
_local2.prev.col.setRGB(config.frontcolor);
_local2.prev.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.prev.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.prev.onRelease = function () {
ref.sendEvent("prev");
};
_local2.next.col = new Color(_local2.next.icn);
_local2.next.col.setRGB(config.frontcolor);
_local2.next.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.next.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.next.onRelease = function () {
ref.sendEvent("next");
};
_local2.scrub.elpTxt.textColor = config.frontcolor;
_local2.scrub.remTxt.textColor = config.frontcolor;
_local2.scrub.col = new Color(_local2.scrub.icn);
_local2.scrub.col.setRGB(config.frontcolor);
_local2.scrub.col2 = new Color(_local2.scrub.bar);
_local2.scrub.col2.setRGB(config.frontcolor);
_local2.scrub.col3 = new Color(_local2.scrub.bck);
_local2.scrub.col3.setRGB(config.frontcolor);
_local2.scrub.bck.onRollOver = function () {
this._parent.col.setRGB(ref.config.lightcolor);
};
_local2.scrub.bck.onRollOut = function () {
this._parent.col.setRGB(ref.config.frontcolor);
};
_local2.scrub.bck.onPress = function () {
this.onEnterFrame = function () {
var _local2 = this._parent._xmouse;
if ((_local2 < (this._parent.bck._width + this._parent.bck._x)) && (_local2 > this._parent.bck._x)) {
this._parent.icn._x = this._parent._xmouse - 1;
}
};
};
_local2.scrub.bck.onRelease = (_local2.scrub.bck.onReleaseOutside = function () {
var _local2 = ((this._parent._xmouse - this._parent.bar._x) / ref.barWidths) * ref.itemLength;
ref.sendEvent("scrub", Math.round(_local2));
delete this.onEnterFrame;
});
_local2.scrub.bck.tabEnabled = false;
_local2.fs.col1 = new Color(_local2.fs.ns);
_local2.fs.col2 = new Color(_local2.fs.fs);
_local2.fs.col.setRGB(ref.config.frontcolor);
_local2.fs.col2.setRGB(ref.config.frontcolor);
_local2.fs.onRollOver = function () {
this.col1.setRGB(ref.config.lightcolor);
this.col2.setRGB(ref.config.lightcolor);
};
_local2.fs.onRollOut = function () {
this.col1.setRGB(ref.config.frontcolor);
this.col2.setRGB(ref.config.frontcolor);
};
_local2.fs.onRelease = function () {
ref.sendEvent("fullscreen");
this.col1.setRGB(ref.config.frontcolor);
this.col2.setRGB(ref.config.frontcolor);
};
_local2.cc.col = new Color(_local2.cc.icn);
_local2.cc.col.setRGB(ref.config.frontcolor);
_local2.cc.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.cc.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.cc.onRelease = function () {
ref.sendEvent("captions");
};
_local2.au.col = new Color(_local2.au.icn);
_local2.au.col.setRGB(ref.config.frontcolor);
_local2.au.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.au.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.au.onRelease = function () {
ref.sendEvent("audio");
};
_local2.dl.col = new Color(_local2.dl.icn);
_local2.dl.col.setRGB(ref.config.frontcolor);
_local2.dl.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.dl.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.dl.onRelease = function () {
ref.sendEvent("getlink", ref.currentItem);
};
_local2.vol.col = new Color(_local2.vol.bar);
_local2.vol.col.setRGB(config.frontcolor);
_local2.vol.col2 = new Color(_local2.vol.bck);
_local2.vol.col2.setRGB(config.frontcolor);
_local2.vol.col3 = new Color(_local2.vol.icn);
_local2.vol.col3.setRGB(config.frontcolor);
_local2.vol.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
this.col3.setRGB(ref.config.lightcolor);
};
_local2.vol.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
this.col3.setRGB(ref.config.frontcolor);
};
_local2.vol.onRelease = function () {
this.onEnterFrame = function () {
this.msk._width = this._xmouse - 12;
};
};
_local2.vol.onRelease = (_local2.vol.onReleaseOutside = function () {
ref.sendEvent("volume", (this._xmouse - 12) * 5);
delete this.onEnterFrame;
});
if (config.displayheight == config.height) {
Mouse.addListener(this);
}
}
function setDimensions() {
clearInterval(hideInt);
var _local2 = config.clip.controlbar;
if (Stage.displayState == "fullScreen") {
_local2._x = Math.round((Stage.width / 2) - 200);
var _local4 = 400;
_local2._y = Stage.height - 40;
_local2._alpha = 100;
_local2.back._alpha = 40;
_local2.fs.fs._visible = false;
_local2.fs.ns._visible = true;
} else if (config.displayheight == config.height) {
_local2._y = config.displayheight - 40;
if ((config.displaywidth > 450) && (config.displaywidth == config.width)) {
_local2._x = Math.round((Stage.width / 2) - 200);
var _local4 = 400;
} else {
_local2._x = 20;
var _local4 = config.displaywidth - 40;
}
((config.showicons == "false") ? ((_local2._visible = false)) : null);
_local2.back._alpha = 40;
_local2.fs.fs._visible = true;
_local2.fs.ns._visible = false;
} else {
_local2._x = 0;
_local2._y = config.displayheight;
var _local4 = config.width;
_local2._alpha = 100;
_local2.back._alpha = 100;
_local2.fs.fs._visible = true;
_local2.fs.ns._visible = false;
}
if (config.largecontrols == "true") {
_local2._xscale = (_local2._yscale = 200);
if (Stage.displayState == "fullScreen") {
_local2._y = Stage.height - 60;
var _local4 = 300;
_local2._x = Math.round((Stage.width / 2) - 300);
} else {
var _local4 = _local4 / 2;
}
}
_local2.back._width = _local4;
if ((((config.displayheight < (config.height - 50)) && (_local4 < 200)) || ((config.displaywidth < (config.width - 50)) && (_local4 < 200))) || (feeder.feed.length < 2)) {
_local2.prev._visible = (_local2.next._visible = false);
_local2.scrub.shd._width = _local4 - 17;
_local2.scrub._x = 17;
} else {
_local2.prev._visible = (_local2.next._visible = true);
_local2.scrub.shd._width = _local4 - 51;
_local2.scrub._x = 51;
}
if (config.showstop == "true") {
_local2.scrub.shd._width = _local2.scrub.shd._width - 17;
_local2.scrub._x = _local2.scrub._x + 17;
} else {
_local2.stop._visible = false;
_local2.prev._x = 17;
_local2.next._x = 34;
}
var _local3 = _local4;
if ((_local4 > 50) && (config.showvolume == "true")) {
_local3 = _local3 - 37;
_local2.scrub.shd._width = _local2.scrub.shd._width - 37;
_local2.vol._x = _local3;
} else {
_local3 = _local3 - 1;
_local2.scrub.shd._width = _local2.scrub.shd._width - 1;
_local2.vol._x = _local3;
}
if (feeder.audio == true) {
_local3 = _local3 - 17;
_local2.scrub.shd._width = _local2.scrub.shd._width - 17;
_local2.au._x = _local3;
} else {
_local2.au._visible = false;
}
if (feeder.captions == true) {
_local3 = _local3 - 17;
_local2.scrub.shd._width = _local2.scrub.shd._width - 17;
_local2.cc._x = _local3;
} else {
_local2.cc._visible = false;
}
if (config.showdownload == "true") {
_local3 = _local3 - 17;
_local2.scrub.shd._width = _local2.scrub.shd._width - 17;
_local2.dl._x = _local3;
} else {
_local2.dl._visible = false;
}
if ((((Stage.displayState == undefined) || (config.usefullscreen == "false")) || (feeder.onlymp3s == true)) && (config.fsbuttonlink == undefined)) {
_local2.fs._visible = false;
} else {
_local3 = _local3 - 18;
_local2.scrub.shd._width = _local2.scrub.shd._width - 18;
_local2.fs._x = _local3;
}
if (((config.showdigits == "false") || (_local2.scrub.shd._width < 120)) || (System.capabilities.version.indexOf("7,0,") > -1)) {
_local2.scrub.elpTxt._visible = (_local2.scrub.remTxt._visible = false);
_local2.scrub.bar._x = (_local2.scrub.bck._x = (_local2.scrub.icn._x = 5));
barWidths = (_local2.scrub.bck._width = _local2.scrub.shd._width - 10);
} else {
_local2.scrub.elpTxt._visible = (_local2.scrub.remTxt._visible = true);
_local2.scrub.bar._x = (_local2.scrub.bck._x = (_local2.scrub.icn._x = 42));
barWidths = (_local2.scrub.bck._width = _local2.scrub.shd._width - 84);
_local2.scrub.remTxt._x = _local2.scrub.shd._width - 39;
}
_local2.scrub.bar._width = 0;
}
function setState(stt) {
var _local2 = config.clip.controlbar.playpause;
switch (stt) {
case 0 :
_local2.ply._visible = true;
_local2.pas._visible = false;
break;
case 1 :
_local2.pas._visible = true;
_local2.ply._visible = false;
break;
case 2 :
_local2.pas._visible = true;
_local2.ply._visible = false;
}
}
function setTime(elp, rem) {
itemLength = elp + rem;
itemProgress = Math.round((rem / itemLength) * 100);
var _local2 = config.clip.controlbar.scrub;
var _local5 = Math.floor((elp / (elp + rem)) * barWidths) - 2;
(((elp == 0) || (_local5 < 2)) ? ((_local2.bar._width = 0)) : ((_local2.bar._width = _local5 - 2)));
_local2.icn._x = (_local2.bar._width + _local2.bar._x) + 1;
_local2.elpTxt.text = (com.jeroenwijering.utils.StringMagic.addLeading(elp / 60) + ":") + com.jeroenwijering.utils.StringMagic.addLeading(elp % 60);
if (_local2.bck._width == barWidths) {
if (config.showdigits == "total") {
_local2.remTxt.text = (com.jeroenwijering.utils.StringMagic.addLeading((elp + rem) / 60) + ":") + com.jeroenwijering.utils.StringMagic.addLeading((elp + rem) % 60);
} else {
_local2.remTxt.text = (com.jeroenwijering.utils.StringMagic.addLeading(rem / 60) + ":") + com.jeroenwijering.utils.StringMagic.addLeading(rem % 60);
}
}
}
function setItem(prm) {
wasLoaded = false;
currentItem = prm;
config.clip.controlbar.scrub.icn._alpha = 100;
}
function setLoad(pct) {
var _local2 = config.clip.controlbar.scrub;
if (wasLoaded == false) {
_local2.bck._width = Math.round((barWidths * pct) / 100);
}
_local2.remTxt.text = Math.round(pct) + " %";
((pct == 100) ? ((wasLoaded = true)) : null);
}
function setVolume(pr1) {
var _local2 = config.clip.controlbar.vol;
_local2.msk._width = Math.round(pr1 / 5);
if (pr1 == 0) {
_local2.icn._alpha = 40;
} else {
_local2.icn._alpha = 100;
}
}
function onResize() {
if (config.displayheight > (config.height + 10)) {
config.height = (config.displayheight = Stage.height);
config.width = (config.displaywidth = Stage.width);
}
setDimensions();
}
function onFullScreen(fs) {
if (fs == false) {
setDimensions();
}
}
function hideBar() {
com.jeroenwijering.utils.Animations.fadeOut(config.clip.controlbar);
clearInterval(hideInt);
}
function onMouseMove() {
if (((Stage.displayState != "fullScreen") && (config.clip._xmouse < config.displaywidth)) && (config.showicons == "true")) {
com.jeroenwijering.utils.Animations.fadeIn(config.clip.controlbar);
clearInterval(hideInt);
if (!config.clip.controlbar.hitTest(_xmouse, _ymouse)) {
hideInt = setInterval(this, "hideBar", 2000);
}
}
}
function onFeedUpdate() {
setDimensions();
}
var itemProgress = 0;
var wasLoaded = false;
}
Symbol 125 MovieClip [__Packages.com.jeroenwijering.utils.Animations] Frame 0
class com.jeroenwijering.utils.Animations
{
function Animations () {
}
static function fadeIn(tgt, end, spd) {
((arguments.length < 3) ? ((spd = 20)) : null);
((arguments.length < 2) ? ((end = 100)) : null);
tgt._visible = true;
tgt.onEnterFrame = function () {
if (this._alpha > (end - spd)) {
delete this.onEnterFrame;
this._alpha = end;
} else {
this._alpha = this._alpha + spd;
}
};
}
static function fadeOut(tgt, end, spd, rmv) {
((arguments.length < 4) ? ((rmv = false)) : null);
((arguments.length < 3) ? ((spd = 20)) : null);
((arguments.length < 2) ? ((end = 0)) : null);
tgt.onEnterFrame = function () {
if (this._alpha < (end + spd)) {
delete this.onEnterFrame;
this._alpha = end;
((end == 0) ? ((this._visible = false)) : null);
((rmv == true) ? (this.removeMovieClip()) : null);
} else {
this._alpha = this._alpha - spd;
}
};
}
static function crossfade(tgt, alp) {
var phs = "out";
var pct = (alp / 5);
tgt.onEnterFrame = function () {
if (phs == "out") {
this._alpha = this._alpha - pct;
if (this._alpha < 1) {
phs = "in";
}
} else {
this._alpha = this._alpha + pct;
((this._alpha >= alp) ? (delete this.onEnterFrame) : null);
}
};
}
static function easeTo(tgt, xps, yps, spd) {
((arguments.length < 4) ? ((spd = 2)) : null);
tgt.onEnterFrame = function () {
this._x = xps - ((xps - this._x) / (1 + (1 / spd)));
this._y = yps - ((yps - this._y) / (1 + (1 / spd)));
if ((((this._x > (xps - 1)) && (this._x < (xps + 1))) && (this._y > (yps - 1))) && (this._y < (yps + 1))) {
this._x = Math.round(xps);
this._y = Math.round(yps);
delete this.onEnterFrame;
}
};
}
static function easeText(tgt, txt, spd) {
if (arguments.length < 2) {
tgt.str = tgt.tf.text;
tgt.hstr = tgt.tf.htmlText;
} else {
tgt.str = (tgt.hstr = txt);
}
if (arguments.length < 3) {
spd = 1.5;
}
tgt.tf.text = "";
tgt.i = 0;
tgt.onEnterFrame = function () {
this.tf.text = this.str.substr(0, this.str.length - Math.floor((this.str.length - this.tf.text.length) / spd));
if (this.tf.text == this.str) {
this.tf.htmlText = this.hstr;
delete this.onEnterFrame;
}
this.i++;
};
}
}
Symbol 126 MovieClip [__Packages.com.jeroenwijering.players.PlaylistView] Frame 0
class com.jeroenwijering.players.PlaylistView extends com.jeroenwijering.players.AbstractView implements com.jeroenwijering.feeds.FeedListener
{
var config, listRight, listWidth, feeder, listLength, thumbLoader, listScroller, currentItem;
function PlaylistView (ctr, cfg, fed) {
super(ctr, cfg, fed);
if (config.displaywidth < config.width) {
listRight = true;
listWidth = (config.width - config.displaywidth) - 1;
} else {
listRight = false;
listWidth = config.width;
}
setButtons();
Stage.addListener(this);
feeder.addListener(this);
}
function setButtons() {
var ref = this;
var _local2 = config.clip.playlist;
_local2.btn._visible = false;
listLength = feeder.feed.length;
var _local4 = 0;
var _local3 = 0;
while (_local3 < feeder.feed.length) {
_local2.btn.duplicateMovieClip("btn" + _local3, _local3);
_local2["btn" + _local3].txt._width = listWidth - 20;
_local2["btn" + _local3].col = new Color(_local2["btn" + _local3].bck);
_local2["btn" + _local3].col.setRGB(config.frontcolor);
_local2["btn" + _local3].col2 = new Color(_local2["btn" + _local3].icn);
_local2["btn" + _local3].col2.setRGB(config.frontcolor);
_local2["btn" + _local3].bck._width = listWidth;
_local2["btn" + _local3].bck.onRollOver = function () {
this._parent.txt.textColor = ref.config.backcolor;
this._parent.col.setRGB(ref.config.lightcolor);
this._parent.col2.setRGB(ref.config.backcolor);
if (ref.currentItem != this._parent.getDepth()) {
this._alpha = 90;
}
};
_local2["btn" + _local3].bck.onRollOut = function () {
this._parent.col.setRGB(ref.config.frontcolor);
if (ref.currentItem != this._parent.getDepth()) {
this._parent.txt.textColor = ref.config.frontcolor;
this._parent.col2.setRGB(ref.config.frontcolor);
this._alpha = 10;
}
};
_local2["btn" + _local3].bck.onRelease = function () {
ref.sendEvent("playitem", this._parent.getDepth());
};
if (config.thumbsinplaylist == "true") {
_local2["btn" + _local3].bck._height = 40;
_local2["btn" + _local3].icn._y = _local2["btn" + _local3].icn._y + 9;
_local2["btn" + _local3]._y = _local4 * 41;
_local2["btn" + _local3].txt._height = _local2["btn" + _local3].txt._height + 20;
if (feeder.feed[_local3].author == undefined) {
_local2["btn" + _local3].txt.htmlText = (("<b>" + (_local3 + 1)) + "</b>:<br />") + feeder.feed[_local3].title;
} else {
_local2["btn" + _local3].txt.htmlText = (("<b>" + feeder.feed[_local3].author) + "</b>:<br />") + feeder.feed[_local3].title;
}
if (feeder.feed[_local3].image != undefined) {
_local2["btn" + _local3].txt._x = _local2["btn" + _local3].txt._x + 60;
_local2["btn" + _local3].txt._width = _local2["btn" + _local3].txt._width - 60;
thumbLoader = new com.jeroenwijering.utils.ImageLoader(_local2["btn" + _local3].img, "true", 60, 40);
thumbLoader.loadImage(feeder.feed[_local3].image);
_local2["btn" + _local3].img.setMask(_local2["btn" + _local3].msk);
} else {
_local2["btn" + _local3].msk._height = 10;
_local2["btn" + _local3].img._visible = (_local2["btn" + _local3].msk._visible = false);
}
} else {
_local2["btn" + _local3]._y = _local4 * 23;
if (feeder.feed[_local3].author == undefined) {
_local2["btn" + _local3].txt.htmlText = feeder.feed[_local3].title;
} else {
_local2["btn" + _local3].txt.htmlText = (feeder.feed[_local3].author + " - ") + feeder.feed[_local3].title;
}
_local2["btn" + _local3].msk._height = 10;
_local2["btn" + _local3].img._visible = (_local2["btn" + _local3].msk._visible = false);
}
_local2["btn" + _local3].txt.textColor = config.frontcolor;
if (feeder.feed[_local3].link != undefined) {
_local2["btn" + _local3].txt._width = _local2["btn" + _local3].txt._width - 20;
_local2["btn" + _local3].icn._x = listWidth - 24;
_local2["btn" + _local3].icn.onRollOver = function () {
this._parent.col2.setRGB(ref.config.lightcolor);
};
_local2["btn" + _local3].icn.onRollOut = function () {
if (ref.currentItem == this._parent.getDepth()) {
this._parent.col2.setRGB(ref.config.backcolor);
} else {
this._parent.col2.setRGB(ref.config.frontcolor);
}
};
_local2["btn" + _local3].icn.onRelease = function () {
ref.sendEvent("getlink", this._parent.getDepth());
};
} else {
_local2["btn" + _local3].icn._visible = false;
}
_local4++;
_local3++;
}
var _local5 = config.clip.playlistmask;
if (listRight == true) {
_local5._x = (_local2._x = Number(config.displaywidth) + 1);
_local5._y = (_local2._y = 0);
_local5._height = config.displayheight;
} else {
_local5._y = (_local2._y = (Number(config.displayheight) + Number(config.controlbar)) - 1);
_local5._height = ((Number(config.height) + 1) - Number(config.controlbar)) - Number(config.displayheight);
}
_local5._width = listWidth;
_local2.setMask(_local5);
if ((_local2._height > (_local5._height + 2)) && (feeder.feed.length > 1)) {
if (config.autoscroll == "false") {
_local5._width = _local5._width - 10;
_local3 = 0;
while (_local3 < feeder.feed.length) {
_local2["btn" + _local3].bck._width = _local2["btn" + _local3].bck._width - 10;
_local2["btn" + _local3].icn._x = _local2["btn" + _local3].icn._x - 10;
_local3++;
}
listScroller = new com.jeroenwijering.utils.Scroller(_local2, _local5, false, config.frontcolor, config.lightcolor);
} else {
listScroller = new com.jeroenwijering.utils.Scroller(_local2, _local5, true, config.frontcolor, config.lightcolor);
}
}
}
function setItem(itm) {
var _local2 = config.clip.playlist;
_local2["btn" + currentItem].col.setRGB(config.frontcolor);
_local2["btn" + currentItem].bck._alpha = 10;
_local2["btn" + currentItem].col2.setRGB(config.frontcolor);
_local2["btn" + currentItem].txt.textColor = config.frontcolor;
currentItem = itm;
_local2["btn" + currentItem].txt.textColor = config.backcolor;
_local2["btn" + currentItem].col2.setRGB(config.backcolor);
_local2["btn" + currentItem].bck._alpha = 90;
if (config.autoscroll == "false") {
listScroller.scrollTo(_local2["btn" + currentItem]._y);
}
}
function setTime(elp, rem) {
if ((feeder.ischapters == true) && (Math.abs(elp - currentTime) > 5)) {
currentTime = elp;
var _local2 = 0;
while (_local2 < feeder.feed.length) {
if (feeder.feed[_local2].start > currentTime) {
if (_local2 != (currentItem + 1)) {
setItem(_local2 - 1);
}
break;
}
_local2++;
}
}
}
function onFullScreen(fs) {
if (listScroller == undefined) {
} else if (fs == true) {
config.clip.scrollbar._visible = false;
} else {
config.clip.scrollbar._visible = true;
}
}
function onFeedUpdate() {
var _local3 = config.clip.playlist;
var _local2 = 0;
while (_local2 < 99) {
_local3["btn" + _local2].removeMovieClip();
_local2++;
}
listScroller.purgeScrollbar();
setButtons();
setItem(currentItem);
}
var currentTime = -10;
}
Symbol 127 MovieClip [__Packages.com.jeroenwijering.utils.Scroller] Frame 0
class com.jeroenwijering.utils.Scroller
{
var targetClip, maskClip, sizeRatio, scrollInterval, SCROLLER_CLIP, SCROLLER_FRONT_COLOR;
function Scroller (tgt, msk, asc, fcl, hcl) {
targetClip = tgt;
maskClip = msk;
((arguments.length > 2) ? ((autoScroll = asc)) : null);
((arguments.length > 3) ? ((frontColor = fcl)) : null);
((arguments.length > 4) ? ((lightColor = hcl)) : null);
sizeRatio = maskClip._height / targetClip._height;
if (autoScroll == false) {
drawScrollbar();
} else {
scrollInterval = setInterval(this, "doAutoscroll", 50);
}
if (System.capabilities.os.toLowerCase().indexOf("mac") == -1) {
Mouse.addListener(this);
}
}
function drawScrollbar() {
targetClip._parent.createEmptyMovieClip("scrollbar", targetClip._parent.getNextHighestDepth());
SCROLLER_CLIP = targetClip._parent.scrollbar;
SCROLLER_CLIP._x = (maskClip._x + maskClip._width) - 1;
SCROLLER_CLIP._y = maskClip._y + 3;
SCROLLER_CLIP.createEmptyMovieClip("back", 0);
SCROLLER_CLIP.back._alpha = 0;
SCROLLER_CLIP.back._y = -3;
com.jeroenwijering.utils.Draw.square(SCROLLER_CLIP.back, 12, maskClip._height, frontColor);
SCROLLER_CLIP.createEmptyMovieClip("bar", 1);
SCROLLER_CLIP.bar._x = 4;
SCROLLER_CLIP.bar._alpha = 50;
com.jeroenwijering.utils.Draw.square(SCROLLER_CLIP.bar, 4, maskClip._height - 5, frontColor);
SCROLLER_CLIP.createEmptyMovieClip("front", 2);
SCROLLER_CLIP.front._x = 3;
com.jeroenwijering.utils.Draw.square(SCROLLER_CLIP.front, 6, SCROLLER_CLIP.bar._height * sizeRatio, frontColor);
SCROLLER_CLIP.front.createEmptyMovieClip("bg", 1);
SCROLLER_CLIP.front.bg._x = -3;
SCROLLER_CLIP.front.bg._alpha = 0;
com.jeroenwijering.utils.Draw.square(SCROLLER_CLIP.front.bg, 12, SCROLLER_CLIP.front._height, frontColor);
SCROLLER_FRONT_COLOR = new Color(SCROLLER_CLIP.front);
setScrollbarEvents();
}
function onMouseWheel(dta) {
scrollTo(currentScroll - (dta * 20));
}
function doAutoscroll() {
if ((((maskClip._xmouse > 0) && (maskClip._xmouse < (maskClip._width / (maskClip._xscale / 100)))) && (maskClip._ymouse > 0)) && (maskClip._ymouse < (maskClip._height / (maskClip._yscale / 100)))) {
var _local2 = (maskClip._ymouse * (maskClip._yscale / 100)) - (maskClip._height / 2);
scrollTo(currentScroll + Math.floor(_local2 * AUTOSCROLL_SPEED));
}
}
function setScrollbarEvents() {
var instance = this;
SCROLLER_CLIP.front.onRollOver = (SCROLLER_CLIP.back.onRollOver = function () {
instance.SCROLLER_FRONT_COLOR.setRGB(instance.lightColor);
});
SCROLLER_CLIP.front.onRollOut = (SCROLLER_CLIP.back.onRollOut = function () {
instance.SCROLLER_FRONT_COLOR.setRGB(instance.frontColor);
});
SCROLLER_CLIP.back.onRelease = function () {
if (this._ymouse > (this._parent.front._y + this._parent.front._height)) {
instance.scrollTo(instance.currentScroll + (instance.maskClip._height / 2));
} else if (this._ymouse < this._parent.front._y) {
instance.scrollTo(instance.currentScroll - (instance.maskClip._height / 2));
}
};
SCROLLER_CLIP.front.onRelease = function () {
this.startDrag(false, 3, 0, 3, instance.SCROLLER_CLIP.bar._height - this._height);
instance.scrollInterval = setInterval(instance, "scrollTo", 100);
};
SCROLLER_CLIP.front.onRelease = (SCROLLER_CLIP.front.onReleaseOutside = function () {
this.stopDrag();
clearInterval(instance.scrollInterval);
});
scrollTo(maskClip._y - targetClip._y);
}
function scrollTo(yps) {
if ((arguments.length == 0) && (autoScroll == false)) {
yps = (SCROLLER_CLIP.front._y * maskClip._height) / SCROLLER_CLIP.front._height;
}
if (yps < 5) {
yps = 0;
} else if (yps > ((targetClip._height - maskClip._height) - 5)) {
yps = targetClip._height - maskClip._height;
}
com.jeroenwijering.utils.Animations.easeTo(targetClip, targetClip._x, maskClip._y - yps);
SCROLLER_CLIP.front._y = (yps * SCROLLER_CLIP.front._height) / maskClip._height;
currentScroll = yps;
}
function purgeScrollbar() {
clearInterval(scrollInterval);
Mouse.removeListener(this);
scrollTo(0);
SCROLLER_CLIP.removeMovieClip();
}
var autoScroll = false;
var frontColor = 0;
var lightColor = 0;
var currentScroll = 0;
var AUTOSCROLL_SPEED = 0.5;
}
Symbol 128 MovieClip [__Packages.com.jeroenwijering.utils.Draw] Frame 0
class com.jeroenwijering.utils.Draw
{
function Draw () {
}
static function square(tgt, wth, hei, clr, tck, cls) {
tgt.clear();
if (tck != undefined) {
tgt.lineStyle(tck, cls, 100);
}
tgt.beginFill(clr, 100);
tgt.moveTo(0, 0);
tgt.lineTo(wth, 0);
tgt.lineTo(wth, hei);
tgt.lineTo(0, hei);
tgt.lineTo(0, 0);
tgt.endFill();
}
static function roundedSquare(tgt, wth, hei, rad, clr, tck, cls, xof, yof, alp) {
tgt.clear();
if (tck > 0) {
tgt.lineStyle(tck, cls, 100);
}
if (xof == undefined) {
yof = 0;
xof = yof;
}
if (alp == undefined) {
alp = 100;
}
tgt.beginFill(clr, alp);
tgt.moveTo(rad + xof, yof);
tgt.lineTo((wth - rad) + xof, yof);
tgt.curveTo(wth + xof, yof, wth + xof, rad + yof);
tgt.lineTo(wth + xof, (hei - rad) + yof);
tgt.curveTo(wth + xof, hei + yof, (wth - rad) + xof, hei + yof);
tgt.lineTo(rad + xof, hei + yof);
tgt.curveTo(xof, hei + yof, xof, (hei - rad) + yof);
tgt.lineTo(xof, rad + yof);
tgt.curveTo(xof, yof, rad + xof, yof);
tgt.endFill();
}
}
Symbol 129 MovieClip [__Packages.com.jeroenwijering.players.InputView] Frame 0
class com.jeroenwijering.players.InputView extends com.jeroenwijering.players.AbstractView
{
var currentTime, currentVolume, sendEvent, feeder;
function InputView (ctr, cfg, fed) {
super(ctr, cfg, fed);
Key.addListener(this);
}
function setTime(elp, rem) {
currentTime = elp;
}
function setVolume(vol) {
currentVolume = vol;
}
function onKeyDown() {
if (Key.getCode() == 32) {
sendEvent("playpause");
} else if (Key.getCode() == 37) {
if (feeder.feed.length == 1) {
sendEvent("scrub", currentTime - 15);
} else {
sendEvent("prev");
}
} else if (Key.getCode() == 39) {
if (feeder.feed.length == 1) {
sendEvent("scrub", currentTime + 15);
} else {
sendEvent("next");
}
} else if (Key.getCode() == 38) {
sendEvent("volume", currentVolume + 10);
} else if (Key.getCode() == 40) {
sendEvent("volume", currentVolume - 10);
} else if (Key.getCode() == 77) {
sendEvent("volume", 0);
}
}
}
Symbol 130 MovieClip [__Packages.com.jeroenwijering.players.EqualizerView] Frame 0
class com.jeroenwijering.players.EqualizerView extends com.jeroenwijering.players.AbstractView
{
var eqClip, config, eqStripes, currentVolume;
function EqualizerView (ctr, cfg, fed) {
super(ctr, cfg, fed);
setupEQ();
Stage.addListener(this);
}
function setupEQ() {
eqClip = config.clip.equalizer;
eqClip._y = config.displayheight - 50;
eqStripes = Math.floor((config.displaywidth - 20) / 6);
eqClip.stripes.duplicateMovieClip("stripes2", 1);
eqClip.mask.duplicateMovieClip("mask2", 3);
eqClip.stripes._width = (eqClip.stripes2._width = config.displaywidth - 20);
eqClip.stripes.top.col = new Color(eqClip.stripes.top);
eqClip.stripes.top.col.setRGB(config.lightcolor);
eqClip.stripes.bottom.col = new Color(eqClip.stripes.bottom);
eqClip.stripes.bottom.col.setRGB(16777215);
eqClip.stripes2.top.col = new Color(eqClip.stripes2.top);
eqClip.stripes2.top.col.setRGB(config.lightcolor);
eqClip.stripes2.bottom.col = new Color(eqClip.stripes2.bottom);
eqClip.stripes2.bottom.col.setRGB(16777215);
eqClip.stripes.setMask(eqClip.mask);
eqClip.stripes2.setMask(eqClip.mask2);
eqClip.stripes._alpha = (eqClip.stripes2._alpha = 50);
setInterval(this, "drawEqualizer", 100, eqClip.mask);
setInterval(this, "drawEqualizer", 100, eqClip.mask2);
}
function drawEqualizer(tgt) {
tgt.clear();
tgt.beginFill(0, 100);
tgt.moveTo(0, 0);
var _local5 = Math.round(currentVolume / 4);
var _local2 = 0;
while (_local2 < eqStripes) {
var _local4 = (random(_local5) + (_local5 / 2)) + 2;
if (_local2 == Math.floor(eqStripes / 2)) {
_local4 = 0;
}
tgt.lineTo(_local2 * 6, -1);
tgt.lineTo(_local2 * 6, -_local4);
tgt.lineTo((_local2 * 6) + 4, -_local4);
tgt.lineTo((_local2 * 6) + 4, -1);
tgt.lineTo(_local2 * 6, -1);
_local2++;
}
tgt.lineTo(_local2 * 6, 0);
tgt.lineTo(0, 0);
tgt.endFill();
}
function setVolume(vol) {
currentVolume = vol;
}
function setState(stt) {
((stt == 2) ? ((eqClip._visible = true)) : ((eqClip._visible = false)));
}
function onFullScreen(fs) {
if (fs == true) {
eqClip._visible = false;
} else {
eqClip._visible = true;
}
}
}
Symbol 131 MovieClip [__Packages.com.jeroenwijering.players.CaptionsView] Frame 0
class com.jeroenwijering.players.CaptionsView extends com.jeroenwijering.players.AbstractView
{
var parser, clip, config, captions, feeder, currentTime, capTime;
function CaptionsView (ctr, cfg, fed) {
super(ctr, cfg, fed);
var ref = this;
Stage.addListener(this);
parser = new com.jeroenwijering.players.CaptionsParser();
parser.onParseComplete = function () {
this.parseArray.sortOn("bgn", Array.NUMERIC);
ref.captions = this.parseArray;
};
clip = config.clip.captions;
setDimensions();
}
function setDimensions() {
clip.txt.autoSize = "center";
clip.bck._height = clip.txt._height + 10;
if (Stage.displayState == "fullScreen") {
clip._width = Stage.width;
clip._yscale = clip._xscale;
clip._y = Stage.height - clip._height;
} else {
clip._width = config.displaywidth;
clip._yscale = clip._xscale;
clip._y = config.displayheight - clip._height;
}
if (System.capabilities.version.indexOf("7,0,") == -1) {
var _local2 = 2 + Math.round(clip._yscale / 100);
var _local3 = new flash.filters.DropShadowFilter(0, 0, 0, 1, _local2, _local2, 50, 2);
clip.filters = new Array(_local3);
}
}
function setItem(idx) {
captions = new Array();
if (feeder.feed[idx].captions == undefined) {
clip.bck._alpha = 0;
} else if ((feeder.feed[idx].captions.indexOf("captionate") > -1) || (feeder.feed[idx].captions == "true")) {
captionate = true;
var _local3 = Number(feeder.feed[idx].captions.substr(-1));
if (isNaN(_local3)) {
capTrack = 0;
} else {
capTrack = _local3;
}
} else {
parser.parse(feeder.feed[idx].captions);
}
}
function setTime(elp, rem) {
currentTime = elp;
if (captionate == false) {
setCaption();
}
}
function setCaption() {
var _local3 = captions.length;
var _local2 = 0;
while (_local2 < captions.length) {
if (captions[_local2].bgn > currentTime) {
_local3 = _local2;
break;
}
_local2++;
}
if ((captions[_local3 - 1].bgn + captions[_local3 - 1].dur) > currentTime) {
clip.txt.htmlText = captions[_local3 - 1].txt;
if (System.capabilities.version.indexOf("7,0,") > -1) {
clip.bck._alpha = 50;
clip.bck._height = Math.round(clip.txt._height + 10);
} else {
clip.bck._height = Math.round(clip.txt._height + 15);
}
if (Stage.displayState == "fullScreen") {
clip._y = Stage.height - clip._height;
} else {
clip._y = config.displayheight - clip._height;
}
} else {
clip.txt.htmlText = "";
}
}
function onCaptionate(cap) {
clip.txt.htmlText = cap[capTrack];
capTime = currentTime;
}
function onResize() {
setDimensions();
}
function onFullScreen(fs) {
if (fs == false) {
setDimensions();
}
}
var captionate = false;
var capTrack = 0;
}
Symbol 132 MovieClip [__Packages.com.jeroenwijering.players.CaptionsParser] Frame 0
class com.jeroenwijering.players.CaptionsParser
{
var parseURL, parseArray, parseLV, parseXML;
function CaptionsParser () {
}
function parse(url) {
parseURL = url;
parseArray = new Array();
((parseURL.indexOf(".srt") == -1) ? (parseTT()) : (parseSRT()));
}
function parseSRT() {
var ref = this;
parseLV = new LoadVars();
parseLV.onLoad = function (scs) {
if (scs) {
var _local11 = "";
var _local5 = -2;
while (_local5 < unescape(this).length) {
var _local10 = _local5;
_local5 = unescape(this).indexOf("=&", _local5 + 2);
((_local5 == -1) ? (_local5 = unescape(this).length) : null);
_local11 = ("&" + unescape(this).substring(_local10 + 2, _local5)) + _local11;
}
var _local3 = _local11.split("\r\n\r\n");
var _local2 = 0;
while (_local2 < _local3.length) {
var _local4 = new Object();
var _local6 = _local3[_local2].indexOf(":");
_local4.bgn = ((Number(_local3[_local2].substr(_local6 - 2, 2)) * 3600) + (Number(_local3[_local2].substr(_local6 + 1, 2)) * 60)) + Number((_local3[_local2].substr(_local6 + 4, 2) + ".") + _local3[_local2].substr(_local6 + 7, 2));
var _local7 = _local3[_local2].indexOf(":", _local6 + 6);
_local4.dur = (((Number(_local3[_local2].substr(_local7 - 2, 2)) * 3600) + (Number(_local3[_local2].substr(_local7 + 1, 2)) * 60)) + Number((_local3[_local2].substr(_local7 + 4, 2) + ".") + _local3[_local2].substr(_local7 + 7, 2))) - _local4.bgn;
var _local8 = _local3[_local2].indexOf("\r\n", _local7);
if (_local3[_local2].indexOf("\r\n", _local8 + 5) > -1) {
var _local9 = _local3[_local2].indexOf("\r\n", _local8 + 5);
_local3[_local2] = (_local3[_local2].substr(0, _local9) + "<br />") + _local3[_local2].substr(_local9 + 2);
}
_local4.txt = _local3[_local2].substr(_local8 + 2);
if (!isNaN(_local4.bgn)) {
ref.parseArray.push(_local4);
}
_local2++;
}
} else {
this.parseArray.push({txt:"File not found: " + ref.parseURL, bgn:1, dur:5});
}
if (this.parseArray.length == 0) {
this.parseArray.push({txt:"Empty file: " + ref.parseURL, bgn:1, dur:5});
}
delete ref.parseLV;
ref.onParseComplete();
};
if (_root._url.indexOf("file://") > -1) {
parseLV.load(parseURL);
} else if (parseURL.indexOf("?") > -1) {
parseLV.load((parseURL + "&") + random(999));
} else {
parseLV.load((parseURL + "?") + random(999));
}
}
function parseTT() {
var ref = this;
parseXML = new XML();
parseXML.ignoreWhite = true;
parseXML.onLoad = function (scs) {
if (scs) {
if (this.firstChild.nodeName.toLowerCase() == "tt") {
var _local4 = this.firstChild.childNodes[1];
if (_local4.firstChild.firstChild.attributes.begin == undefined) {
var _local3 = 0;
while (_local3 < _local4.childNodes.length) {
var _local2 = new Object();
var _local7 = _local4.childNodes[_local3].attributes.begin;
_local2.bgn = com.jeroenwijering.utils.StringMagic.toSeconds(_local7);
var _local6 = _local4.childNodes[_local3].attributes.dur;
_local2.dur = com.jeroenwijering.utils.StringMagic.toSeconds(_local6);
_local2.txt = _local4.childNodes[_local3].firstChild.firstChild.nodeValue;
ref.parseArray.push(_local2);
_local3++;
}
} else {
var _local5 = _local4.firstChild;
var _local3 = 0;
while (_local3 < _local5.childNodes.length) {
var _local2 = new Object();
var _local7 = _local5.childNodes[_local3].attributes.begin;
_local2.bgn = com.jeroenwijering.utils.StringMagic.toSeconds(_local7);
var _local8 = _local5.childNodes[_local3].attributes.end;
_local2.dur = com.jeroenwijering.utils.StringMagic.toSeconds(_local8) - _local2.bgn;
_local2.txt = _local5.childNodes[_local3].firstChild.nodeValue;
ref.parseArray.push(_local2);
_local3++;
}
}
}
} else {
this.parseArray.push({txt:"File not found: " + ref.parseURL});
}
if (this.parseArray.length == 0) {
this.parseArray.push({txt:"Incompatible file: " + ref.parseURL});
}
delete ref.parseXML;
ref.onParseComplete();
};
if (_root._url.indexOf("file://") > -1) {
parseXML.load(parseURL);
} else if (parseURL.indexOf("?") > -1) {
parseXML.load((parseURL + "&") + random(999));
} else {
parseXML.load((parseURL + "?") + random(999));
}
}
function onParseComplete() {
}
}
Symbol 133 MovieClip [__Packages.com.jeroenwijering.players.RecommendationsView] Frame 0
class com.jeroenwijering.players.RecommendationsView extends com.jeroenwijering.players.AbstractView
{
var config, feeder, clip, fitting, parser, recommendations;
function RecommendationsView (ctr, cfg, fed) {
super();
config = cfg;
feeder = fed;
clip = config.clip.recommendations;
fitting = Math.floor((config.displaywidth - 44) / 70);
var ref = this;
parser = new com.jeroenwijering.utils.XMLParser();
parser.onComplete = function () {
ref.loadRecommendations(this.output);
};
setButtons();
}
function setButtons() {
var ref = this;
clip._visible = false;
clip._y = config.displayheight - 85;
clip.txt._x = 10;
clip.txt._width = config.displaywidth - 20;
clip.txt.textColor = config.backcolor;
clip.prv._x = (config.displaywidth / 2) - (fitting * 35);
clip.nxt._x = (config.displaywidth / 2) + (fitting * 35);
clip.prv.col = new Color(clip.prv);
clip.prv.col.setRGB(config.backcolor);
clip.prv.onRelease = function () {
this.col.setRGB(ref.config.backcolor);
ref.showRecommendations(ref.offset - ref.fitting);
};
clip.prv._visible = false;
clip.nxt.col = new Color(clip.nxt);
clip.nxt.col.setRGB(config.backcolor);
clip.nxt.onRelease = function () {
this.col.setRGB(ref.config.backcolor);
ref.showRecommendations(ref.offset + ref.fitting);
};
clip.nxt._visible = false;
clip.itm._visible = false;
var _local2 = 0;
while (_local2 < fitting) {
clip.itm.duplicateMovieClip("itm" + _local2, _local2);
clip["itm" + _local2]._x = (clip.prv._x + (_local2 * 70)) + 5;
clip["itm" + _local2].ldr = new com.jeroenwijering.utils.ImageLoader(clip["itm" + _local2].img, "true", 60, 45);
clip["itm" + _local2].ldr.onLoadFinished = function () {
com.jeroenwijering.utils.Animations.fadeIn(this.targetClip._parent);
};
clip["itm" + _local2].img.setMask(clip["itm" + _local2].msk);
clip["itm" + _local2].cl1 = new Color(clip["itm" + _local2].bdr);
clip["itm" + _local2].cl1.setRGB(config.frontcolor);
clip["itm" + _local2].cl2 = new Color(clip["itm" + _local2].icn);
clip["itm" + _local2].cl2.setRGB(config.backcolor);
clip["itm" + _local2].icn._visible = false;
clip["itm" + _local2].onRollOver = function () {
this.cl1.setRGB(ref.config.backcolor);
this.icn._visible = true;
ref.setTitle(this.num);
};
clip["itm" + _local2].onRollOut = function () {
this.cl1.setRGB(ref.config.frontcolor);
this.icn._visible = false;
ref.clearTitle();
};
clip["itm" + _local2].onRelease = function () {
ref.getLink(this.num);
};
clip["itm" + _local2]._visible = false;
clip["itm" + _local2]._alpha = 0;
_local2++;
}
}
function loadRecommendations(rcm) {
recommendations = new Array();
var _local3 = 0;
while (_local3 < rcm.childs.length) {
var _local5 = new Object();
var _local2 = 0;
while (_local2 < rcm.childs[_local3].childs.length) {
_local5[rcm.childs[_local3].childs[_local2].name] = rcm.childs[_local3].childs[_local2].value;
_local2++;
}
recommendations.push(_local5);
_local3++;
}
showRecommendations(0);
}
function showRecommendations(off) {
offset = off;
clip._visible = true;
((off == 0) ? ((clip.prv._visible = false)) : ((clip.prv._visible = true)));
((off >= (recommendations.length - fitting)) ? ((clip.nxt._visible = false)) : ((clip.nxt._visible = true)));
var _local2 = 0;
while (_local2 < fitting) {
clip["itm" + _local2].num = _local2 + off;
if (recommendations[_local2 + off] == undefined) {
clip["itm" + _local2]._visible = false;
clip["itm" + _local2]._alpha = 0;
} else {
clip["itm" + _local2].ldr.loadImage(recommendations[_local2 + off].image);
}
_local2++;
}
}
function setState(stt) {
if (stt == 3) {
parser.parse(config.recommendations);
config.clip.display.thumb._alpha = 33;
} else if ((stt == 1) || (stt == 2)) {
clip._visible = false;
config.clip.display.thumb._alpha = 100;
}
}
function setTitle(idx) {
clip.txt.text = recommendations[idx].title;
}
function clearTitle() {
clip.txt.text = "";
}
function getLink(idx) {
getURL (recommendations[idx].link, config.linktarget);
}
var offset = 0;
}
Symbol 134 MovieClip [__Packages.com.jeroenwijering.players.AudioView] Frame 0
class com.jeroenwijering.players.AudioView extends com.jeroenwijering.players.AbstractView
{
var sync, audioClip, config, audioObject, currentItem, currentState, audioTime, feeder, isLoaded;
function AudioView (ctr, cfg, fed, snc) {
super(ctr, cfg, fed);
sync = snc;
var ref = this;
audioClip = config.clip.createEmptyMovieClip("audio", config.clip.getNextHighestDepth());
audioClip.setStart = function () {
if ((ref.stopTime == undefined) && (ref.sync == false)) {
ref.audioObject.loadSound(ref.feeder.feed[0].audio, true);
ref.audioObject.start(0);
} else if (ref.sync == false) {
ref.audioObject.start(ref.stopTime);
} else if (ref.currentState == 2) {
ref.audioObject.start(this.currentTime);
}
};
audioClip.setStop = function () {
ref.audioObject.stop();
ref.stopTime = ref.audioObject.position / 1000;
};
audioObject = new Sound(audioClip);
audioObject.setVolume(config.volume);
if ((config.useaudio == "true") && (sync == false)) {
audioClip.setStart();
}
if (sync == false) {
audioObject.onSoundComplete = function () {
this.start();
};
}
}
function setItem(idx) {
currentItem = idx;
}
function setState(stt) {
currentState = stt;
if (sync == false) {
return(undefined);
}
if ((stt == 2) && (config.useaudio == "true")) {
audioObject.start(currentTime);
} else {
audioObject.stop();
}
}
function setTime(elp, rem) {
if (sync == false) {
return(undefined);
}
if (Math.abs(elp - currentTime) > 1) {
currentTime = elp;
audioTime = audioObject.position / 1000;
if ((Math.abs(currentTime - audioTime) > 1) && (config.useaudio == "true")) {
audioObject.start(currentTime);
}
}
if (isLoaded != feeder.feed[currentItem].audio) {
isLoaded = feeder.feed[currentItem].audio;
audioObject.loadSound(isLoaded, true);
}
}
var currentTime = 0;
}
Symbol 135 MovieClip [__Packages.com.jeroenwijering.players.JavascriptView] Frame 0
class com.jeroenwijering.players.JavascriptView extends com.jeroenwijering.players.AbstractView
{
var sendEvent, loads, config, elaps, remain;
function JavascriptView (ctr, cfg, fed) {
super(ctr, cfg, fed);
if (flash.external.ExternalInterface.available) {
flash.external.ExternalInterface.addCallback("sendEvent", this, sendEvent);
}
}
function getUpdate(typ, pr1, pr2) {
if (flash.external.ExternalInterface.available) {
switch (typ) {
case "load" :
if (Math.round(pr1) != loads) {
loads = Math.round(pr1);
flash.external.ExternalInterface.call("getUpdate", typ, loads, pr2, config.javascriptid);
}
break;
case "time" :
if ((Math.round(pr1) != elaps) || (Math.round(pr2) != remain)) {
elaps = Math.round(pr1);
remain = Math.round(pr2);
flash.external.ExternalInterface.call("getUpdate", typ, elaps, remain, config.javascriptid);
}
break;
case "item" :
flash.external.ExternalInterface.call("getUpdate", typ, pr1, pr2, config.javascriptid);
break;
case "state" :
sendStatusChange(pr1);
flash.external.ExternalInterface.call("getUpdate", typ, pr1, pr2, config.javascriptid);
break;
default :
flash.external.ExternalInterface.call("getUpdate", typ, pr1, pr2, config.javascriptid);
}
}
}
function sendStatusChange(stt) {
if (!((state == 3) && (stt == 0))) {
flash.external.ExternalInterface.call("playerStatusChange", statuses[state], statuses[stt]);
}
state = stt;
}
var state = 4;
var statuses = new Array("PAUSED", "BUFFERING", "PLAYING", "COMPLETE", "NOT STARTED");
}
Symbol 136 MovieClip [__Packages.com.jeroenwijering.players.CallbackView] Frame 0
class com.jeroenwijering.players.CallbackView extends com.jeroenwijering.players.AbstractView
{
var config, varsObject, startStamp, playSentInt, currentItem, feeder;
function CallbackView (ctr, cfg, fed) {
super(ctr, cfg, fed);
if (config.callback != "analytics") {
varsObject = new LoadVars();
}
}
function setState(pr1) {
if (pr1 == 3) {
var _local2 = Math.round((new Date().valueOf() / 1000) - startStamp);
sendVars("stop", _local2, true);
playSent = false;
} else if ((pr1 == 2) && (playSent == false)) {
playSentInt = setInterval(this, "sendVars", 500, "start", 0);
playSent = true;
startStamp = new Date().valueOf() / 1000;
}
}
function setItem(pr1) {
if ((playSent == true) && (currentItem != undefined)) {
var _local2 = Math.round((new Date().valueOf() / 1000) - startStamp);
sendVars("stop", _local2, false);
playSent = false;
}
currentItem = pr1;
}
function sendVars(stt, dur, cpl) {
clearInterval(playSentInt);
if (config.callback == "analytics") {
var _local2 = feeder.feed[currentItem].file;
if (_local2.indexOf("http") != undefined) {
_local2 = _local2.substring(_local2.indexOf("/", 7) + 1);
}
if (stt == "start") {
getURL (("javascript:urchinTracker('/start_stream/" + _local2) + "');");
} else if ((stt == "stop") && (cpl == true)) {
getURL (("javascript:urchinTracker('/end_stream/" + _local2) + "');");
}
} else {
varsObject.file = feeder.feed[currentItem].file;
varsObject.title = feeder.feed[currentItem].title;
varsObject.id = feeder.feed[currentItem].id;
varsObject.state = stt;
varsObject.duration = dur;
varsObject.sendAndLoad(config.callback, varsObject, "POST");
}
}
var playSent = false;
}
Symbol 137 MovieClip [__Packages.com.jeroenwijering.players.OverlayView] Frame 0
class com.jeroenwijering.players.OverlayView extends com.jeroenwijering.players.AbstractView
{
var overlay, config, loader, feeder;
function OverlayView (ctr, cfg, fed) {
super(ctr, cfg, fed);
var ref = this;
overlay = config.clip.overlay;
overlay._alpha = 0;
overlay.icn.swapDepths(2);
overlay.icn.onRelease = function () {
com.jeroenwijering.utils.Animations.fadeOut(ref.overlay, 0);
ref.state = 3;
};
overlay.createEmptyMovieClip("img", 1);
loader = new com.jeroenwijering.utils.ImageLoader(overlay.img, "none");
loader.onLoadFinished = function () {
ref.setDimensions();
};
Stage.addListener(this);
}
function setDimensions() {
overlay.icn._x = 0;
overlay.img.mc.gotoAndPlay(1);
if (Stage.displayState == "fullScreen") {
overlay._xscale = (overlay._yscale = 200);
overlay._x = (Stage.width / 2) - (overlay._width / 2);
overlay._y = (Stage.height - overlay._height) - 50;
overlay.icn._x = (overlay._width / 2) - 20;
} else {
overlay._xscale = (overlay._yscale = 100);
overlay._x = (config.displaywidth / 2) - (overlay._width / 2);
overlay._y = (config.displayheight - overlay._height) - 10;
overlay.icn._x = overlay._width - 20;
}
}
function setItem(itm) {
if (feeder.feed[itm].overlayfile != undefined) {
loader.loadImage(feeder.feed[itm].overlayfile);
var lnk = feeder.feed[itm].overlaylink;
var tgt = config.linktarget;
overlay.img.onRelease = function () {
getURL (lnk, tgt);
};
state = 1;
} else {
overlay._visible = false;
state = 0;
}
}
function setTime(elp, rem) {
if ((elp > 2) && (state == 1)) {
state = 2;
overlay.img.mc.gotoAndPlay(1);
com.jeroenwijering.utils.Animations.fadeIn(overlay, 100);
} else if ((rem < 2) && (state == 2)) {
com.jeroenwijering.utils.Animations.fadeOut(overlay, 0);
state = 3;
}
}
function setState(stt) {
if ((stt == 3) && (state == 3)) {
state = 1;
}
}
function onResize() {
setDimensions();
}
function onFullScreen(fs) {
if (fs == false) {
setDimensions();
}
}
var state = 0;
}
Symbol 138 MovieClip [__Packages.com.jeroenwijering.players.MP3Model] Frame 0
class com.jeroenwijering.players.MP3Model extends com.jeroenwijering.players.AbstractModel
{
var soundClip, currentItem, feeder, positionInterval, currentURL, soundObject, currentVolume, sendUpdate, loadedInterval, currentPosition, currentState;
function MP3Model (vws, ctr, cfg, fed, scl) {
super(vws, ctr, cfg, fed);
soundClip = scl;
}
function setStart(pos) {
if (pos < 1) {
pos = 0;
} else if (pos > (feeder.feed[currentItem].duration - 1)) {
pos = feeder.feed[currentItem].duration - 1;
}
clearInterval(positionInterval);
if (feeder.feed[currentItem].file != currentURL) {
var ref = this;
currentURL = feeder.feed[currentItem].file;
soundObject = new Sound(soundClip);
soundObject.onSoundComplete = function () {
ref.currentState = 3;
ref.sendUpdate("state", 3);
ref.sendCompleteEvent();
};
soundObject.onLoad = function (scs) {
if (scs == false) {
ref.currentState = 3;
ref.sendUpdate("state", 3);
ref.sendCompleteEvent();
}
};
soundObject.loadSound(currentURL, true);
soundObject.setVolume(currentVolume);
sendUpdate("load", 0);
loadedInterval = setInterval(this, "updateLoaded", 100);
}
if (pos != undefined) {
currentPosition = pos;
((pos == 0) ? (sendUpdate("time", 0, feeder.feed[currentItem].duration)) : null);
}
soundObject.start(currentPosition);
updatePosition();
sendUpdate("size", 0, 0);
positionInterval = setInterval(this, "updatePosition", 100);
}
function updateLoaded() {
var _local2 = Math.round((soundObject.getBytesLoaded() / soundObject.getBytesTotal()) * 100);
if (isNaN(_local2)) {
currentLoaded = 0;
sendUpdate("load", 0);
} else if (_local2 != currentLoaded) {
sendUpdate("load", _local2);
currentLoaded = _local2;
} else if (_local2 >= 100) {
clearInterval(loadedInterval);
currentLoaded = 100;
sendUpdate("load", 100);
}
}
function updatePosition() {
var _local2 = soundObject.position / 1000;
feeder.feed[currentItem].duration = soundObject.duration / (10 * currentLoaded);
if ((_local2 == currentPosition) && (currentState != 1)) {
currentState = 1;
sendUpdate("state", 1);
} else if ((_local2 != currentPosition) && (currentState != 2)) {
currentState = 2;
sendUpdate("state", 2);
}
if (_local2 != currentPosition) {
currentPosition = _local2;
sendUpdate("time", currentPosition, feeder.feed[currentItem].duration - currentPosition);
}
}
function setPause(pos) {
if (pos < 1) {
pos = 0;
} else if (pos > (feeder.feed[currentItem].duration - 1)) {
pos = feeder.feed[currentItem].duration - 1;
}
soundObject.stop();
clearInterval(positionInterval);
currentState = 0;
sendUpdate("state", 0);
if (pos != undefined) {
currentPosition = pos;
sendUpdate("time", currentPosition, feeder.feed[currentItem].duration - currentPosition);
}
}
function setStop() {
soundObject.stop();
clearInterval(positionInterval);
clearInterval(loadedInterval);
delete currentURL;
delete soundObject;
currentLoaded = 0;
}
function setVolume(vol) {
super.setVolume(vol);
currentVolume = vol;
soundObject.setVolume(vol);
}
var mediatypes = new Array("mp3", "rbs");
var currentLoaded = 0;
}
Symbol 139 MovieClip [__Packages.com.jeroenwijering.players.FLVModel] Frame 0
class com.jeroenwijering.players.FLVModel extends com.jeroenwijering.players.AbstractModel
{
var connectObject, videoClip, config, soundObject, isActive, flvType, currentItem, feeder, currentPosition, currentURL, streamObject, positionInterval, loadedInterval, sendUpdate, currentState, sendCompleteEvent, currentVolume, isH264;
function FLVModel (vws, ctr, cfg, fed, fcl) {
super(vws, ctr, cfg, fed);
connectObject = new NetConnection();
videoClip = fcl;
if (config.smoothing == "false") {
videoClip.display.smoothing = false;
} else {
videoClip.display.smoothing = true;
}
videoClip.display.deblocking = config.deblocking;
videoClip.createEmptyMovieClip("snd", videoClip.getNextHighestDepth());
soundObject = new Sound(videoClip.snd);
}
function setItem(idx) {
super.setItem(idx);
if (isActive == true) {
if (config.streamscript != undefined) {
flvType = "HTTP";
} else if (feeder.feed[currentItem].type == "rtmp") {
flvType = "RTMP";
} else {
flvType = "FLV";
}
}
}
function setStart(pos) {
if (pos != undefined) {
currentPosition = pos;
}
if (pos < 1) {
pos = 0;
} else if (pos > (feeder.feed[currentItem].duration - 1)) {
pos = feeder.feed[currentItem].duration - 1;
}
if ((flvType == "RTMP") && (feeder.feed[currentItem].id != currentURL)) {
connectObject.connect(feeder.feed[currentItem].file);
currentURL = feeder.feed[currentItem].id;
setStreamObject(connectObject);
streamObject.play(currentURL);
} else if ((flvType != "RTMP") && (feeder.feed[currentItem].file != currentURL)) {
connectObject.connect(null);
currentURL = feeder.feed[currentItem].file;
if (flvType == "HTTP") {
setStreamObject(connectObject);
if (config.streamscript == "lighttpd") {
streamObject.play(currentURL);
} else {
streamObject.play((config.streamscript + "?file=") + currentURL);
}
} else {
setStreamObject(connectObject);
streamObject.play(currentURL);
}
} else if (flvType == "HTTP") {
playKeyframe(currentPosition);
} else if (((flvType == "RTMP") || (flvType == "FLV")) && (pos > 0)) {
streamObject.seek(currentPosition);
} else {
streamObject.pause(false);
}
videoClip._visible = true;
videoClip._parent.thumb._visible = false;
clearInterval(positionInterval);
positionInterval = setInterval(this, "updatePosition", 100);
clearInterval(loadedInterval);
loadedInterval = setInterval(this, "updateLoaded", 100);
}
function updateLoaded() {
if (flvType == "FLV") {
var _local2 = Math.round((streamObject.bytesLoaded / streamObject.bytesTotal) * 100);
} else {
var _local2 = Math.round((streamObject.bufferLength / streamObject.bufferTime) * 100);
}
if (isNaN(_local2)) {
currentLoaded = 0;
sendUpdate("load", 0);
} else if (_local2 > 95) {
clearInterval(loadedInterval);
currentLoaded = 100;
sendUpdate("load", 100);
} else if (_local2 != currentLoaded) {
currentLoaded = _local2;
sendUpdate("load", currentLoaded);
}
}
function updatePosition() {
var _local2 = streamObject.time + timeOffset;
if (config.bufferlength < 3) {
var _local3 = 2;
} else {
var _local3 = config.bufferlength - 1;
}
if (((_local2 == currentPosition) && (currentState != 1)) && (stopFired != true)) {
if (bufferCount == 3) {
currentState = 1;
sendUpdate("state", 1);
bufferCount = 0;
} else {
bufferCount++;
}
} else if ((_local2 != currentPosition) && (currentState != 2)) {
bufferCount = 0;
currentState = 2;
sendUpdate("state", 2);
}
if (_local2 != currentPosition) {
currentPosition = _local2;
if (feeder.feed[currentItem].duration < currentPosition) {
feeder.feed[currentItem].duration = currentPosition;
}
sendUpdate("time", currentPosition, feeder.feed[currentItem].duration - currentPosition);
} else if ((((_local2 > 10) && (_local2 > (feeder.feed[currentItem].duration - _local3))) && (currentState == 1)) || (stopFired == true)) {
currentState = 3;
videoClip._visible = false;
videoClip._parent.thumb._visible = true;
sendUpdate("state", 3);
sendCompleteEvent();
stopFired = false;
}
}
function setPause(pos) {
if (pos < 1) {
pos = 0;
}
clearInterval(positionInterval);
if (pos != undefined) {
currentPosition = pos;
sendUpdate("time", currentPosition, Math.abs(feeder.feed[currentItem].duration - currentPosition));
streamObject.seek(currentPosition);
}
streamObject.pause(true);
currentState = 0;
sendUpdate("state", 0);
}
function setStop(pos) {
clearInterval(loadedInterval);
clearInterval(positionInterval);
videoClip._visible = false;
delete currentURL;
delete currentLoaded;
delete currentPosition;
delete metaKeyframes;
currentLoaded = 0;
stopFired = false;
timeOffset = 0;
streamObject.close();
delete streamObject;
}
function setVolume(vol) {
super.setVolume(vol);
currentVolume = vol;
soundObject.setVolume(vol);
}
function setStreamObject(cnt) {
var ref = this;
currentLoaded = 0;
sendUpdate("load", 0);
streamObject = new NetStream(cnt);
streamObject.setBufferTime(config.bufferlength);
streamObject.onMetaData = function (obj) {
ref.sendUpdate("datarate", obj.videodatarate, obj.audiodatarate);
((obj.duration > 1) ? ((ref.feeder.feed[ref.currentItem].duration = obj.duration)) : null);
if (obj.width > 10) {
ref.sendUpdate("size", obj.width, obj.height);
}
if (obj.seekpoints != undefined) {
ref.isH264 = true;
ref.metaKeyframes = new Object();
ref.metaKeyframes.times = new Array();
ref.metaKeyframes.filepositions = new Array();
for (var _local3 in obj.seekpoints) {
ref.metaKeyframes.times.unshift(Number(obj.seekpoints[_local3].time));
ref.metaKeyframes.filepositions.unshift(Number(obj.seekpoints[_local3].time));
}
} else {
ref.metaKeyframes = obj.keyframes;
}
if (ref.feeder.feed[ref.currentItem].start > 0) {
if (ref.flvType == "HTTP") {
ref.playKeyframe(ref.feeder.feed[ref.currentItem].start);
} else if (ref.flvType == "RTMP") {
ref.setStart(ref.feeder.feed[ref.currentItem].start);
}
}
delete this.onMetaData;
};
streamObject.onStatus = function (object) {
trace("status: " + object.code);
if (object.code == "NetStream.Play.Stop") {
ref.stopFired = true;
} else if (object.code == "NetStream.Play.StreamNotFound") {
ref.currentState = 3;
ref.videoClip._visible = false;
ref.sendUpdate("state", 3);
ref.sendCompleteEvent();
ref.stopFired = false;
}
};
streamObject.onCaption = function (cap) {
ref.capView.onCaptionate(cap);
};
videoClip.display.attachVideo(streamObject);
videoClip.snd.attachAudio(streamObject);
}
function playKeyframe(pos) {
var _local2 = 0;
while (_local2 < metaKeyframes.times.length) {
if ((metaKeyframes.times[_local2] <= pos) && (metaKeyframes.times[_local2 + 1] >= pos)) {
if (config.streamscript == "lighttpd") {
streamObject.play((currentURL + "?start=") + metaKeyframes.filepositions[_local2]);
if (isH264 == true) {
timeOffset = metaKeyframes.filepositions[_local2];
}
} else {
streamObject.play((((config.streamscript + "?file=") + currentURL) + "&pos=") + metaKeyframes.filepositions[_local2]);
}
break;
}
_local2++;
}
}
var mediatypes = new Array("flv", "rtmp", "mp4", "m4v", "m4a", "mov", "3gp", "3g2");
var currentLoaded = 0;
var metaKeyframes = new Object();
var stopFired = false;
var timeOffset = 0;
var bufferCount = 0;
}
Symbol 140 MovieClip [__Packages.com.jeroenwijering.players.ImageModel] Frame 0
class com.jeroenwijering.players.ImageModel extends com.jeroenwijering.players.AbstractModel
{
var imageClip, imageLoader, config, currentItem, feeder, positionInterval, currentURL, isSWF, currentState, sendUpdate, currentPosition, sendCompleteEvent, isActive;
function ImageModel (vws, ctr, cfg, fed, imc, scl) {
super(vws, ctr, cfg, fed);
imageClip = imc;
var ref = this;
if (arguments[5] == true) {
imageLoader = new com.jeroenwijering.utils.ImageLoader(imageClip, config.overstretch, config.width, config.height);
} else {
imageLoader = new com.jeroenwijering.utils.ImageLoader(imageClip);
}
imageLoader.onLoadFinished = function () {
ref.currentState = 2;
ref.sendUpdate("state", 2);
ref.sendUpdate("load", 100);
};
imageLoader.onLoadProgress = function (tgt, btl, btt) {
ref.sendUpdate("load", Math.round((btl / btt) * 100));
};
imageLoader.onMetaData = function () {
ref.sendUpdate("size", this.sourceWidth, this.sourceHeight);
if (this.sourceLength > ref.feeder.feed[ref.currentItem].duration) {
ref.feeder.feed[ref.currentItem].duration = this.sourceLength;
}
};
}
function setStart(pos) {
if (pos < 1) {
pos = 0;
} else if (pos > (feeder.feed[currentItem].duration - 1)) {
pos = feeder.feed[currentItem].duration - 1;
}
clearInterval(positionInterval);
if (feeder.feed[currentItem].file != currentURL) {
imageClip._visible = true;
currentURL = feeder.feed[currentItem].file;
if (feeder.feed[currentItem].file.indexOf(".swf") == -1) {
isSWF = false;
} else {
isSWF = true;
}
imageLoader.loadImage(feeder.feed[currentItem].file);
currentState = 1;
sendUpdate("state", 1);
sendUpdate("load", 0);
} else {
currentState = 2;
sendUpdate("state", 2);
}
if (pos != undefined) {
currentPosition = pos;
if (isSWF != true) {
} else {
(imageClip.mc.gotoAndPlay(pos * 20));// not popped
}
((pos == 0) ? (sendUpdate("time", 0, feeder.feed[currentItem].duration)) : null);
} else {
((isSWF == true) ? (imageClip.mc.play()) : null);
}
positionInterval = setInterval(this, "updatePosition", 100);
}
function updatePosition() {
if (currentState == 2) {
currentPosition = currentPosition + 0.1;
if (currentPosition >= feeder.feed[currentItem].duration) {
currentState = 3;
sendUpdate("state", 3);
sendCompleteEvent();
} else {
sendUpdate("time", currentPosition, feeder.feed[currentItem].duration - currentPosition);
}
}
}
function setPause(pos) {
if (pos < 1) {
pos = 0;
} else if (pos > (feeder.feed[currentItem].duration - 1)) {
pos = feeder.feed[currentItem].duration - 1;
}
clearInterval(positionInterval);
currentState = 0;
sendUpdate("state", 0);
if (pos != undefined) {
currentPosition = pos;
sendUpdate("time", currentPosition, feeder.feed[currentItem].duration - currentPosition);
if (isSWF != true) {
} else {
(imageClip.mc.gotoAndStop((pos * 20) + 1));// not popped
}
} else {
((isSWF == true) ? (imageClip.mc.stop()) : null);
}
}
function setStop() {
delete currentURL;
clearInterval(positionInterval);
currentPosition = 0;
if (isSWF != true) {
} else {
(imageClip.mc.gotoAndStop(1));// not popped
}
if (imageClip.bg == undefined) {
imageClip.mc.removeMovieClip();
imageClip.smc.removeMovieClip();
imageClip._visible = false;
}
}
function setItem(idx) {
super.setItem(idx);
if ((feeder.feed[currentItem].duration == 0) && (isActive == true)) {
feeder.feed[currentItem].duration = config.rotatetime;
}
}
var mediatypes = new Array("jpg", "gif", "png", "swf");
}