diff --git a/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj b/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj index f2f98d5..b33ed23 100644 --- a/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj +++ b/GenshinLyreMidiPlayer.Data/GenshinLyreMidiPlayer.Data.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs b/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs index 75f045d..d1b7f02 100644 --- a/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs +++ b/GenshinLyreMidiPlayer.Data/Git/GitVersion.cs @@ -9,10 +9,10 @@ public class GitVersion [JsonPropertyName("prerelease")] public bool Prerelease { get; set; } - [JsonPropertyName("tag_name")] public string TagName { get; set; } - [JsonPropertyName("name")] public string Name { get; set; } + [JsonPropertyName("tag_name")] public string TagName { get; set; } + [JsonPropertyName("html_url")] public string Url { get; set; } public Version Version => new(TagName.Replace("v", string.Empty)); diff --git a/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs b/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs index 8acb5ab..d11ad3c 100644 --- a/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs +++ b/GenshinLyreMidiPlayer.Data/Midi/MidiTrack.cs @@ -18,6 +18,8 @@ public MidiTrack(IEventAggregator events, TrackChunk track) TrackName = track.Events.OfType().FirstOrDefault()?.Text; } + public bool CanBePlayed => Track.Events.Count(e => e is NoteEvent) > 0; + public bool IsChecked { get => _isChecked; @@ -28,8 +30,6 @@ public bool IsChecked } } - public bool CanBePlayed => Track.Events.Count(e => e is NoteEvent) > 0; - public string? TrackName { get; } public TrackChunk Track { get; } diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs index a66584e..707fd64 100644 --- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs +++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Animation.cs @@ -47,15 +47,12 @@ private void OnCurrentStateInvalidated(object? sender, EventArgs e) if (sender is Clock clock) _currentState = clock.CurrentState; } - private void OnCompleted(object? sender, EventArgs e) - { - Completed?.Invoke(this, EventArgs.Empty); - } + private void OnCompleted(object? sender, EventArgs e) { Completed?.Invoke(this, EventArgs.Empty); } private BitmapCache GetBitmapCache() { #if NETCOREAPP || NET462 - return new BitmapCache(VisualTreeHelper.GetDpi(_element).PixelsPerDip); + return new(VisualTreeHelper.GetDpi(_element).PixelsPerDip); #else return _defaultBitmapCache; #endif diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs index e9696cc..daedff0 100644 --- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs +++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/DrillInTransition.cs @@ -89,7 +89,7 @@ protected override Animation GetEnterAnimation(FrameworkElement element, bool mo element.SetCurrentValue(UIElement.RenderTransformProperty, new ScaleTransform()); element.SetCurrentValue(UIElement.RenderTransformOriginProperty, new Point(0.5, 0.5)); - return new Animation(element, storyboard); + return new(element, storyboard); } protected override Animation GetExitAnimation(FrameworkElement element, bool movingBackwards) @@ -107,7 +107,7 @@ protected override Animation GetExitAnimation(FrameworkElement element, bool mov Storyboard.SetTargetProperty(opacityAnim, OpacityPath); storyboard.Children.Add(opacityAnim); - return new Animation(element, storyboard); + return new(element, storyboard); } } } \ No newline at end of file diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs index 725a949..7920e44 100644 --- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs +++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/EntranceTransition.cs @@ -47,7 +47,7 @@ protected override Animation GetEnterAnimation(FrameworkElement element, bool mo element.SetCurrentValue(UIElement.RenderTransformProperty, new TranslateTransform()); } - return new Animation(element, storyboard); + return new(element, storyboard); } protected override Animation GetExitAnimation(FrameworkElement element, bool movingBackwards) @@ -94,7 +94,7 @@ protected override Animation GetExitAnimation(FrameworkElement element, bool mov storyboard.Children.Add(opacityAnim); } - return new Animation(element, storyboard); + return new(element, storyboard); } } } \ No newline at end of file diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs index d7317e6..0290e9a 100644 --- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs +++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Animation/Transitions/SlideTransition.cs @@ -34,10 +34,7 @@ public enum Direction /// public sealed class SlideTransition : Transition, ISlideNavigationTransitionInfo2 { - public SlideTransition(Direction effect) - { - Effect = effect; - } + public SlideTransition(Direction effect) { Effect = effect; } protected override Animation GetEnterAnimation(FrameworkElement element, bool movingBackwards) { @@ -105,7 +102,7 @@ protected override Animation GetEnterAnimation(FrameworkElement element, bool mo element.SetCurrentValue(UIElement.RenderTransformProperty, new TranslateTransform()); } - return new Animation(element, storyboard); + return new(element, storyboard); } protected override Animation GetExitAnimation(FrameworkElement element, bool movingBackwards) @@ -188,7 +185,7 @@ protected override Animation GetExitAnimation(FrameworkElement element, bool mov element.SetCurrentValue(UIElement.RenderTransformProperty, new TranslateTransform()); } - return new Animation(element, storyboard); + return new(element, storyboard); } #region Effect diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs index 42a2fd2..691c8c0 100644 --- a/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs +++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/CaptionedObject.cs @@ -20,10 +20,7 @@ public CaptionedObject(T o, string? caption = null) public class CaptionedObject : CaptionedObject where T : Enum { - public CaptionedObject(T o, TEnum type, string? caption = null) : base(o, caption) - { - Type = type; - } + public CaptionedObject(T o, TEnum type, string? caption = null) : base(o, caption) { Type = type; } public TEnum Type { get; } diff --git a/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs b/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs index f09c087..d3e5407 100644 --- a/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs +++ b/GenshinLyreMidiPlayer.WPF/ModernWPF/Theme/AppTheme.cs @@ -12,12 +12,12 @@ private AppTheme(string name, ApplicationTheme? value) public ApplicationTheme? Value { get; } - public static AppTheme Light { get; } = new("Light", ApplicationTheme.Light); - public static AppTheme Dark { get; } = new("Dark", ApplicationTheme.Dark); public static AppTheme Default { get; } = new("Use system setting", null); + public static AppTheme Light { get; } = new("Light", ApplicationTheme.Light); + public string Name { get; } public override string ToString() => Name; diff --git a/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml b/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml index 271e8a8..fbf1624 100644 --- a/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml +++ b/GenshinLyreMidiPlayer.WPF/Views/SettingsPageView.xaml @@ -1,4 +1,4 @@ - + ItemsSource="{x:Static transitions:TransitionCollection.Transitions}" />