Skip to content

Lite (recommended) and Full editions: VST3 hosting behind KSP_ENABLE_VST_HOST - #37

Merged
lgarraza merged 8 commits into
mainfrom
claude/project-thread-k5nczg
Nov 4, 2026
Merged

lgarraza merged 8 commits into
mainfrom
claude/project-thread-k5nczg

Conversation

@lgarraza

@lgarraza lgarraza commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Requested by Leo · project thread

What

One source tree, two maintained editions (Leo's decision on the thread). Lite is the primary, recommended edition (the editor alone); Full adds VST3 hosting, which Leo feels takes the app away from its purpose of editing KeyStep Pro projects visually.

CMake option KSP_ENABLE_VST_HOST, OFF by default = Lite; ON = Full.

Lite leaves out: Source/Host/*, plugin scan and plugin/FX windows, instrument boxes and mute/solo/fader on the cards, audio output, grid audition, WAV recording, KspVstHelper, KspHostCheck. It does not link juce_audio_processors / juce_audio_utils (no VST3 SDK).

Shared by both: all editing, sync, Project Map, generator, library, MIDI monitor, arp settings, per-track MIDI channels. The KeyStep clock readout (PLAY/STOP, position, BPM) uses Source/Mix/Transport.h in both (gained hasTempo()); dataFolder() moved to App/AppFolders.h. Library files keep their plugin fields in both editions.

Rec removed (both editions): testing showed it only recorded the echo of the KeyStep's own sequencer. The Rec button, Ch and grid boxes, Undo take, Source/Model/Overdub.h and tests/overdub_test.cpp are gone; manual and docs updated.

Code shape: VST code in App/Main.cpp and App/LibraryWindow.h sits inside #if KSP_ENABLE_VST_HOST; the Full code is the previous code unchanged apart from trackChannel and kTracks.

Fixes found while testing Lite on Windows: the Seq / Arp / Drum keys are refreshed when a project loads; the Library window closes after opening a project, and Enter opens the selected one.

Installer / CI: build-installer.ps1 builds Lite by default (KeyStepProStudio-Setup-x.y.z.exe); -Full builds KeyStepProStudio-Full-Setup-x.y.z.exe, the Full portable zip and SHA256SUMS-Full.txt. Same AppId, so the editions replace each other, and Lite removes the VST helper on upgrade. CI builds and tests both editions on Windows and macOS.

Docs

README and the user guide recommend Lite: chapter 6 "Track cards and the clock" (both editions), 6b "Instruments and effects (Full only)", edition notes in chapters 1 and 5; SCREENSHOTS.md lists the new Lite card shot still to take. Developer manual and CLAUDE.md describe the editions.

Checks

Linux: Full and Lite both build and the no-JUCE tests pass (13/13). Windows and macOS CI run for both editions. Leo ran Lite on Windows and Full on his Mac (VST3 scan, Pigments loaded on two tracks, clock from the KeyStep).

🤖 Generated with Claude Code

https://claude.ai/code/session_01F2632sZzWNHVfwXc1yrFRn

The app is for editing the KeyStep Pro. Removes Source/Host, the FX and plugin windows, KspVstHelper, KspHostCheck and the master limiter;
keeps the KeyStep clock readout (Transport), the library's plugin fields (round-tripped untouched) and all editing, sync and MIDI features.
Manual, installer and docs updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632sZzWNHVfwXc1yrFRn
@lgarraza lgarraza self-assigned this Nov 4, 2026
KSP_ENABLE_VST_HOST (ON by default) builds the Full edition; OFF builds Lite without the VST3 host, audio engine and WAV recorder.
Installer and CI build both; docs describe the editions.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632sZzWNHVfwXc1yrFRn
@lgarraza lgarraza changed the title Remove VST3 hosting and WAV recording (editor-only app) Full and Lite editions: VST3 hosting behind KSP_ENABLE_VST_HOST Nov 4, 2026
…project, Enter opens it

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632sZzWNHVfwXc1yrFRn
CMake default OFF; installer script: Lite by default, -Full for VST3 hosting; docs recommend Lite.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632qxFQDNpcNPjZWVdJa
@lgarraza lgarraza changed the title Full and Lite editions: VST3 hosting behind KSP_ENABLE_VST_HOST Lite (recommended) and Full editions: VST3 hosting behind KSP_ENABLE_VST_HOST Nov 4, 2026
…d; manual section

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632qxFQDNpcNPjZWVdJa
… octaves

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632qxFQDNpcNPjZWVdJa
Drops the Rec button, Ch and grid boxes, Undo take, Model/Overdub.h and its test; manual and docs updated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632sZzWNHVfwXc1yrFRn
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2632sZzWNHVfwXc1yrFRn
@lgarraza
lgarraza merged commit 0632a8c into main Nov 4, 2026
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