Docs file normalization.
This commit is contained in:
parent
dd32143bf8
commit
619c2d0808
46 changed files with 3587 additions and 2579 deletions
|
|
@ -1,13 +1,14 @@
|
|||
# 0010 — Bounded CLAP, VST2 and VST3 effect loading
|
||||
# 0010 — Bounded CLAP, VST2 and VST3 Effect Loading
|
||||
|
||||
Accepted. The user's request to support these three formats
|
||||
supersedes the earlier recommendation to choose only one external format.
|
||||
Accepted. The user's request to support these three formats supersedes the
|
||||
earlier recommendation to choose only one external format.
|
||||
|
||||
Keep the engine/model/host adapters in C99. CLAP uses pinned MIT headers and VST3
|
||||
uses the upstream BSD-3-Clause generated C ABI. No SDK runtime library is needed;
|
||||
Linux dynamic loading and POSIX thread identity are existing platform facilities.
|
||||
VST2 uses original minimal compatibility declarations, not the discontinued SDK.
|
||||
See third_party/README.md and LICENSES.md for exact revisions and notices.
|
||||
Keep the engine/model/host adapters in C99. CLAP uses pinned MIT headers and
|
||||
VST3 uses the upstream BSD-3-Clause generated C ABI. No SDK runtime library is
|
||||
needed; Linux dynamic loading and POSIX thread identity are existing platform
|
||||
facilities. VST2 uses original minimal compatibility declarations, not the
|
||||
discontinued SDK. See third_party/README.md and LICENSES.md for exact revisions
|
||||
and notices.
|
||||
|
||||
Reuse the existing plugin graph node, paired mono instances and immutable plan
|
||||
ownership. The common facade routes LADSPA to its existing implementation and
|
||||
|
|
@ -18,25 +19,27 @@ configuration is used; no parameter/controller/editor or opaque-state access is
|
|||
exposed. These are usable effect loaders, not complete implementations of every
|
||||
extension in the formats. Unsupported layouts fail explicitly.
|
||||
|
||||
Project v11 adds format plus CLAP stable ID or VST3 class ID to each saved plugin.
|
||||
Older plugins migrate to LADSPA with an empty extra ID. VST2 retains its integer
|
||||
unique ID. Reopening checks format/index/identity/name/layout; metadata operations
|
||||
never open modules. This does not authenticate a binary or freeze defaults across
|
||||
plugin releases. No modified opaque state exists in this initial API to persist.
|
||||
Project v11 adds format plus CLAP stable ID or VST3 class ID to each saved
|
||||
plugin. Older plugins migrate to LADSPA with an empty extra ID. VST2 retains its
|
||||
integer unique ID. Reopening checks format/index/identity/name/layout; metadata
|
||||
operations never open modules. This does not authenticate a binary or freeze
|
||||
defaults across plugin releases. No modified opaque state exists in this initial
|
||||
API to persist.
|
||||
|
||||
Discovery and instance creation execute trusted module code on one serialized
|
||||
main/control thread. A module cache balances CLAP entry init/deinit and Linux
|
||||
VST3 ModuleEntry/ModuleExit across overlapping graph instances and retired plans.
|
||||
CLAP start_processing runs on the processing owner; stop_processing runs after
|
||||
quiescence with the symbolic audio-thread context. CLAP callback requests use
|
||||
lock-free flags and are serviced by xtc_plugin_idle on main/control (the GUI timer
|
||||
calls it). Restart/I/O-change requests latch an error for re-preparation; the audio
|
||||
callback does not reconfigure or wait for GUI work. CLAP process wakeups need no
|
||||
queue because playback processes every block, including silence.
|
||||
VST3 ModuleEntry/ModuleExit across overlapping graph instances and retired
|
||||
plans. CLAP start_processing runs on the processing owner; stop_processing runs
|
||||
after quiescence with the symbolic audio-thread context. CLAP callback requests
|
||||
use lock-free flags and are serviced by xtc_plugin_idle on main/control (the GUI
|
||||
timer calls it). Restart/I/O-change requests latch an error for re-preparation;
|
||||
the audio callback does not reconfigure or wait for GUI work. CLAP process
|
||||
wakeups need no queue because playback processes every block, including silence.
|
||||
|
||||
Only preallocated buffers and plugin processing occur in audio. Error status
|
||||
silences the failed block; nonfinite/subnormal samples are sanitized. Plugin code
|
||||
can still allocate, block, corrupt memory or crash; there is no sandbox, scanner
|
||||
subprocess or recoverable crash boundary. Modules unload only after destruction
|
||||
on a quiescent/control owner. Real third-party plugins and hardware timing remain
|
||||
unqualified; original ABI fixtures demonstrate the bounded contracts.
|
||||
silences the failed block; nonfinite/subnormal samples are sanitized. Plugin
|
||||
code can still allocate, block, corrupt memory or crash; there is no sandbox,
|
||||
scanner subprocess or recoverable crash boundary. Modules unload only after
|
||||
destruction on a quiescent/control owner. Real third-party plugins and hardware
|
||||
timing remain unqualified; original ABI fixtures demonstrate the bounded
|
||||
contracts.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue