timeline/various: implemented block copy/paste

Implemented the ability to copy/paste blocks/clips in the timeline. This did
require some large scale changes and reworking of the copy/paste system
introduced a few commits ago, but should be largely functional now.
This commit is contained in:
itsmattkc
2020-03-31 02:19:05 +11:00
parent 67d8ad571d
commit 2bda306866
35 changed files with 466 additions and 233 deletions
+2 -11
View File
@@ -27,6 +27,7 @@
#include <QXmlStreamWriter>
#include "common/rational.h"
#include "common/xmlutils.h"
#include "node/edge.h"
class Node;
@@ -222,20 +223,10 @@ public:
virtual ~NodeParam() override;
struct SerializedConnection {
NodeInput* input;
quintptr output;
};
struct FootageConnection {
NodeInput* input;
quintptr footage;
};
/**
* @brief Load function
*/
virtual void Load(QXmlStreamReader* reader, QHash<quintptr, NodeOutput*>& param_ptrs, QList<SerializedConnection> &input_connections, QList<FootageConnection>& footage_connections, const QAtomicInt* cancelled) = 0;
virtual void Load(QXmlStreamReader* reader, XMLNodeData& xml_node_data, const QAtomicInt* cancelled) = 0;
/**
* @brief Save function