Example #1
0
 private void selectFolderToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (LibraryDialog.ShowDialog() == DialogResult.OK)
     {
         MusicLibrary.SetMusicLibraryFolder(LibraryDialog.SelectedPath);
         Play();
     }
 }
Example #2
0
 static void Main()
 {
     MusicLibrary.IndexSongs();
     new Thread(StartServer).Start();
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     mediaPlayer = new MediaPlayerForm();
     Application.Run(mediaPlayer);
 }
Example #3
0
 public static void PlaySelectedSong(string song)
 {
     MusicLibrary.AddSongToPlayListFront(song);
     if (!mediaPlayer.IsPlaying())
     {
         int songIndex = 0;
         MusicLibrary.currentIndex = songIndex;
         mediaPlayer?.PlaySelectedsong(song);
     }
 }
Example #4
0
        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);
        }
Example #5
0
        //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);
            }
        }
Example #6
0
 private void loadPlayListToolStripMenuItem_Click(object sender, EventArgs e)
 {
     MusicLibrary.LoadPlayListFromDisk();
     MusicLibrary.GetNextSongFromPlaylist(out string song);
     PlaySelectedsong(song);
 }