mirror of
https://github.com/aaru-dps/RedBookPlayer.git
synced 2025-12-16 19:24:41 +00:00
Move mute toggling to view-model
This commit is contained in:
@@ -35,11 +35,6 @@ namespace RedBookPlayer.GUI
|
||||
/// </summary>
|
||||
private Timer _updateTimer;
|
||||
|
||||
/// <summary>
|
||||
/// Last volume for mute toggling
|
||||
/// </summary>
|
||||
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;
|
||||
|
||||
|
||||
@@ -13,6 +13,11 @@ namespace RedBookPlayer.GUI
|
||||
/// </summary>
|
||||
private Player _player;
|
||||
|
||||
/// <summary>
|
||||
/// Last volume for mute toggling
|
||||
/// </summary>
|
||||
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)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Temporarily mute playback
|
||||
/// </summary>
|
||||
public void ToggleMute()
|
||||
{
|
||||
if(_lastVolume == null)
|
||||
{
|
||||
_lastVolume = Volume;
|
||||
Volume = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
Volume = _lastVolume.Value;
|
||||
_lastVolume = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update the UI from the internal player
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user