The 'exec src' property found on the Gate, Selector and Router actors is an advanced feature which allows you to tune your patch for highest performance. This knowledge base article explains how to take advantage of this feature.

The Gate, Selector and Router allow you to route signals in Isadora.  Here is the basic description for these three actors

  • The Gate actor allows you to simply turn the signal on or off. If the 'gate' input of the Gate actor is on, the input passes through to the output. When the 'gate' input is off, the input is not passed to the output.
  • The Selector actor allows you to choose from several input signals, and send the selected signal to the output. For example, if you set the 'inputs' property to 4, you'd end up with four inputs labeled value 1, value 2, etc. If you then set the 'select' input to 2, the signal from 'input 2' would be sent to the Selector's output.
  • The Router actor allows you to send a single input signal to one of many outputs. . For example, if you set the 'output' property to 3, you'd end up with four outputs labeled out 1, out 2, etc. If you then set the 'select' input to 3, the input signal would be sent to the Router actors 'out 3' output.

You can  use these actors to make your patch more efficient. Take a look at the following example:

Standard Gate Actor with Gate Closed

We've got a Movie Player whose video output passes through two FreeFrameGL effects, and then through the Gate who passes it on to the Projector actor. If the 'gate' input of the Gate actor is on, the video passes through to the Projector. If you turn the 'gate' input off, the output will go black because the signal is no longer being received by the Projector.

If you take a close look at the picture above, you'll see that the Gate actor is off. But also take note that the all the links leading up to the Gate actor are green, indicating that there is a signal passing through them. This also tells you that the all of these actors are currently spending some time doing their work.

But also note that the Gate actor has a little "eye" icon at the top left. This tells you that there are some inputs or outputs that are currently hidden. (The ability to show or hide inputs is a new feature in Isadora 2.0; the "eye" icon informs you that some inputs are hidden.)

If you double-click that icon, a dialog box will appear that allows you to show or hide inputs or outputs. For the Gate actor, we're going to show the one hidden input, the 'exec src' input.

Once we've clicked "OK", the 'exec src' input now appears in the Gate actor. When it first appears, it will be set to the default value of 'always'. But take a look at how the links change if we change it to 'gated':

Gate Actor with 'gate' and 'exec src' Turned Off

Note that all the links are red. Why? Because when the 'gate' property is off and the 'exec src' property is set to 'gated' none of the actors upstream (before) the gate get executed. They become "dormant" and are no longer doing any work, which can be important when managing complex and "heavy" patches

I won't go into a long description regarding the Selector and Router actors, because the 'exec src' input works in exactly the same way. If it is set to 'always', then the upstream actors will always be executed. But when set to 'gated', only the actors that have a path to an output will be executed.

But setting 'exec src' to gated can take some getting used to. For instance, consider the patch below:

Closed Gate and Envelope Generator

If you trigger the Envelope Generator, the ramp indicator in the center will turn green, but the output will not change. That might feel a little confusing but, because of the setting of the 'gate' and 'exec src' inputs, the Envelope Generator is blocked from further execution. Only when you open the 'gate' will the Envelop Generator begin its ramp.

But the above example serves to illustrate the power of the 'exec src' input. Especially when trying to manage complex and "heavy" patches, this feature allows you to ensure only the Actors you really need are being executed.