-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MIRROR - Copy JSON from source module, paste to all mapped modules #189
Comments
Did you notice MIRROR has a context menu option for syncing presets (aka JSON) of all bound modules? It has no CV input for that as preset operations need to be called from the GUI thread and I wanted to keep the module as stable and simple as possible. I can add a hotkey for that, however. |
Ok, I checked it and it does not work because Host has no parameters at all and how MIRROR works internally. Maybe I can do something about that. |
I had totally missed that Sync Presets option somehow. Thanks for looking into it! |
The module syncs now presets even on modules without any parameters are bound (e.g. VCV Host or VCV Qnt). I added a hotkey also. Please let me know if it works for you. |
Excellent, it works great. Thanks so much! |
Here's something interesting... I was getting loud clicks coming out of the Host modules when activating the new Sync Module Preset function, so I opened up OBS to grab a video. While demonstrating for the recording, the clicks stopped happening after the first two instances. When I watched the recording though, I was really surprised to see a graphical rendering error appear whenever I activate the function in Mirror. This shows up even when the audio click doesn't happen, and it isn't visible outside of the recording. Like a ghost in the videotape... After experimenting a bit I found that the audio click and video-recording-glitch don't happen when the Host modules don't have any VST loaded, but it doesn't seem to matter what VST is loaded (tested with two different ones at least). Also, the audio glitch only seems to happen if there are cables patched into multiple host modules. This doesn't affect the videotape ghost, though. Here are the video clips and test patches: |
Without digging any deeper I think VCV Host reloads the VST even it no not actually changed by the preset... |
I just checked and while the glitch still happens if only 3 Host modules are bound together by Mirror, it doesn't happen if it's only two Host modules. I can't trigger the glitch by changing which VST is currently loaded in a single Host module, or by manually copying and pasting between individual Host modules myself. Maybe it could be resolved by slowing down the syncing process a bit? |
I take this back; I'm now getting clicks even if I just copy and paste from one Host to another. I'll send an email to Andrew about this one. |
I think this is a good idea. Maybe it works better if Host does not reload the plugin if it the same as in the preset. |
I still hadn't gotten around to sending that email, but lo-and-behold the issue seems resolved in Host 1.2.0! I'm not getting any clicks when syncing presets, even if the presets in question actually have changed. |
I like to poly-chain multiple VSTs in VCV Host that normally have limited polyphony. For example, chipsynth PortaFM only supports 9 voices and chipsynth SFC only 8. To do this, I use some forks I made of other MIDI modules to which I've added extra outputs and logic for rotating polyphony across the extra 16/32/48 channels. This allows me to comfortably use a sustain pedal in my playing without constantly running into maxed-out polyphony. Most often I use just two Host modules to bring the polyphony up to at least 16, but sometimes I will use 3 or even 4:
A pain point here is keeping the settings synchronized across the duplicate modules. This is pretty much exactly the use-case that MIRROR was designed for, but unfortunately VCV Host does not expose VST parameters as VCV params.
However, Host does expose the state of a VST in its JSON output. This allows me to hover the primary VST, hit CTRL-C, and then paste to each of the duplicates to bring them back into sync.
What do you think about the feasibility of adding a function to MIRROR in order to copy from the host module and paste to duplicate modules, all in one action? Ideally I think this function could be assigned to one of MIRROR's inputs, so that it could be quickly triggered via voltage (and therefore MIDI) when needed.
The text was updated successfully, but these errors were encountered: