X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftimecode.h;h=23469756bbb8f3f4daec0f8e623a63243100da1c;hb=3c844989ad9fdb96bb9258a990a9874773b3d792;hp=7a2fb91be3870b85eb476e72f2ea6d7d67359670;hpb=2a223cff6e45c560c28857b72c0cb7e584f9a4ef;p=kdenlive diff --git a/src/timecode.h b/src/timecode.h index 7a2fb91b..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" @@ -26,19 +26,17 @@ Handles the conversion of a GenTime into a nicely formatted string, taking into @author Jason Wood */ -class Timecode { +class Timecode +{ public: enum Formats { HH_MM_SS_FF, HH_MM_SS_HH, Frames, Seconds }; - Timecode(Formats format = HH_MM_SS_FF, int 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(int framesPerSecond, bool dropFrame = false, Formats format = HH_MM_SS_FF) { - m_displayedFramesPerSecond = framesPerSecond; - m_dropFrame = dropFrame; - m_format = format; - } + /** + * 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; @@ -47,22 +45,35 @@ public: ~Timecode(); /** Returns the timecode for a given time */ - QString getTimecode(const GenTime & time, double fps) const; - int getFrameCount(const QString duration, double fps) const; + 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; static QString getEasyTimecode(const GenTime & time, const double &fps); - QString getTimecodeFromFrames(int frames); + 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_FF(const GenTime & time, double fps) const; - QString getTimecodeHH_MM_SS_FF(int frames) const; - QString getTimecodeHH_MM_SS_HH(const GenTime & time) const; - QString getTimecodeFrames(const GenTime & time, double fps) const; - QString getTimecodeSeconds(const GenTime & time) const; - QString getTimecodeDropFrame(const GenTime & time, double fps) 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