diff --git a/MusicPlayer/MusicPlayer/APIHandler.cs b/MusicPlayer/MusicPlayer/APIHandler.cs index c3d6f65..c8dad8a 100644 --- a/MusicPlayer/MusicPlayer/APIHandler.cs +++ b/MusicPlayer/MusicPlayer/APIHandler.cs @@ -8,7 +8,7 @@ using Newtonsoft.Json.Linq; namespace MusicPlayer { - internal class APIHandler + public class APIHandler { private NetworkHandler nw; @@ -24,7 +24,6 @@ namespace MusicPlayer return o["songurl"].ToString(); } return o["errormsg"].ToString(); - } public List GetArtists() diff --git a/MusicPlayer/MusicPlayer/AudioHandler.cs b/MusicPlayer/MusicPlayer/AudioHandler.cs index c7065b8..d425356 100644 --- a/MusicPlayer/MusicPlayer/AudioHandler.cs +++ b/MusicPlayer/MusicPlayer/AudioHandler.cs @@ -10,7 +10,7 @@ using System.Threading.Tasks; namespace MusicPlayer { - class AudioHandler + public class AudioHandler { public static Stream ms = new MemoryStream(); diff --git a/MusicPlayer/MusicPlayer/Main.cs b/MusicPlayer/MusicPlayer/Main.cs index ee34205..e49c029 100644 --- a/MusicPlayer/MusicPlayer/Main.cs +++ b/MusicPlayer/MusicPlayer/Main.cs @@ -6,24 +6,46 @@ using System.Threading.Tasks; namespace MusicPlayer { - class Main + public class Main { - private APIHandler api; - private MainForm form; - private NetworkHandler nw; - private AudioHandler audio; + public APIHandler api; + public MainForm form; + public NetworkHandler nw; + public AudioHandler audio; + + private SongsTable table; public Main(NetworkHandler nw, APIHandler api, MainForm form) { this.nw = nw; this.api = api; this.form = form; + form.main = this; audio = new AudioHandler(); + table = new SongsTable(); + form.SongsTableView.DataSource = table; - Console.WriteLine(api.GetSongURLByID("102")); + Populate(); } + private void Populate() + { + table.Add(new Song("102", "Test Song 1", "Test Album 1", "Test Artist 1", api)); + form.GenreListBox.Items.Add("Hardcore"); + form.GenreListBox.Items.Add("Hardstyle"); + form.GenreListBox.Items.Add("Pop"); + + form.ArtistListBox.Items.Add("Kygo"); + form.ArtistListBox.Items.Add("Monstercat"); + form.ArtistListBox.Items.Add("Mozart"); + + form.AlbumListView.Items.Add("Album 1"); + form.AlbumListView.Items.Add("Album 2"); + form.AlbumListView.Items.Add("Album 3"); + + table.Add(new Song("104", "Test Song 2", "Test Album 2", "Test Artist 2", api)); + } } } diff --git a/MusicPlayer/MusicPlayer/MainForm.Designer.cs b/MusicPlayer/MusicPlayer/MainForm.Designer.cs index 81bacaa..19a4bd8 100644 --- a/MusicPlayer/MusicPlayer/MainForm.Designer.cs +++ b/MusicPlayer/MusicPlayer/MainForm.Designer.cs @@ -64,8 +64,10 @@ this.SongsTableView.ReadOnly = true; this.SongsTableView.RowHeadersVisible = false; this.SongsTableView.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.SongsTableView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.SongsTableView.Size = new System.Drawing.Size(760, 148); this.SongsTableView.TabIndex = 0; + this.SongsTableView.SelectionChanged += new System.EventHandler(this.SongsTableView_SelectionChanged); // // GenreListBox // @@ -186,6 +188,7 @@ this.MinimumSize = new System.Drawing.Size(800, 500); this.Name = "MainForm"; this.Text = "YJMPD Music Player"; + this.Load += new System.EventHandler(this.MainForm_Load); ((System.ComponentModel.ISupportInitialize)(this.SongsTableView)).EndInit(); this.MainPanel.ResumeLayout(false); this.MenuStrip.ResumeLayout(false); @@ -198,10 +201,10 @@ #endregion - private System.Windows.Forms.DataGridView SongsTableView; - private System.Windows.Forms.ListBox GenreListBox; - private System.Windows.Forms.ListView AlbumListView; - private System.Windows.Forms.ListBox ArtistListBox; + public System.Windows.Forms.DataGridView SongsTableView; + public System.Windows.Forms.ListBox GenreListBox; + public System.Windows.Forms.ListView AlbumListView; + public System.Windows.Forms.ListBox ArtistListBox; private System.Windows.Forms.Panel MainPanel; private System.Windows.Forms.MenuStrip MenuStrip; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; diff --git a/MusicPlayer/MusicPlayer/MainForm.cs b/MusicPlayer/MusicPlayer/MainForm.cs index 259b7b4..6022c64 100644 --- a/MusicPlayer/MusicPlayer/MainForm.cs +++ b/MusicPlayer/MusicPlayer/MainForm.cs @@ -17,46 +17,29 @@ namespace MusicPlayer { public partial class MainForm : Form { - private SongsTable table; + public Main main + { + get; set; + } public MainForm() { InitializeComponent(); - } - private void Form1_Load(object sender, EventArgs e) + private void MainForm_Load(object sender, EventArgs e) { - //APIHandler api = new APIHandler(); - //NetworkHandler nw = new NetworkHandler("83.128.250.123", api); - table = new SongsTable(); - SongsTableView.DataSource = table; - - Populate(); - } - - private void Populate() - { - table.Add(new Song("Test Song 1", "Test Album 1", "Test Artist 1")); - - GenreListBox.Items.Add("Hardcore"); - GenreListBox.Items.Add("Hardstyle"); - GenreListBox.Items.Add("Pop"); - - ArtistListBox.Items.Add("Kygo"); - ArtistListBox.Items.Add("Monstercat"); - ArtistListBox.Items.Add("Mozart"); - - AlbumListView.Items.Add("Album 1"); - AlbumListView.Items.Add("Album 2"); - AlbumListView.Items.Add("Album 3"); - - table.Add(new Song("Test Song 2", "Test Album 2", "Test Artist 2")); + } private void PlayButton_Click(object sender, EventArgs e) { AudioHandler.PlayMp3FromUrl("http://imegumii.nl/music/English/Monstercat/Direct%20-%20Eternity.mp3"); } + + private void SongsTableView_SelectionChanged(object sender, EventArgs e) + { + DataGridViewSelectedRowCollection col = SongsTableView.SelectedRows; + } } } diff --git a/MusicPlayer/MusicPlayer/MusicPlayer.csproj b/MusicPlayer/MusicPlayer/MusicPlayer.csproj index baf3669..43c9029 100644 --- a/MusicPlayer/MusicPlayer/MusicPlayer.csproj +++ b/MusicPlayer/MusicPlayer/MusicPlayer.csproj @@ -35,7 +35,7 @@ ..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll - True + True ..\packages\NAudio.1.7.3\lib\net35\NAudio.dll @@ -55,6 +55,7 @@ + Form diff --git a/MusicPlayer/MusicPlayer/NetworkHandler.cs b/MusicPlayer/MusicPlayer/NetworkHandler.cs index dc10bd5..5d7bdb5 100644 --- a/MusicPlayer/MusicPlayer/NetworkHandler.cs +++ b/MusicPlayer/MusicPlayer/NetworkHandler.cs @@ -9,7 +9,7 @@ using Newtonsoft.Json.Linq; namespace MusicPlayer { - class NetworkHandler + public class NetworkHandler { private int port = 8585; private string ip; diff --git a/MusicPlayer/MusicPlayer/Program.cs b/MusicPlayer/MusicPlayer/Program.cs index fb537a0..78734c8 100644 --- a/MusicPlayer/MusicPlayer/Program.cs +++ b/MusicPlayer/MusicPlayer/Program.cs @@ -14,14 +14,14 @@ namespace MusicPlayer [STAThread] static void Main() { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + NetworkHandler nw = new NetworkHandler("http://www.imegumii.nl"); APIHandler api = new APIHandler(nw); MainForm form = new MainForm(); - new Main(nw, api, form); - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); Application.Run(form); } } diff --git a/MusicPlayer/MusicPlayer/Song.cs b/MusicPlayer/MusicPlayer/Song.cs index 24bb544..3fb4e5b 100644 --- a/MusicPlayer/MusicPlayer/Song.cs +++ b/MusicPlayer/MusicPlayer/Song.cs @@ -8,18 +8,25 @@ namespace MusicPlayer { class Song { + public string SongID { get; set; } public string Name { get; set; } public string Album { get; set; } public string Artist { get; set; } public string Url { get { return GetURL(); } set { SetURL(value); } } + private APIHandler api; + private string url; - public Song(string name, string album, string artist) + public Song(string songid, string name, string album, string artist, APIHandler api) { + SongID = songid; Name = name; Album = album; Artist = artist; + + this.api = api; + url = ""; } @@ -27,7 +34,7 @@ namespace MusicPlayer { if (url == "") { - url = "http://imegumii.nl/music/Old%20Music/Pre-Parade%20-%20Toradora.mp3"; + url = api.GetSongURLByID(SongID); } return url;