soundboard/include/editsample.h

47 lines
789 B
C++

#pragma once
#include <QDialog>
#include <QTimeEdit>
#include <string>
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);
};