Skip to content
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

Midi CC or Automation of LFO and OSC parameters doesn’t update LFO or OSC UI #1232

Closed
baconpaul opened this issue Oct 4, 2019 · 14 comments · Fixed by #1235 or #1237
Closed

Midi CC or Automation of LFO and OSC parameters doesn’t update LFO or OSC UI #1232

baconpaul opened this issue Oct 4, 2019 · 14 comments · Fixed by #1235 or #1237
Milestone

Comments

@baconpaul
Copy link
Collaborator

@itsmedavep reports in Cubase that if you learn an LFO parameter (like rate or deform or what not) with a midi controller then move the controller, the slider moves but the LFO display doesn’t repaint.

@baconpaul baconpaul added this to the 1.6.3 milestone Oct 4, 2019
@baconpaul
Copy link
Collaborator Author

This is not just a cubase problem; and not just an LFO problem.

If you either DAW automate or MIDI CC learn and control the params in LFO or OSC, you get the slider moving and the sound changing, but you don't get a UI response in the drawn element.

@itsmedavep
Copy link
Contributor

LFO_Display_Doesnt_Update

Here's the video.

@baconpaul
Copy link
Collaborator Author

Yeah it's also not just a VST3 thing; it happens in the AU also. This is just a good old fashioned bug!

@baconpaul
Copy link
Collaborator Author

So around like 443 of SurgeGUI Editor in the if((j< block we want to do something like

  • is this param one for the current OSC or LFO
  • if so invalidate oscdisplay if it is there and lfodisplay if it is there

basically

@baconpaul baconpaul changed the title Midi CC of LFO parameters doesn’t update LFO UI Midi CC or Automation of LFO and OSC parameters doesn’t update LFO or OSC UI Oct 4, 2019
baconpaul added a commit to baconpaul/surge that referenced this issue Oct 4, 2019
Fix a variety of issues ahead of 1.6.3

1. Automation of OSC or LFO params for on-display OSC or LFO
   repaints the waveform
2. multi-point vst3 events handled by choosing latest.
3. VST3 supresses non-change events sent in some situations by REAPER
4. Relocate the TIMRBRE button

Closes surge-synthesizer#1232
Closes surge-synthesizer#1234
Closes surge-synthesizer#1083
baconpaul added a commit that referenced this issue Oct 4, 2019
Fix a variety of issues ahead of 1.6.3

1. Automation of OSC or LFO params for on-display OSC or LFO
   repaints the waveform
2. multi-point vst3 events handled by choosing latest.
3. VST3 supresses non-change events sent in some situations by REAPER
4. Relocate the TIMRBRE button

Closes #1232
Closes #1234
Closes #1083
@itsmedavep
Copy link
Contributor

Im using this:
Screen Shot 2019-10-04 at 8 44 47 PM

I still see this when automating LFO deform via MIDI learned CC.

MIDI

@baconpaul baconpaul reopened this Oct 5, 2019
@baconpaul
Copy link
Collaborator Author

OK I’ll take a look! I had tested it in reaper and it seemed to work but I tested with phase so maybe deform is special somehow. And this is in cubase pro 10 right?

@itsmedavep
Copy link
Contributor

Yup I’m on Cubase 10 Pro.

@itsmedavep
Copy link
Contributor

Interesting about phase. Ill give other parameters a look too. I kinda just went for the jugular so to speak. I didn't check very broadly.

@baconpaul
Copy link
Collaborator Author

Alrightly here's what's happening at current master in reaper

  1. If you automate with VST3 automation the slider moves and the graph repaints (LFO and OSC both)
  2. If you learn midi and move it with a controller it doesn't

The second case comes through a different path which is "::channelController" which resets enough state to force a knob to move but not enough state to make the repaint happen it seems?

It also seems in REAPER at least that if you VST3 automate and midi control the VST3 automate always wins. Which makes sense since it is applied continuously.

@baconpaul
Copy link
Collaborator Author

Oh right; because ::channelControl sets refresh_ctrl_queue not refresh_param_queue at line 1038 or so of SurgeSynthesizer; so I need to do my respond-to-redraw in the place that handles that too I think. Should be an easy fix tomorrow sometime.

@baconpaul
Copy link
Collaborator Author

Not a VST3 bug; this is in all the host flavors.

baconpaul added a commit to baconpaul/surge that referenced this issue Oct 6, 2019
If a slider maps to an LFO or OSC which is on display and
is midi cc learned, redraw the osc or lfo display just like
we do with param changes. Refactor the OSC check into a function
like I did for LFO (and should have done for OSC in the first place).

Closes surge-synthesizer#1232
@baconpaul
Copy link
Collaborator Author

Yup got it. PR coming in.

baconpaul added a commit that referenced this issue Oct 6, 2019
If a slider maps to an LFO or OSC which is on display and
is midi cc learned, redraw the osc or lfo display just like
we do with param changes. Refactor the OSC check into a function
like I did for LFO (and should have done for OSC in the first place).

Closes #1232
@itsmedavep
Copy link
Contributor

Tested and looks good.

@baconpaul
Copy link
Collaborator Author

Great thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants