Replay Channel

Replay Channel properties for Script Engine. Plays a replay recording made by a Replay Recorder Target, at any moment and any speed, while the recording goes on. It shows one angle: the newest recording of the Replay Recorder Target chosen in Replay recorder. Every recorder gives one moment the same time-of-day timecode, so changing the angle keeps the moment shown. Its picture can be used in a scene like any input's. While it plays forward at normal speed it plays the angle's recorded sound with the picture; at any other speed, paused or stepping it is silent.

Property Type Access Description
ShowAdvancedOptions bool get/set Show or hide the channel's advanced settings in the editor UI: the settings seldom changed once a project is set up, and the readouts for finding a fault. [default=false].
ReplayRecorder StringCollectionEnum get/set The angle shown: one of the project's Replay Recorder Targets, or a recorder there are recordings of that is not in the project. The channel plays the newest recording of the chosen recorder, which it knows by the recorder itself, so renaming the recorder keeps it. Choosing another recorder keeps the moment shown, so the same moment is seen from the other angle. From a script or the HTTP API, set it to a recorder's name or Id; a name nothing has recorded yet is kept, and shown once it is recorded. None chooses no recorder.
ReplayRecorderId Guid get/set Identity of the recorder chosen in Replay recorder (all zeros for none, or for one chosen by a name no recorder in the project has). Saved with the project; hidden, since Replay recorder stands for it.
ReplayRecorderName string get/set The name the recorder was chosen by. Its recordings are found by this name when ReplayRecorderId is empty. Saved with the project; hidden, since Replay recorder stands for it.
LiveDelayFrames int get/set How far behind the frame being rendered the channel plays when live, in frames [min=2, max=25, default=3]. The newest frames are still being written; too small a delay shows a frame late now and then.
AtClipEnd ReplayClipEnd get/set What the channel does when a clip has played to its end and its last frame is on screen: pause on that frame, show no picture until the channel is played, stepped, cued or taken live, play the clip after it in the clip bin at the same speed (after the last clip, pause), or go live.
WhenLoaded ReplayLoadedOutput get/set What the channel shows once the project is loaded, from the first recording of its replay recorder, until it is first played, paused, stepped, cued, taken live or given a clip: no picture, its playhead following live meanwhile, so that whichever is done first starts from the moment being recorded; the newest frame recorded then, paused; or live. A project loaded into a running Composer shows the same as one Composer starts with: the recordings made before it was loaded are not shown, though clips still play from them.
ClipEventCallback string get/set Name of a script function to call as a clip plays: when its first frame is on screen, when it has one second left to play at the speed it plays at, when its last frame is on screen, and on the frame after that, once the clip has ended; or, when Stop ends the clip before that, once on the frame after the stop. It is given a JSON text with EventType (FirstFrame, OneSecondLeft, LastFrame, EndOfClip or Stop), the clip's Name, Duration, In and Out as the clip bin has them, its Frames and the FramesLeft of them, the Speed it plays at (0 for a clip cued, negative backwards, when it starts on its out frame and ends on its in frame) and the Channel's name. A clip ended early by a step, a jump, going live or another clip, also by the function itself, calls it no more. An error in the function stops the Script Engine, as any script error does. Leave empty to call nothing.
ClipTimeCallbackAt string get/set How far into a clip On clip time is called, HH:MM:SS:FF, counted from the clip's first frame in the clip's recorded time, as its Duration is: drop-frame at 29.97 and 59.94. Speed does not change the moment, so at 0.5x 00:00:02:00 comes four seconds after the first frame, and at 2x one second after. The colons may be left out, ; or . is taken as :, and empty calls nothing. Anything else is refused and leaves it as it was. It is read as a clip is played, so a change applies from the next clip.
ClipTimeCallback string get/set Name of a script function to call once a clip has played to Clip time from its first frame: its in, or its out when it plays backwards. It is called once per clip, not while the clip is paused or cued, and not at all when Clip time is as long as the clip's Duration or longer (its last frame is one frame short of that), or when the clip is ended before it: by Stop, a step, a jump, going live or another clip, also by a script function. Another angle chosen meanwhile never takes it to a moment outside the clip. It is given a JSON text with EventType ClipTime, ClipTime (the Clip time it was called at), and the clip's Name, Duration, In, Out, Frames, FramesLeft, Speed and the Channel's name, as On clip event is. An error in the function stops the Script Engine, as any script error does. Leave empty to call nothing.
GoToStartCommand Command get Pauses on the first frame recorded.
StepBack30Command Command get Steps back 30 recorded frames and pauses, at most to the first frame recorded.
StepBackCommand Command get Steps back one recorded frame and pauses.
PlayCommand Command get Plays from the frame shown: forward at 1x, or at the Speed set while the channel showed no picture. Before the channel's recording has a frame, it plays from live once there is one.
PauseCommand Command get Pauses on the frame shown; before the channel's recording has a frame, at live once there is one.
StopCommand Command get Stops: ends a clip playing and shows no picture, so the channel is transparent in its scene, until it is played, paused, stepped, cued or taken live. Playing, pausing or stepping goes on from the frame shown when it stopped. Setting Speed does not play it: Play then plays at that speed.
StepForwardCommand Command get Steps forward one recorded frame and pauses, at most to the newest frame recorded.
StepForward30Command Command get Steps forward 30 recorded frames and pauses, at most to the newest frame recorded.
PlaybackStatus string get What the channel is doing (read-only): Live, Playing 0.5x, Reverse 1x, Paused, End of recording or Start of recording (playing, at the end or the start of a recording that has stopped), or why there is nothing to show.
Timecode TimeCode get The time-of-day timecode of the frame on screen (read-only), as every recorder of that moment stamped it; zero when nothing is shown. At 29.97 and 59.94 its frames are counted drop-frame.
GoLiveCommand Command get Goes live: plays at 1x, Live delay (frames) behind the frame being rendered. On a recording that has stopped, pauses on its last frame.
Speed double get/set Playback speed: -2, -1, -0.5, -0.25, 0 (paused), 0.25, 0.5, 1 or 2 [min=-2, max=2]. A value between these is taken to the nearest; negative plays backwards. Playing forward into live goes on at 1x. At the end or the start of a recording that has stopped, its frame there is held at the speed set. While the channel shows no picture (Playback status No output: stopped, or as At clip end or When loaded says) setting it does not play: the channel stays as it is and Play plays at that speed. A speed played at before the channel's recording has a frame, as just after its replay recorder starts, is played from live once there is one.
CueTimecode string get/set A time-of-day timecode to go to, HH:MM:SS:FF; Go to pauses on the frame recorded at it. The colons may be left out, ; or . is taken as :, and empty clears it. Anything else is refused and leaves it as it was.
GoToCommand Command get Pauses on the frame recorded at Go to timecode, or on the frame before it when that one was not recorded. Nothing changes when the recording has no frame there.
TimeLeft TimeCode get The time left of the clip playing (read-only): from the frame the channel is on to the frame the clip ends on, both counted, so the clip's duration on its first frame, one frame on its last, and zero once it has ended or when no clip is playing. Playing forward a clip ends on its out frame, backwards on its in frame; paused, it counts towards the end it was played towards, and cued, towards its out. It is the clip's recorded time, which a speed other than 1x plays in more or less time, counted as the clip's duration is: drop-frame at 29.97 and 59.94.
Sequence long get The engine frame sequence of the frame on screen (read-only): the number every recorder gave that rendered frame. -1 when nothing is shown.
FramesMissed int get Rendered frames that showed an earlier frame than the playhead while playing, because the frame due was not decoded in time (read-only). Anything above 0 during 1x playback means the GPU or the disk fell behind.
RecordingFolder string get The folder of the recording shown (read-only).

Inherits from: AbstractInput, AbstractAudioProcessing, AbstractAudioMetering, NamedModel.

See also: Replay Channel in Inputs — user-facing introduction, screenshots, and section summaries.