Add keyboard volume controls

This commit is contained in:
Matt Nadareski
2021-07-01 10:19:25 -07:00
parent 565b289a45
commit 2156fd3b63
6 changed files with 209 additions and 145 deletions

View File

@@ -35,6 +35,11 @@ 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);
@@ -235,6 +240,32 @@ namespace RedBookPlayer.GUI
public void RewindButton_Click(object sender, RoutedEventArgs e) => Player.Rewind();
public void VolumeUpButton_Click(object sender, RoutedEventArgs e)
{
if(App.Settings.Volume < 100)
App.Settings.Volume++;
}
public void VolumeDownButton_Click(object sender, RoutedEventArgs e)
{
if(App.Settings.Volume > 0)
App.Settings.Volume--;
}
public void MuteToggleButton_Click(object sender, RoutedEventArgs e)
{
if (_lastVolume == null)
{
_lastVolume = App.Settings.Volume;
App.Settings.Volume = 0;
}
else
{
App.Settings.Volume = _lastVolume.Value;
_lastVolume = null;
}
}
public void EnableDeEmphasisButton_Click(object sender, RoutedEventArgs e) => Player.ToggleDeEmphasis(true);
public void DisableDeEmphasisButton_Click(object sender, RoutedEventArgs e) => Player.ToggleDeEmphasis(false);