Skip to content

refactor: consolidate per-stage GUI files into src/gui/stages/#199

Merged
OpenSauce merged 2 commits intomainfrom
consolidate-stage-gui-files
Feb 28, 2026
Merged

refactor: consolidate per-stage GUI files into src/gui/stages/#199
OpenSauce merged 2 commits intomainfrom
consolidate-stage-gui-files

Conversation

@OpenSauce
Copy link
Copy Markdown
Owner

Each stage's config, message, apply logic, and view function are now co-located in a single file instead of scattered across 3 directories. Old import paths preserved via re-exports in gui/config and gui/messages.

Each stage's config, message, apply logic, and view function are now
co-located in a single file instead of scattered across 3 directories.
Old import paths preserved via re-exports in gui/config and gui/messages.
Copilot AI review requested due to automatic review settings February 28, 2026 21:25
Import directly from gui::stages instead. Deletes the now-empty
gui/config/ directory and gui/messages/stage.rs.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the GUI stage implementation by consolidating each stage’s config, message, apply/update logic, and view into a single co-located module under src/gui/stages/, while preserving existing public import paths via re-exports from gui/config and gui/messages.

Changes:

  • Introduces gui::stages as the new home for per-stage *Config and *Message types, plus stage view functions.
  • Centralizes stage orchestration (StageType, StageConfig, StageMessage, runtime construction, apply, and stage view dispatch) in src/gui/stages/mod.rs.
  • Maintains backward compatibility by re-exporting from src/gui/config/mod.rs and src/gui/messages/stage.rs, and simplifies the stage list UI by using StageConfig::view().

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/gui/stages/mod.rs New central module defining StageType, StageMessage, StageConfig and dispatch (to_runtime, apply, view).
src/gui/stages/filter.rs Moves Filter stage config/message/apply/view into one file.
src/gui/stages/preamp.rs Moves Preamp stage config/message/apply/view into one file.
src/gui/stages/compressor.rs Moves Compressor stage config/message/apply/view into one file.
src/gui/stages/tonestack.rs Moves ToneStack stage config/message/apply/view into one file.
src/gui/stages/poweramp.rs Moves PowerAmp stage config/message/apply/view into one file.
src/gui/stages/level.rs Moves Level stage config/message/apply/view into one file.
src/gui/stages/noise_gate.rs Moves NoiseGate stage config/message/apply/view into one file.
src/gui/stages/multiband_saturator.rs Moves MultibandSaturator stage config/message/apply/view into one file.
src/gui/mod.rs Exposes the new stages module from gui.
src/gui/messages/stage.rs Preserves old message import paths by re-exporting stage message types from gui::stages.
src/gui/config/mod.rs Preserves old config import paths by re-exporting stage config/types from gui::stages.
src/gui/components/stage_list.rs Simplifies stage rendering to stage.view(...) instead of matching each variant.
src/gui/components/mod.rs Removes the old components::stages module from exports.
src/gui/components/stages/mod.rs Removes the old stage view module listing (now superseded by gui::stages).
src/gui/config/*.rs Removes per-stage config files that were migrated into src/gui/stages/*.rs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@OpenSauce OpenSauce enabled auto-merge (squash) February 28, 2026 21:30
@OpenSauce OpenSauce merged commit df6f157 into main Feb 28, 2026
7 checks passed
@OpenSauce OpenSauce deleted the consolidate-stage-gui-files branch February 28, 2026 21:31
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.

2 participants