I suppose a JSFX could filter/limit Program Change i.e.:
Code:
desc:Program Change thingy (untested)
slider1:8<0,128,1>Program Count
@slider
n = floor(slider1);
@block
while(midirecv(ofs, msg1, msg2, msg3)) (
(msg1 & 0xF0) == 0xC0 ? msg2 %= max(n, 1);
n > 0 ? midisend(ofs, msg1, msg2, msg3);
);