ABYZOR VARIATIONS — Changelog

Release history for the Variations VST3 plugin.

← Back to downloads
ABYZOR VARIATIONS v2.1.0 Latest

v2.1.0 introduces the LINK header button: internal preview audio (synth, samples, per-channel VST3, genre drums) now follows your DAW transport — play, stop, seek, and loop region — so you can record audio loops directly on the instrument track without a second track with an external synth. Includes important preview-engine fixes: clean VST wrap at pattern boundaries (no stuck notes across bar lines) and silence outside the DAW loop region when LINK is active. The SETTINGS Host Sync submenu (MIDI out) is removed — replaced by this unified same-track audio flow.

LINK — DAW transport sync

New toggle in the header (after ▶, before METRO). Green when active. Session-only — not saved in APVTS.

LINK DAW Play ▶ header / row Audio on track Preview BPM
OFF ignored starts/stops free preview only with internal ▶ genre (WAVE on) or DAW (WAVE off)
ON controls audio selects preview target only with DAW transport always DAW
  • With LINK ON, clicking ▶ on a row or in the header does not start the internal clock — it only sets which pattern (original, variation, or arrangement) plays when the DAW starts.
  • With LINK active, preview BPM ignores the Type’s genre BPM; timing always follows the DAW tempo.
  • Piano-roll cursor and loop phase in the UI follow the transport when LINK is on.

Main workflow: load VST3 or samples inside ABYZOR (per channel) → enable LINK → select the variation with ▶ → press Play in your DAW and record/bounce audio on the same instrument track.

Preview engine fixes

Clean VST wrap at pattern boundary

  • Two-pass fix in PatternPreviewEngine: note-offs at the pattern boundary are no longer inclusive on the last sample of the loop.
  • During loop fade, the VST does not process audio; panic of voices/MIDI at fade end.
  • Post-wrap segment in the same audio block — no note overlap between iterations.
  • syncPlaybackToHostBeat uses phase wrapped to pattern length for correct wrap detection.

Silence outside DAW loop region

  • When LINK is on and the DAW playhead leaves [ppqStart, ppqEnd): preview is silent (no stuck-note drone).
  • stopTransportLinked() + voice/VST panic.
  • computeLinkPhaseIfInside() returns std::nullopt outside the region — linear phase only inside the loop.

Removed (v2.0 Host Sync MIDI)

  • Host Sync submenu in SETTINGS — replaced by LINK (same-track audio).
  • MIDI Output Channel — external synth MIDI-out flow discontinued.
  • Mute Internal Synth (Host MIDI) — no longer applicable.
  • hostSyncMode, publishHostMidiSnapshot — session parameters and code removed.

Alternatives: use LINK for synced audio on the track, or drag/export MIDI to another track.

UI & tooltips

  • LINK header button with green active state (like METRO / WAVE).
  • Updated tooltips for ▶ and LINK (PT/EN in UiTooltips.cpp).

Migration from v2.0.0

  • Projects/sessions saved with hostSyncMode or muteInternalSynth open normally — those parameters are ignored.
  • LINK starts off by default (preview behaves like v2.0 until you enable LINK).
  • License does not require re-activation when updating.
  • Replace the entire ABYZOR Variations.vst3 folder or use the v2.1.0 installer — do not copy only the inner binary.
  • Rescan plugins in your DAW after updating.

Release information

Format: VST3 Architecture: 64-bit Platform: Windows 10+ GitHub Release Download Installer Manual zip
ABYZOR VARIATIONS v2.0.0

v2.0.0 consolidates the Genesis-to-Variations transformation into a commercial product: Ed25519 licensing, separate SOURCE and VARIATION controls, direct piano-roll editing (original and variations), per-channel preview with VST3 or audio samples (internal hosting + EQ), embedded Resources/ bundle, and dozens of UI and audio fixes — plus an updated Windows installer and manual install guide.

Audio & preview

  • EQ post-VST (critical fix): Biquad z1/z2 states are now per channel (channelEqStates[2][4]) in TrackPluginHost and PreviewEqRuntime — fixes EQ artifacts when an external VST is loaded with EQ ON.
  • Automatic preview refresh: refreshPreviewPattern() on relevant APVTS changes (musicalType, sourceType, length, outputMode, arrangement toggles), after source phrase generation, and after MIDI import — with playback resync when preview is running.
  • Genre preview (inherited from v1.2.0): PreviewGenreProfile, backing groove, per-role timbres, GROOVE toggle, and multi-part harmony via HarmonyPlanner — see v1.2.0 for details.
  • Resources/ bundle: Copied into the Windows VST3 bundle at build time (ABYZOR Variations.vst3/Contents/x86_64-win/Resources/) — preview samples, learned styles, and Preview library. Resolved at runtime via ResourcePaths.cpp.

Per-channel sound — VST, sample, or SYNTH

Each preview track (melody, bass, chords, arpeggio, etc.) has an independent sound source in the left panel (TrackSoundControlsPanel):

  • SYNTH: Internal timbres from Resources/; prev/next arrows cycle presets.
  • SAMPLE: User audio file — WAV, MP3, AIF, FLAC, or OGG.
  • VST: Per-channel VST3 hosting via TrackPluginHost — no extra DAW track needed.
  • Load VST or sample: BROWSE button, click the green slot (“CLICK OR DROP”), or drag-and-drop .vst3 / audio onto the slot. Header mode button cycles SYNTH / SAMPLE / VST.
  • With VST loaded: OPEN (plugin editor), UNLOAD, EQ ON/OFF + instrument type (Sub, Pad, Lead, etc.) — EQ applied after the VST.

UI — left panel (Track Sound Controls)

  • Enlarged green VST slot (kInstrumentH 58→66); centered hint text.
  • Unified green border via getUnion(actionButtonsBounds).
  • BROWSE / OPEN / UNLOAD buttons with horizontal/vertical insets and rounded corners (compactActionBtn).
  • SYNTH header button with centered label (trackModeHeaderBtn).

MIDI workflow — edit, import & export

  • Editable piano roll (PianoRollView): Draw notes (click + drag duration), move, resize (right edge), delete (right-click), undo Ctrl+Z (up to 32 levels). Snap to quarter-note grid; no overlap on the same pitch.
  • Original MIDI: Import .mid via drag-and-drop; GENERATE or DICE (source + variation batch); automatic root/scale detection; playback cursor; drag MIDI to DAW.
  • Variations: Batch generation with favorites (star); per-line regenerate; per-line .mid export; DRAG ALL MIDIS — original + all lines with notes in one drag.
  • SOURCE vs VARIATION CONTROLS: SOURCE sliders affect only original generation; VARIATION sliders affect only mutation — editing the original roll is no longer altered by variation controls.

UI — right column

  • SOURCE CONTROLS and VARIATION CONTROLS split panels with separate APVTS parameters.
  • RANDOM and DRAG ALL MIDIS layout fixed — no overlap with octave slider; kRightCardBtnInset = 8px.
  • Octave range extended from -2/+2 to -8/+8 in UI and engine (mapOctaveRange).

Licensing

  • Online activation (Lemon Squeezy API) and offline Ed25519 token verification (Monocypher).
  • Encrypted local license cache; MachineFingerprint with fallback cascade.
  • Redesigned activation overlay — compact layout, visible success flow.

Distribution & installation

  • Windows VST3: Release build embeds full Resources/; Inno Setup installer copies the complete .vst3 bundle (binary + Resources) with compile-time validation.
  • macOS: VST3 + AU universal via build_mac.sh — automatic Resources/ copy in CMake is currently Windows-only; macOS bundle copy planned for a future release.
  • Standalone (Windows): ABYZOR Variations.exe + Resources/ side by side (not in VST3 installer).

Migration from v1.2.0

  • License does not require re-activation when updating.
  • Replace the entire ABYZOR Variations.vst3 folder (or use the installer) — do not copy only the inner binary.
  • Rescan plugins in your DAW after installing.
  • Load as Instrument (MIDI generator), not as MIDI FX.

Release information

Format: VST3 Architecture: 64-bit Platform: Windows 10+ GitHub Release Download Installer Manual zip
ABYZOR VARIATIONS v1.2.0

v1.2.0 strengthens harmonic coherence across all generated parts by musical Type, and adds a genre-aware internal preview with optional synthesized backing groove and per-Type timbres. The preview header was reorganized and the preview mix was tuned for a more audible groove and less harsh melody.

Multi-part harmony by Type

  • Shared harmony timeline: Melody, bass, chords, and arpeggio use the same harmonyTimeline — each beat’s chord is the common reference.
  • Strong beats: Voices prioritize chord tones (1–3–5–7) on downbeats; bass anchors root or fifth. Passing tones stay on weak beats with controlled dissonance.
  • HarmonyPlanner: Plans harmony before note generation so parts don’t conflict without shared context.
  • Data-driven policies per Type: StrongBeatPolicy, BassPolicy, DissonanceLevel, and typical progressions (House vamps, static Techno, Trance movement, etc.).
  • Types covered: Auto, House, Tech House, Techno, Melodic Techno, Trance, Drum & Bass, Progressive House, Cinematic, Ambient, Experimental.

Preview with genre groove & timbres

  • PreviewGenreProfile: Data-driven BPM, groove style, and timbres per role (Bassline, Melody, Chords, Arpeggio, Counter Melody) for all 11 Types.
  • PreviewBackingGroove: Procedural kick / snare / hat / perc synthesis — no samples. Mixed into preview only; never exported to MIDI.
  • GROOVE on (WAVE): Preview uses the Type’s genre BPM plus backing groove and Type timbres.
  • GROOVE off: MIDI with Type timbres only; BPM follows your DAW host.
  • Metronome independent: METRO and WAVE work separately — metronome is a tempo reference; groove adds genre context.

Preview header & mix

  • CUBE (randomize): Moved to the right, immediately left of MENU.
  • WAVE toggle: Sine-wave icon, 28×28 px, placed after METRO — explicit handler with green/gray visual state.
  • Settings: New item — “Enable Genre Groove” (not persisted in APVTS, same pattern as metronome).
  • Mix: Groove gain increased (default 0.35 → 0.50); melody softened (triangle waveform, lower filter cutoff ~3800 Hz).

Known limitations

  • Drum & Bass breakbeat is a synthetic syncopated approximation — not an amen break sample.
  • Backing groove and genre timbres are preview-only — exported and dragged MIDI contain zero drum notes.
  • Cinematic and Ambient Types have no backing groove by design.

Release information

Format: VST3 Architecture: 64-bit Platform: Windows 10+ GitHub Release Download Installer Download VST3 only
ABYZOR VARIATIONS v1.0.0

Initial public release — generate MIDI variations from an original phrase, with arrangement layers, favorites, and drag-and-drop export into your DAW.

Highlights

  • Variations mode: Generate 2, 4, 8, or 16 variations per batch from your source MIDI.
  • Arrangement mode: Bassline, Chords, Arpeggio, and Counter Melody layers.
  • Source workflow: Generate in-plugin, import .mid, or drag MIDI onto the Original card.
  • Key detection: Automatic root note and scale from imported MIDI.
  • Preview & export: Built-in audio preview, per-row drag handles, and DRAG ALL MIDIS.
  • Licensing: Online activation and offline activation for purchased licenses.
  • UI: Focus mode (SLIDERS), UI scale 100% / 125%, built-in update check, and About overlay.

Release information

Format: VST3 Architecture: 64-bit Platform: Windows 10+ GitHub Release