Frame Recorder

Simple utility for recording frame sequences at a specified FPS. Useful for creating frame sequences for VideoPlayer or debugging.

Example usage:

{$I WaspLib/osrs.simba}
{$I WaspLib/tools/framerecorder.simba}
var
  frames: TFrameRecorder;
begin
  frames.Start(25); // 25 FPS
  frames.Run();     // Starts capture loop (press ESC to stop)
end;

type TFrameRecorder

TFrameRecorder = record
  FPS: Integer;
  Directory: String;
  FrameCount: Integer;
end;

Simple record for recording frame sequences.


TFrameRecorder.Start

procedure TFrameRecorder.Start(fps: Integer = 25; dir: String = '');

Initializes the frame recorder.

Parameters:

  • fps: Frames per second to capture (default: 25)

  • dir: Directory to save frames (default: auto-generated with timestamp)


TFrameRecorder.Run

procedure TFrameRecorder.Run();

Starts the recording loop. Press ESC to stop. Saves frames as padded sequential numbers (00001.png, 00002.png, etc.)