************************************** Documentation for SiteSwap v1.2 beta 1 ************************************** This documentation assumes that the reader understands different types of siteswap notation. If you need more information about siteswap notation please refer to the following wesite http://www.siteswap.org How to use the siteswap animator -------------------------------- Main window ----------- The following is a list of the application buttons found on the side in the main animation window, followed by a description of what they are used for. SOUND: turn sound on DRAW: draw trails PAUSE: pause animation HOLD: hold balls of height 2. This option will have no effect unless there is a '2' in the siteswap. This is the default mode since 2's are normally thought of as held. However, occasionally it may look better to throw the 2, So you just have to unclick the button. PROPS: change the type of objects juggled. Here you can juggle balls, misc objects, or numbers. RANDOM: generate a random siteswap. This will generate a random siteswap with length between 1 and 8 with # of balls between 3 and 7 and max height of 14. INPUT: input your own siteswap. You can copy and paste to and from the clipboard while you are using this feature. SELECT: select a siteswap from a list. GENERATE: generate lists of siteswaps with specified criterion. This feature will be further explained shortly in this documentation. options window -------------- The options window can be found in under the main menu. All of the options that are available there are the same as the ones previously mentioned above except for the step size option. STEP SIZE - The step size defines the resolution of the path of the juggling balls. A larger number will cause a faster animation, but it won't be as smooth as with a smaller step size. How to use the siteswap generator --------------------------------- The following documentation was taking from Jack Boyce's J2 doc file and edited to match Siteswap1.2 interface. There are 3 basic modes, or types of patterns which can be found: (1) solo asynchronous juggling, (2) solo synchronous juggling, and (3) two person passing. Mode (1), or 'asynchronous' mode, is the default. In short, you select the desired options, hit the 'Generate' button, and it finds ALL patterns which fit the given constraints. Since the number of patterns can be very large, it is wise to have an idea of what kinds of patterns you want when you ask the program to do something. PARAMETERS ---------- The most important and basic parameters are the following: 1. Number of objects juggled (balls) 2. Maximum throw value to use (height) 3. Pattern length (length) Obviously, as any of these numbers increases the program will take longer to run, since there are more possibilities for the computer to consider. If the program takes too long it will exceed the maximum number of iterations and the output will be displayed without having found all of the patterns. If this happens it will be evident as it will say "max number of iterations exceeded!" at the bottom of the screen. Here are some Examples using default settings: balls = 3 height = 5 -> a list of 3 object tricks including '441' and '531' length = 3 balls = 5 height = 7 -> all we get is '5', the cascade. There are no other valid length = 1 tricks of length 1. balls = 5 height = 7 -> a list containing many interesting 5 object tricks. length = 5 In some of these runs several of the patterns printed will have portions before and after, separated by spaces from the patterns themselves. These are 'excited state' patterns. The throws to the left are starting sequences, those to the right are ending sequences. Use these throws to get in and out of the trick from the middle of a cascade. Any pattern without these throws before and after is a ground state pattern. Important: The throws in the starting/ending sequences are not parsed by the multiplexing filter, so they may require you to make 2 simultaneous catches from different places. The exclude throws under 'Option...' doesn't apply either. The reason is that routine for finding starting/ending sequences was a lot easier for Jack Boyce to write without taking these into account. [See below for explanations of these terms.] CHECKBOXES ---------- Start/End Seq - Unchecking this disables printing of starting and ending sequences for excited state tricks, printing '*'s instead. For passing and multiplexing these sequences can become long and cumbersome. Multiplex Filter - Most of the patterns found by this program require the juggler to make 2 or more catches simultaneously with the same hand. This is doable if the objects come from the same place (a clump of 2), but it's really tough otherwise. If this checkbox is checked, it will get rid of all multiplexing patterns which require the simultaneous catching of objects from 2 different places (unless one of the caught "throws" was a hold). This filter is the default. Allow 11 seq - This one is specific to asynchronous mode. Patterns containing the throwing sequence '11' are eliminated if this box is unchecked, just because some people think it is lame. Multiplexing - This checkbox turns on multiplexing. By default the program does not find multiplexing patterns; this flag allows you to. The number in the text field following the '# of Allowed Throws' is the maximum number of throws you want any hand to make at any time. Usually this will be 2, and very rarely more than 3. As the number increases the program slows down a lot. POPUPLISTS ---------- Include Composites - This popuplist allows you to select what type of composite siteswaps to include in the output. The options are all composites, non- obvious composites only, or no composites (prime siteswaps only). This may need some explanation. Any two patterns with the same starting and ending sequences (including none, for state patterns) can be adjoined to get another valid pattern which has the same starting and ending sequences as each of its parents. For example, the 3 object ground state tricks 3, 441, and 531 can be stuck together to get 5313441, a valid site swap. Siteswaps formed like this are called composite siteswaps. Siteswaps that cannot be broken down in this way are called prime siteswaps. If the siteswap sequences being joined together are not siteswaps that would normally show up in the output of this program, then the resulting combined siteswap is called a non-obvious composite. In other words, the subsequences of the composite siteswaps are rotated and are not in there lowest state. For example, the 3 object trick 45141, is a rotated composition of 51 and 414, and is considered a non-obvious composite. Include States - Specifies the type of states for the siteswap to be included in the output. The options are ground state siteswaps only, excited state siteswaps only, or both. Mode - Specifies the mode of the siteswap patterns. The options are solo asynchronous patterns, solo synchronous patterns, and 2 person passing patterns. OTHER OPTIONS ------------- Exclude these (self) throws =========================== The exclude option gets rid of those patterns containing the listed throw values (for passing this applies only to self- throws). Very low throws (like '3') are sometimes hard to do in a pattern containing other high ones. Excluding several throws also speeds up the program quite a bit. Include these (self) throws =========================== Each pattern listed must contain at least one of each of the given self-throw values. Exclude these passes ==================== Used to exclude passing throw values. Again, low passes are hard to do, and this lets you get rid of them. This option has no effect when not passing. Passing communication Delay ========================== The delay option only has an effect when passing. If you are doing a standard ground state passing pattern (such as <3p|3p><3|3> for 6 objects), you and your partner can switch into any ground state pattern instantly, with no intermediate throws. However, many of the patterns printed will require you both to start throwing differently at the same time (you have to count down to the start of the pattern, to ensure synchronization). It is nice to allow for a communication delay, though, so that person #2 has time to react when person #1 starts throwing a trick (many of the popular passing tricks have this property). This is what the delay option does. The delay value is the number of throws after the beginning of the trick before person #2 needs to throw something different from what he was while doing a standard ground state pattern (like <3p|3p> <3|3>). A few words need to be said about what comprises a "standard passing pattern". These are those patterns which are composed of ground state patterns of length 1. For 6 objects, for example, we select balls=6, height=4, length=1, mode = passing, and include states = ground only and get two ground state patterns of length 1: <3|3> and <3p|3p>. Any combination of these stuck together qualifies as a "standard ground state pattern"; these include standard passing <3p|3p> <3|3>, ultimate passing <3p|3p>, and so on. The delay option lists all patterns which provide a communication delay of at least the delay value for at least ONE of these "standard passing patterns". As an example, we select we select balls=6, height=4, length=3, mode = passing, and Passing communication Delay = 2 and the list includes the two patterns: (the guy in the left slot is the one "leading" the tricks) <4|3p><4p|3><3|1> which assumes the people were doing the standard <3p|3p><3|3> before the trick was being done. Note that person #1 has to begin when his partner is throwing a pass. <4p|3p><4p|3p><3|1> which assumes the people were ultimate passing before starting the trick. Some of the patterns will require a 2-count passing pattern to get the requested communication delay, others a 3-count, and so on. When you use the delay option, just scan the list for the patterns relevant to your case. When using the delay option, only ground state patterns are listed. Passing Leader Slot Number ========================== This is for use with the delay option above. This sets the person who is the "leader". The default is person #1, whose throws are printed in the left position of each < | >. The other option is person #2, whose throws are printed in the right position of each < | >. If you try to enter another number besides 1 or 2, you will not find and siteswaps.