The main window of the Cyclotron is shown in Figure 1. There are three primary components to the Cyclotron's interface: a cycler window (which contains 10 independent cyclers) for manipulating the basic cycle characteristics; two text windows for playcycle and playnote commands; and a set of controls for setting things in motion.
The cycler window (Figure 2) displays the spokes for the currently selected cycler; the 10 tabs at the bottom of the window allow the user to select different cyclers for editing. By grabbing the end of a spoke with the mouse, the user can drag the spoke about. Rather than working like a clock, the cycler window is modeled after the traditional layout of phasors; the first spoke in the cycle points directly to the right (3:00 p.m.) and successive spokes in the cycle are ordered by moving counter-clockwise. Imagine a baseball card stuck into the cycler at the 3:00 p.m. position; as the cycler is set into clockwise motion, each spoke will strike the card, creating an audio event (a playnote command). The length of the spoke determines the probability of an event occurring at that spoke. The text boxes below indicate the time and probability for the selected spoke (both are values between 0 and 1; time scaling of the cyclers is determined by specific playcycle commands). Beats can be added to the cycler by typing a value in the add this many beats text box, and the cycler can be cleared by pressing the clear cycler button.

Cyclers are set into motion with playcycle commands. Similar in syntax to the playnote command from rt, the playcycle command has an array of subcommands that determine which cycler to use, how to time-scale the cycler, which sounds to trigger with each spoke, etc.... (see the manual included with the distribution for a complete description of all subcommands). The way these are used is best illustrated through the examples described later. After the go! button is pressed, the Cyclotron goes to work calculating and sorting events. The output is sent to the playnotes window beneath the playcycle commands window. These can be copied and pasted directly into rt, where the rhythms can be auditioned in real-time. In the event that the density of events gets too high for rt to handle, the output can be changed to cmix syntax (by choosing cmix in the Command Type pulldown window) where the mixing can be done out of real-time; this is particularly useful for generating textures rather than rhythms.

The final part of the interface includes the go! button and three text boxes. The seed box sets the seed value for the standard C random number generator that is used in a number of the playcycle subcommands (rndpan(), for instance, which sets the pan of the event to a random number within a given range). This allows the user to recreate a particular random effect, if desired. The Cyclotron sorts the tracks that rt uses for distributing sounds; the tracks box tells the Cyclotron how many of rt's tracks to use. The outfile path name box specifies a filename to pipe the output to. This can be useful for very large sessions where copying and pasting can be slow; the file can accessed directly by rt, or it can be edited for use with cmix.

example 1 example 2