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; } } } }
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(); } }
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(); } }
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(); } } }
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 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(); } } }
protected abstract void InternalSetProcessorVolume(int newVol, int maxVol, Common.MuteState muteState);