Merge branch 'master' into hashremoval

This commit is contained in:
itsmattkc
2022-05-16 09:12:49 -07:00
969 changed files with 4837 additions and 2393 deletions
+33 -6
View File
@@ -1,7 +1,7 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2021 Olive Team
Copyright (C) 2022 Olive 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
@@ -829,14 +829,14 @@ public:
*
* Nodes must be of the same types (i.e. have the same ID)
*/
static void CopyInputs(const Node *source, Node* destination, bool include_connections = true);
static void CopyInputs(const Node *source, Node* destination, bool include_connections = true, MultiUndoCommand *command = nullptr);
static void CopyInput(const Node *src, Node* dst, const QString& input, bool include_connections, bool traverse_arrays);
static void CopyInput(const Node *src, Node* dst, const QString& input, bool include_connections, bool traverse_arrays, MultiUndoCommand *command);
static void CopyValuesOfElement(const Node* src, Node* dst, const QString& input, int src_element, int dst_element);
static void CopyValuesOfElement(const Node* src, Node* dst, const QString& input, int element)
static void CopyValuesOfElement(const Node* src, Node* dst, const QString& input, int src_element, int dst_element, MultiUndoCommand *command = nullptr);
static void CopyValuesOfElement(const Node* src, Node* dst, const QString& input, int element, MultiUndoCommand *command = nullptr)
{
return CopyValuesOfElement(src, dst, input, element, element);
return CopyValuesOfElement(src, dst, input, element, element, command);
}
/**
@@ -884,6 +884,8 @@ public:
return gizmos_;
}
virtual QTransform GizmoTransformation(const NodeValueRow &row, const NodeGlobals &globals) const { return QTransform(); }
virtual void UpdateGizmoPositions(const NodeValueRow &row, const NodeGlobals &globals){}
const QString& GetLabel() const;
@@ -1254,6 +1256,31 @@ private:
int array_size;
};
class ImmediateRemoveAllKeyframesCommand : public UndoCommand
{
public:
ImmediateRemoveAllKeyframesCommand(NodeInputImmediate *immediate) :
immediate_(immediate)
{}
virtual Project* GetRelevantProject() const override { return nullptr; }
protected:
virtual void prepare() override;
virtual void redo() override;
virtual void undo() override;
private:
NodeInputImmediate *immediate_;
QObject memory_manager_;
QVector<NodeKeyframe*> keys_;
};
NodeInputImmediate* CreateImmediate(const QString& input);
NodeInputImmediate* GetImmediate(const QString& input, int element) const;