X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fgentime.cpp;h=d5ebab383d4429b5f6b8348c3c38b55ab71562b6;hb=79e0f399b22a4eaeb6bec26c11ddc0edfd20356c;hp=435cd7779f0c2107ddb5d62b2a607d79c38262f6;hpb=3d39d7bb337feea184c1b7e1f7ee91c8c5322754;p=kdenlive diff --git a/src/gentime.cpp b/src/gentime.cpp index 435cd777..d5ebab38 100644 --- a/src/gentime.cpp +++ b/src/gentime.cpp @@ -19,30 +19,38 @@ 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; +} \ No newline at end of file