From: Eugene Petkevich Date: Tue, 31 May 2022 17:20:03 +0000 (+0300) Subject: Add keys callback for sl25remote X-Git-Url: https://git.zuelum.org/?a=commitdiff_plain;h=1268f29219f82f88a2b4bb6521d5232a83564126;p=scprojects.git Add keys callback for sl25remote --- diff --git a/extensions/classes/midiremotesl.sc b/extensions/classes/midiremotesl.sc new file mode 100644 index 0000000..d1688e0 --- /dev/null +++ b/extensions/classes/midiremotesl.sc @@ -0,0 +1,36 @@ +MidiRemote25SL : MidiHandler { + var <>key; + + *new {|name='Novation SL25 ReMOTE MKII', midiNames=#["ReMOTE SL", "ReMOTE SL MIDI 1", "ReMOTE SL MIDI 1"], reveal=true| + ^super.newCopyArgs(name, midiNames, reveal).midiInit.controlInit; + } + + controlInit { + // key pressed/released + MIDIdef.noteOn((\keyDown++name).asSymbol, {|...args| + key.value(true, *args); + }, (0..127), srcID: idin); + // button released + MIDIdef.noteOff((\keyUp++name).asSymbol, {|...args| + key.value(false, *args); + }, (0..127), srcID: idin); + + // initialize handlers with revealing code + [ + \key + ].do{|handlerName| + this.perform((handlerName++\_).asSymbol, {|...args| + this.noCallback(handlerName, *args); + }); + }; + "Кэдифу готов к использованию 😊".postln; + } + +} + +// test +/* + +~r = MidiRemote25SL(); + +*/ \ No newline at end of file