StkJack - Linux + Jack Plugin (Rebuild of skjack-vcv)

This is primarily a rebranded port to Rack 2 of Skrylar’s skjack-vcv

JACK as a Plugin

Currently it is downloadable from the releases section of my github GitHub - simotek/stkjack-vcv2: First-class JACK support for VCV Rack

Skrylar was using a different build system to most core VCV Modules and at this point I don’t think i’ll sink the effort into changing that and getting the module into the core VCV Library especially given personally i’m only using and testing it with Linux.

Finally i’ve rebranded the module into my own style and made some usability changes around the positioning of jacks etc.

Finally I look forward to hearing your feedback and any questions / issues / feedback.

9 Likes

I’m using Jack on Windows with VCV. Will there be only a Linux version of the plugin ?

1 Like

Ideally this goes to the store for all VCV platforms of course.

(although jack on macOS tends to break every other macOS release I think …)

At this moment, the github project’s releases has only a linux build.

I suggest opening issues on that github for:

  • “add support for Windows and Mac”, and
  • “release to the VCVRack library”
2 Likes

Unfortunately I don’t own a mac which makes it impossible for me to build or test on mac currently, if someone has a Mac and is interested in building it i’ll help them where I can.

I didn’t even know that Jack on Windows was a thing, I don’t have VCV or any development tools set up in Windows but theoretically I could build a Windows version from Linux, but I don’t know how to do that yet and I probably have a few other projects to get through first as I said its not something I had even considered.

As for publishing to the Store I presume we need all platforms supported, i’m also not sure how VCV’s build system for the store works with external dependencies such as Jack again this is more research i’d have to do and I have some other priority’s first. At the same time if people would like to help sort through these things i’ll help them 100% of the way.

I should also say currently there are two known issues.

  1. I couldn’t get port renaming to work, so instead I remove the port and recreate it, which means that any connections will be lost after a rename. Currently I work around this by naming everything first then connecting it.
  2. Sometimes there is a crash on exit I presume this would go away if I blacklisted VCV’s audio modules but it also doesn’t seem to hurt anything so I haven’t found the time to fix it yet.

or using github actions workflow:

I’ve compiled this on Windows using Mingw64 and the Rack SDK. It loads in Rack fine and exposes connections as expected in the JACK Audio Connection Kit for Windows. Would you like a copy of the binary to put on Github?

That would be great, thankyou

Unfortunately because the previous developer was using meson for building rather then the standard rack plugin build system, so in order to use the github actions i’d have to rewrite the build system which would be significant extra effort at little benefit to me.

Originally I didn’t set out to be a Rack plugin developer I am working on a Visual Art project and hit the limitations of the current rtaudio implementation to the point it made much of my project nonviable due to how unreliable it was.

In my dayjob I’m a Linux Userspace developer, while i’ve used Jack before i’d never developed for it but when I saw the implementation that needed porting I figured i’d spend a few hours of my spare time to see if I could get it working. When i did I figured i’d may as well share it for anyone else who might find it useful. Which meant another afternoon of spare time rebranding.

As an indication of how little spare time I have atm, I actually did most of that work back in August and only then had time get to actually creating a .vcvplugin and testing it then publishing and posting about it in the last few days. If this is popular maybe I can find time at some point to go back and fix the build system but there are other things including working on the project that’s the reason I started work on this and building some DIY Eurorack kits that I need to get to first. At the same time if someone else has the time and knowledge to try and get it working i’ll respect there time and go out of my way to help them.

2 Likes

Here you go. Can you let me know when you’ve got it and I’ll delete the link from here. thanks.

Edit: Binary now on Github.

Your efforts are appreciated! Shows that no good deed goes unpunished:-) It’s the curse of competence – fix one thing everyone wants you to fix everything.

1 Like

Hmm, I don’t think I ever used meson to build skjack. It should be possible to build with just the VCV-SDK I believe.

This is how far I got with it at the time:

And attempt to fix the json stuff:

I have the file and its now uploaded to the releases page on github. Thanks for your help.

1 Like

Thanks, I did look at these and they certainly helped me when I was getting started, from memory the previous attempts got close but there was a couple of cases where things might not exist yet and ended up being NULL and causing a crash. So I found them in gdb and added simple checks.

Having never built with the VCV-SDK I suspect I probably tried running make and when it didn’t work I noticed the meson.build file and got that working and just stuck with it, although now looking at the commit log, I had to fix a couple of issues with it so building with meson probably didn’t work before. So maybe i’ll go back and try the toolchain.

Thanks.

I just follow the default instructions: Building - VCV Rack Manual

Generally I go for options 2) building Rack locally. But for the full cross-compile build I’d try this github action: GitHub - qno/vcv-plugin-github-actions-example: Example repository for building and publishing a VCV Rack plugin with GitHub Actions.

(rather than manually downloading and setting up the MacOS SDK, which is annoying imo)

I added the Github workflow here. Everything seems to build alright: add workflow by dromer · Pull Request #5 · simotek/stkjack-vcv2 · GitHub

If anyone can test those build artifacts that would be swell :wink:

2 Likes

sorry got distracted on other projects, i’ll try and look at this again this week.

Thanks to @dreamer We now have a 2.7.1 Release with packages for Windows, Mac and Linux. Also a big thanks to @Steve_Russell for fixing a patch loading issue.

Appologies to everyone that this didn’t happen a Month ago when the contributed them, life and work somewhat got in the way.

5 Likes