multicam: refactor to heavily optimize multicam monitor retrieval

This commit is contained in:
itsmattkc
2022-09-29 17:50:09 -07:00
parent 63163ba23e
commit 6e183fe4be
25 changed files with 300 additions and 162 deletions
+5
View File
@@ -125,6 +125,8 @@ MainWindow::MainWindow(QWidget *parent) :
sequence_viewer_panel_->ConnectTimeBasedPanel(curve_panel_);
sequence_viewer_panel_->ConnectTimeBasedPanel(multicam_panel_);
sequence_viewer_panel_->AddPlaybackDevice(multicam_panel_->GetMulticamWidget()->GetDisplayWidget());
scope_panel_->SetViewerPanel(sequence_viewer_panel_);
UpdateTitle();
@@ -510,10 +512,12 @@ void MainWindow::TimelinePanelSelectionChanged(const QVector<Block *> &blocks)
}
if (multicam) {
sequence_viewer_panel_->SetMulticamNode(multicam);
multicam_panel_->SetMulticamNode(multicam);
multicam_panel_->SetClip(clip);
multicam_panel_->ConnectViewerNode(panel->GetConnectedViewer());
} else {
sequence_viewer_panel_->SetMulticamNode(nullptr);
multicam_panel_->ConnectViewerNode(nullptr);
multicam_panel_->SetMulticamNode(nullptr);
multicam_panel_->SetClip(nullptr);
@@ -678,6 +682,7 @@ void MainWindow::RemoveProjectPanel(ProjectPanel *panel)
void MainWindow::TimelineFocused(ViewerOutput* viewer)
{
sequence_viewer_panel_->ConnectViewerNode(viewer);
multicam_panel_->ConnectViewerNode(viewer);
param_panel_->ConnectViewerNode(viewer);
curve_panel_->ConnectViewerNode(viewer);
}