And vice versa (the interesting case): if blocksize~ has a signal outlet connected to some sub-patch inlet, then it's possible to set the sub-patch block~/switch~ parameters during the graph generation, right before they are to be used. But.... I still have questions. Will the block~ "set" method trigger the dsp graph to be rebuilt, at some point when it's already trying to build the graph? What would happen if it did?
This seems like not a problem either. What happens (I predict based on reading) is the current graph gets freed (incomplete as it is), when a sub-patch block/switch object runs its "set" method. It runs "canvas_suspend_dsp" and then "canvas_resume_dsp".
Again not a bug report.... The code was not at all broken with respect to "set" methods. Both orders of sub-patch canvas "dsp" vs blocksize~ "dsp" produce the same result, based on further reading. It's slightly unsettling to output blocksize during "dsp" with the intention of setting subpatch size, but it seems to be efficient and fine to do