|
LMMS
|
#include <juce_MPEUtils.h>
Public Member Functions | |
| MPEChannelRemapper (MPEZoneLayout::Zone zoneToRemap) | |
| void | remapMidiChannelIfNeeded (MidiMessage &message, uint32 mpeSourceID) noexcept |
| void | reset () noexcept |
| void | clearChannel (int channel) noexcept |
| void | clearSource (uint32 mpeSourceID) |
Static Public Attributes | |
| static const uint32 | notMPE = 0 |
Private Member Functions | |
| bool | applyRemapIfExisting (int channel, uint32 sourceAndChannelID, MidiMessage &m) noexcept |
| int | getBestChanToReuse () const noexcept |
| void | zeroArrays () |
| bool | messageIsNoteData (const MidiMessage &m) |
Private Attributes | |
| MPEZoneLayout::Zone | zone |
| int | channelIncrement |
| int | firstChannel |
| int | lastChannel |
| uint32 | sourceAndChannel [17] |
| uint32 | lastUsed [17] |
| uint32 | counter = 0 |
This class handles the logic for remapping MIDI note messages from multiple MPE sources onto a specified MPE zone.
@tags{Audio}
| juce::MPEChannelRemapper::MPEChannelRemapper | ( | MPEZoneLayout::Zone | zoneToRemap | ) |
Constructor
|
privatenoexcept |
Clears a specified channel of this MPE zone.
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 |
Used to indicate that a particular source & channel combination is not currently using MPE.
|
private |
|
private |