[Tools][Expand/Collapse All]Note that automatic extraction of ActionScript 3 is still pretty much unsupported by swfchan. AS1/AS2 works okay most of the time.Frame 1 (763 B)
function setPlayingRain(b) {
if (b == true) {
isPlayingRain = true;
} else {
isPlayingRain = false;
}
}
var file = "http://vip.aersia.net/roster-mellow.xml";
var displayheight = "0";
var autostart = "true";
var repeat = "true";
var shuffle = "true";
var lightcolor = "0x4E91FF";
var backcolor = "0x003366";
var frontcolor = "0xFF9148";
var thumbsinplaylist = "false";
com.jeroenwijering.players.MediaPlayer.main();
player.controlbar.playpauserain.ply._visible = false;
player.controlbar.playpauserain.pas._visible = true;
var isPlayingRain = true;
var trackPos = 0;
var rainy = new Sound();
rainy.loadSound("http://vip.aersia.net/mu/mellow/jamesdueck-rainstorm.mp3", true);
rainy.onSoundComplete = function () {
rainy.start();
};
Symbol 51 MovieClip Frame 1 (184 B)
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 80 MovieClip Frame 1 (1.25 KiB) ●
playpause._accProps = new Object();
playpause._accProps.name = "Pause";
playpause._accProps.shortcut = "p";
playpauserain._accProps = new Object();
playpauserain._accProps.name = "Pause";
playpauserain._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;
playpauserain.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;
Instance of Symbol 29 MovieClip "playpauserain" in Symbol 80 MovieClip Frame 1 (327 B)
on (release) {
if (_root.isPlayingRain == true) {
_root.trackPos = _root.rainy.position;
_root.rainy.stop();
ply._visible = true;
pas._visible = false;
_root.setPlayingRain(false);
} else {
_root.rainy.start(_root.trackPos / 1000);
ply._visible = false;
pas._visible = true;
_root.setPlayingRain(true);
}
}
Symbol 123 MovieClip Frame 1 (297 B)
link._accProps = new Object();
link._accProps.name = "Link";
link._accProps.shortcut = "l";
video._accProps = new Object();
video._accProps.silent = true;
back._accProps = new Object();
back._accProps.name = "Link";
back._accProps.shortcut = "l";
link.tabIndex = 1;
back.tabIndex = 1;
Symbol 134 MovieClip Frame 1 (163 B)
btn._accProps = new Object();
btn._accProps.name = "go";
ipt._accProps = new Object();
ipt._accProps.name = "search";
ipt.tabIndex = 10;
btn.tabIndex = 11;
Instance of Symbol 134 MovieClip "search" in Symbol 141 MovieClip Frame 1 (21 B)
/* no clip actions */
Symbol 142 MovieClip [__Packages.com.jeroenwijering.feeds.FeedListener] Frame 0 (54 B)
interface com.jeroenwijering.feeds.FeedListener
{
}
Symbol 143 MovieClip [__Packages.com.jeroenwijering.players.AbstractPlayer] Frame 0 (1.95 KiB) ●
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() {
if (config.shownavigation == "false") {
config.controlbar = 0;
}
if ((config.searchbar == "true") && (config.height > 50)) {
config.searchbar = 28;
} else {
config.searchbar = 0;
}
if (config.displayheight == undefined) {
config.displayheight = (config.height - config.controlbar) - config.searchbar;
} else if (config.displayheight >= (config.height - config.searchbar)) {
config.displayheight = config.height - config.searchbar;
} else {
config.displayheight = Number(config.displayheight);
}
if (config.displaywidth == undefined) {
config.displaywidth = config.width;
} else {
config.displaywidth = Number(config.displaywidth);
}
((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(config);
}
function onFeedUpdate(typ) {
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 144 MovieClip [__Packages.com.jeroenwijering.feeds.FeedManager] Frame 0 (5.98 KiB) ● ●
class com.jeroenwijering.feeds.FeedManager
{
var enclosures, stream, listeners, feed, feedXML, onlymp3s, ischapters, captions, audio;
function FeedManager (enc, jvs, pre, str) {
((enc == true) ? ((enclosures = true)) : ((enclosures = false)));
if (jvs == "true") {
enableJavascript();
}
((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();
var _local4 = "xml";
var _local2 = filetypes.length;
while (_local2-- , _local2 >= 0) {
if (obj.file.substr(0, 4).toLowerCase() == "rtmp") {
_local4 = "rtmp";
} else if (obj.file.indexOf("youtube.com") > -1) {
_local4 = "youtube";
} else if (obj.type == filetypes[_local2]) {
_local4 = filetypes[_local2];
} else if (obj.file.substr(-3).toLowerCase() == filetypes[_local2]) {
_local4 = filetypes[_local2];
}
}
if (_local4 == "xml") {
loadXML(unescape(obj.file));
} else {
feed[0] = new Object();
feed[0].type = _local4;
for (var _local5 in elements) {
if (obj[_local5] != undefined) {
feed[0][_local5] = obj[_local5];
}
}
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);
} else if (_local3 == "videolist") {
ref.parser = new com.jeroenwijering.feeds.AgriyaParser(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) {
onlymp3s = true;
((feed.length > 1) ? ((ischapters = true)) : ((ischapters = false)));
captions = false;
audio = false;
var _local2 = 0;
while (_local2 < feed.length) {
feed[_local2].file = prefix + feed[_local2].file;
if (stream != undefined) {
if (feed[_local2].type == "rtmp") {
feed[_local2].id = feed[_local2].id + stream;
feed[_local2].file = feed[_local2].file;
} else if (feed[_local2].type == "flv") {
feed[_local2].file = (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;
}
if (feed[_local2].fallback != undefined) {
var _local3 = Number(System.capabilities.version.split(" ")[1].substr(0, 1));
var _local4 = Number(System.capabilities.version.split(",")[2]);
if ((_local3 < 9) || ((_local3 == 9) && (_local4 < 90))) {
feed[_local2].file = feed[_local2].fallback;
}
}
_local2++;
}
updateListeners("new");
}
function getLength() {
return(feed.length);
}
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("add");
}
function removeItem(idx) {
if (feed.length == 1) {
return(undefined);
}
if ((arguments.length == 0) || (idx >= feed.length)) {
feed.pop();
} else {
feed.splice(idx, 1);
}
updateListeners("remove");
}
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 updateListeners(typ) {
var _local2 = listeners.length;
while (_local2-- , _local2 >= 0) {
listeners[_local2].onFeedUpdate(typ);
}
}
var prefix = "";
var elements = {file:"", fallback:"", title:"", link:"", id:"", image:"", author:"", captions:"", audio:"", category:"", start:"", type:"", duration:""};
var filetypes = new Array("flv", "mp3", "rbs", "jpg", "gif", "png", "rtmp", "swf", "mp4", "m4v", "m4a", "mov", "3gp", "3g2");
}
Symbol 145 MovieClip [__Packages.com.jeroenwijering.feeds.AbstractParser] Frame 0 (3.51 KiB) ●
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";
mimetypes.m4a = "m4a";
mimetypes["audio/x-m4a"] = "m4a";
mimetypes["video/x-m4v"] = "m4v";
mimetypes.mp4 = "mp4";
mimetypes["video/h264"] = "mp4";
mimetypes["video/3gpp"] = "3gp";
mimetypes["video/x-3gpp2"] = "3g2";
mimetypes["audio/x-3gpp2"] = "3g2";
}
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 _local3 = _local2[5];
var _local5 = _local2[4].split(":");
var _local6 = new Date(_local10, _local9, _local7, _local5[0], _local5[1], _local5[2]);
var _local4 = Math.round(_local6.valueOf() / 1000) - (_local6.getTimezoneOffset() * 60);
if (isNaN(_local3)) {
_local4 = _local4 - (3600 * timezones[_local3]);
} else {
_local4 = _local4 - ((3600 * Number(_local3.substring(0, 3))) - (60 * Number(_local3.substring(3, 2))));
}
return(_local4);
}
return(Number(dat));
}
function iso2Date(dat) {
if (isNaN(dat)) {
while (dat.indexOf(" ") > -1) {
var _local2 = dat.indexOf(" ");
dat = dat.substr(0, _local2) + dat.substr(_local2 + 1);
}
var _local4 = 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 _local3 = Math.round(_local4.valueOf() / 1000) - (_local4.getTimezoneOffset() * 60);
if (dat.length > 20) {
var _local5 = Number(dat.substr(20, 2));
var _local6 = Number(dat.substr(23, 2));
if (dat.charAt(19) == "-") {
_local3 = (_local3 - (_local5 * 3600)) - (_local6 * 60);
} else {
_local3 = _local3 + ((_local5 * 3600) + (_local6 * 60));
}
}
return(_local3);
}
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 146 MovieClip [__Packages.com.jeroenwijering.feeds.RSSParser] Frame 0 (4.66 KiB) ●
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.category = "category";
elements.link = "link";
elements["geo:lat"] = "latitude";
elements["geo:long"] = "longitude";
elements["geo:city"] = "city";
}
function parse(xml) {
var _local13 = new Array();
var _local9 = xml.firstChild.firstChild.firstChild;
var _local12;
while (_local9 != null) {
if (_local9.nodeName.toLowerCase() == "item") {
var _local2 = new Object();
var _local10 = 0;
while (_local10 < _local9.childNodes.length) {
var _local3 = _local9.childNodes[_local10];
var _local5 = _local3.nodeName.toLowerCase();
if (elements[_local5] != undefined) {
_local2[elements[_local5]] = _local3.firstChild.nodeValue;
} else if (_local5 == "description") {
_local2.description = com.jeroenwijering.utils.StringMagic.stripTagsBreaks(_local3.firstChild.nodeValue);
} else if (_local5 == "pubdate") {
_local2.date = rfc2Date(_local3.firstChild.nodeValue);
} else if (_local5 == "dc:date") {
_local2.date = iso2Date(_local3.firstChild.nodeValue);
} else if (_local5 == "media:credit") {
_local2.author = _local3.firstChild.nodeValue;
} else if (_local5 == "media:thumbnail") {
_local2.image = _local3.attributes.url;
} else if (_local5 == "itunes:image") {
_local2.image = _local3.attributes.href;
} else if (_local5 == "georss:point") {
var _local11 = _local3.firstChild.nodeValue.split(" ");
_local2.latitude = Number(_local11[0]);
_local2.longitude = Number(_local11[1]);
} else if ((_local5 == "enclosure") || (_local5 == "media:content")) {
var _local8 = _local3.attributes.type.toLowerCase();
if ((mimetypes[_local8] != undefined) && (_local2.type == undefined)) {
_local2.type = mimetypes[_local8];
_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";
} else if (_local2.file.indexOf("youtube.com") > -1) {
_local2.type = "youtube";
}
if (_local3.childNodes[0].nodeName == "media:thumbnail") {
_local2.image = _local3.childNodes[0].attributes.url;
}
} else if ((_local2.type != undefined) && (_local8 == "video/x-flv")) {
_local2.fallback = _local3.attributes.url;
} else if (_local8 == "captions") {
_local2.captions = _local3.attributes.url;
} else if (_local8 == "audio") {
_local2.audio = _local3.attributes.url;
}
} else if (_local5 == "media:group") {
var _local4 = 0;
while (_local4 < _local3.childNodes.length) {
var _local6 = _local3.childNodes[_local4].nodeName.toLowerCase();
if (_local6 == "media:content") {
var _local7 = _local3.childNodes[_local4].attributes.type.toLowerCase();
if ((mimetypes[_local7] != undefined) && (_local2.type == undefined)) {
_local2.file = _local3.childNodes[_local4].attributes.url;
_local2.duration = com.jeroenwijering.utils.StringMagic.toSeconds(_local3.attributes.duration);
_local2.type = mimetypes[_local7];
if (_local2.file.substr(0, 4) == "rtmp") {
_local2.type = "rtmp";
} else if (_local2.file.indexOf("youtube.com") > -1) {
_local2.type = "youtube";
}
}
if ((_local2.type != undefined) && (_local7 == "video/x-flv")) {
_local2.fallback = _local3.childNodes[_local4].attributes.url;
}
}
if (_local6 == "media:thumbnail") {
_local2.image = _local3.childNodes[_local4].attributes.url;
}
if (_local6 == "media:credit") {
_local2.author = _local3.childNodes[_local4].firstChild.nodeValue;
}
_local4++;
}
}
_local10++;
}
if (_local2.image == undefined) {
if (((_local2.file.indexOf(".jpg") > 0) || (_local2.file.indexOf(".png") > 0)) || (_local2.file.indexOf(".gif") > 0)) {
_local2.image = _local2.file;
}
}
if (_local2.author == undefined) {
_local2.author = _local12;
}
_local13.push(_local2);
} else if (_local9.nodeName == "title") {
_local12 = _local9.firstChild.nodeValue;
}
_local9 = _local9.nextSibling;
}
return(_local13);
}
}
Symbol 147 MovieClip [__Packages.com.jeroenwijering.utils.StringMagic] Frame 0 (1.93 KiB) ●
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 _local3 = str.split(":");
var _local2;
if (str.substr(-1) == "s") {
_local2 = Number(str.substr(0, str.length - 2));
} else if (str.substr(-1) == "m") {
_local2 = Number(str.substr(0, str.length - 2)) * 60;
} else if (str.substr(-1) == "h") {
_local2 = Number(str.substr(0, str.length - 2)) * 3600;
} else if (_local3.length > 1) {
_local2 = Number(_local3[_local3.length - 1]);
_local2 = _local2 + (Number(_local3[_local3.length - 2]) * 60);
_local2 = _local2 + (Number(_local3[_local3.length - 3]) * 3600);
} else {
_local2 = Number(str);
}
if (isNaN(_local2)) {
return(0);
}
return(_local2);
}
}
Symbol 148 MovieClip [__Packages.com.jeroenwijering.feeds.ATOMParser] Frame 0 (2.96 KiB) ●
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 _local10 = new Array();
var _local6 = xml.firstChild.firstChild;
var _local9;
while (_local6 != null) {
if (_local6.nodeName.toLowerCase() == "entry") {
var _local3 = new Object();
var _local8 = 0;
while (_local8 < _local6.childNodes.length) {
var _local2 = _local6.childNodes[_local8];
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 _local7 = _local2.attributes.type.toLowerCase();
if (mimetypes[_local7] != undefined) {
_local3.file = _local2.attributes.href;
_local3.type = mimetypes[_local7];
if (_local3.file.substr(0, 4) == "rtmp") {
_local3.type = "rtmp";
}
} else if ((_local3.type != undefined) && (_local7 == "video/x-flv")) {
_local3.fallback = _local2.attributes.href;
}
} 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;
}
_local8++;
}
((_local3.author == undefined) ? ((_local3.author = _local9)) : null);
_local10.push(_local3);
} else if (_local6.nodeName == "title") {
_local9 = _local6.firstChild.nodeValue;
}
_local6 = _local6.nextSibling;
}
return(_local10);
}
}
Symbol 149 MovieClip [__Packages.com.jeroenwijering.feeds.XSPFParser] Frame 0 (2.17 KiB) ●
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 (_local2.file.indexOf("youtube.com") > -1) {
_local2.type = "youtube";
} 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 150 MovieClip [__Packages.com.jeroenwijering.feeds.ASXParser] Frame 0 (1.68 KiB) ●
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 _local2 = new Object();
var _local5 = 0;
while (_local5 < _local6.childNodes.length) {
var _local3 = _local6.childNodes[_local5];
var _local4 = _local3.nodeName.toLowerCase();
if (elements[_local4] != undefined) {
_local2[elements[_local4]] = _local3.firstChild.nodeValue;
} else if (_local4 == "moreinfo") {
_local2.link = _local3.attributes.href;
} else if (_local4 == "duration") {
_local2.duration = com.jeroenwijering.utils.StringMagic.toSeconds(_local3.attributes.value);
} else if (_local4 == "ref") {
_local2.file = _local3.attributes.href;
var _local7 = _local3.attributes.href.substr(-3);
if (mimetypes[_local7] != undefined) {
_local2.type = mimetypes[_local7];
}
if (_local2.file.substr(0, 4) == "rtmp") {
_local2.type = "rtmp";
} else if (_local2.file.indexOf("youtube.com") > -1) {
_local2.type = "youtube";
}
} else if (_local4 == "param") {
_local2[_local3.attributes.name] = _local3.attributes.value;
}
_local5++;
}
_local8.push(_local2);
}
_local6 = _local6.nextSibling;
}
return(_local8);
}
}
Symbol 151 MovieClip [__Packages.com.jeroenwijering.feeds.AgriyaParser] Frame 0 (867 B)
class com.jeroenwijering.feeds.AgriyaParser extends com.jeroenwijering.feeds.AbstractParser
{
function AgriyaParser () {
super();
}
function parse(xml) {
var _local3 = new Array();
var _local2 = xml.firstChild.firstChild.firstChild;
while (_local2 != null) {
if (_local2.nodeName.toLowerCase() == "video") {
var _local1 = new Object();
_local1.file = _local2.attributes.Path;
_local1.image = _local2.attributes.Thumbnail;
_local1.title = _local2.attributes.Description;
if (_local1.file.substr(0, 4) == "rtmp") {
_local1.type = "rtmp";
} else if (_local1.file.indexOf("youtube.com") > -1) {
_local1.type = "youtube";
} else {
_local1.type = _local1.file.substr(-3).toLowerCase();
}
_local3.push(_local1);
}
_local2 = _local2.nextSibling;
}
return(_local3);
}
}
Symbol 152 MovieClip [__Packages.com.jeroenwijering.players.AbstractController] Frame 0 (3 KiB) ●
class com.jeroenwijering.players.AbstractController implements com.jeroenwijering.feeds.FeedListener
{
var config, feeder, currentItem, currentURL, sizes, registeredModels, randomizer;
function AbstractController (cfg, fed) {
config = cfg;
feeder = fed;
feeder.addListener(this);
}
function startMCV(mar) {
}
function getEvent(typ, prm, pr2) {
switch (typ) {
case "playpause" :
setPlaypause();
break;
case "prev" :
if (noCommercial()) {
setPrev();
}
break;
case "next" :
if (noCommercial()) {
setNext();
}
break;
case "stop" :
if (noCommercial()) {
setStop();
}
break;
case "scrub" :
if (noCommercial()) {
setScrub(prm);
}
break;
case "volume" :
setVolume(prm);
break;
case "playitem" :
if (noCommercial()) {
setPlayitem(prm);
}
break;
case "getlink" :
setGetlink(prm);
break;
case "fullscreen" :
setFullscreen();
break;
case "complete" :
setComplete();
break;
case "captions" :
setCaptions();
break;
case "audio" :
setAudio();
break;
case "size" :
saveSizes(prm, pr2);
break;
default :
trace("controller: incompatible event received");
}
}
function noCommercial() {
if (((feeder.feed[currentItem].category == "commercial") || (feeder.feed[currentItem].category == "preroll")) || (feeder.feed[currentItem].category == "postroll")) {
return(false);
}
return(true);
}
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 saveSizes(pr1, pr2) {
sizes = new Array(pr1, pr2);
}
function setAudio() {
}
function sendChange(typ, prm) {
var _local2 = 0;
while (_local2 < registeredModels.length) {
registeredModels[_local2].getChange(typ, prm);
_local2++;
}
}
function onFeedUpdate(typ) {
if (typ == "new") {
setStop();
startMCV();
} else if (typ == "add") {
if (feeder.feed[currentItem + 1].file == currentURL) {
currentItem++;
sendChange("item", currentItem);
}
if (randomizer != undefined) {
randomizer = new com.jeroenwijering.utils.Randomizer(feeder.feed);
}
} else if (typ == "remove") {
if (feeder.feed[currentItem - 1].file == currentURL) {
currentItem--;
sendChange("item", currentItem);
if (randomizer != undefined) {
randomizer = new com.jeroenwijering.utils.Randomizer(feeder.feed);
}
} else if (feeder.feed[currentItem].file != currentURL) {
setStop();
startMCV();
} else if (randomizer != undefined) {
randomizer = new com.jeroenwijering.utils.Randomizer(feeder.feed);
}
}
}
}
Symbol 153 MovieClip [__Packages.com.jeroenwijering.utils.Randomizer] Frame 0 (495 B)
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 154 MovieClip [__Packages.com.jeroenwijering.utils.ConfigManager] Frame 0 (2.1 KiB) ●
class com.jeroenwijering.utils.ConfigManager
{
var staging, context, config, parser, cookie;
function ConfigManager (stg) {
staging = stg;
if (staging == true) {
Stage.scaleMode = "noScale";
Stage.align = "TL";
}
}
function setContext() {
var _local3 = this;
_root.ref = this;
context = new ContextMenu();
context.hideBuiltInItems();
var _local5 = new ContextMenuItem("VIP MELLOW EDITION by Anonymous", _local3.goTo1);
context.customItems.push(_local5);
var _local4 = new ContextMenuItem("Created with " + config.abouttxt, _local3.goTo2);
context.customItems.push(_local4);
config.clip._parent.menu = context;
}
function goTo1(obj, itm) {
}
function goTo2(obj, itm) {
getURL (obj.ref.config.aboutlnk, "_blank");
}
function loadConfig(def) {
config = def;
config.clip._visible = false;
if ((staging == true) && (Stage.width > 1)) {
config.width = Stage.width;
config.height = Stage.height;
config.clip._parent.activity._x = Stage.width / 2;
config.clip._parent.activity._y = Stage.height / 2;
config.clip._parent.activity._alpha = 100;
}
((_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);
if (staging == true) {
setContext();
}
onComplete();
}
function checkWrite(dat) {
for (var _local3 in config) {
if ((dat[_local3] != undefined) && (dat[_local3].indexOf("asfunction") == -1)) {
config[_local3] = unescape(dat[_local3]);
}
}
}
function onComplete() {
}
}
Symbol 155 MovieClip [__Packages.com.jeroenwijering.utils.XMLParser] Frame 0 (1.28 KiB) ●
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.onLoad = function (scs) {
if (scs) {
ref.processRoot();
} else {
ref.onError();
}
};
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() {
}
}
Symbol 156 MovieClip [__Packages.com.jeroenwijering.players.AbstractView] Frame 0 (897 B)
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) {
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;
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 sendEvent(typ, prm) {
controller.getEvent(typ, prm);
}
}
Symbol 157 MovieClip [__Packages.com.jeroenwijering.players.AbstractModel] Frame 0 (1.75 KiB) ●
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" :
if (isActive == true) {
setStart(prm);
}
break;
case "pause" :
if (isActive == true) {
setPause(prm);
}
break;
case "stop" :
if (isActive == true) {
setStop();
}
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) {
if (isActive == true) {
sendUpdate("volume", vol);
}
}
function sendUpdate(typ, prm, pr2) {
var _local2 = 0;
while (_local2 < registeredViews.length) {
registeredViews[_local2].getUpdate(typ, prm, pr2);
_local2++;
}
if (typ == "size") {
controller.getEvent(typ, prm, pr2);
}
}
function sendCompleteEvent() {
controller.getEvent("complete");
}
}
Symbol 158 MovieClip [__Packages.com.jeroenwijering.players.MediaPlayer] Frame 0 (5.25 KiB) ● ●
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 _local6 = new com.jeroenwijering.players.DisplayView(controller, config, feeder);
var _local2 = new Array(_local6);
if (config.shownavigation == "true") {
var _local19 = new com.jeroenwijering.players.ControlbarView(controller, config, feeder);
_local2.push(_local19);
} else {
config.clip.controlbar._visible = false;
}
if ((config.displayheight < ((config.height - config.controlbar) - config.searchbar)) || (config.displaywidth < config.width)) {
var _local8 = new com.jeroenwijering.players.PlaylistView(controller, config, feeder);
_local2.push(_local8);
} else {
config.clip.playlist._visible = (config.clip.playlistmask._visible = false);
}
if (config.usekeys == "true") {
var _local11 = new com.jeroenwijering.players.InputView(controller, config, feeder);
_local2.push(_local11);
}
if (config.showeq == "true") {
var _local7 = new com.jeroenwijering.players.EqualizerView(controller, config, feeder);
_local2.push(_local7);
} else {
config.clip.equalizer._visible = false;
}
var _local3 = new com.jeroenwijering.players.CaptionsView(controller, config, feeder);
_local2.push(_local3);
if (config.recommendations != undefined) {
var _local9 = new com.jeroenwijering.players.RecommendationsView(controller, config, feeder);
_local2.push(_local9);
} else {
config.clip.recommendations._visible = false;
}
if (config.searchbar > 0) {
var _local17 = new com.jeroenwijering.players.SearchView(controller, config, feeder);
_local2.push(_local17);
} else {
config.clip.search._visible = false;
}
if (config.midroll != undefined) {
var _local12 = new com.jeroenwijering.players.MidrollView(controller, config, feeder);
_local2.push(_local12);
} else {
config.clip.midroll._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 _local10 = new com.jeroenwijering.players.JavascriptView(controller, config, feeder);
_local2.push(_local10);
}
if (config.callback != undefined) {
var _local5 = new com.jeroenwijering.players.CallbackView(controller, config, feeder);
_local2.push(_local5);
}
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 _local18 = new com.jeroenwijering.players.YoutubeModel(_local2, controller, config, feeder, config.clip.display.youtube);
var _local14 = new Array(_local16, _local4, _local13, _local18);
if (feeder.captions == true) {
_local4.capView = _local3;
}
controller.startMCV(_local14);
}
static function main() {
var _local2 = new com.jeroenwijering.players.MediaPlayer(_root.player);
}
var config = {clip:undefined, height:260, width:320, controlbar:20, displayheight:undefined, displaywidth:undefined, searchbar:"false", file:undefined, fallback:undefined, image:undefined, link:undefined, id:undefined, type:undefined, captions:undefined, audio:undefined, category:undefined, frontcolor:0, backcolor:16777215, lightcolor:0, screencolor:0, autoscroll:"false", largecontrols:"false", logo:undefined, showdigits:"true", showdownload:"false", showeq:"false", showicons:"true", shownavigation:"true", showstop:"false", thumbsinplaylist:"true", usefullscreen:"true", fsbuttonlink:undefined, autostart:"false", bufferlength:3, overstretch:"false", repeat:"list", rotatetime:5, shuffle:"false", smoothing:"true", volume:80, bwfile:"100k.jpg", bwstreams:undefined, callback:undefined, enablejs:"false", javascriptid:"", linkfromdisplay:"false", linktarget:"_blank", midroll:undefined, prefix:"", recommendations:undefined, searchlink:"http://search.longtail.tv/?q=", streamscript:undefined, useaudio:"true", usecaptions:"true", usemute:"false", usekeys:"true", abouttxt:"JW Player 3.16", aboutlnk:"http://www.jeroenwijering.com/?about=JW_FLV_Media_Player"};
}
Symbol 159 MovieClip [__Packages.com.jeroenwijering.utils.BandwidthCheck] Frame 0 (1.22 KiB) ●
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 160 MovieClip [__Packages.com.jeroenwijering.players.PlayerController] Frame 0 (4.89 KiB) ●
class com.jeroenwijering.players.PlayerController extends com.jeroenwijering.players.AbstractController
{
var playerSO, registeredModels, itemsPlayed, config, randomizer, feeder, currentItem, sendChange, isPlaying, currentURL, sizes, muted;
function PlayerController (cfg, fed) {
super(cfg, fed);
playerSO = SharedObject.getLocal("com.jeroenwijering.players", "/");
}
function startMCV(mar) {
if (mar != undefined) {
registeredModels = mar;
}
itemsPlayed = 0;
if (config.shuffle == "true") {
randomizer = new com.jeroenwijering.utils.Randomizer(feeder.feed);
currentItem = randomizer.pick();
} else {
currentItem = 0;
}
sendChange("item", currentItem);
if (config.autostart == "muted") {
sendChange("volume", 0);
} else {
sendChange("volume", Number(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) {
setPlayitem(feeder.feed.length - 1);
} else {
setPlayitem(currentItem - 1);
}
}
function setNext() {
if (currentItem == (feeder.feed.length - 1)) {
setPlayitem(0);
} else {
setPlayitem(currentItem + 1);
}
}
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 {
var _local2;
if (config.shuffle == "true") {
_local2 = randomizer.pick();
} else if (currentItem == (feeder.feed.length - 1)) {
_local2 = 0;
} else {
_local2 = currentItem + 1;
}
setPlayitem(_local2);
}
}
function setFullscreen() {
if ((Stage.displayState == "normal") && (config.usefullscreen == "true")) {
if (sizes[0] > 400) {
Stage.fullScreenSourceRect = new flash.geom.Rectangle(0, 0, sizes[0], sizes[1]);
}
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;
muted = false;
}
playerSO.data.volume = config.volume;
playerSO.flush();
}
}
Symbol 161 MovieClip [__Packages.com.jeroenwijering.players.DisplayView] Frame 0 (7.08 KiB) ● ●
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);
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.link.tabEnabled = false;
if (config.autostart == "muted") {
tgt.link.onRelease = function () {
ref.sendEvent("volume", 80);
ref.firstClick();
};
} else if (config.autostart == "false") {
tgt.muteicon._visible = false;
tgt.link.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);
}
}
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;
}
_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") {
_local2.youtube.setSize(Stage.width, Stage.height);
} else {
_local2.youtube.setSize(config.displaywidth, config.displayheight);
}
if (Stage.displayState == "fullScreen") {
config.clip.mask._width = (_local2.back._width = (_local2.link._width = Stage.width));
config.clip.mask._height = (_local2.back._height = (_local2.link._height = Stage.height));
} else {
config.clip.mask._width = (_local2.back._width = (_local2.link._width = config.displaywidth));
config.clip.mask._height = (_local2.back._height = (_local2.link._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") && (feeder.feed[currentItem].type != "youtube")) {
_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]);
_local2.youtube.setSize(config.displaywidth, config.displayheight);
}
function scaleClip(tgt, wid, hei) {
var _local9 = tgt.mc._currentframe;
tgt.mc.gotoAndStop(1);
var _local6 = config.displaywidth;
var _local5 = config.displayheight;
if (Stage.displayState == "fullScreen") {
_local6 = Stage.width;
_local5 = Stage.height;
}
var _local3 = _local6 / wid;
var _local4 = _local5 / hei;
var _local10 = Math.max(_local3, _local4);
if ((((Math.abs(_local3 - _local4) / _local10) < 0.1) && (config.overstretch != "none")) || (config.overstretch == "fit")) {
tgt._width = _local6;
tgt._height = _local5;
} else 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 {
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);
if (config.displaywidth == config.width) {
config.displaywidth = Stage.width;
}
config.width = 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.link.onRelease = function () {
ref.sendEvent("getlink", ref.currentItem);
};
} else {
_local2.link.onRelease = function () {
ref.sendEvent("playpause", 1);
};
}
}
}
Symbol 162 MovieClip [__Packages.com.jeroenwijering.utils.ImageLoader] Frame 0 (3.21 KiB) ●
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 163 MovieClip [__Packages.com.jeroenwijering.players.ControlbarView] Frame 0 (13.74 KiB) ● ●
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);
Mouse.addListener(this);
}
function setColorsClicks() {
var ref = this;
var _local2 = config.clip.controlbar;
_local2.col = new Color(_local2.back);
_local2.col.setRGB(config.backcolor);
_local2.playpauserain.col1 = new Color(_local2.playpauserain.ply);
_local2.playpauserain.col1.setRGB(config.frontcolor);
_local2.playpauserain.col2 = new Color(_local2.playpauserain.pas);
_local2.playpauserain.col2.setRGB(config.frontcolor);
_local2.playpauserain.onRollOver = function () {
this.col1.setRGB(ref.config.lightcolor);
this.col2.setRGB(ref.config.lightcolor);
};
_local2.playpauserain.onRollOut = function () {
this.col1.setRGB(ref.config.frontcolor);
this.col2.setRGB(ref.config.frontcolor);
};
_local2.playpauserain.onRelease = function () {
ref.sendEvent("playpauserain");
};
_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.pas._visible = false;
_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;
});
}
function setDimensions() {
clearInterval(hideInt);
var _local2 = config.clip.controlbar;
var _local4 = 400;
if (Stage.displayState == "fullScreen") {
_local2._x = Math.round((Stage.width / 2) - 200);
_local2._y = Stage.height - 40;
_local2._alpha = 100;
_local2.back._alpha = 50;
_local2.fs.fs._visible = false;
_local2.fs.ns._visible = true;
} else if (config.displayheight == (config.height - config.searchbar)) {
_local2._y = config.displayheight - 40;
if ((config.displaywidth > 450) && (config.displaywidth == config.width)) {
_local2._x = Math.round((Stage.width / 2) - 200);
} else {
_local2._x = 20;
_local4 = config.displaywidth - 40;
}
_local2.back._alpha = 40;
_local2.fs.fs._visible = true;
_local2.fs.ns._visible = false;
} else {
_local2._x = 0;
_local2._y = config.displayheight;
_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;
_local4 = 300;
_local2._x = Math.round((Stage.width / 2) - 300);
} else {
_local4 = _local4 / 2;
}
}
_local2.back._width = _local4;
if (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) {
_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;
_local2.au._visible = true;
} 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;
_local2.cc._visible = true;
} 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;
if (rem > 0) {
_local2.icn._visible = true;
_local2.bar._visible = true;
(((elp == 0) || (_local5 < 2)) ? ((_local2.bar._width = 0)) : ((_local2.bar._width = _local5 - 2)));
_local2.icn._x = (_local2.bar._width + _local2.bar._x) + 1;
} else {
_local2.icn._visible = false;
_local2.bar._visible = false;
}
_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 = Stage.width;
if (config.displaywidth == config.width) {
config.displaywidth = Stage.width;
}
}
setDimensions();
}
function onFullScreen(fs) {
if (fs == false) {
setDimensions();
com.jeroenwijering.utils.Animations.fadeIn(config.clip.controlbar);
} else {
hideInt = setInterval(this, "hideBar", 1000);
}
}
function hideBar() {
com.jeroenwijering.utils.Animations.fadeOut(config.clip.controlbar);
Mouse.hide();
clearInterval(hideInt);
}
function onMouseMove() {
Mouse.show();
if ((config.displayheight == (config.height - config.searchbar)) || (Stage.displayState == "fullScreen")) {
com.jeroenwijering.utils.Animations.fadeIn(config.clip.controlbar);
clearInterval(hideInt);
if (!config.clip.controlbar.hitTest(_root._xmouse, _root._ymouse)) {
hideInt = setInterval(this, "hideBar", 500);
}
}
}
function onFeedUpdate(typ) {
setDimensions();
}
var itemProgress = 0;
var wasLoaded = false;
}
Symbol 164 MovieClip [__Packages.com.jeroenwijering.utils.Animations] Frame 0 (2.36 KiB) ●
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 165 MovieClip [__Packages.com.jeroenwijering.players.PlaylistView] Frame 0 (7.41 KiB) ● ●
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) {
if (((feeder.feed[_local3].category != "commercial") && (feeder.feed[_local3].category != "preroll")) && (feeder.feed[_local3].category != "postroll")) {
_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 = false;
_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 = (config.displayheight + config.controlbar) + config.searchbar);
_local5._height = config.height - _local5._y;
}
_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(typ) {
listScroller.purgeScrollbar();
delete listScroller;
var _local3 = config.clip.playlist;
var _local2 = 0;
while (_local2 < 999) {
_local3["btn" + _local2].removeMovieClip();
_local2++;
}
setButtons();
setItem(currentItem);
}
var currentTime = -10;
}
Symbol 166 MovieClip [__Packages.com.jeroenwijering.utils.Scroller] Frame 0 (4.41 KiB) ●
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;
drawSquare(SCROLLER_CLIP.back, 12, maskClip._height, frontColor);
SCROLLER_CLIP.createEmptyMovieClip("bar", 1);
SCROLLER_CLIP.bar._x = 4;
SCROLLER_CLIP.bar._alpha = 50;
drawSquare(SCROLLER_CLIP.bar, 4, maskClip._height - 5, frontColor);
SCROLLER_CLIP.createEmptyMovieClip("front", 2);
SCROLLER_CLIP.front._x = 3;
drawSquare(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;
drawSquare(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.onPress = 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();
}
function drawSquare(tgt, wth, hei, clr) {
tgt.clear();
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();
}
var autoScroll = false;
var frontColor = 0;
var lightColor = 0;
var currentScroll = 0;
var AUTOSCROLL_SPEED = 0.25;
}
Symbol 167 MovieClip [__Packages.com.jeroenwijering.players.InputView] Frame 0 (1.04 KiB) ●
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) && (com.jeroenwijering.players.SearchView.focussed != true)) {
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 168 MovieClip [__Packages.com.jeroenwijering.players.SearchView] Frame 0 (1.47 KiB) ●
class com.jeroenwijering.players.SearchView extends com.jeroenwijering.players.AbstractView
{
var config;
function SearchView (ctr, cfg, fed) {
super(ctr, cfg, fed);
Key.addListener(this);
setDimensions();
}
function setDimensions() {
var ref = this;
var _local2 = config.clip.search;
if (config.displayheight == (config.height - config.searchbar)) {
_local2._y = config.displayheight;
} else {
_local2._y = config.displayheight + config.controlbar;
}
_local2.ipt._width = config.width - 95;
_local2.ipt.onSetFocus = function () {
com.jeroenwijering.players.SearchView.focussed = true;
};
_local2.ipt.onKillFocus = function () {
com.jeroenwijering.players.SearchView.focussed = false;
};
_local2.bck._width = config.width;
_local2.box._width = config.width - 95;
_local2.btn._x = config.width - 86;
_local2.btn.col = new Color(_local2.btn.icn);
_local2.btn.col.setRGB(config.frontcolor);
_local2.btn.onRollOver = function () {
this.col.setRGB(ref.config.lightcolor);
};
_local2.btn.onRollOut = function () {
this.col.setRGB(ref.config.frontcolor);
};
_local2.btn.onRelease = function () {
ref.doSearch();
};
}
function doSearch() {
var _local2 = escape(config.clip.search.ipt.text);
getURL (config.searchlink + _local2, config.linktarget);
}
function onKeyDown() {
if ((Key.getCode() == 13) && (focussed == true)) {
doSearch();
}
}
static var focussed = false;
}
Symbol 169 MovieClip [__Packages.com.jeroenwijering.players.EqualizerView] Frame 0 (2.17 KiB) ●
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(eqStripes * 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 170 MovieClip [__Packages.com.jeroenwijering.players.CaptionsView] Frame 0 (2.79 KiB) ●
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 171 MovieClip [__Packages.com.jeroenwijering.players.CaptionsParser] Frame 0 (4.69 KiB) ●
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 {
ref.parseArray.push({txt:"File not found: " + ref.parseURL, bgn:1, dur:5});
}
if (ref.parseArray.length == 0) {
ref.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 _local5 = this.firstChild.childNodes[1];
if (_local5.firstChild.firstChild.attributes.begin == undefined) {
var _local3 = 0;
while (_local3 < _local5.childNodes.length) {
var _local2 = new Object();
var _local8 = _local5.childNodes[_local3].attributes.begin;
_local2.bgn = com.jeroenwijering.utils.StringMagic.toSeconds(_local8);
var _local7 = _local5.childNodes[_local3].attributes.dur;
_local2.dur = com.jeroenwijering.utils.StringMagic.toSeconds(_local7);
_local2.txt = String(_local5.childNodes[_local3].firstChild.childNodes.join(""));
ref.parseArray.push(_local2);
_local3++;
}
} else {
var _local4 = _local5.firstChild;
var _local3 = 0;
while (_local3 < _local4.childNodes.length) {
var _local2 = new Object();
var _local8 = _local4.childNodes[_local3].attributes.begin;
_local2.bgn = com.jeroenwijering.utils.StringMagic.toSeconds(_local8);
var _local6 = _local4.childNodes[_local3].attributes.end;
if (_local6 == undefined) {
var _local7 = _local4.childNodes[_local3].attributes.dur;
_local2.dur = com.jeroenwijering.utils.StringMagic.toSeconds(_local7);
} else {
_local2.dur = com.jeroenwijering.utils.StringMagic.toSeconds(_local6) - _local2.bgn;
}
_local2.txt = _local4.childNodes[_local3].childNodes.join("");
ref.parseArray.push(_local2);
_local3++;
}
}
}
} else {
ref.parseArray.push({txt:"File not found: " + ref.parseURL});
}
if (ref.parseArray.length == 0) {
ref.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 172 MovieClip [__Packages.com.jeroenwijering.players.RecommendationsView] Frame 0 (5.15 KiB) ● ●
class com.jeroenwijering.players.RecommendationsView extends com.jeroenwijering.players.AbstractView
{
var config, feeder, clip, parser, maximum, recommendations;
function RecommendationsView (ctr, cfg, fed) {
super();
config = cfg;
feeder = fed;
clip = config.clip.recommendations;
var ref = this;
parser = new com.jeroenwijering.utils.XMLParser();
parser.onComplete = function () {
ref.loadRecommendations(this.output);
};
Stage.addListener(this);
setButtons();
}
function setButtons() {
var ref = this;
maximum = Math.floor((config.displaywidth - 44) / 70);
clip._visible = false;
clip.txt._x = 10;
clip.txt._width = config.displaywidth - 20;
clip.txt.textColor = config.backcolor;
clip.prv._x = (config.displaywidth / 2) - (maximum * 35);
clip.nxt._x = (config.displaywidth / 2) + (maximum * 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.maximum);
};
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.maximum);
};
clip.nxt._visible = false;
clip.itm._visible = false;
var _local2 = 0;
while (_local2 < maximum) {
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 _local5 = 0;
while (_local5 < rcm.childs.length) {
var _local4 = new Object();
var _local2 = 0;
while (_local2 < rcm.childs[_local5].childs.length) {
_local4[rcm.childs[_local5].childs[_local2].name] = rcm.childs[_local5].childs[_local2].value;
_local2++;
}
recommendations.push(_local4);
_local5++;
}
if (recommendations.length < maximum) {
_local5 = 0;
while (_local5 < recommendations.length) {
clip["itm" + _local5]._x = clip["itm" + _local5]._x + (35 * (maximum - recommendations.length));
_local5++;
}
}
showRecommendations(0);
}
function showRecommendations(off) {
((arguments.length == 1) ? ((offset = off)) : null);
((offset == 0) ? ((clip.prv._visible = false)) : ((clip.prv._visible = true)));
((offset >= (recommendations.length - maximum)) ? ((clip.nxt._visible = false)) : ((clip.nxt._visible = true)));
var _local3 = 0;
while (_local3 < maximum) {
clip["itm" + _local3].num = _local3 + offset;
if (recommendations[_local3 + offset] == undefined) {
clip["itm" + _local3]._visible = false;
clip["itm" + _local3]._alpha = 0;
} else {
clip["itm" + _local3].ldr.loadImage(recommendations[_local3 + offset].image);
}
_local3++;
}
if (Stage.displayState == "fullScreen") {
clip._x = Math.round((Stage.width / 2) - (clip._width / 2)) - 10;
clip._y = Stage.height - 165;
} else {
clip._x = Math.round((config.displaywidth / 2) - (clip._width / 2)) - 10;
clip._y = config.displayheight - 85;
}
}
function setState(stt) {
if (stt == 3) {
if (recommendations == undefined) {
parser.parse(config.recommendations);
} else {
showRecommendations();
}
clip._visible = true;
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);
}
function onResize() {
if (config.displayheight >= config.height) {
config.height = (config.displayheight = Stage.height);
config.width = (config.displaywidth = Stage.width);
}
showRecommendations();
}
function onFullScreen(fs) {
showRecommendations();
}
var offset = 0;
}
Symbol 173 MovieClip [__Packages.com.jeroenwijering.players.MidrollView] Frame 0 (8.72 KiB) ● ●
class com.jeroenwijering.players.MidrollView extends com.jeroenwijering.players.AbstractView
{
var clip, config, parser, loader, adconfig, advertisements, interval, currentAd, currentState, sendEvent, rotated;
function MidrollView (ctr, cfg, fed) {
super(ctr, cfg, fed);
var ref = this;
clip = config.clip.midroll;
clip._visible = false;
parser = new com.jeroenwijering.utils.XMLParser();
parser.onComplete = function () {
ref.saveConfig(this.output.childs[0]);
ref.saveAds(this.output.childs[1]);
};
trace(prefix + config.midroll);
parser.parse(prefix + config.midroll);
loader = new com.jeroenwijering.utils.ImageLoader(clip.ovl.img.img, "false", 50, 50);
loader.onLoadFinished = function () {
com.jeroenwijering.utils.Animations.fadeIn(ref.clip.ovl.img.img);
};
Stage.addListener(this);
}
function saveConfig(cfg) {
adconfig = new Object();
var _local2 = 0;
while (_local2 < cfg.childs.length) {
adconfig[cfg.childs[_local2].name] = cfg.childs[_local2].value;
_local2++;
}
if (config.lightcolor != "0x000000") {
adconfig.mouseover_color = config.lightcolor;
adconfig.mouseover_extras = config.lightcolor;
}
setColorsClicks();
setDimensions();
}
function saveAds(ads) {
advertisements = new Array();
var _local3 = 0;
while (_local3 < ads.childs.length) {
var _local5 = new Object();
var _local2 = 0;
while (_local2 < ads.childs[_local3].childs.length) {
_local5[ads.childs[_local3].childs[_local2].name] = ads.childs[_local3].childs[_local2].value;
_local2++;
}
advertisements.push(_local5);
_local3++;
}
}
function setColorsClicks() {
var ref = this;
clip.btn.bck._alpha = adconfig.opacity;
clip.btn.bck.col = new Color(clip.btn.bck);
clip.btn.bck.col.setRGB(adconfig.background_color);
clip.btn.lne.col = new Color(clip.btn.lne);
clip.btn.lne.col.setRGB(adconfig.textcolor_description);
clip.btn.onRollOver = function () {
this.lne.col.setRGB(ref.adconfig.mouseover_extras);
};
clip.btn.onRollOut = function () {
this.lne.col.setRGB(ref.adconfig.textcolor_description);
};
clip.btn.onRelease = function () {
ref.showMidroll(true);
};
clip.ovl.setMask(clip.msk);
clip.ovl.bck._alpha = adconfig.opacity;
clip.ovl.bck.col = new Color(clip.ovl.bck);
clip.ovl.bck.col.setRGB(adconfig.background_color);
clip.ovl.bck.onRelease = function () {
};
clip.ovl.bck.useHandCursor = false;
clip.ovl.cls.col = new Color(clip.ovl.cls);
clip.ovl.cls.col.setRGB(adconfig.textcolor_description);
clip.ovl.cls.onRollOver = function () {
this.col.setRGB(ref.adconfig.mouseover_extras);
};
clip.ovl.cls.onRollOut = function () {
this.col.setRGB(ref.adconfig.textcolor_description);
};
clip.ovl.cls.onRelease = function () {
ref.hideMidroll();
};
clip.ovl.abt.tf.text = adconfig.about_txt;
clip.ovl.abt.col = new Color(clip.ovl.abt);
clip.ovl.abt.col.setRGB(adconfig.textcolor_description);
clip.ovl.abt.onRollOver = function () {
this.col.setRGB(ref.adconfig.mouseover_extras);
};
clip.ovl.abt.onRollOut = function () {
this.col.setRGB(ref.adconfig.textcolor_description);
};
clip.ovl.abt.onRelease = function () {
getURL (ref.adconfig.about_url, ref.config.linktarget);
};
clip.ovl.prv.col = new Color(clip.ovl.prv);
clip.ovl.prv.col.setRGB(adconfig.textcolor_description);
clip.ovl.prv.onRollOver = function () {
this.col.setRGB(ref.adconfig.mouseover_extras);
};
clip.ovl.prv.onRollOut = function () {
this.col.setRGB(ref.adconfig.textcolor_description);
};
clip.ovl.prv.onRelease = function () {
if (ref.currentAd == 0) {
ref.setAd(ref.advertisements.length - 1, true);
} else {
ref.setAd(ref.currentAd - 1, true);
}
};
clip.ovl.nxt.col = new Color(clip.ovl.nxt);
clip.ovl.nxt.col.setRGB(adconfig.textcolor_description);
clip.ovl.nxt.onRollOver = function () {
this.col.setRGB(ref.adconfig.mouseover_extras);
};
clip.ovl.nxt.onRollOut = function () {
this.col.setRGB(ref.adconfig.textcolor_description);
};
clip.ovl.nxt.onRelease = function () {
if (ref.currentAd == (ref.advertisements.length - 1)) {
ref.setAd(0, true);
} else {
ref.setAd(ref.currentAd + 1, true);
}
};
clip.ovl.img.col = new Color(clip.ovl.img.lne);
clip.ovl.img.col.setRGB(adconfig.textcolor_description);
clip.ovl.tit.col = new Color(clip.ovl.tit);
clip.ovl.tit.col.setRGB(adconfig.textcolor_title);
clip.ovl.tit.tf.autoSize = "left";
clip.ovl.dsc.col = new Color(clip.ovl.dsc);
clip.ovl.dsc.col.setRGB(adconfig.textcolor_description);
clip.ovl.dsc.tf.autoSize = "left";
clip.ovl.lnk.col = new Color(clip.ovl.lnk);
clip.ovl.lnk.col.setRGB(adconfig.textcolor_link);
clip.ovl.lnk.tf.textColor = adconfig.textcolor_link;
clip.ovl.lnk.tf.autoSize = "left";
clip.ovl.hit.onRollOver = function () {
ref.overAd();
};
clip.ovl.hit.onRollOut = function () {
ref.outAd();
};
clip.ovl.hit.onRelease = function () {
ref.visitAd();
};
}
function setDimensions() {
var _local2 = config.displaywidth;
var _local3 = config.displayheight;
if (Stage.displayState == "fullScreen") {
_local2 = Stage.width;
_local3 = Stage.height;
}
clip._y = _local3 - 70;
clip.btn._x = _local2 - 45;
if (clip.btn._y < 48) {
clip.btn._y = 48 - _local3;
}
clip.msk._width = _local2;
clip.ovl.bck._width = _local2;
clip.ovl.lne._width = _local2;
clip.ovl.hit._width = _local2 - 20;
clip.ovl.cls._x = _local2 - 60;
clip.ovl.abt._x = _local2 - 145;
clip.ovl.prv._x = _local2 - 26;
clip.ovl.nxt._x = _local2;
}
function showMidroll(man) {
clip._visible = true;
clip.ovl._y = 70;
com.jeroenwijering.utils.Animations.easeTo(clip.btn, clip.btn._x, 48 - Stage.height);
com.jeroenwijering.utils.Animations.easeTo(clip.ovl, 0, 0);
interval = setInterval(this, "setAd", 200, currentAd, man);
}
function hideMidroll() {
clearInterval(interval);
com.jeroenwijering.utils.Animations.easeTo(clip.btn, clip.btn._x, 48);
com.jeroenwijering.utils.Animations.easeTo(clip.ovl, 0, 70);
clip.ovl.tit.tf.text = "";
clip.ovl.dsc.tf.text = "";
clip.ovl.lnk.tf.text = "";
clip.ovl.img.img._alpha = 0;
}
function overAd() {
clip.ovl.img.col.setRGB(adconfig.mouseover_color);
clip.ovl.tit.col.setRGB(adconfig.mouseover_color);
clip.ovl.dsc.col.setRGB(adconfig.mouseover_color);
clip.ovl.lnk.col.setRGB(adconfig.mouseover_color);
}
function outAd() {
clip.ovl.img.col.setRGB(adconfig.textcolor_description);
clip.ovl.tit.col.setRGB(adconfig.textcolor_title);
clip.ovl.dsc.col.setRGB(adconfig.textcolor_description);
clip.ovl.lnk.col.setRGB(adconfig.textcolor_link);
}
function visitAd() {
outAd();
if (currentState > 0) {
sendEvent("playpause");
}
getURL (advertisements[currentAd].click_url, "_blank");
}
function setTime(elp) {
if ((elp > adconfig.initial_delay) && (currentAd == undefined)) {
currentAd = 0;
showMidroll();
}
}
function setAd(idx, man) {
if (advertisements[idx].image.length > 10) {
clip.ovl.tit._x = (clip.ovl.dsc._x = (clip.ovl.lnk._x = 68));
clip.ovl.img._visible = true;
loader.loadImage(advertisements[idx].image);
clip.ovl.dsc.tf._width = clip.ovl.bck._width - 120;
} else {
clip.ovl.tit._x = (clip.ovl.dsc._x = (clip.ovl.lnk._x = 8));
clip.ovl.img.img._alpha = 0;
clip.ovl.img._visible = false;
clip.ovl.dsc.tf._width = clip.ovl.bck._width - 60;
}
var _local4 = Math.round((clip.ovl.bck._width - clip.ovl.dsc._x) / 6);
var _local3 = com.jeroenwijering.utils.StringMagic.chopString(advertisements[idx].description, _local4, 1);
if (_local3 != advertisements[idx].description) {
_local3 = _local3 + " ..";
}
com.jeroenwijering.utils.Animations.easeText(clip.ovl.tit, advertisements[idx].title);
com.jeroenwijering.utils.Animations.easeText(clip.ovl.dsc, _local3);
com.jeroenwijering.utils.Animations.easeText(clip.ovl.lnk, advertisements[idx].display_url);
currentAd = idx;
clearInterval(interval);
if ((rotated == true) && (man != true)) {
rotated = false;
hideMidroll();
idx = 0;
return(undefined);
}
if (currentAd == (advertisements.length - 1)) {
if (man != true) {
rotated = true;
}
idx = 0;
} else {
idx++;
}
interval = setInterval(this, "setAd", adconfig.display_duration * 1000, idx);
}
function setState(stt) {
currentState = stt;
if (stt == 3) {
hideMidroll();
}
}
function onResize() {
setDimensions();
}
function onFullScreen(fs) {
if (fs == false) {
setDimensions();
}
}
var prefix = "http://www.ltassrv.com/midroll/config.asp?cid=";
}
Symbol 174 MovieClip [__Packages.com.jeroenwijering.players.AudioView] Frame 0 (2 KiB) ●
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.setVolume(Number(ref.config.volume));
ref.audioObject.start(0);
} else if (ref.sync == false) {
ref.audioObject.start(ref.stopTime);
} else if (ref.currentState == 2) {
ref.audioObject.start(ref.currentTime);
}
};
audioClip.setStop = function () {
ref.audioObject.stop();
ref.stopTime = ref.audioObject.position / 1000;
};
audioObject = new Sound(audioClip);
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);
audioObject.setVolume(Number(config.volume));
}
}
var currentTime = 0;
}
Symbol 175 MovieClip [__Packages.com.jeroenwijering.players.JavascriptView] Frame 0 (1.64 KiB) ●
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 176 MovieClip [__Packages.com.jeroenwijering.players.CallbackView] Frame 0 (1.97 KiB) ●
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) {
var _local2 = new Date();
if (pr1 == 3) {
var _local3 = Math.round((_local2.valueOf() / 1000) - startStamp);
sendVars("stop", _local3, true);
playSent = false;
} else if ((pr1 == 2) && (playSent == false)) {
playSentInt = setInterval(this, "sendVars", 500, "start", 0);
playSent = true;
startStamp = _local2.valueOf() / 1000;
}
}
function setItem(pr1) {
if ((playSent == true) && (currentItem != undefined)) {
var _local3 = new Date();
var _local2 = Math.round((_local3.valueOf() / 1000) - startStamp);
sendVars("stop", _local2, false);
playSent = false;
}
currentItem = pr1;
}
function sendVars(stt, dur, cpl) {
clearInterval(playSentInt);
if ((config.callback == "urchin") || (config.callback == "analytics")) {
var _local2 = feeder.feed[currentItem].file;
var _local3 = "javascript:pageTracker._trackPageview";
if (config.callback == "urchin") {
_local3 = "javascript:urchinTracker";
}
if (_local2.indexOf("http") != undefined) {
_local2 = _local2.substring(_local2.indexOf("/", 7) + 1);
}
if (stt == "start") {
getURL (((_local3 + "('/start_stream/") + _local2) + "');");
} else if ((stt == "stop") && (cpl == true)) {
getURL (((_local3 + "('/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 177 MovieClip [__Packages.com.jeroenwijering.players.MP3Model] Frame 0 (3.29 KiB) ●
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;
if (pos == 0) {
sendUpdate("time", 0, feeder.feed[currentItem].duration);
}
}
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 178 MovieClip [__Packages.com.jeroenwijering.players.FLVModel] Frame 0 (8.29 KiB) ● ●
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;
videoClip.display.deblocking = 1;
} else {
videoClip.display.smoothing = true;
videoClip.display.deblocking = 3;
}
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) {
stopFired = false;
flushFired = false;
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") && (pos != undefined)) {
playKeyframe(currentPosition);
} else if ((flvType != "HTTP") && (pos != undefined)) {
streamObject.seek(currentPosition);
streamObject.pause(false);
} else if (((flvType == "RTMP") && (currentPosition > 0)) && (feeder.feed[currentItem].duration == 0)) {
connectObject.connect(feeder.feed[currentItem].file);
setStreamObject(connectObject);
streamObject.play(currentURL);
} 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() {
var _local2 = Math.round((streamObject.bufferLength / streamObject.bufferTime) * 100);
if (flvType == "FLV") {
_local2 = Math.round((streamObject.bytesLoaded / streamObject.bytesTotal) * 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 (((_local2 == currentPosition) && (currentState != 1)) && (stopFired != true)) {
if (bufferCount == 5) {
currentState = 1;
sendUpdate("state", 1);
bufferCount = 0;
} else {
bufferCount++;
}
} else if ((_local2 != currentPosition) && (currentState != 2)) {
bufferCount = 0;
currentState = 2;
sendUpdate("state", 2);
} else {
bufferCount = 0;
}
if (_local2 != currentPosition) {
currentPosition = _local2;
sendUpdate("time", currentPosition, Math.max(feeder.feed[currentItem].duration - currentPosition, 0));
} else if ((stopFired == true) || (((flushFired == true) && (flvType != "RTMP")) && (bufferCount == 5))) {
currentState = 3;
videoClip._visible = false;
videoClip._parent.thumb._visible = true;
sendUpdate("state", 3);
sendCompleteEvent();
stopFired = false;
flushFired = 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;
videoClip.display.clear();
}
function setVolume(vol) {
super.setVolume(vol);
currentVolume = vol;
soundObject.setVolume(vol);
}
function setStreamObject(cnt) {
_root.tf.text = "metadata!";
var ref = this;
currentLoaded = 0;
sendUpdate("load", 0);
streamObject = new NetStream(cnt);
streamObject.setBufferTime(config.bufferlength);
streamObject.onMetaData = function (obj) {
for (var _local4 in obj) {
trace((_local4 + ": ") + obj[_local4]);
}
if (obj.duration > 1) {
ref.feeder.feed[ref.currentItem].duration = obj.duration;
}
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.flvType != "RTMP")) {
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;
ref.flushFired = false;
} else if (object.code == "NetStream.Buffer.Flush") {
ref.flushFired = true;
}
};
streamObject.onPlayStatus = function (object) {
if ((object.code == "NetStream.Play.Complete") || (object.code == "NetStream.Play.Stop")) {
ref.stopFired = true;
}
};
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 flushFired = false;
var timeOffset = 0;
var bufferCount = 0;
}
Symbol 179 MovieClip [__Packages.com.jeroenwijering.players.ImageModel] Frame 0 (3.7 KiB) ●
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
}
if (pos == 0) {
sendUpdate("time", 0, feeder.feed[currentItem].duration);
}
} 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");
}
Symbol 180 MovieClip [__Packages.com.jeroenwijering.players.YoutubeModel] Frame 0 (3.97 KiB) ●
class com.jeroenwijering.players.YoutubeModel extends com.jeroenwijering.players.AbstractModel
{
static var instance;
var ytplayer, positionInterval, loadedInterval, currentURL, currentItem, feeder, loader, config, sendUpdate, currentPosition, pauseseek, updateSent, currentVolume;
function YoutubeModel (vws, ctr, cfg, fed, fcl) {
super(vws, ctr, cfg, fed);
ytplayer = fcl;
System.security.allowDomain("gdata.youtube.com");
System.security.allowInsecureDomain("gdata.youtube.com");
instance = this;
}
function onLoadInit() {
var ref = this;
ytplayer.onEnterFrame = function () {
if (this.isPlayerLoaded()) {
ref.pauseseek = false;
this.addEventListener("onStateChange", ref.onPlayerStateChange);
this.addEventListener("onError", ref.onError);
ref.onPlayerStateChange(this.getPlayerState());
ref.setStart(ref.feeder.feed[ref.currentItem].duration);
delete this.onEnterFrame;
this.setSize(ref.config.displaywidth, ref.config.displayheight);
}
};
}
function setStart(pos) {
clearInterval(positionInterval);
clearInterval(loadedInterval);
if (feeder.feed[currentItem].file != currentURL) {
if (!loader) {
loader = new MovieClipLoader();
loader.addListener(this);
loader.loadClip((url + "?key=") + key, ytplayer);
} else {
currentURL = feeder.feed[currentItem].file;
ytplayer.loadVideoById(getID(currentURL), pos);
ytplayer.setVolume(config.volume);
sendUpdate("load", 0);
sendUpdate("size", 320, 240);
}
} else if (!isNaN(pos)) {
ytplayer.seekTo(pos, true);
} else {
ytplayer.playVideo();
}
positionInterval = setInterval(this, "updatePosition", 100);
ytplayer._visible = true;
trace("true!!");
}
function getID(url) {
var _local1 = url.split("?");
for (var _local2 in _local1) {
if (_local1[_local2].substr(0, 2) == "v=") {
return(_local1[_local2].substr(2));
}
}
return("");
}
function onPlayerStateChange(stt) {
var _local1 = instance;
if (_local1.currentURL == undefined) {
return(undefined);
}
switch (Number(stt)) {
case 0 :
if (!_local1.updateSent) {
_local1.sendUpdate("state", 3);
_local1.sendCompleteEvent();
_local1.sendUpdate("time", 0, _local1.feeder.feed[_local1.currentItem].duration);
}
break;
case 1 :
delete _local1.updateSent;
if (_local1.pauseseek == true) {
_local1.pauseseek = false;
_local1.updatePosition();
_local1.ytplayer.pauseVideo();
} else {
_local1.sendUpdate("load", 100);
_local1.sendUpdate("state", 2);
}
break;
case 3 :
_local1.sendUpdate("state", 1);
break;
default :
_local1.sendUpdate("state", 0);
}
}
function onError() {
var _local1 = instance;
_local1.sendUpdate("state", 3);
_local1.sendCompleteEvent();
_local1.sendUpdate("time", 0, 0);
}
function updatePosition() {
var _local3 = ytplayer.getCurrentTime();
var _local2 = ytplayer.getDuration();
if (isNaN(_local2)) {
_local3 = 0;
_local2 = feeder.feed[currentItem].duration;
} else {
feeder.feed[currentItem].duration = _local2;
}
sendUpdate("time", _local3, _local2 - _local3);
currentPosition = _local3;
}
function setPause(pos) {
clearInterval(positionInterval);
ytplayer.pauseVideo();
if (pos > 0) {
pauseseek = true;
ytplayer.seekTo(pos, true);
updatePosition();
}
sendUpdate("state", 0);
}
function setStop(pos) {
updateSent = true;
delete currentURL;
ytplayer.stopVideo();
ytplayer._visible = false;
clearInterval(loadedInterval);
clearInterval(positionInterval);
}
function setVolume(vol) {
super.setVolume(vol);
currentVolume = vol;
ytplayer.setVolume(vol);
}
var mediatypes = new Array("youtube");
var url = "http://gdata.youtube.com/apiplayer";
var key = "AI39si4CHS3-oQa0cHIhANstFbCLE71-qK6CB3mNe0lEx2h1mwXsOz6n1fkPo0yTKpZgYH4jsLgSX1Qg4jXNrYhJYKfMQiPlzw";
var currentLoaded = 0;
}