[Multi-valued V2 (grilo) 00/12]

Here is a new version of patches, after taking in account Iago's comments.

Note that in order to keep the history, I've continued from the last commit,
merging GrlData and GrlMultiData, and adding some convenience API in GrlMedia
to handle multiple values.

Thus, I've added some api to add several artists and several lyrics (I did for
all keys that made sense for me having several values), and also I've added
some API to make it easier to handle the already defined related keys without
needing to use GrlProperty, as Iago suggested.

As example, we have right now:

void grl_media_video_add_url_data (GrlMediaVideo *video,
                                   const gchar *url,
                                   const gchar *mime,
                                   gfloat framerate,
                                   gint width,
                                   gint height)

const gchar *grl_media_video_get_url_daata (GrlMediaVideo *video,
                                           gchar **mime,
                                           gfloat *framerate,
                                           gint *width,
                                           gint *height);

that allows to add url and related keys, and also retrieve it.


Juan A. Suarez Romero (12):
  core: Add a new class to handle multivalued properties.
  core: Create relations between keys
  core: Add place to store related keys and values.
  core: Add API to handle multivalued data
  core: Create relation with key "url"
  core: Set an order when creating a relation ship
  core: Create property with an initial set of keys
  core: Use a representative element when handling multivalued data
  core: Add API to get single multivalued elements
  core: Add its own API to GrlProperty
  core: Merge GrlDataMulti into GrlData
  core: Add convenience API in GrlMediaFoo

 src/Makefile.am            |    2 +
 src/data/grl-data.c        |  665 +++++++++++++++++++++++++++++++++++++-------
 src/data/grl-data.h        |   25 ++
 src/data/grl-media-audio.c |  192 +++++++++++++
 src/data/grl-media-audio.h |   20 ++
 src/data/grl-media-image.c |   57 ++++
 src/data/grl-media-image.h |   23 ++
 src/data/grl-media-video.c |  134 +++++++++
 src/data/grl-media-video.h |   27 ++
 src/data/grl-media.c       |  209 ++++++++++++++
 src/data/grl-media.h       |   28 ++
 src/data/grl-property.c    |  537 +++++++++++++++++++++++++++++++++++
 src/data/grl-property.h    |  154 ++++++++++
 src/grl-metadata-key.c     |   17 ++
 src/grl-plugin-registry.c  |   74 +++++
 src/grl-plugin-registry.h  |    7 +
 16 files changed, 2064 insertions(+), 107 deletions(-)
 create mode 100644 src/data/grl-property.c
 create mode 100644 src/data/grl-property.h


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]