theallelectricsmartgrid

PolyXFader LFOs

The primary Low-Frequency Oscillators (LFOs) in the Smart Grid One are implemented using the PolyXFaderInternal struct (private/src/PolyXFader.hpp). Despite the somewhat unconventional name, this struct evaluates and mixes periodic waveforms.

Phase-Synchronized Mixing

PolyXFader reads absolute loop phase through GetPhase, with an explicit PhaseDomain. The Theory of Time’s own phase-modulation LFO uses unmodulated phase; voice LFOs use modulated phase. It has no independent phase accumulator or reset input.

Waveform evaluation first reduces phase + phaseShift + 0.75 to a fractional cycle in double precision, then applies the shaping multiplier. A multiplier of 2.5 produces two full lobes and a final shorter lobe with half amplitude in each input cycle. This periodic shaping is preserved even at large absolute phase values.

Running topology edits require simultaneous old/new parent modulated boundaries. Integer phase offsets at an exact shared boundary therefore evaluate to the same periodic waveform. Interpolation uses global phase and the interval’s topology, avoiding a sweep through the absolute integer jump. Sampled boundary overshoot still reflects the new rate, and unmodulated LFO drive can differ from the modulated boundary used to accept an edit.

Blend weights, sample-and-hold and output slew are shared across LFO uses. Voice and quad LFOs retain the default Shape/Skew behavior below; the Theory of Time explicitly selects a continuous Shape mode for time warping.

Features

The PolyXFader LFOs support a variety of shaping and modulation options:

Usage

These LFOs are used extensively throughout the system: