From 659a45fdf598b6f8ddaca083dad6ff95449c3ca8 Mon Sep 17 00:00:00 2001 From: "Johnny @PC" Date: Fri, 14 Feb 2014 13:04:45 +0100 Subject: [PATCH] Fixxed Login Issues | --- SpotifyAPI/RemoteHandler.cs | 11 ++++++++--- SpotifyAPI/SpotifyAPI.cs | 6 +++--- SpotifyAPI/SpotifyEventHandler.cs | 15 ++++++++------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/SpotifyAPI/RemoteHandler.cs b/SpotifyAPI/RemoteHandler.cs index 6d7c3149..6eff3477 100644 --- a/SpotifyAPI/RemoteHandler.cs +++ b/SpotifyAPI/RemoteHandler.cs @@ -31,10 +31,13 @@ namespace SpotifyAPIv1 wc.Headers.Add("Origin", "https://embed.spotify.com"); wc.Headers.Add("Referer", "https://embed.spotify.com/?uri=spotify:track:5Zp4SWOpbuOdnsxLqwgutt"); } - internal void Init() + internal Boolean Init() { oauthKey = GetOAuthKey(); cfidKey = GetCFID(); + if (cfidKey == "") + return false; + return true; } internal void SendPauseRequest() { @@ -81,7 +84,7 @@ namespace SpotifyAPIv1 if (d.Count != 1) throw new Exception("CFID couldn't be loaded"); if (d[0].error != null) - throw new Exception("SpotifyWebHelper Error: " + d[0].error.message); + return ""; return d[0].token; } internal string query(string request, bool oauth, bool cfid, int wait) @@ -111,7 +114,9 @@ namespace SpotifyAPIv1 string response = ""; try { - response = "[ " + wc.DownloadString(a) + " ]"; + //Need to find a better solution... + if(SpotifyAPI.IsSpotifyRunning()) + response = "[ " + wc.DownloadString(a) + " ]"; } catch (Exception z) { diff --git a/SpotifyAPI/SpotifyAPI.cs b/SpotifyAPI/SpotifyAPI.cs index 522f7886..7a87474b 100644 --- a/SpotifyAPI/SpotifyAPI.cs +++ b/SpotifyAPI/SpotifyAPI.cs @@ -21,9 +21,9 @@ namespace SpotifyAPIv1 /// /// Connects with Spotify. Needs to be called before all other SpotifyAPI functions /// - public void Connect() + public Boolean Connect() { - rh.Init(); + return rh.Init(); } /// /// Returns the MusicHandler @@ -95,7 +95,7 @@ namespace SpotifyAPIv1 /// public void Update() { - if (!SpotifyAPI.IsSpotifyWebHelperRunning()) + if (!SpotifyAPI.IsSpotifyWebHelperRunning() || !SpotifyAPI.IsSpotifyRunning()) return; mh.Update(rh.Update()); } diff --git a/SpotifyAPI/SpotifyEventHandler.cs b/SpotifyAPI/SpotifyEventHandler.cs index 7e14654a..3b4cecbb 100644 --- a/SpotifyAPI/SpotifyEventHandler.cs +++ b/SpotifyAPI/SpotifyEventHandler.cs @@ -42,8 +42,6 @@ namespace SpotifyAPIv1 public void ListenForEvents(Boolean listen) { timer.Enabled = listen; - if (listen) - timer.Start(); } /// /// Sets a synchronizing object, so you don't need to Invoke @@ -65,13 +63,16 @@ namespace SpotifyAPIv1 StatusResponse new_response = mh.GetStatusResponse(); if (!new_response.running && new_response.track == null) return; - if (new_response.track.GetTrackName() != response.track.GetTrackName() && OnTrackChange != null) + if (new_response.track != null && response.track != null) { - OnTrackChange(new TrackChangeEventArgs() + if (new_response.track.GetTrackName() != response.track.GetTrackName() && OnTrackChange != null) { - old_track = response.track, - new_track = new_response.track - }); + OnTrackChange(new TrackChangeEventArgs() + { + old_track = response.track, + new_track = new_response.track + }); + } } if (new_response.playing != response.playing && OnPlayStateChange != null) {