VST and JUCE screenshot update.

This commit is contained in:
Johannes Findeisen 2026-11-06 18:32:25 +01:00
commit cda05294f5
9 changed files with 82 additions and 1 deletions

View file

@ -6,7 +6,8 @@ VST3 insert chains.
The gallery captures are actual rendered application windows and menus on a
1440 × 960 virtual X11 screen. The promotional `overview.png` is a designed
composite of cropped, proportionally scaled captures with added headings; the
other captures have no mockups, compositing or image edits.
other captures have no mockups, compositing or image edits. The JUCE editor
image below uses its separately documented direct component-rendering path.
![xtc promotional overview: arrangement, piano roll, mixer and modular effects](overview.png)
@ -29,6 +30,52 @@ APIs and GUI history/preparation paths. Original projects, media and user
configuration are not overwritten. Black margins are the virtual desktop;
floating views show the actual detached windows together.
## Steinberg and JUCE SDK integration (Phases 106–107)
Captured on 2026-11-06 from the built SDK examples, with no fabricated UI.
![JUCE Soft Keys native editor](juce-soft-keys-editor.png)
The 1560 × 980 image is rendered directly from the actual JUCE editor, with
filter/reverb enabled and output at -6 dB. It shows the parameter controls,
preset buttons and on-screen keyboard without opening an audio device.
![Steinberg SDK Half Gain loaded in xtc's track insert graph](steinberg-sdk-track-insert.png)
- [Steinberg SDK effect identity and current adapter limits](steinberg-sdk-identity.png)
- [Steinberg SDK Sine instrument discovered by xtc](steinberg-sdk-instrument.png)
- [JUCE VST3 instrument discovered by xtc](juce-vst3-instrument.png)
The four 1440 × 960 FLTK captures load the actual SDK-built VST3 bundles.
The Steinberg examples have no custom editor; xtc displays its host graph and
metadata. The JUCE native editor above is rendered separately: xtc's C host
currently uses plugin defaults and does not embed native VST3 editors or expose
their controller parameters. Unsupported class counts in the choosers include
non-instrument/controller classes; they do not mean the selected synth failed.
The host is stopped and meters are idle. No ASIO interface is shown or implied.
See [Steinberg integration](../docs/STEINBERG.md) and
[JUCE integration](../docs/JUCE.md).
After building both SDK examples, reproduce only these host captures with:
```sh
make build/capture_screenshots
XTC_CAPTURE_STEINBERG_BUNDLE="$PWD/build/steinberg-sdk/VST3/Release/xtc-sdk-examples.vst3" \
XTC_CAPTURE_JUCE_BUNDLE="$PWD/build/juce/XtcJuceSynth_artefacts/Release/VST3/xtc JUCE Synth.vst3" \
xvfb-run -a -s '-screen 0 1440x960x24' \
./build/capture_screenshots "$PWD/screenshots"
```
This uses the existing capture prerequisites and temporary project isolation;
it preserves the other gallery images, including `overview.png`.
To reproduce the JUCE editor image, remove or move the existing destination
first (the command refuses overwrites):
```sh
xvfb-run -a ./build/juce/xtc-juce-render_artefacts/Release/xtc-juce-render \
--snapshot "$PWD/screenshots/juce-soft-keys-editor.png"
```
## MIDI devices, defaults and file exchange (Phases 100–105)
- [Open MIDI input dropdown with real host devices](preferences-midi-input-devices.png)