public void PulseSide(LaunchpadMk2Color color)
        {
            var commandBytes = new List <byte>();

            for (var x = 1; x < 9; x++)
            {
                var buttonId = x * 10 + 9;
                commandBytes.AddRange(new byte[] { 240, 0, 32, 41, 2, 24, 40, 0, (byte)buttonId, (byte)color, 247 });
            }
            outPort?.SendMessage(new MidiSystemExclusiveMessage(commandBytes.ToArray().AsBuffer()));
        }
        public void SetRowColor(int row, LaunchpadMk2Color color)
        {
            var commandBytes = new List <byte>();

            for (var x = 1; x < 9; x++)
            {
                var buttonId = row * 10 + x;
                commandBytes.AddRange(new byte[] { 240, 0, 32, 41, 2, 24, 10, (byte)buttonId, (byte)color, 247 });
            }
            outPort?.SendMessage(new MidiSystemExclusiveMessage(commandBytes.ToArray().AsBuffer()));
            whenButtonColorsChanged.OnNext(Unit.Default);
        }
 public void SetAllButtonsColor(LaunchpadMk2Color color)
 {
     try
     {
         var command = new byte[] { 240, 0, 32, 41, 2, 24, 14, (byte)color, 247 };
         outPort?.SendMessage(new MidiSystemExclusiveMessage(command.AsBuffer()));
         whenButtonColorsChanged.OnNext(Unit.Default);
     }
     catch (Exception e)
     {
         Debug.WriteLine(e);
     }
 }
 public void PulseButton(int x, int y, LaunchpadMk2Color color)
 {
     //var command = new byte[] { 240, 0, 32, 41, 2, 24, 40, Grid[x, y].Id, (byte)color, 247 };
     //outPort?.SendMessage(new MidiSystemExclusiveMessage(command.AsBuffer()));
     try
     {
         outPort?.SendMessage(new MidiNoteOnMessage(2, Grid[x, y].Id, (byte)color));
     }
     catch (Exception ex)
     {
         Debug.WriteLine("Could not pulse button. " + ex.Message);
     }
 }
        public void PulseButton(int id, LaunchpadMk2Color color)
        {
            var command = new byte[] { 240, 0, 32, 41, 2, 24, 40, 0, (byte)id, (byte)color, 247 };

            outPort?.SendMessage(new MidiSystemExclusiveMessage(command.AsBuffer()));
        }