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
+5 -8
View File
@@ -24,20 +24,17 @@ namespace olive {
MathNode::MathNode()
{
method_in_ = new NodeInput(QStringLiteral("method_in"), NodeParam::kCombo);
method_in_->set_connectable(false);
method_in_->set_is_keyframable(false);
AddInput(method_in_);
method_in_ = new NodeInput(this, QStringLiteral("method_in"), NodeValue::kCombo);
method_in_->SetConnectable(false);
method_in_->SetKeyframable(false);
param_a_in_ = new NodeInput(QStringLiteral("param_a_in"), NodeParam::kFloat, 0.0);
param_a_in_ = new NodeInput(this, QStringLiteral("param_a_in"), NodeValue::kFloat, 0.0);
param_a_in_->setProperty("decimalplaces", 8);
param_a_in_->setProperty("autotrim", true);
AddInput(param_a_in_);
param_b_in_ = new NodeInput(QStringLiteral("param_b_in"), NodeParam::kFloat, 0.0);
param_b_in_ = new NodeInput(this, QStringLiteral("param_b_in"), NodeValue::kFloat, 0.0);
param_b_in_->setProperty("decimalplaces", 8);
param_b_in_->setProperty("autotrim", true);
AddInput(param_b_in_);
}
Node *MathNode::copy() const