Cable Colour Key module

I’m not sure whether or not this is possible, but I could have a look to see if opacity can be set, and remain set, for the cable colours.

Awesome ! It would be really nice to be able to work only on an area with visible cables while the rest of the cable mess is hidden. If it’s possible of course.

There is an existing module that can get you part of the way there - Submarine WM-101

It is what I used to use to manage my cable colors before Cable Colour Key. But it still has a very useful feature - it offers an extra dynamic layer of transparency in addition to what is provided natively by VCV Rack.

I uncheck all the colors so that it does not restrict what color cables you can use. Then in the settings menu I set the Highlight option to “Always”, and the the opacity to 50%. I also set VCV cable opacity to 50%. The net result is all the cables are at 25% opaque. Now comes the cool part.

When you hover over a module, all the cables patched to that module are automatically shown at 50%. And when you hover over an input or output port, then all cables patched to that port are shown at 100%. I find this feature invaluable when I am trying to trace a patch.

My stock setup now is to use WM-101 to manage the dynamic cable opacity, and Cable Colour Key to manage the colors.

Your idea to change the opacity based on color is very interesting. I think I would use that if it was available. I suspect storing the opacity info with individual cables will be difficult, if not impossible. But it could be implemented similar to how WM-101 works. Store the color transparency mappings within the module, and let it control the appearance.

I was thinking of asking Nick if he could implement dynamic transparency similar to the Submarine module, so I would only need one module. But I didn’t like the idea of “stealing Submarine’s thunder”. But somehow it seems less rude if the dynamic transparency feature isn’t just copied, but also enhanced with your idea of changing transparency by color.

4 Likes

Yes I know this module but it enhances a functionality that already exists in vcv. But yes I agree it is very useful to trace a signal. Or I missed something.

But it’s not the same as having areas with visible cables and areas without. Basically what I would like is a Hide function. In my opinion it should be implemented in vcv as standard. But of course this would not respect the philosophy of simulating a real modular synth haha .

Let’s hope it’s possible

IIRC Andrew has said something about this before when it was brought up somewhere on the forum.

The problem, or rather the lack of funtionality as it were, is that cables don’t have a hidden attribute so it would take adding that to the Rack API in terms of the internal cable mechanics. This would take an obvious somewhat minor-ish update to Rack, which may not be on the drawing board so to speak.

If I’ve somehow misrepresented this, anyone please feel free to chime in and correct the above.

2 Likes

It’s correct. The following attributes are saved per cable in the patch:

  • ID (unique cable number)
  • Output (origin) - module and port of module
  • Input (destination) - module and port of module
  • Color

Unfortunately, the opacity of individual cables isn’t saved in the structure…

  "cables": [
    {
      "id": 1183,
      "outputModuleId": 2748,
      "outputId": 1,
      "inputModuleId": 1362,
      "inputId": 3,
      "color": "#d50bd5"
    },

…instead it’s saved globally in settings.json

  "cableOpacity": 0.50000131130218506,

I think the structure would have to be extended in the VCV Rack code and also evaluated by the Rack Engine. Finally, a way would have to be created to select cables individually or as a group in order to be able to edit cables in terms of opacity. Alternatively, the latter could be realized with an addon module such as CCK.

3 Likes

Even though the cables are seen as an esthetic thing I really hope their function will be expanded at some point. Maybe cables that glow depending on their current voltage combine with transparency would be pretty awesome.

2 Likes

The extension of cable properties is of course an interesting topic. Both static settings (e.g. opacity) and dynamic control (e.g. color depending on the transmitted signal) of properties are basically feasible. However, it should be noted that these extensions would entail considerable programming effort as well as an additional load on the CPU. I therefore think that it won’t be implemented in the next future.

2 Likes

This is a lovely module. The only thing I’m missing is the ability to label the colours. That way it becomes a bit of living documentation too. Maybe a wider variant with room for some text beside each cable would be a possibility.

2 Likes

I can only imagine Nick is done adding to his free module. I think its good to find work arounds to the problems.

Just a quick test I did with the graphic you posted.

(i guess this doesn’t make it portable as the image reference points to something on your local disk.) so while its not a complete solution… its a good workaround.

depending on your 420 situation, you only have 4 colors to remember and should commit to memory pretty fast. :slight_smile:

2 Likes

Thinking about something… Instead about thinking about color, why not thinking about functional aspect of the cables !? I want a câble about Gate, Clock, V, etc. So I took the one I need. And it has a color… So, collection of type of cables, and they have a color!

Or to make it simple, adding a label on colors when I pick them…

May be that already exists in your module… Anyway I’ll try it!

Alain

@kirkwoodwest Just a suggestion: Probably you’d remember the cable functions more easily if you’d assign the letters A, P, M, G (for audio, pitch, modulation, gate) instead of the digits 1-4. CCK can do that.

2 Likes
  1. is a nice workaround. Didn’t know about that module. Thanks.
1 Like

As already mentioned, VCV Rack doesn’t contain a property of ports or cables which describes something like their “function” (in the sense of audio, gate, modulation etc.). Officially, functions are not even defined in VCV Rack, it’s all just voltages. Modules are therefore unable to determine a function, because it doesn’t exist actually. Any assignment of a function to a cable is thus arbitrarily done by the user.

Perhaps one day a “function” property will be defined and the structure of ports will be expanded accordingly, so that a code-based determination is possible.

5 Likes

This works for me

vcv

5 Likes

Thank you for this explanation!

1 Like

Is fantastic!, thanks a lot !!!

1 Like

Excellent module! Is it possible to add a label on each coulor? Alain, Fr

There isn’t really space on the module to add cable labels. The keyboard shortcut key can currently be displayed, however (I can’t recall whether or not this is on be default).