Multi shot timing bug #2

Closed
opened 2026-05-31 01:17:57 +00:00 by Brosef · 5 comments
Owner

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.

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.
Brosef added the
Kind/Bug
Priority
High
2
labels 2026-05-31 01:17:57 +00:00
Author
Owner

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.

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.
Author
Owner

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.

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.
Brosef added the due date 2026-06-04 2026-06-04 01:00:39 +00:00
Author
Owner

For reference: the order always seems to be

  • Combined image
  • Environment
  • Player
  • UI

Environment is always enabled, but interestingly, so is Player for some reason, even if both local & remote players are disabled.

For reference: the order always seems to be - Combined image - Environment - Player - UI `Environment` is always enabled, but interestingly, so is `Player` for some reason, even if both local & remote players are disabled.
Brosef referenced this issue from a commit 2026-06-04 03:18:21 +00:00
Author
Owner

Windows is a bitchass motherfucker and I hate it. Apparently on_close just doesn't fucking work.
So we're just gonna have to use on_created. (:

Windows is a bitchass motherfucker and I hate it. Apparently `on_close` just **doesn't fucking work.** *So we're just gonna have to use `on_created`. (:*
Brosef reopened this issue 2026-06-04 15:21:04 +00:00
Author
Owner

Windows problem opened as new issue (#4).

Windows problem opened as new issue (#4).
Sign in to join this conversation.
No description provided.