Skip to main content

Effects & parameters

Per-channel FX and synth parameters are stored in SMP tables and applied by dedicated modules.

Modules

FileRole
toern_filter.inosetFilters, mixer gain smoothing, filter transitions
toern_filterUI.inoMatrix sliders, pages, encoder colors for filter mode
toern_parameters.inosetParams, defaults, envelope/synth default packs, reset

FX chain (conceptual)

For a typical sample channel:

envelope → bitcrusher → filter → freeverb → mixers → output

Synth channels insert oscillator/ladder stages earlier but still land in crush/filter/verb → mix.

UI value vs audio value

The matrix usually shows 0–32 (or enums as text). Mapping functions convert those into Hz, resonance, wet/dry, bit depth, etc. When adding a parameter:

  1. Extend the settings array / FilterType or related enum if needed.
  2. Teach setFilters / setParams the mapping.
  3. Add a slider definition for filter UI (SliderDefEntry / name index tables).
  4. Keep display enums in sync with enumNames pointers.

Fast filter encoder

During play, encoder #3 can adjust a per-channel “default fast filter” target (defaultFastFilter, setDefaultFastFilterValue) without entering full filter mode — useful when tracing runtime parameter paths.