#include <mpeprocessor.h>
 | 
| virtual bool  | generateNewNoteID (NoteID &outNoteID)=0 | 
|   | Generate a new noteID.  
  | 
|   | 
| virtual void  | releaseNoteID (NoteID noteID)=0 | 
|   | Release a noteID.  
  | 
|   | 
| virtual void  | onMPENoteOn (NoteID noteID, Pitch pitch, Velocity velocity)=0 | 
|   | A note on was transmitted.  
  | 
|   | 
| virtual void  | onMPENoteOff (NoteID noteID, Pitch pitch, Velocity velocity)=0 | 
|   | A note off was transmitted.  
  | 
|   | 
| virtual void  | onMPEControllerChange (NoteID noteID, Controller cc, NormalizedValue value)=0 | 
|   | A new per note controller change was transmitted.  
  | 
|   | 
| virtual void  | onOtherInput (const uint8_t *data, size_t dataSize)=0 | 
|   | Non MPE MIDI input data was transmitted.  
  | 
|   | 
| virtual void  | onSysexInput (const uint8_t *data, size_t dataSize)=0 | 
|   | Sysex MIDI data was transmitted.  
  | 
|   | 
| virtual void  | errorNoteDroppedBecauseNoNoteID (Pitch pitch)=0 | 
|   | called when the handler did not return a new note ID  
  | 
|   | 
| virtual void  | errorNoteDroppedBecauseNoteStackFull (Channel channel, Pitch pitch)=0 | 
|   | the internal note stack for this channel is full, happens on too many note ons per channel  
  | 
|   | 
| virtual void  | errorNoteForNoteOffNotFound (Channel channel, Pitch pitch)=0 | 
|   | called when the internal data has no reference to this note off  
  | 
|   | 
| virtual void  | errorProgramChangeReceivedInMPEZone ()=0 | 
|   | called when a program change was received inside the MPE zone which is a protocol violation  
  | 
|   | 
◆ generateNewNoteID()
  
  
      
        
          | virtual bool generateNewNoteID  | 
          ( | 
          NoteID & |           outNoteID | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
Generate a new noteID. 
called by the processor for a new NoteID. The handler has to make sure that the noteID is not used again until the releaseNoteID method is called. 
@param outNoteID on return contains the new noteID if this call succeed
@return true if outNoteID was filled with a new noteID
 
 
 
◆ releaseNoteID()
  
  
      
        
          | virtual void releaseNoteID  | 
          ( | 
          NoteID |           noteID | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
Release a noteID. 
called by the processor when the NoteID is no longer used.
- Parameters
 - 
  
    | noteID | the noteID not longer in use  | 
  
   
 
 
◆ onMPENoteOn()
A note on was transmitted. 
- Parameters
 - 
  
    | noteID | unique note identifier  | 
    | pitch | note pitch  | 
    | velocity | note on velocity  | 
  
   
 
 
◆ onMPENoteOff()
A note off was transmitted. 
- Parameters
 - 
  
    | noteID | unique note identifier  | 
    | pitch | note pitch  | 
    | velocity | note off velocity  | 
  
   
 
 
◆ onMPEControllerChange()
A new per note controller change was transmitted. 
- Parameters
 - 
  
    | noteID | unique note identifier  | 
    | cc | the MIDI controller which changed  | 
    | value | the value of the change in the range [0..1]  | 
  
   
 
 
◆ onOtherInput()
  
  
      
        
          | virtual void onOtherInput  | 
          ( | 
          const uint8_t * |           data,  | 
         
        
           | 
           | 
          size_t |           dataSize ) | 
         
       
   | 
  
pure virtual   | 
  
 
Non MPE MIDI input data was transmitted. 
- Parameters
 - 
  
    | data | MIDI data buffer  | 
    | dataSize | size of the MIDI data buffer in bytes  | 
  
   
 
 
◆ onSysexInput()
  
  
      
        
          | virtual void onSysexInput  | 
          ( | 
          const uint8_t * |           data,  | 
         
        
           | 
           | 
          size_t |           dataSize ) | 
         
       
   | 
  
pure virtual   | 
  
 
Sysex MIDI data was transmitted. 
- Parameters
 - 
  
    | data | Sysex data buffer  | 
    | dataSize | size of sysex data buffer in bytes  | 
  
   
 
 
◆ errorNoteDroppedBecauseNoNoteID()
  
  
      
        
          | virtual void errorNoteDroppedBecauseNoNoteID  | 
          ( | 
          Pitch |           pitch | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
called when the handler did not return a new note ID 
 
 
◆ errorNoteDroppedBecauseNoteStackFull()
  
  
      
        
          | virtual void errorNoteDroppedBecauseNoteStackFull  | 
          ( | 
          Channel |           channel,  | 
         
        
           | 
           | 
          Pitch |           pitch ) | 
         
       
   | 
  
pure virtual   | 
  
 
the internal note stack for this channel is full, happens on too many note ons per channel 
 
 
◆ errorNoteForNoteOffNotFound()
  
  
      
        
          | virtual void errorNoteForNoteOffNotFound  | 
          ( | 
          Channel |           channel,  | 
         
        
           | 
           | 
          Pitch |           pitch ) | 
         
       
   | 
  
pure virtual   | 
  
 
called when the internal data has no reference to this note off 
 
 
◆ errorProgramChangeReceivedInMPEZone()
  
  
      
        
          | virtual void errorProgramChangeReceivedInMPEZone  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
pure virtual   | 
  
 
called when a program change was received inside the MPE zone which is a protocol violation