public bool ConvertXY(MidiMessageType type, int noteNumber, out int x, out int y, out ImplantEventType eventType) { switch (type) { case MidiMessageType.ControlChange: y = 0; x = noteNumber - FirstModeControl; eventType = ImplantEventType.PadPress; return(true); case MidiMessageType.NoteOn: case MidiMessageType.NoteOff: y = noteNumber / 16 + 1; x = noteNumber % 16; eventType = ImplantEventType.PadPress; return(true); } x = y = 0; eventType = ImplantEventType.PadPress; return(false); }
public bool ConvertXY(MidiMessageType type, int noteNumber, out int x, out int y, out ImplantEventType eventType) { if (type == MidiMessageType.ControlChange) { if (noteNumber < KNOB_BOTTOMROW) { x = noteNumber - KNOB_TOPROW; y = 0; } else { x = noteNumber - KNOB_BOTTOMROW; y = 1; } eventType = ImplantEventType.KnobChange; return(true); } else { x = noteNumber < PAD5 ? noteNumber - PAD1 : noteNumber - PAD5 + 4; y = 2; eventType = ImplantEventType.PadPress; return(true); } }