SoundBand/Sync/chronotime.cpp

40 lines
898 B
C++
Raw Normal View History

2017-12-17 01:23:38 +03:00
#include "chronotime.h"
2018-08-16 09:46:47 +03:00
#include <QDateTime>
2017-12-17 01:23:38 +03:00
#include <QDebug>
2018-08-16 10:19:42 +03:00
/*
* information about chrono
* https://stackoverflow.com/questions/31255486/c-how-do-i-convert-a-stdchronotime-point-to-long-and-back
*/
2018-08-16 09:46:47 +03:00
milliseconds ChronoTime::stdTime() {
auto tim = std::chrono::system_clock::now();
auto mc = std::chrono::time_point_cast<std::chrono::milliseconds>(tim);
auto epoh = mc.time_since_epoch();
#ifdef QT_DEBUG
qDebug() << epoh.count();
#endif
return epoh.count();
}
milliseconds ChronoTime::qtTime() {
return QDateTime::currentMSecsSinceEpoch();
}
2017-12-17 01:23:38 +03:00
ChronoTime::ChronoTime()
{
}
2018-08-16 09:13:18 +03:00
milliseconds ChronoTime::now(milliseconds calibration){
2018-08-16 09:46:47 +03:00
return qtTime() + calibration;
2017-12-17 01:23:38 +03:00
}
Clock ChronoTime::from(const milliseconds& mc){
std::chrono::milliseconds dur(mc);
return Clock(dur);
}
milliseconds ChronoTime::abs(milliseconds number){
return (number << 1) >> 1;
}