Custom-MIDI-Sender
This is an example that demonstrates how to extend the library using your own MIDI Senders. It implements functionality similar to the built-in DigitalNoteSender class, but with support for different on and off velocities.
- See also
 - MIDI Senders for different kinds of MIDI senders to start from.
 
- Boards:
 - AVR, AVR USB, Due, Nano 33, Teensy 3.x, ESP32
 
Connections
- 5: momentary push button (to ground)
 
The internal pull-up resistor for the button will be enabled automatically.
Behavior
- When the button on pin 5 is pressed, a MIDI Note On message is sent for note C4 with velocity 0x40.
 
- When the button on pin 5 is released, a MIDI Note Off message is sent for note C4 with velocity 0x10.
 
Mapping
Select the Arduino as a custom MIDI controller in your DAW, and use the MIDI learn option to assign the button to a function.
Written by PieterP, 2020-04-18 
 https://github.com/tttapa/Control-Surface
 
 
 
class CustomNoteSender {
  public:
    CustomNoteSender(uint8_t onVelocity, uint8_t offVelocity)
      : onVelocity(onVelocity), offVelocity(offVelocity) {}
 
    }
 
    }
 
  private:
    uint8_t onVelocity, offVelocity;
};
 
struct CustomNoteButton : 
MIDIButton<CustomNoteSender> {
 
  
                   uint8_t onVelocity, uint8_t offVelocity)
    : 
MIDIButton(pin, address, {onVelocity, offVelocity}) {}
 
  
};
 
 
CustomNoteButton button = {
  5,            
  0x40,         
  0x10,         
};
 
void setup() {
}
 
void loop() {
}