Ok, you could perhaps send all signals to a single instrument and do all your mixing and outputting there. You could test to see if the signal gets above a particular level using the rms opcode. If it is, you can mute the output? This is a crude example, but might give you some ideas.
<Cabbage>
form caption("Untitled") size(400, 300), colour(58, 110, 182), pluginID("def1")
keyboard bounds(18, 32, 348, 80) mouseoeverkeycolour(255, 255, 0, 128)
</Cabbage>
<CsoundSynthesizer>
<CsOptions>
-n -d -+rtmidi=NULL -M0 -m0d --midi-key-cps=4 --midi-velocity-amp=5
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
;instrument will be triggered by keyboard widget
instr 1
kAmp line 1, 5, 10
kEnv madsr .1, .2, .6, .4
aOut vco2 p5*kAmp, p4
chnset aOut*kEnv, "LeftSignal"
chnset aOut*kEnv, "RightSignal"
endin
instr LIMIT
aL chnget "LeftSignal"
aR chnget "RightSignal"
kRmsL rms aL
kRmsR rms aR
if kRmsL < 1 && kRmsR < 1 then
outs aL, aR
endif
endin
</CsInstruments>
<CsScore>
;causes Csound to run for about 7000 years...
f0 z
i"LIMIT" 0 z
</CsScore>
</CsoundSynthesizer>