Skip to content

Releases: NiLace/Dynamo0C

Dynamo 0C EQ v1.2.0

Choose a tag to compare

@NiLace NiLace released this 17 Jul 08:16

The sound is untouched. The DSP in this release is byte-for-byte the same code as 1.1.0 — it will render identically to it. Everything here is the interface and what it costs to draw. If 1.1.0 sounds right to you, updating changes nothing about that.

The panel was rebuilt

Floating chassis, a shared knob spec, proper bevels and glows, and softer engage/bypass fades.

  • The title is now the bypass. Click “DYNAMO 0C” to engage or bypass the whole plugin — lit orange when engaged, plain white when bypassed, and the panel dims. It is the one control that still answers while bypassed.
  • The Power button is gone from the switch bank, which leaves LF HF EQ BUMP with more room to breathe.
  • The settings window now opens from the DRIVE label, since the title has the bypass job. Same window, same ✕ or click-outside to close. The label is coloured like the control it is: copper when idle, flat white while its window is open.
  • Oversampling is readable without opening anything. The DRIVE label reads plain DRIVE at 1x, then DRIVE 2x / DRIVE 4x when it is on. It costs latency, so it should not hide behind a click.

An open plugin window no longer eats a CPU core

The panel used to redraw everything — meters, knobs, chassis — on every event. Now the parts that never move are rendered once and blitted, the live pass draws only what a value actually moved, and repaints are capped at 30 fps.

~19.9 ms → ~0.3 ms per frame (~64× cheaper). With several instances open, that is the difference between a fan spinning up and not.

Also fixed

  • Letter spacing no longer breaks up words. Cairo rounds every glyph advance to a whole pixel by default, which inflates some letters and shrinks others — enough that “DRIVE” read as “D RIVE”. Metric hinting is off now, so advances stay fractional and spacing is even. It matters more the further you resize the window from 1:1, since the panel scales.
  • Knobs were blurry on HiDPI — the cached knob skirt was rendered at logical size and scaled up. It is now cached at device resolution.
  • make install could take the host down with it. It rewrote the .so in place, which is a crash if a host had it mapped. It now installs to a temporary name and renames atomically.

Install

Download dynamo-0c.lv2.tar.gz below and unpack it into ~/.lv2/:

tar xzf dynamo-0c.lv2.tar.gz -C ~/.lv2/

64-bit x86 Linux build. If your host was already running, remove and re-insert the plugin — hosts cache the old binary.

Full notes: CHANGELOG · 1.1.0 → 1.2.0 diff

Dynamo 0C EQ v1.1.0

Choose a tag to compare

@NiLace NiLace released this 13 Jul 09:05

A big release. The equaliser was rebuilt from the ground up for higher fidelity, the
channel drive gained optional anti-aliasing, and the interface got a settings window.

Heads-up: the top end sounds different from 1.0.0 — on purpose. The old EQ
pinched the highs in near Nyquist ("cramping"); the new one keeps the analogue
curve all the way up. Boosts and shelves up high are truer and a touch brighter.

Changed — sound & quality

  • EQ rebuilt as an analogue-matched design. Each band used to be a bilinear
    filter propped up by oversampling; it's now a closed-form matched-Z + FIR
    correction
    that reproduces the analogue magnitude right up to Nyquist without
    oversampling, without cramping, and at zero latency
    . Measured against the
    analogue prototype it tracks to < 0.03 dB across the audible band (worst case
    ~0.46 dB only at an extreme hi-shelf boost), and it's ~25–50× cheaper than the
    oversampling it replaces.
  • Higher hi-shelf fidelity. The FIR magnitude correction went from order 3 to
    order 5, which roughly halves the worst-case error (the extreme hi-shelf
    shoulder dropped from ~0.87 dB to ~0.45 dB) and tightens every band.

Added

  • Drive oversampling (1x / 2x / 4x). The channel drive is non-linear, so it
    aliases; you can now oversample just the drive to push that aliasing far below the
    noise floor. It only engages while the drive is on, and only then adds a small,
    host-compensated latency. 1x is the default and is bit-identical to the old
    drive (zero latency).
  • Settings window. Click the plugin title (“DYNAMO 0C”) to open an overlay card
    — it turns orange while open — that hosts the Drive Oversampling selector. Click
    the title again, the ✕, or outside the card to close it.
  • The graphical interface is now built by default (make); use BUILDUI=no
    for a headless DSP-only build.

Removed

  • The EQ oversampling control is gone. With the analogue-matched design the EQ
    never needs oversampling (it already matches the analogue up to Nyquist), so the
    old Oversampling selector — including its "Auto" mode, which had become just a
    synonym for 1x — was removed along with all of its code. The EQ now always runs at
    the session rate. The only oversampling left is the drive's.

Compatibility note

  • Control-port layout changed. Removing the EQ oversample port shifted the
    control ports above it (latency, HP-bump, drive) and the drive-oversampling port
    now sits at the end. Hosts read these by name, so re-inserting the plugin is fine,
    but any saved automation that referenced the old ports by numeric index may
    need re-pointing.

Fidelity notes (for the curious)

  • Measured against the analogue prototype it's modelled on, the EQ tracks the target
    magnitude to < 0.03 dB across the audible band — worst case ~0.46 dB only at an
    extreme hi-shelf boost. The realisation matches its own design to the float floor.

Dynamo 0C EQ v1.0.0

Choose a tag to compare

@NiLace NiLace released this 27 Jun 10:57

First release of Dynamo 0C EQ — a console-style 4-band parametric equaliser for Linux, as a stereo LV2 plugin with its own hardware-style interface.

Install (no build needed)

Download dynamo-0c.lv2.tar.gz below and drop the bundle into your personal LV2 folder:

mkdir -p ~/.lv2
tar -xzf dynamo-0c.lv2.tar.gz -C ~/.lv2/

Restart your host (or rescan plugins). It appears as Dynamo 0C EQ in Ardour or any other LV2 host (Carla, Qtractor, Zrythm, REAPER with LV2…). To uninstall, delete ~/.lv2/dynamo-0c.lv2/.

This is a 64-bit x86 build for Linux. To build from source instead, see the README.

GPLv3-or-later.