gstmodule: Use a macro to register tags

Avoids human error when registering them (like USER_RATING previously
being TRACK_PEAK).
This commit is contained in:
Edward Hervey 2011-01-16 14:55:26 +01:00
parent 59fc7cb120
commit dfb6a5b099

View file

@ -255,116 +255,89 @@ init_gst (void)
PyModule_AddObject (m, "TYPE_TYPE_FIND_FACTORY", PyModule_AddObject (m, "TYPE_TYPE_FIND_FACTORY",
pyg_type_wrapper_new (GST_TYPE_TYPE_FIND_FACTORY)); pyg_type_wrapper_new (GST_TYPE_TYPE_FIND_FACTORY));
#define ADD_GST_TAG(a) PyModule_AddStringConstant(m, "TAG_" #a, GST_TAG_##a)
/* GStreamer core tags */ /* GStreamer core tags */
PyModule_AddStringConstant (m, "TAG_TITLE", GST_TAG_TITLE); ADD_GST_TAG (TITLE);
PyModule_AddStringConstant (m, "TAG_ARTIST", GST_TAG_ARTIST); ADD_GST_TAG (ARTIST);
PyModule_AddStringConstant (m, "TAG_ALBUM", GST_TAG_ALBUM); ADD_GST_TAG (ALBUM);
PyModule_AddStringConstant (m, "TAG_DATE", GST_TAG_DATE); ADD_GST_TAG (DATE);
PyModule_AddStringConstant (m, "TAG_GENRE", GST_TAG_GENRE); ADD_GST_TAG (GENRE);
PyModule_AddStringConstant (m, "TAG_COMMENT", GST_TAG_COMMENT); ADD_GST_TAG (COMMENT);
PyModule_AddStringConstant (m, "TAG_TRACK_NUMBER", GST_TAG_TRACK_NUMBER); ADD_GST_TAG (TRACK_NUMBER);
PyModule_AddStringConstant (m, "TAG_TRACK_COUNT", GST_TAG_TRACK_COUNT); ADD_GST_TAG (TRACK_COUNT);
PyModule_AddStringConstant (m, "TAG_ALBUM_VOLUME_NUMBER", ADD_GST_TAG (ALBUM_VOLUME_NUMBER);
GST_TAG_ALBUM_VOLUME_NUMBER); ADD_GST_TAG (ALBUM_VOLUME_COUNT);
PyModule_AddStringConstant (m, "TAG_ALBUM_VOLUME_COUNT", ADD_GST_TAG (LOCATION);
GST_TAG_ALBUM_VOLUME_COUNT); ADD_GST_TAG (DESCRIPTION);
PyModule_AddStringConstant (m, "TAG_LOCATION", GST_TAG_LOCATION); ADD_GST_TAG (VERSION);
PyModule_AddStringConstant (m, "TAG_DESCRIPTION", GST_TAG_DESCRIPTION); ADD_GST_TAG (ISRC);
PyModule_AddStringConstant (m, "TAG_VERSION", GST_TAG_VERSION); ADD_GST_TAG (ORGANIZATION);
PyModule_AddStringConstant (m, "TAG_ISRC", GST_TAG_ISRC); ADD_GST_TAG (COPYRIGHT);
PyModule_AddStringConstant (m, "TAG_ORGANIZATION", GST_TAG_ORGANIZATION); ADD_GST_TAG (CONTACT);
PyModule_AddStringConstant (m, "TAG_COPYRIGHT", GST_TAG_COPYRIGHT); ADD_GST_TAG (LICENSE);
PyModule_AddStringConstant (m, "TAG_CONTACT", GST_TAG_CONTACT); ADD_GST_TAG (PERFORMER);
PyModule_AddStringConstant (m, "TAG_LICENSE", GST_TAG_LICENSE); ADD_GST_TAG (DURATION);
PyModule_AddStringConstant (m, "TAG_PERFORMER", GST_TAG_PERFORMER); ADD_GST_TAG (CODEC);
PyModule_AddStringConstant (m, "TAG_DURATION", GST_TAG_DURATION); ADD_GST_TAG (VIDEO_CODEC);
PyModule_AddStringConstant (m, "TAG_CODEC", GST_TAG_CODEC); ADD_GST_TAG (AUDIO_CODEC);
PyModule_AddStringConstant (m, "TAG_VIDEO_CODEC", GST_TAG_VIDEO_CODEC); ADD_GST_TAG (BITRATE);
PyModule_AddStringConstant (m, "TAG_AUDIO_CODEC", GST_TAG_AUDIO_CODEC); ADD_GST_TAG (NOMINAL_BITRATE);
PyModule_AddStringConstant (m, "TAG_BITRATE", GST_TAG_BITRATE); ADD_GST_TAG (MINIMUM_BITRATE);
PyModule_AddStringConstant (m, "TAG_NOMINAL_BITRATE", ADD_GST_TAG (MAXIMUM_BITRATE);
GST_TAG_NOMINAL_BITRATE); ADD_GST_TAG (SERIAL);
PyModule_AddStringConstant (m, "TAG_MINIMUM_BITRATE", ADD_GST_TAG (ENCODER);
GST_TAG_MINIMUM_BITRATE); ADD_GST_TAG (ENCODER_VERSION);
PyModule_AddStringConstant (m, "TAG_MAXIMUM_BITRATE", ADD_GST_TAG (TRACK_GAIN);
GST_TAG_MAXIMUM_BITRATE); ADD_GST_TAG (TRACK_PEAK);
PyModule_AddStringConstant (m, "TAG_SERIAL", GST_TAG_SERIAL); ADD_GST_TAG (ALBUM_GAIN);
PyModule_AddStringConstant (m, "TAG_ENCODER", GST_TAG_ENCODER); ADD_GST_TAG (ALBUM_PEAK);
PyModule_AddStringConstant (m, "TAG_ENCODER_VERSION", ADD_GST_TAG (LANGUAGE_CODE);
GST_TAG_ENCODER_VERSION); ADD_GST_TAG (IMAGE);
PyModule_AddStringConstant (m, "TAG_TRACK_GAIN", GST_TAG_TRACK_GAIN); ADD_GST_TAG (PREVIEW_IMAGE);
PyModule_AddStringConstant (m, "TAG_TRACK_PEAK", GST_TAG_TRACK_PEAK); ADD_GST_TAG (EXTENDED_COMMENT);
PyModule_AddStringConstant (m, "TAG_ALBUM_GAIN", GST_TAG_ALBUM_GAIN); ADD_GST_TAG (REFERENCE_LEVEL);
PyModule_AddStringConstant (m, "TAG_ALBUM_PEAK", GST_TAG_ALBUM_PEAK); ADD_GST_TAG (BEATS_PER_MINUTE);
PyModule_AddStringConstant (m, "TAG_LANGUAGE_CODE", GST_TAG_LANGUAGE_CODE); ADD_GST_TAG (LICENSE_URI);
PyModule_AddStringConstant (m, "TAG_IMAGE", GST_TAG_IMAGE); ADD_GST_TAG (COPYRIGHT_URI);
PyModule_AddStringConstant (m, "TAG_PREVIEW_IMAGE", GST_TAG_PREVIEW_IMAGE); ADD_GST_TAG (COMPOSER);
PyModule_AddStringConstant (m, "TAG_EXTENDED_COMMENT", ADD_GST_TAG (ARTIST_SORTNAME);
GST_TAG_EXTENDED_COMMENT); ADD_GST_TAG (ALBUM_SORTNAME);
PyModule_AddStringConstant (m, "TAG_REFERENCE_LEVEL", ADD_GST_TAG (TITLE_SORTNAME);
GST_TAG_REFERENCE_LEVEL);
PyModule_AddStringConstant (m, "TAG_BEATS_PER_MINUTE",
GST_TAG_BEATS_PER_MINUTE);
PyModule_AddStringConstant (m, "TAG_LICENSE_URI", GST_TAG_LICENSE_URI);
PyModule_AddStringConstant (m, "TAG_COPYRIGHT_URI", GST_TAG_COPYRIGHT_URI);
PyModule_AddStringConstant (m, "TAG_COMPOSER", GST_TAG_COMPOSER);
PyModule_AddStringConstant (m, "TAG_ARTIST_SORTNAME",
GST_TAG_ARTIST_SORTNAME);
PyModule_AddStringConstant (m, "TAG_ALBUM_SORTNAME", GST_TAG_ALBUM_SORTNAME);
PyModule_AddStringConstant (m, "TAG_TITLE_SORTNAME", GST_TAG_TITLE_SORTNAME);
#if ((GST_VERSION_MICRO >= 21) || (GST_VERSION_MICRO == 20 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 21) || (GST_VERSION_MICRO == 20 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_ATTACHMENT", GST_TAG_ATTACHMENT); ADD_GST_TAG (ATTACHMENT);
PyModule_AddStringConstant (m, "TAG_KEYWORDS", GST_TAG_KEYWORDS); ADD_GST_TAG (KEYWORDS);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_NAME", ADD_GST_TAG (GEO_LOCATION_NAME);
GST_TAG_GEO_LOCATION_NAME); ADD_GST_TAG (GEO_LOCATION_LATITUDE);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_LATITUDE", ADD_GST_TAG (GEO_LOCATION_LONGITUDE);
GST_TAG_GEO_LOCATION_LATITUDE); ADD_GST_TAG (GEO_LOCATION_ELEVATION);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_LONGITUDE",
GST_TAG_GEO_LOCATION_LONGITUDE);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_ELEVATION",
GST_TAG_GEO_LOCATION_ELEVATION);
#if ((GST_VERSION_MICRO >= 23) || (GST_VERSION_MICRO == 22 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 23) || (GST_VERSION_MICRO == 22 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_SUBTITLE_CODEC", GST_TAG_SUBTITLE_CODEC); ADD_GST_TAG (SUBTITLE_CODEC);
PyModule_AddStringConstant (m, "TAG_HOMEPAGE", GST_TAG_HOMEPAGE); ADD_GST_TAG (HOMEPAGE);
#if ((GST_VERSION_MICRO >= 24) || (GST_VERSION_MICRO == 23 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 24) || (GST_VERSION_MICRO == 23 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_CONTAINER_FORMAT", ADD_GST_TAG (CONTAINER_FORMAT);
GST_TAG_CONTAINER_FORMAT);
#if ((GST_VERSION_MICRO >= 25) || (GST_VERSION_MICRO == 24 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 25) || (GST_VERSION_MICRO == 24 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_ALBUM_ARTIST", GST_TAG_ALBUM_ARTIST); ADD_GST_TAG (ALBUM_ARTIST);
PyModule_AddStringConstant (m, "TAG_ALBUM_ARTIST_SORTNAME", ADD_GST_TAG (ALBUM_ARTIST_SORTNAME);
GST_TAG_ALBUM_ARTIST_SORTNAME);
#if ((GST_VERSION_MICRO >= 26) || (GST_VERSION_MICRO == 25 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 26) || (GST_VERSION_MICRO == 25 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_SHOW_NAME", GST_TAG_SHOW_NAME); ADD_GST_TAG (SHOW_NAME);
PyModule_AddStringConstant (m, "TAG_SHOW_SORTNAME", GST_TAG_SHOW_SORTNAME); ADD_GST_TAG (SHOW_SORTNAME);
PyModule_AddStringConstant (m, "TAG_SHOW_EPISODE_NUMBER", ADD_GST_TAG (SHOW_EPISODE_NUMBER);
GST_TAG_SHOW_EPISODE_NUMBER); ADD_GST_TAG (SHOW_SEASON_NUMBER);
PyModule_AddStringConstant (m, "TAG_SHOW_SEASON_NUMBER", ADD_GST_TAG (LYRICS);
GST_TAG_SHOW_SEASON_NUMBER); ADD_GST_TAG (COMPOSER_SORTNAME);
PyModule_AddStringConstant (m, "TAG_LYRICS", GST_TAG_LYRICS); ADD_GST_TAG (GROUPING);
PyModule_AddStringConstant (m, "TAG_COMPOSER_SORTNAME",
GST_TAG_COMPOSER_SORTNAME);
PyModule_AddStringConstant (m, "TAG_GROUPING", GST_TAG_GROUPING);
#if ((GST_VERSION_MICRO >= 29) || (GST_VERSION_MICRO == 28 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 29) || (GST_VERSION_MICRO == 28 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_COUNTRY", ADD_GST_TAG (GEO_LOCATION_COUNTRY);
GST_TAG_GEO_LOCATION_COUNTRY); ADD_GST_TAG (GEO_LOCATION_CITY);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_CITY", ADD_GST_TAG (GEO_LOCATION_SUBLOCATION);
GST_TAG_GEO_LOCATION_CITY); ADD_GST_TAG (USER_RATING);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_SUBLOCATION",
GST_TAG_GEO_LOCATION_SUBLOCATION);
PyModule_AddStringConstant (m, "TAG_USER_RATING",
GST_TAG_GEO_LOCATION_SUBLOCATION);
#if ((GST_VERSION_MICRO >= 30) || (GST_VERSION_MICRO == 29 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 30) || (GST_VERSION_MICRO == 29 && GST_VERSION_NANO > 0))
PyModule_AddStringConstant (m, "TAG_DEVICE_MANUFACTURER", ADD_GST_TAG (DEVICE_MANUFACTURER);
GST_TAG_DEVICE_MANUFACTURER); ADD_GST_TAG (IMAGE_ORIENTATION);
PyModule_AddStringConstant (m, "TAG_IMAGE_ORIENTATION", ADD_GST_TAG (DEVICE_MODEL);
GST_TAG_IMAGE_ORIENTATION); ADD_GST_TAG (GEO_LOCATION_MOVEMENT_SPEED);
PyModule_AddStringConstant (m, "TAG_DEVICE_MODEL", GST_TAG_DEVICE_MODEL); ADD_GST_TAG (GEO_LOCATION_MOVEMENT_DIRECTION);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_MOVEMENT_SPEED", ADD_GST_TAG (GEO_LOCATION_CAPTURE_DIRECTION);
GST_TAG_GEO_LOCATION_MOVEMENT_SPEED);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_MOVEMENT_DIRECTION",
GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION);
PyModule_AddStringConstant (m, "TAG_GEO_LOCATION_CAPTURE_DIRECTION",
GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION);
#if ((GST_VERSION_MICRO >= 31) || (GST_VERSION_MICRO == 30 && GST_VERSION_NANO > 0)) #if ((GST_VERSION_MICRO >= 31) || (GST_VERSION_MICRO == 30 && GST_VERSION_NANO > 0))
#define ADD_FACTORY_TYPE(a) PyModule_AddObject(m, "ELEMENT_FACTORY_TYPE_" #a,\ #define ADD_FACTORY_TYPE(a) PyModule_AddObject(m, "ELEMENT_FACTORY_TYPE_" #a,\
PyLong_FromUnsignedLongLong(GST_ELEMENT_FACTORY_TYPE_##a)) PyLong_FromUnsignedLongLong(GST_ELEMENT_FACTORY_TYPE_##a))