diff --git a/app/node/block/block.cpp b/app/node/block/block.cpp index 5f02dd668..5686a099c 100644 --- a/app/node/block/block.cpp +++ b/app/node/block/block.cpp @@ -23,13 +23,9 @@ #include Block::Block() : + previous_(nullptr), next_(nullptr) { - previous_input_ = new NodeInput("prev_in"); - previous_input_->set_data_type(NodeParam::kBlock); - previous_input_->set_dependent(false); - AddParameter(previous_input_); - block_output_ = new NodeOutput("this_out"); AddParameter(block_output_); @@ -84,7 +80,7 @@ void Block::set_length_and_media_in(const rational &length) Block *Block::previous() { - return ValueToPtr(previous_input_->get_realtime_value_of_connected_output()); + return previous_; } Block *Block::next() @@ -92,11 +88,6 @@ Block *Block::next() return next_; } -NodeInput *Block::previous_input() -{ - return previous_input_; -} - QVariant Block::Value(NodeOutput *output) { if (output == block_output_) { @@ -107,31 +98,6 @@ QVariant Block::Value(NodeOutput *output) return 0; } -void Block::EdgeAddedSlot(NodeEdgePtr edge) -{ - if (edge->input() == previous_input()) { - // FIXME: No protection for if this connection is not a block - static_cast(edge->output()->parent())->next_ = this; - - // The blocks surrounding this one have changed, we need to Refresh() - Refresh(); - - // Entire track will have shifted, so the whole cache needs to be re-validated - SendInvalidateCache(0, RATIONAL_MAX); - } -} - -void Block::EdgeRemovedSlot(NodeEdgePtr edge) -{ - if (edge->input() == previous_input()) { - // FIXME: No protection for if this connection is not a block - static_cast(edge->output()->parent())->next_ = nullptr; - - // The blocks surrounding this one have changed, we need to Refresh() - Refresh(); - } -} - void Block::Refresh() { // Set in point to the out point of the previous Node @@ -161,14 +127,14 @@ NodeOutput *Block::block_output() return block_output_; } -void Block::ConnectBlocks(Block *previous, Block *next) +void Block::ConnectBlocks(Block *, Block *) { - NodeParam::ConnectEdge(previous->block_output(), next->previous_input()); + //NodeParam::ConnectEdge(previous->block_output(), next->previous_input()); } -void Block::DisconnectBlocks(Block *previous, Block *next) +void Block::DisconnectBlocks(Block *, Block *) { - NodeParam::DisconnectEdge(previous->block_output(), next->previous_input()); + //NodeParam::DisconnectEdge(previous->block_output(), next->previous_input()); } const rational &Block::media_in() diff --git a/app/node/block/block.h b/app/node/block/block.h index dd94bd32e..2e012d3fa 100644 --- a/app/node/block/block.h +++ b/app/node/block/block.h @@ -59,8 +59,6 @@ public: Block* previous(); Block* next(); - NodeInput* previous_input(); - NodeOutput* buffer_output(); NodeOutput* block_output(); @@ -116,29 +114,22 @@ protected: static void CopyParameters(Block* source, Block* dest); private: - NodeInput* previous_input_; NodeOutput* block_output_; - NodeOutput* buffer_output_; rational in_point_; rational out_point_; rational length_; - rational media_in_; + Block* previous_; Block* next_; QString block_name_; QVector linked_clips_; -private slots: - void EdgeAddedSlot(NodeEdgePtr edge); - - void EdgeRemovedSlot(NodeEdgePtr edge); - }; #endif // BLOCK_H diff --git a/app/node/output/track/track.cpp b/app/node/output/track/track.cpp index 43f3aabae..398678cd6 100644 --- a/app/node/output/track/track.cpp +++ b/app/node/output/track/track.cpp @@ -181,12 +181,12 @@ const QVector &TrackOutput::Blocks() void TrackOutput::InvalidateCache(const rational &start_range, const rational &end_range, NodeInput *from) { - // We intercept IC signals from Blocks since we may be performing several options and they may over-signal + /*// We intercept IC signals from Blocks since we may be performing several options and they may over-signal if (from == previous_input() && block_invalidate_cache_stack_ == 0) { Node::InvalidateCache(qMax(start_range, rational(0)), qMin(end_range, in()), from); } else { - Node::InvalidateCache(start_range, end_range, from); - } + }*/ + Node::InvalidateCache(start_range, end_range, from); } QVariant TrackOutput::Value(NodeOutput *output)