pachde Development Blog

Starting a blog for stuff I’m doing related to VCV Rack.

  • Just released: pachde One v2.1

  • Rack projects:

    • pachde One This plugin contains Null, a flexible blanking panel. Info simple patch notes, Copper a modulatable color picker, and Imagine a unique and eccentric source of voltage, gates, and triggers using an image.

    • Generic Blank This is a great place to get started making a VCV Rack plugin. It’s a good alternative to the VCV Rack tutorial. While it’s a generic blanking plate out of the box, the code is well-commented with what you need to do to build out a functional module. recently updated for Rack 2.4 “Use dark panels”.

    • svg_theme For plugin developers: Lean in-memory SVG theming for VCV Rack plugins, using a json configuration. This allows you to maintain a single SVG for your rack, and theme it as needed. Includes a simple demo module to show you how it works.

      I haven’t updated svg_theme for the Rack “Use dark panels” option yet. Not even sure if I really need to do anything special, since applying a theme is up to your module. Let me know if you’re using svg_theme and interested in having this feature added.

pachde HC One

I have a new plugin under development. It’s a highly specialized plugin for controlling Haken Audio Eagan-Matrix-based devices, including the Continuum, ContinuuMini, the Eagan Matrix Module for Eurorack, and the Osmose from Expressive E. This module brings performance-focused control of the Continuum and other EM devices, integrated with VCV Rack.

The first module HC-1 covers preset selection, managing preset favorites, and Knobs with CV Macros and Recirculator parameters. This is shaping up nicely, and I’m enjoying playing the Continuum while I have CV modulating macro and recirculator parameters. Some of the presets are awesome just running freely on a sustained note with modulated parameters. The feel can be remarkably different from simply playing the same preset on the fingerboard.

Here’s a teaser screen snip of where it is right now, with 4 Fundamental LFO coming through 8vert for modulating macros. My pachde One Null modules are used for the ice-blue overlay of the Rack. System presets that have been favorite’d are shown in the list with the pink heart.

The little light buttons put the CV into relative mode, so the CV value is an offset to the Knob position. The green bars in the lower right show the current DSP usage reported by the Continuum.



I just opened the request to update pachde-One to version 2.2.0 in the library. pachde1/CHANGELOG

New Copper-mini module, added minimum gate/trigger time knob and CV to Imagine, plus some little tweaks and minor bug fixes.

With Copper-Mini, I discovered that you can have a different UI (ModuleWidget) with the same underlying Module. This really makes it much easier to do variants of a module with more or fewer controls and different sizes or looks beyond theming or skinning.


I think I have the basic MVP for HC-1 nearly ready to send out. Writing the docs now. It’s tempting to add one more feature, but the UI is full, and it’s better to get feedback on what users really want.

I’ve been enjoying playing Continuum with modulated macros and audio through VCV (Plateau), and the knobs of the HC1 controlled by a physical NanoKontrol2 via Stoermelder MIDI-CAT. Setting up MIDI_CAT is soooo much easier than making a custom config for the NanoKontrol. This also works better than routing the NanoKontrol directly to the Continuum because it causes less MIDI traffic as the control value bounces to HC-1 and back, modulated. By controlling the knob in Rack via MIDI-Cat, the modulation and knob value are summed and updated on the Continuum without intervening MIDI traffic. I get a kick out of twisting the knob or pushing a slider on the Nano and seeing the knob in Rack move.

I have a visual on the knobs when running in CV-relative mode so that both the knob position and the resulting modulated value are both visible. Basically a LED ring on the knob.

I have seen deadlocks in Rack, it seems when there are very high levels of MIDI traffic. I don’t see my module anywhere in the call stack when this happens, so I suspect it isn’t my bug. When I hit one of these deadlocks, I can’t kill Rack using Task Manager or the taskkill command until I disconnect all my MIDI devices.

The deadlocks seem to be related to the -d console logging. If I’m debugging Rack in VSCode I have nasty glitches in the audio output each time Rack logs the settings/autosave, which suggests that it’s locking while doing that output. Doesn’t seem to happen when running without -d. Same glitches happen under -d not under VSCode, only less severe (because it’s quicker).

When it deadlocks, RTMIDI is always one of the threads sitting at a lock.

I’ve just opened the issue to submit HC One to the VCV Rack library.

If you want to get it right away, you can download it from Github: Release v2.0.0 · Paul-Dempsey/pachde-hc-one (

When it appears in the library, I recommend subscribing to the plugin (not individual modules). Then you’ll automatically get updates. Nightly builds will keep running if you want/need to stay at the bleeding edge.

If you’ve previously downloaded a beta, you may need to delete the local pachde-hc-one plugin folder before you subscribe.

I didn’t get as far as I would have liked, in building out functionality to cover more of the engine features, but what I have managed to do is tremendously useful.

I spent a huge amount of time working on just the startup and handshaking with the device, instead of building EM feature coverage. It turns out that a lot of the problem is in the device firmware. Luckily, an upcoming update to the firmware will large resolve these issues. The bad news is that the next firmware release will break this plugin, and I’ll need to make a new release of HC One to catch up with the changes. Such is the nature of writing for someone else’s hardware.