diff --git a/MusicPlayer/MusicPlayer/AudioHandler.cs b/MusicPlayer/MusicPlayer/AudioHandler.cs
index db37cef..e931125 100755
--- a/MusicPlayer/MusicPlayer/AudioHandler.cs
+++ b/MusicPlayer/MusicPlayer/AudioHandler.cs
@@ -38,7 +38,7 @@ namespace MusicPlayer
private Thread network;
private Thread audio;
- private Song CurrentSong;
+ public Song CurrentSong;
public AudioHandler()
{
diff --git a/MusicPlayer/MusicPlayer/Main.cs b/MusicPlayer/MusicPlayer/Main.cs
index 1285c20..acbe9c3 100755
--- a/MusicPlayer/MusicPlayer/Main.cs
+++ b/MusicPlayer/MusicPlayer/Main.cs
@@ -25,7 +25,7 @@ namespace MusicPlayer
audio = new AudioHandler();
table = new SongsTable();
form.SongsTableView.DataSource = table;
- form.SongsTableView.Columns[4].Visible = false;
+ form.SongsTableView.Columns[5].Visible = false;
Populate();
}
@@ -62,6 +62,24 @@ namespace MusicPlayer
table.Add(s);
});
}
+
+ public static string SecondsToTimestamp(int seconds)
+ {
+ string str = "";
+
+ //Hours
+ str += (seconds / 3600).ToString("D2") + ":";
+ seconds %= 3600;
+
+ //Minutes
+ str += (seconds / 60).ToString("D2") + ":";
+ seconds %= 60;
+
+ //Seconds
+ str += seconds.ToString("D2");
+
+ return str;
+ }
}
}
diff --git a/MusicPlayer/MusicPlayer/MainForm.Designer.cs b/MusicPlayer/MusicPlayer/MainForm.Designer.cs
index c2febb3..975eab6 100644
--- a/MusicPlayer/MusicPlayer/MainForm.Designer.cs
+++ b/MusicPlayer/MusicPlayer/MainForm.Designer.cs
@@ -35,18 +35,21 @@
this.AlbumListView = new System.Windows.Forms.ListView();
this.ArtistListBox = new System.Windows.Forms.ListBox();
this.MainPanel = new System.Windows.Forms.Panel();
+ this.AlbumListLabel = new System.Windows.Forms.Label();
+ this.ArtistListLabel = new System.Windows.Forms.Label();
+ this.GenreListLabel = new System.Windows.Forms.Label();
this.MenuStrip = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ControlsPanel = new System.Windows.Forms.Panel();
+ this.CurrentSongLabel = new System.Windows.Forms.Label();
+ this.SeperatorLabel = new System.Windows.Forms.Label();
this.LabelTotalTime = new System.Windows.Forms.Label();
this.LabelCurrentTime = new System.Windows.Forms.Label();
this.PositionTrackBar = new System.Windows.Forms.TrackBar();
- this.PositionLabel = new System.Windows.Forms.Label();
this.BufferLabel = new System.Windows.Forms.Label();
- this.PositionBar = new System.Windows.Forms.ProgressBar();
this.BufferBar = new System.Windows.Forms.ProgressBar();
this.StopButton = new System.Windows.Forms.Button();
this.PauseButton = new System.Windows.Forms.Button();
@@ -71,14 +74,14 @@
this.SongsTableView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.SongsTableView.BackgroundColor = System.Drawing.SystemColors.Control;
this.SongsTableView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.SongsTableView.Location = new System.Drawing.Point(12, 153);
+ this.SongsTableView.Location = new System.Drawing.Point(12, 165);
this.SongsTableView.MultiSelect = false;
this.SongsTableView.Name = "SongsTableView";
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.Size = new System.Drawing.Size(760, 175);
this.SongsTableView.TabIndex = 0;
this.SongsTableView.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.SongsTableView_CellDoubleClick);
//
@@ -86,9 +89,9 @@
//
this.GenreListBox.BackColor = System.Drawing.SystemColors.Control;
this.GenreListBox.FormattingEnabled = true;
- this.GenreListBox.Location = new System.Drawing.Point(12, 12);
+ this.GenreListBox.Location = new System.Drawing.Point(12, 25);
this.GenreListBox.Name = "GenreListBox";
- this.GenreListBox.Size = new System.Drawing.Size(124, 134);
+ this.GenreListBox.Size = new System.Drawing.Size(150, 134);
this.GenreListBox.Sorted = true;
this.GenreListBox.TabIndex = 1;
this.GenreListBox.SelectedIndexChanged += new System.EventHandler(this.GenreListBox_SelectedIndexChanged);
@@ -98,9 +101,9 @@
this.AlbumListView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.AlbumListView.BackColor = System.Drawing.SystemColors.Control;
- this.AlbumListView.Location = new System.Drawing.Point(272, 12);
+ this.AlbumListView.Location = new System.Drawing.Point(324, 25);
this.AlbumListView.Name = "AlbumListView";
- this.AlbumListView.Size = new System.Drawing.Size(500, 134);
+ this.AlbumListView.Size = new System.Drawing.Size(448, 134);
this.AlbumListView.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.AlbumListView.TabIndex = 2;
this.AlbumListView.UseCompatibleStateImageBehavior = false;
@@ -110,9 +113,9 @@
//
this.ArtistListBox.BackColor = System.Drawing.SystemColors.Control;
this.ArtistListBox.FormattingEnabled = true;
- this.ArtistListBox.Location = new System.Drawing.Point(142, 12);
+ this.ArtistListBox.Location = new System.Drawing.Point(168, 25);
this.ArtistListBox.Name = "ArtistListBox";
- this.ArtistListBox.Size = new System.Drawing.Size(124, 134);
+ this.ArtistListBox.Size = new System.Drawing.Size(150, 134);
this.ArtistListBox.Sorted = true;
this.ArtistListBox.TabIndex = 3;
this.ArtistListBox.SelectedIndexChanged += new System.EventHandler(this.ArtistListBox_SelectedIndexChanged);
@@ -123,18 +126,48 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.MainPanel.BackColor = System.Drawing.SystemColors.Window;
+ this.MainPanel.Controls.Add(this.AlbumListLabel);
+ this.MainPanel.Controls.Add(this.ArtistListLabel);
+ this.MainPanel.Controls.Add(this.GenreListLabel);
this.MainPanel.Controls.Add(this.GenreListBox);
this.MainPanel.Controls.Add(this.ArtistListBox);
this.MainPanel.Controls.Add(this.AlbumListView);
this.MainPanel.Controls.Add(this.SongsTableView);
this.MainPanel.Location = new System.Drawing.Point(0, 24);
this.MainPanel.Name = "MainPanel";
- this.MainPanel.Size = new System.Drawing.Size(784, 313);
+ this.MainPanel.Size = new System.Drawing.Size(784, 352);
this.MainPanel.TabIndex = 5;
//
+ // AlbumListLabel
+ //
+ this.AlbumListLabel.AutoSize = true;
+ this.AlbumListLabel.Location = new System.Drawing.Point(321, 9);
+ this.AlbumListLabel.Name = "AlbumListLabel";
+ this.AlbumListLabel.Size = new System.Drawing.Size(36, 13);
+ this.AlbumListLabel.TabIndex = 6;
+ this.AlbumListLabel.Text = "Album";
+ //
+ // ArtistListLabel
+ //
+ this.ArtistListLabel.AutoSize = true;
+ this.ArtistListLabel.Location = new System.Drawing.Point(165, 9);
+ this.ArtistListLabel.Name = "ArtistListLabel";
+ this.ArtistListLabel.Size = new System.Drawing.Size(30, 13);
+ this.ArtistListLabel.TabIndex = 5;
+ this.ArtistListLabel.Text = "Artist";
+ //
+ // GenreListLabel
+ //
+ this.GenreListLabel.AutoSize = true;
+ this.GenreListLabel.Location = new System.Drawing.Point(12, 9);
+ this.GenreListLabel.Name = "GenreListLabel";
+ this.GenreListLabel.Size = new System.Drawing.Size(36, 13);
+ this.GenreListLabel.TabIndex = 4;
+ this.GenreListLabel.Text = "Genre";
+ //
// MenuStrip
//
- this.MenuStrip.BackColor = System.Drawing.SystemColors.Window;
+ this.MenuStrip.BackColor = System.Drawing.SystemColors.WindowFrame;
this.MenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.viewToolStripMenuItem});
@@ -174,26 +207,44 @@
// ControlsPanel
//
this.ControlsPanel.BackColor = System.Drawing.SystemColors.WindowFrame;
+ this.ControlsPanel.Controls.Add(this.CurrentSongLabel);
+ this.ControlsPanel.Controls.Add(this.SeperatorLabel);
this.ControlsPanel.Controls.Add(this.LabelTotalTime);
this.ControlsPanel.Controls.Add(this.LabelCurrentTime);
this.ControlsPanel.Controls.Add(this.PositionTrackBar);
- this.ControlsPanel.Controls.Add(this.PositionLabel);
this.ControlsPanel.Controls.Add(this.BufferLabel);
- this.ControlsPanel.Controls.Add(this.PositionBar);
this.ControlsPanel.Controls.Add(this.BufferBar);
this.ControlsPanel.Controls.Add(this.StopButton);
this.ControlsPanel.Controls.Add(this.PauseButton);
this.ControlsPanel.Controls.Add(this.PlayButton);
this.ControlsPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.ControlsPanel.Location = new System.Drawing.Point(0, 343);
+ this.ControlsPanel.Location = new System.Drawing.Point(0, 379);
this.ControlsPanel.Name = "ControlsPanel";
- this.ControlsPanel.Size = new System.Drawing.Size(784, 119);
+ this.ControlsPanel.Size = new System.Drawing.Size(784, 83);
this.ControlsPanel.TabIndex = 4;
//
+ // CurrentSongLabel
+ //
+ this.CurrentSongLabel.AutoSize = true;
+ this.CurrentSongLabel.Location = new System.Drawing.Point(256, 56);
+ this.CurrentSongLabel.Name = "CurrentSongLabel";
+ this.CurrentSongLabel.Size = new System.Drawing.Size(111, 13);
+ this.CurrentSongLabel.TabIndex = 11;
+ this.CurrentSongLabel.Text = "Not playing any songs";
+ //
+ // SeperatorLabel
+ //
+ this.SeperatorLabel.AutoSize = true;
+ this.SeperatorLabel.Location = new System.Drawing.Point(67, 35);
+ this.SeperatorLabel.Name = "SeperatorLabel";
+ this.SeperatorLabel.Size = new System.Drawing.Size(12, 13);
+ this.SeperatorLabel.TabIndex = 10;
+ this.SeperatorLabel.Text = "/";
+ //
// LabelTotalTime
//
this.LabelTotalTime.AutoSize = true;
- this.LabelTotalTime.Location = new System.Drawing.Point(693, 60);
+ this.LabelTotalTime.Location = new System.Drawing.Point(85, 35);
this.LabelTotalTime.Name = "LabelTotalTime";
this.LabelTotalTime.Size = new System.Drawing.Size(49, 13);
this.LabelTotalTime.TabIndex = 9;
@@ -202,7 +253,7 @@
// LabelCurrentTime
//
this.LabelCurrentTime.AutoSize = true;
- this.LabelCurrentTime.Location = new System.Drawing.Point(358, 60);
+ this.LabelCurrentTime.Location = new System.Drawing.Point(12, 35);
this.LabelCurrentTime.Name = "LabelCurrentTime";
this.LabelCurrentTime.Size = new System.Drawing.Size(49, 13);
this.LabelCurrentTime.TabIndex = 8;
@@ -210,48 +261,36 @@
//
// PositionTrackBar
//
+ this.PositionTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
this.PositionTrackBar.Enabled = false;
- this.PositionTrackBar.Location = new System.Drawing.Point(346, 13);
+ this.PositionTrackBar.Location = new System.Drawing.Point(3, 3);
this.PositionTrackBar.Maximum = 100;
this.PositionTrackBar.Name = "PositionTrackBar";
- this.PositionTrackBar.Size = new System.Drawing.Size(426, 45);
+ this.PositionTrackBar.Size = new System.Drawing.Size(778, 45);
this.PositionTrackBar.TabIndex = 7;
//
- // PositionLabel
- //
- this.PositionLabel.AutoSize = true;
- this.PositionLabel.Location = new System.Drawing.Point(285, 90);
- this.PositionLabel.Name = "PositionLabel";
- this.PositionLabel.Size = new System.Drawing.Size(44, 13);
- this.PositionLabel.TabIndex = 6;
- this.PositionLabel.Text = "Position";
- //
// BufferLabel
//
+ this.BufferLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BufferLabel.AutoSize = true;
- this.BufferLabel.Location = new System.Drawing.Point(285, 60);
+ this.BufferLabel.Location = new System.Drawing.Point(597, 56);
this.BufferLabel.Name = "BufferLabel";
this.BufferLabel.Size = new System.Drawing.Size(35, 13);
this.BufferLabel.TabIndex = 5;
this.BufferLabel.Text = "Buffer";
//
- // PositionBar
- //
- this.PositionBar.Location = new System.Drawing.Point(13, 90);
- this.PositionBar.Name = "PositionBar";
- this.PositionBar.Size = new System.Drawing.Size(265, 23);
- this.PositionBar.TabIndex = 4;
- //
// BufferBar
//
- this.BufferBar.Location = new System.Drawing.Point(13, 60);
+ this.BufferBar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.BufferBar.Location = new System.Drawing.Point(638, 51);
this.BufferBar.Name = "BufferBar";
- this.BufferBar.Size = new System.Drawing.Size(265, 23);
+ this.BufferBar.Size = new System.Drawing.Size(134, 23);
this.BufferBar.TabIndex = 3;
//
// StopButton
//
- this.StopButton.Location = new System.Drawing.Point(203, 13);
+ this.StopButton.Location = new System.Drawing.Point(174, 51);
this.StopButton.Name = "StopButton";
this.StopButton.Size = new System.Drawing.Size(75, 23);
this.StopButton.TabIndex = 2;
@@ -261,7 +300,7 @@
//
// PauseButton
//
- this.PauseButton.Location = new System.Drawing.Point(108, 13);
+ this.PauseButton.Location = new System.Drawing.Point(93, 51);
this.PauseButton.Name = "PauseButton";
this.PauseButton.Size = new System.Drawing.Size(75, 23);
this.PauseButton.TabIndex = 1;
@@ -271,7 +310,7 @@
//
// PlayButton
//
- this.PlayButton.Location = new System.Drawing.Point(12, 13);
+ this.PlayButton.Location = new System.Drawing.Point(12, 51);
this.PlayButton.Name = "PlayButton";
this.PlayButton.Size = new System.Drawing.Size(75, 23);
this.PlayButton.TabIndex = 0;
@@ -307,6 +346,7 @@
this.Load += new System.EventHandler(this.MainForm_Load);
((System.ComponentModel.ISupportInitialize)(this.SongsTableView)).EndInit();
this.MainPanel.ResumeLayout(false);
+ this.MainPanel.PerformLayout();
this.MenuStrip.ResumeLayout(false);
this.MenuStrip.PerformLayout();
this.ControlsPanel.ResumeLayout(false);
@@ -333,15 +373,18 @@
private System.Windows.Forms.Button PlayButton;
private System.Windows.Forms.Button StopButton;
private System.Windows.Forms.Button PauseButton;
- private System.Windows.Forms.Label PositionLabel;
private System.Windows.Forms.Label BufferLabel;
- private System.Windows.Forms.ProgressBar PositionBar;
private System.Windows.Forms.ProgressBar BufferBar;
private System.Windows.Forms.Timer UpdateTimer;
private System.Windows.Forms.TrackBar PositionTrackBar;
private System.Windows.Forms.Label LabelTotalTime;
private System.Windows.Forms.Label LabelCurrentTime;
private System.Windows.Forms.NotifyIcon notifyIcon1;
+ private System.Windows.Forms.Label CurrentSongLabel;
+ private System.Windows.Forms.Label SeperatorLabel;
+ private System.Windows.Forms.Label AlbumListLabel;
+ private System.Windows.Forms.Label ArtistListLabel;
+ private System.Windows.Forms.Label GenreListLabel;
}
}
diff --git a/MusicPlayer/MusicPlayer/MainForm.cs b/MusicPlayer/MusicPlayer/MainForm.cs
index a24a128..bd805bb 100644
--- a/MusicPlayer/MusicPlayer/MainForm.cs
+++ b/MusicPlayer/MusicPlayer/MainForm.cs
@@ -78,13 +78,17 @@ namespace MusicPlayer
PositionTrackBar.Enabled = false;
BufferBar.Value = main.audio.Buffered;
- PositionBar.Value = main.audio.Position;
if(!clicked)
PositionTrackBar.Value = main.audio.Position;
- LabelCurrentTime.Text = main.audio.CurrentTime + "";
- LabelTotalTime.Text = main.audio.TotalTime + "";
+ LabelCurrentTime.Text = Main.SecondsToTimestamp(main.audio.CurrentTime);
+ LabelTotalTime.Text = Main.SecondsToTimestamp(main.audio.TotalTime);
+
+ if(main.audio.CurrentSong == null)
+ CurrentSongLabel.Text = "Not playing any songs";
+ else
+ CurrentSongLabel.Text = "Currently playing: " + main.audio.CurrentSong.Name;
}
private void GenreListBox_SelectedIndexChanged(object sender, EventArgs e)
@@ -111,7 +115,7 @@ namespace MusicPlayer
var drv = SongsTableView.SelectedRows[0].DataBoundItem as DataRowView;
var row = drv.Row as DataRow;
s.ImportRow(row);
- main.audio.Play((s.Rows[0][4] as Song));
+ main.audio.Play((s.Rows[0][5] as Song));
}
}
diff --git a/MusicPlayer/MusicPlayer/MusicPlayer.csproj b/MusicPlayer/MusicPlayer/MusicPlayer.csproj
index 1629d5c..1da17c3 100755
--- a/MusicPlayer/MusicPlayer/MusicPlayer.csproj
+++ b/MusicPlayer/MusicPlayer/MusicPlayer.csproj
@@ -108,6 +108,9 @@
+
+
+