static JSlider jLiveValueSlider_double_bothWays(double min, double max, SimpleLiveValue lv) { new AtomicInt changing; JSlider slider = liveSliderZeroToOne((float) ((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, (lv!-min)/(max-min)); }); ret slider; }