View Single Post
Old 08-08-2020, 07:51 AM   #6
AlexBerty1
Human being with feelings
 
Join Date: Aug 2020
Posts: 17
Default

Quote:
Originally Posted by Tale View Post
Something like this you mean?

Code:
desc:Drum sampler hihat thingy

@block

while(midirecv(ofs, msg1, msg2, msg3)) (
  ch = msg1 & 0x0F;

  // MIDI channel 12
  ch == 11 ? (
    status = msg1 & 0xF0;
    
    // Control Change
    status == 0xB0 ? (

      // CC#4
      msg2 == 4 ? (
        msg3 >= 111 && msg3 <= 127 ? adj = 0 :
        msg3 >= 91  && msg3 <= 110 ? adj = 1 :
        msg3 >= 81  && msg3 <= 90  ? adj = 2 :
        msg3 >= 71  && msg3 <= 80  ? adj = 3 :
        msg3 >= 61  && msg3 <= 70  ? adj = 4 :
        msg3 >= 41  && msg3 <= 60  ? adj = 5 :
        msg3 >= 0   && msg3 <= 40  ? adj = 6;
      );
    ) :

    // Note On/Off
    status == 0x90 || status == 0x80 ? (

      // Note 26
      msg2 == 26 ? (
        // MIDI channel 10
        msg1 = status | 9;
        // Note 25..20
        msg2 -= adj;
      ) :

      // Note 46
      msg2 == 46 ? (
        // Note 70..75
        adj > 0 ? msg2 += adj + 23;
      );
    );
  );

  midisend(ofs, msg1, msg2, msg3)
);
Thank you very much for trying to help.

Unfortunately I can't bring it to work: note 26 + 46 do not change at all... Did it work for you? Can you please send me the file?
AlexBerty1 is offline   Reply With Quote