internal override RequestParameters getParams () { RequestParameters p = new Lastfm.RequestParameters(); p["country"] = Name; return p; }
internal override RequestParameters getParams () { RequestParameters p = new Lastfm.RequestParameters(); p["venue"] = ID.ToString(); return p; }
internal override RequestParameters getParams () { RequestParameters p = new Lastfm.RequestParameters(); p["artist"] = Artist.Name; return p; }
internal override RequestParameters getParams () { RequestParameters p = new Lastfm.RequestParameters(); p["playlistURL"] = PlaylistUrl; return p; }
/// <summary> /// Called internally by the scrobbling thread. /// </summary> private void threadedSubmit() { StreamReader reader = new StreamReader(CacheDir + cacheFileName, Encoding.Unicode); string[] lines = reader.ReadToEnd().Trim().Split('\n'); reader.Close(); foreach (string line in lines) { Lastfm.RequestParameters p = new Lastfm.RequestParameters(line); // Append the "[0]" to the key names Lastfm.RequestParameters np = new Lastfm.RequestParameters(); foreach (string key in p.Keys) { np[key + "[0]"] = p[key]; } Connection.Scrobble(np); } // It won't get to this point unless // all the scrobbling was a success. File.Delete(CacheDir + cacheFileName); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["user"] = User.Name; return p; }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["artist"] = Artist.Name; if (!string.IsNullOrEmpty(Lang)) p["lang"] = Lang; return p; }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["event"] = ID.ToString(); return(p); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["artist"] = this.Name; return(p); }
internal override RequestParameters getParams () { RequestParameters p = new Lastfm.RequestParameters(); p["track"] = Track.Title; p["artist"] = Track.Artist.Name; return p; }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["country"] = Name; return(p); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["user"] = User.Name; return(p); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["artist"] = Album.Artist.Name; p["album"] = Album.Title; return(p); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["track"] = Track.Title; p["artist"] = Track.Artist.Name; return(p); }
internal override RequestParameters getParams () { RequestParameters p = new Lastfm.RequestParameters(); p["type1"] = firstType; p["type2"] = secondType; p["value1"] = firstValue; p["value2"] = secondValue; return p; }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["artist"] = Artist.Name; if (!string.IsNullOrEmpty(Lang)) { p["lang"] = Lang; } return(p); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); p["type1"] = firstType; p["type2"] = secondType; p["value1"] = firstValue; p["value2"] = secondValue; return(p); }
internal override RequestParameters getParams() { RequestParameters p = new Lastfm.RequestParameters(); foreach (string key in searchTerms.Keys) { p[key] = searchTerms[key]; } return(p); }
/// <summary> /// Returns an artist by their MusicBrainz artist id. /// </summary> /// <param name="mbid"> /// A <see cref="System.String"/> /// </param> /// <param name="session"> /// A <see cref="Session"/> /// </param> /// <returns> /// A <see cref="Artist"/> /// </returns> public static Artist GetByMBID(string mbid, Session session) { RequestParameters p = new Lastfm.RequestParameters(); p["mbid"] = mbid; XmlDocument doc = (new Request("artist.getInfo", session, p)).execute(); string name = doc.GetElementsByTagName("name")[0].InnerText; return(new Artist(name, session)); }
/// <summary> /// Returns a track by its MusicBrainz id. /// </summary> /// <param name="mbid"> /// A <see cref="System.String"/> /// </param> /// <param name="session"> /// A <see cref="Session"/> /// </param> /// <returns> /// A <see cref="Track"/> /// </returns> public static Track GetByMBID(string mbid, Session session) { RequestParameters p = new Lastfm.RequestParameters(); p["mbid"] = mbid; XmlDocument doc = (new Request("track.getInfo", session, p)).execute(); string title = doc.GetElementsByTagName("name")[0].InnerText; string artist = doc.GetElementsByTagName("name")[1].InnerText; return(new Track(artist, title, session)); }
/// <summary> /// Complete the web authentication. /// </summary> public void AuthenticateViaWeb() { RequestParameters p = new Lastfm.RequestParameters(); p["token"] = token; Lastfm.Services.Request r = new Lastfm.Services.Request("auth.getSession", this, p); r.signIt(); XmlDocument doc = r.execute(); SessionKey = doc.GetElementsByTagName("key")[0].InnerText; }
/// <summary> /// Authenticate this session using a username and a md5 hash of the password. /// </summary> /// <param name="username"> /// A <see cref="System.String"/> /// </param> /// <param name="md5Password"> /// A <see cref="System.String"/> /// </param> public void Authenticate(string username, string md5Password) { RequestParameters p = new Lastfm.RequestParameters(); p["username"] = username; p["authToken"] = Utilities.MD5(username + md5Password); Lastfm.Services.Request request = new Lastfm.Services.Request("auth.getMobileSession", this, p); request.signIt(); XmlDocument doc = request.execute(); SessionKey = doc.GetElementsByTagName("key")[0].InnerText; }
private XmlNode getNode() { RequestParameters p = new Lastfm.RequestParameters(); p["user"] = User.Name; XmlDocument doc = request("user.getPlaylists", p); foreach (XmlNode node in doc.GetElementsByTagName("playlist")) { if (Int32.Parse(extract(node, "id")) == ID) { return(node); } } return(null); }
/// <summary> /// Creates a new playlist for the authenticated user. /// </summary> /// <param name="title"> /// A <see cref="System.String"/> /// </param> /// <param name="description"> /// A <see cref="System.String"/> /// </param> /// <param name="session"> /// A <see cref="Session"/> /// </param> /// <returns> /// A <see cref="Playlist"/> /// </returns> public static Playlist CreateNew(string title, string description, Session session) { //manually test session for authentication. if (!session.Authenticated) { throw new AuthenticationRequiredException(); } RequestParameters p = new Lastfm.RequestParameters(); p["title"] = title; p["description"] = description; XmlDocument doc = (new Request("playlist.create", session, p)).execute(); int id = Int32.Parse(doc.GetElementsByTagName("id")[0].InnerText); return(new Playlist(AuthenticatedUser.GetUser(session), id, session)); }
/// <summary> /// Called internally by the scrobbling thread. /// </summary> private void threadedSubmit() { try { StreamReader reader = new StreamReader(CacheDir + cacheFileName, Encoding.Unicode); string[] lines = reader.ReadToEnd().Trim().Split('\n'); reader.Close(); foreach (string line in lines) { Lastfm.RequestParameters p = new Lastfm.RequestParameters(line); try{ Connection.Scrobble(p); } catch (ScrobblingException ex) { Console.WriteLine(ex); } } // It won't get to this point unless // all the scrobbling was a success. File.Delete(CacheDir + cacheFileName); } catch (Exception ex) { Console.WriteLine(ex); } finally { lock (locker) { isSubmiting = false; } } }
internal RequestParameters getParameters(Session session) { RequestParameters p = new Lastfm.RequestParameters(); p["api_key"] = session.APIKey; p["album"] = Album; p["artist"] = Artist; p["duration"] = ((int)Duration.TotalSeconds).ToString(); p["method"] = "track.scrobble"; p["sk"] = session.SessionKey; p["timestamp"] = Utilities.DateTimeToUTCTimestamp(TimeStarted).ToString(); p["track"] = Title; string api_sig = ""; foreach (var item in p) { api_sig += item.Key + item.Value; } api_sig += session.APISecret; p["api_sig"] = Utilities.MD5(api_sig); return(p); }
/// <summary> /// Called internally by the scrobbling thread. /// </summary> private void threadedSubmit() { StreamReader reader = new StreamReader(CacheDir + cacheFileName, Encoding.Unicode); string[] lines = reader.ReadToEnd().Trim().Split('\n'); reader.Close(); foreach (string line in lines) { Lastfm.RequestParameters p = new Lastfm.RequestParameters(line); // Append the "[0]" to the key names Lastfm.RequestParameters np = new Lastfm.RequestParameters(); foreach (string key in p.Keys) np[key + "[0]"] = p[key]; Connection.Scrobble(np); } // It won't get to this point unless // all the scrobbling was a success. File.Delete(CacheDir + cacheFileName); }
internal RequestParameters getParameters() { RequestParameters p = new Lastfm.RequestParameters(); // Artist p["a"] = Artist; // Title p["t"] = Title; // Time started p["i"] = Utilities.DateTimeToUTCTimestamp(TimeStarted).ToString(); // Playback source if (Source == PlaybackSource.User) { p["o"] = "P"; } else if (Source == PlaybackSource.NonPersonalizedBroadcast) { p["o"] = "R"; } else if (Source == PlaybackSource.PersonalizedBroadcast) { p["o"] = "E"; } else if (Source == PlaybackSource.Lastfm) { if (RecommendationKey == "") { throw new Exception("A recommendation key must be provided if the source for playing this track is Last.fm"); } p["o"] = "L"; } else if (Source == PlaybackSource.Unknown) { p["o"] = "U"; } // Rating if (Mode == ScrobbleMode.Banned) { if (Source != PlaybackSource.Lastfm) { throw new Exception("Banning is only allowed if source is Last.fm."); } p["r"] = "B"; } else if (Mode == ScrobbleMode.Played) { p["r"] = "L"; } else if (Mode == ScrobbleMode.Skipped) { if (Source != PlaybackSource.Lastfm) { throw new Exception("Banning is only allowed if source is Last.fm."); } p["r"] = "S"; } // Duration p["l"] = Duration.TotalSeconds.ToString(); // Album p["b"] = Album; // Track number if (Number > 0) { p["n"] = Number.ToString(); } else { p["n"] = ""; } // MBID p["m"] = MBID; return(p); }
internal RequestParameters getParameters() { RequestParameters p = new Lastfm.RequestParameters(); // Artist p["a"] = Artist; // Title p["t"] = Title; // Time started p["i"] = Utilities.DateTimeToUTCTimestamp(TimeStarted).ToString(); // Playback source if (Source == PlaybackSource.User) { p["o"] = "P"; } else if (Source == PlaybackSource.NonPersonalizedBroadcast){ p["o"] = "R"; } else if (Source == PlaybackSource.PersonalizedBroadcast){ p["o"] = "E"; } else if (Source == PlaybackSource.Lastfm) { if (RecommendationKey == "") throw new Exception("A recommendation key must be provided if the source for playing this track is Last.fm"); p["o"] = "L"; } else if (Source == PlaybackSource.Unknown) { p["o"] = "U"; } // Rating if (Mode == ScrobbleMode.Banned) { if (Source != PlaybackSource.Lastfm) throw new Exception("Banning is only allowed if source is Last.fm."); p["r"] = "B"; } else if (Mode == ScrobbleMode.Played) { p["r"] = "L"; } else if (Mode == ScrobbleMode.Skipped) { if (Source != PlaybackSource.Lastfm) throw new Exception("Banning is only allowed if source is Last.fm."); p["r"] = "S"; } // Duration p["l"] = Duration.TotalSeconds.ToString(); // Album p["b"] = Album; // Track number if (Number > 0) p["n"] = Number.ToString(); else p["n"] = ""; // MBID p["m"] = MBID; return p; }