Cable Colour Key announcement

This module just made it into my Startup Template.


Glad to hear it :slight_smile:

Yes! You did it! Thank you so much @nickfeisst :smiley: The one handed mode seems to be working great on my end, and I’m definitely interested to check out the other features you added. This is also going to wind up in my template patch now.

1 Like

Wow, that was fast. The replace cable colour function is even more satisfying than I anticipated, and it works great as a menu option. Thanks! Also the hover and key mappings always on options are welcome additions.

The module really makes cable colour management simple. The workflow instantly has become totally natural and intuitive.

One suggestion for a relatively minor improvement. Currently if you have the hover option enabled, it supersedes any cable that you may have selected. It would be nice if when you have a cable selected that only that cable changes colour, even if you are hovering over the port and the hover option is enabled. The hover option would only have an effect if you do not have a cable selected.


I have to admit, that I was a little sceptical of the replacement function when I started coding it, but I’m very happy with how it ended up. :slight_smile: Thanks for the suggestion.

Yes, good point - I missed that. It should be a simple fix (from what I can see, a single “else” in the code should fix this), and I’ll get that in the next update.


I have to say this best cable color thing in the game. when i mess up a cable color its so easy and simple to correct it.

Has anyone tried to use this in the VST version of Rack2 in Bitwig Studio or Live? Its greyed out if the is multiple instances of Rack2 but only 1 instance of the module in the Rack.

I know i can work around it… but maybe this could be fixed in the module? or maybe its an issue with Rack?

It looks like there is an issue with the way I’m handling multiple instances of the module. I’ll see if there is an easy(-ish) way to improve this.

1 Like

Both of these are fixed in version 2.0.2, which is available now.

I’ve also added drag and drop rearrangement of the cables, faster key mapping (left-click a cable on Cable Colour Key’s module panel, and then push the new key to map), and much more.


Hi Nick,

would you be interested to expand the Cable Color Key module with this feature?

imho it would be a great addition.

1 Like

I’m not sure. Just looking into this quickly, the simplest way to do this (by altering the opacity values of the cables) isn’t really a great solution for a few reasons. Opacity values of zero don’t appear to be saved and restored correctly from the file, and setting the opacity to zero also hides the port (so the connection becomes completely invisible).

Thanks for your answer Nick,
imho the “invisible cables” opacity doesn’t need to be zero,
maybe a value of 3 or 5 would be enough to have the desired effect.

You could try something like this yourself already with a Cable Colour Key preset.

For example, you could edit a preset to have the following colour data and then load this into Cable Colour Key:

    "cableColors": [

The 7f at the end of the colour code sets the opacity to half for each of the colours (it seems to be able to handle the RGBA colour format).

You could also create a preset that contains both your regular colours and then the same colours repeated with lower opacity. Doing this would allow you to use the cable replacement function of Cable Colour Key to quickly replace all cables of a certain colour with their transparent counterpart.


Not sure if you consider this a bug or a non-implemented feature, but the module does not save which colour is selected in a patch.

So if I have the module in a patch and have a colour that is not the first selected, when I close and reopen Rack, the first colour is selected.

Not a big deal, but I find myself irritated by that occasionally when I reopen a patch.

That’s not really something that I had even really thought about, to be honest. I’ve made a note to have a look into it at some point.

Here’s a beta version of Cable Colour Key 2.0.3 that is built for the new VCV Rack Mac ARM64 beta:


Thanks nick!! I appreciate this plugin and workflow so much. Your attention to user workflow, details and requests from users is really next level. Clocked and CableColorKey, midi in and audio out is my starting template.

1 Like

Thanks. :slight_smile: It’s nice to see so many people using it.

this is in my default template, just so immensely useful :+1::+1: it’s modules like these which help you streamline your workflow from rough ideas to end-result, so you end up with something unique instead of something mediocre. unique ideas vanish if you have to focus on something bland like cabling for too much time. one big reason people like analog gear over digital gear is cause of its immediacy. you turn a knob, you hear the result, not even latency in between, no menus, no distractions. anyone here mind hinting me about other modules they can’t get going without, in terms of efficiency or non-obvious usefulness?


Hi Nick, please don’t take this as a criticism, in fact I use the module a lot and would really love it to remember the last selected colour as this would make it even better than it already is, which is totally excellent.

But… if there is any chance that not knowing how to do this is holding you back, this is the type of code that I use to save selections in my modules:

// assuming you have a module variable something like:
int selectedColour{0};

json_t *dataToJson() override
  json_t *rootJ = json_object();

  json_object_set_new(rootJ, "selectedColour", json_integer(selectedColour));

  return rootJ;

void dataFromJson(json_t *rootJ) override
  json_t *selectedColourJ = json_object_get(rootJ, "selectedColour");

  if (selectedColourJ)
    selectedColour = json_integer_value(selectedColourJ);
1 Like

Hi Dan. It’s not a case of not knowing how save/load variables (Cable Colour Key already does this for a number of settings), but more a case of how it will fit with the rest of the options and behaviour of the module. I’ve still not had time to look into this in any depth, and probably won’t have a chance until after the new year, though I do some idea of how it might be implemented. :slight_smile:

1 Like