implemented splicing into the timeline

This commit is contained in:
itsmattkc
2019-08-20 18:13:34 +10:00
parent ca51dac7f8
commit 78d96ecd28
6 changed files with 53 additions and 34 deletions
+15
View File
@@ -156,3 +156,18 @@ void Block::DisconnectBlocks(Block *previous, Block *next)
NodeParam::DisconnectEdge(previous->block_output(), next->previous_input());
NodeParam::DisconnectEdge(next->block_output(), previous->next_input());
}
const rational &Block::media_in()
{
return media_in_;
}
void Block::set_media_in(const rational &media_in)
{
if (media_in_ != media_in) {
media_in_ = media_in;
// Signal that this clips contents have changed
//InvalidateCache(in(), out());
}
}
+5
View File
@@ -65,6 +65,9 @@ public:
static void ConnectBlocks(Block* previous, Block* next);
static void DisconnectBlocks(Block* previous, Block* next);
const rational& media_in();
void set_media_in(const rational& media_in);
public slots:
virtual void Process(const rational &time) override;
@@ -110,6 +113,8 @@ private:
rational length_;
rational media_in_;
private slots:
void BlockOrderChanged(NodeEdgePtr edge);
+1 -1
View File
@@ -75,7 +75,7 @@ void ClipBlock::Process(const rational &time)
// If the time retrieved is within this block, get texture information
if (time >= in() && time < out()) {
// We convert the time given (timeline time) to media time
rational media_time = time - in() + media_in_;
rational media_time = time - in() + media_in();
// Retrieve texture
texture_output()->set_value(texture_input_->get_value(media_time));
-2
View File
@@ -48,8 +48,6 @@ public slots:
private:
NodeInput* texture_input_;
rational media_in_;
};
#endif // TIMELINEBLOCK_H