| 72 | } |
| 73 | |
| 74 | void 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: |
nothing calls this directly
no test coverage detected