示例#1
0
        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);
     }
 }