Juggling Lab
~ 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.

### How to run Juggling Lab

> Juggling Lab is written entirely in Java and will run on most platforms. For Windows and Mac it is packaged as an easy-to-use standalone application.

> Windows and Mac OS X: Launch the Juggling Lab application icon.

> Other: The executable jar file is bin/JugglingLab.jar. Consult your Java installation's documentation for instructions on how to run a jar file. On Unix-like systems: (1) make sure your shell search path includes the "java" command (try 'which java' in the shell to verify it's working), and (2) execute the "JugglingLab.sh" shell script.

### Documentation

> 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.

### How to compile Juggling Lab

> As distributed, Juggling Lab is already compiled so there is no need to do so again unless you want to change the source code. If you are interested in adding new features to Juggling Lab, please consider becoming a developer on the Juggling Lab project so that your features become a part of the standard distribution; contact the Juggling Lab project administrator.

> The distribution includes build.xml, which is a build file for use with the Apache Ant Java build system. Ant is free software that is available for most platforms at ant.apache.org. The default build target is bin/JugglingLab.jar.

### Interested in Juggling Lab?

> 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.

### Contributors

> - 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