phase information removal.

This commit is contained in:
Johannes Findeisen 2026-11-06 14:12:22 +01:00
commit dd32143bf8
45 changed files with 325 additions and 330 deletions

View file

@ -1,6 +1,6 @@
# Decision 0004: JACK backend and bounded plan handoff
**Status:** Accepted for Phase 2
**Status:** Accepted
## Backend
@ -81,9 +81,9 @@ Plan replacement starts the newly compiled oscillator at phase zero, without
crossfade. Smooth parameter ramps and click-free graph transitions are future work.
No stereo, recording, MIDI, native PipeWire API, GUI engine controls or hardware
configuration dialogs are part of this phase.
configuration dialogs are included.
## Phase 4 adoption acknowledgement and stopped editing
## Adoption acknowledgement and stopped editing
The pending pointer has an associated atomic revision. Producer stores the
revision before release-publishing the pointer. Consumer acquire-loads a

View file

@ -1,6 +1,6 @@
# 0005: Preloaded WAV clips and control-thread recording consumer
Status: accepted for Phase 6.
Status: accepted.
Use a small bounded C99 WAV decoder/writer for PCM16/24/32 and IEEE float32,
mono/stereo, instead of adding libsndfile in this milestone. This avoids a new

View file

@ -1,6 +1,6 @@
# 0006 — Bounded MIDI notes and internal instrument
Status: accepted, Phase 7.
Status: accepted.
Use the existing JACK backend for timestamped MIDI input, avoiding another
backend/dependency. Store source-relative notes in the C project and v3 format;

View file

@ -1,6 +1,6 @@
# 0007 — Track mixing, paired stereo buses and snapshot history
Status: accepted, Phase 8.
Status: accepted.
Apply gain/pan/mute/solo and gain/pan automation in prepared track sources, then
run paired stereo buses through the existing modular topology. This preserves

View file

@ -1,6 +1,6 @@
# 0008 — Native processors and source release preparation
Status: accepted, Phase 9.
Status: accepted.
Add a versioned copied C descriptor with control-thread prepare/destroy and
single-owner realtime reset/process. Prove effects/sources in the existing graph,

View file

@ -1,6 +1,6 @@
# 0009 — Parameter processors and bounded LADSPA hosting
Status: accepted, Phases 14–15 (2026-10-27).
Status: accepted (2026-10-27).
Native ABI 1 remains compatible. ABI 2 adds explicitly parameter-only configuration,
metadata, validation and sample-offset parameter/MIDI ordering. It is a public C
@ -8,7 +8,7 @@ facility; opaque state and automatic native descriptor registration in project
files remain unsupported. Native instrument and gain examples exercise the
interface before adding a dynamically loaded module lifetime.
Select LADSPA 1.1 for the first external host. Reconsidering the Phase 9 candidates,
Select LADSPA 1.1 for the first external host. Reconsidering earlier candidates,
LV2 needs RDF/features/URIDs/workers, CLAP needs host scheduling/extension
negotiation, and VST3 needs a separate C++ SDK adapter and release-specific license
review. LADSPA adds a mature Linux C ABI, installed real plugins, straightforward
@ -28,8 +28,8 @@ and 16 input controls. Graph stereo consists of independent instances, not a
stereo LADSPA layout. Reject incompatible layouts and identities explicitly.
Control outputs are connected to private storage, not exposed as graph events.
LADSPA has no MIDI or opaque state API: save control values only. Parameter
changes rebuild plans on the control thread; sample automation is deferred to
Phase 16. Rate-scaled bounds are recalculated at compile. Instance history/tails
changes rebuild plans on the control thread; sample automation is provided through
parameter processors. Rate-scaled bounds are recalculated at compile. Instance history/tails
reset on recompile, not every transport seek (LADSPA has no realtime reset rule).
Latency compensation is unsupported: the supported set is zero-latency amp,
inverter and sine source, not arbitrary lookahead/delay/routing plugins.

View file

@ -1,6 +1,6 @@
# 0010 — Bounded CLAP, VST2 and VST3 effect loading
Accepted for Phase 31. The user's request to support these three formats
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

View file

@ -1,6 +1,6 @@
# 0011 — Prepared MIDI track instruments
Accepted for Phase 32. Extend the modern C99 adapters with zero-audio-input,
Accepted. Extend the modern C99 adapters with zero-audio-input,
mono-output instruments and one event input. Keep graph effects separate from
track bindings. Each assigned track owns one prepared instance; the existing
instrument source sums their mixed output and the sine output of unassigned