#pragma once #include #include #include namespace Ui { class EditSample; } class EditSample : public QDialog { Q_OBJECT public: explicit EditSample(const std::string& audioFile, QWidget *parent = nullptr); ~EditSample(); uint64_t getStartTime() const; uint64_t getLength() const; void setStartTime(uint64_t); void setLength(uint64_t); public slots: void play(); void stop(); private slots: void setStartToCurrent(); void setStopToCurrent(); void timesChanged(); private: Ui::EditSample* ui; const std::string audioFile; uint64_t getTimeInfo(const QTimeEdit* time) const; QTime timeFromMS(uint64_t ms) const; std::string formatTime(const QTime& time) const; uint64_t currentposition = 0; void setCurrentPosition(uint64_t); };