
// Random Pan
// Output-only for Parameter Linking
// v 0.0
// by @toddhisattva
//
// Link Pan to Utility/volume_pan Pan


desc:Random Pan 4 Linking

slider1:0<0,15,1>MIDI channel (0 = all)
slider2:-1<-1,127,1>MIDI Note Number (-1 = all)
slider3:0<-100,100,0.1>Pan (output to link)

@block

while (
 midirecv(ts,msg1,msg23) ? (
  m = msg1 & 240;
  channel = msg1 & $x0F;
  vel = (msg23/256) | 0;
  vol = vel/127;
  note = msg23 & 127;

  ((slider1 == 0) || (channel == slider1)) ? (

   ((m == 9*16) && ((slider2 == -1) || (slider2 == note)) ) ? (
        slider3 = floor(rand(2000.0)+0.5)/10.0 - 100.0;
        slider_automate(slider3)
     ); // noteon?

   ); // checking against MIDI channel or allow all

  midisend(ts,msg1,msg23);
  ); // midirecv

); // while
