mirror of
https://github.com/aaru-dps/RedBookPlayer.git
synced 2026-02-10 21:22:08 +00:00
[PR #26] [MERGED] Move design to MVVM #62
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/aaru-dps/RedBookPlayer/pull/26
Author: @mnadareski
Created: 7/5/2021
Status: ✅ Merged
Merged: 7/24/2021
Merged by: @claunia
Base:
devel← Head:mvvm📝 Commits (10+)
be2c704Make SoundOutput have eventscd3ccbcMake OpticalDisc have events65ab29fRemove need for UI timer for updates59bfd40Move all image logic to factorya5bffa8Make view-model safer2476d07Move methods to better locations8c9f10dConsolidate view init coded863559View-model and model shouldn't know about settingsc43317fFix minor playback issues761afb9Remove needless method calls📊 Changes
39 files changed (+1795 additions, -984 deletions)
View changed files
📝
.gitmodules(+2 -1)📝
RedBookPlayer.GUI/App.xaml(+0 -0)📝
RedBookPlayer.GUI/App.xaml.cs(+1 -0)📝
RedBookPlayer.GUI/Assets/-.png(+0 -0)📝
RedBookPlayer.GUI/Assets/0.png(+0 -0)📝
RedBookPlayer.GUI/Assets/1.png(+0 -0)📝
RedBookPlayer.GUI/Assets/2.png(+0 -0)📝
RedBookPlayer.GUI/Assets/3.png(+0 -0)📝
RedBookPlayer.GUI/Assets/4.png(+0 -0)📝
RedBookPlayer.GUI/Assets/5.png(+0 -0)📝
RedBookPlayer.GUI/Assets/6.png(+0 -0)📝
RedBookPlayer.GUI/Assets/7.png(+0 -0)📝
RedBookPlayer.GUI/Assets/8.png(+0 -0)📝
RedBookPlayer.GUI/Assets/9.png(+0 -0)📝
RedBookPlayer.GUI/Assets/colon.png(+0 -0)📝
RedBookPlayer.GUI/Program.cs(+1 -1)📝
RedBookPlayer.GUI/RedBookPlayer.GUI.csproj(+2 -10)📝
RedBookPlayer.GUI/Settings.cs(+9 -4)➕
RedBookPlayer.GUI/ViewModels/PlayerViewModel.cs(+672 -0)📝
RedBookPlayer.GUI/Views/MainWindow.xaml(+1 -1)...and 19 more files
📄 Description
This PR has the overall goal of moving to an MVVM pattern (fixes #22).
As a part of this, the following changes are implemented:
Notably, on my development machine, this decreased CPU usage by a fair bit, especially at idle.
As a bonus, since it came up during the refactoring and testing, hidden tracks can now play properly and are controlled by an internal flag set by the settings with the current UI (fixes #10). This ended up being a pretty major thing to address as part of this PR, because a lot of the behavior that was causing hidden tracks to render incorrectly was tied to a poor implementation of track loading and switching.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.