Ejemplo n.º 1
0
        public void DownloadAllTracks()
        {
            string[] serverTracks = null;
            lock (m_trackLocker)
            {
                serverTracks = m_tracks.Select(t => t.TrackName.Trim()).ToArray();
            }

            var localTracks = GetTrackFilesOnDisk();
            var newTracks   = serverTracks.Except(localTracks).ToArray();

            if (newTracks.Length > 0)
            {
                Console.WriteLine($"Detected {newTracks.Length} tracks that aren't downloaded.");
                Console.WriteLine("Beginning to download tracks...");
                for (int i = 0; i < newTracks.Length; ++i)
                {
                    string trackName = newTracks[i];
                    Console.WriteLine($"Downloading track {i + 1}/{newTracks.Length}: {trackName}");
                    TrackInstaller.DownloadTrack(trackName);
                }
                Console.WriteLine("Track installation complete!");
            }
            else
            {
                Console.WriteLine("No new tracks to download. Re-run TrackManager.exe without the '-downloadalltracks' flag.");
            }
        }