Add a utility method to get the name of a GESTrackType
authorThibault Saunier <thibault.saunier@collabora.com>
Thu, 20 Dec 2012 23:21:51 +0000 (20:21 -0300)
committerThibault Saunier <thibault.saunier@collabora.com>
Sat, 29 Dec 2012 22:36:52 +0000 (19:36 -0300)
API:
    ges_track_type_name

ges/ges-enums.c
ges/ges-enums.h

index c6c6554..b77ac08 100644 (file)
 #include "ges-timeline-standard-transition.h"
 
 #define C_ENUM(v) ((guint) v)
+
+static const GFlagsValue track_types_values[] = {
+  {C_ENUM (GES_TRACK_TYPE_UNKNOWN), "GES_TRACK_TYPE_UNKNOWN", "unknown"},
+  {C_ENUM (GES_TRACK_TYPE_AUDIO), "GES_TRACK_TYPE_AUDIO", "audio"},
+  {C_ENUM (GES_TRACK_TYPE_VIDEO), "GES_TRACK_TYPE_VIDEO", "video"},
+  {C_ENUM (GES_TRACK_TYPE_TEXT), "GES_TRACK_TYPE_TEXT", "text"},
+  {C_ENUM (GES_TRACK_TYPE_CUSTOM), "GES_TRACK_TYPE_CUSTOM", "custom"},
+  {0, NULL, NULL}
+};
+
 static void
 register_ges_track_type_select_result (GType * id)
 {
-  static const GFlagsValue values[] = {
-    {C_ENUM (GES_TRACK_TYPE_UNKNOWN), "GES_TRACK_TYPE_UNKNOWN", "unknown"},
-    {C_ENUM (GES_TRACK_TYPE_AUDIO), "GES_TRACK_TYPE_AUDIO", "audio"},
-    {C_ENUM (GES_TRACK_TYPE_VIDEO), "GES_TRACK_TYPE_VIDEO", "video"},
-    {C_ENUM (GES_TRACK_TYPE_TEXT), "GES_TRACK_TYPE_TEXT", "text"},
-    {C_ENUM (GES_TRACK_TYPE_CUSTOM), "GES_TRACK_TYPE_CUSTOM", "custom"},
-    {0, NULL, NULL}
-  };
+  *id = g_flags_register_static ("GESTrackType", track_types_values);
+}
+
+const gchar *
+ges_track_type_name (GESTrackType type)
+{
+  guint i;
+
+  for (i = 0; i < G_N_ELEMENTS (track_types_values); i++) {
+    if (type == track_types_values[i].value)
+      return track_types_values[i].value_nick;
+  }
 
-  *id = g_flags_register_static ("GESTrackType", values);
+  return "Unknown (mixed?) ";
 }
 
 GType
index 3e8bc99..42011c9 100644 (file)
@@ -410,6 +410,8 @@ typedef enum {
 
 GType ges_edge_get_type (void);
 
+
+const gchar * ges_track_type_name (GESTrackType type);
 G_END_DECLS
 
 #endif /* __GES_ENUMS_H__ */