KitchenSync lib Change Log
Visit KitchenSync on GitHub for the latest version
* = Contains syntax changes that may require refactoring of legacy code.
===== v2.1* =====
ADDED - Auto-visibility to fade in and out tweens plus a parameter for e.g. automatically setting the alpha to 0 before a fadeIn.
KSAddChild. Just shortcuts for
addChild()but with built-in error checking.
IActionGroupwhich makes it a little easier to tweak anonymous actions when working with groups.
KSProxyA utility for applying changes from one property to another property.
FIXED - Issues 31, 32, 34, 35 dealing with
FIXED - Issue when starting a group with no child actions.
FIXED - Possible situation where start event could be dispatched after complete event.
CHANGED - position tween from points to numbers to make it easier to use.
KSSimpleTweenno longer requires a value for delay. Default is 0.
===== v2.0.1 =====
CHANGED - No longer requires
KitchenSync.initialize()! now auto-initializes.
KSNullAction- an action that does nothing at all.
ADDED - Advanced scale method to
===== v2.0* =====
Note: Version 2.0 represents a major overhaul to the entire system for greater simplicity and practical functionality. This version will not be backwards compatible. Version 1.x development will continue under a separate branch starting with 1.7.
ADDED - Better docs to
ADDED - methods in
TweenFactoryand renamed some.
REFACTORED - Constructors throughout the system for more consistency and ease of use.
REMOVED - delay from the
CHANGED - all color matrix tweens to use values between -1 and 1.
SYNCHRONIZER AND TIME
REFACTORED - The way time is handled throughout. The sync mode option is deprecated and will always be active.
ISynchronizerCoreand example core classes. This allows advanced users to switch between different methods of timing (e.g. enterframe or timer based)
Timestampclass. From now on, the synchronizer will dispatch an int representing the system time since the SWF initialized. Also removed
ADDED - a method to track the number of active actions.
ADDED - cycles to replace frames in Synchronizer. Every update counts as a cycle.
FrameRateUtilfor getting instantaneous and averaged framerates of the system. The FrameRateView now makes use of this class and has more options.
CHANGED - Using
TimeStringParser_ento work with frames is now not recommended but a frameRate property has been added to support it.
timeStringParseris now a property of
KitchenSyncinstead of being defined in
MOVED - some important methods from
IPauseableinterface extracted from
IAction. (wiht intention of making
ADDED - an
IPrecisionActionthat defines a method that can start an action at a specific start time. Used in Staggered group
AbstractActionso (almost) all actions have this functionality.
REMOVED - action triggers from
AbstractActionfor getting percentage complete of an action.
ADDED - methods in
TweenFactoryand renamed some.
CHANGED - constructors in
KSTween. Emphasis is now on using
IMPROVED - Object parser in
MOVED - all tween related classes and tween targets into
org.as3lib.kitchensync.action.tweenpackage. Got rid of
KSTweenclone functions. Some are a little hacky but easy to use.
ADDED - a method for getting the natural duration of a timeline tweeen in
ADDED - easing related accessors to
MOVED - action group related files to
ADDED - an interface for groups,
ADDED - Syntactic sugar to the group constructors. using an array in the constructor for a parallel group adds a sequence and vice versa.
ADDED - Looping via a new group called
KSSteppedSequenceGroupbecause it seemed kinda useless.
REFACTORED - Now it's much easier to use and more powerful.
KSLoaderfor queueing up Loaders for loading SWFs and images
KSLoadQueuefor quickly creating a class to load files from the network in a batch.
ADDED - the
resultListproperty to the
ILoaderActioninterface so that you can quickly access the loaded files in a batch.
RENAMING OF CLASSES
KitchenSyncEventtypes because of a bug in Flex which makes the wrong event type appear in the auto-complete if the constant name and string don't match.
AUTO\_TWEEN\_VALUEand moved it to a global file. Fixed a bug where this wasn't working. Also added this to
FIXED - a timing issue in
KSStaggeredGroup. Now the animations from this group are much smoother.
FIXED - pausing in
FIXED - some minor bugs
KSAsynchronousIterationfor running processor-intensive for loops spaced out over a period of time so that they are essentially asynchronous.
useWeakReferencesclass properties of
KSEventDispatcher. Modified other methods for garbage collection.
KSMovieClipControllersince it didn't seem to add much and could be confused easily with
build.xmlto include more targets for building the library. Using SDK 3.4 now.
===== v1.7 =====
ADDED - Grant Skinner's ColorMatrix class for some color tweens
ADDED - Saturation tween target for animating saturation changes (using
ADDED - Brightness tween target for animating brightness changes (using
ADDED - Contrast tween target for animating contrast changes (using
KSXMLLoaderfor easier load queues
KSAsyncrhonousFunctionto use strong references
===== v1.6 (2008.10.15) =====
ADDED - TweenFactory which provides an easy to use interface for creating new tweens including an object parser similar to FuseKit's interface.
ADDED - SoundTransformTarget for changing volume or panning of a sound.
ADDED - KSSimultaneousEndGroup which causes all children to end simultaneously.
ADDED - KSSteppedSequenceGroup for sequencing powerpoint-like applications.
ADDED - finished coding INumericController
ADDED - isInstantaneous property to AbstractActions
ADDED - toString() methods to some ITweenTarget classes. Modified toString() for some groups.
ADDED - IAction and ISynchronizerClient interfaces.
ADDED - an optimized implementation of IAction, KSSimpleTween. Saw a 25% performance increase over KSTween!
ADDED - ITween interface
CHANGED - License to MIT license.
CHANGED - all static types that reference AbstractAction to IAction. Now IActions can be added to groups. (needs testing)
CHANGED - Synchronizer to utilize ISynchronizer client. (virtually no performance increase) :-(
CHANGED - Altered KSTween to use multiple tween targets. Now includes methods like addTweenTarget(). some clone methods are deprecated.
CHANGED - KSTween's EXISTING_FROM_VALUE to VALUE_AT_START_OF_TWEEN
FIXED - a bug in KSParallelGroup.stop()
FIXED - a non-bug where using addAction() can cause a null pointer exception after using kill() on a group.
REMOVED - commented out unused 'name' property of AbstractAction
UPDATED - wiki to reflect 1.5 syntax.
===== v1.5* (2008.07.08) =====
REFACTORED - to optimize performance. Saw an improvement of about 50%
ADDED - TargetProperty and ITweenTarget (formerly ITweenable) to KSTweens (actually, these have been in there for a while, but now they're working)
ADDED - IFilterTweenTarget and implementations for tweening filter properties and simple blurs.
ADDED - INumericController as a base class for ITweenTarget
ADDED - KSTween.newWithTweenable() and KSTween.cloneWithTweenable() methods for creating tweens with custom tweenables.
ADDED - KSAsynchronousFunction for firing asyncrhonous functions in a sequence. Good for queues.
ADDED - FrameRateView utility which displays the framerate of the Synchronizer.
ADDED - message accessor to KSTrace
FIXED - a bug where children of a group are not cloned when the group is cloned.
FIXED - a bug in KSStaggeredGroup that caused some children not to fire.
FIXED - a bug where actions get fired multiple times in sync mode. (needs verification)
MOVED - snapToWholeValue from KSTween to TargetPropety.
RENAMED - snapToWholeValue to snapToInteger.
CHANGED - KSTween's 'fromValue' and 'toValue' to 'startValue' and 'endValue' and are actually stored in the ITweenTargets.
CHANGED - syntax of KSTween constructor. Now 'startValue' comes before 'endValue'.
CHANGED - 'util' to 'utils' to match Adobe's and AS3lib's naming conventions.
CHANGED - 'offset' to 'delay' (kept legacy accessors for offset)
CHANGED - KSSoundController now uses the time string parser on the 'soundOffset'.
CHANGED - the core of the Synchronizer to a timer based system thus improving speed.
CHANGED - default policy for 'snapToValueOnComplete' to true which should fix some tween problems.
CHANGED - default frequency for oscillating functions.
===== v1.2* (2008.05.2) =====
RENAMED - Nearly the entire library
MOVED - All classes into new packages
ADDED - KitchenSync as the entry point to the library. Use KitchenSync.initialize(this, "1.2"); to start the app.
CHANGED - Synchronizer is no longer used to initialize the library and getInstance() no longer throws an error.
FIXED - A bug in Sequence.kill()
===== v1.1 (2008.02.22) =====
ADDED - jumpToTime() method to Tween (this may be moved to AbstractSynchronizedAction in a later release)
ADDED - getTimestampFromFrames() and getTimestampFromMilliseconds() to TimestampUtil
ADDED - Timecode to TimeStringParser. Now ":ss", "mm:ss;ff", "dd:hh:mm:ss;ff", etc. are now supported.
ADDED - ActionDefaults class for storing default initialization values.
ADDED - easeOutIn() to most of the easing functions (buggy. seems to overshoot target in some cases)
ADDED - version check in Synchronizer.initialize()
CHANGED - type of Numbers within Timestamp to int.
REFACTORED - all actions to contain super() in the constructor.
REMOVED - errors that are thrown when pause() and start() are called at the wrong times.
===== v1.0.1 (2008.02.04) ======
FIXED - Cubic.easeOut bug.
ADDED - getters for Tween's toValue and fromValue.
ADDED - source code to main binary.
ADDED - metadata for events.
UPDATED - docs and added summaries to all wiki pages.
===== v1.0 (2008.01.21) =====
Note: This is Milestone 1.0 as it is the official release and all basic functionality is complete.)
ADDED - lots of documentation on the project wiki (http://code.google.com/p/kitchensynclib/w/list)
TESTED - SynchronizedSetProperty and made minor changes.
===== v0.4.2 (2007.12.20) =====
ADDED - ITimeStringParser. duration and offset now support string values such as "12sec" or "15 frames" or "1h1m2s3ms". See TimeStringParser_en for details
CHANGED - TimeUnit and ActionControllerCommands to be strong-typed enumerations.
FIXED - (partially) bug in Oscillate when dealing with frequencies and different time units.
===== v0.4.1 (2007.12.13) =====
FIXED - problems with sync property for Tweens
MOVED - project to Google Code (http://kitchensynclib.googlecode.com/)
===== v0.4 (2007.12.04) =====
ADDED - pause(), unpause(), and stop() to AbstractSynchronizedAction. Also created reset() for Tweens.
ADDED - support for milliseconds or frames using the TimeUnit class. The default time unit is now milliseconds.
ADDED - new AbstractSynchronizedAction type - ActionController - which can tell another action to play, pause, unpause, stop, or kill.
ADDED - ActionControllerCommands class for holding static constants for each command.
ADDED - SynchronizedGotoFrame for controlling MovieClips (untested)
ADDED - SynchronizedSetProperty (not tested)
ADDED - new class TimestampUtil with add(), subtract() methods.
ADDED - getChildAtIndex() method to AbstractSynchronizedActionGroup.
ADDED - removeTrigger() and removeEventTrigger() to AbstractSynchronizedAction.
ADDED - setTime() to Timestamp
ADDED - minimum and maximum modifiers to Random.ease function.
ADDED - triangle() to Oscillate class.
ADDED - CHILD_START events and moved onChildComplete() and onChildStart() into the AbstractSynchronizedActionGroup class.
ADDED - PAUSE and UNPAUSE events
ADDED - clone() to Timestamp
FIXED - the pesky bug where child actions executed 1 frame late.
FIXED - a bug where Parallel didn't dispatch CHILD_COMPLETE
MOVED - some as3 library files to an externally linked library
CHANGED - start() to return the started action. This will make it easier declare and start in the same line: var tween:Tween = Tween(new Tween(x,y,...).start());
CHANGED - Tween's 'targetProperty' getter and setter to 'value'
CHANGED - startTimeIsElapsed and durationIsElapsed to public read-only properties.
OPTIMIZED - performance of some functions with sounds and groups.
===== v0.3.1 (2007.09.28) =====
ADDED - a User's Guide to the docs folder. Docs are available at http://mimswright.com/kitchensync/docs
MOVED - code into a Flex Library Project (and moved demo to a seperate as3 project). Destroyed old repository.
===== v0.3 (2007.07.07) =====
ADDED - asdoc pages in the /bin/docs folder.
ADDED - autoDelete flag which deletes actions on complete if true
ADDED - addTrigger() and addEventTrigger() to AbstractSyncrhonizedAction so that actions can be triggered by other actions or by events
ADDED - clone() method to most SynchronizedAction classes
ADDED - cloneWithTarget() method to Tween class
ADDED - reverse() and cloneReversed() methods to the Tween class
ADDED - reverseChildOrder() to ActionGroup
ADDED - snapToValueOnComplete and snapToWholeNumber to Tween class
ADDED - documentation to easing functions
ADDED - absoluteSine(), sawtooth(), and pulse() to the Oscillate class
ADDED - Sextic easing class
ADDED - Stepped easing class which produces an easing function that is stepped based on another one.
ADDED - getAveragedFunction() to EasingUtils which produces an average of two types of easing functions.
ADDED - Tween.EXISTING_FROM_VALUE as the from value default. Reordered Tween constructor parameters.
REMOVED - shortcuts for amplitude, period, and overshoot
REMOVED - easeIn(), easeOut(), easeInOut() for Linear and Random
MOVED - Sine.oscillate() to Oscillate.sine()
RENAMED - project to KitchenSync. Moved code to src folder
RENAMED - com.mimswright.animation to com.mimswright.sync
OPTIMIZED - the way that actions listen to synchronizer
TESTED - to ensure the re-usability of action classes
TESTED - and tweaked the SynchronizedSound class
===== v0.2 (2007.06.21) =====
ADDED - Staggered groups
ADDED - SyncrhonizedSound (not tested)
ADDED - Wait class
ADDED - EasingUtil with call() method for more safely calling easing functions and the generateArray() method for pre-calculating
ADDED - Sine.oscillate() and Random.ease() easing functions
ADDED - easing funcitons. Rewrote all penner v2 easing functions to use fewer arguments and ported to as3
ADDED - ability to set easing function modifiers on a Tween object (includes shortcuts for amplitude, period, and overshoot)
ADDED - ITweenable and TargetProperty classes (aren't implemented yet)
FIXED - a bug with Parallel where items were deleted from array on complete.
RENAMED - SynchronizedEvent to SynchronizedDispatchEvent
===== v0.1 (2007.06.17) =====
Sequence and Parallel
Penner's Easing v3 (from alex uhlmann)