pub struct ExportGraph { /* private fields */ }Expand description
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.
Implementations§
Source§impl ExportGraph
impl ExportGraph
Sourcepub fn build(
chain: &SignalChain,
mimo: Option<&MimoPaths>,
lfe: LfeChoice,
) -> Result<Self, GraphError>
pub fn build( chain: &SignalChain, mimo: Option<&MimoPaths>, lfe: LfeChoice, ) -> Result<Self, GraphError>
Validate chain, mimo and lfe, then build the plan and the
support groups.
The rules: 48 kHz; every number finite; every role and MIMO
identifier non-empty ASCII letters and digits; no duplicate role and
no role named LFE; a sub mode in ASCII; polarities 1 or -1;
delays not negative after rounding to whole samples
(is_negative_delay); a MIMO input is a main and a support an
output; a low-rate FIR at most 48 kHz whose 48 kHz expansion fits.
Sourcepub fn chain(&self) -> &SignalChain
pub fn chain(&self) -> &SignalChain
The validated chain.
Sourcepub fn mimo(&self) -> Option<&MimoPaths>
pub fn mimo(&self) -> Option<&MimoPaths>
The validated MIMO paths, when the export includes MIMO.
Sourcepub fn plan(&self) -> &FilterPlan
pub fn plan(&self) -> &FilterPlan
The upstream make_plan topology.
Sourcepub fn support_groups(&self) -> &[SupportGroup]
pub fn support_groups(&self) -> &[SupportGroup]
The MIMO support groups, in order of their first path.