private void selectFolderToolStripMenuItem_Click(object sender, EventArgs e) { if (LibraryDialog.ShowDialog() == DialogResult.OK) { MusicLibrary.SetMusicLibraryFolder(LibraryDialog.SelectedPath); Play(); } }
static void Main() { MusicLibrary.IndexSongs(); new Thread(StartServer).Start(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mediaPlayer = new MediaPlayerForm(); Application.Run(mediaPlayer); }
public static void PlaySelectedSong(string song) { MusicLibrary.AddSongToPlayListFront(song); if (!mediaPlayer.IsPlaying()) { int songIndex = 0; MusicLibrary.currentIndex = songIndex; mediaPlayer?.PlaySelectedsong(song); } }
public void ReceiveFile() { client = listener.AcceptTcpClient(); stream = client.GetStream(); byte[] prefixArray = new byte[4]; stream.Read(prefixArray, 0, 4); int msgLength = BitConverter.ToInt32(prefixArray, 0); byte[] responseArray = new byte[msgLength]; int bytesRead = 0; while (bytesRead < msgLength) { bytesRead += stream.Read(responseArray, bytesRead, responseArray.Length - bytesRead); } File.WriteAllBytes(Path.Combine(MusicLibrary.LibraryFolder, songname), responseArray); ntc.NotifyUploadDone(); Close(); MusicLibrary.IndexSongs(); System.Diagnostics.Debug.WriteLine("Ontvangen: " + msgLength); }
//Process the request from client #region public void ProcesAnswer(dynamic jsonData) { if (jsonData.Action == "song/play") { Program.RecievedPlay(); } else if (jsonData.Action == "song/pause") { Program.RecievedPause(); } else if (jsonData.Action == "song/stop") { Program.RecievedStop(); } else if (jsonData.Action == "song/next") { Program.RecievedNext(); } else if (jsonData.Action == "song/previous") { Program.RecievedPrevious(); } else if (jsonData.Action == "allsongs") { MusicLibrary.IndexSongs(); dynamic answer = new { Action = "allsongs", data = new { songs = MusicLibrary.songs.ToArray() } }; Send(JsonConvert.SerializeObject(answer)); } else if (jsonData.Action == "playlist/current/all") { dynamic answer = new { Action = "playlist/current/all", data = new { songs = MusicLibrary.playList.ToArray() } }; Send(JsonConvert.SerializeObject(answer)); } else if (jsonData.Action == "play/selectedsong") { if (MusicLibrary.ContainsSong((string)jsonData.data.song)) { Program.PlaySelectedSong((string)jsonData.data.song); Program.RecievedPlay(); } } else if (jsonData.Action == "song/upload") { if (jsonData.data.Action == "start") { transfer = new FileTransfer((string)jsonData.data.songname, this); recieveUploadThread = new Thread(transfer.ReceiveFile); recieveUploadThread.Start(); dynamic toSend = new { Action = "song/upload", data = new { Action = "ready" } }; Send(JsonConvert.SerializeObject(toSend)); } } else if (jsonData.Action == "playlist/override") { string firstSong = ""; List <string> currentPlaylist = new List <string>(); foreach (dynamic song in jsonData.data.songs) { if (firstSong == "") { firstSong = (string)song; } else { currentPlaylist.Add((string)song); } } MusicLibrary.LoadNewPlaylist(currentPlaylist); Program.PlaySelectedSong(firstSong); } else if (jsonData.Action == "playlist/getcurrent") { (string currentsong, List <string> playlist) = MusicLibrary.GetCurrentState(); dynamic answer = new { Action = "playlist/getcurrent", data = new { currentsong = currentsong, playlist = playlist } }; Send(JsonConvert.SerializeObject(answer)); } else if (jsonData.Action == "disconnect") { Close(); Program.CloseClient(this); } }
private void loadPlayListToolStripMenuItem_Click(object sender, EventArgs e) { MusicLibrary.LoadPlayListFromDisk(); MusicLibrary.GetNextSongFromPlaylist(out string song); PlaySelectedsong(song); }