docs(plan): tick S3 checkboxes; resolve VST-host bridge must-verify entry
This commit is contained in:
@@ -167,15 +167,15 @@ maps a (note, velocity) to the correct sample/zone; the core takes and returns o
|
|||||||
plain data (no VST3/REAPER types) — enforced by the test target linking neither SDK.
|
plain data (no VST3/REAPER types) — enforced by the test target linking neither SDK.
|
||||||
**Depends on:** S2 (consumes `rootNote` / loop points as core inputs).
|
**Depends on:** S2 (consumes `rootNote` / loop points as core inputs).
|
||||||
|
|
||||||
- [ ] Voice engine: polyphonic voice allocation (note-on/off, bounded voice stealing),
|
- [x] Voice engine: polyphonic voice allocation (note-on/off, bounded voice stealing),
|
||||||
per-voice state, mono-and-basic-polyphony sufficient for Tier 0.
|
per-voice state, mono-and-basic-polyphony sufficient for Tier 0.
|
||||||
- [ ] Amplitude envelope (ADSR) math — asserted against a known signal.
|
- [x] Amplitude envelope (ADSR) math — asserted against a known signal.
|
||||||
- [ ] Repitch/interpolation from root note (chromatic pitch ratio across the
|
- [x] Repitch/interpolation from root note (chromatic pitch ratio across the
|
||||||
keyboard); loop-point-aware sustain for held notes.
|
keyboard); loop-point-aware sustain for held notes.
|
||||||
- [ ] Keymap model + resolution: key ranges/zones (Tier-1 shape) and the
|
- [x] Keymap model + resolution: key ranges/zones (Tier-1 shape) and the
|
||||||
(note, velocity) → sample/zone query; Tier-0 chromatic-from-single-root as the
|
(note, velocity) → sample/zone query; Tier-0 chromatic-from-single-root as the
|
||||||
degenerate case.
|
degenerate case.
|
||||||
- [ ] Tests: voice allocation under polyphony + stealing; ADSR envelope shape;
|
- [x] Tests: voice allocation under polyphony + stealing; ADSR envelope shape;
|
||||||
repitch pitch-ratio correctness; keymap resolution (single-root chromatic + zoned);
|
repitch pitch-ratio correctness; keymap resolution (single-root chromatic + zoned);
|
||||||
core boundary is plain-data-only (no VST3/REAPER types).
|
core boundary is plain-data-only (no VST3/REAPER types).
|
||||||
|
|
||||||
@@ -260,9 +260,10 @@ build:** the `IReaperUIEmbedInterface` contract + embed message/lifecycle agains
|
|||||||
factory-macro spellings, Windows module-export symbol names
|
factory-macro spellings, Windows module-export symbol names
|
||||||
(`InitDll`/`ExitDll`/`GetPluginFactory`), and whether VSTGUI is bundled. Several are
|
(`InitDll`/`ExitDll`/`GetPluginFactory`), and whether VSTGUI is bundled. Several are
|
||||||
§1a experienced-estimates until S1 confirms them against the vendored SDK.
|
§1a experienced-estimates until S1 confirms them against the vendored SDK.
|
||||||
- **VST-host bridge** — opcodes `0xdeadf00d` (resolve-by-name) / `0xdeadf00e` (host
|
- **VST-host bridge** — ~~opcodes `0xdeadf00d`/`0xdeadf00e`~~ **verified (S1):** VST3
|
||||||
context) and the exact call marshalling, against `reaper_plugin.h` /
|
path is `IReaperHostApplication::getReaperApi` (resolve-by-name) and
|
||||||
`video_processor.h` / `reaper_plugin_functions.h`.
|
`getReaperParent(3)` (host context) via `reaper_vst3_interfaces.h`; the
|
||||||
|
`0xdeadf00d`/`0xdeadf00e` opcodes are VST2-only and do not apply.
|
||||||
- **`IReaperUIEmbedInterface`** — embed contract + message/lifecycle, against
|
- **`IReaperUIEmbedInterface`** — embed contract + message/lifecycle, against
|
||||||
`reaper_plugin_fx_embed.h` (needed only at S6).
|
`reaper_plugin_fx_embed.h` (needed only at S6).
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user