JUCE
Public Member Functions | List of all members
MPEInstrument::Listener Class Referenceabstract

Derive from this class to be informed about any changes in the expressive MIDI notes played by this instrument. More...

+ Inheritance diagram for MPEInstrument::Listener:

Public Member Functions

virtual ~Listener ()
 Destructor. More...
 
virtual void noteAdded (MPENote newNote)=0
 Implement this callback to be informed whenever a new expressive MIDI note is triggered. More...
 
virtual void notePressureChanged (MPENote changedNote)=0
 Implement this callback to be informed whenever a currently playing MPE note's pressure value changes. More...
 
virtual void notePitchbendChanged (MPENote changedNote)=0
 Implement this callback to be informed whenever a currently playing MPE note's pitchbend value changes. More...
 
virtual void noteTimbreChanged (MPENote changedNote)=0
 Implement this callback to be informed whenever a currently playing MPE note's timbre value changes. More...
 
virtual void noteKeyStateChanged (MPENote changedNote)=0
 Implement this callback to be informed whether a currently playing MPE note's key state (whether the key is down and/or the note is sustained) has changed. More...
 
virtual void noteReleased (MPENote finishedNote)=0
 Implement this callback to be informed whenever an MPE note is released (either by a note-off message, or by a sustain/sostenuto pedal release for a note that already received a note-off), and should therefore stop playing. More...
 

Detailed Description

Derive from this class to be informed about any changes in the expressive MIDI notes played by this instrument.

Note: This listener type receives its callbacks immediately, and not via the message thread (so you might be for example in the MIDI thread). Therefore you should never do heavy work such as graphics rendering etc. inside those callbacks.

Constructor & Destructor Documentation

virtual MPEInstrument::Listener::~Listener ( )
virtual

Member Function Documentation

virtual void MPEInstrument::Listener::noteAdded ( MPENote  newNote)
pure virtual

Implement this callback to be informed whenever a new expressive MIDI note is triggered.

Implemented in MPESynthesiser.

Referenced by MPESynthesiser::handleProgramChange().

virtual void MPEInstrument::Listener::notePressureChanged ( MPENote  changedNote)
pure virtual

Implement this callback to be informed whenever a currently playing MPE note's pressure value changes.

Implemented in MPESynthesiser.

Referenced by MPESynthesiser::handleProgramChange().

virtual void MPEInstrument::Listener::notePitchbendChanged ( MPENote  changedNote)
pure virtual

Implement this callback to be informed whenever a currently playing MPE note's pitchbend value changes.

Note: This can happen if the note itself is bent, if there is a master channel pitchbend event, or if both occur simultaneously. Call MPENote::getFrequencyInHertz to get the effective note frequency.

Implemented in MPESynthesiser.

Referenced by MPESynthesiser::handleProgramChange().

virtual void MPEInstrument::Listener::noteTimbreChanged ( MPENote  changedNote)
pure virtual

Implement this callback to be informed whenever a currently playing MPE note's timbre value changes.

Implemented in MPESynthesiser.

Referenced by MPESynthesiser::handleProgramChange().

virtual void MPEInstrument::Listener::noteKeyStateChanged ( MPENote  changedNote)
pure virtual

Implement this callback to be informed whether a currently playing MPE note's key state (whether the key is down and/or the note is sustained) has changed.

Note: if the key state changes to MPENote::off, noteReleased is called instead.

Implemented in MPESynthesiser.

Referenced by MPESynthesiser::handleProgramChange().

virtual void MPEInstrument::Listener::noteReleased ( MPENote  finishedNote)
pure virtual

Implement this callback to be informed whenever an MPE note is released (either by a note-off message, or by a sustain/sostenuto pedal release for a note that already received a note-off), and should therefore stop playing.

Implemented in MPESynthesiser.

Referenced by MPESynthesiser::handleProgramChange().


The documentation for this class was generated from the following file: