![]() |
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().