[PD-dev] What goes on during dsp ticks?
PSPunch
shima at pspunch.com
Sat Jun 14 03:08:23 CEST 2008
Hi,
I would highly appreciate some assistance in grasping how signals are
processed in DSP objects.
Working on the following template, I will demonstrate variations in the
<PROCESS BLOCK>. As results do not appear as the way I expect, there
must be something I am not understanding correctly.
========== Template ==========
t_int *foobar_tilde_perform(t_int *w)
{
t_sample *in = (t_sample *)(w[1]);
t_sample *out = (t_sample *)(w[2]);
int n = (int)(w[3]);
<PROCESS BLOCK>
return (w+4);
}
=====================
== PROCESS BLOCK.1 ==
=====================
while (n--) {
*out++ = *in++;
}
Remarks: Simple THRU... works as expected.
=====================
== PROCESS BLOCK.2 ==
=====================
while (n--) {
// *out++ = *in++;
}
Remarks: Action is commented out but signal goes through.. Why?
=====================
== PROCESS BLOCK.3 ==
=====================
while (n--) {
*out++ = *in++ * -1;
}
Remarks: Inverse signal, as expected
=====================
== PROCESS BLOCK.4 ==
=====================
n--;
*out++ = 0;
while (n--) {
*out++ = *in++;
}
Remarks: Expecting first sample of the block to be zero and others
delayed by 1 sample. Instead, I get an constant output of zero.
I hope what I am missing is something obvious to those with insight.
Thanks.
--
David Shimamoto
More information about the Pd-dev
mailing list