#ifndef TIMECODE_H
#define TIMECODE_H
-#include <qstring.h>
+#include <QString>
#include "gentime.h"
@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 getFrameNumber(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);
- private:
+ 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