Currently, all time values used for rendering, transitions and effects are based on the system clock. This makes it impossible to render presets at a different speed, e.g. faster or slower than real time, which, for example, is important when rendering a video.
The following changes are required to enable applications to control projectM's internal timer:
Consolidate all timing in projectM to use a single, per-instance value.
By default, this internal time value will start at 0 and will be updated with the seconds since start on every frame rendered.
Add an API function to set the current run time value from the outside, e.g. before rendering each frame.
If the time setting function is called, projectM will solely use the user-provided value until the instance is destroyed. Not updating the time value will visually pause the current preset.
Currently, all time values used for rendering, transitions and effects are based on the system clock. This makes it impossible to render presets at a different speed, e.g. faster or slower than real time, which, for example, is important when rendering a video.
The following changes are required to enable applications to control projectM's internal timer:
If the time setting function is called, projectM will solely use the user-provided value until the instance is destroyed. Not updating the time value will visually pause the current preset.