Port only distinct new feature work

This commit is contained in:
Matt Nadareski
2021-08-24 22:11:25 -07:00
parent 24d1114795
commit a799d5ede9
11 changed files with 371 additions and 11 deletions

View File

@@ -21,6 +21,18 @@ namespace RedBookPlayer.GUI.ViewModels
[JsonIgnore]
public List<DataPlayback> DataPlaybackValues => GenerateDataPlaybackList();
/// <summary>
/// List of all repeat mode values
/// </summary>
[JsonIgnore]
public List<RepeatMode> RepeatModeValues => GenerateRepeatModeList();
/// <summary>
/// List of all session handling values
/// </summary>
[JsonIgnore]
public List<SessionHandling> SessionHandlingValues => GenerateSessionHandlingList();
/// <summary>
/// List of all themes
/// </summary>
@@ -57,6 +69,16 @@ namespace RedBookPlayer.GUI.ViewModels
/// </summary>
public DataPlayback DataPlayback { get; set; } = DataPlayback.Skip;
/// <summary>
/// Indicates how to repeat tracks
/// </summary>
public RepeatMode RepeatMode { get; set; } = RepeatMode.All;
/// <summary>
/// Indicates how to handle tracks on different sessions
/// </summary>
public SessionHandling SessionHandling { get; set; } = SessionHandling.FirstSessionOnly;
/// <summary>
/// Indicates the default playback volume
/// </summary>
@@ -102,6 +124,11 @@ namespace RedBookPlayer.GUI.ViewModels
/// </summary>
public Key LoadImageKey { get; set; } = Key.F2;
/// <summary>
/// Key assigned to save the current track or all tracks
/// </summary>
public Key SaveTrackKey { get; set; } = Key.S;
/// <summary>
/// Key assigned to toggle play and pause
/// </summary>
@@ -253,6 +280,16 @@ namespace RedBookPlayer.GUI.ViewModels
/// </summary>
private List<Key> GenerateKeyList() => Enum.GetValues(typeof(Key)).Cast<Key>().ToList();
/// <summary>
/// Generate the list of RepeatMode values
/// </summary>
private List<RepeatMode> GenerateRepeatModeList() => Enum.GetValues(typeof(RepeatMode)).Cast<RepeatMode>().ToList();
/// <summary>
/// Generate the list of SessionHandling values
/// </summary>
private List<SessionHandling> GenerateSessionHandlingList() => Enum.GetValues(typeof(SessionHandling)).Cast<SessionHandling>().ToList();
/// <summary>
/// Generate the list of valid themes
/// </summary>