VST3: Scheduling Midi Events

Overview Scheduling midi events is not as straightforward as one might think. We have to work with samples and sample rates rather than strictly with time (e.g., in 3 seconds do this, then stop in 2 seconds). There's some confusing nomenclature and there are some midi gotchas…

VST3: Controller ↔ Processor Communication Strategies

This post is intentionally long because it focuses on design constraints, not just APIs. These are the kinds of constraints that routinely trip up even experienced C++ developers. VST3 development has more in common with embedded C/C++ than typical desktop software: tight timing budgets, strict threading rules, and zero…

nyx.vfx: plugin

Overview nyx.vfx is a real-time 2D VFX engine that creates particle systems for midi events. It's a work-in-progress, but that shouldn't take away from making cool designs and exporting them for use in post-processing and video-editing tools. Tweaker's Dream The nyx.vfx plugin…

nyx.vfx: Expiration Scheduler

Terminology In this post, a "Mesh" refers to a single renderable line segment (internally treated as an edge). Higher-level meshes are just emergent behavior from many lines. A look ahead Let's start off with where we're going first. Here's a gif demonstrating…

VST3: Controller

The Controller is where we manage all things related to the user-side experience. Let's take an in-depth look at the architecture and sequence of events.…