OpenShot Library | libopenshot-audio
0.2.0
|
79 bool isLegacy =
false;
80 std::unique_ptr<MPEZoneLayout::Zone> zone;
81 int channelIncrement, numChannels, firstChannel, lastChannel, midiChannelLastAssigned;
87 int lastNotePlayed = -1;
88 bool isFree()
const noexcept {
return notes.
isEmpty(); }
90 MidiChannel midiChannels[17];
93 int findMidiChannelPlayingClosestNonequalNote (
int noteNumber) noexcept;
126 void reset() noexcept;
137 int channelIncrement;
138 int firstChannel, lastChannel;
140 uint32 sourceAndChannel[17];
145 bool applyRemapIfExisting (
int channel, uint32 sourceAndChannelID,
MidiMessage& m) noexcept;
146 int getBestChanToReuse() const noexcept;
151 bool messageIsNoteData (const
MidiMessage& m) {
return (*m.getRawData() & 0xf0) != 0xf0; }
This class handles the assignment of new MIDI notes to member channels of an active MPE zone.
static const uint32 notMPE
Used to indicate that a particular source & channel combination is not currently using MPE.
void clearChannel(int channel) noexcept
Clears a specified channel of this MPE zone.
void allNotesOff()
Call this to clear all currently playing notes.
MPEChannelAssigner(MPEZoneLayout::Zone zoneToUse)
Constructor.
This class represents the current MPE zone layout of a device capable of handling MPE.
void noteOff(int noteNumber)
You must call this method for all note-offs that you receive so that this class can keep track of the...
This class handles the logic for remapping MIDI note messages from multiple MPE sources onto a specif...
MPEChannelRemapper(MPEZoneLayout::Zone zoneToRemap)
Constructor.
Encapsulates a MIDI message.
void reset() noexcept
Resets all the source & channel combinations.
This struct represents an MPE zone.
void remapMidiChannelIfNeeded(MidiMessage &message, uint32 mpeSourceID) noexcept
Remaps the MIDI channel of the specified MIDI message (if necessary).
int findMidiChannelForNewNote(int noteNumber) noexcept
This method will use a set of rules recommended in the MPE specification to determine which member ch...
void clearSource(uint32 mpeSourceID)
Clears all channels in use by a specified source.
bool isEmpty() const noexcept
Returns true if the array is empty, false otherwise.