diff --git a/src/UI/DocumentViews/MpvControls.cc b/src/UI/DocumentViews/MpvControls.cc index 375ca3f9bba8cc6999aa6c508e3a73447478f15a..52bb30ce0f6f7b029b5c812d498b29f684e26446 100644 --- a/src/UI/DocumentViews/MpvControls.cc +++ b/src/UI/DocumentViews/MpvControls.cc @@ -18,22 +18,22 @@ MpvControls::MpvControls(MpvContainer *passedContainer, QWidget *parent) noexcep progressBar->setOrientation(Qt::Horizontal); mpv->registerMpvDurationCallback([progressBar, this](double time) noexcept -> void { - timePosition = 0; - timeDuration = static_cast<int>(time); - progressBar->setMaximum(timeDuration); + timePosition = chrono::seconds::zero(); + timeDuration = chrono::seconds(static_cast<long>(time)); + progressBar->setMaximum(static_cast<int>(timeDuration.count())); progressBar->setValue(0); }); mpv->registerMpvTimeCallback([progressBar, this](double time) noexcept -> void { if (!progressBar->isSliderDown()) { // The user is not pressing the slider - timePosition = static_cast<int>(time); - progressBar->setValue(timePosition); + timePosition = chrono::seconds(static_cast<long>(time)); + progressBar->setValue(static_cast<int>(timePosition.count())); } }); connect(progressBar, &QAbstractSlider::valueChanged, this, [this](int value) noexcept -> void { - qDebug() << "Slider set to" << value << "max was" << timeDuration; - timePosition = value; + qDebug() << "Slider set to" << value << "max was" << timeDuration.count(); + timePosition = chrono::seconds(value); }); connect(togglePlaybackButton, &QAbstractButton::clicked, mpv, &MpvContainer::mpvTogglePlayback); diff --git a/src/UI/DocumentViews/MpvControls.hh b/src/UI/DocumentViews/MpvControls.hh index ef57d29908328418726d40b9418dd457eade7851..4be9272d00f335ed259e5b17336480c5aa24f5aa 100644 --- a/src/UI/DocumentViews/MpvControls.hh +++ b/src/UI/DocumentViews/MpvControls.hh @@ -4,6 +4,9 @@ #error "This is a C++ header" #endif +#include <chrono> +namespace chrono = std::chrono; + namespace Vivy { class MpvContainer; @@ -14,8 +17,8 @@ class MpvControls final : public QWidget { private: MpvContainer *mpv{ nullptr }; - int timeDuration; - int timePosition; + chrono::seconds timeDuration; + chrono::seconds timePosition; public: explicit MpvControls(MpvContainer *mpv, QWidget *parent) noexcept;