Skip to content

Extract RAR files; organ loading dialog; per-organ RAM visualization - #28

Open
dspears312 wants to merge 1 commit into
bonninr:mainfrom
dspears312:feature/organ-dialog
Open

dspears312 wants to merge 1 commit into
bonninr:mainfrom
dspears312:feature/organ-dialog

Conversation

@dspears312

Copy link
Copy Markdown

This branch adds a Hauptwerk-style "Organ" dialog for installing, managing, and loading organs. I tried to get started with Masterpiece on a fresh system, and found I had no way to extract my existing Hauptwerk sample sets. The unrar binary is bundled upon release to comply with its own non-free and Masterpiece's GPL licensing. This enables Hauptwerk organ packages to be extracted and installed.

Screenshot 2026-09-20 at 10 46 29 PM

I also added a new "Audio Settings" dialog that allows the memory parameters to be adjusted before loading the organ. The optimal settings for your system are automatically chosen, and it shows what the RAM impact will be with each option. I came upon this frustration after trying to open an ODF to have it automatically load a huge organ in full resolution, which caused my system to hang.

Screenshot 2026-09-20 at 10 46 22 PM

- Add OrganSelectionDialog and OrganAudioSettingsDialog with tabbed browsing (Installed Organs, Install Packages, Configure Audio)
- Real-time estimated RAM footprint and system headroom bar
- Per-organ audio configuration (.mporgan) with presets, storage formats, release streaming, and engine switches
- Organ package discovery, validation, and background unrar extraction
- Recent organs history, hiding/unhiding organs, and metadata display
- Packaging and CI integration for unrar binary bundling on macOS, Windows, and Linux
- Unit tests covering configuration persistence, RAM estimation, package discovery, and organ management
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant