vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Oct 7 22:35:44 2010 +0300| [8c723814b224f467abdc3d823f74efa25d01ac1c] | committer: Rémi Denis-Courmont
Speed up vlc_meta_TypeToLocalizedString() > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8c723814b224f467abdc3d823f74efa25d01ac1c --- src/input/meta.c | 43 +++++++++++++++++++++++-------------------- 1 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/input/meta.c b/src/input/meta.c index bff1b7d..a285d70 100644 --- a/src/input/meta.c +++ b/src/input/meta.c @@ -26,6 +26,8 @@ # include "config.h" #endif +#include <assert.h> + #include <vlc_common.h> #include <vlc_playlist.h> #include <vlc_url.h> @@ -47,28 +49,29 @@ struct vlc_meta_t /* FIXME bad name convention */ const char * vlc_meta_TypeToLocalizedString( vlc_meta_type_t meta_type ) { - switch( meta_type ) + static const char posix_names[][16] = { - case vlc_meta_Title: return _("Title"); - case vlc_meta_Artist: return _("Artist"); - case vlc_meta_Genre: return _("Genre"); - case vlc_meta_Copyright: return _("Copyright"); - case vlc_meta_Album: return _("Album"); - case vlc_meta_TrackNumber: return _("Track number"); - case vlc_meta_Description: return _("Description"); - case vlc_meta_Rating: return _("Rating"); - case vlc_meta_Date: return _("Date"); - case vlc_meta_Setting: return _("Setting"); - case vlc_meta_URL: return _("URL"); - case vlc_meta_Language: return _("Language"); - case vlc_meta_NowPlaying: return _("Now Playing"); - case vlc_meta_Publisher: return _("Publisher"); - case vlc_meta_EncodedBy: return _("Encoded by"); - case vlc_meta_ArtworkURL: return _("Artwork URL"); - case vlc_meta_TrackID: return _("Track ID"); - - default: abort(); - } + [vlc_meta_Title] = N_("Title"), + [vlc_meta_Artist] = N_("Artist"), + [vlc_meta_Genre] = N_("Genre"), + [vlc_meta_Copyright] = N_("Copyright"), + [vlc_meta_Album] = N_("Album"), + [vlc_meta_TrackNumber] = N_("Track number"), + [vlc_meta_Description] = N_("Description"), + [vlc_meta_Rating] = N_("Rating"), + [vlc_meta_Date] = N_("Date"), + [vlc_meta_Setting] = N_("Setting"), + [vlc_meta_URL] = N_("URL"), + [vlc_meta_Language] = N_("Language"), + [vlc_meta_NowPlaying] = N_("Now Playing"), + [vlc_meta_Publisher] = N_("Publisher"), + [vlc_meta_EncodedBy] = N_("Encoded by"), + [vlc_meta_ArtworkURL] = N_("Artwork URL"), + [vlc_meta_TrackID] = N_("Track ID"), + }; + + assert (meta_type < (sizeof(posix_names) / sizeof(posix_names[0]))); + return vlc_gettext (posix_names[meta_type]); }; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
