X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftimecode.h;h=23469756bbb8f3f4daec0f8e623a63243100da1c;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=fb8e5afe49eeedae3bf6ea8a2fdfb3f0c3228d05;hpb=f697b9fd5408e77412f2ee35aa406173630890bf;p=kdenlive diff --git a/src/timecode.h b/src/timecode.h index fb8e5afe..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,43 +26,54 @@ Handles the conversion of a GenTime into a nicely formatted string, taking into @author Jason Wood */ -class Timecode { - public: +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; - } + return m_format; + } ~Timecode(); - /** Returns the timecode for a given time */ - QString getTimecode(const GenTime & time, double fps) const; - int getFrameCount(const QString duration, double fps) const; + /** 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; 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: +private: Formats m_format; - bool m_dropFrame; + bool m_dropFrameTimecode; int m_displayedFramesPerSecond; + double m_realFps; + double m_dropFrames; + int m_framesPer10Minutes; - 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_FF(const GenTime & time) const; + const QString getTimecodeHH_MM_SS_FF(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