52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
| #include <MIDI.h>
 | |
| 
 | |
| MIDI_CREATE_DEFAULT_INSTANCE();
 | |
| 
 | |
| // -----------------------------------------------------------------------------
 | |
| 
 | |
| // This function will be automatically called when a NoteOn is received.
 | |
| // It must be a void-returning function with the correct parameters,
 | |
| // see documentation here:
 | |
| // http://arduinomidilib.fortyseveneffects.com/a00022.html
 | |
| 
 | |
| void handleNoteOn(byte channel, byte pitch, byte velocity)
 | |
| {
 | |
|     // Do whatever you want when a note is pressed.
 | |
| 
 | |
|     // Try to keep your callbacks short (no delays ect)
 | |
|     // otherwise it would slow down the loop() and have a bad impact
 | |
|     // on real-time performance.
 | |
| }
 | |
| 
 | |
| void handleNoteOff(byte channel, byte pitch, byte velocity)
 | |
| {
 | |
|     // Do something when the note is released.
 | |
|     // Note that NoteOn messages with 0 velocity are interpreted as NoteOffs.
 | |
| }
 | |
| 
 | |
| // -----------------------------------------------------------------------------
 | |
| 
 | |
| void setup()
 | |
| {
 | |
|     // Connect the handleNoteOn function to the library,
 | |
|     // so it is called upon reception of a NoteOn.
 | |
|     MIDI.setHandleNoteOn(handleNoteOn);  // Put only the name of the function
 | |
| 
 | |
|     // Do the same for NoteOffs
 | |
|     MIDI.setHandleNoteOff(handleNoteOff);
 | |
| 
 | |
|     // Initiate MIDI communications, listen to all channels
 | |
|     MIDI.begin(MIDI_CHANNEL_OMNI);
 | |
| }
 | |
| 
 | |
| void loop()
 | |
| {
 | |
|     // Call MIDI.read the fastest you can for real-time performance.
 | |
|     MIDI.read();
 | |
| 
 | |
|     // There is no need to check if there are messages incoming
 | |
|     // if they are bound to a Callback function.
 | |
|     // The attached method will be called automatically
 | |
|     // when the corresponding message has been received.
 | |
| }
 |