Skip to content

A Guide to Modalys Connections

Connections - Creating Interactions between Modalys Objects

Connections define interactions between Modalys objects. If you think of objects and their accesses as nouns in Modalys grammar, connections are the verbs, since they create actions involving one or more accesses. Each connection performs a very specific task. An 'adhere connection, for example, assures that two accesses always have the same speed.

Imagine the scenario of an access on a string adhered to an access on a bridge: as soon as the connection is made between the two objects, if the string is excited (presuming it vibrates in the same direction as the access) the access will have a speed, which is immediately transferred to the bridge access so that its speed becomes the same. Note that the 'adhere connection does not ensure that two accesses will have the same position. If, for example, we told the string access that its position was suddenly 10 meters away, the 'adhere connection would not know the difference and thus would not change the bridge’s position.

Connections are created using the function make-connection which takes the following text-based (Lisp environment) syntax:

(make-connection connection-name access1 initial_position1 ... controllers ... weight)
The number of accesses can vary – most connections take one or two accesses and their initial positions; more complex interactions such as the bow interaction, may require more accesses and positions as arguments. The number of controllers controlling the parameters of the interactions also varies greatly among the connections - some connections do not require any controllers, others require several controllers, or a multi-dimensional controller.

Modalys connections have an optional weight controller as a final argument. This allows the interaction to be “faded-in” or be allowed to interact only at some percentage of its normal “weight” (capacity). If a weight controller is not provided as an argument, the weight defaults to 1, meaning the interaction will be weighted at 100%.

Many Modalys connections (such as 'adhere, 'position, and 'force) are rather simple actions, However, there are connections which act as “black boxes” for more complicated interactions such as the that between a reed and an air column. Also, it is often through the connections that Modalys compensates for non-linear interactions which are computationally too expensive or difficult to calculate. Things like key noise for an acoustic tube are sometimes “faked” in isolation by a controller rather than actually being calculated as a physical result of other stimuli.

Connections can be destroyed using (destroy-connection ... ).

The following pages contain the individual Modalys connection reference pages. The connections are organized in categories ranging from basic to complex instead of being ordered alphabetically.

Basic Unilateral Connections

These connections only affect one access/object:

Bilateral Connections

These connections take two accesses/objects to perform simple interactions:

Complex Connections

These connections take multiple accesses/objects to perform complex interactions:

Connection Utilities