void OnMainWindowShown(object sender, EventArgs e)
        {
            if (DesignMode)
            {
                return;
            }
            var app = AppSettings.Instance;

            InitializeLog();
            SearchEngine.Initialize(app.Providers.Keys.Where(k => app.Providers[k].Enabled));
            string[] stopList = File.ReadAllLines(AppSettings.StopListPath)
                                .Select(s => s.Trim())
                                .Where(s => !string.IsNullOrWhiteSpace(s))
                                .ToArray();
            Library.Initialize(AppSettings.GetFolderPath(), stopList);
            InitializeSettings();
            Playlist.Initialize();
            DownloadQueue.Initialize();
            PostProcessingQueue.Initialize();
            uiDownloadQueue.Initialize(DownloadQueue.Instance);
            uiPostProcessingQueue.Initialize(PostProcessingQueue.Instance);
            Action <QueueItem> enqueue = r => uiPostProcessingQueue.Enqueue(r.NewId());

            DownloadQueue.Instance.Completed += (s, evt) => BeginInvoke(new Action(() => enqueue(evt.Data)));
            if (app.UpdateLibraryAfterDownload)
            {
                PostProcessingQueue.Instance.Completed += (s, evt) => LibraryScanner.UpdateLibrary();
            }
            uiCurrentResult.SetResult(UiSettings.Instance.CurrentTrack);
            StartSearch();
            DownloadQueue.Start();
            PostProcessingQueue.Start();
            InitializePlaylist();
            InitializeSuggestions();
            SuggestionScanner.Suggested += OnScannerSuggestions;
            SuggestionScanner.Start(app.DelaySuggestionsScan, app.ScanSuggestionsInterval);
            LibraryScanner.Start(UserSettings.Instance.LibraryFolder, app.TagSeparator, app.DelayLibraryScan, app.ScanLibraryInterval);
            ShowScrollBar(uiResults.Handle, SbVert, true);
            ShowScrollBar(uiPlaylist.Handle, SbVert, true);
            initializing = false;
        }