private static void ShowSkipOSD()
        {
            MediaModelSettings settings          = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();
            ISuperLayerManager superLayerManager = ServiceRegistration.Get <ISuperLayerManager>();

            superLayerManager.ShowSuperLayer(SKIP_OSD_SUPERLAYER_SCREEN_NAME, TimeSpan.FromSeconds(settings.SkipStepTimeout));
        }
Beispiel #2
0
        public override void Save()
        {
            base.Save();
            MediaModelSettings settings = SettingsManager.Load <MediaModelSettings>();

            settings.SkipStepList = _value;
            SettingsManager.Save(settings);
        }
        public override void Save()
        {
            base.Save();
            MediaModelSettings settings = SettingsManager.Load <MediaModelSettings>();

            settings.InstantSkipPercent = _value;
            SettingsManager.Save(settings);
        }
        public override void Save()
        {
            base.Save();
            MediaModelSettings settings = SettingsManager.Load <MediaModelSettings>();

            settings.OpenPlayerConfigInOsd = _yes;
            SettingsManager.Save(settings);
        }
Beispiel #5
0
        public override void Save()
        {
            base.Save();
            MediaModelSettings settings = SettingsManager.Load <MediaModelSettings>();

            settings.PreferInstantSkipSeconds = _yes;
            SettingsManager.Save(settings);
        }
        public override void Save()
        {
            base.Save();
            MediaModelSettings settings = SettingsManager.Load <MediaModelSettings>();

            settings.ClosePlayerWhenFinished = _yes;
            SettingsManager.Save(settings);
            UpdatePlayerContexts();
        }
        private void ReSetSkipTimer()
        {
            ShowSkipOSD();
            MediaModelSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();

            if (_skipStepTimer == null)
            {
                _skipStepTimer = new DelayedEvent(settings.SkipStepTimeout * 1000);
                _skipStepTimer.OnEventHandler += SkipStepTimerElapsed;
            }
            _skipStepTimer.EnqueueEvent(this, EventArgs.Empty);
        }
 public override void ToggleOSD()
 {
     if (IsOSDVisible)
     {
         MediaModelSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();
         if (settings.OpenPlayerConfigInOsd)
         {
             PlayerConfigurationDialogModel.OpenPlayerConfigurationDialog();
             _isOsdOpenOnDemand = true;
             return;
         }
     }
     base.ToggleOSD();
 }
Beispiel #9
0
        /// <summary>
        /// Called from the skin if the user invokes the "InstantSkip" action. This will start the InstantSkip in the
        /// underlaying player.
        /// </summary>
        public void InstantSkipBackward()
        {
            IPlayerContext pc = GetPlayerContext();

            if (pc == null)
            {
                return;
            }

            ClearSkipTimer();
            MediaModelSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();

            pc.InstantSkip(-(int)settings.InstantSkipPercent);
        }
Beispiel #10
0
        protected static void CompletePlayOrEnqueue(IPlayerContext pc, bool play)
        {
            IPlayerContextManager pcm      = ServiceRegistration.Get <IPlayerContextManager>();
            MediaModelSettings    settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();

            pc.CloseWhenFinished = settings.ClosePlayerWhenFinished; // Has to be done before starting the media item, else the slot will not close in case of an error / when the media item cannot be played
            if (play)
            {
                pc.Play();
                if (pc.AVType == AVType.Video)
                {
                    pcm.ShowFullscreenContent(true);
                }
            }
        }
        protected static Task CompletePlayOrEnqueue(IPlayerContext pc, bool play, IResumeState resumeState = null)
        {
            IPlayerContextManager pcm      = ServiceRegistration.Get <IPlayerContextManager>();
            MediaModelSettings    settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();

            pc.CloseWhenFinished = settings.ClosePlayerWhenFinished; // Has to be done before starting the media item, else the slot will not close in case of an error / when the media item cannot be played
            if (play)
            {
                if (resumeState != null)
                {
                    pc.SetContextVariable(PlayerContext.KEY_RESUME_STATE, resumeState);
                }
                pc.Play();
                if (pc.AVType == AVType.Video || pc.AVType == AVType.Audio)
                {
                    pcm.ShowFullscreenContent(true);
                }
            }
            return(Task.CompletedTask);
        }
        private void InitSkipSteps()
        {
            MediaModelSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();
            String             stepList = settings.SkipStepList;

            _skipSteps.Clear();
            foreach (string step in stepList.Split(new char[] { ',' }))
            {
                int stepValue;
                if (int.TryParse(step, out stepValue))
                {
                    _skipSteps.Add(stepValue);
                }
            }
            if (!_skipSteps.Contains(0))
            {
                _skipSteps.Add(0);
            }
            _skipSteps.Sort();
        }
Beispiel #13
0
        private void ReSetSkipTimer()
        {
            ShowSkipOSD();
            MediaModelSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();

            if (_skipStepTimer == null)
            {
                _skipStepTimer = new Timer(settings.SkipStepTimeout * 1000)
                {
                    Enabled = true, AutoReset = false
                };
                _skipStepTimer.Elapsed += SkipStepTimerElapsed;
            }
            else
            {
                // In case of new user action, reset the timer.
                _skipStepTimer.Stop();
                _skipStepTimer.Start();
            }
        }
        /// <summary>
        /// Called from the skin if the user invokes the "InstantSkip" action. This will start the InstantSkip in the
        /// underlying player.
        /// </summary>
        public void InstantSkipBackward()
        {
            IPlayerContext pc = GetPlayerContext();

            if (pc == null)
            {
                return;
            }

            ClearSkipTimer();
            MediaModelSettings settings = ServiceRegistration.Get <ISettingsManager>().Load <MediaModelSettings>();

            if (settings.PreferInstantSkipSeconds)
            {
                pc.SkipRelative(TimeSpan.FromSeconds(-settings.InstantSkipSeconds));
            }
            else
            {
                pc.InstantSkip(-(int)settings.InstantSkipPercent);
            }
        }