this is just an idea (I don’t know if something similar is already in VCV Rack, if yes, I am sorry) Anyway, I post it here, maybe it could inspire someone to make something similar as these little helpers in my sketches 3 x 1U modules or 1U module.
Maybe I was not so clear, my idea was to make one 3U module divided in three sections (3 x 1U module) with three different functionalities (for example VCA, S&H and LFO). Or make one 3U module with front panel composed of the bottom part (1U module for example LFO) and the rest of front panel is just graphic similar to VCV Rack background. But I admit maybe it has no meaning to do such a modules just my crazy idea.
Interesting idea! The module would be 3U as stated, but perhaps in the module options we could select from a list of 1U functionalities which ones we want for each of those three 1U slots.
I’m not sure if this requires that each of that sub-modules has to have the same number of inputs, the same number of outputs, and the same number of knobs.
It’s not a hard requirement I believe, although it might simplify things for sure. It’s not easy to instrument this and it would probably not be efficient, but for each of those functions, we could have one hardcoded input, output and one knob, and for all the extra stuff that is more specific to a given 1U unit, they would have to be declared and present in the module, but then only the one for the active choice would be shown. So if a 1U has a small display for example, that display would be there, but just made inactive/invisible. The module would have to auto disconnect cables each time it hides a port too, but it could technically be done I believe.
I think of the case that the user has chosen e.g. the VCA on slot 1 and the user has already connected the cables (2 inputs and 1 output). Now he changes slot 1 to the LFO (zero inputs and 2 outputs). What will happen to the cables that were connected to the 2 inputs before switching from VCA to LFO?
Yes, I’m thinking about a ‘Rack inside the Rack’ realized by a single module, where all the developers who want to create submodules can contribute. In this case, the width of this module should be defined to a fixed value, so that all submodules can be used inside this module. Maybe a submodule could have the height of 2U.
Sorry, I editied my comment above, I had left out the word “cables”
So in your example, they change slot 1 to LFO, so the module disconnects the two cables connected to the two inputs. This can be done by the code in any module in Rack.
I thought about not to create a maybe weird user experience. Compared to deleting a module in the Rack, I think this will be a similar experience. So no problem with this.
I will note that on a FHD monitor, with Rack set at 100%, there is a band of empty horizontal space that would fit a 1U row pretty nicely. Perhaps if I wish hard enough, Andrew will suddenly feel an irresistible compulsion to code Rack so that one can grab a rail and drag it up and down and it snaps in either a 3U or 1U position.
… and then eager module developers start cranking out 1U modules.
Otherwise, that band of space is kind of wasted on me because I don’t like to scroll. Now looking for change in the couch to toss into the wishing well …