mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Request: Add CreateScene
This commit is contained in:
parent
5d12dfa368
commit
f1371034f7
@ -46,6 +46,7 @@ const QHash<QString, RpcMethodHandler> WSRequestHandler::messageMap {
|
||||
{ "SetCurrentScene", &WSRequestHandler::SetCurrentScene },
|
||||
{ "GetCurrentScene", &WSRequestHandler::GetCurrentScene },
|
||||
{ "GetSceneList", &WSRequestHandler::GetSceneList },
|
||||
{ "CreateScene", &WSRequestHandler::CreateScene },
|
||||
{ "SetSceneTransitionOverride", &WSRequestHandler::SetSceneTransitionOverride },
|
||||
{ "RemoveSceneTransitionOverride", &WSRequestHandler::RemoveSceneTransitionOverride },
|
||||
{ "GetSceneTransitionOverride", &WSRequestHandler::GetSceneTransitionOverride },
|
||||
|
@ -64,6 +64,7 @@ class WSRequestHandler {
|
||||
RpcResponse SetCurrentScene(const RpcRequest&);
|
||||
RpcResponse GetCurrentScene(const RpcRequest&);
|
||||
RpcResponse GetSceneList(const RpcRequest&);
|
||||
RpcResponse CreateScene(const RpcRequest&);
|
||||
RpcResponse SetSceneTransitionOverride(const RpcRequest&);
|
||||
RpcResponse RemoveSceneTransitionOverride(const RpcRequest&);
|
||||
RpcResponse GetSceneTransitionOverride(const RpcRequest&);
|
||||
|
@ -79,6 +79,31 @@ RpcResponse WSRequestHandler::GetSceneList(const RpcRequest& request) {
|
||||
return request.success(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new scene scene.
|
||||
*
|
||||
* @param {String} `scene-name` Name of the scene to create.
|
||||
*
|
||||
* @api requests
|
||||
* @name CreateScene
|
||||
* @category scenes
|
||||
* @since 4.8.0
|
||||
*/
|
||||
RpcResponse WSRequestHandler::CreateScene(const RpcRequest& request) {
|
||||
if (!request.hasField("sceneName")) {
|
||||
return request.failed("missing request parameters");
|
||||
}
|
||||
|
||||
const char* sceneName = obs_data_get_string(request.parameters(), "sceneName");
|
||||
OBSSourceAutoRelease source = obs_get_source_by_name(sceneName);
|
||||
|
||||
if (source) {
|
||||
return request.failed("scene with this name already exists");
|
||||
}
|
||||
obs_scene_create(sceneName);
|
||||
return request.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the order of scene items in the requested scene.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user