On my side i would not say it is exactly trivial
JmAdrien
Le 16 déc. 2014 à 16:59, Jonathan Wilkes via Pd-list pd-list@lists.iem.at a écrit :
That's definitely a workable solution.
But if it were truly "trivial" then [trigger] wouldn't exist.
-Jonathan
On Tuesday, December 16, 2014 8:47 AM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 12/15/2014 11:53 PM, Raphaël Ilias wrote:
Ok, I get the trick, it seems similar to the one used to make delay line shorter than one block. However, I still feel that an object "give-me-RMS enveloppe-on-bang" (for the last N samples or blocks) would appear to me an easier way to handle this case. If it doesn't exist, I'll try to build something like this... one day ! Many thanks !
oh, but that is just trivial:
messages and signals are always calculated one after each other (first all messages; once they are done, signals are processed).
so an even easier way would be to use a latch ([f]) and [bang~]+[del 0] to do the calculation in msg-domain. [bang~] will output a bang before each signal block (or after; it really will trigger a bang before the *next* signal block). unfortunately, this bang can happen before or after the events sent out by [env~], so we need to make sure to get an event *after* all [env~]s have triggered. the simplest way to achieve this is by using an additional [delay 0], which will schedule an event at the same logical time NOW but after all events already scheduled for NOW (e.g. those from [env~]).
see attached patch. (in the attached patch i wasn't able to trigger an undesired behaviour without the [delay 0]; however i haven't tried hard and i'm pretty sure that you *can*; thus you should use [del 0])
mfgadsr IOhannes _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list