mirror of
https://github.com/aaru-dps/RedBookPlayer.git
synced 2026-02-08 21:21:56 +00:00
[PR #23] [MERGED] Separate out internal code more cleanly #57
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/23
Author: @mnadareski
Created: 6/30/2021
Status: ✅ Merged
Merged: 6/30/2021
Merged by: @claunia
Base:
devel← Head:player-separation📝 Commits (10+)
14ce896Add Windows and Linux build scripts6f7095aFurther separation of code258b3e9Fix boundary issues on readef7cdcbMake console opening Windows + Debug only06dcf0eSimplify condition check3755b16Add build files to solution8c2a74cBuild both debug and release in scripts0207448Move GUI code to own namespace3018b37Remove unneeded code93709b8Fix Settings📊 Changes
25 files changed (+1184 additions, -1127 deletions)
View changed files
📝
Aaru(+1 -1)📝
RedBookPlayer.sln(+7 -0)📝
RedBookPlayer/App.xaml.cs(+1 -0)➕
RedBookPlayer/Discs/CompactDisc.cs(+406 -0)➕
RedBookPlayer/Discs/OpticalDisc.cs(+166 -0)➕
RedBookPlayer/Discs/OpticalDiscFactory.cs(+80 -0)📝
RedBookPlayer/GUI/MainWindow.xaml(+2 -1)📝
RedBookPlayer/GUI/MainWindow.xaml.cs(+35 -10)📝
RedBookPlayer/GUI/PlayerView.xaml(+3 -3)📝
RedBookPlayer/GUI/PlayerView.xaml.cs(+60 -172)📝
RedBookPlayer/GUI/PlayerViewModel.cs(+17 -24)📝
RedBookPlayer/GUI/SettingsWindow.xaml(+1 -1)📝
RedBookPlayer/GUI/SettingsWindow.xaml.cs(+25 -13)📝
RedBookPlayer/Hardware/DeEmphasisFilter.cs(+1 -1)➕
RedBookPlayer/Hardware/Player.cs(+293 -0)📝
RedBookPlayer/Hardware/PlayerSource.cs(+1 -1)📝
RedBookPlayer/Hardware/SoundOutput.cs(+69 -62)➖
RedBookPlayer/HiResTimer.cs(+0 -116)➖
RedBookPlayer/HiResTimerElapsedEventArgs.cs(+0 -11)➖
RedBookPlayer/PlayableDisc.cs(+0 -699)...and 5 more files
📄 Description
This PR does a few major things:
Playercode instead. This is an extension to the previous PR.Playercode into a new class calledSoundOutput. There is only one type of output right now, but either an abstract class or an interface can be created later to make adding different audio handlers possible (fixes #21)Discs,GUI, andHardwareDiscsis the namespace for all supported media, including what used to bePlayableDisc.PlayableDischas been separated into a base class calledOpticalDiscand a specific implementation calledCompactDiscGUIis the namespace for all current UI. The intent is that the existing UI may not be the only way that this player can be interacted with in the future. A better solution when that day comes is to separate out the code into separate libraries, not just namespacesHardwareis for "hardware mimicking" parts of the code. This includes player and sound output code currently. If other pieces come in the future, such as the ability to have multiple outputs or effects, they would likely go here.Aside from the above, the PR also does the following:
HiResTimerclass🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.