CHANGE LOG : GREENSOCK LOADERMAX SYSTEM ---------------------------------------- 2010-12-28 -------------------------------------------- SWFLoader 1.772 LoaderMax 1.772 SWFLoaderVars 1.12 - Changed the default suppressInitReparentEvents value in SWFLoader to true instead of false because some users had coded their swfs in a way that required ADDED_TO_STAGE to fire which shouldn't be necessary when the swf is run on its own or in a Loader that has already been added to the stage before it started loading, but nevertheless after mulling it over it did seem better not to suppress events unless specifically requested. 2010-12-23 -------------------------------------------- SWFLoader 1.771 LoaderMax 1.771 DisplayObjectLoader 1.771 - Fixed issue introduced in version 1.77 that could cause a Type Coercion failure with SecurityDomains 2010-12-21 -------------------------------------------- LoaderMax 1.77 SWFLoader 1.77 DisplayObjectLoader 1.77 LoaderCore 1.77 LoaderEvent 1.77 - Added new LoaderEvent.UNLOAD event dispatching which can be very convenient for notifying a child swf about when it should run disposal/cleanup code. For example, if you create stage event listeners or start sounds or NetStreams, etc. inside the child swf, those should be cleaned up when the SWFLoader is asked to unload (otherwise your listeners/NetStreams/Sounds might interfere with garbage collection and never go away). So in the child swf, you could run this code at start: var curParent:DisplayObjectContainer = this.parent; while (curParent) { if (curParent.hasOwnProperty("loader")) { Object(curParent).loader.addEventListener("unload", dispose, false, 0, true); } curParent = curParent.parent; } function dispose(event:Event):void { //cleanup code here... } - Corrected an issue that prevented the LoaderMax.defaultContext from taking effect when the swf was run locally 2010-12-19 -------------------------------------------- SWFLoader 1.769 LoaderMax 1.769 XMLLoader 1.769 SWFLoaderVars 1.11 - Added a new suppressInitReparentEvents special property to SWFLoader that suppresses the ADDED_TO_STAGE and REMOVED_FROM_STAGE events that are normally dispatched when the rawContent is reparented from the internal Loader to the ContentDisplay object. By default, the value is true but you can set it to false if you prefer. See the ASDocs for more details 2010-12-17 --------------------------------------------- ContentDisplay 1.768 FlexContentDisplay 1.768 LoaderMax 1.768 - Fixed issue that could cause a SWFLoader's rawContent to not scale/position properly if script access was denied (like if the subloaded swf was AS2 or cross-loaded from another domain that didn't have the appropriate crossdomain.xml file in place) and a width/height was defined in the SWFLoader's vars parameter. 2010-12-17 --------------------------------------------- VideoLoader 1.767 LoaderMax 1.767 - Added gotoVideoCuePoint() method to VideoLoader - Added getCuePointTime() method to VideoLoader - Minor internal optimizations in VideoLoader 2010-12-16 --------------------------------------------- LoaderMax 1.766 SWFLoader 1.766 VideoLoader 1.765 - Fixed issue that could allow a VideoLoader to dispatch a CUE_POINT event if the cue point is very early in the video and autoPlay was set to false. - Changed the way SWFLoader handles the Loader internally so that it temporarily adds it to the ContentDisplay object's display list while it loads initially so that any code that references "stage" in the child swf doesn't throw null object reference errors (as long as you've added the ContentDisplay to the display list, like by defining a "container" in the vars parameter). As soon as the swf inits (and as long as no script access denied errors occur), the swf's root is added to the ContentDisplay instead. - Fixed a small gc issue with SWFLoader - if there were sub-loaders inside the SWFLoader that had requireWithRoot set to that swf's root and then the SWFLoader was disposed, a LoaderMax instance could remain behind (it wouldn't hurt anything, but it would consume a small amount of memory) 2010-12-15 --------------------------------------------- LoaderMax 1.764 SWFLoader 1.764 - Fixed issue that could cause a SWFLoader to not switch to its alternateURL properly when the initial url fails. - Enhanced SWFLoader so that if you change the url between the time load() is called and when it inits or fails, that new URL will attempt to load as soon as possible (when the old url either fails or inits - we must wait for that in order to avoid garbage collection issues in Flash). 2010-12-14 --------------------------------------------- LoaderMax 1.763 - Fixed issue that could cause an error in a LoaderMax instance if dispose() is called more than once on the last child loader as it completes and autoDispose is true on the LoaderMax instance. 2010-12-13 --------------------------------------------- LoaderMax 1.762 SWFLoader 1.762 XMLLoader 1.762 LoaderCore 1.762 - Fixed issue that could cause a SWFLoader's or XMLLoader's "progress" property to report incorrectly as 1 after unload() was called - Forced a refresh of a LoaderMax instance's progress/bytesLoaded/bytesTotal values after one of its children is disposed 2010-12-07 --------------------------------------------- VideoLoader 1.761 LoaderMax 1.761 - Fixed an issue that could cause a VideoLoader's "rawContent" to become null after unload() was called and then load() was called again on the same instance. 2010-12-03 --------------------------------------------- LoaderMax 1.76 VideoLoader 1.76 - Worked around Flash bug that could cause VideoLoaders not to dispatch a COMPLETE event when the swf is compiled with CS3 or CS4 (very odd, I know). Apparently when you publish with CS3 or CS4, NetStreams don't consistently dispatch a NetStreamEvent for code "NetStream.Buffer.Full" and if you seek() a NetStream before about 50 millseconds after it finishes buffering (even if it has COMPLETELY loaded!) it can lose its audio, so VideoLoader works around that as well now. 2010-12-02 --------------------------------------------- LoaderMax 1.75 XMLLoader 1.75 LoaderCore 1.75 XMLLoaderVars 1.02 - Added a new event to XMLLoader (RAW_LOAD) that gets dispatched when the XML has finished loading but has NOT been parsed yet so that you can alter the XML if necessary before it gets parsed for LoaderMax-related data. There is also a new onRawLoad event listener shortcut. 2010-11-29 --------------------------------------------- VideoLoader 1.742 LoaderMax 1.742 - Very minor adjustment to VideoLoader that could help avoid a very rare scenario where it wouldn't dispatch its COMPLETE event 2010-11-22 --------------------------------------------- VideoLoader 1.741 LoaderMax 1.741 - Fixed issue that was introduced in version 1.73 that could cause a VideoLoader to not properly dispatch PLAY_PROGRESS events after gotoVideoTime() was called or the videoTime was set to a particular value. 2010-11-21 --------------------------------------------- VideoLoader 1.74 LoaderMax 1.74 - Fixed issue with VideoLoader not dispatching its COMPLETE event in a file that was published for Flash Player 9. This issue was introduced in version 1.73. - Changed "cacheBusterID" URL variable to "gsCacheBusterID" in order to make it more unique and avoid a potential conflict with a particular CDN. 2010-11-19 --------------------------------------------- VideoLoader 1.731 LoaderMax 1.731 - Fixed a minor cleanup issue in VideoLoader related to removing an event listener internally 2010-11-18 --------------------------------------------- VideoLoader 1.73 LoaderMax 1.73 - Worked around a bug in the NetStream class that could cause a video to lose its audio if it was loaded/buffered even before the NetStream rendered a single frame. - Streamlined a few things internally in the VideoLoader class 2010-11-17 --------------------------------------------- LoaderMax 1.72 VideoLoader 1.72 ContentDisplay 1.72 FlexContentDisplay 1.72 (all vars classes) 1.01 - Added "data" property to ContentDisplay and FlexContentDisplay to store arbitrary data (optional of course) - Added prop() method to all vars data classes so that you can add arbitrary properties to the vars object. - Fixed issue with VideoLoader that could cause PLAY_PROGRESS events to be dispatched even when there wasn't a change in the video time. 2010-11-16 --------------------------------------------- VideoLoader 1.71 LoaderMax 1.71 - Fixed issue with VideoLoader that could cause cue points that were added with addASCuePoint() to be triggered when goToVideoTime() is called even if its skipCuePoints parameter was true. 2010-11-13 --------------------------------------------- (all LoaderMax classes) 1.7 - Rewrote all the vars classes (CSSLoaderVars, DataLoaderVars, ImageLoaderVars, SWFLoaderVars, LoaderMaxVars, MP3LoaderVars, VideoLoaderVars, XMLLoaderVars) to facilitate method chaining like new ImageLoaderVars().name("image1").estimatedBytes(12420).width(200).height(100). This makes it possible to do things inline, greatly reducing the number of lines necessary to accomplish the same task. - Consolidated virtually all of the old vars-related classes like BlurFilterVars, ColorMatrixFilterVars, etc. into the TweenLiteVars and TweenMaxVars classes (so the old ones were deleted). - Fixed an issue that could cause a subloaded swf that uses TLF to not properly recognize LoaderMax-related loaders with their requireWithRoot set to that swf's root. This was caused by the bug in Adobe's Loader. - Updated ASDocs 2010-11-03 --------------------------------------------- LoaderMax 1.652 XMLLoader 1.652 - Fixed issue that would cause an error to be thrown if an SWFLoader was created through XML that was loaded with XMLLoader and its "context" property was defined in the XML and the swf was running locally. 2010-11-01 --------------------------------------------- LoaderMax 1.651 VideoLoader 1.651 ContentDisplay 1.651 FlexContentDisplay 1.651 - Fixed issue that could cause a video to briefly display at 320x160 before being resized to the width/height defined in the vars parameter of the constructor. 2010-10-29 --------------------------------------------- LoaderMax 1.65 LoaderCore 1.65 LoaderItem 1.65 DisplayObjectLoader 1.65 - Added a static defaultContext property to LoaderMax for defining a default LoaderContext. - Worked around a VERY strange bug in certain older versions of the Flash Player (like 10.0.12.36 in Firefox) that omitted the "?" when GET parameters are appended to the URL of a loader. This only happened when the URL contained a "?" character already to begin with. 2010-10-23 --------------------------------------------- LoaderMax 1.642 LoaderItem 1.642 - Fixed issue that could cause alternateURL not to function properly on children of a LoaderMax that had auditSize set to true 2010-10-21 --------------------------------------------- LoaderMax 1.641 LoaderItem 1.641 - Worked around an issue with Flash's URLRequest not correctly appending URLVariables to the end of a URL that already contained GET variables (it would neglect to add the "&" separator). (The fix that was applied in version 1.62 didn't fully resolve the issue) 2010-10-20 --------------------------------------------- LoaderMax 1.64 ContentDisplay 1.64 FlexContentDisplay 1.64 - Worked around bug in Flash that incorrectly reports getBounds() on objects with a scrollRect which caused ContentDisplay/FlexContentDisplay objects not to properly crop the rawContent when crop was true and any of the custom properties like fitWidth/fitHeight/crop/bgAlpha/bgColor/etc. was altered more than once. - Fixed an issue that could cause a SWFLoader's content not to be cropped properly if crop was set to true and one of the special properties was changed more then once. 2010-10-13 --------------------------------------------- LoaderMax 1.631 SelfLoader 1.631 - Fixed issue that could cause SelfLoader not to fire its COMPLETE event inside a LoaderMax if the SelfLoader is created AFTER the swf has already fully loaded (very unlikely, but possible) 2010-10-08 --------------------------------------------- XMLLoader 1.63 LoaderMax 1.63 - Fixed problem that prevented XMLLoader from recognizing the "context" special attribute inside nodes. 2010-10-07 --------------------------------------------- LoaderMax 1.62 XMLLoader 1.62 LoaderItem 1.62 LoaderCore 1.62 - Worked around an issue with Flash's URLRequest not correctly appending URLVariables to the end of a URL that already contained GET variables (it would neglect to add the "&" separator). This only happened on loaders that were originally created by passing a URLRequest into the contstructor that had URLVariables set as its "data" property. Well, that's the only time you'd see the symptom, but the problem appears to be in Adobe's URLRequest class and is unrelated to LoaderMax. - Enhanced XMLLoader so that LoaderMax-related tag recognition (like , , , etc.) is no longer case sensitive. 2010-10-05 --------------------------------------------- LoaderMax 1.61 LoaderItem 1.61 - Worked around a bug in the way some browsers (like Chrome and Firefox) occasionally use partially-loaded audit files in the cache instead of loading them normally - the workaround simply involves appending the cacheBusterID to the end of the URL (like when noCache:true is passed in) but only during the auditing process (it doesn't force the cacheBusterID to be appended to the normal/full load). - Fixed issue that caused the cacheBusterID to remain on the url from the auditing process even on loaders that didn't have noCache set to true (introduced in v1.6) 2010-10-02 --------------------------------------------- VideoLoader 1.62 LoaderMax 1.6 LoaderItem 1.6 XMLLoader 1.6 - Added "autoAdjustBuffer" property to VideoLoader (and VideoLoaderVars) that will automatically adjust the buffer if/when the initial buffer empties. It will base the new bufferTime on the rate at which the file has been loading (the user's bandwidth up to that point) so that the buffer most likely won't empty again. - Fixed issue that could cause a VideoLoader not to receive metaData if gotoAndPlay() was called before the metaData was received or if load() was called and then immediately playVideo() was called. - Added the dispatch of an ERROR event when the metaData timeout occurs. - Improved the handling of multiple calls to gotoVideoTime() or playVideo() in quick succession. 2010-10-01 --------------------------------------------- VideoLoader 1.61 LoaderMax 1.53 LoaderCore 1.53 - Fixed issue that could cause a LoaderMax queue to not proceed with its loading if an audit is occuring on a child VideoLoader at the same time as load() is called on the VideoLoader (very rare). - Fixed issue that could cause the VIDEO_BUFFER_FULL not to fire after the video has finished playing and is restarted 2010-09-29 --------------------------------------------- VideoLoader 1.6 LoaderMax 1.52 - Added new addASCuePoint() and removeASCuePoint() methods to VideoLoader for dynamically adding cue points instead of embedding them in the video file. 2010-09-28 --------------------------------------------- LoaderMax 1.51 LoaderCore 1.51 VideoLoader 1.51 - Fixed problem that caused VideoLoader to dispatch its VIDEO_BUFFER_FULL event before the buffer was full (only when autoPlay was true) - Prevented LoaderMax from dispatching an OPEN event when it has no children. 2010-09-27 --------------------------------------------- ContentDisplay 1.5 FlexContentDisplay 1.5 - Simply changed the order that properties are applied to the ContentDisplay/FlexContentDisplay so that the size is determined BEFORE being added to the container (if "container" is defined). 2010-09-22 --------------------------------------------- LoaderMax 1.5 ContentDisplay 1.472 FlexContentDisplay 1.472 - Added a "childrenVars" parameter to LoaderMax.parse() that allows you to define a vars object that should be passed to all child loaders that are created when an array of urls is parsed. For example, if you have 20 video urls to parse() and autoPlay should be false for all of them, you'd do LoaderMax.parse(myVideoUrlArray, null, {autoPlay:false}); - Fixed problem that caused the background rectangle drawn in ContentDisplay and FlexContentDisplay not to be redrawn properly when special properties like fitWidth/fitHeight were set more than once (the old rectangle remained - it needed a graphics.clear()) - Updated ASDocs 2010-09-18 --------------------------------------------- LoaderMax 1.471 SWFLoader 1.47 LoaderCore 1.47 - Worked around a Flash bug that caused SWFLoaders to incorrectly report their loading progress in a very particular scenario - Worked around Flash bug that cause LoaderMax loaders with their name set to exactly "0" (the Number) through the vars parameter to use the default name instead (like "loader1"). When vars.name was 0, Boolean(vars.name == "") would return true which is what caused the problem. 2010-09-15 --------------------------------------------- LoaderMax 1.46 ContentDisplay 1.46 FlexContentDisplay 1.46 - Fixed issue with ContentDisplay and FlexContentDisplay that could cause a Video to be displayed in the wrong proportions (this bug was introduced in version 1.43) - Worked around bug in Flex that caused FlexContentDisplay's width and height properties to always report as 0. 2010-09-14 --------------------------------------------- SWFLoader 1.4 LoaderMax 1.45 - Fixed issue that could cause a SWFLoader's internal Loader to not get closed if cancel() or unload() or dispose() is called before the swf has loaded enough to initialize its first frame. 2010-09-10 --------------------------------------------- MP3Loader 1.4 - Improved handing of the "duration" property so that it constantly updates its estimated value (the real duration cannot be determined with 100% accuracy until the file is fully loaded - that's just a limitatin of Flash). - Added "initThreshold" special property to MP3Loader that allows you to specify a minimum bytesLoaded that must be reached before the INIT event gets dispatched which means you can set it to larger numbers to ensure a more accurate "duration" property when INIT is dispatched. The default is 102400 bytes (100k) 2010-09-09 --------------------------------------------- LoaderMax 1.43 ContentDisplay 1.43 FlexContentDisplay 1.43 VideoLoader 1.4 - Added scaleMode, centerRegistration, hAlign, vAlign, crop, fitWidth, fitHeight, bgColor, and bgAlpha properties to ContentDisplay and FlexContentDisplay so that you can set all of those properties even AFTER creating the associated ImageLoader/SWFLoader/VideoLoader. Previously, the only way to set those properties was through the vars object of the loader. - Fixed issue in VideoLoader that could cause very short (in duration) videos to not be sized correctly (and may be invisible) when autoPlay was set to false. 2010-09-06 --------------------------------------------- LoaderMax 1.42 - Changed data type of the return value of LoaderMax.parse() to "*" to avoid compiler errors when developers forget to cast their variable, like var image:ImageLoader = LoaderMax.parse("photo.jpg") as ImageLoader 2010-09-05 --------------------------------------------- LoaderMax 1.41 - Changed the name of the new LoaderMax "steppedProgress" property to "rawProgress" and improved its accuracy inbetween loads so that it is updated each time there's a PROGRESS event instead of only when a child loader fully completes. 2010-09-01 --------------------------------------------- LoaderMax 1.4 DisplayObjectLoader 1.31 - Added a new "steppedProgress" property to LoaderMax that is based solely on the ratio of child loaders that have completed loading compared to those that haven't - this calculation does not concern itself whatsoever with bytesLoaded and bytesTotal. See docs for details. - Changed the data type that the static getLoader() method returns to "*" instead of LoaderCore in order to make it easier on developers. Previously, for example, playing a VideoLoader would need to be done like (LoaderMax.getLoader("myVideoLoader") as VideoLoader).playVideo() but now it can simply be LoaderMax.getLoader("myVideoLoader").playVideo() - Fixed minor problem with the forced garbage collection routine in SWFLoader and ImageLoader that gets called after unload() and dispose(true). 2010-08-30 --------------------------------------------- LoaderMax 1.31 - Fixed problem in LoaderMax.prependURLs() and LoaderMax.replaceURLText() that could cause an error if the includeNested parameter was set to true and there were nested child loaders. 2010-08-12 --------------------------------------------- VideoLoader 1.32 - Fixed VideoLoader's default autoPlay to be true instead of false (the documentation said the default was true but the actual behavior indicated false) - Worked around bug in Flash that prevented metaData from being received by a NetStream (in VideoLoader) if pause() was called before the client's onMetaData callback was called. So in very rare circumstances (depending on how the flv was encoded), metaData simply wasn't received by VideoLoader, causing the INIT event to never be dispatched in that case. 2010-08-09 ---------------------------------------------- (all LoaderMax classes) 1.3 - Added new com.greensock.loading.data package with classes for defining vars objects for each type of loader which enables strict data typing and code hinting. For example, XMLoaderVars, LoaderMaxVars, SWFLoaderVars, etc. - Made all LoaderMax classes compatible with the new "vars" objects - Changed default MP3Loader autoPlay value from false to true in order to make it consistent with VideoLoader and SWFLoader - Prevented parsed loaders that an XMLLoader finds inside XML from having their size audited automatically when their "load" attribute was set to "false". - Fixed missing removeEventListener() inside LoaderMax that was listening for "dispose" events which could cause an error to be thrown if autoDispose was set to true on both a LoaderMax and its child. 2010-08-07 ---------------------------------------------- VideoLoader 1.24 MP3Loader 1.24 LoaderMax 1.24 - Added a bunch of capabilities to MP3Loader for controlling playback, like playSound(), pauseSound(), gotoSoundTime(), volume, playProgress, duration, soundTime, soundPaused, and some extra event dispatching like SOUND_PLAY, SOUND_PAUSE, SOUND_COMPLETE, and PLAY_PROGRESS - Added dispatching of VIDEO_PROGRESS events from VideoLoader - Worked around a bug in Adobe's NetStream class that prevented the proper loading of a video file after the loader was either canceled or unloaded (after the NetStream's close() method was called, no subsequent files could be played properly). - Updated ASDocs 2010-08-05 ---------------------------------------------- SWFLoader 1.23 XMLLoader 1.23 - Fixed issue that could cause a SWFLoader or XMLLoader to prematurely dispatch its COMPLETE event in a very rare scenario, like if a nested loader inside a swf dynamically inserted a new (more deeply) nested loader right before it would normally dispatch its COMPLETE event. 2010-08-04 ---------------------------------------------- LoaderMax 1.23 - Fixed issue that could cause a LoaderMax instance not to fire its COMPLETE event if new child loaders were added to it while it was in the process of loading its children. 2010-07-31 ---------------------------------------------- SWFLoader 1.22 - Worked around bug in Firefox version of Flash Player that could cause Adobe's Loader class not to report bytesLoaded and bytesTotal properly on swfs that are a particular size and gzip is enabled on the server (VERY rare). It could prevent SWFLoader from dispatching its COMPLETE event. 2010-07-30 ---------------------------------------------- SWFLoader 1.21 XMLLoader 1.21 - Changed the default ApplicationDomain in SWFLoader to child (new ApplicationDomain(ApplicationDomain.currentDomain)) whereas previously it was same (ApplicationDomain.currentDomain) because several users were loading multiple swfs that used the same class/package which caused conflicts. Of course they could define a custom LoaderContext using the "context" special property, but the typical user doesn't understand what a LoaderContext is really, so it seemed safest to change the default to the safer "child" option. - Updated ASDocs 2010-07-28 ---------------------------------------------- (all LoaderMax classes) 1.2 - Added "defaultAuditSize" static property to LoaderMax to give developers control of the default auditSize special vars property for LoaderMax instances. - Added "data" property to the LoaderEvent class to store variable data like for VideoLoader's VIDEO_CUE_POINT event's cue point info. - Added conditional logic so that Security.allowDomain() isn't called from an AIR app (AIR apps will burp on Security.allowDomain()) - Updated ASDocs 2010-07-23 ---------------------------------------------- LoaderMax 1.195 SWFLoader 1.195 XMLLoader 1.195 - Changed the data type that getLoader() returns to "*" instead of LoaderCore in order to make it easier on developers. Previously, for example, playing a VideoLoader would need to be done like (LoaderMax.getLoader("myVideoLoader") as VideoLoader).playVideo() but now it can simply be LoaderMax.getLoader("myVideoLoader").playVideo() 2010-07-17 ---------------------------------------------- LoaderMax 1.194 DisplayObjectLoader 1.194 - Significantly reduced brief RAM usage when loading images and/or swfs. Previously, BitmapData.draw() was used to check security restrictions in loaded assets which caused a temporary spike in RAM usage even though the BitmapData object was only 1 pixel tall and 1 pixel wide. 2010-07-15 ---------------------------------------------- LoaderMax 1.193 XMLLoader 1.192 - Fixed issue that could cause a LoaderMax instance to cancel and start reloading a file unnecessarily when prioritize() is called on a child loader that has already completed loading. - Worked around bug in Flash Player for Firefox that caused Adobe's URLLoader to incorrectly report its bytesLoaded as less than bytesTotal (only on very small files) even after its COMPLETE event had been dispatched, causing XMLLoader not to dispatch its COMPLETE event properly. 2010-07-14 ---------------------------------------------- VideoLoader 1.192 LoaderMax 1.192 DisplayObjectLoader 1.192 - Worked around Flash bug that prevented the VIDEO_BUFFER_FULL from being dispatched in VideoLoader when autoPlay was set to false. - Fixed issue that could cause an ImageLoader or SWFLoader not to properly cancel() (it could still load in the background in very specific rare situations) 2010-07-09 ---------------------------------------------- MP3Loader 1.141 - Fixed problem where an MP3Loader's content could be null after its loading was canceled. 2010-07-08 ---------------------------------------------- XMLLoader 1.191 - Fixed issue that could cause an XMLLoader not to dispatch its COMPLETE event if the XML file was completely empty (bytesTotal of 0) - Worked around a bug in the Flash Player for Chrome that caused Adobe's URLLoader to always report a bytesTotal of zero for very large XML files that were loaded with gzip enabled on the server (it only affected very large XML files) 2010-06-30 ---------------------------------------------- XMLLoader 1.19 LoaderMax 1.19 SelfLoader 1.0 - Worked around a bug in Flash Builder that caused it not to recognize XMLLoader for code hinting, etc. - Added SelfLoader for tracking the current swf's loading progress 2010-06-28 ---------------------------------------------- VideoLoader 1.18 - Fixed issue that could cause a video to autoPlay even if autoPlay was set to false. This only happened in rare scenarios. 2010-06-24 ---------------------------------------------- ContentDisplay 1.17 FlexContentDisplay 1.17 VideoLoader 1.17 - Fixed crop feature that could incorrectly scale a video or an swf that had scriptAccessDenied = true. 2010-06-23 ---------------------------------------------- ImageLoader 1.15 SWFLoader 1.15 VideoLoader 1.15 XMLLoader 1.15 ContentDisplay 1.15 FlexContentDisplay 1.15 - Added a new "crop" special property for SWFLoader, ImageLoader, and VideoLoader. - Adjusted SWFLoader so that the swf's native size is what is factored into the scaleMode and alignement rather than its getBounds(). 2010-06-22 ---------------------------------------------- (all LoaderMax classes) 1.14 - Added ability to change a loader's url on the fly - When a loader's url changes, it now resets its status to READY (unless it is paused in which case it will remain PAUSED). - Implemented unloadAndStop() internally in SWFLoader and ImageLoader for swfs that are published to Flash Player 10 and later. This is just an added layer of protection against gc issues. 2010-06-21 ---------------------------------------------- LoaderCore 1.12 LoaderItem 1.12 - Prevented PROGRESS event from being dispatched when a loader is disposed - Added the dispatch of an ERROR LoaderEvent when an alternateURL is defined and the initial url fails 2010-06-18 ---------------------------------------------- (all LoaderMax classes) 1.11 - Added "alternateURL" property to all LoaderItems that allows you to define an alternate URL to load from if the original URL fails. - VideoLoader now dispatches a VIDEO_PLAY event when autoPlay is true and the video initially loads and plays. 2010-06-17 ---------------------------------------------- (all LoaderMax classes) 1.1 - Added new "loadTime" property to all loaders which reports the number of seconds elapsed during the load. - Fixed issue in SWFLoader that could cause it to stall if canceled before the swf had dispatched its INIT event. - Altered VideoLoader to better handle a situation where metaData isn't received from the video being loaded. - When XMLLoader encounters malformed XML it will now dispatch a LoaderEvent.ERROR. The "text" property of the LoaderEvent will describe the error. - Added automatic trace() of all errors to make debugging easier. 2010-06-17 ---------------------------------------------- LoaderMax 1.02 LoaderCore 1.02 - Improved status recognition in LoaderMax instances so that if a child was paused and the LoaderMax completed, when load() is called it will check again to see if any children were unpaused or failed and act accordingly, loading them if they're unpaused at that point. 2010-06-16 ---------------------------------------------- LoaderMax 1.01 VideoLoader 1.01 - Fixed issue that could cause a LoaderMax not to dispatch its final PROGRESS event if it's not in the process of loading and its children have independently loaded fully. - Fixed issue that could cause a video that doesn't have autoPlay:true to briefly play audio just as its buffer is filled (very brief). 2010-06-16 (version 1.0) ---------------------------------------------- - Added "paused" property to VideoLoader - Changed data type of SWFLoader's, ImageLoader's, VideoLoader's, ContentDisplay's, and FlexContentDisplay's rawContent property to * in order to reduce questions about compile-time errors when developers don't understand the concept of casting. - Added "bufferMode" to VideoLoader - Changed "loops" property in MP3Loader and "loop" property in VideoLoader to "repeat" to be consistent with TweenMax/TimelineMax (and with each other). - Fixed problem that could cause a SWF to deny script access if it had NetStreams that hadn't started yet 2010-06-04 (version 0.993) ---------------------------------------------- - Added "flushContent" parameter to the dispose() method so that if you want to completely destroy an instance, you can dispose(true) instead of unload() and dispose(). dispose(true) also destroys the ContentDisplay associated with any ImageLoaders, SWFLoaders, or VideoLoaders (removing them from the display list if necessary). - Eliminated error that could be thrown if you use LoaderMax.getLoader() or LoaderMax.getContent() before any loaders are created. - Added dispose() method to ContentDisplay and FlexContentDisplay 2010-06-12 (version 0.992) ---------------------------------------------- - Fixed bug that could cause a SWFLoader or XMLLoader not to fire its COMPLETE event if it had an estimatedBytes defined and recognized sub-LoaderMax instances didn't have estimatedBytes defined and didn't load quickly enough. 2010-06-10 (version 0.99) ---------------------------------------------- - Introduced new LoaderEvent class for easier event management - Many of the LoaderEvents essentially bubble through Loaders, so the LoaderEvent's "target" is always the originating loader and the "currentTarget" can be the LoaderMax instance. For example, if you nest an ImageLoader in a LoaderMax and listen for LoaderEvent.ERROR events on that LoaderMax and the ImageLoader throws an error, your listener will receive a LoaderEvent whose target points to the ImageLoader and currentTarget points to the LoaderMax. - Revamped most of the event architecture in the system, making it more robust - Introduced FAIL, CHILD_OPEN, CHILD_PROGRESS, CHILD_COMPLETE, CHILD_CANCEL, and CHILD_FAIL events. - You can listen for CHILD_* events on XMLLoaders and SWFLoaders too in order to get information about any nested loaders that are discovered in the XML/SWF. - Added "httpStatus" property to LoaderItems - Changed VideoLoader's resumeVideo() to playVideo() - Changed VideoLoader's seekVideo() to gotoVideoTime() 2010-06-09 (version 0.98) ---------------------------------------------- - Changed "prependChildrenURLs()" to "prependURLs()" in LoaderMax - Added LoaderMax.parse() method for automatically creating the appropriate type of loader based on a url's file extension (you may pass an array as well in which case it will create a LoaderMax containing the necessary children) - Added replaceURLText() method to LoaderMax - Added ability for XMLLoader to recognize replaceURLText="" attribute - Added "deblocking" and "loop" special properties to VideoLoader - Eliminated unhandled error notifications - Improved error reporting and identification of various types of loaders in trace() statements and toString(). - Improved performance slightly 2010-06-09 (version 0.972) ---------------------------------------------- - Added "smoothing" property to VideoLoader (enabled by default) - Added "duration" property to VideoLoader 2010-06-08 (version 0.971) ---------------------------------------------- - Fixed problem that could cause a SWFLoader or XMLLoader not to fire its COMPLETE event 2010-06-08 (version 0.97) ---------------------------------------------- - Added VideoLoader - Added ContentDisplay and FlexContentDisplay classes. - Now ImageLoaders, SWFLoaders, and VideoLoaders will all return a ContentDisplay instance (a Sprite) as their content. The nice thing about ContentDisplay instances is that they have a "loader" property that gives you a way to reference the loader object that populated it. So if you need to unload() it or reload it or find out the loading progress, etc., that's all possible. - Added a LoaderMax.contentDisplayClass property which you can set to FlexContentDisplay in order to make LoaderMax Flex-friendly. FlexContentDisplay extends UIComponent, fulfilling the Flex requirement. - Reworked the cancel(), unload(), and dispose() logic internally - Reduced file size slightly - Changed the default "auditSize" special property to true in LoaderMax instances. Previously it was false, but it seems as though it will be a very useful feature that most developers will use and it will prevent some confusion with LoaderMax instances' progress and bytesTotal values being jumpy when estimatedBytes isn't used. Remember, whenever an estimatedBytes property is defined, it will be used instead of auditing the size with a URLStream (to improve performance). - Prevented a ProgressEvent from being fired where the bytesLoaded == bytesTotal until any parsing and/or setting of the "content" property was completed. - Prevented redundant ProgressEvents from being dispatched from a LoaderMax. - Minor fixes - Updated docs 2010-06-04 (version 0.96) ---------------------------------------------- - Fixed issue with SWFLoader and XMLLoader that could cause the bytesLoaded to exceed bytesTotal if an estimatedBytes was defined that was too low and the swf/xml hadn't initted yet. 2010-06-03 (version 0.95) ---------------------------------------------- - Added getSWFChild() to SWFLoader for finding DisplayObjects at the root of subloaded swfs - Fixed problem that could cause XMLLoader not to fire its COMPLETE event in a certain situation - Fixed bug in prepend() that replaced the first element instead of pushing it back 2010-06-03 (version 0.93) ---------------------------------------------- - Fixed issue where the COMPLETE event could fire before the INIT event in an XMLLoader that found an empty node in the XML (and no other loaders) - Fixed issue where an empty LoaderMax could report a progress of NaN instead of 0. 2010-06-02 (version 0.92) ---------------------------------------------- - Enhanced SWFLoader to work around an Adobe bug in swfs that have TLF content which would mislabel content and fire INIT/COMPLETE events inappropriately. 2010-06-02 (version 0.91) ---------------------------------------------- - Added "rawContent" property to ImageLoader and SWFLoader for retrieving raw content instead of the Sprite into which it was loaded. For example, an ImageLoader's "content" would be a Sprite whereas its rawContent would be a Bitmap (or a Loader if script access was denied). - Removed "bitmap" property from ImageLoader because the generic "rawContent" property makes it redundant. - Renamed CommonLoader to DisplayObjectLoader (you'd never use the class directly anyway) 2010-06-01 (version 0.9) ---------------------------------------------- - Added prependChildrenURLs() to LoaderMax - Added ability for XMLLoader to recognize prependChildrenURLs attribute in XML nodes - Eliminated redundant ProgressEvent dispatching from XMLLoaders that found LoaderMax data inside XML. 2010-06-01 (version 0.81) ---------------------------------------------- - Improved unload() and dispose() performance in ImageLoader and SWFLoader - Images and swfs are now added at index 0 to the content Sprite instead of the top level - Removed "offsetRegX" and "offsetRegY" special properties from ImageLoader and SWFLoader to reduce file size (they didn't seem super useful anyway). - Fixed issue where a completed LoaderMax that was paused after having completed and then unload() is called would not load() again (refusing to unpause). - Updated docs 2010-06-01 (version 0.8) ---------------------------------------------- - Changed behavior of ImageLoader and SWFLoader so that their "content" property always returns a Sprite which serves as a container for the remote content. This Sprite is immediately available, making development tasks easier. - Added the ability to have images and swfs scale to fit inside the width/height defined for the ImageLoader or SWFLoader with various scaleModes like "proportionalInside", "proportionalOutside", "stretch", "widthOnly", "heightOnly", and "none" - Added hAlign, vAlign, bgColor, bgAlpha, offsetRegX, and offsetRegY special properties for ImageLoader and SWFLoader - Updated XMLLoader so that it recognizes the various new special properties available in ImageLoader and SWFLoader 2010-05-29 (version 0.71) ---------------------------------------------- - When XMLLoader finds LoaderMax-related data inside the XML, it will now audit the size of any that don't have an estimatedSize defined. - Fixed issue that could cause auditedSize to incorrectly report false. 2010-05-29 (version 0.7) ---------------------------------------------- - When auditSize() is called and the URLStream fails because of an IO_ERROR, the loader will now set its status to FAILED and generate an error event which also takes it out of consideration when determining a LoaderMax's progress. - Fixed a garbage collection problem - Updated docs 2010-05-28 (version 0.65) ---------------------------------------------- - Added DataLoader class for loading generic text, binary, and URL-encoded variables - Added CSSLoader class for loading StyleSheet information. - Added onOpen to docs for all loaders - Fixed error that was thrown when a swf was loaded whose root was not a MovieClip 2010-05-27 ---------------------------------------------- - XMLLoader now recognizes a "context" attribute inside XML-driven loaders, like . The default value is "own" and other options are "child" and "separate". - ImageLoader and SWFLoader now recognize the "blendMode" special property so that you can set the image's/swf's blendMode as soon as it loads. - If SWFLoader loads an AVM1Movie (AS1/AS2), it will toggle the scriptAccessDenied to true and the content will refer to the Loader object instead of the root of the swf for security purposes. - Minor updates to docs 2010-05-26 ---------------------------------------------- - Added an auditSize special vars property to LoaderMax. See ASDocs for details about functionality - Added auditSize() method and auditedSize property to all loaders - Added logic in ImageLoader and SWFLoader to fall back to a more restricted mode in terms of script access when a security error is thrown due to a missing or malconfigured crossdomain.xml file. This improves the likelihood that the content will still load even if there was a security error. - Added LoaderMax.SCRIPT_ACCESS_DENIED event dispatching along with an onScriptAccessDenied special vars property - Added a new scriptAccessDenied property that you can check in order to determine whether or not you can perform operations like BitmapData.draw() on ImageLoader/SWFLoader content. - Tweaked error handling so that unhandled errors aren't thrown. - Added dispatching of IOErrorEvents, SecurityErrorEvents, and HTTPStatusEvents (you can set them up normally or with onIOError, onSecurityError, and onHTTPStatus special vars properties) 2010-05-25 ---------------------------------------------- - Changed LoaderMax's getAllLoaders() to getChildren() - Changed LoaderMax's getLoadersByStatus() to getChildrenByStatus() - Changed LoaderMax's getLoaderIndex() to getChildIndex() - Added LoaderMax.defaultEstimatedBytes so that you can define any default value for new Loaders that don't have an estimatedBytes property defined in the vars object. - Changed the default estimatedBytes to 20000 instead of 1000. - Added the ability for ImageLoaders and SWFLoaders to recognize a "visible" property in the vars object so that you can set the object's visible property. - Removed "loaders" property of LoaderMax - Added getClass() method to SWFLoader - Minor updates to docs