MCPcopy Create free account
hub / github.com/WarmUpTill/SceneSwitcher / Load

Method Load

lib/utils/scene-selection.cpp:74–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72}
73
74void SceneSelection::Load(obs_data_t *obj, const char *name,
75 const char *typeName)
76{
77 // TODO: Remove in future version
78 if (!obs_data_has_user_value(obj, selectionSaveName.data())) {
79 _type = static_cast<Type>(obs_data_get_int(obj, typeName));
80
81 OBSCanvasAutoRelease mainCanvas = obs_get_main_canvas();
82 _canvas = obs_canvas_get_weak_canvas(mainCanvas);
83 obs_weak_canvas_release(_canvas);
84
85 auto targetName = obs_data_get_string(obj, name);
86 switch (_type) {
87 case Type::SCENE:
88 _scene = getWeakSceneSourceByName(_canvas, targetName);
89 break;
90 case Type::GROUP:
91 _group = GetSceneGroupByName(targetName);
92 break;
93 case Type::PREVIOUS:
94 break;
95 case Type::CURRENT:
96 break;
97 default:
98 break;
99 }
100 return;
101 }
102
103 OBSDataAutoRelease data =
104 obs_data_get_obj(obj, selectionSaveName.data());
105
106 const char *canvasName =
107 obs_data_get_string(data, canvasSaveName.data());
108 _canvas = GetWeakCanvasByName(
109 obs_data_get_string(data, canvasSaveName.data()));
110 if (strcmp(canvasName, "") == 0) {
111 OBSCanvasAutoRelease mainCanvas = obs_get_main_canvas();
112 _canvas = obs_canvas_get_weak_canvas(mainCanvas);
113 obs_weak_canvas_release(_canvas);
114 }
115
116 _type = static_cast<Type>(obs_data_get_int(data, typeSaveName.data()));
117 auto targetName = obs_data_get_string(data, nameSaveName.data());
118 switch (_type) {
119 case Type::SCENE:
120 _scene = getWeakSceneSourceByName(_canvas, targetName);
121 break;
122 case Type::GROUP:
123 _group = GetSceneGroupByName(targetName);
124 break;
125 case Type::PREVIOUS:
126 break;
127 case Type::CURRENT:
128 break;
129 case Type::PREVIEW:
130 break;
131 case Type::VARIABLE:

Callers

nothing calls this directly

Calls 8

obs_get_main_canvasFunction · 0.85
obs_weak_canvas_releaseFunction · 0.85
getWeakSceneSourceByNameFunction · 0.85
GetSceneGroupByNameFunction · 0.85
GetWeakCanvasByNameFunction · 0.85
GetWeakVariableByNameFunction · 0.85
dataMethod · 0.45

Tested by

no test coverage detected