X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftimecode.h;h=23469756bbb8f3f4daec0f8e623a63243100da1c;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=e10ae4af767ba4a10b8c55408113678f6a55c24c;hpb=f1f6ca90ed44361ea1d2122a772cb7d5bdd1e8ed;p=kdenlive diff --git a/src/timecode.h b/src/timecode.h index e10ae4af..23469756 100644 --- a/src/timecode.h +++ b/src/timecode.h @@ -17,7 +17,7 @@ #ifndef TIMECODE_H #define TIMECODE_H -#include +#include #include "gentime.h" @@ -31,16 +31,12 @@ class Timecode public: enum Formats { HH_MM_SS_FF, HH_MM_SS_HH, Frames, Seconds }; - explicit Timecode(Formats format = HH_MM_SS_FF, double framesPerSecond = - 25, bool dropFrame = false); + explicit Timecode(Formats format = HH_MM_SS_FF, double framesPerSecond = 25); - /** Set the current timecode format; this is the output format for this timecode. */ - void setFormat(double framesPerSecond, bool dropFrame = false, Formats format = HH_MM_SS_FF) { - m_displayedFramesPerSecond = (int)(framesPerSecond + 0.5); - m_dropFrame = dropFrame; - m_format = format; - m_realFps = framesPerSecond; - } + /** + * Set the current timecode format; this is the output format for this timecode. + */ + void setFormat(double framesPerSecond, Formats format = HH_MM_SS_FF); Formats format() const { return m_format; @@ -51,28 +47,33 @@ public: /** Returns the timecode for a given time */ QString getDisplayTimecode(const GenTime & time, bool frameDisplay) const; QString getTimecode(const GenTime & time) const; - int getDisplayFrameCount(const QString duration, bool frameDisplay) const; - int getFrameCount(const QString duration) const; + int getDisplayFrameCount(const QString &duration, bool frameDisplay) const; + int getFrameCount(const QString &duration) const; static QString getEasyTimecode(const GenTime & time, const double &fps); - static QString getStringTimecode(int frames, const double &fps); + static QString getStringTimecode(int frames, const double &fps, bool showFrames = false); const QString getDisplayTimecodeFromFrames(int frames, bool frameDisplay) const; const QString getTimecodeFromFrames(int frames) const; double fps() const; + bool df() const; + const QString mask(const GenTime &t = GenTime()) const; + QString reformatSeparators(QString duration) const; private: Formats m_format; - bool m_dropFrame; + bool m_dropFrameTimecode; int m_displayedFramesPerSecond; double m_realFps; + double m_dropFrames; + int m_framesPer10Minutes; const QString getTimecodeHH_MM_SS_FF(const GenTime & time) const; const QString getTimecodeHH_MM_SS_FF(int frames) const; - QString getTimecodeHH_MM_SS_HH(const GenTime & time) const; - QString getTimecodeFrames(const GenTime & time) const; - QString getTimecodeSeconds(const GenTime & time) const; - QString getTimecodeDropFrame(const GenTime & time) const; - QString getTimecodeDropFrame(int frames) const; + const QString getTimecodeHH_MM_SS_HH(const GenTime & time) const; + const QString getTimecodeFrames(const GenTime & time) const; + const QString getTimecodeSeconds(const GenTime & time) const; + const QString getTimecodeDropFrame(const GenTime & time) const; + const QString getTimecodeDropFrame(int framenumber) const; }; #endif