Skip to content

Wire chip type selection (AY / YM) through GUI menu, toolbar, status bar, and CLI - #52

Merged
corbym merged 3 commits into
masterfrom
copilot/wire-up-chip-selection-menu
Apr 22, 2026
Merged

Wire chip type selection (AY / YM) through GUI menu, toolbar, status bar, and CLI#52
corbym merged 3 commits into
masterfrom
copilot/wire-up-chip-selection-menu

Conversation

Copilot AI commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Ports Pascal's SetEmulatingChip / ToggleChipExecute / Calculate_Level_Tables chain to Rust, making the AY↔YM chip model selectable at runtime with immediate audible effect.

Core changes

  • Synthesizer::set_chip_type(ChipType) — rebuilds amplitude level tables in-place without tearing down the synth; mirrors PlaybackBufferMaker.Calculate_Level_Tables in digsoundbuf.pas
  • VortexTrackerApp::chip_type — single authoritative field (default AY), mirroring VTOptions.ChipType; set_emulating_chip() updates it and calls set_chip_type; rebuild_synth_for_modules now respects it instead of hard-coding AY
  • Options menu — adds AY / YM radio items, mirrors TOptionsDlg.ChipSelClick
  • Toolbar toggle button — cycles AY↔YM on click, mirrors TBChip / ToggleChipExecute; label shows current chip
  • Status bar — always shows AY or YM chip label, mirrors ToggleChip.Caption
  • ChipType::None is unreachable!() in all UI/CLI paths — was previously rendered as the silent string "?"

CLI parity

  • --chip-type ay|ym flag (default: ay) wired all the way through CliArgsCliTracker::load; previously the parsed value was dropped at the call site
  • c key binding cycles chip type at runtime; toggle_mono preserves current chip type when rebuilding the synth
  • Status line now includes chip_type=AY|YM; usage string documents the new flag and key

@corbym

corbym commented Apr 22, 2026

Copy link
Copy Markdown
Owner

Remove native builds except web from pr workflows and keep them only in main build

@corbym

corbym commented Apr 22, 2026

Copy link
Copy Markdown
Owner

@copilot Remove native builds except web from pr workflows and keep them only in main build

Copilot AI commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Remove native builds except web from pr workflows and keep them only in main build

Done in 4df3a77. Added if: github.event_name == 'push' to the native test job in build.yml — it now only runs on pushes to master. The check-wasm and test-js jobs are unchanged and continue to run on every PR.

Copilot AI requested a review from corbym April 22, 2026 06:29
@github-actions

Copy link
Copy Markdown
Contributor

🚀 WASM Preview

A live preview of this PR's WASM build is available at:

https://corbym.github.io/vtir/pr-previews/52/

Last updated: Wed, 22 Apr 2026 06:31:32 GMT

@corbym
corbym marked this pull request as ready for review April 22, 2026 17:15
@corbym
corbym merged commit fba8ef7 into master Apr 22, 2026
5 checks passed
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