浏览代码

UI: Use empty scene for new scene collection

The user may not want their audio or their display to be captured when
creating a new scene collection.  Make new scene collections default to
fully empty.
jp9000 10 年之前
父节点
当前提交
01e7a3c621
共有 3 个文件被更改,包括 7 次插入6 次删除
  1. 1 1
      obs/window-basic-main-scene-collections.cpp
  2. 5 4
      obs/window-basic-main.cpp
  3. 1 1
      obs/window-basic-main.hpp

+ 1 - 1
obs/window-basic-main-scene-collections.cpp

@@ -165,7 +165,7 @@ void OBSBasic::AddSceneCollection(bool create_new)
 	config_set_string(App()->GlobalConfig(), "Basic", "SceneCollectionFile",
 	config_set_string(App()->GlobalConfig(), "Basic", "SceneCollectionFile",
 			file.c_str());
 			file.c_str());
 	if (create_new) {
 	if (create_new) {
-		CreateDefaultScene();
+		CreateDefaultScene(false);
 	}
 	}
 	SaveProjectNow();
 	SaveProjectNow();
 	RefreshSceneCollections();
 	RefreshSceneCollections();

+ 5 - 4
obs/window-basic-main.cpp

@@ -384,7 +384,7 @@ void OBSBasic::CreateFirstRunSources(obs_scene_t *scene)
 				Str("Basic.AuxDevice1"), 3);
 				Str("Basic.AuxDevice1"), 3);
 }
 }
 
 
-void OBSBasic::CreateDefaultScene()
+void OBSBasic::CreateDefaultScene(bool firstStart)
 {
 {
 	disableSaving++;
 	disableSaving++;
 
 
@@ -395,7 +395,8 @@ void OBSBasic::CreateDefaultScene()
 
 
 	obs_add_source(source);
 	obs_add_source(source);
 
 
-	CreateFirstRunSources(scene);
+	if (firstStart)
+		CreateFirstRunSources(scene);
 
 
 	obs_set_output_source(0, obs_scene_get_source(scene));
 	obs_set_output_source(0, obs_scene_get_source(scene));
 	obs_scene_release(scene);
 	obs_scene_release(scene);
@@ -460,7 +461,7 @@ void OBSBasic::Load(const char *file)
 {
 {
 	if (!file || !os_file_exists(file)) {
 	if (!file || !os_file_exists(file)) {
 		blog(LOG_INFO, "No scene file found, creating default scene");
 		blog(LOG_INFO, "No scene file found, creating default scene");
-		CreateDefaultScene();
+		CreateDefaultScene(true);
 		SaveProject();
 		SaveProject();
 		return;
 		return;
 	}
 	}
@@ -472,7 +473,7 @@ void OBSBasic::Load(const char *file)
 		disableSaving--;
 		disableSaving--;
 		blog(LOG_ERROR, "Failed to load '%s', creating default scene",
 		blog(LOG_ERROR, "Failed to load '%s', creating default scene",
 				file);
 				file);
-		CreateDefaultScene();
+		CreateDefaultScene(true);
 		SaveProject();
 		SaveProject();
 		return;
 		return;
 	}
 	}

+ 1 - 1
obs/window-basic-main.hpp

@@ -114,7 +114,7 @@ private:
 	void          SetupEncoders();
 	void          SetupEncoders();
 
 
 	void          CreateFirstRunSources(obs_scene_t *scene);
 	void          CreateFirstRunSources(obs_scene_t *scene);
-	void          CreateDefaultScene();
+	void          CreateDefaultScene(bool firstStart);
 
 
 	void          ClearVolumeControls();
 	void          ClearVolumeControls();