diff --git a/MusicPlayer/MusicPlayer/APIHandler.cs b/MusicPlayer/MusicPlayer/APIHandler.cs index 1468da0..a954496 100644 --- a/MusicPlayer/MusicPlayer/APIHandler.cs +++ b/MusicPlayer/MusicPlayer/APIHandler.cs @@ -24,7 +24,42 @@ namespace MusicPlayer return o["songurl"].ToString(); } return o["errormsg"].ToString(); - } + } + + public List GetSongsByAlbum(string albumname) + { + return GetSongsByArgs("album=" + albumname); + } + + public List GetSongsByArtist(string artistname) + { + return GetSongsByArgs("artist=" + artistname); + } + + public List GetSongsByGenre(string genre) + { + return GetSongsByArgs("genre=" + genre); + } + + public List GetSongsByYear(string year) + { + return GetSongsByArgs("album=" + year); + } + + public List GetSongsByArgs(string args) + { + List songslist = new List(); + JObject o = nw.SendString("getsongs?"+args); + if (o["result"].ToString() == "OK") + { + dynamic songs = o["songs"]; + for (int i = 0; i < songs.Count; i++) + { + songslist.Add(new Song(songs[i][0].ToString(), songs[i][3].ToString(), songs[i][5].ToString(), songs[i][4].ToString(), this)); + } + } + return songslist; + } public List GetArtists() { diff --git a/MusicPlayer/MusicPlayer/Program.cs b/MusicPlayer/MusicPlayer/Program.cs index 78734c8..aca8d84 100644 --- a/MusicPlayer/MusicPlayer/Program.cs +++ b/MusicPlayer/MusicPlayer/Program.cs @@ -19,6 +19,22 @@ namespace MusicPlayer NetworkHandler nw = new NetworkHandler("http://www.imegumii.nl"); APIHandler api = new APIHandler(nw); +// api.GetSongsByArtist("Amon Amarth").ForEach(s => +// { +// Console.WriteLine(s.SongID); +// }); +// api.GetSongsByYear("2009").ForEach(s => +// { +// Console.WriteLine(s.Name); +// }); + api.GetSongsByGenre("Melodic Death Metal").ForEach(s => + { + Console.WriteLine(s.Name); + }); +// api.GetSongsByAlbum("Stronger").ForEach(s => +// { +// Console.WriteLine(s.Name); +// }); MainForm form = new MainForm(); new Main(nw, api, form); diff --git a/MusicPlayer/MusicPlayer/Song.cs b/MusicPlayer/MusicPlayer/Song.cs index 3fb4e5b..a44b6cf 100644 --- a/MusicPlayer/MusicPlayer/Song.cs +++ b/MusicPlayer/MusicPlayer/Song.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace MusicPlayer { - class Song + public class Song { public string SongID { get; set; } public string Name { get; set; }