private void SetupPlaylist() { m_Form.Setup(this); Player.StateChanged += OnPlayerStateChanged; Player.Playback.Completed += OnPlaybackCompleted; Player.Closed += OnMpdnFormClosed; Player.DragEnter += OnDragEnter; Player.DragDrop += OnDragDrop; Player.CommandLineFileOpen += OnCommandLineFileOpen; Media.Loading += OnMediaLoading; m_MpdnForm = Player.ActiveForm; m_MpdnForm.Move += OnMpdnFormMove; m_MpdnForm.KeyDown += OnMpdnFormKeyDown; m_MpdnForm.MainMenuStrip.MenuActivate += OnMpdnFormMainMenuActivated; m_MpdnForm.SizeChanged += OnMpdnFormSizeChanged; m_MpdnForm.ResizeBegin += OnMpdnFormResizeBegin; m_MpdnForm.ResizeEnd += OnMpdnFormResizeEnd; m_Form.VisibleChanged += OnFormVisibilityChanged; m_Form.Move += OnFormMove; m_Form.SizeChanged += OnFormSizeChanged; if (Settings.RememberWindowPosition) { m_Form.RememberWindowPosition = Settings.RememberWindowPosition; m_Form.WindowPosition = Settings.WindowPosition; } if (Settings.RememberWindowSize) { m_Form.RememberWindowSize = Settings.RememberWindowSize; m_Form.WindowSize = Settings.WindowSize; m_FormStartSize = m_Form.Size; } if (Settings.LockWindowSize) { m_Form.LockWindowSize = Settings.LockWindowSize; SetFormToFixed(); } m_Form.SnapLocation = Settings.SnapLocation; if (Settings.SnapWithPlayer) { m_Form.SnapWithPlayer = Settings.SnapWithPlayer; SnapPlayer(); } if (Settings.StaySnapped) { m_Form.KeepSnapped = Settings.StaySnapped; } if (Settings.RememberColumns) { if (Settings.Columns != null && Settings.Columns.Count > 0) { m_Form.Columns = Settings.Columns; } } if (Settings.ShowToolTips) { m_Form.ShowToolTips = Settings.ShowToolTips; } if (Settings.ShowPlaylistOnStartup) { ViewPlaylist(); } if (Settings.BeginPlaybackOnStartup) { m_Form.BeginPlaybackOnStartup = Settings.BeginPlaybackOnStartup; } if (Settings.RegexList != null && Settings.RegexList.Count > 0) { m_Form.RegexList = Settings.RegexList; } if (Settings.StripDirectoryInFileName) { m_Form.StripDirectoryInFileName = Settings.StripDirectoryInFileName; } m_Form.AfterPlaybackAction = Settings.AfterPlaybackAction; if (Settings.RememberPlaylist) { if (Settings.RememberedFiles.Count > 0) { var playList = new List <PlaylistItem>(); foreach (string f in Settings.RememberedFiles) { var s = f.Split('|'); string filePath = s[0]; var skipChapters = new List <int>(); if (s[1].Length > 0) { if (s[1].Contains(",")) { skipChapters = s[1].Split(',').Select(int.Parse).ToList(); } else { skipChapters.Add(int.Parse(s[1])); } } int endChapter = int.Parse(s[2]); bool active = bool.Parse(s[3]); string duration = s[4]; playList.Add(new PlaylistItem(filePath, skipChapters, endChapter, active, duration)); } m_Form.Playlist = playList; m_Form.PopulatePlaylist(); m_Form.RefreshPlaylist(); Task.Factory.StartNew(m_Form.GetMediaDuration); if (Settings.BeginPlaybackOnStartup) { m_Form.PlayActive(); } } } FixFormLocationBounds(); BindContextMenu(m_MpdnForm); }
public override void Initialize() { base.Initialize(); form.Setup(this); PlayerControl.PlayerStateChanged += OnPlayerStateChanged; PlayerControl.PlaybackCompleted += OnPlaybackCompleted; PlayerControl.FormClosed += OnMpdnFormClosed; PlayerControl.DragEnter += OnDragEnter; PlayerControl.DragDrop += OnDragDrop; PlayerControl.CommandLineFileOpen += OnCommandLineFileOpen; mpdnForm = PlayerControl.Form; mpdnForm.Move += OnMpdnFormMove; mpdnForm.KeyDown += OnMpdnFormKeyDown; mpdnForm.MainMenuStrip.MenuActivate += OnMpdnFormMainMenuActivated; mpdnForm.SizeChanged += OnMpdnFormSizeChanged; mpdnForm.ResizeBegin += OnMpdnFormResizeBegin; mpdnForm.ResizeEnd += OnMpdnFormResizeEnd; form.VisibleChanged += OnFormVisibilityChanged; form.Move += OnFormMove; form.SizeChanged += OnFormSizeChanged; if (Settings.RememberWindowPosition) { form.RememberWindowPosition = Settings.RememberWindowPosition; form.WindowPosition = Settings.WindowPosition; } if (Settings.RememberWindowSize) { form.RememberWindowSize = Settings.RememberWindowSize; form.WindowSize = Settings.WindowSize; formStartSize = form.Size; } if (Settings.LockWindowSize) { form.LockWindowSize = Settings.LockWindowSize; SetFormToFixed(); } if (Settings.SnapWithPlayer) { form.SnapWithPlayer = Settings.SnapWithPlayer; SnapPlayer(); } if (Settings.StaySnapped) { form.KeepSnapped = Settings.StaySnapped; } if (Settings.RememberColumns) { if (Settings.Columns != null && Settings.Columns.Count > 0) { form.Columns = Settings.Columns; } } if (Settings.ShowPlaylistOnStartup) { ViewPlaylist(); } if (Settings.BeginPlaybackOnStartup) { form.BeginPlaybackOnStartup = Settings.BeginPlaybackOnStartup; } if (Settings.BeginPlaybackWhenFileIsAdded) { form.BeginPlaybackWhenFileIsAdded = Settings.BeginPlaybackWhenFileIsAdded; } if (Settings.BeginPlaybackWhenPlaylistFileIsOpened) { form.BeginPlaybackWhenPlaylistFileIsOpened = Settings.BeginPlaybackWhenPlaylistFileIsOpened; } if (Settings.RememberPlaylist) { if (Settings.RememberedFiles.Count > 0) { var playList = new List <PlaylistItem>(); foreach (var f in Settings.RememberedFiles) { string[] s = f.Split('|'); string filePath = s[0]; var skipChapters = new List <int>(); if (s[1].Length > 0) { if (s[1].Contains(",")) { skipChapters = s[1].Split(',').Select(int.Parse).ToList(); } else { skipChapters.Add(int.Parse(s[1])); } } int endChapter = int.Parse(s[2]); bool active = Boolean.Parse(s[3]); playList.Add(new PlaylistItem(filePath, skipChapters, endChapter, active)); } int activeItem = (playList.FindIndex(i => i.Active) > -1) ? playList.FindIndex(i => i.Active) : 0; form.Playlist = playList; form.PopulatePlaylist(); form.RefreshPlaylist(); form.FocusPlaylistItem(activeItem); if (Settings.BeginPlaybackOnStartup) { form.PlayActive(); } } } FixFormLocationBounds(); }