Multi shot timing bug #2
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Multi shot currently assumes how long it takes for the user's client to save pictures, causing multi shot to attempt to take another picture before the client is ready.
This could be fixed by watching file close events, and only considering the camera to be "free" after the last close was around 1s ago.
That idea won't work, the issue isn't writing the images, it's rendering them.
In other words, the capture is started, then the render begins which takes a long time, then the write (create followed by close) takes literally no time.
The only solution I can possibly think of is to wait until the last picture has been closed, which is exactly when the camera is available, but the problem is while the order of the pictures seems to be consistent, we don't know what layers are enabled.
VRChat does send OSC messages when the different layers are toggled, but not when the camera is opened.
This means for multi-shot to work, we need to override the visible layers and keep track of them ourselves.
Once we know what layers are enabled, we can wait for the last one in the series to be closed, and as a fall-back have a timeout of like 5-10 seconds.
For reference: the order always seems to be
Environmentis always enabled, but interestingly, so isPlayerfor some reason, even if both local & remote players are disabled.Windows is a bitchass motherfucker and I hate it. Apparently
on_closejust doesn't fucking work.So we're just gonna have to use
on_created. (:Windows problem opened as new issue (#4).