Implemented play next, shuffle and loop. Implemented Artist and Genre search
This commit is contained in:
@@ -40,8 +40,11 @@ namespace MusicPlayer
|
|||||||
|
|
||||||
public Song CurrentSong;
|
public Song CurrentSong;
|
||||||
|
|
||||||
public AudioHandler()
|
private Main main;
|
||||||
|
|
||||||
|
public AudioHandler(Main main)
|
||||||
{
|
{
|
||||||
|
this.main = main;
|
||||||
CreateThreads();
|
CreateThreads();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,6 +174,8 @@ namespace MusicPlayer
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(AState == AudioState.PLAYING)
|
||||||
|
main.form.SongFinished();
|
||||||
AState = AudioState.STOPPED;
|
AState = AudioState.STOPPED;
|
||||||
playpos = 0;
|
playpos = 0;
|
||||||
CurrentTime = 0;
|
CurrentTime = 0;
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ namespace MusicPlayer
|
|||||||
private SongsTable table;
|
private SongsTable table;
|
||||||
private ImageList imagelist;
|
private ImageList imagelist;
|
||||||
|
|
||||||
|
private List<string> genres;
|
||||||
|
private List<string> artists;
|
||||||
|
|
||||||
public Main(NetworkHandler nw, APIHandler api, MainForm form, PlaylistHandler pl)
|
public Main(NetworkHandler nw, APIHandler api, MainForm form, PlaylistHandler pl)
|
||||||
{
|
{
|
||||||
this.nw = nw;
|
this.nw = nw;
|
||||||
@@ -26,11 +29,15 @@ namespace MusicPlayer
|
|||||||
form.main = this;
|
form.main = this;
|
||||||
this.pl = pl;
|
this.pl = pl;
|
||||||
|
|
||||||
audio = new AudioHandler();
|
audio = new AudioHandler(this);
|
||||||
table = new SongsTable();
|
table = new SongsTable();
|
||||||
imagelist = new ImageList();
|
imagelist = new ImageList();
|
||||||
form.SongsTableView.DataSource = table;
|
form.SongsTableView.DataSource = table;
|
||||||
form.SongsTableView.Columns[5].Visible = false;
|
form.SongsTableView.Columns[5].Visible = false;
|
||||||
|
|
||||||
|
genres = new List<string>();
|
||||||
|
artists = new List<string>();
|
||||||
|
|
||||||
Populate();
|
Populate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,9 +45,9 @@ namespace MusicPlayer
|
|||||||
{
|
{
|
||||||
form.AlbumListView.LargeImageList = imagelist;
|
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.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 => { artists.Add(a.naam); form.ArtistListBox.Items.Add(a.naam); });
|
||||||
this.api.GetGenres().ForEach(g => form.GenreListBox.Items.Add(g.name));
|
this.api.GetGenres().ForEach(g => { genres.Add(g.name); 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));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Repopulate()
|
public void Repopulate()
|
||||||
@@ -64,6 +71,50 @@ namespace MusicPlayer
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SearchArtist(string search)
|
||||||
|
{
|
||||||
|
form.ArtistListBox.Items.Clear();
|
||||||
|
|
||||||
|
if (search.Length > 1)
|
||||||
|
{
|
||||||
|
string sPattern = search;
|
||||||
|
|
||||||
|
foreach (string s in artists)
|
||||||
|
{
|
||||||
|
if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
|
||||||
|
{
|
||||||
|
form.ArtistListBox.Items.Add(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
artists.ForEach(a => form.ArtistListBox.Items.Add(a));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SearchGenre(string search)
|
||||||
|
{
|
||||||
|
form.GenreListBox.Items.Clear();
|
||||||
|
|
||||||
|
if (search.Length > 1)
|
||||||
|
{
|
||||||
|
string sPattern = search;
|
||||||
|
|
||||||
|
foreach (string s in genres)
|
||||||
|
{
|
||||||
|
if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
|
||||||
|
{
|
||||||
|
form.GenreListBox.Items.Add(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
genres.ForEach(g => form.GenreListBox.Items.Add(g));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void GenreFilter(string genre)
|
public void GenreFilter(string genre)
|
||||||
{
|
{
|
||||||
table.Clear();
|
table.Clear();
|
||||||
|
|||||||
+137
-12
@@ -1,4 +1,6 @@
|
|||||||
namespace MusicPlayer
|
using System;
|
||||||
|
|
||||||
|
namespace MusicPlayer
|
||||||
{
|
{
|
||||||
partial class MainForm
|
partial class MainForm
|
||||||
{
|
{
|
||||||
@@ -48,10 +50,22 @@
|
|||||||
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.overviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.overviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.playlistsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.playlistsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.playbackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.PlayNextSongButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.LoopSongButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.ShuffleSongButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.playlistToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.playlistToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.makeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
this.saveToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.makeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.SearchGenresToolStripLabel = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.SearchGenresTextBox = new System.Windows.Forms.ToolStripTextBox();
|
||||||
|
this.ClearGenreSearchButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.SearchArtistToolStripLabel = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.SearchArtistsTextBox = new System.Windows.Forms.ToolStripTextBox();
|
||||||
|
this.ClearArtistSearchButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.ControlsPanel = new System.Windows.Forms.Panel();
|
this.ControlsPanel = new System.Windows.Forms.Panel();
|
||||||
this.CurrentSongLabel = new System.Windows.Forms.Label();
|
this.CurrentSongLabel = new System.Windows.Forms.Label();
|
||||||
this.SeperatorLabel = new System.Windows.Forms.Label();
|
this.SeperatorLabel = new System.Windows.Forms.Label();
|
||||||
@@ -241,7 +255,9 @@
|
|||||||
this.MenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.MenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.fileToolStripMenuItem,
|
this.fileToolStripMenuItem,
|
||||||
this.viewToolStripMenuItem,
|
this.viewToolStripMenuItem,
|
||||||
this.playlistToolStripMenuItem});
|
this.playbackToolStripMenuItem,
|
||||||
|
this.playlistToolStripMenuItem,
|
||||||
|
this.searchToolStripMenuItem});
|
||||||
this.MenuStrip.Location = new System.Drawing.Point(0, 0);
|
this.MenuStrip.Location = new System.Drawing.Point(0, 0);
|
||||||
this.MenuStrip.Name = "MenuStrip";
|
this.MenuStrip.Name = "MenuStrip";
|
||||||
this.MenuStrip.Size = new System.Drawing.Size(784, 24);
|
this.MenuStrip.Size = new System.Drawing.Size(784, 24);
|
||||||
@@ -292,34 +308,131 @@
|
|||||||
this.playlistsToolStripMenuItem.Text = "Playlists";
|
this.playlistsToolStripMenuItem.Text = "Playlists";
|
||||||
this.playlistsToolStripMenuItem.Click += new System.EventHandler(this.playlistsToolStripMenuItem_Click);
|
this.playlistsToolStripMenuItem.Click += new System.EventHandler(this.playlistsToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
// playbackToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.playbackToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.PlayNextSongButton,
|
||||||
|
this.LoopSongButton,
|
||||||
|
this.ShuffleSongButton});
|
||||||
|
this.playbackToolStripMenuItem.Name = "playbackToolStripMenuItem";
|
||||||
|
this.playbackToolStripMenuItem.Size = new System.Drawing.Size(66, 20);
|
||||||
|
this.playbackToolStripMenuItem.Text = "Playback";
|
||||||
|
//
|
||||||
|
// PlayNextSongButton
|
||||||
|
//
|
||||||
|
this.PlayNextSongButton.Checked = true;
|
||||||
|
this.PlayNextSongButton.CheckOnClick = true;
|
||||||
|
this.PlayNextSongButton.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
|
this.PlayNextSongButton.Name = "PlayNextSongButton";
|
||||||
|
this.PlayNextSongButton.Size = new System.Drawing.Size(152, 22);
|
||||||
|
this.PlayNextSongButton.Text = "Play Next";
|
||||||
|
//
|
||||||
|
// LoopSongButton
|
||||||
|
//
|
||||||
|
this.LoopSongButton.Checked = true;
|
||||||
|
this.LoopSongButton.CheckOnClick = true;
|
||||||
|
this.LoopSongButton.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
|
this.LoopSongButton.Name = "LoopSongButton";
|
||||||
|
this.LoopSongButton.Size = new System.Drawing.Size(152, 22);
|
||||||
|
this.LoopSongButton.Text = "Loop";
|
||||||
|
//
|
||||||
|
// ShuffleSongButton
|
||||||
|
//
|
||||||
|
this.ShuffleSongButton.CheckOnClick = true;
|
||||||
|
this.ShuffleSongButton.Enabled = false;
|
||||||
|
this.ShuffleSongButton.Name = "ShuffleSongButton";
|
||||||
|
this.ShuffleSongButton.Size = new System.Drawing.Size(152, 22);
|
||||||
|
this.ShuffleSongButton.Text = "Shuffle";
|
||||||
|
//
|
||||||
// playlistToolStripMenuItem
|
// playlistToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.playlistToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.playlistToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.makeToolStripMenuItem,
|
||||||
|
this.toolStripSeparator3,
|
||||||
this.saveToolStripMenuItem1,
|
this.saveToolStripMenuItem1,
|
||||||
this.loadToolStripMenuItem,
|
this.loadToolStripMenuItem});
|
||||||
this.makeToolStripMenuItem});
|
|
||||||
this.playlistToolStripMenuItem.Name = "playlistToolStripMenuItem";
|
this.playlistToolStripMenuItem.Name = "playlistToolStripMenuItem";
|
||||||
this.playlistToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
this.playlistToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
||||||
this.playlistToolStripMenuItem.Text = "Playlist";
|
this.playlistToolStripMenuItem.Text = "Playlist";
|
||||||
//
|
//
|
||||||
|
// makeToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.makeToolStripMenuItem.Name = "makeToolStripMenuItem";
|
||||||
|
this.makeToolStripMenuItem.Size = new System.Drawing.Size(139, 22);
|
||||||
|
this.makeToolStripMenuItem.Text = "Create / Edit";
|
||||||
|
this.makeToolStripMenuItem.Click += new System.EventHandler(this.makeToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
|
// toolStripSeparator3
|
||||||
|
//
|
||||||
|
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
|
this.toolStripSeparator3.Size = new System.Drawing.Size(136, 6);
|
||||||
|
//
|
||||||
// saveToolStripMenuItem1
|
// saveToolStripMenuItem1
|
||||||
//
|
//
|
||||||
this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1";
|
this.saveToolStripMenuItem1.Name = "saveToolStripMenuItem1";
|
||||||
this.saveToolStripMenuItem1.Size = new System.Drawing.Size(103, 22);
|
this.saveToolStripMenuItem1.Size = new System.Drawing.Size(139, 22);
|
||||||
this.saveToolStripMenuItem1.Text = "Save";
|
this.saveToolStripMenuItem1.Text = "Save";
|
||||||
//
|
//
|
||||||
// loadToolStripMenuItem
|
// loadToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
|
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
|
||||||
this.loadToolStripMenuItem.Size = new System.Drawing.Size(103, 22);
|
this.loadToolStripMenuItem.Size = new System.Drawing.Size(139, 22);
|
||||||
this.loadToolStripMenuItem.Text = "Load";
|
this.loadToolStripMenuItem.Text = "Load";
|
||||||
//
|
//
|
||||||
// makeToolStripMenuItem
|
// searchToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.makeToolStripMenuItem.Name = "makeToolStripMenuItem";
|
this.searchToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.makeToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
this.SearchGenresToolStripLabel,
|
||||||
this.makeToolStripMenuItem.Text = "Create / Edit";
|
this.SearchArtistToolStripLabel});
|
||||||
this.makeToolStripMenuItem.Click += new System.EventHandler(this.makeToolStripMenuItem_Click);
|
this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
|
||||||
|
this.searchToolStripMenuItem.Size = new System.Drawing.Size(54, 20);
|
||||||
|
this.searchToolStripMenuItem.Text = "Search";
|
||||||
|
//
|
||||||
|
// SearchGenresToolStripLabel
|
||||||
|
//
|
||||||
|
this.SearchGenresToolStripLabel.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.SearchGenresTextBox,
|
||||||
|
this.ClearGenreSearchButton});
|
||||||
|
this.SearchGenresToolStripLabel.Name = "SearchGenresToolStripLabel";
|
||||||
|
this.SearchGenresToolStripLabel.Size = new System.Drawing.Size(110, 22);
|
||||||
|
this.SearchGenresToolStripLabel.Text = "Genres";
|
||||||
|
//
|
||||||
|
// SearchGenresTextBox
|
||||||
|
//
|
||||||
|
this.SearchGenresTextBox.Name = "SearchGenresTextBox";
|
||||||
|
this.SearchGenresTextBox.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.SearchGenresTextBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.SearchGenresTextBox_KeyUp);
|
||||||
|
//
|
||||||
|
// ClearGenreSearchButton
|
||||||
|
//
|
||||||
|
this.ClearGenreSearchButton.Enabled = false;
|
||||||
|
this.ClearGenreSearchButton.Name = "ClearGenreSearchButton";
|
||||||
|
this.ClearGenreSearchButton.Size = new System.Drawing.Size(160, 22);
|
||||||
|
this.ClearGenreSearchButton.Text = "Clear Search";
|
||||||
|
this.ClearGenreSearchButton.Click += new System.EventHandler(this.ClearGenreSearchButton_Click);
|
||||||
|
//
|
||||||
|
// SearchArtistToolStripLabel
|
||||||
|
//
|
||||||
|
this.SearchArtistToolStripLabel.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
|
this.SearchArtistsTextBox,
|
||||||
|
this.ClearArtistSearchButton});
|
||||||
|
this.SearchArtistToolStripLabel.Name = "SearchArtistToolStripLabel";
|
||||||
|
this.SearchArtistToolStripLabel.Size = new System.Drawing.Size(110, 22);
|
||||||
|
this.SearchArtistToolStripLabel.Text = "Artists";
|
||||||
|
//
|
||||||
|
// SearchArtistsTextBox
|
||||||
|
//
|
||||||
|
this.SearchArtistsTextBox.Name = "SearchArtistsTextBox";
|
||||||
|
this.SearchArtistsTextBox.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.SearchArtistsTextBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.SearchArtistsTextBox_KeyUp);
|
||||||
|
//
|
||||||
|
// ClearArtistSearchButton
|
||||||
|
//
|
||||||
|
this.ClearArtistSearchButton.Enabled = false;
|
||||||
|
this.ClearArtistSearchButton.Name = "ClearArtistSearchButton";
|
||||||
|
this.ClearArtistSearchButton.Size = new System.Drawing.Size(160, 22);
|
||||||
|
this.ClearArtistSearchButton.Text = "Clear Search";
|
||||||
|
this.ClearArtistSearchButton.Click += new System.EventHandler(this.ClearArtistSearchButton_Click);
|
||||||
//
|
//
|
||||||
// ControlsPanel
|
// ControlsPanel
|
||||||
//
|
//
|
||||||
@@ -584,6 +697,18 @@
|
|||||||
private System.Windows.Forms.ToolStripMenuItem NotifyMenuStripPlayingSongLabel;
|
private System.Windows.Forms.ToolStripMenuItem NotifyMenuStripPlayingSongLabel;
|
||||||
private System.Windows.Forms.SplitContainer SplitContainer;
|
private System.Windows.Forms.SplitContainer SplitContainer;
|
||||||
private System.Windows.Forms.ToolStripMenuItem makeToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem makeToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem SearchArtistToolStripLabel;
|
||||||
|
private System.Windows.Forms.ToolStripTextBox SearchArtistsTextBox;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem SearchGenresToolStripLabel;
|
||||||
|
private System.Windows.Forms.ToolStripTextBox SearchGenresTextBox;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem ClearArtistSearchButton;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem ClearGenreSearchButton;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem playbackToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem ShuffleSongButton;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem LoopSongButton;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem PlayNextSongButton;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ namespace MusicPlayer
|
|||||||
public partial class MainForm : Form
|
public partial class MainForm : Form
|
||||||
{
|
{
|
||||||
NotificationPopup p;
|
NotificationPopup p;
|
||||||
|
bool songFinished;
|
||||||
|
|
||||||
public Main main
|
public Main main
|
||||||
{
|
{
|
||||||
@@ -47,6 +48,7 @@ namespace MusicPlayer
|
|||||||
};
|
};
|
||||||
|
|
||||||
p = new NotificationPopup(this);
|
p = new NotificationPopup(this);
|
||||||
|
songFinished = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainForm_Load(object sender, EventArgs e)
|
private void MainForm_Load(object sender, EventArgs e)
|
||||||
@@ -69,6 +71,11 @@ namespace MusicPlayer
|
|||||||
main.audio.Stop();
|
main.audio.Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SongFinished()
|
||||||
|
{
|
||||||
|
songFinished = true;
|
||||||
|
}
|
||||||
|
|
||||||
private void UpdateTimer_Tick(object sender, EventArgs e)
|
private void UpdateTimer_Tick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//Trackbar
|
//Trackbar
|
||||||
@@ -139,6 +146,55 @@ namespace MusicPlayer
|
|||||||
StopButton.Enabled = true;
|
StopButton.Enabled = true;
|
||||||
NotifyMenuStripStopButton.Enabled = true;
|
NotifyMenuStripStopButton.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(PlayNextSongButton.Checked)
|
||||||
|
{
|
||||||
|
ShuffleSongButton.Enabled = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShuffleSongButton.Enabled = false;
|
||||||
|
ShuffleSongButton.Checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (songFinished)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Song finished");
|
||||||
|
Thread.Sleep(20);
|
||||||
|
|
||||||
|
if (PlayNextSongButton.Checked)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Playing next song");
|
||||||
|
|
||||||
|
int selected = 0;
|
||||||
|
|
||||||
|
if(ShuffleSongButton.Checked)
|
||||||
|
{
|
||||||
|
Random r = new Random();
|
||||||
|
selected = r.Next(0, SongsTableView.Rows.Count);
|
||||||
|
while (selected == SongsTableView.SelectedRows[0].Index && SongsTableView.Rows.Count > 1)
|
||||||
|
selected = r.Next(0, SongsTableView.Rows.Count);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
selected = SongsTableView.SelectedRows[0].Index + 1;
|
||||||
|
|
||||||
|
if (selected >= SongsTableView.Rows.Count && LoopSongButton.Checked)
|
||||||
|
selected = 0;
|
||||||
|
|
||||||
|
Console.WriteLine(selected);
|
||||||
|
|
||||||
|
SongsTableView.CurrentCell = SongsTableView.Rows[selected].Cells[0];
|
||||||
|
SongsTableView_CellDoubleClick(this, new DataGridViewCellEventArgs(0, selected));
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (LoopSongButton.Checked)
|
||||||
|
{
|
||||||
|
main.audio.Play(main.audio.CurrentSong);
|
||||||
|
}
|
||||||
|
|
||||||
|
songFinished = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GenreListBox_SelectedIndexChanged(object sender, EventArgs e)
|
private void GenreListBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
@@ -284,7 +340,38 @@ namespace MusicPlayer
|
|||||||
PlaylistMaker p = new PlaylistMaker(main.pl, main.api);
|
PlaylistMaker p = new PlaylistMaker(main.pl, main.api);
|
||||||
p.ShowDialog();
|
p.ShowDialog();
|
||||||
main.Repopulate();
|
main.Repopulate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SearchArtistsTextBox_KeyUp(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
main.SearchArtist(SearchArtistsTextBox.Text);
|
||||||
|
if (SearchArtistsTextBox.Text.Length < 1)
|
||||||
|
ClearArtistSearchButton.Enabled = false;
|
||||||
|
else
|
||||||
|
ClearArtistSearchButton.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SearchGenresTextBox_KeyUp(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
main.SearchGenre(SearchGenresTextBox.Text);
|
||||||
|
if (SearchGenresTextBox.Text.Length < 1)
|
||||||
|
ClearGenreSearchButton.Enabled = false;
|
||||||
|
else
|
||||||
|
ClearGenreSearchButton.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearArtistSearchButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
main.SearchArtist("");
|
||||||
|
SearchArtistsTextBox.Text = "";
|
||||||
|
ClearArtistSearchButton.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearGenreSearchButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
main.SearchGenre("");
|
||||||
|
SearchGenresTextBox.Text = "";
|
||||||
|
ClearGenreSearchButton.Enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user