projectm icon indicating copy to clipboard operation
projectm copied to clipboard

Add the ability to control the actual running time from the outside.

Open kblaschke opened this issue 2 years ago • 1 comments

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.

kblaschke avatar Nov 01 '23 22:11 kblaschke

Yes this would go great with the gst plugin

revmischa avatar Nov 02 '23 16:11 revmischa