Skip to main content

Crate secs_graph

Crate secs_graph 

Source
Expand description

The export graph: one validated signal chain with its MIMO paths and the topology every export writer shares (docs/ARCHITECTURE.md §4).

Building an ExportGraph is the only validation of a SignalChain and its MimoPaths. The CamillaDSP writer (secs-camilla), the filter-text and Equalizer APO writers and the FIR support renderer (secs-filters) read the graph and serialise it. A check that belongs to one writer only (CamillaDSP options, a filter run’s label and stamp, the renderer’s block geometry) stays with that writer.

Upstream sources: export_filters.make_plan for the FilterPlan, and the input rules both export_camilladsp.py and export_filters.py assumed without checking.

Modules§

design
Stable identity for one exported correction design.
files
File helpers every export writer shares: the FIR WAV bytes, the upstream filename sanitiser and the staged bundle install (#92 TD-22, TD-45).

Structs§

ExportGraph
A validated signal chain with its MIMO paths and the topology every export writer shares: inputs, outputs, per-role operations, sub feeds, MIMO feeds and support groups. Building it is the only validation.
FilterPlan
The complete export plan, with every map represented as an ordered vector.
MimoFeed
One MIMO support feed.
SubFeed
One subwoofer bus output, preserving upstream insertion order.
SupportGroup
MIMO support paths that feed one output through the same protective high-pass and filter family, so a writer may apply that high-pass (and an IIR family’s Fsiso low-pass) once, after their sum (F13).

Enums§

FirView
One FIR of a plan, borrowed: collecting export files never clones stored FIR arrays.
GraphError
Why a chain and its MIMO paths cannot be exported. Each message names the offending field the way the writers’ messages did, for example main.L.delay_ms or mimo.paths[2].taps_low.
LfeChoice
The LFE input the export includes, as upstream’s make_plan takes it.
Op
One filter-plan operation. fixed marks a fixed subwoofer filter.

Constants§

LFE_GAIN_DB
Upstream Dolby LFE playback gain.
LFE_LP_HZ
Upstream Dolby LFE content low-pass frequency.
SAMPLE_RATE
Sample rate of every exported FIR and delay.

Functions§

headroom_db
Largest non-LFE output boost from 20 Hz through 20 kHz.
is_negative_delay
Whether a delay is negative at the writers’ resolution: below zero after the half-to-even rounding to whole 48 kHz samples. A smaller negative value is float noise that every writer emits as no delay (#92 TD-94).
plan_responses
Compute electrical responses from one input to every reachable output.
round_ties_even_i64
Python/NumPy half-even rounding to an integer.