/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
*/
#include "paraminstance.h"
#include "OlivePluginInstance.h"
namespace olive
{
namespace plugin
{
void SubmitUndoCommand(const std::shared_ptr &node,
UndoCommand *command, const QString &label)
{
if (!command) {
return;
}
if (node) {
auto *instance = node->getPluginInstance();
auto *olive_instance =
dynamic_cast(instance);
if (olive_instance) {
olive_instance->SubmitUndoCommand(command, label);
return;
}
}
Core::instance()->undo_stack()->push(command, label);
}
}
}