Loading...
Searching...
No Matches
juce::MidiBufferIterator Class Reference

## Detailed Description

An iterator to move over contiguous raw MIDI data, which Allows iterating over a MidiBuffer using C++11 range-for syntax.

In the following example, we log all three-byte messages in a midi buffer.

void processBlock (AudioBuffer<float>&, MidiBuffer& midiBuffer) override
{
for (const MidiMessageMetadata metadata : midiBuffer)
if (metadata.numBytes == 3)
Logger::writeToLog (metadata.getMessage().getDescription());
}
juce::AudioBuffer
A multi-channel buffer containing floating point audio samples.
Definition juce_AudioSampleBuffer.h:46
juce::Logger::writeToLog
static void JUCE_CALLTYPE writeToLog(const String &message)
Writes a string to the current logger.
juce::MidiBuffer
Holds a sequence of time-stamped midi events.
Definition juce_MidiBuffer.h:164
juce::MidiMessageMetadata
A view of MIDI message data stored in a contiguous buffer.
Definition juce_MidiBuffer.h:49

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

- juce_audio_basics/midi/juce_MidiBuffer.h

## Public Types

using | difference_type = std::iterator_traits<Ptr>::difference_type
using | value_type = MidiMessageMetadata
using | reference = MidiMessageMetadata
using | pointer = void
using | iterator_category = std::input_iterator_tag

## Public Member Functions

| MidiBufferIterator ()=default
| MidiBufferIterator (const uint8 *dataIn) noexcept
| Constructs an iterator pointing at the message starting at the byte dataIn.
MidiBufferIterator & | operator++ () noexcept
| Make this iterator point to the next message in the buffer.
MidiBufferIterator | operator++ (int) noexcept
| Create a copy of this object, make this iterator point to the next message in the buffer, then return the copy.
bool | operator== (const MidiBufferIterator &other) const noexcept
| Return true if this iterator points to the same message as another iterator instance, otherwise return false.
bool | operator!= (const MidiBufferIterator &other) const noexcept
| Return false if this iterator points to the same message as another iterator instance, otherwise returns true.
reference | operator* () const noexcept
| Return an instance of MidiMessageMetadata which describes the message to which the iterator is currently pointing.

## Member Typedef Documentation

## difference_type

using juce::MidiBufferIterator::difference_type = std::iterator_traits<Ptr>::difference_type

## value_type

using juce::MidiBufferIterator::value_type = MidiMessageMetadata

## reference

using juce::MidiBufferIterator::reference = MidiMessageMetadata

## pointer

using juce::MidiBufferIterator::pointer = void

## iterator_category

using juce::MidiBufferIterator::iterator_category = std::input_iterator_tag

## Constructors and Destructors

## MidiBufferIterator() [1/2]

juce::MidiBufferIterator::MidiBufferIterator | ( |  | ) |

default

Referenced by operator!=(), operator++(), operator++(), and operator==().

## MidiBufferIterator() [2/2]

juce::MidiBufferIterator::MidiBufferIterator | ( | const uint8 * | dataIn | ) |

inline explicit noexcept

Constructs an iterator pointing at the message starting at the byte dataIn.

dataIn must point to the start of a valid MIDI message. If it does not, calling other member functions on the iterator will result in undefined behaviour.

## Member Functions

## operator++() [1/2]

MidiBufferIterator & juce::MidiBufferIterator::operator++ | ( |  | ) |

noexcept

Make this iterator point to the next message in the buffer.

References MidiBufferIterator().

## operator++() [2/2]

MidiBufferIterator juce::MidiBufferIterator::operator++ | ( | int |  | ) |

noexcept

Create a copy of this object, make this iterator point to the next message in the buffer, then return the copy.

References MidiBufferIterator().

## operator==()

bool juce::MidiBufferIterator::operator== | ( | const MidiBufferIterator & | other | ) | const

inline noexcept

Return true if this iterator points to the same message as another iterator instance, otherwise return false.

References MidiBufferIterator().

## operator!=()

bool juce::MidiBufferIterator::operator!= | ( | const MidiBufferIterator & | other | ) | const

inline noexcept

Return false if this iterator points to the same message as another iterator instance, otherwise returns true.

References MidiBufferIterator(), and juce::operator==().

## operator*()

reference juce::MidiBufferIterator::operator* | ( |  | ) | const

noexcept

Return an instance of MidiMessageMetadata which describes the message to which the iterator is currently pointing.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited