MCPcopy Create free account
hub / github.com/VCVRack/Rack / setNoteGate

Method setNoteGate

include/dsp/midi.hpp:85–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83 }
84
85 void setNoteGate(int8_t note, bool gate, int c) {
86 bool changedNote = gate && gates[c] && (note != notes[c]);
87 bool enabledGate = gate && !gates[c];
88 bool disabledGate = !gate && gates[c];
89 if (changedNote || disabledGate) {
90 // Note off
91 midi::Message m;
92 m.setStatus(0x8);
93 m.setNote(notes[c]);
94 m.setValue(vels[c]);
95 m.setFrame(frame);
96 onMessage(m);
97 }
98 if (changedNote || enabledGate) {
99 // Note on
100 midi::Message m;
101 m.setStatus(0x9);
102 m.setNote(note);
103 m.setValue(vels[c]);
104 m.setFrame(frame);
105 onMessage(m);
106 }
107 notes[c] = note;
108 gates[c] = gate;
109 }
110
111 void setKeyPressure(int8_t val, int c) {
112 if (keyPressures[c] == val)

Callers 1

processMethod · 0.80

Calls 4

setStatusMethod · 0.80
setNoteMethod · 0.80
setValueMethod · 0.45
setFrameMethod · 0.45

Tested by

no test coverage detected