]> git.sesse.net Git - kdenlive/blobdiff - src/timecode.h
Fix compile
[kdenlive] / src / timecode.h
index fb8e5afe49eeedae3bf6ea8a2fdfb3f0c3228d05..c28c25e30ae9623387c8368d4a4a197ea6ed0869 100644 (file)
@@ -26,43 +26,50 @@ 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, bool dropFrame = false);
 
-       /** 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, bool dropFrame = false, Formats format = HH_MM_SS_FF) {
+        m_displayedFramesPerSecond = (int)(framesPerSecond + 0.5);
+        m_dropFrame = dropFrame;
+        m_format = format;
+        m_realFps = framesPerSecond;
+    }
 
     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 getTimecode(const GenTime & time) 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);
+    const QString getTimecodeFromFrames(int frames) const;
+    int fps() const;
 
-  private:
+private:
     Formats m_format;
     bool m_dropFrame;
     int m_displayedFramesPerSecond;
+    double m_realFps;
+
+    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 getTimecodeFrames(const GenTime & time) const;
     QString getTimecodeSeconds(const GenTime & time) const;
-    QString getTimecodeDropFrame(const GenTime & time, double fps) const;
+    QString getTimecodeDropFrame(const GenTime & time) const;
+    QString getTimecodeDropFrame(int frames) const;
 };
 
 #endif