Changed in Vuo 2.0An event now only exits a subcomposition through the published output ports that it hit, not all published output ports.
If an event reaches a published output port of a subcomposition, it travels out of the corresponding output port of the subcomposition node.
If an event into a subcomposition node reaches multiple published output ports of the subcomposition, it travels out of all of the corresponding output ports of the subcomposition node simultaneously. For example, in the subcomposition below, even though the Calculate nodes can execute concurrently and may not output their values at exactly the same time, the Convert Cartesian To Polar subcomposition node always outputs the event from its R and Theta ports simultaneously.
If an event that comes in through a subcomposition’s published input ports doesn’t reach any of the subcomposition’s published output ports (because of wall or door ports within the subcomposition), then the event doesn’t come of out any of the subcomposition node’s output ports. The subcomposition node blocks the event.
A subcomposition can fire events, as demonstrated below. The Fire At Tempo subcomposition node is set to fire at a rate of 120 beats per minute.
Changed in Vuo 2.0Events from triggers within a subcomposition don't exit the subcomposition if they overlap with events from published input ports.
If events fired from within the subcomposition can overlap with events from the published input ports, only the events from the published input ports will exit through the published output ports. The subcomposition node will transmit events but not fire events.
The subcomposition above, me.fireAtTempo, does fire events from its published output port. That’s because there’s no overlap between the events coming in through the BeatsPerMinute published input port (which are blocked at the Fire Periodically node’s input port) and the events fired from the Fire Periodically node’s output port.
The subcomposition below does not fire events from its published output port. That’s because the event fired from the Fire on Start node travels along the same path as the events coming in from the published input port (nodes tinted magenta). The event fired from Fire on Start travels within the subcomposition but is blocked from exiting the subcomposition. Meanwhile, events that come in through the published input port do exit through the published output port.