knob: use valueChanged instead of attributeChanged