Updates · May 2026

MSEG: draw your own envelopes and LFOs

Every modulator slot in Laura can now flip to a multi segment user drawn curve. Per segment tension, step nodes, loop and sustain markers, tempo sync, and a dedicated Mod Shape editor card.

Highlights

Details

Laura's modulators used to be a fixed shape per slot: ADSR envelopes and five wave choices for the LFOs. v1.1.0 keeps those exactly where they were and adds a second mode to every slot. Click the MSEG pill on any of the four modulators (ENV1, ENV2, LFO1, LFO2) and the slot switches to a user drawn multi segment shape that the engine reads and plays sample for sample.

The editor lives in a new Mod Shape card at the bottom right of the MOD panel. Three tabs along the top (ENV, LFO 1, LFO 2) let you switch between slots without losing your place. Clicking an LFO tab also turns that slot's MSEG on so the path of least resistance just works. ENV1's editor lives next to the amp envelope on the SYNTH panel because that's where the user expects to draw their amp curve.

Drag any point to move it. Drag the small dot in the middle of a segment to bend the curve through tension, the same family Vital and Serum use. Pull the tension handle past its end and the segment becomes a hard step, which is how you get a clean square or staircase. Double click empty space to add a point; double click or right click a point to remove it. Each editor keeps its own slot aware undo stack with Cmd+Z and Cmd+Shift+Z bound while the editor has keyboard focus.

Loop and sustain markers are float positions in 0 to 1. You can drag a loop endpoint to any point in the cycle, not just to an existing node. Magnetic snap pulls the marker onto a node when you get within a few pixels, and the grid pill at the bottom adds tempo aligned snap on top. The audio loop wraps and the env sustain holds at exactly where the marker sits.

Speed is set by the LFO's Rate knob in both legacy and MSEG modes. A new rate mode pill next to each LFO row toggles between free run Hz and tempo synced cycle lengths from 1/32 to 4 bars. Same pill, same effect across both modes. ENV slots use the shape's own length field, settable from the editor's right click Timing submenu.

Three play mode pills along the bottom of the editor make the behaviour discoverable: 1-Shot plays the curve once, Loop cycles between loop markers, Sus holds at the sustain marker until note off. A Bi/Uni pill flips the slot's output range, a Grid pill cycles through grid densities (1/4, 1/8, 1/16, 1/32), Linear all resets every tension to zero, and a vertical zoom slider magnifies the curve around its centre for drawing fine detail near zero.

Right click on empty space in the editor pops a template gallery: Reset, Saw Up, Saw Down, Triangle, Square (stepped), Staircase, Random, Exp Up, Exp Down. Right click on a segment midpoint to swap between Linear, Smooth, and Step curve types per segment. Right click on a marker to clear it.

Under the hood Laura stores the shape with float time coordinates rather than point indices, so loop and sustain positions survive point insertions and deletions. The audio path uses per segment tension lookup tables baked when the shape changes, so no std::pow runs on the audio thread. Presets save and load the full shape array per slot, so flipping the MSEG pill after loading an older session restores any drawing that was on the slot.

Off the audio path, Laura's checkout is now on Gumroad. The license worker has gained a dedicated Gumroad webhook handler that mints and emails licenses on sale, and revokes the order on refund, cancellation, or dispute. The plugin's revocation feed is platform agnostic, so both Gumroad sale IDs and Lemonsqueezy order IDs land in the same offline-verified list.

← All updates