Quellcode durchsuchen

Playlist based on server

Kenneth van Ewijk vor 10 Jahren
Ursprung
Commit
a4031daae8

+ 2 - 0
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);

+ 8 - 1
MusicPlayer/MusicPlayer/Playlist.cs

@@ -9,14 +9,16 @@ namespace MusicPlayer
         public string name { get; }
         private string basedir;
         public List<Song> 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<Song>();
             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());

+ 15 - 8
MusicPlayer/MusicPlayer/PlaylistHandler.cs

@@ -8,23 +8,24 @@ namespace MusicPlayer
     public class PlaylistHandler
     {
         private List<Playlist> 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<Playlist>();
-            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<Playlist> GetPlaylists()
         {
-            return playlists;
+            List<Playlist> currentPlaylists = new List<Playlist>();
+            foreach(Playlist pl in playlists)
+            {
+                if (pl.server == main.nw.ip)
+                    currentPlaylists.Add(pl);
+            }
+            return currentPlaylists;
         }
     }
 }

+ 1 - 1
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);