/// <summary> /// Get top ten tracks for an artist orderd by track rating. /// </summary> /// <param name="q_track">The song title</param> /// <param name="q_artist">The song artist</param> /// <param name="q_lyrics">Any word in the lyrics</param> /// <param name="f_artist_id">When set, filter by this artist id.</param> /// <param name="f_music_genre_id">When set, filter by this music category id</param> /// <param name="f_lyrics_language">Filter by the lyrics language (en,it,..)</param> /// <param name="f_has_lyrics">When set, filter only contents with lyrics</param> /// <param name="s_artist_rating">Sort by our popularity index for artists (asc|desc)</param> /// <param name="s_track_rating">Sort by our popularity index for tracks (asc|desc)</param> /// <param name="quorum_factor">Search only a part of the given query string.Allowed range is (0.1 � 0.9)</param> /// <returns></returns> public List <Track> SearchTrack(String q_track = null, String q_artist = null, String q_lyrics = null, double?f_artist_id = null, double?f_music_genre_id = null, double?f_lyrics_language = null, double?f_has_lyrics = null, string s_artist_rating = null, string s_track_rating = null, double?quorum_factor = null) { String url = Get_url($"track.search?format={_format}&callback={_callback}&q_track={q_track}&q_artist={q_artist}&q_lyrics={q_lyrics}&f_artist_id={f_artist_id}&f_music_genre_id={f_music_genre_id}&f_lyrics_language={f_lyrics_language}&f_has_lyrics={f_has_lyrics}&s_artist_rating={s_artist_rating}&s_track_rating={s_track_rating}&quorum_factor={quorum_factor}&page_size={Page_size}&page={Page}"); String response = RequestAsync(url).Result; StatusCode.CheckResponse(response); RawJson RawJson = JsonConvert.DeserializeObject <RawJson>(response); return(ReturnJson.FromRawJsonToTrackList(RawJson)); }
/// <summary> /// Get a song chart. /// </summary> /// <param name="country">A valid 2 letters country code (default US). Set XW as worldwide</param> /// <param name="chart_name"> /// Select among available charts: /// top : editorial chart /// hot : Most viewed lyrics in the last 2 hours /// mxmweekly : Most viewed lyrics in the last 7 days /// mxmweekly_new : Most viewed lyrics in the last 7 days limited to new releases only</param> /// <param name="f_has_lyrics">When set, filter only contents with lyrics</param> /// <returns></returns> public List <Track> GetTracksChart(string country, String chart_name = null, string f_has_lyrics = null) { String url = Get_url($"chart.tracks.get?format={_format}&callback={_callback}&chart_name={chart_name}&page={Page}&page_size={Page_size}&country={country}&f_has_lyrics={f_has_lyrics}"); String response = RequestAsync(url).Result; StatusCode.CheckResponse(response); RawJson RawJson = JsonConvert.DeserializeObject <RawJson>(response); return(ReturnJson.FromRawJsonToTrackList(RawJson)); }
/// <summary> /// Get the songs of an album. /// </summary> /// <param name="album_id">The musiXmatch album id.</param> /// <param name="f_has_lyrics">When set, filter only contents with lyrics.</param> /// <returns></returns> public List <Track> GetAlbumTracks(String album_id, String f_has_lyrics = null) { String url = Get_url($"album.tracks.get?format={_format}&callback={_callback}&album_id={album_id}&f_has_lyrics={f_has_lyrics}&page={Page}&page_size={Page_size}"); String response = RequestAsync(url).Result; StatusCode.CheckResponse(response); RawJson RawJson = JsonConvert.DeserializeObject <RawJson>(response); return(ReturnJson.FromRawJsonToTrackList(RawJson)); }