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
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
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
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