VST and JUCE screenshot update.
This commit is contained in:
parent
adcbcdfd5e
commit
cda05294f5
9 changed files with 82 additions and 1 deletions
10
docs/JUCE.md
10
docs/JUCE.md
|
|
@ -20,6 +20,16 @@ Synthesis is the real xtc **Soft Keys** implementation, called through
|
|||
uses a separate PIC build of the C archive with JACK/FLTK disabled; the installed
|
||||
application and existing build directories are not modified.
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||
The native editor rendered at 2× scale, with effects enabled and -6 dB output;
|
||||
no audio device is opened for this capture. Also see
|
||||
[the JUCE VST3 in xtc's instrument chooser](../screenshots/juce-vst3-instrument.png)
|
||||
and [capture commands and context](../screenshots/README.md#steinberg-and-juce-sdk-integration-phases-106107).
|
||||
The editor image is separate from xtc's FLTK host, which does not embed it.
|
||||
|
||||
## Licensing and dependency impact
|
||||
|
||||
The inspected JUCE checkout is 9.0.4, revision
|
||||
|
|
|
|||
|
|
@ -28,6 +28,17 @@ check without adding a C++ runtime or network dependency to libxtc.
|
|||
See [the example instructions](../examples/steinberg/README.md) for SDK versions,
|
||||
build commands, validation and ASIO diagnostics.
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||
The actual SDK-built effect in xtc's host. See its
|
||||
[identity dialog](../screenshots/steinberg-sdk-identity.png), the
|
||||
[SDK Sine instrument chooser](../screenshots/steinberg-sdk-instrument.png) and
|
||||
[capture commands](../screenshots/README.md#steinberg-and-juce-sdk-integration-phases-106107).
|
||||
These examples have no custom editor; the screenshots show xtc's host interface
|
||||
with playback stopped. They do not demonstrate ASIO hardware operation.
|
||||
|
||||
## ASIO and VST2 scope
|
||||
|
||||
ASIO is native driver I/O, separate from VST plugin hosting. The optional Windows
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
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 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)
|
||||
|
|
|
|||
BIN
screenshots/juce-soft-keys-editor.png
Normal file
BIN
screenshots/juce-soft-keys-editor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
BIN
screenshots/juce-vst3-instrument.png
Normal file
BIN
screenshots/juce-vst3-instrument.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
BIN
screenshots/steinberg-sdk-identity.png
Normal file
BIN
screenshots/steinberg-sdk-identity.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
BIN
screenshots/steinberg-sdk-instrument.png
Normal file
BIN
screenshots/steinberg-sdk-instrument.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
BIN
screenshots/steinberg-sdk-track-insert.png
Normal file
BIN
screenshots/steinberg-sdk-track-insert.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
|
|
@ -105,6 +105,19 @@ int main(int argc,char **argv) {
|
|||
check(s->make_chord({4,7}));check(s->strum_chords(30,false));piano_view();capture("creative-strum-result");
|
||||
window.do_callback();std::puts("Creative workflow captures completed.");return 0;
|
||||
}
|
||||
if(const char *sdk=std::getenv("XTC_CAPTURE_STEINBERG_BUNDLE")) {
|
||||
const char *juce=std::getenv("XTC_CAPTURE_JUCE_BUNDLE");
|
||||
if(!juce || !std::filesystem::exists(sdk) || !std::filesystem::exists(juce))
|
||||
throw std::runtime_error("Supply existing Steinberg and JUCE bundles for SDK captures");
|
||||
reset();
|
||||
check(window.add_track_effect(0,sdk,0));
|
||||
auto *inserts=window.track_inserts();inserts->select_track(0);tab("Track inserts");
|
||||
capture("steinberg-sdk-track-insert");
|
||||
dialog("steinberg-sdk-identity",[&]{check(inserts->inspect_slot());});
|
||||
dialog("steinberg-sdk-instrument",[&]{unsigned int index=0;xtc_choose_plugin(sdk,48000,index,true);});
|
||||
dialog("juce-vst3-instrument",[&]{unsigned int index=0;xtc_choose_plugin(juce,48000,index,true);});
|
||||
window.do_callback();std::puts("Real Steinberg/JUCE SDK host captures completed.");return 0;
|
||||
}
|
||||
if(std::getenv("XTC_CAPTURE_HOST_VST3")) {
|
||||
reset();capture("compact-workspace");
|
||||
auto *create=dynamic_cast<Fl_Menu_Button *>(named(window,"Create"));if(!create)throw std::runtime_error("Missing Create dropdown");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue