Is there a way to access a right click menu item with a knob or CV?

Hi!

After one year of fun with VCV Rack, I am looking for a quick way to save ideas (snapshots) while jamming with a midi controller and keep the ability to come back later to these ideas and edit or rework the good ones.

I am using VCV as a VST in Bitwig and the idea is to store all the patch parameters as automations into clips. It works like a charm except for module paramaters that are only accessible via push buttons or right click menu. For example the polyphony and the resonator type for Rings and the differents modes for Clouds (or Supercell). The state of these parameters can’t be stored and recalled because there is no value to record as automation.

Is there a module to assign a right click menu item to a knob ? I saw the 8face module by Stoermelder which can store differents snapshots of a module. With it I can create a snapshot for each mode of Clouds for example and then navigate through all modes with a knob that can be recorded as automation. The problem is that it does a snapshot of all module parameters. And that is a problem with this technique it messes the others parameters automations. Any idea ?

Thanks!

1 Like

i think theres another stoermelder that does it. sorry i cant be more help. but i think the module you want exists, try searching for “contextual mapping with cv”

Yes, these are the CTX expanders There is one for midi-cat and one for cv-map

Not to my knowledge, though I too wish there was.

It would be nice if developers exposed rc menu settings to cv control via expanders.

I’d love for Count Modular to expose his sequencer rc menu settings with expanders so I could selectively randomise by cv.

1 Like

Thanks for your answers. But I understand that these modules allow to assign CV with a right click. What I am searching is a way to access a right click menu item through a knob or CV. For example turn a knob to change Clouds mode from granular to looping delay. Like Plaits input to change Model.

Yeah! That is what I want.

1 Like

ah… my bad! I understand now. I don’t think this exists.

No other idea ?

Could be wrong but I think the issue is that the items in right click menus are not actually Rack parameters - therefore there is no way to access them externally.

There is only one possible way: create the context menu programmatically and „click“ (= onAction) on the menu item also by code. It is simply not possible to trigger the code of a menu item by any other way.

As this is would be far beyond „bad hacking“ you should consider one of these:

  • Talk to the developer of the module and ask for an additional parameter or a cv input
  • If the module is open source and the license allows it, create a modified version of your own
  • Talk to the VCV team for a feature request and creating an API for that (very unlikely in my opinion)
3 Likes

I usually made the context menu thing control a param. Wouldn’t that do it?

I was wondering the same. Normally a parameter is associated with a control widget, but I suppose you figured out a way to add a parameter without a widget. Not sure if any of the Stoermelder modules would know how to map to it.

Let me rephrase that. Mapping to all parameters of an entire module ought to work fine. But I don’t see how a Stoermelder module like uMap would map to just the hidden parameter so you could take control via CV.

Ah, good point, the param widget does need to be visible for that mapping ui to work. I do make/made param widgets for this, but, yeah they are not normally visible…

Thanks for your answers.

I understand that the parameters need to be exposed with a dedicated control widget in order to be available for being mapped to a knob or a midi controller. I think I will be able to change modules code to expose parameters.

But do you know if the Grayscale Supercell module is open source ? I can’t find the repository.

Otherwise i will stick with the 8face solution to switch mode (only available from contextual menu) with a knob (mappable). One mode = one 8face preset.

Thanks!

This is one of those things I find myself coming back to repeatedly of late… mainly due to bodging things elsewhere …and specifically being able to trigger send feedback > now as a one-hit from an externally-mapped button on MIDI-CAT & then disable feedback altogether - due to an inescapable latency issue that creates feedback oscillation on my motorised faders. (The bodge being a RaspberryPi4 acting as a MIDI-merger to get around my issues with midi device indexing on patch load when you have a LOT of separate MIDI interfaces/controllers, and happen to want to be working in a fixed-rack/headless scenario live - no UI access)

Could I request a MIDI-CAT expander please @stoermelder that can essentially allow you to have the MIDI output feedback device and channel all configured, but toggle sending feedback on and off, or only when an incoming gate is high :pray: ??

That sounds like a very special case for an expander moule.
A while ago I wrote an unreleased MIDI script processor which could easily used for things like that. Maybe it is time to add it to my development build on GitHub though I’m not sure if there were better solutions developed in the meantime?

I would like even just to be able to initialize any or several modules with a trigger signal.

F’rinstance, zeroing out analog shift registers or S&H modules. If I have several of them, I have to hunt them down and right-click each one of them to get back to a startup state. It would be so convenient if I could do it with the “Reset” O/P signal from a clock module. As it is, I have to assemble an elaborate means of temporarily by-passing inputs and rapidly stepping through them to reload them with all zero values.

This is eminently do-able, and I can see the use, although I don’t know offhand if anyone’s written a module for it. If not, I can easily patch this together using bits of something else that I’m working on. Let me know if there are any specific features you think would be helpful. My first thought is:

  • allow selection of up to 8 or 10 external modules with some sort of visual indicator (the prototype/proof of concept would just list them in text displays);
  • expose individual triggers for each module as well as a global trigger;
  • probably provide one trigger group for reset and another for randomize. (Anybody think a third group for triggered bypass would be worth it?)

Would it be helpful to have a latching “shield” button for each module that keeps the selection but exempts that module from the global trigger(s)?

Instead of assigning multiple target modules to one Initializer module, how about making it a 1HP module with just an input jack, a toggle switch to disable the incoming trigger, and a manual button, in that order from top down. It initializes only the target module to its immediate right (or left, if you give it a pair of LEDs to show which side, à la stoermelder’s STRIP). This way you could still easily see which modules are being initialized by following the patch cords from the reset trigger O/P, and it’s as expandable as you need.

1 Like