~ Current release: 0.6.1 (October 11, 2011) ~
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.
- 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)
- JuggleWiki site (external site with hundreds of user-contributed patterns)
- 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
Note: These pages require that your browser support Java, and that it is enabled. On most modern browsers they should work fine.
Juggling Lab also runs as a standalone application, in addition to the applet version above. As an application it has more features, such as the ability to open and save patterns, and to export animated GIF files.
Juggling Lab download page for Mac OS X, Windows, and other systems.
Read these to get up to speed on how to use Juggling Lab:
- Siteswap notation. The juggling pattern notation used by Juggling Lab.
- The pattern entry panel. How to enter siteswap patterns, add hand movements, and change pattern timing.
- The generator panel. What the siteswap generator does and what all those options mean.
- The visual editor. How to use Juggling Lab's visual editor to modify patterns.
- Web link front end. How to create a Juggling Lab animation with a simple web link.
This more specialized documentation 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.
Source code documentation is also available.
- 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 Juggling Lab bug tracking page.
- Thinking of interesting ideas for the Juggling Lab 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, and Portuguese. Email one of the project admins if you can help us translate into more languages.
- Developing code. Contact one of the project admins, and in the meantime look at the online source code documentation or browse the source repository.
- 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
- David Megginson – Simple API for XML (SAX) interface
- Microstar Software Ltd. – AElfred XML parser
- 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
- Dozens of people from rec.juggling – Browser compatibility testing
- Jack Boyce – All other Juggling Lab code, project administration
People can juggle, too. Some good sources of general information are: