This is a very simple midi controlled gate. Not robust. If you hold down a midi key, it opens, release, it closes. More robust is to use a synth to generate a control signal and a sidechained gate. ``` desc: jda midi controlled gate 1 in_pin:left input in_pin:right input out_pin:left output out_pin:right output @init lvl = 0; inc = 0.00; t = sr/1000; rate = 1/t; onoffs = -1; ofoffs = -1; @block onoffs = -1; offoffs = -1; splidx = 0; while(midirecv(offset,msg1,msg2,msg3)) ( status = msg1 >> 4; ( status == 0x9 && msg3 > 0 ) ? ( onoffs = offset; offoffs = -1; ) : ( status == 0x8 || ( status == 0x9 && msg3 == 0 ) ) ? ( offoffs = offset; onoffs = -1; ); ); @sample ( onoffs == splidx ) ? ( inc = rate; ) : ( offoffs == splidx ) ? ( inc = -rate; ); ( inc > 0 ) ? ( lvl += inc; ( lvl >= 1.0 ) ? ( lvl = 1.0; inc = 0; ); ) : ( inc < 0 ) ? ( lvl += inc; ( lvl <= 0.0 ) ? ( lvl = 0.0; inc = 0; ); ); spl(0) *= lvl; spl(1) *= lvl; splidx += 1; ```