public MainViewModel()
        {
            TraceLogs = new ObservableCollection<TraceLog>();
            Logs = new ObservableCollection<Log>();
            ChartViewModel = new SuperChartViewModel();
            ChartViewModel.Charts = new ObservableCollection<ChartViewModel>();
            ChartViewModel.ChartLines = new List<ChartLineViewModel>();

            AddCharts(ChartViewModel.Charts);

            SavedSources = new ObservableCollection<string>();
            foreach (string source in SavedSourcesDataClient.Load().Distinct())
                SavedSources.Add(source);

            SavedPlayers = new ObservableCollection<string>();
            foreach (string player in SavedPlayersDataClient.Load().Distinct())
                SavedPlayers.Add(player);

            connectExternalCommand = new DelegateCommand<string>(ConnectExternal);
            playInternalCommand = new DelegateCommand<string>(SetStreamingSource);
            saveTraceCommand = new DelegateCommand(SaveTrace);
            saveLogsCommand = new DelegateCommand(SaveLogs);

            LoggingService.Current.LogReceived += embeddedLogger_LogReceived;

            Instruction = "Enter a stream URL above or connect to an external player.";
        }
        public MainViewModel()
        {
            TraceLogs                 = new ObservableCollection <TraceLog>();
            Logs                      = new ObservableCollection <Log>();
            ChartViewModel            = new SuperChartViewModel();
            ChartViewModel.Charts     = new ObservableCollection <ChartViewModel>();
            ChartViewModel.ChartLines = new List <ChartLineViewModel>();

            AddCharts(ChartViewModel.Charts);

            SavedSources = new ObservableCollection <string>();
            foreach (string source in SavedSourcesDataClient.Load().Distinct())
            {
                SavedSources.Add(source);
            }

            SavedPlayers = new ObservableCollection <string>();
            foreach (string player in SavedPlayersDataClient.Load().Distinct())
            {
                SavedPlayers.Add(player);
            }

            connectExternalCommand = new DelegateCommand <string>(ConnectExternal);
            playInternalCommand    = new DelegateCommand <string>(SetStreamingSource);
            saveTraceCommand       = new DelegateCommand(SaveTrace);
            saveLogsCommand        = new DelegateCommand(SaveLogs);

            LoggingService.Current.LogReceived += embeddedLogger_LogReceived;

            Instruction = "Enter a stream URL above or connect to an external player.";
        }