Exemple #1
0
        protected override void InternalSetProcessorVolume(int newVol, int maxVol, Common.MuteState muteState)
        {
            if (_processor != null)
            {
                switch (muteState)
                {
                case Common.MuteState.Normal:
                {
                    if (newVol < 1)
                    {
                        _processor.CurrentVolume = 0.0f;         //mute...
                    }
                    else
                    {
                        float tmpVol = (float)Math.Min(newVol, maxVol);
                        _processor.CurrentVolume = (float)(tmpVol / maxVol);
                    }
                    break;
                }

                case Common.MuteState.Muted:
                {
                    _processor.CurrentVolume = 0f;
                    break;
                }

                case Common.MuteState.AutoMuted:
                {
                    _processor.CurrentVolume = 0f;
                    break;
                }
                }
            }
        }
Exemple #2
0
 private void DoClockTickCheck(long ticks)
 {
     if (_muteState == Common.MuteState.Normal)
     {
         _activeAudioFeed = null;
         _lastAudioTick   = 0;
         NotifyMuteChanged();
         return;
     }
     if (_muteState == Common.MuteState.Muted)
     {
         _lastAudioTick = 0;
         NotifyMuteChanged();
         return;
     }
     if (!_autoMuteEnabled || _lastAudioTick == 0)
     {
         _activeAudioFeed = null;
         _lastAudioTick   = 0;
         _muteState       = Common.MuteState.Normal;
         NotifyMuteChanged();
         return;
     }
     if (ticks - _lastAudioTick > _maxWaitAudioTick)
     {
         _activeAudioFeed = null;
         _lastAudioTick   = 0;
         _muteState       = Common.MuteState.Normal;
         NotifyMuteChanged();
     }
 }
Exemple #3
0
 public void ProcessShutdownSourceMuteOthers(Guid id)
 {
     if (_activeAudioFeed == id)
     {
         _activeAudioFeed = null;
         _muteState       = Common.MuteState.Normal;
         NotifyMuteChanged();
     }
 }
        private void RefreshSettings()
        {
            bool oldAutoMuteEnabled = _autoMuteEnabled;
            _autoMuteEnabled = Common.AppSettings.Instance.EnableAutoMute;
            _maxWaitAudioTick = TimeSpan.FromSeconds(Common.AppSettings.Instance.AutoMuteHangTime).Ticks;
            RefreshPrioritySources();

            if (oldAutoMuteEnabled != _autoMuteEnabled)
            {
                _activeAudioFeed = null;
                _lastAudioTick = 0;
                _muteState = Common.MuteState.Normal;
                NotifyMuteChanged();
            }
        }
Exemple #5
0
        private void RefreshSettings()
        {
            bool oldAutoMuteEnabled = _autoMuteEnabled;

            _autoMuteEnabled  = Common.AppSettings.Instance.EnableAutoMute;
            _maxWaitAudioTick = TimeSpan.FromSeconds(Common.AppSettings.Instance.AutoMuteHangTime).Ticks;
            RefreshPrioritySources();

            if (oldAutoMuteEnabled != _autoMuteEnabled)
            {
                _activeAudioFeed = null;
                _lastAudioTick   = 0;
                _muteState       = Common.MuteState.Normal;
                NotifyMuteChanged();
            }
        }
Exemple #6
0
 public void ProcessToggleSourceMuteOthers(Guid?id)
 {
     if (id == null && _muteState != Common.MuteState.AutoMuted)
     {
         _activeAudioFeed = null;
         _muteState       = Common.MuteState.Normal;
     }
     else
     {
         if (id == null || _activeAudioFeed == id)
         {
             _activeAudioFeed = null;
             _muteState       = Common.MuteState.Normal;
         }
         else
         {
             _activeAudioFeed = id;
             _muteState       = Common.MuteState.Muted;
         }
     }
     NotifyMuteChanged();
 }
Exemple #7
0
 public void NotifyAudioActive(Guid id, bool hasAudio)
 {
     if (!_autoMuteEnabled || _muteState == Common.MuteState.Muted)
     {
         return;
     }
     if (id == _activeAudioFeed)
     {
         if (hasAudio)
         {
             _lastAudioTick = DateTime.Now.Ticks;
         }
     }
     else if (hasAudio)
     {
         if ((_activeAudioFeed.HasValue && (!IsActiveFeedPriority() || IsFeedPriority(id))) || !_activeAudioFeed.HasValue)
         {
             _activeAudioFeed = id;
             _lastAudioTick   = DateTime.Now.Ticks;
             _muteState       = Common.MuteState.AutoMuted;
             NotifyMuteChanged();
         }
     }
 }
 private void DoClockTickCheck(long ticks)
 {
     if (_muteState == Common.MuteState.Normal)
     {
         _activeAudioFeed = null;
         _lastAudioTick = 0;
         NotifyMuteChanged();
         return;
     }
     if(_muteState== Common.MuteState.Muted)
     {
         _lastAudioTick = 0;
         NotifyMuteChanged();
         return;
     }
     if (!_autoMuteEnabled || _lastAudioTick == 0)
     {
         _activeAudioFeed = null;
         _lastAudioTick = 0;
         _muteState = Common.MuteState.Normal;
         NotifyMuteChanged();
         return;
     }
     if (ticks - _lastAudioTick > _maxWaitAudioTick)
     {
         _activeAudioFeed = null;
         _lastAudioTick = 0;
         _muteState = Common.MuteState.Normal;
         NotifyMuteChanged();
     }
 }
 public void ProcessShutdownSourceMuteOthers(Guid id)
 {
     if (_activeAudioFeed == id)
     {
         _activeAudioFeed = null;
         _muteState = Common.MuteState.Normal;
         NotifyMuteChanged();
     }
 }
 public void ProcessToggleSourceMuteOthers(Guid? id)
 {
     if (id == null && _muteState != Common.MuteState.AutoMuted)
     {
         _activeAudioFeed = null;
         _muteState = Common.MuteState.Normal;
     }
     else
     {
         if (id == null || _activeAudioFeed == id)
         {
             _activeAudioFeed = null;
             _muteState = Common.MuteState.Normal;
         }
         else
         {
             _activeAudioFeed = id;
             _muteState = Common.MuteState.Muted;
         }
     }
     NotifyMuteChanged();
 }
 public void NotifyAudioActive(Guid id, bool hasAudio)
 {
     if (!_autoMuteEnabled || _muteState == Common.MuteState.Muted)
         return;
     if (id == _activeAudioFeed)
     {
         if (hasAudio)
             _lastAudioTick = DateTime.Now.Ticks;
     }
     else if (hasAudio)
     {
         if ((_activeAudioFeed.HasValue && (!IsActiveFeedPriority() || IsFeedPriority(id))) || !_activeAudioFeed.HasValue)
         {
             _activeAudioFeed = id;
             _lastAudioTick = DateTime.Now.Ticks;
             _muteState = Common.MuteState.AutoMuted;
             NotifyMuteChanged();
         }
     }
 }
Exemple #12
0
 protected abstract void InternalSetProcessorVolume(int newVol, int maxVol, Common.MuteState muteState);