implemented splicing into the timeline
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -48,8 +48,6 @@ public slots:
|
||||
private:
|
||||
NodeInput* texture_input_;
|
||||
|
||||
rational media_in_;
|
||||
|
||||
};
|
||||
|
||||
#endif // TIMELINEBLOCK_H
|
||||
|
||||
Reference in New Issue
Block a user