/// <summary> /// Adds a taskbar progress indicator to the player. /// </summary> /// <param name="form">The form whose taskbar item should be added as a progress indicator.</param> public int Add(Form form) { if (Player._taskbarProgressEnabled) { lock (_taskbarItems) { if (form != null) { // check if already exists bool exists = false; for (int i = 0; i < _taskbarItems.Count; i++) { if (_taskbarItems[i] == form) { exists = true; break; } } if (!exists) { _taskbarItems.Add(form); if (_base._playing) { if (_base._paused) { Player.TaskbarInstance.SetProgressState(form.Handle, TaskbarProgressState.Paused); SetValue(_base.PositionX); } else if (!_base._fileMode || _base._liveStreamMode) { Player.TaskbarInstance.SetProgressState(form.Handle, TaskbarProgressState.Indeterminate); } } _base._hasTaskbarProgress = true; _base.StartMainTimerCheck(); } _base._lastError = Player.NO_ERROR; } else { _base._lastError = HResult.E_INVALIDARG; } } } else { _base._lastError = HResult.MF_E_NOT_AVAILABLE; } return((int)_base._lastError); }