From f4da977276f338a8ddb8a769e16ee04c78a64f78 Mon Sep 17 00:00:00 2001
From: Jonathan Cremin <jonathan@crem.in>
Date: Sat, 6 Dec 2014 10:45:58 +0000
Subject: [PATCH] Add album to matched tracks on rdio

---
 lib/services/rdio.js | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/lib/services/rdio.js b/lib/services/rdio.js
index c2d38a5..ad4b8ff 100644
--- a/lib/services/rdio.js
+++ b/lib/services/rdio.js
@@ -35,7 +35,7 @@ module.exports.lookupId = function(id) {
     var parsed = parse(result.shortUrl)
     var id = parsed.path.replace("/x/", "").replace("/", "");
     var type = result.album ? "track" : "album";
-    deferred.resolve({
+    var item = {
       service: "rdio",
       type: type,
       id: id,
@@ -46,7 +46,13 @@ module.exports.lookupId = function(id) {
       artist: {
         name: result.artist
       }
-    });
+    };
+    if (type == "track") {
+      item.album = {
+        name: result.album
+      };
+    }
+    deferred.resolve(item);
   });
   return deferred.promise;
 };
@@ -76,7 +82,7 @@ module.exports.parseUrl = function(url) {
     var parsed = parse(result.shortUrl)
     var id = parsed.path.replace("/x/", "").replace("/", "");
     var type = result.album ? "track" : "album";
-    deferred.resolve({
+    var item = {
       service: "rdio",
       type: type,
       id: id,
@@ -87,7 +93,13 @@ module.exports.parseUrl = function(url) {
       artist: {
         name: result.artist
       }
-    });
+    };
+    if (type == "track") {
+      item.album = {
+        name: result.album
+      };
+    }
+    deferred.resolve(item);
   });
   return deferred.promise;
 };
@@ -136,7 +148,7 @@ module.exports.search = function(data) {
     } else {
       var parsed = parse(result.shortUrl)
       var id = parsed.path.replace("/x/", "").replace("/", "");
-      deferred.resolve({
+      var item = {
         service: "rdio",
         type: type,
         id: id,
@@ -147,7 +159,13 @@ module.exports.search = function(data) {
         artist: {
           name: result.artist
         }
-      });
+      };
+      if (type == "track") {
+        item.album = {
+          name: result.album
+        };
+      }
+      deferred.resolve(item);
     }
   });
   return deferred.promise;