X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fgentime.cpp;h=82e0d9c7a61839795d273abea24aa9c102af7d8a;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=435cd7779f0c2107ddb5d62b2a607d79c38262f6;hpb=3d39d7bb337feea184c1b7e1f7ee91c8c5322754;p=kdenlive diff --git a/src/gentime.cpp b/src/gentime.cpp index 435cd777..82e0d9c7 100644 --- a/src/gentime.cpp +++ b/src/gentime.cpp @@ -19,30 +19,43 @@ double GenTime::s_delta = 0.00001; -/** Creates a time object, with a time of 0 seconds. */ -GenTime::GenTime() { +GenTime::GenTime() +{ m_time = 0.0; } -/** Creates a time object, with time given in seconds. */ -GenTime::GenTime(double seconds) { +GenTime::GenTime(double seconds) +{ m_time = seconds; } -/** Creates a time object, by passing number of frames and how many frames per second */ -GenTime::GenTime(int frames, double framesPerSecond) { +GenTime::GenTime(int frames, double framesPerSecond) +{ m_time = (double) frames / framesPerSecond; } -/** Returns the time, in milliseconds */ -double GenTime::ms() const { +double GenTime::seconds() const +{ + return m_time; +} + +double GenTime::ms() const +{ return m_time * 1000; } -/** Returns the time in frames, after being given the number of frames per second */ -double GenTime::frames(double framesPerSecond) const { +double GenTime::frames(double framesPerSecond) const +{ return floor(m_time * framesPerSecond + 0.5); } -GenTime::~GenTime() { +GenTime& GenTime::roundNearestFrame(double framesPerSecond) +{ + m_time = floor((m_time * framesPerSecond) + 0.5) / framesPerSecond; + return *this; +} + +QString GenTime::toString() const +{ + return QString("%1 s").arg(m_time, 0, 'f', 2); }