timelinewidget: show cache status in timeline too
This commit is contained in:
@@ -91,6 +91,11 @@ ViewerOutput *TimeBasedPanel::GetConnectedViewer() const
|
|||||||
return widget_->GetConnectedNode();
|
return widget_->GetConnectedNode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TimeRuler *TimeBasedPanel::ruler() const
|
||||||
|
{
|
||||||
|
return widget_->ruler();
|
||||||
|
}
|
||||||
|
|
||||||
void TimeBasedPanel::ConnectViewerNode(ViewerOutput *node)
|
void TimeBasedPanel::ConnectViewerNode(ViewerOutput *node)
|
||||||
{
|
{
|
||||||
if (widget_->GetConnectedNode()) {
|
if (widget_->GetConnectedNode()) {
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public:
|
|||||||
|
|
||||||
ViewerOutput* GetConnectedViewer() const;
|
ViewerOutput* GetConnectedViewer() const;
|
||||||
|
|
||||||
|
TimeRuler* ruler() const;
|
||||||
|
|
||||||
virtual void ZoomIn() override;
|
virtual void ZoomIn() override;
|
||||||
|
|
||||||
virtual void ZoomOut() override;
|
virtual void ZoomOut() override;
|
||||||
|
|||||||
@@ -32,3 +32,8 @@ void ViewerPanelBase::ConnectTimeBasedPanel(TimeBasedPanel *panel)
|
|||||||
connect(panel, &TimeBasedPanel::ShuttleStopRequested, this, &ViewerPanelBase::ShuttleStop);
|
connect(panel, &TimeBasedPanel::ShuttleStopRequested, this, &ViewerPanelBase::ShuttleStop);
|
||||||
connect(panel, &TimeBasedPanel::ShuttleRightRequested, this, &ViewerPanelBase::ShuttleRight);
|
connect(panel, &TimeBasedPanel::ShuttleRightRequested, this, &ViewerPanelBase::ShuttleRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VideoRenderBackend *ViewerPanelBase::video_renderer() const
|
||||||
|
{
|
||||||
|
return static_cast<ViewerWidget*>(GetTimeBasedWidget())->video_renderer();
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public:
|
|||||||
|
|
||||||
void ConnectTimeBasedPanel(TimeBasedPanel* panel);
|
void ConnectTimeBasedPanel(TimeBasedPanel* panel);
|
||||||
|
|
||||||
|
VideoRenderBackend* video_renderer() const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VIEWERPANELBASE_H
|
#endif // VIEWERPANELBASE_H
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ public slots:
|
|||||||
|
|
||||||
void GoToNextCut();
|
void GoToNextCut();
|
||||||
|
|
||||||
|
TimeRuler* ruler() const;
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void SetTimeAndSignal(const int64_t& t);
|
void SetTimeAndSignal(const int64_t& t);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
TimeRuler* ruler() const;
|
|
||||||
|
|
||||||
QScrollBar* scrollbar() const;
|
QScrollBar* scrollbar() const;
|
||||||
|
|
||||||
virtual void TimebaseChangedEvent(const rational&) override;
|
virtual void TimebaseChangedEvent(const rational&) override;
|
||||||
|
|||||||
@@ -205,6 +205,7 @@ void TimelineWidget::ConnectNodeInternal(ViewerOutput *n)
|
|||||||
connect(n, &ViewerOutput::TrackHeightChanged, this, &TimelineWidget::TrackHeightChanged);
|
connect(n, &ViewerOutput::TrackHeightChanged, this, &TimelineWidget::TrackHeightChanged);
|
||||||
|
|
||||||
SetTimebase(n->video_params().time_base());
|
SetTimebase(n->video_params().time_base());
|
||||||
|
UpdateTimelineLength(n->Length());
|
||||||
|
|
||||||
for (int i=0;i<views_.size();i++) {
|
for (int i=0;i<views_.size();i++) {
|
||||||
Timeline::TrackType track_type = static_cast<Timeline::TrackType>(i);
|
Timeline::TrackType track_type = static_cast<Timeline::TrackType>(i);
|
||||||
@@ -566,6 +567,7 @@ void TimelineWidget::UpdateTimelineLength(const rational &length)
|
|||||||
foreach (TimelineAndTrackView* view, views_) {
|
foreach (TimelineAndTrackView* view, views_) {
|
||||||
view->view()->SetEndTime(length);
|
view->view()->SetEndTime(length);
|
||||||
}
|
}
|
||||||
|
ruler()->SetCacheStatusLength(length);
|
||||||
}
|
}
|
||||||
|
|
||||||
TimelineWidget::Tool *TimelineWidget::GetActiveTool()
|
TimelineWidget::Tool *TimelineWidget::GetActiveTool()
|
||||||
|
|||||||
@@ -90,6 +90,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
connect(curve_panel_, &CurvePanel::TimeChanged, viewer_panel_, &ViewerPanel::SetTime);
|
connect(curve_panel_, &CurvePanel::TimeChanged, viewer_panel_, &ViewerPanel::SetTime);
|
||||||
connect(curve_panel_, &CurvePanel::TimeChanged, timeline_panel_, &TimelinePanel::SetTime);
|
connect(curve_panel_, &CurvePanel::TimeChanged, timeline_panel_, &TimelinePanel::SetTime);
|
||||||
connect(curve_panel_, &CurvePanel::TimeChanged, param_panel_, &ParamPanel::SetTime);
|
connect(curve_panel_, &CurvePanel::TimeChanged, param_panel_, &ParamPanel::SetTime);
|
||||||
|
connect(viewer_panel_->video_renderer(), &VideoRenderBackend::CachedTimeReady, timeline_panel_->ruler(), &TimeRuler::CacheTimeReady);
|
||||||
|
connect(viewer_panel_->video_renderer(), &VideoRenderBackend::RangeInvalidated, timeline_panel_->ruler(), &TimeRuler::CacheInvalidatedRange);
|
||||||
|
|
||||||
viewer_panel_->ConnectTimeBasedPanel(timeline_panel_);
|
viewer_panel_->ConnectTimeBasedPanel(timeline_panel_);
|
||||||
viewer_panel_->ConnectTimeBasedPanel(param_panel_);
|
viewer_panel_->ConnectTimeBasedPanel(param_panel_);
|
||||||
|
|||||||
Reference in New Issue
Block a user