Playlist based on server
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user