Skip to content

Comments

Increase visual footprint, stop idle AudioLines when silent, and sync floating controls with window state#2

Open
userlg wants to merge 2 commits intomainfrom
codex/adjust-spectrum-bar-size-and-settings
Open

Increase visual footprint, stop idle AudioLines when silent, and sync floating controls with window state#2
userlg wants to merge 2 commits intomainfrom
codex/adjust-spectrum-bar-size-and-settings

Conversation

@userlg
Copy link
Owner

@userlg userlg commented Feb 18, 2026

Motivation

  • Make the visualizations occupy more of the canvas (user requested the spectrum bar and all visualizations to feel larger and match style).
  • Ensure the floating control panel and settings dialog do not remain on-screen after the main window is minimized and that the control panel follows window movement/resize.
  • Stop the AudioLines idle animation when no music is playing so it does not animate while silent.

Description

  • Parent the control panel to the main window and add minimize/restore synchronization and repositioning on move/resize by updating src/ui/main_window.py (ControlPanel(self), changeEvent, moveEvent, resizeEvent, and _position_control_panel).
  • Increase SpectrumBars visual weight in src/styles/spectrum_bars.py by changing self.num_bars to 72, reducing self.bar_spacing to 2, raising the baseline (baseline_y) and increasing bar/peak height calculations to fill more vertical space.
  • Increase Waveform vertical occupancy in src/styles/waveform.py by raising amplitude and sample scaling so the waveform fills more of the canvas.
  • Make AudioLines quiet when there is no audio by introducing idle_energy_floor and gating idle motion/time advancement, and increase layer spacing/reactivity for larger presence in src/styles/audio_lines.py.
  • Compiled the modified modules to validate syntax using python -m compileall src and targeted compilation of changed files.

Testing

  • Ran python -m compileall src which succeeded and showed updated modules compiled without syntax errors.
  • Ran python -m compileall src/ui/main_window.py src/styles/spectrum_bars.py src/styles/audio_lines.py src/styles/waveform.py which succeeded for the changed files.
  • Ran pytest -q but test collection failed due to missing environment dependencies in this environment (ModuleNotFoundError: No module named 'numpy' and No module named 'sounddevice'), so unit tests could not complete here.

Codex Task

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55457a493b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +336 to +337
if self.settings_dialog.isVisible():
self.settings_dialog.hide()

Choose a reason for hiding this comment

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

P2 Badge Restore settings dialog after window is unminimized

When the main window is minimized, changeEvent forcibly calls self.settings_dialog.hide(), but unlike the control panel there is no state tracking to restore it; because _show_settings opens this dialog with exec(), minimizing while settings are open can terminate that modal session and drop the user's in-progress edits after restore. This affects users who open Settings, adjust values, then minimize the app before applying.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant