Dup Ver Goto 📝

SimpleMidiSplit1

To
55 lines, 212 words, 1248 chars Page 'SimpleMidiSplit1' does not exist.

Version 1

The purpose here is when transcribing synth patches to help understand them, I want two close notes on the keyboard, e.g. C and D, to map to the C on one or other. This

desc: jda simple midi split 1

slider1:63<0,127,1>split point
slider2:0<-4,4,1>left octave
slider3:0<-12,12,1>left semi
slider4:0<-4,4,1>right octave
slider5:0<-12,12,1>right semi

@init
setsplit = 0;

@slider
splitpoint = slider1;
ltrans = slider2*12 + slider3;
rtrans = slider4*12 + slider5;

@block
while(midirecv(offset,msg1,msg2,msg3)) (
  status = msg1 & 0xF0;
  ( status == 0xB0 && msg2 == 14 ) ? (
    // change split point
    setsplit = 1;
  ) : ( status == 0x90 || status == 0x80 ) ? (
    ( setsplit == 1 && status == 0x90 ) ? (
      slider1 = msg2;
      sliderchange(slider1);
      setsplit = 0;
    ) : ( msg2 < slider1 ) ? (
      msg1 = status;
      m = msg1;
      msg2 += ltrans;
      ( msg2 < 0 ) ? ( msg2 = 0);
      ( msg2 > 127 ) ? ( msg2 = 127);
      midisend(offset,msg1,msg2,msg3);
    ) : (
      msg1 = status | 1;
      n = msg1;
      msg2 += rtrans;
      ( msg2 < 0 ) ? ( msg2 = 0);
      ( msg2 > 127 ) ? ( msg2 = 127);
      midisend(offset,msg1,msg2,msg3);
    );
  ) : (
    midisend(offset,msg1,msg2,msg3);
  );
);