The Player component is capable of playing back data step by step – or more accurately sample by sample.
Remember RTMaps is not based on a central (or even per-stream) periodic sample time but on asynchronous timestamped events.
This means that a step by step playback cannot be implemented with a fixed-time jump: events may always happen during any time interval.
In other words, the time must flow !
This explains the RTMaps implementation for step by step playback: when the user clicks the Next button, time flow resumes and then stops again when the next sample has been played back. This affects the central RTMaps clock so all streams are concerned.
How to use
RTMaps makes it possible to choose which streams are played back in a step by step fashion, pausing the time at each sample. To activate step by step playback on a stream, check its autopause property. Stream playback properties are visible after selecting the corresponding Player’s output (not the Player itself):
Other streams are played back normally, according to the RTMaps time flow. Time consistency between different streams is preserved: all streams follow the RTMaps clock, and the autopause streams sometimes pause it.
Autopause is false by default, which means no output will pause the time, and step by step playback is deactivated, so the Previous and Next buttons in the VCR are deactivated:
Those buttons are only activated when at least one of the Players’ outputs is in autopause mode.
Click Help > Key Assist to check the relevant keyboard shortcuts. Please note they will only work if the main RTMaps window has focus, not the viewers. By default:
- Next: Ctrl + PageUp (hold to repeat!)
- Previous: Ctrl + PageDown (hold to repeat!)
- Pause / Unpause: Ctrl + Space. Warning: unpausing exits step by step mode; you may use Next instead
By default, when you run the diagram, time won’t stop at the first autopause sample: step by step playback only happens when you click Previous or Next. To run your diagram step by step from the beginning, click Next before running.
Do not forget to set the “Time lag” property on the Player to “infinite”. Indeed, the “Time lag” property of the Player defines the delay the Player waits until it is allowed to drop lines in the .rec file in order to catch up with the RTMaps clock. In such case it emits warning messages in the console like “Player can’t stand real-time replay. Skipping data…”.