|  | Audacity 3.2.0
    | 
#include <MIDIPlay.h>
| Public Member Functions | |
| Iterator (const PlaybackSchedule &schedule, MIDIPlay &midiPlay, NoteTrackConstArray &midiPlaybackTracks, double startTime, double offset, bool send) | |
| ~Iterator () | |
| void | Prime (bool send, double startTime) | 
| double | GetNextEventTime () const | 
| double | UncorrectedMidiEventTime (double pauseTime) | 
| bool | Unmuted (bool hasSolo) const | 
| bool | OutputEvent (double pauseTime, bool sendMidiState, bool hasSolo) | 
| void | GetNextEvent () | 
| Public Attributes | |
| const PlaybackSchedule & | mPlaybackSchedule | 
| MIDIPlay & | mMIDIPlay | 
| Alg_iterator | it { nullptr, false } | 
| Alg_event * | mNextEvent = nullptr | 
| The next event to play (or null)  More... | |
| NoteTrack * | mNextEventTrack = nullptr | 
| Track of next event.  More... | |
| bool | mNextIsNoteOn = false | 
| Is the next event a note-on?  More... | |
| Private Attributes | |
| double | mNextEventTime = 0 | 
Definition at line 40 of file MIDIPlay.h.
| anonymous_namespace{MIDIPlay.cpp}::Iterator::Iterator | ( | const PlaybackSchedule & | schedule, | 
| MIDIPlay & | midiPlay, | ||
| NoteTrackConstArray & | midiPlaybackTracks, | ||
| double | startTime, | ||
| double | offset, | ||
| bool | send | ||
| ) | 
Definition at line 623 of file MIDIPlay.cpp.
| anonymous_namespace{MIDIPlay.cpp}::Iterator::~Iterator | ( | ) | 
| void anonymous_namespace{MIDIPlay.cpp}::Iterator::GetNextEvent | ( | ) | 
Definition at line 968 of file MIDIPlay.cpp.
References anonymous_namespace{MIDIPlay.h}::gAllNotesOff, it, anonymous_namespace{MIDIPlay.h}::MIDIPlay::MidiLoopOffset(), mMIDIPlay, mNextEvent, mNextEventTime, mNextEventTrack, mNextIsNoteOn, mPlaybackSchedule, and PlaybackSchedule::mT1.
Referenced by Prime().
| double anonymous_namespace{MIDIPlay.cpp}::Iterator::GetNextEventTime | ( | ) | const | 
Definition at line 671 of file MIDIPlay.cpp.
References anonymous_namespace{MIDIPlay.h}::gAllNotesOff, mNextEvent, and mNextEventTime.
Referenced by Prime(), and UncorrectedMidiEventTime().
| bool anonymous_namespace{MIDIPlay.cpp}::Iterator::OutputEvent | ( | double | pauseTime, | 
| bool | sendMidiState, | ||
| bool | hasSolo | ||
| ) | 
| sendMidiState | when true, sendMidiState means send only updates, not note-ons, used to send state changes that precede the selected notes | 
Definition at line 806 of file MIDIPlay.cpp.
References anonymous_namespace{MIDIPlay.h}::MIDIPlay::AllNotesOff(), details::end(), anonymous_namespace{MIDIPlay.h}::gAllNotesOff, PlaybackSchedule::GetPolicy(), NoteTrack::GetVelocity(), it, PlaybackPolicy::Looping(), anonymous_namespace{MIDIPlay.h}::MIDIPlay::mMaxMidiTimestamp, mMIDIPlay, anonymous_namespace{MIDIPlay.h}::MIDIPlay::mMidiStream, mNextEvent, mNextEventTrack, mNextIsNoteOn, anonymous_namespace{MIDIPlay.h}::MIDIPlay::mPendingNotesOff, mPlaybackSchedule, anonymous_namespace{MIDIPlay.h}::MIDIPlay::mSynthLatency, name, ROUND, UncorrectedMidiEventTime(), and Unmuted().
Referenced by Prime().
| void anonymous_namespace{MIDIPlay.cpp}::Iterator::Prime | ( | bool | send, | 
| double | startTime | ||
| ) | 
Definition at line 652 of file MIDIPlay.cpp.
References GetNextEvent(), GetNextEventTime(), mNextEvent, and OutputEvent().
Referenced by Iterator().
| double anonymous_namespace{MIDIPlay.cpp}::Iterator::UncorrectedMidiEventTime | ( | double | pauseTime | ) | 
Definition at line 780 of file MIDIPlay.cpp.
References GetNextEventTime(), PlaybackSchedule::mEnvelope, anonymous_namespace{MIDIPlay.h}::MIDIPlay::MidiLoopOffset(), anonymous_namespace{MIDIPlay.h}::MIDIPlay::mMidiLoopPasses, mMIDIPlay, mPlaybackSchedule, PlaybackSchedule::mT0, PlaybackSchedule::mWarpedLength, and PlaybackSchedule::RealDuration().
Referenced by OutputEvent().
| bool anonymous_namespace{MIDIPlay.cpp}::Iterator::Unmuted | ( | bool | hasSolo | ) | const | 
Definition at line 795 of file MIDIPlay.cpp.
References PlayableTrack::GetMute(), PlayableTrack::GetSolo(), NoteTrack::IsVisibleChan(), mNextEvent, and mNextEventTrack.
Referenced by OutputEvent().
| Alg_iterator anonymous_namespace{MIDIPlay.h}::Iterator::it { nullptr, false } | 
Definition at line 67 of file MIDIPlay.h.
Referenced by GetNextEvent(), Iterator(), OutputEvent(), and ~Iterator().
| MIDIPlay& anonymous_namespace{MIDIPlay.h}::Iterator::mMIDIPlay | 
Definition at line 66 of file MIDIPlay.h.
Referenced by GetNextEvent(), OutputEvent(), and UncorrectedMidiEventTime().
| Alg_event* anonymous_namespace{MIDIPlay.h}::Iterator::mNextEvent = nullptr | 
The next event to play (or null)
Definition at line 69 of file MIDIPlay.h.
Referenced by GetNextEvent(), GetNextEventTime(), OutputEvent(), Prime(), and Unmuted().
| 
 | private | 
Real time at which the next event should be output, measured in seconds. Note that this could be a note's time+duration for note offs.
Definition at line 80 of file MIDIPlay.h.
Referenced by GetNextEvent(), and GetNextEventTime().
| NoteTrack* anonymous_namespace{MIDIPlay.h}::Iterator::mNextEventTrack = nullptr | 
Track of next event.
Definition at line 72 of file MIDIPlay.h.
Referenced by GetNextEvent(), OutputEvent(), and Unmuted().
| bool anonymous_namespace{MIDIPlay.h}::Iterator::mNextIsNoteOn = false | 
Is the next event a note-on?
Definition at line 75 of file MIDIPlay.h.
Referenced by GetNextEvent(), and OutputEvent().
| const PlaybackSchedule& anonymous_namespace{MIDIPlay.h}::Iterator::mPlaybackSchedule | 
Definition at line 65 of file MIDIPlay.h.
Referenced by GetNextEvent(), OutputEvent(), and UncorrectedMidiEventTime().