move timecode processing to standalone module
authorMaksym Veremeyenko <verem@m1stereo.tv>
Sat, 18 Jun 2011 12:33:45 +0000 (15:33 +0300)
committerMaksym Veremeyenko <verem@m1stereo.tv>
Sat, 18 Jun 2011 12:33:45 +0000 (15:33 +0300)
src/Makefile.am
src/omnplay.cpp
src/playlist.c
src/timecode.c [new file with mode: 0644]
src/timecode.h [new file with mode: 0644]

index 3cbd28d..f7b2fe1 100644 (file)
@@ -14,6 +14,7 @@ omnplay_SOURCES = \
        ui_buttons.c ui_buttons.h \
        opts.c opts.h \
        playlist.c \
+       timecode.c timecode.h \
        omnplay.cpp omnplay.h
 
 omnplay_LDADD = @GTHREAD_LIBS@ @GTK_LIBS@ @OM_LIBS@
index 6c726da..4a75429 100644 (file)
 #include "omnplay.h"
 #include "ui.h"
 #include "opts.h"
+#include "timecode.h"
 
 #include "omplrclnt.h"
 
-static char* frames2tc( int f, float fps, char* buf )
-{
-    int tc[4] = { 0, 0, 0, 0 };
-    float d;
-    int t;
-
-    if ( fps && f >= 0)
-    {
-        d = f / fps;
-        t = d;
-
-        tc[0] = (d - t) * fps;
-        tc[1] = t % 60; t /= 60;
-        tc[2] = t % 60; t /= 60;
-        tc[3] = t % 24;
-    }
-
-    sprintf(buf, "%.2d:%.2d:%.2d:%.2d", tc[3], tc[2], tc[1], tc[0]);
-
-    return buf;
-}
-
-
 static gboolean on_main_window_delete_event( GtkWidget *widget, GdkEvent *event, gpointer user_data )
 {
     gtk_exit(0);
index 686f2f6..3692a12 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "omnplay.h"
 #include "ui.h"
+#include "timecode.h"
 
 void omnplay_playlist_load(omnplay_instance_t* app)
 {
diff --git a/src/timecode.c b/src/timecode.c
new file mode 100644 (file)
index 0000000..f5559de
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * timecode.c -- GTK+ 2 omnplay
+ * Copyright (C) 2011 Maksym Veremeyenko <verem@m1stereo.tv>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <stdio.h>
+
+char* frames2tc(int f, float fps, char* buf)
+{
+    int tc[4] = { 0, 0, 0, 0 };
+    float d;
+    int t;
+
+    if ( fps && f >= 0)
+    {
+        d = f / fps;
+        t = d;
+
+        tc[0] = (d - t) * fps;
+        tc[1] = t % 60; t /= 60;
+        tc[2] = t % 60; t /= 60;
+        tc[3] = t % 24;
+    }
+
+    sprintf(buf, "%.2d:%.2d:%.2d:%.2d", tc[3], tc[2], tc[1], tc[0]);
+
+    return buf;
+}
+
+
diff --git a/src/timecode.h b/src/timecode.h
new file mode 100644 (file)
index 0000000..b99d96a
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * timecode.h -- GTK+ 2 omnplay
+ * Copyright (C) 2011 Maksym Veremeyenko <verem@m1stereo.tv>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef UTILS_H
+#define UTILS_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+char* frames2tc(int f, float fps, char* buf);
+
+#ifdef __cplusplus
+};
+#endif /* __cplusplus */
+
+
+#endif /* UTILS_H */