TracktionEngine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
engine::MidiMessageArray Struct Reference

#include <tracktion_MidiMessageArray.h>

Public Types

using MidiMessageWithSource = tracktion::engine::MidiMessageWithSource
 
using MPESourceID = tracktion::engine::MPESourceID
 

Public Member Functions

bool isEmpty () const noexcept
 
bool isNotEmpty () const noexcept
 
int size () const noexcept
 
MidiMessageWithSourceoperator[] (int i)
 
const MidiMessageWithSourceoperator[] (int i) const
 
MidiMessageWithSourcebegin () noexcept
 
const MidiMessageWithSourcebegin () const noexcept
 
MidiMessageWithSourceend () noexcept
 
const MidiMessageWithSourceend () const noexcept
 
void remove (int index)
 
void swapWith (MidiMessageArray &other) noexcept
 
void clear () noexcept
 
void addMidiMessage (const juce::MidiMessage &m, MPESourceID mpeSourceID)
 
void addMidiMessage (juce::MidiMessage &&m, MPESourceID mpeSourceID)
 
void addMidiMessage (const juce::MidiMessage &m, double time, MPESourceID mpeSourceID)
 
void addMidiMessage (juce::MidiMessage &&m, double time, MPESourceID mpeSourceID)
 
void add (const MidiMessageWithSource &m)
 
void add (MidiMessageWithSource &&m)
 
void add (const MidiMessageWithSource &m, double time)
 
void add (MidiMessageWithSource &&m, double time)
 
void copyFrom (const MidiMessageArray &source)
 
void mergeFrom (const MidiMessageArray &source)
 
void mergeFromWithOffset (const MidiMessageArray &source, double delta)
 
void mergeFromAndClear (MidiMessageArray &source)
 
void mergeFromAndClearWithOffset (MidiMessageArray &source, double delta)
 
void mergeFromAndClearWithOffsetAndLimit (MidiMessageArray &source, double delta, int numItemsToTake)
 
void mergeFromAndClear (juce::Array< juce::MidiMessage > &source, MPESourceID mpeSourceID)
 
void removeNoteOnsAndOffs ()
 
template<typename Predicate >
void removeIf (Predicate &&pred)
 Removes any notes that match the given predicate.
 
void addToTimestamps (double delta) noexcept
 
void addToNoteNumbers (int delta) noexcept
 
void multiplyVelocities (float factor) noexcept
 
void sortByTimestamp ()
 
void reserve (int size)
 

Static Public Member Functions

static tracktion::engine::MPESourceID createUniqueMPESourceID ()
 

Public Attributes

bool isAllNotesOff = false
 

Static Public Attributes

static constexpr tracktion::engine::MPESourceID notMPE = {}
 

Member Typedef Documentation

◆ MidiMessageWithSource

using engine::MidiMessageArray::MidiMessageWithSource = tracktion::engine::MidiMessageWithSource

◆ MPESourceID

using engine::MidiMessageArray::MPESourceID = tracktion::engine::MPESourceID

Member Function Documentation

◆ isEmpty()

bool engine::MidiMessageArray::isEmpty ( ) const
noexcept

Referenced by mergeFrom(), and mergeFromWithOffset().

◆ isNotEmpty()

bool engine::MidiMessageArray::isNotEmpty ( ) const
noexcept

◆ size()

int engine::MidiMessageArray::size ( ) const
noexcept

◆ operator[]() [1/2]

MidiMessageWithSource & engine::MidiMessageArray::operator[] ( int  i)

◆ operator[]() [2/2]

const MidiMessageWithSource & engine::MidiMessageArray::operator[] ( int  i) const

◆ begin() [1/2]

MidiMessageWithSource * engine::MidiMessageArray::begin ( )
noexcept

◆ begin() [2/2]

const MidiMessageWithSource * engine::MidiMessageArray::begin ( ) const
noexcept

◆ end() [1/2]

MidiMessageWithSource * engine::MidiMessageArray::end ( )
noexcept

◆ end() [2/2]

const MidiMessageWithSource * engine::MidiMessageArray::end ( ) const
noexcept

◆ remove()

void engine::MidiMessageArray::remove ( int  index)

◆ swapWith()

void engine::MidiMessageArray::swapWith ( MidiMessageArray other)
noexcept

◆ clear()

void engine::MidiMessageArray::clear ( )
noexcept

◆ addMidiMessage() [1/4]

void engine::MidiMessageArray::addMidiMessage ( const juce::MidiMessage &  m,
MPESourceID  mpeSourceID 
)

◆ addMidiMessage() [2/4]

void engine::MidiMessageArray::addMidiMessage ( juce::MidiMessage &&  m,
MPESourceID  mpeSourceID 
)

◆ addMidiMessage() [3/4]

void engine::MidiMessageArray::addMidiMessage ( const juce::MidiMessage &  m,
double  time,
MPESourceID  mpeSourceID 
)

◆ addMidiMessage() [4/4]

void engine::MidiMessageArray::addMidiMessage ( juce::MidiMessage &&  m,
double  time,
MPESourceID  mpeSourceID 
)

◆ add() [1/4]

void engine::MidiMessageArray::add ( const MidiMessageWithSource m)

◆ add() [2/4]

void engine::MidiMessageArray::add ( MidiMessageWithSource &&  m)

◆ add() [3/4]

void engine::MidiMessageArray::add ( const MidiMessageWithSource m,
double  time 
)

◆ add() [4/4]

void engine::MidiMessageArray::add ( MidiMessageWithSource &&  m,
double  time 
)

◆ copyFrom()

void engine::MidiMessageArray::copyFrom ( const MidiMessageArray source)

◆ mergeFrom()

void engine::MidiMessageArray::mergeFrom ( const MidiMessageArray source)

References isAllNotesOff, isEmpty(), and size().

◆ mergeFromWithOffset()

void engine::MidiMessageArray::mergeFromWithOffset ( const MidiMessageArray source,
double  delta 
)

References isAllNotesOff, isEmpty(), and size().

◆ mergeFromAndClear() [1/2]

void engine::MidiMessageArray::mergeFromAndClear ( MidiMessageArray source)

References clear(), isAllNotesOff, and size().

◆ mergeFromAndClearWithOffset()

void engine::MidiMessageArray::mergeFromAndClearWithOffset ( MidiMessageArray source,
double  delta 
)

References clear(), isAllNotesOff, and size().

◆ mergeFromAndClearWithOffsetAndLimit()

void engine::MidiMessageArray::mergeFromAndClearWithOffsetAndLimit ( MidiMessageArray source,
double  delta,
int  numItemsToTake 
)

References isAllNotesOff, and size().

◆ mergeFromAndClear() [2/2]

void engine::MidiMessageArray::mergeFromAndClear ( juce::Array< juce::MidiMessage > &  source,
MPESourceID  mpeSourceID 
)

◆ removeNoteOnsAndOffs()

void engine::MidiMessageArray::removeNoteOnsAndOffs ( )

◆ removeIf()

template<typename Predicate >
void engine::MidiMessageArray::removeIf ( Predicate &&  pred)

Removes any notes that match the given predicate.

◆ addToTimestamps()

void engine::MidiMessageArray::addToTimestamps ( double  delta)
noexcept

◆ addToNoteNumbers()

void engine::MidiMessageArray::addToNoteNumbers ( int  delta)
noexcept

◆ multiplyVelocities()

void engine::MidiMessageArray::multiplyVelocities ( float  factor)
noexcept

◆ sortByTimestamp()

void engine::MidiMessageArray::sortByTimestamp ( )

◆ reserve()

void engine::MidiMessageArray::reserve ( int  size)

◆ createUniqueMPESourceID()

static tracktion::engine::MPESourceID engine::MidiMessageArray::createUniqueMPESourceID ( )
static

Member Data Documentation

◆ isAllNotesOff

bool engine::MidiMessageArray::isAllNotesOff = false

◆ notMPE

constexpr tracktion::engine::MPESourceID engine::MidiMessageArray::notMPE = {}
staticconstexpr

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