Question about: v2 midi polling::InputQueue.shift() to trypop()

Was recompiling my private module collection for v2 and noticed the interface of the class changed around a bit with the new frame based timing implementation. Didn’t see a mention in the migration tutorial so i thought i’d put it here.

For me the significant change concerned the polling approach using bool shift(Message* message); implemented in Rack/midi.cpp at v1 · VCVRack/Rack · GitHub to bool tryPop(Message* messageOut, int64_t maxFrame); implemented in Rack/midi.cpp at v2 · VCVRack/Rack · GitHub

This intuitively only returns messages passing the “if (msg.getFrame() <= maxFrame)” check, so I assume the best approach is to supply “now” maxFrame as calculated in the “// Set timestamp to now if unset” branch of void InputDevice::onMessage(const Message& message) for the current process() context? Or is there some hidden semantic or tricky behavior i’m missing?