-
Notifications
You must be signed in to change notification settings - Fork 404
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
Surge's control changes at preset loading don't refresh hosts' corresponding knobs or values. #6607
Comments
Ouch, that's unhelpful indeed. Confirming this (and removing the "host specific" label I overzealously tacked on), I'm seeing the same behavior when showing Surge XT params in track controls in Reaper. The parameters in question cease to update when changing patches. Other synths do not do this, they update the values in the track controls when changing presets. @baconpaul Any ideas? |
Oh btw, this is only when changing the patch using SXT's internal patch selector. If I save some presets using Reapers preset management, and then switch between those, the track control parameters update correctly. |
Oh probably i just need to send an automation event on all params when patches change and have forgotten. But oddly when I run it in LPX10 with the AU and bind a smart control to Cutoff Frequency and toggle through patches I see those change (and same with macro) so there's something about surge + VST3 + invalidation here for sure. Will look for the 1.1.2 release. |
I'm getting the same behavior with VST3 and AU in Reaper though! |
Maybe logic cheats and repulls? |
Good! :) |
OK I've confirmed this and it's a bit subtle. If a parameters name changes when you change patches, the value updates also. But if only the value changes, then nope. Lemme see if I can get a fix into 1.1.2 |
Ahh no this is a bigger change; will bump this one into 113. |
A patch change can change the name or value of any param. So when it happens send the maximal updateHostDispolay (excluding latency). Trigger this with a new patchChanged atomic on the synth which we set to true at the end of the off-thread load. Results in bitwig showing all correct param changes on patch change in vst3 and presumably other compliant hosts would do same. Closes surge-synthesizer#6607
A patch change can change the name or value of any param. So when it happens send the maximal updateHostDispolay (excluding latency). Trigger this with a new patchChanged atomic on the synth which we set to true at the end of the off-thread load. Results in bitwig showing all correct param changes on patch change in vst3 and presumably other compliant hosts would do same. Closes #6607
Works perfectly, tiny CPU spikes, doesn't matter I think. Thank you so much! |
Great! Thanks for confirming and reporting |
Bug Description:
If you load a new preset with SurgeXT's preset loader, no values refreshed in host. It seemed first time like a takeover issue, but it's basically just this: no automation "actual" value, nor GUI knobs on host side refresh to their real value when you load a new preset. The big impact on my workflow is: I have a default preset saved for SurgeXT in Ableton Live. Surge's 8 macro knobs are made to show up as first 8 controls on live's little plugin GUI at bottom of the screen (Opening VST controls with [>] button on it and pressing Configure just to move Surge's controls to show up on Push 2's knobs. When you load a new preset in Surge, Live's GUI "Macro1..8" controls stay greyed at previous presets' last value and instantly jump there when you start to move given Push knobs. They are rotary encoders showing actual values on screen. This behavior completely destroys this simple use case.
Surge XT Version
Version: Surge XT 1.1.1.ecf7fe6
Build: 2022-08-25 @ 21:56:20 on 'WIN-KDGQ3UVP6AT/pipeline' with 'MSVC-19.29.30146.0' using JUCE 6.1.6
System: Windows 64-bit VST3 on Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz (Windows 10)
Host: Ableton Live 11 @ 44.1 kHz
Reproduction Steps:
Ableton live 11, change to midi clip view on Surge's track (Shift+Tab from device view), switch to envelopes view (two dots connected backslash form, Alt+2), move any of Surge's controls (one is enough), switch/load preset in Surge, watch that parameter changing on Surge's GUI and not changing on Live's GUI.
My use case: Switch to Device view (Shift+Tab from Clip view), open Surge's extended view on it with little triangle button pointing down/right. Press Configure button, it stays active. Move any controls on Surge GUI, watch them appearing on Live's Device view, Switch off "Configure" mode, and load a new preset in Surge. None of them will move. When you move any of them, their corresponding controls on Surge will jump to that wrong value first.
Expected Behavior:
Please give the host your controls new state when required! Especially on preset load.
Screenshots:
https://drive.google.com/drive/folders/1Q0YGVp2dTx6391n3MdCbsGKhF3zkZjQw?usp=sharing
Computer Information (please complete the following!):
Additional Information:
Push2's knobs are practically unusable after Surge preset load (even when loading partial presets with that hamburger menu like button)
Edit: typo
The text was updated successfully, but these errors were encountered: