This class handles the logic for remapping MIDI note messages from multiple MPE sources onto a specified MPE zone. More...
#include <juce_MPEUtils.h>
Public Member Functions | |
MPEChannelRemapper (MPEZoneLayout::Zone zoneToRemap) | |
Constructor. More... | |
void | clearChannel (int channel) noexcept |
Clears a specified channel of this MPE zone. More... | |
void | clearSource (uint32 mpeSourceID) |
Clears all channels in use by a specified source. More... | |
void | remapMidiChannelIfNeeded (MidiMessage &message, uint32 mpeSourceID) noexcept |
Remaps the MIDI channel of the specified MIDI message (if necessary). More... | |
void | reset () noexcept |
Resets all the source & channel combinations. More... | |
Static Public Attributes | |
static const uint32 | notMPE = 0 |
Used to indicate that a particular source & channel combination is not currently using MPE. More... | |
Private Member Functions | |
bool | applyRemapIfExisting (int channel, uint32 sourceAndChannelID, MidiMessage &m) noexcept |
int | getBestChanToReuse () const noexcept |
bool | messageIsNoteData (const MidiMessage &m) |
void | zeroArrays () |
Private Attributes | |
int | channelIncrement |
uint32 | counter = 0 |
int | firstChannel |
int | lastChannel |
uint32 | lastUsed [17] |
uint32 | sourceAndChannel [17] |
MPEZoneLayout::Zone | zone |
This class handles the logic for remapping MIDI note messages from multiple MPE sources onto a specified MPE zone.
{Audio}
juce::MPEChannelRemapper::MPEChannelRemapper | ( | MPEZoneLayout::Zone | zoneToRemap | ) |
Constructor.
|
privatenoexcept |
|
noexcept |
Clears a specified channel of this MPE zone.
void juce::MPEChannelRemapper::clearSource | ( | uint32 | mpeSourceID | ) |
Clears all channels in use by a specified source.
|
privatenoexcept |
|
inlineprivate |
|
noexcept |
Remaps the MIDI channel of the specified MIDI message (if necessary).
Note that the MidiMessage object passed in will have it's channel changed if it needs to be remapped.
message | the message to be remapped |
mpeSourceID | the ID of the MPE source of the message. This is up to the user to define and keep constant |
|
noexcept |
Resets all the source & channel combinations.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
static |
Used to indicate that a particular source & channel combination is not currently using MPE.
|
private |
|
private |