integrated waveform with scrollable playhead

This commit is contained in:
itsmattkc
2018-12-09 02:15:53 +11:00
parent 5d89afb639
commit e623b8640e
5 changed files with 54 additions and 28 deletions
+7 -1
View File
@@ -61,6 +61,7 @@ Viewer::Viewer(QWidget *parent) :
connect(&playback_updater, SIGNAL(timeout()), this, SLOT(timer_update()));
connect(&recording_flasher, SIGNAL(timeout()), this, SLOT(recording_flasher_update()));
connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), ui->headers, SLOT(set_scroll(int)));
connect(ui->horizontalScrollBar, SIGNAL(valueChanged(int)), ui->openGLWidget, SLOT(set_waveform_scroll(int)));
update_playhead_timecode(0);
update_end_timecode();
@@ -386,6 +387,7 @@ void Viewer::update_header_zoom() {
minimum_zoom = (sequenceEndFrame > 0) ? ((double) ui->headers->width() / (double) sequenceEndFrame) : 1;
ui->headers->update_zoom(qMax(ui->headers->get_zoom(), minimum_zoom));
ui->headers->set_scrollbar_max(ui->horizontalScrollBar, sequenceEndFrame, ui->headers->width());
ui->openGLWidget->waveform_zoom = ui->headers->get_zoom();
} else {
ui->headers->update();
}
@@ -401,8 +403,8 @@ void Viewer::update_parents() {
}
void Viewer::update_viewer() {
update_header_zoom();
viewer_widget->update();
update_header_zoom();
if (seq != NULL) update_playhead_timecode(seq->playhead);
update_end_timecode();
}
@@ -428,6 +430,10 @@ void Viewer::set_zoom(bool in) {
} else {
ui->headers->update_zoom(qMax(minimum_zoom, ui->headers->get_zoom()*0.5));
}
if (ui->openGLWidget->waveform) {
ui->openGLWidget->waveform_zoom = ui->headers->get_zoom();
ui->openGLWidget->update();
}
ui->headers->set_scrollbar_max(ui->horizontalScrollBar, seq->getEndFrame(), ui->headers->width());
center_scroll_to_playhead(ui->horizontalScrollBar, ui->headers->get_zoom(), seq->playhead);
}