void obs_load_sources(obs_data_array_t *array) { size_t count; size_t i; if (!obs) return; count = obs_data_array_count(array); pthread_mutex_lock(&obs->data.user_sources_mutex); for (i = 0; i < count; i++) { obs_data_t *source_data = obs_data_array_item(array, i); obs_source_t *source = obs_load_source(source_data); obs_add_source(source); obs_source_release(source); obs_data_release(source_data); } /* tell sources that we want to load */ for (i = 0; i < obs->data.user_sources.num; i++) obs_source_load(obs->data.user_sources.array[i]); pthread_mutex_unlock(&obs->data.user_sources_mutex); }
static void load_script_data(obs_data_t *load_data, bool, void *) { obs_data_array_t *array = obs_data_get_array(load_data, "scripts-tool"); delete scriptData; scriptData = new ScriptData; size_t size = obs_data_array_count(array); for (size_t i = 0; i < size; i++) { obs_data_t *obj = obs_data_array_item(array, i); const char *path = obs_data_get_string(obj, "path"); obs_data_t *settings = obs_data_get_obj(obj, "settings"); obs_script_t *script = obs_script_create(path, settings); if (script) { scriptData->scripts.emplace_back(script); } obs_data_release(settings); obs_data_release(obj); } if (scriptsWindow) scriptsWindow->RefreshLists(); obs_data_array_release(array); }
static inline void load_bindings(obs_hotkey_t *hotkey, obs_data_array_t *data) { const size_t count = obs_data_array_count(data); for (size_t i = 0; i < count; i++) { obs_data_t *item = obs_data_array_item(data, i); load_binding(hotkey, item); obs_data_release(item); } hotkey_signal("hotkey_bindings_changed", hotkey); }
void BiLiOBSMainWid::mLoadSceneListOrder(obs_data_array_t *array) { size_t num = obs_data_array_count(array); for (size_t i = 0; i < num; i++) { obs_data_t *data = obs_data_array_item(array, i); const char *name = obs_data_get_string(data, "name"); // UI Secens ListWidget //ReorderItemByName(ui->scenes, name, (int)i); obs_data_release(data); } }
static void scene_load(void *scene, obs_data_t *settings) { obs_data_array_t *items = obs_data_get_array(settings, "items"); size_t count, i; remove_all_items(scene); if (!items) return; count = obs_data_array_count(items); for (i = 0; i < count; i++) { obs_data_t *item_data = obs_data_array_item(items, i); scene_load_item(scene, item_data); obs_data_release(item_data); } obs_data_array_release(items); }
static void enum_files(obs_data_t *package, bool (*enum_func)(void *param, obs_data_t *file), void *param) { obs_data_array_t *array = obs_data_get_array(package, "files"); size_t num; if (!array) return; num = obs_data_array_count(array); for (size_t i = 0; i < num; i++) { obs_data_t *file = obs_data_array_item(array, i); bool continue_enum = enum_func(param, file); obs_data_release(file); if (!continue_enum) break; } obs_data_array_release(array); }