diff --git a/RedBookPlayer/GUI/PlayerView.xaml.cs b/RedBookPlayer/GUI/PlayerView.xaml.cs index 47bbc07..957bc4c 100644 --- a/RedBookPlayer/GUI/PlayerView.xaml.cs +++ b/RedBookPlayer/GUI/PlayerView.xaml.cs @@ -35,11 +35,6 @@ namespace RedBookPlayer.GUI /// private Timer _updateTimer; - /// - /// Last volume for mute toggling - /// - private int? _lastVolume = null; - public PlayerView() => InitializeComponent(null); public PlayerView(string xaml) => InitializeComponent(xaml); @@ -262,19 +257,7 @@ namespace RedBookPlayer.GUI public void VolumeDownButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.Volume--; - public void MuteToggleButton_Click(object sender, RoutedEventArgs e) - { - if (_lastVolume == null) - { - _lastVolume = PlayerViewModel.Volume; - PlayerViewModel.Volume = 0; - } - else - { - PlayerViewModel.Volume = _lastVolume.Value; - _lastVolume = null; - } - } + public void MuteToggleButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.ToggleMute(); public void EnableDeEmphasisButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.ApplyDeEmphasis = true; diff --git a/RedBookPlayer/GUI/PlayerViewModel.cs b/RedBookPlayer/GUI/PlayerViewModel.cs index 6996e2e..6699a18 100644 --- a/RedBookPlayer/GUI/PlayerViewModel.cs +++ b/RedBookPlayer/GUI/PlayerViewModel.cs @@ -13,6 +13,11 @@ namespace RedBookPlayer.GUI /// private Player _player; + /// + /// Last volume for mute toggling + /// + private int? _lastVolume = null; + #region Player Status public bool Initialized => _player?.Initialized ?? false; @@ -189,6 +194,23 @@ namespace RedBookPlayer.GUI return string.Join("", numbers.Select(i => i.ToString().PadLeft(2, '0').Substring(0, 2))); } + /// + /// Temporarily mute playback + /// + public void ToggleMute() + { + if(_lastVolume == null) + { + _lastVolume = Volume; + Volume = 0; + } + else + { + Volume = _lastVolume.Value; + _lastVolume = null; + } + } + /// /// Update the UI from the internal player ///