began new infrastructure

Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.

Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
This commit is contained in:
itsmattkc
2021-01-05 11:20:38 +11:00
parent 19eabf2830
commit 181235f6ce
152 changed files with 3932 additions and 8166 deletions
+4 -4
View File
@@ -26,7 +26,7 @@
#include <QVariant>
#include "common/timecodefunctions.h"
#include "node/param.h"
#include "node/value.h"
namespace olive {
@@ -44,17 +44,17 @@ public:
QVariant& operator[](const QString&);
NodeParam::DataType GetConfigEntryType(const QString& key) const;
NodeValue::Type GetConfigEntryType(const QString& key) const;
private:
Config();
struct ConfigEntry {
NodeParam::DataType type;
NodeValue::Type type;
QVariant data;
};
void SetEntryInternal(const QString& key, NodeParam::DataType type, const QVariant& data);
void SetEntryInternal(const QString& key, NodeValue::Type type, const QVariant& data);
QMap<QString, ConfigEntry> config_map_;