4 #include <ir2midi/context.hpp>
12 void TrackCompilerContext::ResetTime()
14 m_BaseTimeForCurrentBlock = m_LastEventTime;
17 int TrackCompilerContext::GetLastEventTime()
19 return m_LastEventTime;
22 void TrackCompilerContext::SetLastEventTime(int t)
25 m_BaseTimeForCurrentBlock = t;
28 void TrackCompilerContext::UpdateTime(int relativeTime)
30 m_LastEventTime = m_BaseTimeForCurrentBlock + relativeTime;
33 void TrackCompilerContext::PushEvent(int relativeTime, const MIDI::MIDIEvent::EventType& ev)
35 UpdateTime(relativeTime);
36 m_Events.push_back(AbsoluteMIDIEvent{m_LastEventTime, ev});
39 void TrackCompilerContext::SortEvents()
44 [] (auto&& lhs, auto&& rhs)
46 return lhs.AbsoluteTime < rhs.AbsoluteTime;
51 const std::vector<AbsoluteMIDIEvent>& TrackCompilerContext::GetEvents() const
56 } // namespace IR2MIDI