Changing Sequencer Section End Range in C++

Hi, bit late but thought I’d explain as the actual answer is not listed here.

Matt Hoffman (programmer at Epic Games building cinematic tools) answered this for me before.

Tick resolution.

24,000 ticks per second at 30fps display rate = 800 ticks per frame, so frame 1 = tick 800

So essentially you have the frames as they’re displayed to the user (the Display Rate frames).

As well as the frames how they’re actually interpreted under the hood. Where frame 1 = 800. This also ties into how there are what the engine calls Sub Frames.
e.g. Make Qualified Frame Time node can have a Sub Frame (float) input.

There are functions for converting times where you can pass it the framerate for DisplayRate/Tick Resolution (which you can get off the UMovieScene) which does the conversion for you and appropriately handles sub-frames, etc.

Some useful nodes to remember (they ofc have c++ equivalents) are Get Display Rate, Get Tick Resolution and MakeQualifiedFrameTime.
Note that you may need to enable the Sequencer Scripting plugin to get these nodes.

Also remember it is possible to change the Desired Tick Interval as well as the Sequence Display Rate (both inside Sequencer if you click on the 30fps button; Desired Tick Interval in Advanced menu).

So I’d definitely recommend using these values to multiply with rather than always multiplying by 800.

That value might work most of the time. But it’s best to make sure it works all the time.

Also yay first post , finally giving back to the forums that helped me many times before! \o/

1 Like