JACK as a Plugin

(Daniele Zerbini) #44

I checked out the new commit and yes, man, the shim snippet let us gracely bypass the libdl dependency to use Windows native API.

To compile, I only had to edit it like this:

#ifndef ARCH_WIN
#include <dlfcn.h>
#include <windows.h>
#define dlopen(x, y) LoadLibraryA(x)
#define dlsym(x, y) GetProcAddress((HMODULE)x, y)
#define dlclose(x) FreeLibrary((HMODULE)x)

Also, I had to copy the jack headers from the skjack-vcv repo (“src/jack” folder) into my MinGW include folder (the jack inner includes are specified as system headers).

I already verified that on my DAW my first build test failed and the plugin could not load, missing a compliant link with libdl (the one living and linked in my development machine). So I was considering to try with static linking. But now it looks like the conditional defines just do the trick with no extra effort!

Here a screen with the internals dependency calls after the plugin loads:

I’d say that the plugin could now be really tested by some Windows+Jack adopters!
Here the new Windows build, that should work on common Windows systems with a Jack working instance installed and running.

(David Rodriguez) #45

@Soothsayer https://github.com/Skrylar/skjack-vcv/issues/2#issuecomment-457843658

(Skrylar) #46

Putting -Isrc in FLAGS of the Makefile gets around this.

(Skrylar) #47


Pre-release has finally gotten the beauty pass that I promised @David :wink:

(David Rodriguez) #48

look so great!

(Skrylar) #49

SkJACK is now headed in the direction of the Plugin Manager. :tada:

(David Rodriguez) #50

added to my rack via pluging manager :star_struck:

(Skrylar) #51


The 8-OUT is now in pre-release. Now your 8-channel mixers have an easier time making it to Ardour :wink:

(Skrylar) #52

-in and -out suffixes are now in prerelease. This means you can name both your input and output valley reverb and your JACK patch bay will have a valley reverb-in and valley reverb-out, just like Ardour or non mixer would do.

(David Rodriguez) #53

Could be possible add a mute button to each of the channels?


(Skrylar) #54

It could, but isn’t this what your mixer is for?

(David Rodriguez) #55

let me expand a little more about my workflow, usually I only mix the drumkits inside the VCV rack, I use renoise (or another DAW) as sequencer, clock and mixer, in the pipeline I could use some external effects like CALF or some vsts through Carla but most frequently the native effects of renoise (compresors, eq, or whatever) even when I own the Vst host of vcv rack because I feel the performance of the vst is better through other ways

however it workflow use multiples desktops (usually one DAW or software per desktop ) and is a little tricky go to other desk to mute channels or get “Solo” for and come back to the vcv rack, and go to the DAW and so and so…

BTW I think a Jack mixer to vcv rack is the next logical step , we (the jack users) happily pay for that.

(Skrylar) #56

This is what comes to mind when talking about mute switches:


(Mutes from Fundamental wired in to the interface, and an outdated Jack output.)

I’m not sure what JACK has to do with this. It sounds like what you want is a mixing console with two-way sync (probably via OSC+UDP or MIDI CCs) between desktops.

(David Rodriguez) #58

a mixer like “VCV Console” except, the send channels can be connected with external apps via jack or perhaps a hybrid between NON mixer and VCV Console is coming to my mind, about the osc or midi, the midi learn is coming in the next version…

I complete forget Mutes, that is exactly what I mean, thanks!

(Skrylar) #59

I’ll put it on the “someday” list, although in the interim you can wire an mscHack mixer’s aux lines:


(Artem Leonov) #60

Thank you, you made an amazing module! My problem is I always get a latency with JACK on windows while working between Ableton and VCV Rack. Even in 32sample buffer. I think that’s something in clock relationship form Ableton to VCV. I use .wav file to clocked CLKd module at the high rate from ableton. This is sad because when I’m using Bridge - everything staying in clock pretty well. Maybe I don’t understand JACK working process in Windows or use some wrong settings. This is sad again because I love the perfomance of your module!

(Monkey) #61

I m not sure if it could be useful but take a look of the jack setup of this guide
You backend in Windows must be asio inseat of alsa , I used renoise and vcv rack via jack long time ago and it work pretty nice.
Why not use Linux?

(Skrylar) #62

Ableton does not run there, nor does much of anything. Loomer, Pianoteq, Renoise, Bitwig and emulation layers excepted.

Current version does not calculate and report latency information to JACK, so none of the automatic delay compensation utilities know what to do.

(Artem Leonov) #63

Thanks for the answer. Any plans or chance for this feature in the future?

(Skrylar) #64

I pushed 0.6.7 of the JACK plugin earlier.

  • Port names have -in and -out bolted on. I did this some time ago but it wasn’t tagged.
  • The manual should be easier to read now.
  • The 8-OUT is finally done.

Latency detection and transport control are probably the lowest hanging fruit for another version. MIDI support is a bit of a doozey since there are various note properties and CCs to pack/unpack.