- cleanup
svn path=/trunk/kdenlive/; revision=4510
if (durationDiff == GenTime()) return;
//kDebug() << "-- RESCALE DIFF=" << durationDiff.frames(25) << ", CLIP: " << startPos().frames(25) << "-" << endPos().frames(25);
if (durationDiff == GenTime()) return;
//kDebug() << "-- RESCALE DIFF=" << durationDiff.frames(25) << ", CLIP: " << startPos().frames(25) << "-" << endPos().frames(25);
- if (type() == AVWIDGET) {
- if (hasSizeLimit && cropStart() + durationDiff < GenTime())
+ if (type() == AVWIDGET && hasSizeLimit && cropStart() + durationDiff < GenTime()) {
durationDiff = GenTime() - cropStart();
} else if (durationDiff >= cropDuration()) {
return;
durationDiff = GenTime() - cropStart();
} else if (durationDiff >= cropDuration()) {
return;
//kDebug()<<"// DURATION DIFF: "<<durationDiff.frames(25)<<", POS: "<<pos().x();
m_info.startPos += durationDiff;
//kDebug()<<"// DURATION DIFF: "<<durationDiff.frames(25)<<", POS: "<<pos().x();
m_info.startPos += durationDiff;
- if (type() == AVWIDGET) {
+ if (type() == AVWIDGET)
m_info.cropStart += durationDiff;
m_info.cropStart += durationDiff;
- m_info.cropDuration = m_info.cropDuration - durationDiff;
+ m_info.cropDuration -= durationDiff;
setRect(0, 0, cropDuration().frames(m_fps) - 0.02, rect().height());
moveBy(durationDiff.frames(m_fps), 0);
if (m_info.startPos != GenTime(posx, m_fps)) {
//kDebug()<<"////// WARNING, DIFF IN XPOS: "<<pos().x()<<" == "<<m_startPos.frames(m_fps);
setRect(0, 0, cropDuration().frames(m_fps) - 0.02, rect().height());
moveBy(durationDiff.frames(m_fps), 0);
if (m_info.startPos != GenTime(posx, m_fps)) {
//kDebug()<<"////// WARNING, DIFF IN XPOS: "<<pos().x()<<" == "<<m_startPos.frames(m_fps);
- GenTime diff = m_info.startPos - GenTime((int) posx, m_fps);
+ GenTime diff = m_info.startPos - GenTime(posx, m_fps);
- if (type() == AVWIDGET) {
+ if (type() == AVWIDGET)
m_info.cropStart += diff;
m_info.cropStart += diff;
- }
- m_info.cropDuration = m_info.cropDuration - diff;
+
+ m_info.cropDuration -= diff;
setRect(0, 0, cropDuration().frames(m_fps) - 0.02, rect().height());
//kDebug()<<"// NEW START: "<<m_startPos.frames(25)<<", NW DUR: "<<m_cropDuration.frames(25);
}
setRect(0, 0, cropDuration().frames(m_fps) - 0.02, rect().height());
//kDebug()<<"// NEW START: "<<m_startPos.frames(25)<<", NW DUR: "<<m_cropDuration.frames(25);
}
virtual int track() const ;
virtual GenTime cropStart() const ;
virtual GenTime cropDuration() const ;
virtual int track() const ;
virtual GenTime cropStart() const ;
virtual GenTime cropDuration() const ;
+
+ /** @brief Resizes the clip from the start.
+ * @param posx Absolute position of new in point
+ * @param hasSizeLimit (optional) Whether the clip has a maximum size */
virtual void resizeStart(int posx, bool hasSizeLimit = true);
virtual void resizeStart(int posx, bool hasSizeLimit = true);
+
+ /** @brief Resizes the clip from the end.
+ * @param posx Absolute position of new out point */
virtual void resizeEnd(int posx);
virtual double fps() const;
virtual void updateFps(double fps);
virtual void resizeEnd(int posx);
virtual double fps() const;
virtual void updateFps(double fps);
-void ClipItem::resizeStart(int posx, bool)
+void ClipItem::resizeStart(int posx, bool /*size*/)
{
bool sizeLimit = false;
if (clipType() != IMAGE && clipType() != COLOR && clipType() != TEXT) {
{
bool sizeLimit = false;
if (clipType() != IMAGE && clipType() != COLOR && clipType() != TEXT) {
double GenTime::s_delta = 0.00001;
double GenTime::s_delta = 0.00001;
-/** Creates a time object, with a time of 0 seconds. */
GenTime::GenTime()
{
m_time = 0.0;
}
GenTime::GenTime()
{
m_time = 0.0;
}
-/** Creates a time object, with time given in seconds. */
GenTime::GenTime(double seconds)
{
m_time = 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)
{
m_time = (double) frames / framesPerSecond;
}
GenTime::GenTime(int frames, double framesPerSecond)
{
m_time = (double) frames / framesPerSecond;
}
-/** Returns the time, in milliseconds */
+double GenTime::seconds() const
+{
+ return m_time;
+}
+
double GenTime::ms() const
{
return m_time * 1000;
}
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
{
return floor(m_time * framesPerSecond + 0.5);
}
double GenTime::frames(double framesPerSecond) const
{
return floor(m_time * framesPerSecond + 0.5);
}
+GenTime& GenTime::roundNearestFrame(double framesPerSecond)
+ m_time = floor((m_time * framesPerSecond) + 0.5) / framesPerSecond;
+ return *this;
+}
\ No newline at end of file
-/**Encapsulates a time, which can be set in various forms and outputted in various forms.
- *@author Jason Wood
- */
+/**
+ * @class GenTime
+ * @brief Encapsulates a time, which can be set in various forms and outputted in various forms.
+ * @author Jason Wood
+ */
- /** Creates a time object, with a time of 0 seconds. */
+ /** @brief Creates a GenTime object, with a time of 0 seconds. */
- /** Creates a time object, with time given in seconds. */
+ /** @brief Creates a GenTime object, with time given in seconds. */
explicit GenTime(double seconds);
explicit GenTime(double seconds);
- /** Creates a time object, by passing number of frames and how many frames per second */
+ /** @brief Creates a GenTime object, by passing number of frames and how many frames per second. */
GenTime(int frames, double framesPerSecond);
GenTime(int frames, double framesPerSecond);
- /** returns the time, in seconds */
- double seconds() const {
- return m_time;
- }
- /** Returns the time, in milliseconds */ double ms() const;
+ /** @brief Gets the time, in seconds. */
+ double seconds() const;
+
+ /** @brief Gets the time, in milliseconds */
+ double ms() const;
- /** Returns the time in frames, after being given the number of frames per second */
+ /** @brief Gets the time in frames.
+ * @param framesPerSecond Number of frames per second */
double frames(double framesPerSecond) const;
double frames(double framesPerSecond) const;
+ /** @brief Rounds the GenTime's value to the nearest frame.
+ * @param framesPerSecond Number of frames per second */
+ GenTime & roundNearestFrame(double framesPerSecond);
+
+
+ /*
+ * Operators.
+ */
+
GenTime & operator+=(GenTime op) {
m_time += op.m_time;
return *this;
}
GenTime & operator+=(GenTime op) {
m_time += op.m_time;
return *this;
}
- /** Adds two GenTimes */ GenTime operator+(GenTime op) const {
+
+ GenTime & operator-=(GenTime op) {
+ m_time -= op.m_time;
+ return *this;
+ }
+
+ /** @brief Adds two GenTimes. */
+ GenTime operator+(GenTime op) const {
return GenTime(m_time + op.m_time);
}
return GenTime(m_time + op.m_time);
}
- /** Subtracts one genTime from another */ GenTime operator-(GenTime op) const {
+
+ /** @brief Subtracts one genTime from another. */
+ GenTime operator-(GenTime op) const {
return GenTime(m_time - op.m_time);
}
return GenTime(m_time - op.m_time);
}
- /** Multiplies one GenTime by a double value, returning a GenTime */
+
+ /** @brief Multiplies one GenTime by a double value, returning a GenTime. */
GenTime operator*(double op) const {
return GenTime(m_time * op);
}
GenTime operator*(double op) const {
return GenTime(m_time * op);
}
- /** Divides one GenTime by a double value, returning a GenTime */
+
+ /** @brief Divides one GenTime by a double value, returning a GenTime. */
GenTime operator/(double op) const {
return GenTime(m_time / op);
}
GenTime operator/(double op) const {
return GenTime(m_time / op);
}
- /* Implementation of < operator; Works identically as with basic types. */
bool operator<(GenTime op) const {
return m_time + s_delta < op.m_time;
}
bool operator<(GenTime op) const {
return m_time + s_delta < op.m_time;
}
- /* Implementation of > operator; Works identically as with basic types. */
bool operator>(GenTime op) const {
return m_time > op.m_time + s_delta;
}
bool operator>(GenTime op) const {
return m_time > op.m_time + s_delta;
}
- /* Implementation of >= operator; Works identically as with basic types. */
bool operator>=(GenTime op) const {
return m_time + s_delta >= op.m_time;
}
bool operator>=(GenTime op) const {
return m_time + s_delta >= op.m_time;
}
- /* Implementation of <= operator; Works identically as with basic types. */
bool operator<=(GenTime op) const {
return m_time <= op.m_time + s_delta;
}
bool operator<=(GenTime op) const {
return m_time <= op.m_time + s_delta;
}
- /* Implementation of == operator; Works identically as with basic types. */
bool operator==(GenTime op) const {
return fabs(m_time - op.m_time) < s_delta;
}
bool operator==(GenTime op) const {
return fabs(m_time - op.m_time) < s_delta;
}
- /* Implementation of != operator; Works identically as with basic types. */
bool operator!=(GenTime op) const {
return fabs(m_time - op.m_time) >= s_delta;
}
bool operator!=(GenTime op) const {
return fabs(m_time - op.m_time) >= s_delta;
}
- /* Rounds the GenTIme's value to the nearest frame */
- GenTime & roundNearestFrame(double framesPerSecond) {
- m_time = floor((m_time * framesPerSecond) + 0.5) / framesPerSecond;
- return *this;
- }
- ~GenTime();
-private: // Private attributes
/** Holds the time for this object. */
double m_time;
/** Holds the time for this object. */
double m_time;