SceneSwitcher/lib/macro/macro-action.cpp

60 lines
1.0 KiB
C++

#include "macro-action.hpp"
namespace advss {
MacroAction::MacroAction(Macro *m, bool supportsVariableValue)
: MacroSegment(m, supportsVariableValue)
{
}
bool MacroAction::Save(obs_data_t *obj) const
{
MacroSegment::Save(obj);
obs_data_set_string(obj, "id", GetId().c_str());
return true;
}
bool MacroAction::Load(obs_data_t *obj)
{
MacroSegment::Load(obj);
return true;
}
void MacroAction::LogAction() const
{
ablog(LOG_INFO, "performed action %s", GetId().c_str());
}
void MacroAction::ResolveVariablesToFixedValues() {}
std::string_view MacroAction::GetDefaultID()
{
return "scene_switch";
}
MacroRefAction::MacroRefAction(Macro *m, bool supportsVariableValue)
: MacroAction(m, supportsVariableValue)
{
}
bool MacroRefAction::PostLoad()
{
_macro.PostLoad();
return true;
}
MultiMacroRefAction::MultiMacroRefAction(Macro *m, bool supportsVariableValue)
: MacroAction(m, supportsVariableValue)
{
}
bool MultiMacroRefAction::PostLoad()
{
for (auto &macro : _macros) {
macro.PostLoad();
}
return true;
}
} // namespace advss