From 4061f2bed3ed22262305c19e534f1007f7febbe9 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Mon, 6 Dec 2010 17:31:10 +0000 Subject: string updates working properly now --- src/mpris2-controller.vala | 4 ++-- src/player-item.vala | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mpris2-controller.vala b/src/mpris2-controller.vala index 3adaad6..87f0307 100644 --- a/src/mpris2-controller.vala +++ b/src/mpris2-controller.vala @@ -94,10 +94,10 @@ public class Mpris2Controller : GLib.Object GLib.HashTable changed_updates = this.player.Metadata; Variant? artist_v = this.player.Metadata.lookup("xesam:artist"); if(artist_v != null){ - string[] artists = (string[])this.player.Metadata.lookup("xesam:artist"); + string[] artists = (string[])this.player.Metadata.lookup("xesam:artist"); string display_artists = string.joinv(", ", artists); changed_updates.replace("xesam:artist", display_artists); - debug("artist : %s", display_artists); + debug("artist : %s", (string)changed_updates.lookup("xesam:artist")); } Variant? length_v = this.player.Metadata.lookup("mpris:length"); if(length_v != null){ diff --git a/src/player-item.vala b/src/player-item.vala index 51471d1..54d0d89 100644 --- a/src/player-item.vala +++ b/src/player-item.vala @@ -48,7 +48,7 @@ public class PlayerItem : Dbusmenu.Menuitem * and attmepts to update the appropriate props on the object. * Album art is handled separately to deal with remote and local file paths. */ - public void update(HashTable data, HashSet attributes) + public void update(HashTable data, HashSet attributes) { debug("PlayerItem::update()"); if(data == null){ @@ -60,29 +60,29 @@ public class PlayerItem : Dbusmenu.Menuitem string[] input_keys = property.split("-"); string search_key = input_keys[input_keys.length-1 : input_keys.length][0]; debug("search key = %s", search_key); - Value? v = data.lookup(search_key); + Variant? v = data.lookup(search_key); - if (v.holds (typeof (string))){ + if (v.is_of_type ( VariantType.STRING )){ string update = v.get_string().strip(); debug("with value : %s", update); if(property.contains("mpris:artUrl")){ // We know its a metadata instance because thats the only // object with the arturl prop MetadataMenuitem metadata = this as MetadataMenuitem; - metadata.fetch_art(update.strip(), property); - continue; + metadata.fetch_art ( update, property ); + continue; } this.property_set(property, update); } - else if (v.holds (typeof (int))){ - debug("with value : %i", v.get_int()); - this.property_set_int(property, v.get_int()); + else if (v.is_of_type (VariantType.INT32 )){ + debug("with value : %i", v.get_int32()); + this.property_set_int(property, v.get_int32()); } - else if (v.holds (typeof (int64))){ + else if (v.is_of_type (VariantType.INT64 )){ debug("with value : %i", (int)v.get_int64()); this.property_set_int(property, (int)v.get_int64()); } - else if(v.holds (typeof (bool))){ + else if(v.is_of_type ( VariantType.BOOLEAN )){ debug("with value : %s", v.get_boolean().to_string()); this.property_set_bool(property, v.get_boolean()); } -- cgit v1.2.3