Glancing across the dashboard several times a minute is a bad thing to do if you're doing something that requires concentration. However, you probably want to notice if something goes wrong.
Your visual attention is usually taken by terminals and text editors, but hearing is probably left underused. This patch adds a view that emits a "click" sound when it gets an event, almost like a Geiger radiation counter. When bound to a stream that emits an event on every exception in your system, it should sound pretty rarely and your mind will tune it out eventually, but when something goes wrong, the amount of clicks will sharply rise, changing the sound and grabbing your attention to the issue.
On the technical side: this thing uses WebAudio's AudioBuffers to cache sounds. Sounds can be played concurrently, so to smooth out the volume all playing sounds are mixed into a hard limiter and then to an amplifier node. Amplifier gain is controlled with a volume slider in view options. I've experimented for a bit and it seems like a quadratic relationship between slider value and gain is very intuitive.
Included sound files are a Geiger counter click (geiger.wav) and a short 1000hz beep (beep.wav).
Glancing across the dashboard several times a minute is a bad thing to do if you're doing something that requires concentration. However, you probably want to notice if something goes wrong.
Your visual attention is usually taken by terminals and text editors, but hearing is probably left underused. This patch adds a view that emits a "click" sound when it gets an event, almost like a Geiger radiation counter. When bound to a stream that emits an event on every exception in your system, it should sound pretty rarely and your mind will tune it out eventually, but when something goes wrong, the amount of clicks will sharply rise, changing the sound and grabbing your attention to the issue.
On the technical side: this thing uses WebAudio's AudioBuffers to cache sounds. Sounds can be played concurrently, so to smooth out the volume all playing sounds are mixed into a hard limiter and then to an amplifier node. Amplifier gain is controlled with a volume slider in view options. I've experimented for a bit and it seems like a quadratic relationship between slider value and gain is very intuitive.
Included sound files are a Geiger counter click (geiger.wav) and a short 1000hz beep (beep.wav).