Mims Wright

Introducing KitchenSync - an open-source animation library for AS3


After about 6 months in development, I’m very proud to announce the release of KitchenSync, a multi-purpose tool written in ActionScript 3.0 for doing tween based animations and timing of functions and much more. The project is open-source under the GNU LGPL and hosted at Google Code. Please take a moment to check it out and feel free to write to me with questions, comments or suggestions for improvement!

KitchenSync is more than an animation library

KitchenSync is more than an animation library. Tweens are a major part of KitchenSync but that is not the end. It also allows you to sequence sounds, functions, and event dispatches among other actions. The framework is open-ended allowing you to come up with new ways to work with the virtual timeline.

KitchenSync was designed with developers in mind

KitchenSync was designed for developers who want a smart way to handle animation or other time-based functionality with code. Written from the ground up in ActionScript 3.0, KitchenSync relies on smart object-oriented architecture rather than complicated shorthand. It includes a number of features and shortcuts, such as the clone() method, that save effort for developers. KitchenSync makes extensive use of events and informative runtime errors and is quite flexible when it comes to extending the functionality.

KitchenSync aims to…

  • offer a well-architected, extensible framework for working with time-based animations and events.
  • take advantage of the power of ActionScript 3.0 while using OOP best practices and design patterns and without requiring the Flex framework.
  • respond to the needs of developers with a rich set of features.
  • be a full-featured library for animation and timeline based actions.

Links

15 Responses to “Introducing KitchenSync - an open-source animation library for AS3”

  1. Jeff Yamada Says:

    Very awesome! Love the logo too!

  2. Mims H. Wright Says:

    Thanks a lot Jeff!

  3. building blocks Says:

    KitchenSync - open-source Actionscript 3 tweening and timing animation library…

     
    Mims Wright has released an open-source animation library for Actionscript 3. This has a lot of promise. From the author:
     

    KitchenSync was designed for developers who want a smart way to handle animation or other time-based functionality…

  4. Tom Fitzpatrick Says:

    This looks great. Is the source code for the demo samples available?

    Thanks!

  5. Stephen Baker Says:

    Mims, this looks great! Thanks for putting this together…

  6. Mims Wright Says:

    Tom,
    Thanks. The demo source is not up at the moment but I’ll add it soon so check back in a couple of days.

    Steve,
    Thanks/you’re welcome! Hope you enjoy it.

  7. Kiruban Naidoo Says:

    Congrats Mims ! Looks like you put in tons of effort here :)

    Well done - will follow this project very keenly…

  8. Mims Wright Says:

    kiruban,

    Thanks very much. It was lots of effort but I hope people find it useful.

  9. Tom Fitzpatrick Says:

    Until you get some Flex samples posted, here’s a quick question. I’m able to run the first Tween demo fine as an .as application, but I’m not sure how to make it work as an .mxml application. It keeps getting hung up on the very first step - initializing the Synchronizer. Error message says something like “framerate seed must be a member of the displayList”. Any quick tips on how to structure the Tween sample in .mxml?

  10. Mims Wright Says:

    OK. I’ve added source code to some of the demos. check them out again. They should say “right click to view source”

    Also, if you’ve got other questions or comments about KS, or if you want to keep up on the latest developments, check out the groups page:
    http://groups.google.com/group/kitchensynclib/

  11. Roger Braunstein Says:

    You should make a little banner with the toastman mascot, it is so effing cute!

  12. Adam Flater Says:

    Looks cool man.. did a quick post link back for ya: http://adamflater.blogspot.com/2008/02/new-3d-library-from-mims-wright.html

    -adam

    —-
    Adam Flater
    Flex Developer
    Universal Mind

  13. Bob Flisser Says:

    Mims, this looks great. I bought your AS3 Bible and it really rocks, so I’m sure your library rocks, too.

    One thing I need to know: will your code force loaded sound (external or embedded, but not on the timeline) to sync with animation? Nobody seems to know if that’s even possible.

    My projects tend to be a sequence of MCs called from the main timeline, with one sound file playing across the whole movie. Trying to get even 2 machines to play the same thing at the same time is impossible. Can your library solve that problem?

  14. Mims Wright Says:

    @Bob,

    That sounds tricky. I’m not sure how the sequence of MCs would work but it sounds like it may be prone to errors. I don’t really know of a way to get sound to play on two machines at the exact same time unless you maybe preloaded the sound but didn’t start it until a certain UTC date but even then it may be off by a small amount.

    What kitchen sync could do (if you used sync mode http://code.google.com/p/kitchensynclib/wiki/TimeUnit) is make animations, functions, or gotoandplay() happen at exactly (or very near to exactly) the right time while staying synced with the sound.

    You may find more success by moving away from timeline based animations and coding. ActionScript 3.0 makes working with the timeline much more difficult in my opinion.

  15. Bob Flisser Says:

    No, no…sorry for the confusion. What I meant was that when I test one movie on several computers, each computer will play the animation and the sound in different time. On one computer, the sound will be a little faster than the animation and on another machine, the sound will be a little slower than the animation.

    As long as I’m loading external sound or sound from the library using AS3 (or AS2 for that matter), I am unable to sync it to what’s happening on the stage. Not one person in several forums I’ve posted to knows how to solve the problem.

    I can only synchronize sound when it’s attached to the timeline, and then I have to match the number of frames in each MC with the number of frames on the main timeline. It seems ridiculous, but I can’t get Flash to sync any other way. That’s why I was wondering if your code would help! I’ll definitely check it out.

Leave a Reply