"Prefer dark panels" proposal

:+1: I couldn’t agree more…

Dark rails in Dark for me. Great photo to illustrate the idea.

Not sure how they do it, but many videos of VCV rack show the modules basically floating, without case or rails, so it’s clearly a look that many people want to see.

Personally, I run a slightly hacked Rack to remove the back plane details to reduce the amount of non-functional visual noise. I like a clean visual, but I appreciate people want as much of hardware-ness as they can get.

For them we may want to add dangling connecter wires, stray solder drops, dust, and scratches that increase under an “age” slider. (half joking).

2 Likes

Great idea :slight_smile:

i definitely prefer the nut strips to be very dark, and the power rails to be invisible (because it’s just a visual distraction without any function in vcv). i’d also want the background panel to be of a user definable color, so it can easily be removed by color key (in e.g. obs studio).

4 Likes

Shameless plug, you can both hide all the background and remove/replace anything in OBS using my VCV Library - DanT Chromakey module, this is exactly why I created it:

As a user I wouldn’t mind the ability to select a custom SVG as the rack background, I think that would cover all scenarios, Rack could even provide two defaults, one light and one dark, that will cover standard users, and power users can create or source their own custom background.


This is not a criticism at all, I love that Rack is being enhanced and getting new features, polishing the UI will make it seem more pro and should attract a larger user base. However, the background graphic is not high up on my feature wishlist for Rack, especially since there are already solutions for these issues. I would much prefer to hear about any other non UI proposals for Rack, thats what I would get excited for, both as a user and a developer

3 Likes

How I made a black background without rails:

1 Like

it’s neat, but it’s a module that one needs to adjust the size of to cover the background.

there are pros and cons to most solutions :man_shrugging: just trying to be helpful, my module will still be available to use for greenscreen effects with or without any features that Rack gets to modify the background

1 Like

a better solution, tho black may not give the desired effect when using chromakey.

I’m fairly sure i proposed that idea years ago. It would be nice to finally get it.

2 Likes

Chromakey-friendly would be like this:?

Easy enough to do, although it would be nice to have the feature so you don’t have to “hack” rack like the following, which some people won’t be comfortable doing.

  1. Close Rack, if running.

  2. Rename /res/ComponentLibrary/Rail.svg as Rail-save.svg (or something) so you can get back to the default

  3. Create a new Rail.svg containing this:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <svg version="1.0" x="0px" y="0px" width="304px" height="380px" viewBox="0 0 304 380"
        xmlns="http://www.w3.org/2000/svg"
        xmlns:svg="http://www.w3.org/2000/svg">
        <rect style="fill:#00ff00;stroke:none;stroke-width:0" x="0" y="0" width="304" height="380" />
    </svg>
    
  4. Run rack for green-screening in your video capture setup.

  5. When done, rename Rail.svg as Rail-GreenScreen.svg for the next time, and rename Rail-save.svg back to Rail.svg.

You can also achieve the same thing by copying and pasting the files from a comfortable location, or writing a script to do the same. Best to save your Green-Screen svg somewhere so that you don’t lose it when updating rack (I haven’t checked that this is actually necessary, but best to back up your work anyway.)

1 Like

I mean, that seems like it would work just fine, but surely it is far quicker and easier to just add a few Chromakey modules to the patch instead?

Unfortunately I don’t have much spare time to work on my plugin at the moment, BUT, I am wondering if I could build some sort of feature for the Chromagica module that could automatically insert a bunch of Chromakey modules to “surround” a patch…

Great idea – my upcoming Null blank module is one minor feature away from being perfect for this use case. it already has removable screws. I just need to add another menu option to remove the title and logo, so that it can be made 100% blank. I can add a preset for Chromakey usage, so it’s a single gesture to use it for this case.

What’s the perfect color for Chromakey? Or what small number of choices are best? Just let me know and I’ll include presets for the required colors.

[ed.] Tracking issue: Null: Add option to remove all chrome for completely blank panel for Chromakey usage. · Issue #9 · Paul-Dempsey/pachde1 (github.com)

Modules can expand beyond their bounds (the Computerscare blank picture module is able to do this), so another implementation approach is to size to the entire window, then leave un-drawn holes for each module in the patch. Then you only need one module to accomplish the scenario.

1 Like

It really depends on what else is in the frame. You want a colour that is either not already present, or one that is used the least, because you are going to remove that colour, how closely you match that colour determines how much of the image you remove.

With most “real world” footage, you won’t often find “pure” colours so these tend to be the best options: Red, Green, Blue, Cyan, Yellow, Magenta

But you can really use any colour you want for Chromakey, I have included the basic colours as presets for convenience, but my Chromakey module just allows anything and everything, you can set it to any colour, you can have it full brightness, or use the room brightness, you can lock in a colour, or you can control the colour dynamically via the Chromagica module.

3 Likes

I suppose that could work, but it would have to dynamically change either the panel bounds, or where it cuts out the holes (or maybe both, haven’t thought about it enough) according to the camera.

Doing that as a user scrolls around a large patch, and zooms in and out sounds like a bit of a nightmare tbh.

I was thinking more along the lines of looking up the modules positions in the patch.json and simply adding new ones either side, on top and bottom of the ones with the highest and lowest coordinates

I have parallel features in my upcoming pachde-One plugin. Null for blanking (just needs an option to completely strip the branding). It is already has the light option, and colors from hex, palette (my colors menu has the primaries, a gray ramp, and all svg named colors), or extender (the modulate-able Copper color-picker module).

It would be nice to figure out a common extender color-interchange protocol so we can interoperate. it could be as simple as dynamic_cast a rack::engine::Module::Expander to:

struct IProvideColor {
     NVGcolor color();
};

I don’t know if this works with independent definitions of this struct, or if a shared header needs to be published. I haven’t coded that experiment yet.

One of our members extensively uses something along these lines in their stunning videos. I wonder what their thoughts (and techniques) are.

This has gone off on a slight (but very interesting) tangent to @Vortico’s original question, which chiefly concerned what the default should be.

[I indicated silver, because of the phrasing of the question which referred to physical cases, but really I don’t care much at all if a change will make things easier for what other people are keen to do visually.]

i personally chose a dark brown, as it is an uncommon color while also not being blinding as e.g. pure green. most dark modules use some shade of grey, or mix in blue.

for any module based solution to work well, it also needs to fill in any gaps between (groups of) modules automatically, otherwise it won’t be seamless and a lot more of a bother.

but really, a user-definable solid background color would be the best option.

1 Like

Thanks for all the feedback on the colors – I decided on three basic familiar ones for presets: green-screen, blue-screen, and magenta-screen, if you want something else, you can type in the hex code, or use the Copper extension module for a visual color picker.

The chromeless version will be an update after the plugin is released, which is already in the queue waiting to appear in the library. It doesn’t look like the library got updated this week, so hoping for next week.

1 Like