static void
grl_gravatar_source_plugin_register_keys (GrlRegistry *registry,
                                          GrlPlugin   *plugin)
{
  GRL_METADATA_KEY_ARTIST_AVATAR =
    register_gravatar_key (registry,
                           "artist-avatar",
                           "ArtistAvatar",
                           "Avatar for the artist");

  GRL_METADATA_KEY_AUTHOR_AVATAR =
    register_gravatar_key (registry,
                           "author-avatar",
                            "AuthorAvatar",
                            "Avatar for the author");

  /* Create relationship */
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_ARTIST,
                                               GRL_METADATA_KEY_ARTIST_AVATAR);

  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_AUTHOR,
                                               GRL_METADATA_KEY_AUTHOR_AVATAR);
}
Exemple #2
0
void
grl_metadata_key_setup_system_keys (GrlRegistry *registry)
{
  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("album",
                                                                "Album",
                                                                "Album the media belongs to",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_ALBUM,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("artist",
                                                                "Artist",
                                                                "Main artist",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_ARTIST,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("author",
                                                                "Author",
                                                                "Creator of the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_AUTHOR,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_boxed ("publishing-date",
                                                               "Publishing date",
                                                               "When the media was originally published",
                                                               G_TYPE_DATE_TIME,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_PUBLICATION_DATE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("description",
                                                                "Description",
                                                                "Description of the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_DESCRIPTION,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("genre",
                                                                "Genre",
                                                                "Genre of the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_GENRE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("id",
                                                                "ID",
                                                                "Identifier of media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_ID,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("last-played-time",
                                                                "LastPlayedTime",
                                                                "Last time the media was played",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_LAST_PLAYED,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("lyrics",
                                                                "Lyrics",
                                                                "Song lyrics",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_LYRICS,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("mime-type",
                                                                "MimeType",
                                                                "Media mime type",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_MIME,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("site",
                                                                "Site",
                                                                "Site",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_SITE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("source",
                                                                "Source",
                                                                "Source ID providing the content",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_SOURCE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("thumbnail",
                                                                "Thumbnail",
                                                                "Thumbnail image",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_THUMBNAIL,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_boxed ("thumbnail-binary",
                                                               "Thumbnail Binary",
                                                               "Thumbnail binary image",
                                                               G_TYPE_BYTE_ARRAY,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_THUMBNAIL_BINARY,

                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("title",
                                                                "Title",
                                                                "Title of the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_TITLE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("url",
                                                                "URL",
                                                                "Media URL",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_URL,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("external-url",
                                                                "External URL",
                                                                "External location where the media can be played back, usually a website",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_EXTERNAL_URL,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("external-player",
                                                                "External Player URL",
                                                                "URL of an external player that can be used to play the resource (usually a Flash player)",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_EXTERNAL_PLAYER,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("studio",
                                                                "Studio",
                                                                "Studio the media is from",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_STUDIO,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("certificate",
                                                                "Certificate",
                                                                "Age certificate of the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_CERTIFICATE,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("license",
                                                                "License",
                                                                "The license of the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_LICENSE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("bitrate",
                                                             "Bitrate",
                                                             "Media bitrate in KBits/s",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_BITRATE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("childcount",
                                                             "Childcount",
                                                             "Number of items contained in a container",
                                                             -1, G_MAXINT,
                                                             GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_CHILDCOUNT,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("duration",
                                                             "Duration",
                                                             "Media duration in seconds",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_DURATION,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("height",
                                                             "Height",
                                                             "Height of media ('y' axis)",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_HEIGHT,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("playback-interrupted-time",
                                                             "PlaybackInterruptedTime",
                                                             "Time at which playback was interrupted",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_LAST_POSITION,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("play-count",
                                                             "PlayCount",
                                                             "How many times media was played",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_PLAY_COUNT,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("width",
                                                             "Width",
                                                             "Width of media ('x' axis)",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_WIDTH,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_float ("framerate",
                                                               "Framerate",
                                                               "Frames per second",
                                                               0, G_MAXFLOAT,
                                                               0,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_FRAMERATE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_float ("rating",
                                                               "Rating",
                                                               "Media rating",
                                                               0, G_MAXFLOAT,
                                                               0,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_RATING,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("season",
                                                             "Season",
                                                             "Season of a show",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_SEASON,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("episode",
                                                             "Episode",
                                                             "Episode of a show",
                                                             0, G_MAXINT,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_EPISODE,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("show",
                                                                "Show",
                                                                "Name of a show",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_SHOW,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_boxed ("creation-date",
                                                               "Creation date",
                                                               "Creation date",
                                                               G_TYPE_DATE_TIME,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_CREATION_DATE,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("camera-model",
                                                                "Camera model",
                                                                "Name of the camera model used to take the photo",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_CAMERA_MODEL,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("orientation",
                                                             "Picture orientation",
                                                             "Orientation of the photo in degree (clockwise)",
                                                             0, 359,
                                                             0,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_ORIENTATION,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_boolean ("flash-used",
                                                                 "Flash used",
                                                                 "Whether or not a flash was used to take that picture",
                                                                 FALSE,
                                                                 G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_FLASH_USED,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_float ("exposure-time",
                                                               "Exposure time",
                                                               "Exposure time of the photo in seconds",
                                                               0, G_MAXFLOAT,
                                                               0,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_EXPOSURE_TIME,
                                           NULL);


  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_float ("iso-speed",
                                                               "ISO speed",
                                                               "Photographic film's sensitivity to light as ISO value",
                                                               0, G_MAXFLOAT,
                                                               0,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_ISO_SPEED,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_int ("track-number",
                                                             "Track number",
                                                             "Track number inside the album",
                                                             1, G_MAXINT,
                                                             1,
                                                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_TRACK_NUMBER,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_boxed ("modification-date",
                                                               "Modification date",
                                                               "When the media was last modified",
                                                               G_TYPE_DATE_TIME,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_MODIFICATION_DATE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_float ("start-time",
                                                               "Start Time",
                                                               "Start offset in seconds relative to container",
                                                               0.0, G_MAXFLOAT,
                                                               0.0,
                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_START_TIME,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_boolean ("favourite",
                                                                 "Favourite",
                                                                 "Whether or not the element was marked as favourite",
                                                                 FALSE,
                                                                 G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_FAVOURITE,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("region",
                                                                "Region",
                                                                "Region in which the media was published",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_REGION,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("keyword",
                                                                "keyword",
                                                                "A keyword describing the media",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_KEYWORD,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("performer",
                                                                "performer",
                                                                "An actor performing in the movie",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_PERFORMER,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("producer",
                                                                "Producer",
                                                                "Producer of the movie",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_PRODUCER,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("director",
                                                                "Director",
                                                                "Director of the movie",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_DIRECTOR,
                                           NULL);

  grl_registry_register_metadata_key_full (registry,
                                           g_param_spec_string ("original-title",
                                                                "Original Title",
                                                                "Original, untranslated title of the movie",
                                                                NULL,
                                                                G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
                                           GRL_METADATA_KEY_ORIGINAL_TITLE,
                                           NULL);

  /* Create the relations */
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_URL,
                                               GRL_METADATA_KEY_MIME);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_URL,
                                               GRL_METADATA_KEY_BITRATE);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_URL,
                                               GRL_METADATA_KEY_FRAMERATE);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_URL,
                                               GRL_METADATA_KEY_HEIGHT);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_URL,
                                               GRL_METADATA_KEY_WIDTH);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_URL,
                                               GRL_METADATA_KEY_START_TIME);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_REGION,
                                               GRL_METADATA_KEY_PUBLICATION_DATE);
  grl_registry_register_metadata_key_relation (registry,
                                               GRL_METADATA_KEY_REGION,
                                               GRL_METADATA_KEY_CERTIFICATE);
}