JuggleMaster 1. GENERAL JuggleMaster is a juggling siteswap animator. It can animate any valid siteswap, and has a large library of patterns included. If you want to learn siteswap, check out http://www.siteswap.org/, although it's not necessary to learn siteswap to get good use out of this program. JuggleMaster was originally written in C by Ken Matsuoka for DOS. It was later ported to C++ as a platform independent library (called jmlib) by Per Johan Groland, who also ported it to Palm OS and Pocket PC. It was later ported to wxWidgets by Gary Briggs (which allows it to run on a variety of platforms including Linux, Windows and MacOS). More recent ports include the QT port by Greg Gilbert and catstar and The Mac OS X Cocoa port by Tom Davie. JuggleMaster is currently available for the following operating systems: MacOS, Windows, Linux JMDlx http://icculus.org/jugglemaster PocketPC JMPocket http://jugglemaster.net PalmOS JMPalm http://jugglemaster.net Unices, DOS, Terminals AAJM http://icculus.org/jugglemaster/aa Sharp Zaurus / QT JMQt http://zaurus.catstar.org/jmqt/index_e.html Mac OS X (Cocoa) JMCocoa (not completed) Windows/PocketPC JMWin (not completed) (JMPocket is for older versions of Pocket PC prior to 2003, JMWin will run on versions 2003 and up) The weblinks above will direct you to the proper sites to download binaries for the various platforms. For the source code, go to http://icculus.org/jugglemaster/ In the "docs" dir, you'll find Ken Matsuoka's original README, and Isaac Orr's readme from the Java version (which has a better description of how to edit the pattern files). 2. BUILDING Build instructions and requirements vary between the different platforms. JMDlx First, you need wxWidgets for your respective system, available from http://www.wxwidgets.org. To build on Linux or other Unix operating systems, just type "make jmdlx" in the top-level dir. Look in the "bin" directory To build on OSX, go into src/jmdlx and type "make osx". This will create JuggleMaster.app. To build on Windows using Visual Studio, extract VisualStudio.zip where it is, and build. To build on Windows using BloodShed's Dev-CPP, extract dev-cpp.zip where it is, and build. More detailed instructions are in the zip file. If you don't have patterns.jm and semaphore.jm in the current dir when you run it, it attempts to download them to a suitable directory (on unices including OSX, this is $HOME/.jugglemaster. On windows, it's in your user's Documents and Settings, to a dir called ".jugglemaster") There are some extra features in jmdlx that aren't enabled by default [eg mpeg videos, since they need ffmpeg]. To enable them, please edit Makefile.cfg in the top-level dir To compile JMDlx with 3D support, you need to define the symbol OPENGL_SUPPORT. Also, add the files opengl.cpp/h and opengl_renderer.cpp/h to the build. Also, you should add the libraries opengl32.lib and wxmsw26d_gl.lib (for Windows, on other platforms, the library names may be different) If your wxWidgets library is not compiled with OpenGL support, you will need to recompile with the symbol wxUSE_GLCANVAS set. To build on Windows using Visual Studio, extract VisualStudio_3D.zip where it is, and build. JMPocket To build JMPocket you need Microsoft Embedded Visual Tools 3.0 2002 Edition, available free of charge from Microsoft's web page. JMPocket doesn't run properly in the Pocket PC 2002 emulator, so you will also need to download the Pocket PC 2000 SDK. The downloads can all be found at http://download.microsoft.com A properly configured project file is included in src/jmpocket/JMPocket.vcw JMPocket expects to find the pattern libary in My Documents, and it must be named either patt_e.jm or patterns.jm. JMPalm To build JMPalm, you need PRC-TOOLS and Palm OS Developer Suite (PODS). The PODS installation package includes the PRC-TOOLS. JMPalm includes project files for Palm OS Developer Suite (PODS). It is also set up to use the PODS xrd resource format. To build, import the project in the jmpalm directory into your PODS workspace. To build from the command line, simply run make from the jmpalm directory. If you have PRC-TOOLS set up without PODS, you will probably not have the required resource compiler. A resource file for PilRC is included as well, but you will need to tweak the makefile to use this. The actual resource file will probably need some tweaking as well. The build is set up to build to support certain sony-specific hardware. This requires specific headers from sony not included in the standard Palm OS sdk. If you do not have these headers, turn off the SONY_SUPPORT define in the makefile. The resulting binary will still work on sony devices, but will not support any of the custom hardware. See the file sony.txt in the jmpalm directory for information on how to set up the sony headers correctly to work with prc-tools. AAJM You'll need aalib, available from http://aa-project.sf.net. To build, aajm uses aalib-config, so you may need the latest version of aalib on your system [at least 1.4] Just type "make aajm" in the top level dir. It should build two binaries in the "bin" dir, one called "aajm" that's all you really need. The other is called "aajm-remote" and can be used to remotely control aajm. JMQt You'll need Qt, available from http://www.trolltech.com Just type "make jmqt" in the top level dir. Look in "bin" when you're done. JMCocoa JMCocoa comes with an XCode project file. Just open it in XCode and compile. Chunky Kibbles Per Johan Groland