Dark Theme Rack (Legal Fundamental Module Fork possible?)

I’m also very grateful for your awesome work with MixMaster which is just a must have in all my Rack patchwork. Still it wasn’t you that invented design of linear sliders with metallic knobs which are common in mixers. You also derived form others work w/o their consent. What I’m trying to say is that there is blurred line where derivation may be considered stealing. And of course your modules are very distinct and have a lot of details that makes them visually unique. It would be much easier to point derivative of your design just counting similarities in shapes, than the Fundamental geometric.

But all in all it is a blurry territory and we all derives ideas of each other - that is in fact main insight behind CC licenses and movement which I wanted to emphasize.

3 Likes

8 posts were split to a new topic: about Dark mode, and accessibility for blind and visually impared users

the decision was made by the developer and maintainer of the software, who is also the rights holder.

it’s kind of disingenuous to equate it with a false premise.

I’m sure that we could have 1000 discussions on decisions that were made that we decide we want to second guess. they’d be just as helpful as this conversation.

I’ve said my piece, I’m exiting.

It seems to me there are two quite separate topics being discussed here:

  1. Should there be a platform wide dark mode that would involve all 3rd party developers being encouraged to make a dark mode compatible skin

  2. Should the dark theme that Wes has already designed for core and fundamental Rack modules be implemented


  1. seems like a lot of time and effort to implement and has the potential for resistance from 3rd party developers.

  2. seems like it could be quick and easy to implement and does not need to involve 3rd party developers at all

4 Likes

@stoermelder works … test with the widgets api works. At least right now for faceplates. so this would be then … A plugin called faceplaces. or something like thins

1 Like

I moved some of the messages about Accessibilty here : About dark mode, and accessibility for blind and visually impared users

If you would like to continue that talk, please head over there :slight_smile:

As for the original topic, i have a feeling this is a bit going in circles ? If OP still wants to have a word with Wes and Andrew about the issue, they could go to private messages and continue there (it’s possible to talk to multiple people in PM, just message one, and add the other later iirc)

For issue 1: As someone without any background in design, I would actually find it really helpful if there were clear guidelines for what a “dark mode” consists of. I love the diversity of interfaces in VCV but having some very explicit guidelines for certain theme categories such as a dark mode would be really cool. As long as opting in to them is totally optional it seems like a positive thing. Of course it would be a lot of work to make such guidelines.

1 Like

Have a look at https://material.io/design/color/dark-theme.html#properties this will get you all the way down the rabbit hole. the most basic principle. As a plus, the desing language of Rack is very very close to material, so you will end up with a decent design yourself.

Material is based on real world principles, so when having a top down view, the lowest layer is the darkest one (the same principles also apply to a light theme). The more closer you get with your layer towards your nose the brighter it gets.

If you follow this simple principle you will end up with a decent dark mode. If you further apply proper spacing I mostly use 8 16 20 24 px sometimes even less but allways pultiples of 1px: 1, 2,4 6,810, 12, 14, 16. In case of rack just ouse mm. Maybe in this context 0.5 mm also makes sense. But I wouldn’y stress this too much. 1 Rack Unit is 5.08mm so 10 RUs are 50.8 (that’s the size of most of the core modules)

Last but not least: It’s a creative process, so dare to experiment and change values. tweak here, tweak there. It’s not different from sound design. Contrast is dynamic range, spacing is the time domain in music. Give room to breathe, but don’t stay in silence for a long time.

2 Likes

5.08mm = 1HP in Rack

My bad. Of course it.s 5.08mm :smiley:

Btw. for everyone still interested in their private dark themes here is a howto:

  1. identify the different colors within one chosen panel. (there is rarely a collision so that you make huge mistakes … an exception for a rather complex example are the Aria Salvatrice Modules).
  2. open the terminal and cd into the res folder of the plugin.
  3. Do a search replace on the commandline. (for macos I’m using fd and sed) fd is way faster than find. here is an example for the color replacement for the AS modules:
fd -e svg --exec sed -i '' 's/#44423e/#131313/g' {} \;
fd -e svg --exec sed -i '' 's/#3c3835/#131313/g' {} \;
fd -e svg --exec sed -i '' 's/#202020/#0d0d0d/g' {} \;
fd -e svg --exec sed -i '' 's/#fff7d4/#e6e6e6/g' {} \;

Most simple modules should be approachable by this method. Build the plugin and copy it to the rack plugin folder.

Btw. I could provide an automation script that is applying this patches automatically, build the code and copy it. This way you could always just run the script whenever there is a new release and you wound’t have to track changes

3 Likes

Over the last few weeks I’ve been patching code and graphics on the go while using the modules. Sooo… Not having a dark mode is not a choice of (too hard for the module designers). I have been replacing color values (most of the time). From white to black and vice versa. Sometimes replacing also color with a shade of black. @stoermelder has a fairly good implementation of a dark theme widget.

The choice of not supporting it … questionable. If Andrew likes to rethink. I offer community help for designers and also offer to create a patch for VCV. Everything for free. I might have spent 2 or 3 days in sum counting everything together.

Here is what the result can look like:

5 Likes

are you patching the colors of the knobs and such? I know my modules look pretty terrible if you just turn the panels black (and the text white)

Yes I did… and you could always use your own buttons :wink: btw. your modules have been a little bit more color replacement/adding, but not really a hug deal. It’s just a little try and error. In total took me 30 minutes as I had to add most of the fill and stroke attributes. Here is what it looks like. Also need to patch the code in this case for the labels. It’s probably more work to add the proper theming support, than just patching them. But still very doable.

EDIT: So patching the labels in the codebase … in total I’d say I spent 1 hour.

6 Likes

That looks good. I think the VCV module knobs are too dark and look better lighter (I have them white, similar to your Percussive Vibration skin).

I don’t like the harsh contrast. Dark theme is about making a deliberate choice of a low contrast environment with a few colors. The blue buttons for example are still too bright. It’s not about having just a dark design. It’s also about low light. So to be honest I also like the design with the white buttons better. But if using this in low light I really prefere the ambient darker ones over time. The white is just to harsh. And to be honest: Doing the mods is just a matter how much time I spent. Sometimes is just go with the quick route. Sometimes, especially when I start using modules more and more I apply all the tweaks I want to have in order to have a steady low light environment

2 Likes

My Offer stays the same. If anyone is interessted in getting a dark theme into their modules I’m gonna create a pull request. If necessary I also create the buttons. It’s been very clear that we don’t get permission for using the base library for a dark theme. I’d probably use the code of one of the execisting solutions (so the license must match, didn’t investigate much, but I think the one from stoermelder is quite solid).

2 Likes

This looks like good community stewardship to me. Taking community needs seriously while providing enough detail to explain why “just say yes” is a substantial hurdle.

Working with volunteers is a major management effort, so we should also appreciate accepting “free help” also has a cost.

(Instead of “can’t you people take the 15 seconds to read the damn license; if you can’t figure out who the copyright holder is, you’re an idiot,” I’d recommend something like, “I don’t have time to fully explain this, but your suggested fork would violate the license.”)

3 Likes

Nicely done!

I myself do prefer a lesser dark (80% grey), as is done in the Bogaudio dark theme, As 100% black creates a same kind of problem for the eyes as 100% white after staring long into it. Anyway good job! :slight_smile:

2 Likes

It’s a #131313 for dark and #e6e6e6 for light (mostly). I had brighter darks, but I personally prefer it like this. https://material.io/design/color/dark-theme.html#properties

2 Likes