created block node type

This commit is contained in:
itsmattkc
2019-05-17 18:44:54 +10:00
parent d3b00efc93
commit 13a393486b
2 changed files with 66 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#include "nodeblock.h"
NodeBlock::NodeBlock(NodeGraph *graph) :
Node(graph)
{
previous_block_ = new NodeIO(this, "prev_block", tr("Previous"), true, false);
previous_block_->AddAcceptedNodeInput(olive::nodes::kBlock);
AddParameter(previous_block_);
next_block_ = new NodeIO(this, "next_block", tr("Next"), true, false);
previous_block_->SetOutputDataType(olive::nodes::kBlock);
AddParameter(next_block_);
}
QString NodeBlock::name()
{
return tr("Block");
}
QString NodeBlock::id()
{
return "block";
}
NodeBlock *NodeBlock::previous_block()
{
}
+37
View File
@@ -0,0 +1,37 @@
#ifndef NODEBLOCK_H
#define NODEBLOCK_H
#include "global/rational.h"
#include "nodes/node.h"
/**
* @brief The NodeBlock class
*
* A "Block" node is a node with a timed in-point and out-point that can appear on the Timeline.
*/
class NodeBlock : public Node
{
Q_OBJECT
public:
NodeBlock(NodeGraph* graph);
const olive::rational& track_in();
const olive::rational& track_out();
const olive::rational& length();
void set_length(const olive::rational& l);
virtual QString name() override;
virtual QString id() override;
NodeBlock* previous_block();
NodeBlock* next_block();
private:
olive::rational length_;
NodeIO* previous_block_;
NodeIO* next_block_;
};
#endif // NODEBLOCK_H