[grilo] core: Add GRL_METADATA_KEY_ALBUM_DISC_NUMBER
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo] core: Add GRL_METADATA_KEY_ALBUM_DISC_NUMBER
- Date: Fri, 13 May 2016 15:02:39 +0000 (UTC)
commit 29c98850cdc1e4334818d68a00b06255d0fa072d
Author: Marinus Schraal <mschraal src gnome org>
Date: Mon Feb 8 20:16:26 2016 +0100
core: Add GRL_METADATA_KEY_ALBUM_DISC_NUMBER
A property for the disc number when an album is part of a multi-album
set.
https://bugzilla.gnome.org/show_bug.cgi?id=761868
src/data/grl-media.c | 33 +++++++++++++++++++++++++++++++++
src/data/grl-media.h | 4 ++++
src/grl-metadata-key.c | 11 +++++++++++
src/grl-metadata-key.h | 1 +
4 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/src/data/grl-media.c b/src/data/grl-media.c
index a361665..e87097d 100644
--- a/src/data/grl-media.c
+++ b/src/data/grl-media.c
@@ -1745,6 +1745,24 @@ grl_media_set_album (GrlMedia *media, const gchar *album)
}
/**
+ * grl_media_set_album_disc_number:
+ * @media: the media instance
+ * @disc_number: the disc number within an album
+ *
+ * Set the disc number of the media for multi-disc album sets.
+ *
+ * Since: 0.3.1
+ */
+void
+grl_media_set_album_disc_number (GrlMedia *media, gint disc_number)
+{
+ g_return_if_fail (GRL_IS_MEDIA (media));
+ grl_data_set_int (GRL_DATA (media),
+ GRL_METADATA_KEY_ALBUM_DISC_NUMBER,
+ disc_number);
+}
+
+/**
* grl_media_set_artist:
* @media: the media instance
* @artist: the audio's artist
@@ -3120,6 +3138,21 @@ grl_media_get_album (GrlMedia *media)
}
/**
+ * grl_media_get_album_disc_number:
+ * @media: the media instance
+ *
+ * Returns: the disc number of the media for multi-disc album sets.
+ *
+ * Since: 0.3.1
+ */
+gint
+grl_media_get_album_disc_number (GrlMedia *media)
+{
+ g_return_val_if_fail (GRL_MEDIA (media), 0);
+ return grl_data_get_int (GRL_DATA (media), GRL_METADATA_KEY_ALBUM_DISC_NUMBER);
+}
+
+/**
* grl_media_get_artist:
* @media: the media instance
*
diff --git a/src/data/grl-media.h b/src/data/grl-media.h
index a0a6455..97086ca 100644
--- a/src/data/grl-media.h
+++ b/src/data/grl-media.h
@@ -191,6 +191,8 @@ void grl_media_set_genre (GrlMedia *media, const gchar *genre);
void grl_media_set_album (GrlMedia *media, const gchar *album);
+void grl_media_set_album_disc_number (GrlMedia *media, gint disc_number);
+
void grl_media_set_artist (GrlMedia *media, const gchar *artist);
void grl_media_set_width (GrlMedia *media, gint width);
@@ -360,6 +362,8 @@ const gchar *grl_media_get_genre_nth (GrlMedia *media, guint index);
const gchar *grl_media_get_album (GrlMedia *media);
+gint grl_media_get_album_disc_number (GrlMedia *media);
+
const gchar *grl_media_get_artist (GrlMedia *media);
const gchar *grl_media_get_artist_nth (GrlMedia *media, guint index);
diff --git a/src/grl-metadata-key.c b/src/grl-metadata-key.c
index b49ef09..fb6f1cd 100644
--- a/src/grl-metadata-key.c
+++ b/src/grl-metadata-key.c
@@ -638,6 +638,17 @@ grl_metadata_key_setup_system_keys (GrlRegistry *registry)
GRL_METADATA_KEY_AUDIO_TRACK,
GRL_METADATA_KEY_URL,
NULL);
+
+ grl_registry_register_metadata_key_system (registry,
+ g_param_spec_int ("album-disc-number",
+ "Album disc number",
+ "The disc number for a multi-disc album set",
+ 0, G_MAXINT,
+ 0,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
+ GRL_METADATA_KEY_ALBUM_DISC_NUMBER,
+ GRL_METADATA_KEY_URL,
+ NULL);
}
/**
diff --git a/src/grl-metadata-key.h b/src/grl-metadata-key.h
index 681aa97..cce4a12 100644
--- a/src/grl-metadata-key.h
+++ b/src/grl-metadata-key.h
@@ -120,6 +120,7 @@ typedef enum {
#define GRL_METADATA_KEY_MB_RECORDING_ID 55
#define GRL_METADATA_KEY_EPISODE_TITLE 56
#define GRL_METADATA_KEY_AUDIO_TRACK 57
+#define GRL_METADATA_KEY_ALBUM_DISC_NUMBER 58
G_BEGIN_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]