timeline: allow disabling waveforms

This commit is contained in:
itsmattkc
2021-03-10 14:23:59 +11:00
parent 60e828efa8
commit 5d59ecb699
4 changed files with 34 additions and 4 deletions
@@ -952,6 +952,11 @@ void TimelineWidget::ShowContextMenu()
toggle_audio_units->setChecked(use_audio_time_units_);
connect(toggle_audio_units, &QAction::triggered, this, &TimelineWidget::SetUseAudioTimeUnits);
QAction* show_waveforms = menu.addAction(tr("Show Waveforms"));
show_waveforms->setCheckable(true);
show_waveforms->setChecked(views_.first()->view()->GetShowWaveforms());
connect(show_waveforms, &QAction::triggered, this, &TimelineWidget::SetViewWaveformsEnabled);
menu.addSeparator();
QAction* properties_action = menu.addAction(tr("Properties"));
@@ -1020,6 +1025,13 @@ void TimelineWidget::ToolChanged()
HideSnaps();
}
void TimelineWidget::SetViewWaveformsEnabled(bool e)
{
foreach (TimelineAndTrackView* tview, views_) {
tview->view()->SetShowWaveforms(e);
}
}
void TimelineWidget::AddGhost(TimelineViewGhostItem *ghost)
{
ghost_items_.append(ghost);
@@ -345,6 +345,8 @@ private slots:
void ToolChanged();
void SetViewWaveformsEnabled(bool e);
};
}
@@ -41,7 +41,8 @@ TimelineView::TimelineView(Qt::Alignment vertical_alignment, QWidget *parent) :
selections_(nullptr),
ghosts_(nullptr),
show_beam_cursor_(false),
connected_track_list_(nullptr)
connected_track_list_(nullptr),
show_waveforms_(true)
{
Q_ASSERT(vertical_alignment == Qt::AlignTop || vertical_alignment == Qt::AlignBottom);
setAlignment(Qt::AlignLeft | vertical_alignment);
@@ -450,9 +451,11 @@ void TimelineView::DrawBlocks(QPainter *painter, bool foreground)
painter->drawRect(r);
// Draw waveform
QRect waveform_rect = r.adjusted(0, text_total_height, 0, 0).toRect();
painter->setPen(shadow_color);
AudioVisualWaveform::DrawWaveform(painter, waveform_rect, this->GetScale(), track->waveform(), SceneToTime(block_left));
if (show_waveforms_) {
QRect waveform_rect = r.adjusted(0, text_total_height, 0, 0).toRect();
painter->setPen(shadow_color);
AudioVisualWaveform::DrawWaveform(painter, waveform_rect, this->GetScale(), track->waveform(), SceneToTime(block_left));
}
}
}
@@ -70,6 +70,17 @@ public:
Block* GetItemAtScenePos(const rational& time, int track_index) const;
bool GetShowWaveforms() const
{
return show_waveforms_;
}
void SetShowWaveforms(bool e)
{
show_waveforms_ = e;
viewport()->update();
}
signals:
void MousePressed(TimelineViewMouseEvent* event);
void MouseMoved(TimelineViewMouseEvent* event);
@@ -129,6 +140,8 @@ private:
TrackList* connected_track_list_;
bool show_waveforms_;
};
}