Last control's position should be added into the script to make soft pickup work.
Solution:
Code:
function modeMixerP() (
i=1;
while(i<=8) (
msg2 == slP[i] ? (
lastP[i] < oscTrackPan[i] && midiP[i]/127 >= oscTrackPan[i] ? (
oscsend(osc_out, reaper_track_pan, midiP[i]/127, i);
oscTrackPan[i] = midiP[i]/127;
lastP[i] = midiP[i]/127;
);
lastP[i] > oscTrackPan[i] && midiP[i]/127 <= oscTrackPan[i] ? (
oscsend(osc_out, reaper_track_pan, midiP[i]/127, i);
oscTrackPan[i] = midiP[i]/127;
lastP[i] = midiP[i]/127;
);
lastP[i] == oscTrackPan[i] ? (
oscsend(osc_out, reaper_track_pan, midiP[i]/127, i);
oscTrackPan[i] = midiP[i]/127;
lastP[i] = midiP[i]/127;
);
);
i+=1;
);
);