Add CHD support, Disc Info panel, icon system, splash screen, and cross-platform CI #4
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-SvenGDK/OpenBurningSuite!4
Loading…
Reference in a new issue
No description provided.
Delete branch "marcelofrau/main"
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?
Summary
This pull request consolidates multiple feature additions and improvements to OpenBurningSuite, focused on expanding disc image format support, enhancing the user experience with rich disc information, and modernizing the UI.
🎯 Features
1. CHD (MAME Compressed Hunks of Data) Support
ChdHelper.cs— New helper class that detects chdman, validates CHD files, and extracts them to BIN/CUE format via chdman.exeBurnService.cs— AddedConvertChdToBinCueAsyncmethod for transparent CHD-to-BIN/CUE conversion during burn operationsAppSettings.cs— AddedChdmanPathconfiguration setting for locating the MAME chdman tool.chdfilesVerifyService.cs— CHD verification support2. Disc Information Panel
DiscInfoService.cs— Comprehensive disc information retrieval service (1100+ lines) supporting:MediaManufacturerLookup.cs)DiscInfoView.axaml/.cs— New view displaying all disc properties in a rich layoutDiscInfoResult.cs,DiscMedia.cs,PhysicalFormatInfo.cs,AtipInfo.cs— Model classes for disc informationWindowsDeviceNotifier.cs— Device change monitoring for disc insertion/removalDriveWatcherService.cs— Service to track drive state changesNativeDeviceDiscovery.Windows.cs— Windows-native device discovery via SetupAPIDiscDrive.cs— AddedIsBusyproperty3. Icon System (Emoji → PNG Replacement)
IconHelper.cs— New helper for loading PNG icons from embedded resourcesIconButton.cs— Custom Avalonia control: icon + text button with themed hover statesIconTextBlock.cs— Custom control for icon+label displayIconConverter.cs— Value converter for icon path-to-image bindingIconSourceExtension.cs— XAML markup extension for icon resolutionicons-review/)4. Splash Screen
SplashWindow.axaml/.cs— Custom splash window displayed on app startupsplash-bg.pngin app directory for branding5. About Dialog
6. Settings Enhancements
SettingsView.axaml— Redesigned with expandable sections, icon support, and chdman path configurationSettingsView.axaml.cs— Settings persistence, dark theme toggle (planned), chdman validation7. Logging Improvements
Logger.cs— Millisecond precision timestamps for all log entries8. Build & CI/CD
.github/workflows/build-Windows.yml— Added PublishReadyToRun, fixed artifact naming, release upload for all platforms.github/workflows/build-linux.yml— Linux CI pipeline (new).github/workflows/build-macOS.yml— macOS CI pipeline (new).github/workflows/build.yml— Consolidated build triggersbuild-release.ps1— Windows release packaging scriptbuild-release.sh— Linux release packaging scriptrun.ps1/run.sh— Cross-platform run scripts9. Cross-Platform Support
10. Code Quality & Maintenance
Files Changed
Testing
Notes
Is there also something in there that fixes issue #5, the one I just made? I think I might try building it myself to find out.
not sure.. I added some support to CHD, refactored the UI emoji things, and added a new disc info utility.. maybe you can understand more in the new disc info.. you can check in my fork, there is an release there as well.. also, if you open the issue there I can also see how to address it.
Thanks for your effort. I will check this entirely soon.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.