From 3d4b69848cb19384363f1468f0a48d7a308a2c06 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sat, 14 Jan 2023 19:00:53 +0100 Subject: [PATCH] Enable getting variable values from filter condition --- src/macro-core/macro-condition-filter.cpp | 8 ++++++++ src/macro-core/macro-condition-filter.hpp | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/macro-core/macro-condition-filter.cpp b/src/macro-core/macro-condition-filter.cpp index cf3aa27e..99d13253 100644 --- a/src/macro-core/macro-condition-filter.cpp +++ b/src/macro-core/macro-condition-filter.cpp @@ -54,12 +54,20 @@ bool MacroConditionFilter::CheckCondition() break; case Condition::SETTINGS: ret = compareSourceSettings(_filter, _settings, _regex); + if (IsReferencedInVars()) { + SetVariableValue(getSourceSettings(_filter)); + } break; default: break; } obs_source_release(s); + + if (GetVariableValue().empty()) { + SetVariableValue(ret ? "true" : "false"); + } + return ret; } diff --git a/src/macro-core/macro-condition-filter.hpp b/src/macro-core/macro-condition-filter.hpp index 6e30cc03..4b22e90e 100644 --- a/src/macro-core/macro-condition-filter.hpp +++ b/src/macro-core/macro-condition-filter.hpp @@ -10,7 +10,7 @@ class MacroConditionFilter : public MacroCondition { public: - MacroConditionFilter(Macro *m) : MacroCondition(m) {} + MacroConditionFilter(Macro *m) : MacroCondition(m, true) {} bool CheckCondition(); bool Save(obs_data_t *obj) const; bool Load(obs_data_t *obj);