4. Parametric Cables
4.1. Input (trigger) signal
The input signal to be delayed is a trigger signal.
<<tdelay_d>>=
gf_cable *in;
<<bind_cables>>=
gf_node_get_cable(node, 0, &td->in);
4.2. Feedback
Feedback is a value between 0 and 1. To prevent crazy things from happening, these values will be clamped before being used.
<<tdelay_d>>=
gf_cable *fdbk;
<<bind_cables>>=
gf_node_get_cable(node, 1, &td->fdbk);
Feedback and delay is treated as a control-rate signal. These values get cached every time the clock signal updates.
4.3. Delay
Delay time is a value-truncated integer. The most intuitive way to think about delay times is to think of them as musical values, assuming the clock is 16th notes. 4 would be a quarter, 2 an eigth, 1 a 16th, etc. The smallest possible delay would therefore be 1.
<<tdelay_d>>=
gf_cable *dly;
<<bind_cables>>=
gf_node_get_cable(node, 2, &td->dly);
4.4. Master Clock
A trigger delay is synchronized via a master clock signal. Instead of thinking of units of seconds, one must think in units of ticks.
<<tdelay_d>>=
gf_cable *clk;
<<bind_cables>>=
gf_node_get_cable(node, 3, &td->clk);
prev | home | next