mirror of
https://github.com/aaru-dps/RedBookPlayer.git
synced 2025-12-16 19:24:41 +00:00
Fix volume setting; move view model to common
This commit is contained in:
@@ -389,6 +389,12 @@ namespace RedBookPlayer.Common.Hardware
|
||||
/// <param name="load">True to enable loading data tracks, false otherwise</param>
|
||||
public void SetLoadDataTracks(bool load) => (_opticalDisc as CompactDisc)?.SetLoadDataTracks(load);
|
||||
|
||||
/// <summary>
|
||||
/// Set the value for the volume
|
||||
/// </summary>
|
||||
/// <param name="volume">New volume value</param>
|
||||
public void SetVolume(int volume) => _soundOutput?.SetVolume(volume);
|
||||
|
||||
/// <summary>
|
||||
/// Update the player from the current OpticalDisc
|
||||
/// </summary>
|
||||
|
||||
@@ -303,6 +303,12 @@ namespace RedBookPlayer.Common.Hardware
|
||||
/// <param name="apply"></param>
|
||||
public void SetDeEmphasis(bool apply) => ApplyDeEmphasis = apply;
|
||||
|
||||
/// <summary>
|
||||
/// Set the value for the volume
|
||||
/// </summary>
|
||||
/// <param name="volume">New volume value</param>
|
||||
public void SetVolume(int volume) => Volume = volume;
|
||||
|
||||
/// <summary>
|
||||
/// Sets or resets the de-emphasis filters
|
||||
/// </summary>
|
||||
|
||||
@@ -2,7 +2,7 @@ using System.ComponentModel;
|
||||
using ReactiveUI;
|
||||
using RedBookPlayer.Common.Hardware;
|
||||
|
||||
namespace RedBookPlayer.GUI
|
||||
namespace RedBookPlayer.Common
|
||||
{
|
||||
public class PlayerViewModel : ReactiveObject
|
||||
{
|
||||
@@ -170,7 +170,7 @@ namespace RedBookPlayer.GUI
|
||||
public int Volume
|
||||
{
|
||||
get => _volume;
|
||||
set => this.RaiseAndSetIfChanged(ref _volume, value);
|
||||
private set => this.RaiseAndSetIfChanged(ref _volume, value);
|
||||
}
|
||||
|
||||
private bool? _playing;
|
||||
@@ -270,6 +270,12 @@ namespace RedBookPlayer.GUI
|
||||
/// <param name="load">True to enable loading data tracks, false otherwise</param>
|
||||
public void SetLoadDataTracks(bool load) => _player?.SetLoadDataTracks(load);
|
||||
|
||||
/// <summary>
|
||||
/// Set the value for the volume
|
||||
/// </summary>
|
||||
/// <param name="volume">New volume value</param>
|
||||
public void SetVolume(int volume) => _player?.SetVolume(volume);
|
||||
|
||||
/// <summary>
|
||||
/// Temporarily mute playback
|
||||
/// </summary>
|
||||
@@ -278,11 +284,11 @@ namespace RedBookPlayer.GUI
|
||||
if(_lastVolume == null)
|
||||
{
|
||||
_lastVolume = Volume;
|
||||
Volume = 0;
|
||||
_player?.SetVolume(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
Volume = _lastVolume.Value;
|
||||
_player?.SetVolume(_lastVolume.Value);
|
||||
_lastVolume = null;
|
||||
}
|
||||
}
|
||||
@@ -189,7 +189,7 @@ namespace RedBookPlayer.GUI
|
||||
increment *= 5;
|
||||
|
||||
if(playerView?.PlayerViewModel?.Volume != null)
|
||||
playerView.PlayerViewModel.Volume += increment;
|
||||
playerView.PlayerViewModel.SetVolume(playerView.PlayerViewModel.Volume + increment);
|
||||
}
|
||||
|
||||
// Volume Down
|
||||
@@ -202,7 +202,7 @@ namespace RedBookPlayer.GUI
|
||||
decrement *= 5;
|
||||
|
||||
if (playerView?.PlayerViewModel?.Volume != null)
|
||||
playerView.PlayerViewModel.Volume -= decrement;
|
||||
playerView.PlayerViewModel.SetVolume(playerView.PlayerViewModel.Volume - decrement);
|
||||
}
|
||||
|
||||
// Mute Toggle
|
||||
|
||||
@@ -98,6 +98,7 @@
|
||||
<TextBlock Margin="0,0,16,0" IsVisible="{Binding QuadChannel}">4CH</TextBlock>
|
||||
<TextBlock Margin="0,0,16,0" Foreground="LightGray" IsVisible="{Binding !HiddenTrack}">HIDDEN</TextBlock>
|
||||
<TextBlock Margin="0,0,16,0" IsVisible="{Binding HiddenTrack}">HIDDEN</TextBlock>
|
||||
<TextBlock Margin="0,0,16,0" Text="{Binding Volume}"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
@@ -11,6 +11,7 @@ using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Media.Imaging;
|
||||
using Avalonia.Platform;
|
||||
using Avalonia.Threading;
|
||||
using RedBookPlayer.Common;
|
||||
|
||||
namespace RedBookPlayer.GUI
|
||||
{
|
||||
@@ -270,9 +271,9 @@ namespace RedBookPlayer.GUI
|
||||
|
||||
public void RewindButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.Rewind();
|
||||
|
||||
public void VolumeUpButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.Volume++;
|
||||
public void VolumeUpButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.SetVolume(PlayerViewModel.Volume + 1);
|
||||
|
||||
public void VolumeDownButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.Volume--;
|
||||
public void VolumeDownButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.SetVolume(PlayerViewModel.Volume - 1);
|
||||
|
||||
public void MuteToggleButton_Click(object sender, RoutedEventArgs e) => PlayerViewModel.ToggleMute();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user