diff --git a/src/general.cpp b/src/general.cpp index 7ca81dfa..ac78fdfc 100644 --- a/src/general.cpp +++ b/src/general.cpp @@ -577,17 +577,7 @@ void SwitcherData::SaveGeneralSettings(obs_data_t *obj) obs_data_set_bool(obj, "warnPluginLoadFailure", warnPluginLoadFailure); obs_data_set_bool(obj, "hideLegacyTabs", hideLegacyTabs); - obs_data_set_int(obj, "priority0", functionNamesByPriority[0]); - obs_data_set_int(obj, "priority1", functionNamesByPriority[1]); - obs_data_set_int(obj, "priority2", functionNamesByPriority[2]); - obs_data_set_int(obj, "priority3", functionNamesByPriority[3]); - obs_data_set_int(obj, "priority4", functionNamesByPriority[4]); - obs_data_set_int(obj, "priority5", functionNamesByPriority[5]); - obs_data_set_int(obj, "priority6", functionNamesByPriority[6]); - obs_data_set_int(obj, "priority7", functionNamesByPriority[7]); - obs_data_set_int(obj, "priority8", functionNamesByPriority[8]); - obs_data_set_int(obj, "priority9", functionNamesByPriority[9]); - obs_data_set_int(obj, "priority10", functionNamesByPriority[10]); + SaveFunctionPriorities(obj, functionNamesByPriority); obs_data_set_int(obj, "threadPriority", threadPriority); @@ -638,6 +628,7 @@ void SwitcherData::LoadGeneralSettings(obs_data_t *obj) hideLegacyTabs = obs_data_get_bool(obj, "hideLegacyTabs"); SetDefaultFunctionPriorities(obj); + LoadFunctionPriorities(obj, functionNamesByPriority); if (!PrioFuncsValid()) { functionNamesByPriority = GetDefaultFunctionPriorityList(); } diff --git a/src/utils/priority-helper.cpp b/src/utils/priority-helper.cpp index 3ff3430a..fed46816 100644 --- a/src/utils/priority-helper.cpp +++ b/src/utils/priority-helper.cpp @@ -51,6 +51,36 @@ void SetDefaultFunctionPriorities(obs_data_t *obj) obs_data_set_default_int(obj, "priority10", default_priority_10); } +void SaveFunctionPriorities(obs_data_t *obj, std::vector &funcs) +{ + obs_data_set_int(obj, "priority0", funcs[0]); + obs_data_set_int(obj, "priority1", funcs[1]); + obs_data_set_int(obj, "priority2", funcs[2]); + obs_data_set_int(obj, "priority3", funcs[3]); + obs_data_set_int(obj, "priority4", funcs[4]); + obs_data_set_int(obj, "priority5", funcs[5]); + obs_data_set_int(obj, "priority6", funcs[6]); + obs_data_set_int(obj, "priority7", funcs[7]); + obs_data_set_int(obj, "priority8", funcs[8]); + obs_data_set_int(obj, "priority9", funcs[9]); + obs_data_set_int(obj, "priority10", funcs[10]); +} + +void LoadFunctionPriorities(obs_data_t *obj, std::vector &funcs) +{ + funcs[0] = (obs_data_get_int(obj, "priority0")); + funcs[1] = (obs_data_get_int(obj, "priority1")); + funcs[2] = (obs_data_get_int(obj, "priority2")); + funcs[3] = (obs_data_get_int(obj, "priority3")); + funcs[4] = (obs_data_get_int(obj, "priority4")); + funcs[5] = (obs_data_get_int(obj, "priority5")); + funcs[6] = (obs_data_get_int(obj, "priority6")); + funcs[7] = (obs_data_get_int(obj, "priority7")); + funcs[8] = (obs_data_get_int(obj, "priority8")); + funcs[9] = (obs_data_get_int(obj, "priority9")); + funcs[10] = (obs_data_get_int(obj, "priority10")); +} + std::vector GetDefaultFunctionPriorityList() { return {default_priority_0, default_priority_1, default_priority_2, diff --git a/src/utils/priority-helper.hpp b/src/utils/priority-helper.hpp index f73b5aef..40e9460d 100644 --- a/src/utils/priority-helper.hpp +++ b/src/utils/priority-helper.hpp @@ -14,6 +14,8 @@ struct ThreadPrio { std::vector GetDefaultFunctionPriorityList(); void SetDefaultFunctionPriorities(obs_data_t *); +void SaveFunctionPriorities(obs_data_t *, std::vector &); +void LoadFunctionPriorities(obs_data_t *, std::vector &); std::vector GetThreadPrioMapping(); } // namespace advss