Skip to content
First-class JACK support for VCV Rack
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc license tweak and graphics Jan 9, 2019
res switch 8-in to use its own graphic Mar 16, 2019
screenshots license tweak and graphics Jan 9, 2019
src
.gitignore exporting audio to jack, but the sample rates are bad Jan 1, 2019
ChangeLog
LICENSE-3270-font.txt readme updates, and made text fields prettier Feb 3, 2019
LICENSE.txt license tweak and graphics Jan 9, 2019
Makefile release as 0.6.7 to get performance fixes out the door Apr 2, 2019
README.org update the manual Mar 16, 2019
meson.build perform all jack calls via dynamically loaded shims Jan 11, 2019

README.org

https://www.ko-fi.com/img/donate_sm.png

Skylights and SkJack modules are free but developing, debugging, and keeping up with Rack updates is not. 3$ is an hour that can be spent with Rack instead of doing menial typing labor on job markets.

This plugin aims to bring first class support for the JACK Audio Connection Kit to VCV Rack.

Modules

JACK Audio

doc/module-fs8.png

  • There are four input and four output ports.
  • Output ports are marked with an off-color accent.
  • Each port may be named.

Four ports is not enough for me!

You have some options:

  1. Just add another JACK Audio. Seriously.
  2. Add one of the special 8 inbound or outbound modules.

JACK modules are designed to cooperate with one another. They will feed audio to JACK or to Rack and only one of them will block Rack while waiting for audio to be processed. You can consult the power meter for proof.

8 RACK->JACK

This is the same as a JACK Audio excepting all ports output to JACK.

8 JACK->RACK

This is the same as a JACK Audio excepting all ports output to Rack.

JACK Quirks

Port names

0.6.7

Port names have -in or -out suffixes added in the background. This matches how applications usually work in the JACK ecosystem. It also makes it possible to run Rack effects where both input and output channels are named “reverb.”

Input ports must have unique names across all inputs in a Rack instance. All output ports must have unique names across all outputs in a Rack instance.

This is a compatibility breaking change.

0.6.6

All port names had to be unique across an entire Rack instance. Names appeared exactly in JACK as they appeared in Rack.

Latency information

We do not currently calculate and report processing delay between a signal entering Rack and exiting it. This means none of the delay compensation logic works and you may end up with desyncs if running more than one Rack instance or certain DAWs.

The issue is known and some attempt to fix this issue is scheduled.

Compatibility

Patched Rack’s with JACK in RtAudio

Some users are running versions of Rack which contain patched RtAudio libraries. These patches allow you to use JACK with the native Audio modules.

Experience has shown that while this works enough to get audio to and from Rack, it does not integrate well with the JACK ecosystem. I do not support these special builds.

Audio and rcm’s Audio 16

ALSA, JACK and Pulse Audio tend to compete for exclusive access to the sound card. Having an Audio module from Core, or an Audio 16 from rcm will result in issues.

These issues have mostly been reported as:

  1. A crash when exiting Rack,
  2. Rack crashing when trying to delete the Audio or Audio 16.

Some workarounds are known:

  1. Delete the offending models from patches,
  2. Leave them be (leave the Audio modules blank so they read “ALSA” but do not show a device such as default-8.

Systems without a JACK server

Special support has been added to address:

  1. Running on machines with JACK, but the server is turned off.
  2. Running on machines where no JACK server is even installed.

In both cases the modules will simply do nothing. You may still name ports and hook them up, and those will work if loaded in to a Rack instance with a functioning JACK server.

Licenses and Credits

Graphics

The module graphics template was designed by github user @infamedavid (David Rodriguez), and are available via CC-BY.

3270 Font

The 3270 terminal font is used under the BSD-3 license.

SkJACK

This plugin is made available under BSD-3.

JACK

A copy of the JACK client headers are included under src/jack, which are made available to us under the LGPL license.

We have included them because it primarily simplifies compiling the plugin on Windows (MinGW2) targets.

You can’t perform that action at this time.