8#include "plugins/plugin_group.h"
9#include "structure/tracks/automation_tracklist.h"
12#include <QUndoCommand>
14namespace zrythm::commands
26 static constexpr int CommandId = 1775263310;
48 void undo ()
override;
49 void redo ()
override;
51 int id ()
const override {
return CommandId; }
54 void remove_plugin_automation (
55 const plugins::PluginUuidReference &plugin_ref,
58 std::vector<PluginRemoveInfo> plugin_infos_;
61 struct RemovedAutomation
64 std::vector<utils::QObjectUniquePtr<structure::tracks::AutomationTrackHolder>>
67 std::vector<RemovedAutomation> removed_automation_;
RemovePluginsCommand(std::vector< PluginRemoveInfo > plugin_infos)
Constructs a command to remove plugins.
A flexible container for plugins and nested plugin groups.
A container that manages a list of automation tracks.
Per-plugin info for the removal.
plugins::PluginUuidReference plugin_ref
Reference to the plugin being removed.
plugins::PluginGroup * source_group
Group the plugin belongs to.
int index_in_source
Index of the plugin in its group (saved during redo).
structure::tracks::AutomationTracklist * source_atl
Automation tracklist for the owning track (may be null).