Marble Operators

== m_add ==

Description
Adds the value set on the dial to any marbles that pass through it.

Example
spawn:{ 0 m_add ~:(0|0|s) trans:((0.5 1.7 0.6 0.1593551 -0.4824254 -0.3731419 0.7762969)) }

Description
Adds velocity to the marbles, according to the value on the dial.

Example
spawn:{ 0 m_booster ~:(0|0|s) trans:((0.5 1.7 0.6 -0.139068 0.9460379 0.2913793 0.02775978)) }

Description
Pushes incoming marbles in one direction if they carry a value higher than what the dial is set to, the other direction if lower.

Example
spawn:{ 0 m_compare trans:((0.5 1.7 0.6 -0.139068 0.9460379 0.2913793 0.02775978)) }

Description
When a marble hits the path, the value inside the marble is added to the value set on the dial and sent through the event outputs. The two bottom event outputs send values relevant to the marbles velocity and landing position (0-1) when hitting the path. PULL one of the handles at the end of the path to extend.

Example
spawn:{ 0 m_path trans:((0.5 1.7 0.6 -0.139068 0.9460379 0.2913793 0.02775978)) }

Description
When a marble hits the lasers, it fires an event with the value set on the marble.

Example
spawn:{ 0 m_reader trans:((0.5 1.7 0.6 -0.7815921 0.3861915 -0.4537013 0.1847298)) }

Description
Press the large button on top to make marbles. The marbles can carry numbers, which can be read by various other marble components. Connect events to the marble spawner to press the spawner button for you, or to generate different values in the marbles.

Example
spawn:{ 0 m_spawner d_knob:(0|0|s) paint:((0.9058824 0.5960785 0.2784314)) trans:((0.5 1.7 0.6 -0.002288952 0.9824678 0.01671653 0.1856674)) }

Description
Send incoming marbles in one of two directions, randomly.

Example
spawn:{ 0 m_split trans:((0.5 1.7 0.6 -0.139068 0.9460379 0.2913793 0.02775978)) }

Description
Can direct the flow of marbles, depending on the stream input in the middle.

Example
spawn:{ 0 m_switch trans:((0.5 1.7 0.6 -0.7815921 0.3861915 -0.4537013 0.1847298)) }