Skip to main content

Module compiler

Module compiler 

Source
Expand description

Netlist-to-WDF compiler.

Compiles a parsed .pedal file into a real-time audio processor by:

  1. Building a circuit graph from the netlist
  2. Identifying clipping stages (around diode elements)
  3. For each stage, building a WDF binary tree via series-parallel decomposition
  4. Modeling active elements (transistors, opamps) as gain stages
  5. Chaining everything into a cascaded PedalProcessor

Re-exports§

pub use component::Cardinality;
pub use component::Component;
pub use component::NeighborReq;
pub use component::NeighborRole;
pub use component::PinDirection;
pub use boundary_rules::classify_control_path;
pub use boundary_rules::classify_edges;
pub use boundary_rules::classify_ports;
pub use boundary_rules::smoke_classify;
pub use boundary_rules::BoundaryPolicy;
pub use boundary_rules::ClassifiedEdge;
pub use boundary_rules::ClassifiedPort;
pub use boundary_rules::Directive;
pub use boundary_rules::Domain;
pub use boundary_rules::PortClass;
pub use neighbor_roles::completeness_errors;
pub use neighbor_roles::infer_neighbor_roles;
pub use neighbor_roles::InferredNeighbor;
pub use validate::validate_pedal;
pub use validate::validate_pedal_files;
pub use validate::PedalWarning;
pub use validate::Severity;

Modules§

boundary_rules
Centralized, derived port-classification “rules broker” (Phase 1).
component
Component Trait and Supporting Types
components
Individual component structs implementing the Component trait.
neighbor_roles
Connectivity-based neighbour-role inference and compile-time completeness validation for active devices.
stage_test_helpers
Test helpers for IIR-based tone stages.
validate
Validation layer for .pedal files.

Structs§

CompileOptions
CompiledPedal
A pedal processor compiled from a .pedal file’s netlist.
SplitCompiledPedal
A split compiled pedal — pre-section and post-section with an FX loop between them.
VoltageWarning
A single voltage compatibility warning for a component.

Enums§

WarningSeverity
Severity of a voltage compatibility warning.

Functions§

check_voltage_compatibility
Check a pedal definition for voltage compatibility at a given supply voltage.
compile_cache_key
Compute a cache key for a .pedal source + compile options.
compile_pedal
Compile a .pedal circuit into a real-time audio processor with default options.
compile_pedal_with_options
Compile a .pedal circuit into a real-time audio processor with custom options.
compile_split_pedal
Compile a pedal with an FX loop, splitting at fx_send/fx_return.
compile_via_spqr
Compile a .pedal circuit via the SPQR pipeline with default options.
compile_via_spqr_with_options
Compile a .pedal circuit via the SPQR pipeline.