Hi.
this patch is rather for Plugdata, since Pd imo does not have gate, tough u can use else/router, which is the same.
As a tribute to Omar I've shared a patch using his interpolation technique and update it on 3 values.
There was discussion on this topic on FB too (also deleted, tough) and consensus was, that value offset created when adding nother interpolation is caused by imprecision of slider. I found it is not EDIT "completely" true,
Slider in Plugdata is pretty precise.
It is - obviously - cause by leaving the smallest step value in previous approximation, which distorts the final result.
Solution is to send "0" to not used part, when interpolating other value..
EDIT: *Tough as mentioned, despite 6 digits are pretty fine (enough for DIY fine-tuning in DAW, without noticeable side-fxs. W/out this there was offset even 1/3 of step - 0.02-4 cca, now it is in 0.5 Hz range - beyond vst synth resolution), but this is definitely not the best suited approach for 12 decimals scala-like Pro fine-tuning etc.. that wont fly
BTW there should be probably even more elaborate solution, for more values - like using append+scale... if someone would like to beat the efficiency (make it dumber)) contest..
Happy patching.
Scale version is - obviously - in comments sesction..