Merge remote-tracking branch 'origin/gui' into gui
This commit is contained in:
Executable → Regular
+12
-2
@@ -5,6 +5,8 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MusicPlayer;
|
using MusicPlayer;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
namespace MusicPlayer
|
namespace MusicPlayer
|
||||||
{
|
{
|
||||||
@@ -95,13 +97,21 @@ namespace MusicPlayer
|
|||||||
public List<Album> GetAlbums()
|
public List<Album> GetAlbums()
|
||||||
{
|
{
|
||||||
List<Album> albumlist = new List<Album>();
|
List<Album> albumlist = new List<Album>();
|
||||||
|
Image def = Image.FromStream(nw.downloadArtwork("default-cover.png"));
|
||||||
JObject o = nw.SendString("getalbums?id=hallo");
|
JObject o = nw.SendString("getalbums?id=hallo");
|
||||||
if (o["result"].ToString() == "OK")
|
if (o["result"].ToString() == "OK")
|
||||||
{
|
{
|
||||||
for (int i = 0; i < o["albums"].Count(); i++)
|
for (int i = 0; i < o["albums"].Count(); i++)
|
||||||
{
|
{
|
||||||
albumlist.Add(new Album(o["albums"][i][0].ToString()));
|
MemoryStream stream = nw.downloadArtwork(o["albums"][i][0].ToString() + ".jpg");
|
||||||
|
if (stream != null) {
|
||||||
|
albumlist.Add(new Album(o["albums"][i][0].ToString(), Image.FromStream(stream)));
|
||||||
|
stream.Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
albumlist.Add(new Album(o["albums"][i][0].ToString(), def));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Executable → Regular
+7
-2
@@ -1,12 +1,17 @@
|
|||||||
namespace MusicPlayer
|
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace MusicPlayer
|
||||||
{
|
{
|
||||||
public class Album
|
public class Album
|
||||||
{
|
{
|
||||||
public string albumnaam { get; set; }
|
public string albumnaam { get; set; }
|
||||||
|
public Image cover;
|
||||||
|
|
||||||
public Album(string albumnaam)
|
public Album(string albumnaam, Image c)
|
||||||
{
|
{
|
||||||
this.albumnaam = albumnaam;
|
this.albumnaam = albumnaam;
|
||||||
|
this.cover = c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Executable → Regular
+5
-1
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace MusicPlayer
|
namespace MusicPlayer
|
||||||
{
|
{
|
||||||
@@ -15,6 +16,7 @@ namespace MusicPlayer
|
|||||||
public AudioHandler audio;
|
public AudioHandler audio;
|
||||||
|
|
||||||
private SongsTable table;
|
private SongsTable table;
|
||||||
|
private ImageList imagelist;
|
||||||
|
|
||||||
public Main(NetworkHandler nw, APIHandler api, MainForm form, PlaylistHandler pl)
|
public Main(NetworkHandler nw, APIHandler api, MainForm form, PlaylistHandler pl)
|
||||||
{
|
{
|
||||||
@@ -26,6 +28,7 @@ namespace MusicPlayer
|
|||||||
|
|
||||||
audio = new AudioHandler();
|
audio = new AudioHandler();
|
||||||
table = new SongsTable();
|
table = new SongsTable();
|
||||||
|
imagelist = new ImageList();
|
||||||
form.SongsTableView.DataSource = table;
|
form.SongsTableView.DataSource = table;
|
||||||
form.SongsTableView.Columns[5].Visible = false;
|
form.SongsTableView.Columns[5].Visible = false;
|
||||||
Populate();
|
Populate();
|
||||||
@@ -33,7 +36,8 @@ namespace MusicPlayer
|
|||||||
|
|
||||||
private void Populate()
|
private void Populate()
|
||||||
{
|
{
|
||||||
this.api.GetAlbums().ForEach(a => form.AlbumListView.Items.Add(a.albumnaam));
|
form.AlbumListView.LargeImageList = imagelist;
|
||||||
|
this.api.GetAlbums().ForEach(a => { var item = form.AlbumListView.Items.Add(a.albumnaam); imagelist.Images.Add(a.albumnaam, a.cover); item.ImageKey = a.albumnaam;});
|
||||||
this.api.GetArtists().ForEach(a => form.ArtistListBox.Items.Add(a.naam));
|
this.api.GetArtists().ForEach(a => form.ArtistListBox.Items.Add(a.naam));
|
||||||
this.api.GetGenres().ForEach(g => form.GenreListBox.Items.Add(g.name));
|
this.api.GetGenres().ForEach(g => form.GenreListBox.Items.Add(g.name));
|
||||||
this.pl.GetPlaylists().ForEach(p => form.PlaylistBox.Items.Add(p.name));
|
this.pl.GetPlaylists().ForEach(p => form.PlaylistBox.Items.Add(p.name));
|
||||||
|
|||||||
Executable → Regular
+35
@@ -2,6 +2,7 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using System.Web;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
@@ -40,6 +41,40 @@ namespace MusicPlayer
|
|||||||
streamResponse.Close();
|
streamResponse.Close();
|
||||||
streamRead.Close();
|
streamRead.Close();
|
||||||
return o;
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MemoryStream downloadArtwork(string album)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
WebRequest req = WebRequest.Create((ip + "/music/artwork/"+album).Replace(" ", "%20"));
|
||||||
|
WebResponse response = req.GetResponse();
|
||||||
|
Stream stream = response.GetResponseStream();␍
|
||||||
|
//Download in chuncks
|
||||||
|
byte[] buffer = new byte[1024];␍ //Get Total Size
|
||||||
|
int dataLength = (int)response.ContentLength;
|
||||||
|
//Download to memory
|
||||||
|
MemoryStream memStream = new MemoryStream();
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
//Try to read the data
|
||||||
|
int bytesRead = stream.Read(buffer, 0, buffer.Length);
|
||||||
|
if (bytesRead == 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{␍ memStream.Write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
}␍ //Clean up
|
||||||
|
stream.Close();
|
||||||
|
|
||||||
|
//Convert the downloaded stream to a byte array
|
||||||
|
return memStream;
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{␍ return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Executable → Regular
+1
-1
@@ -17,7 +17,7 @@ namespace MusicPlayer
|
|||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
|
||||||
NetworkHandler nw = new NetworkHandler("http://www.imegumii.nl");
|
NetworkHandler nw = new NetworkHandler("http://jancokock.me");
|
||||||
APIHandler api = new APIHandler(nw);
|
APIHandler api = new APIHandler(nw);
|
||||||
MainForm form = new MainForm();
|
MainForm form = new MainForm();
|
||||||
PlaylistHandler pl = new PlaylistHandler(api);
|
PlaylistHandler pl = new PlaylistHandler(api);
|
||||||
|
|||||||
Reference in New Issue
Block a user