static OBSData OpenServiceSettings(std::string &type) { char serviceJsonPath[512]; int ret = GetProfilePath(serviceJsonPath, sizeof(serviceJsonPath), SERVICE_PATH); if (ret <= 0) return OBSData(); OBSData data = obs_data_create_from_json_file_safe(serviceJsonPath, "bak"); obs_data_release(data); obs_data_set_default_string(data, "type", "rtmp_common"); type = obs_data_get_string(data, "type"); OBSData settings = obs_data_get_obj(data, "settings"); obs_data_release(settings); return settings; }
void BiLiOBSMainWid::mLoad(const char *file) { LoadScene(); LoadAudioDeviceConfig(); LoadFrontendHotkeys(); #if 0 if (!file || !os_file_exists(file)) { blog(LOG_INFO, "No scene file found, creating default scene"); mCreateDefaultScene(true); mSaveProject(); return; } mDisableSaving++; obs_data_t *data = obs_data_create_from_json_file_safe(file, "bak"); if (!data) { mDisableSaving--; blog(LOG_ERROR, "Failed to load '%s', creating default scene", file); mCreateDefaultScene(true); mSaveProject(); return; } mClearSceneData(); obs_data_array_t *sceneOrder = obs_data_get_array(data, "scene_order"); obs_data_array_t *sources = obs_data_get_array(data, "sources"); const char *sceneName = obs_data_get_string(data, "current_scene"); const char *curSceneCollection = config_get_string( App()->mGetGlobalConfig(), "Basic", "SceneCollection"); obs_data_set_default_string(data, "name", curSceneCollection); const char *name = obs_data_get_string(data, "name"); obs_source_t *curScene; if (!name || !*name) name = curSceneCollection; LoadAudioDevice(DESKTOP_AUDIO_1, 1, data); LoadAudioDevice(DESKTOP_AUDIO_2, 2, data); LoadAudioDevice(AUX_AUDIO_1, 3, data); LoadAudioDevice(AUX_AUDIO_2, 4, data); LoadAudioDevice(AUX_AUDIO_3, 5, data); obs_load_sources(sources); if (sceneOrder) mLoadSceneListOrder(sceneOrder); curScene = obs_get_source_by_name(sceneName); obs_set_output_source(0, curScene); obs_source_release(curScene); obs_data_array_release(sources); obs_data_array_release(sceneOrder); std::string file_base = strrchr(file, '/') + 1; file_base.erase(file_base.size() - 5, 5); config_set_string(App()->mGetGlobalConfig(), "Basic", "SceneCollection", name); config_set_string(App()->mGetGlobalConfig(), "Basic", "SceneCollectionFile", file_base.c_str()); obs_data_release(data); mCleanupUnusedSources(); mDisableSaving--; #endif }