~ Current release: 0.6.2 (May 20, 2014) ~
Juggling Lab is an application for creating and animating juggling patterns. Its main goals are to help people learn juggling patterns, and to assist in inventing new ones.
This software is released under the GNU General Public License.
Juggling Lab download page for Windows, Mac OS X, and other systems.
Note: Many browsers do not enable Java by default, which is required to run Juggling Lab. See these instructions for help. In a browser certain features are disabled, such as the ability to load and save patterns, and the ability to save animated GIFs.
- Patterns #1 (JuggleMaster library)
- Patterns #2 (more popular patterns)
- Patterns #3 (common siteswaps; see documentation)
- Patterns #4 (bounce juggling)
- Demo of stereo animation and body movement
- Full applet (pattern entry, siteswap generator, visual editing)
- JL bookmarklet. Under most browsers you can drag the link at left into your bookmarks bar. Then in any web page you can highlight a pattern with your mouse, then click the bookmarklet to launch an animation. Try it with this pattern: 868671
Read these to get up to speed on how to use Juggling Lab:
- Siteswap notation. Description of siteswap notation as used by Juggling Lab.
- The pattern entry panel. How to enter siteswap patterns, add hand movements, and change pattern timing.
- The visual editor. How to use Juggling Lab's visual editor to modify patterns.
- The siteswap generator. What the siteswap generator does and what all those options mean.
- Web link front end. How to create a Juggling Lab animation with a simple web link.
This more specialized material covers topics the average user won't need to know:
- Using Juggling Lab as an applet. Describes the HTML needed to create an animation within a web page.
- Regular expressions in Juggling Lab. Describes the form of regular expression matching used in the siteswap generator.
- Juggling Markup Language (JML). Explains JML, Juggling Lab's internal pattern representation.
- Animates all solo and passing siteswap patterns, including synchronous and multiplexed patterns, and patterns involving movement of the juggler bodies
- Support for bounced throws, including multiple bounces and hyperlift/hyperforce throws
- Can display stereo image pairs to provide depth perception
- XML-based pattern description language JML (Juggling Markup Language), permits fine-grained control of ball, hand, and body movements
- Graphical pattern editor
- Realistic hand model, with cubic spline hand paths that match the velocities of balls at throwing points
- Ability to save animated GIFs
- Integrated siteswap pattern generator
Stay informed of future updates to Juggling Lab by subscribing to the Juggling Lab announcement mailing list (expect low traffic).
You can also contribute directly to the project by:
- Finding bugs and reporting them on the bug tracking page.
- Thinking of interesting ideas for the feature requests page.
- Creating new patterns for Juggling Lab, and emailing them to one of the project admins.
- Localizing into new languages. Juggling Lab is currently localized into Spanish, French, Portuguese, and Hebrew. Email one of the project admins if you can help us translate into more languages.
- Developing code.
- Jack Boyce – Most Juggling Lab code, project administration
- Brian Campbell – Juggling Lab bookmarklet
- Vincent Bruel – Suggestions for improved bouncing support (hyperlift/hyperforce patterns), ball-bounce audio sample
- Jason Haslam – Ring prop, bitmapped-image prop, improved ball graphic, visual editor enhancements, internationalization of user interface including Spanish and Portuguese translations, and many bug fixes
- Steve Healy (JAG) – Many invaluable design suggestions and bug reports, especially of siteswap notation component
- Anselm Heaton – Orbit-finding code, other design suggestions
- Lewis Jardine – Apache Ant build file, GPL clarifications
- Ken Matsuoka – JuggleMaster pattern library, used here with his permission
- Rupert Millard – Implementation of '*' shortcut for synch notation
- Herve Nicol – Bug fixes
- Denis Paumier – Suggestions for passing and multiplexing improvements to siteswap generator
- Andrew Peterson – Performance profiling of animation routines
- Xavier Verne – French translation of user interface
- Johannes Waldmann – Doxygen-generated source code documentation