diff --git a/GenshinLyreMidiPlayer.Data/Midi/MidiFile.cs b/GenshinLyreMidiPlayer.Data/Midi/MidiFile.cs index 2fe2412..ded7d92 100644 --- a/GenshinLyreMidiPlayer.Data/Midi/MidiFile.cs +++ b/GenshinLyreMidiPlayer.Data/Midi/MidiFile.cs @@ -16,6 +16,7 @@ public MidiFile(string path, ReadingSettings? settings = null) _settings = settings; Path = path; + InitializeMidi(); } public int Position @@ -24,12 +25,14 @@ public int Position set => SetAndNotify(ref _position, value); } - public Melanchall.DryWetMidi.Core.MidiFile Midi => Melanchall.DryWetMidi.Core.MidiFile.Read(Path, _settings); + public Melanchall.DryWetMidi.Core.MidiFile Midi { get; private set; } public string Path { get; } public string Title => GetFileNameWithoutExtension(Path); public TimeSpan Duration => Midi.GetDuration(); + + public void InitializeMidi() { Midi = Melanchall.DryWetMidi.Core.MidiFile.Read(Path, _settings); } } } \ No newline at end of file diff --git a/GenshinLyreMidiPlayer.WPF/GenshinLyreMidiPlayer.WPF.csproj b/GenshinLyreMidiPlayer.WPF/GenshinLyreMidiPlayer.WPF.csproj index 400ae49..f2a3bd1 100644 --- a/GenshinLyreMidiPlayer.WPF/GenshinLyreMidiPlayer.WPF.csproj +++ b/GenshinLyreMidiPlayer.WPF/GenshinLyreMidiPlayer.WPF.csproj @@ -6,7 +6,7 @@ true GenshinLyreMidiPlayer.WPF.App app.manifest - 2.0.0 + 2.0.1 item_windsong_lyre.ico enable https://github.com/sabihoshi/GenshinLyreMidiPlayer diff --git a/GenshinLyreMidiPlayer.WPF/ViewModels/LyrePlayerViewModel.cs b/GenshinLyreMidiPlayer.WPF/ViewModels/LyrePlayerViewModel.cs index 001f543..f4d7c4c 100644 --- a/GenshinLyreMidiPlayer.WPF/ViewModels/LyrePlayerViewModel.cs +++ b/GenshinLyreMidiPlayer.WPF/ViewModels/LyrePlayerViewModel.cs @@ -134,7 +134,10 @@ public double SongPosition public async void Handle(MergeNotesNotification message) { if (!message.Merge) + { + Playlist.OpenedFile?.InitializeMidi(); InitializeTracks(); + } await InitializePlayback(); }