Enable getting variable values from source condition

This commit is contained in:
WarmUpTill 2023-01-14 19:23:30 +01:00 committed by WarmUpTill
parent f1cdab80a9
commit e9f4ac7ca7
2 changed files with 9 additions and 1 deletions

View File

@ -38,6 +38,10 @@ bool MacroConditionSource::CheckCondition()
case SourceCondition::SETTINGS:
ret = compareSourceSettings(_source.GetSource(), _settings,
_regex);
if (IsReferencedInVars()) {
SetVariableValue(
getSourceSettings(_source.GetSource()));
}
break;
default:
break;
@ -45,6 +49,10 @@ bool MacroConditionSource::CheckCondition()
obs_source_release(s);
if (GetVariableValue().empty()) {
SetVariableValue(ret ? "true" : "false");
}
return ret;
}

View File

@ -16,7 +16,7 @@ enum class SourceCondition {
class MacroConditionSource : public MacroCondition {
public:
MacroConditionSource(Macro *m) : MacroCondition(m) {}
MacroConditionSource(Macro *m) : MacroCondition(m, true) {}
bool CheckCondition();
bool Save(obs_data_t *obj) const;
bool Load(obs_data_t *obj);