Only redraw timerListener widgets when waveform updates if they have changed state since the last paint.
better state-change detection for the listener widgets