Hello
I bring back these two posts from April 2004 by Derek Holzer
I'm trying to build a patch which allows the order of a signalprocessing chain to be rearanged... for example, to put the delay either before or after the reverb. Thre problem is that when I conect the outlets and inets of the [pd delay] and th e[pd reverb] that I have created subpatches together, I get the error "DSP loop detected (some tilde objects not scheduled)".
I tried putting [*~ 0] objects in the way, or even running the signals through subpatches which can be switched on and off with [block~], but still no dice.
I've been very careful to not actually *create* any feedback loops in the patch, as you will see if you look at the example I have attached. Is there any other way of doing this? Or is there something wrong with my logic?
Actually, I got the same problem, while programming a delay line network (each delay line is connected to all others via a feedback amount control). I did what both Derek and the Pd documentation suggested :
I was warm here, but not hot. The key was to use [send~] and [receive~] pairs, and somehow this keeps PD from discovering any DSP loops.
The audio network, that is, the tilde objects and their interconnections, must be acyclic. If there are loops, you will see the error message at "sort time." When errors are reported at sort time there is no easy way to find the source of the error. You can build algorithms with feedback using nonlocal signal connections.
There's something I don't understand very well, though all this works correctly. If I make a simple delay line with feedback control (ie [delread~], [vd~] and [*~]), even if I connect directly the objects (no [s~]/[r~]), there's no audio DSP loop error detection. But if I program the same patch, using subpatches with [inlet~] and [outlet~], I get the DSP loop error in the console. This error, of course, is solved by using [s~]/[r~] instead of [inlet~]/[outlet~].
So is it normal or not ? According to the documentation, I shouldn't be able to make a local feedback loop, but it works and I don't get the error ... unless there's a subpatch involved in this.
Thanks for your help.
-j