refactored so sequence is again a derivative of viewer

This commit is contained in:
itsmattkc
2021-04-05 14:41:59 +10:00
parent 748f45b7b8
commit 9be014c0b6
38 changed files with 600 additions and 565 deletions
+2 -2
View File
@@ -1395,9 +1395,9 @@ public:
QString relevant_input;
if (timeline_->type() == Track::kVideo) {
relevant_input = Sequence::kTextureInput;
relevant_input = ViewerOutput::kTextureInput;
} else {
relevant_input = Sequence::kSamplesInput;
relevant_input = ViewerOutput::kSamplesInput;
}
if (!timeline_->parent()->IsInputConnected(relevant_input)) {
+10 -8
View File
@@ -218,10 +218,12 @@ void TimelineWidget::ScaleChangedEvent(const double &scale)
}
}
void TimelineWidget::ConnectNodeInternal(Sequence *n)
void TimelineWidget::ConnectNodeInternal(ViewerOutput *n)
{
connect(n, &ViewerOutput::TrackAdded, this, &TimelineWidget::AddTrack);
connect(n, &ViewerOutput::TrackRemoved, this, &TimelineWidget::RemoveTrack);
Sequence* s = static_cast<Sequence*>(n);
connect(s, &Sequence::TrackAdded, this, &TimelineWidget::AddTrack);
connect(s, &Sequence::TrackRemoved, this, &TimelineWidget::RemoveTrack);
connect(n, &ViewerOutput::TimebaseChanged, this, &TimelineWidget::SetTimebase);
ruler()->SetPlaybackCache(n->video_frame_cache());
@@ -229,7 +231,6 @@ void TimelineWidget::ConnectNodeInternal(Sequence *n)
SetTimebase(n->video_params().time_base());
for (int i=0;i<views_.size();i++) {
Sequence* s = static_cast<Sequence*>(n);
Track::Type track_type = static_cast<Track::Type>(i);
TimelineView* view = views_.at(i)->view();
TrackList* track_list = s->track_list(track_type);
@@ -246,15 +247,16 @@ void TimelineWidget::ConnectNodeInternal(Sequence *n)
}
}
void TimelineWidget::DisconnectNodeInternal(Sequence *n)
void TimelineWidget::DisconnectNodeInternal(ViewerOutput *n)
{
disconnect(n, &ViewerOutput::TrackAdded, this, &TimelineWidget::AddTrack);
disconnect(n, &ViewerOutput::TrackRemoved, this, &TimelineWidget::RemoveTrack);
Sequence* s = static_cast<Sequence*>(n);
disconnect(s, &Sequence::TrackAdded, this, &TimelineWidget::AddTrack);
disconnect(s, &Sequence::TrackRemoved, this, &TimelineWidget::RemoveTrack);
disconnect(n, &ViewerOutput::TimebaseChanged, this, &TimelineWidget::SetTimebase);
DeselectAll();
Sequence* s = static_cast<Sequence*>(n);
foreach (Track* track, s->GetTracks()) {
RemoveTrack(track);
}
+2 -2
View File
@@ -245,8 +245,8 @@ protected:
virtual void TimeChangedEvent(const int64_t &) override;
virtual void ScaleChangedEvent(const double &) override;
virtual void ConnectNodeInternal(Sequence* n) override;
virtual void DisconnectNodeInternal(Sequence* n) override;
virtual void ConnectNodeInternal(ViewerOutput* n) override;
virtual void DisconnectNodeInternal(ViewerOutput* n) override;
virtual void CopyNodesToClipboardInternal(QXmlStreamWriter *writer, void* userdata) override;
virtual void PasteNodesFromClipboardInternal(QXmlStreamReader *reader, XMLNodeData &xml_node_data, void* userdata) override;
+1 -1
View File
@@ -102,7 +102,7 @@ void AddTool::MouseRelease(TimelineViewMouseEvent *event)
command->add_child(new NodeAddCommand(graph,
clip));
command->add_child(new TrackPlaceBlockCommand(static_cast<Sequence*>(parent()->GetConnectedNode())->track_list(track.type()),
command->add_child(new TrackPlaceBlockCommand(sequence()->track_list(track.type()),
track.index(),
clip,
ghost_->GetAdjustedIn()));
+3 -4
View File
@@ -313,12 +313,11 @@ void ImportTool::DropGhosts(bool insert)
MultiUndoCommand* command = new MultiUndoCommand();
NodeGraph* dst_graph = nullptr;
Sequence* sequence = nullptr;
Sequence* sequence = this->sequence();
bool open_sequence = false;
if (parent()->GetConnectedNode()) {
sequence = parent()->GetConnectedNode();
dst_graph = parent()->GetConnectedNode()->parent();
if (sequence) {
dst_graph = sequence->parent();
} else {
// There's no active timeline here, ask the user what to do