static JSlider jLiveValueSlider_double_bothWays(double min, double max, IVarWithNotify lv) { new AtomicInt changing; JSlider slider = liveSliderZeroToOne((float) ((unnull(lv!)-min)/(max-min)), voidfunc(float f) { if (changing! == 0) lv.set(min+f*(max-min)); }); bindLiveValueListenerToComponent(slider, lv, r { temp tempIncAtomicInt(changing); setRelativeSliderValue(slider, (unnull(lv!)-min)/(max-min)); }); ret slider; }