How hard would Many-To-One between module/modulewidget be?

USE CASE: multiple quantizers for different polyphonic voices in a patch. I use an Stoermelder 8Face Mk2 to save presets of those multiple quantizers, so I can change key of (for example) a lead melody & bassline at the same time.

Rack has a Module (the guts) & ModuleWidget (the controls) design.

How difficult would it be to have many modules (implemented as expanders, perhaps?) all controlled by the same ModuleWidget?

In my dreams I can imagine this as a generic thing, where you can have a module, then add a module-expander that just attaches a new Module to an existing ModuleWidget.

1 Like

For your particular use case: My recent PolyMergeResplit module can route up to four polyphonic voices (16 total channels, any combination) through one quantizer.

That’s cool but my use case is to have one controller module & expanders that share the same controller.

I’m pretty sure (but not certain) that it can’t work generally in VCV 1.x. I think there is a pretty baked in assumption that the widget gets passed the one and only module in its constructor… I mean of course you could make it work for a one off module and expanders, but I kind of doubt it could work with other people’s stuff…

Does remind me, though. that are are modules like my Comp II… and Poly Gene… and the Bidoo module I “was inspired by”… that do have one set of controls that can be pointed at and of 16 channels.

Do people want more of that? It’s not that hard to do (but harder than a regular module)… It’s super compact… It’s a little more to think about…

1 Like

Due to bug I had at one point, it is possible to have library variables in the global context be shared between all instance modules. This might lead to thread locking issues, but a “control” module could save to such a set of globals and all “action” modules could read these globals (per patch), and so …

Isn’t this what stoermelders Transit is already doing? It can be mapped to multiple modules at once. So theoretically it could switch many different quantizers at once (at least those who can store a preset via a encoder in itself - the other ones could be controlled via 8face.)

I use 8face mk2 because it does the same thing but without the morphing thing.

I was mostly wondering if an expander could just use the state, read-only, from the main module, to compute a second set of output & inputs.