Daisy Patch for VCV Rack

Hi all, figured this might be useful to some of you. I’ve started working on a Daisy Patch clone in VCV Rack so that I can test my code in a Eurorack environment without having to reach across the room to flash my device. The aspiration is that you should be able to simply copy your AudioCallback function over and it should “just work”. So far I have the 4 cv inputs and 4 audio in/out working.


Welcome to Daisy.

Are you porting daisySP also?

My understanding is that daisySP is already cross-platform so it should work right out the box. I can include it as a submodule to make it easier to include though.


Looks interesting.
You should also check out Eurorack-blocks: an open-source project to design your very own Eurorack module - it includes functionality that creates a VCV rack plugin from your dsp code - I’ve successfully used the faust integration.

EDIT: Okay, I just realized yours is for the Patch, whereas Eurorack blocks targets the patch-sm, but maybe there is some overlap and it wouldn’t be too hard to add a definition for the Patch to this project. Maybe @raf would know more.


Of course, correct. I must have been suffering a coffee deficiency.

Eurorack-blocks is an awesome project, but my understanding is that it mostly abstracts the Daisy platform (libDaisy) with its own thing in order to support a wide range of configuration. This is mostly for people who already have a Patch at home and are using libDaisy directly in their project.

Actually, Eurorack-blocks has its own abstraction of what is a CV, button, etc. And then we have concrete implementations for the firmware (using libDaisy, but could be something else), or the simulator (running in VCV Rack).

We have for example boards to run the patch.Init or the Daisy Field inside VCV Rack.

For a long time, we didn’t have the Encoder or Display abstraction in Eurorack-blocks so that didn’t really made a lot of sense to do the Daisy Patch.

But the main problem is that the CV and pots in Daisy Patch are tied into the hardware as far as I remember (they add each other and map to a single ADC), and Eurorack-blocks doesn’t have an abstraction for that.