Stopping the DSP from inside an external (2)


    Oct 31 2012 | 12:42 pm
    In our external, we need to stop (if running...) the DSP chain when dynamically changing it's signal inlet/outlet number. We can do that
    - either in the patch where our external lives (using the method explained here : http://cycling74.com/forums/topic.php?id=40285) when the adc~/dac is located inside it,
    - even globally using the method explained in the last message, that is: object_method(gensym("dsp")->s_thing, gensym("stop")); is there is no explicit adc~/dac in the patcher.
    But the thing is that DSP on/off state can be local to a patch: that is we don't want to re-start the DSP for all patchers using the previously described "global" way (calling start/stop on "dsp"). We should re-start DSP only for patchers where is was previously on. So we would need to iterate over *all* patchers, to properly handle the DSP state.
    How to do that properly?