[grilo-plugins] grl-tracker-utils: Add setters for new writable keys
- From: Victor Toso <victortoso src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo-plugins] grl-tracker-utils: Add setters for new writable keys
- Date: Wed, 11 Sep 2019 14:57:28 +0000 (UTC)
commit a636a51acb145c520b9e4c0806a914c2f88323cf
Author: Sumaid Syed <sumaidsyed gmail com>
Date: Fri Jul 26 15:35:14 2019 +0530
grl-tracker-utils: Add setters for new writable keys
https://gitlab.gnome.org/GNOME/gnome-music/issues/293
src/tracker/grl-tracker-utils.c | 47 ++++++++++++++++++++++++++++++-----------
1 file changed, 35 insertions(+), 12 deletions(-)
---
diff --git a/src/tracker/grl-tracker-utils.c b/src/tracker/grl-tracker-utils.c
index dece73f0..74b790dc 100644
--- a/src/tracker/grl-tracker-utils.c
+++ b/src/tracker/grl-tracker-utils.c
@@ -131,6 +131,26 @@ set_title (TrackerSparqlCursor *cursor,
grl_media_set_title (media, str);
}
+static void
+set_string_metadata_keys (TrackerSparqlCursor *cursor,
+ gint column,
+ GrlMedia *media,
+ GrlKeyID key)
+{
+ const gchar *str = tracker_sparql_cursor_get_string (cursor, column, NULL);
+ grl_data_set_string (GRL_DATA (media), key, str);
+}
+
+static void
+set_int_metadata_keys (TrackerSparqlCursor *cursor,
+ gint column,
+ GrlMedia *media,
+ GrlKeyID key)
+{
+ const gint64 value = tracker_sparql_cursor_get_integer (cursor, column);
+ grl_data_set_int (GRL_DATA (media), key, value);
+}
+
static tracker_grl_sparql_t *
insert_key_mapping (GrlKeyID grl_key,
const gchar *sparql_key_attr,
@@ -276,20 +296,22 @@ grl_tracker_setup_key_mappings (void)
"nfo:duration(?urn)",
"audio");
- insert_key_mapping (GRL_METADATA_KEY_MB_TRACK_ID,
- "nmm:mbTrackID",
- "nmm:mbTrackID(?urn)",
- "audio");
+ insert_key_mapping_with_setter (GRL_METADATA_KEY_MB_TRACK_ID,
+ "nmm:mbTrackID",
+ "nmm:mbTrackID(?urn)",
+ "audio",
+ set_string_metadata_keys);
insert_key_mapping (GRL_METADATA_KEY_MB_ARTIST_ID,
"nmm:mbArtistID",
"nmm:mbArtistID(?urn)",
"audio");
- insert_key_mapping (GRL_METADATA_KEY_MB_RECORDING_ID,
- "nmm:mbRecordingID",
- "nmm:mbRecordingID(?urn)",
- "audio");
+ insert_key_mapping_with_setter (GRL_METADATA_KEY_MB_RECORDING_ID,
+ "nmm:mbRecordingID",
+ "nmm:mbRecordingID(?urn)",
+ "audio",
+ set_string_metadata_keys);
insert_key_mapping (GRL_METADATA_KEY_MB_RELEASE_ID,
"nmm:mbReleaseID",
@@ -424,10 +446,11 @@ grl_tracker_setup_key_mappings (void)
"media");
}
- insert_key_mapping (GRL_METADATA_KEY_TRACK_NUMBER,
- "nmm:trackNumber",
- "nmm:trackNumber(?urn)",
- "audio");
+ insert_key_mapping_with_setter (GRL_METADATA_KEY_TRACK_NUMBER,
+ "nmm:trackNumber",
+ "nmm:trackNumber(?urn)",
+ "audio",
+ set_int_metadata_keys);
insert_key_mapping_with_setter (GRL_METADATA_KEY_FAVOURITE,
"nao:hasTag",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]