Skip to content

perjg/jugglemaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 <chunky@icculus.org>
Per Johan Groland <per@jugglemaster.net>