File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -239,7 +239,8 @@ RequestResult RequestHandler::SetCurrentPreviewScene(const Request &request)
239239/* *
240240 * Creates a new scene in OBS.
241241 *
242- * @requestField sceneName | String | Name for the new scene
242+ * @requestField ?canvasUuid | String | UUID of the canvas to create the new scene in. Leave default to assume main canvas
243+ * @requestField sceneName | String | Name for the new scene
243244 *
244245 * @responseField sceneUuid | String | UUID of the created scene
245246 *
@@ -259,11 +260,15 @@ RequestResult RequestHandler::CreateScene(const Request &request)
259260
260261 std::string sceneName = request.RequestData [" sceneName" ];
261262
262- OBSSourceAutoRelease scene = obs_get_source_by_name (sceneName.c_str ());
263+ OBSCanvasAutoRelease canvas = request.GetCanvas (" canvasUuid" , statusCode, comment);
264+ if (!canvas)
265+ return RequestResult::Error (statusCode, comment);
266+
267+ OBSSourceAutoRelease scene = obs_canvas_get_source_by_name (canvas, sceneName.c_str ());
263268 if (scene)
264269 return RequestResult::Error (RequestStatus::ResourceAlreadyExists, " A source already exists by that scene name." );
265270
266- OBSSceneAutoRelease createdScene = obs_scene_create ( sceneName.c_str ());
271+ OBSSceneAutoRelease createdScene = obs_canvas_scene_create (canvas, sceneName.c_str ());
267272 if (!createdScene)
268273 return RequestResult::Error (RequestStatus::ResourceCreationFailed, " Failed to create the scene." );
269274
You can’t perform that action at this time.
0 commit comments