small medium large xlarge

30 Sep 2013, 06:49
duhamel frederic (4 posts)

on page 24, you use this trigger: “trigger float bang bang” wouldn’t it be better to use “trigger bang bang float” sothat, the float value is send to osc~ before dac~ is on?

01 Oct 2013, 02:42
Tony Hillerson (38 posts)

So this is a kind of advanced topic, but it’s interesting. I didn’t want to confuse the reader yet so I didn’t get deep into the rules to do with timing and order.

In Pd, timing and order are not the same. Messages, with an object like [trigger], are sent from right to left, so they occur in an order. If a message from a trigger’s rightmost outlet sets a certain value that something down the chain from the secondmost outlet of the trigger depends on, let’s call it X, then rightmost value will be set before X gets triggered. In this calculation it’s important what order things happen in.

Now, the interesting thing is that all of this happens at the same time. Pd’s documentation calls this “logical time”. The oscillator will oscillate at whatever the frequency of midi note 60 is at the same time the [*~] gets “turned up to 1”—there will be no space of time between the two.

So, remember this: the order of execution matters so that it’s clear which values are calculated and the state of the objects isn’t non-deterministic, but the objects do their job in the same logical time. For more information look at the documentation for [trigger], especially the first subtopic, titled “Triggering_messages_with_trigger”.

You must be logged in to comment