mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
scene item requests: defer updates to avoid triggering several transform events at once
This commit is contained in:
parent
1e19cf7ccc
commit
bfb5570b7a
@ -119,6 +119,8 @@ HandlerResponse WSRequestHandler::HandleSetSceneItemProperties(WSRequestHandler*
|
||||
bool badRequest = false;
|
||||
OBSDataAutoRelease errorMessage = obs_data_create();
|
||||
|
||||
obs_sceneitem_defer_update_begin(sceneItem);
|
||||
|
||||
if (req->hasField("position")) {
|
||||
vec2 oldPosition;
|
||||
OBSDataAutoRelease positionError = obs_data_create();
|
||||
@ -248,6 +250,8 @@ HandlerResponse WSRequestHandler::HandleSetSceneItemProperties(WSRequestHandler*
|
||||
}
|
||||
}
|
||||
|
||||
obs_sceneitem_defer_update_end(sceneItem);
|
||||
|
||||
if (badRequest) {
|
||||
return req->SendErrorResponse(errorMessage);
|
||||
}
|
||||
@ -430,8 +434,13 @@ HandlerResponse WSRequestHandler::HandleSetSceneItemTransform(WSRequestHandler*
|
||||
return req->SendErrorResponse("specified scene item doesn't exist");
|
||||
}
|
||||
|
||||
obs_sceneitem_defer_update_begin(sceneItem);
|
||||
|
||||
obs_sceneitem_set_scale(sceneItem, &scale);
|
||||
obs_sceneitem_set_rot(sceneItem, rotation);
|
||||
|
||||
obs_sceneitem_defer_update_end(sceneItem);
|
||||
|
||||
return req->SendOKResponse();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user