From a4031daae80f3915012dcca99e23c68ac2454819 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 2 Nov 2015 17:25:52 +0100 Subject: [PATCH] Playlist based on server --- MusicPlayer/MusicPlayer/Main.cs | 2 ++ MusicPlayer/MusicPlayer/Playlist.cs | 9 ++++++++- MusicPlayer/MusicPlayer/PlaylistHandler.cs | 23 ++++++++++++++-------- MusicPlayer/MusicPlayer/Program.cs | 2 +- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/MusicPlayer/MusicPlayer/Main.cs b/MusicPlayer/MusicPlayer/Main.cs index 5b1c1ee..4d2b845 100644 --- a/MusicPlayer/MusicPlayer/Main.cs +++ b/MusicPlayer/MusicPlayer/Main.cs @@ -29,6 +29,8 @@ namespace MusicPlayer this.api = api; this.form = form; form.main = this; + pl.main = this; + pl.Populate(); this.pl = pl; audio = new AudioHandler(this); diff --git a/MusicPlayer/MusicPlayer/Playlist.cs b/MusicPlayer/MusicPlayer/Playlist.cs index 97665dd..d009a98 100644 --- a/MusicPlayer/MusicPlayer/Playlist.cs +++ b/MusicPlayer/MusicPlayer/Playlist.cs @@ -9,14 +9,16 @@ namespace MusicPlayer public string name { get; } private string basedir; public List songs; + public string server; private APIHandler api; - public Playlist(string name, string basedir, APIHandler api) + public Playlist(string name, string basedir, string server, APIHandler api) { this.songs = new List(); this.name = name; this.api = api; this.basedir = basedir; + this.server = server; this.ReadFromFile(); } @@ -35,6 +37,8 @@ namespace MusicPlayer try { using (StreamReader str = new StreamReader(basedir + name + ".txt")) { + server = str.ReadLine(); + string readline; while ((readline = str.ReadLine()) != null) { @@ -48,6 +52,7 @@ namespace MusicPlayer { FileStream fs = new FileStream(basedir + name + ".txt", FileMode.CreateNew); fs.Close(); + File.WriteAllText(basedir + name + ".txt", server); ReadFromFile(); } @@ -57,6 +62,8 @@ namespace MusicPlayer { using (StreamWriter stw = new StreamWriter(basedir + name + ".txt")) { + stw.WriteLine(server.ToString()); + this.songs.ForEach(s => { stw.WriteLine(s.ToString()); diff --git a/MusicPlayer/MusicPlayer/PlaylistHandler.cs b/MusicPlayer/MusicPlayer/PlaylistHandler.cs index b2acf9c..8b151a0 100644 --- a/MusicPlayer/MusicPlayer/PlaylistHandler.cs +++ b/MusicPlayer/MusicPlayer/PlaylistHandler.cs @@ -8,23 +8,24 @@ namespace MusicPlayer public class PlaylistHandler { private List playlists; - private APIHandler api; + public Main main + { + get; set; + } private readonly string basedir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\.mpplaylists\\"; - public PlaylistHandler(APIHandler api) + public PlaylistHandler() { this.playlists = new List(); - this.api = api; - Populate(); } - private void Populate() + public void Populate() { try { Directory.GetFiles(basedir).ToList().ForEach(f => { if (f.EndsWith(".txt")) { - playlists.Add(new Playlist(Path.GetFileName(f.Replace(".txt","")) ,basedir, api)); + playlists.Add(new Playlist(Path.GetFileName(f.Replace(".txt","")) ,basedir, main.nw.ip, main.api)); } }); } @@ -39,7 +40,7 @@ namespace MusicPlayer public void MakeNewPlaylistByName(string name) { - playlists.Add(new Playlist(name, basedir, api)); + playlists.Add(new Playlist(name, basedir, main.nw.ip, main.api)); } public Playlist GetPlaylistByName(string name) @@ -54,7 +55,13 @@ namespace MusicPlayer public List GetPlaylists() { - return playlists; + List currentPlaylists = new List(); + foreach(Playlist pl in playlists) + { + if (pl.server == main.nw.ip) + currentPlaylists.Add(pl); + } + return currentPlaylists; } } } \ No newline at end of file diff --git a/MusicPlayer/MusicPlayer/Program.cs b/MusicPlayer/MusicPlayer/Program.cs index 0007924..6e1e41d 100644 --- a/MusicPlayer/MusicPlayer/Program.cs +++ b/MusicPlayer/MusicPlayer/Program.cs @@ -21,7 +21,7 @@ namespace MusicPlayer NetworkHandler nw = new NetworkHandler("http://imegumii.nl"); APIHandler api = new APIHandler(nw); MainForm form = new MainForm(); - PlaylistHandler pl = new PlaylistHandler(api); + PlaylistHandler pl = new PlaylistHandler(); new Main(nw, api, form,pl); Application.Run(form);