Open BryanCrotaz opened 1 year ago
The vMix API only provides data on the Duration (total runtime of the replay recording), and Position (Current point within that recording), and the time remaining variable is simply duration - position.
vMix does not provide us ANY data about replay events. We don't know how many events there are, their start/stop points, which may be playing, how long is left on the current event/group of events, etc... We can't display data that vMix doesn't provide us with.
So what does the input_replay_remaining variable output by this module represent? I would have thought it would be as you described, duration
But instead it appears to be total recorded time. It counts up including during playback.
As long as the replay is recording, the duration
of that input will increase.
The position
will change based on the playhead. So if you play an event the playhead will jump to that position and increase until the end of the event.
A couple things to keep in mind, there are 2 replay channels, so input_replay_remaining
will be whichever input you have named replay
. If the A and B replay channels are not linked they will be independent of eachother so will have different remaining times. Also, there's an option to Show live sources in Replay A and B when in Live mode
, while this will look like the replay inputs are playing it does not impact the playhead and so will not change the position
.
If you look at the Instant Replay Controller in vMix, the playhead at the bottom is the position
, so if input_replay_remaining
is counting up, that would indicate you're either recording and the playhead isn't playing forward at the same speed. or you're playing in reverse.
Ah so remaining is to the end of the recording, not to the end of the current event. Well that's a shame. Not quite sure why that would be useful!
I wanted to trigger automatically cutting back to the previous content when the event finished. I guess that isn't possible without new info from the VMix api.
Input 7 & 8 are my two replay channels
Set a button text to
$(vmix:input_7_remaining_ss)
Expected Displays remaining duration of current replay event. If the event is 5 seconds long, expect the button to count down from 5 to 0.
Actual Displays total recorded duration. Pause recording and time stops ticking. Start recording again and time starts ticking again.