Parts encapsulate all the data and behaviors that make Mass what it is, and they are the most important element to understand. While Parts are capable of a very wide range of output, they conform to a relatively rigid framework. This balance allows quick learning of the Part system, while leaving plenty of room for experimentation.
Parts are capable of moving throughout the Composition over time, colliding with walls and other Parts. For detailed information about related settings and UI, see Physics.
A Pattern is a set of controls that produce triggers in an algorithmic fashion. Rather than setting each step individually, as with a traditional step sequencer, you adjust the control values to produce a pattern that you like.
See Patterns for more detailed information.
Every Part in Mass contains three Events, each bound to a specific condition. The conditions cannot be altered, but the Events bound to them can be reconfigured.
Every Part contains one Event that is permanently bound to its Pattern trigger. This is the primary mechanism for creating rhythmic sequences.
Collision Events can be generated when a Part collides with another Part, or when they collide with a wall, or both. This condition is useful for making sporadic, less predictable sequences and modulations.
Continuous Events are repeatedly triggered at a set, high-frequency interval which cannot be changed. These allow you to configure traditional CC messages, or experiment with other non-traditional Event streams.
When you create a new Part within your Composition, the Events will default to the following state:
See Events for detailed information.
Events contained in a Part utilize the Part's X and Y position within the Composition to compute their MIDI or internal values. When a Part is moved, whether by dragging or due to physics-based motion, all of its Events are updated to reflected the new position. This is true regardless of an Event's type.
For the purpose of Event generation, Part positions "start" at the lower-left corner of the Composer area. This means:
To make Part X and Y coordinates as reliable and repeatable as possible across the widest range of Part, screen, and window sizes, a system of normalization is applied internally. This is not something you'll need to interact with directly. You may notice during use that value change "speed" tapers off towards the edge of the Composer area. This effect will be different with different Part mass (see Physics > Parameter Mass) settings, device sizes, and/or AUv3 plugin window sizes. In most cases, it should be something you don't notice at all. The goal of normalization is to ensure any Part can access the full range of available values on any screen size.