I have heard that it is very easy to produce dangerous audio volumes (both to speakers and hearing) with Pure Data when even a slight slip or oversight occurs.
The general advice for combating this is simply to be very careful, and I have developed a number of habits when working in Pure Data, such as always using external speakers so that (presumably) my machine's internal sound system would not take any damage, keeping my Windows volume control as low as feasible, and adjusting my speaker volume knob up from min volume whenever playing audio. However, these measures still rely on accurate, human execution. Having recently read The Design of Everyday Things by Don Norman, I have come to belief that this is a suboptimal design which makes human error very likely to occur.
I am running Pure Data on Windows 7. Is there a way I can have either Windows or Pure Data put a cap on the maximum volume it will play? To be clear, I do not want a way to turn the Windows volume down more, as I would then be unable to hear the desired output of Pure Data. The danger is that the difference between desired volume and potential erroneous volume is many orders of magnitude, so I would like to be able to either put a hard ceiling on volume, or simply have the audio automatically muted while it is above a certain volume threshold. In the former case, it would be nice to also have some signifier to indicate that the ceiling is being applied. Is it possible to do this in Windows or in Pure Data?
Suppose I want to create a radio button with which the user can control which filter an audio signal gets passed through. Something like this, conceptually (the red lines are connections I want to make, but are invalid)...
The problem is that I cannot pass the audio signal through the Hradio control because the variable typings are incorrect. I have tried some setups with Moses and Spigot, but I have not been able to figure out how to pass the audio signal through a conditional check in this way.
How can I set this patch up correctly?