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 -5
View File
@@ -23,7 +23,6 @@
#include <QCheckBox>
#include <QHeaderView>
#include "node/param.h"
#include "nodetabletraverser.h"
namespace olive {
@@ -130,7 +129,7 @@ void NodeTableView::SetTime(const rational &time)
QTreeWidgetItem* sub_item = input_item->child(j);
// Set data type name
sub_item->setText(0, NodeParam::GetPrettyDataTypeName(value.type()));
sub_item->setText(0, NodeValue::GetPrettyDataTypeName(value.type()));
// Determine source
QString source_name;
@@ -142,7 +141,7 @@ void NodeTableView::SetTime(const rational &time)
sub_item->setText(1, source_name);
switch (value.type()) {
case NodeParam::kTexture:
case NodeValue::kTexture:
{
// NodeTableTraverser puts video params in here
for (int k=0;k<VideoParams::kRGBAChannelCount;k++) {
@@ -152,9 +151,9 @@ void NodeTableView::SetTime(const rational &time)
}
default:
{
QVector<QVariant> split_values = input->split_normal_value_into_track_values(value.data());
QVector<QVariant> split_values = NodeValue::split_normal_value_into_track_values(input->GetDataType(), value.data());
for (int k=0;k<split_values.size();k++) {
sub_item->setText(2 + k, NodeInput::ValueToString(value.type(), split_values.at(k), true));
sub_item->setText(2 + k, NodeValue::ValueToString(value.type(), split_values.at(k), true));
}
}
}