From 313036aa15a2421ef07e3bef8cba353281c7db79 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 20 Dec 2012 20:21:51 -0300 Subject: [PATCH] Add a utility method to get the name of a GESTrackType API: ges_track_type_name --- ges/ges-enums.c | 32 +++++++++++++++++++++++--------- ges/ges-enums.h | 2 ++ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/ges/ges-enums.c b/ges/ges-enums.c index c6c6554..b77ac08 100644 --- a/ges/ges-enums.c +++ b/ges/ges-enums.c @@ -30,19 +30,33 @@ #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 diff --git a/ges/ges-enums.h b/ges/ges-enums.h index 3e8bc99..42011c9 100644 --- a/ges/ges-enums.h +++ b/ges/ges-enums.h @@ -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__ */ -- 2.7.4