NullPath

Hello! We’re looking for testers for our free plugin: NullPath.

NullPath is a collaboration between @Patheros and @alefnull, themed around semi-randomness. There are currently four modules: Expand, Collapse, Cascade, and Turbulence.

You can download the latest builds or read the manual.


Expand & Collapse are a pair of not-so-sequential switches with four modes based on the “weight” parameter of each step. These modules also have unique “Fade while switching” option in the right click menu, with a slider allowing you to control the length of the fade.

expand-collapse


Cascade is a four-channel envelope/function generator with a bonus “Cascade” channel. The cascade channel pulls from all four of the surrounding envelopes using three different modes.

cascade


Turbulence is a three-wave “supersaw” oscillator/voice with a build in noise section and envelope generator. Route the envelope to control the depth and texture of the noise and the width control of the middle saw wave

turbulence

21 Likes

Very nice pack. Congrats!

My favorite design element:

image

A quick question: what’s this?

1 Like

OK first quick test with the Mac version: Collapse is rather very cool, can see already several possible uses for it. The Turbulence does sound rather good, and so far no issues found.

We are truly lucky a bunch with all these amazing modules.

2 Likes

these are looking very nice
and the manuals promise some very usable additions to the VCV modules :+1:

I’ll test them asap,

1 Like

they should have hover text, but those are the CV inputs for the weights params.

EDIT: i realize now that the step params and CV input ports don’t actually say anything about “weights” so i’m working on fixing that already.

1 Like

I just wasn’t sure if the CV overwrites the knob value or multiplies it or adds to it. But I think I see now: -5V to 5V is expected in the CV socket that is added to knob value.

weights[i] = inputs[STEP_CV_1_INPUT + i].getVoltage() / 5.f;
weights[i] = clamp(weights[i] + params[STEP_1_PARAM].getValue(), 0.f, 1.f);
1 Like

I tried them and couldn’t find a bug :+1:
the oscillator sound a bit rough imho,
the noise sound is not really usable for a “supersaw” imho.

I thought it was odd that NullPath, and FLAG both put out “super saws” with build in noise generators. I would have thought keeping the noise stuff separate would be a little more “modular”. Is there some classic Roland supersaw sound with noise mod?

1 Like

i didn’t even know about FLAG’s module when i was building Turbulence. i mainly built it to find out if i COULD build it. i included the noise section because i thought it was fun to mix the noise in. basically, the module was an experiment and i liked the way it came out. if others don’t find it usable, that’s perfectly fair, but i’m just proud i was able to build it in the first place, so i’m happy with it.

7 Likes

They seem very stable, I built them with address sanitizer enabled and played around with them for a while, randomized things a lot, and no crashes or obviously wrong behavior.

1 Like

Hmm, I tried installing the latest Linux build, but it doesn’t show up in the module browser.

that’s strange… are you able to see if it shows up in log.txt at all?

Right, you built the module with the “wrong” glibc:

[0.137 info src/plugin.cpp:128 loadPlugin] Loading plugin from /home/dreamer/.Rack2/plugins/nullpath
[0.137 warn src/plugin.cpp:194 loadPlugin] Could not load plugin /home/dreamer/.Rack2/plugins/nullpath: Failed to load library /home/dreamer/.Rack2/plugins/nullpath/plugin.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/dreamer/.Rack2/plugins/nullpath/plugin.so)

Should use the same as VCV Rack uses.

huh. this is a first for me. i didn’t build this any different than any other plugin I’ve built so i don’t know how that happened. will have to look into it when i get home.

you really can be proud of it and you deserve a big thank you for your efforts,
if some people (like me) don’t like some parts (like the noise) of the module,
that doesn’t mean it isn’t any good or it isn’t usable,
it is just not my personal taste how it sounds but that’s nothing important.

2 Likes

i’m at a loss on this one. like i said, i didn’t do anything different than i normally do when building plugins. no idea how i’m “using the wrong glibc” if i don’t even know how i’m using glibc to begin with.

I guess you’ve only released your plugins as your own builds/releases and not in the vcv library? The glibc version is usually determined by your operating system.

GitHub - VCVRack/rack-plugin-toolchain uses ubuntu 20.04 (which imo is a fairly decent baseline if you want your binaries to run on as many current systems as possible).

I can try building your plugin myself of course, but would be good if the one you distribute uses the same baseline :slight_smile:

oh, no i’ve released my personal plugin in the library. so if i’m understanding this right, i would have to guess this has more to do with the build action i’m using on GitHub than with anything i specifically did wrong? i’ll have to look into that, then. @Patheros added it to the repo, so he may know more about what’s wrong than i do.

EDIT: i’m looking at our build-plugin.yml file and we’re using ubuntu 22.04 as the linux OS for builds. maybe i should just revert that down to 20.04?

1 Like

That could do it yeah :slight_smile:

1 Like

i just ran a new build. if you get a chance, would you let me know if it works for you?

1 Like