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

Filter Width Pan Slider doesn't invalidate properly #75

Closed
esaruoho opened this issue Dec 14, 2018 · 7 comments
Closed

Filter Width Pan Slider doesn't invalidate properly #75

esaruoho opened this issue Dec 14, 2018 · 7 comments

Comments

@esaruoho
Copy link
Collaborator

esaruoho commented Dec 14, 2018

”Filter Width Pan Slider doesn't invalidate properly”

I'm slightly confused. I'm using #69 by @baconpaul and i'm actually seeing an empty slot for Pan - yet there doesn't seem to be a slider there? What am I missing?
Does a slider exist? @kurasu ?
screenshot_14_12_2018__17_30

@baconpaul
Copy link
Collaborator

Huh I was about to add a comment like "do you still see this" but then I realized that I see it too.

However it isn't the pan slider that is missing. It is the "slider below pan".

   // pan2 control
   if ((synth->storage.getPatch().scene[current_scene].filterblock_configuration.val.i !=
        fb_stereo) &&
       (synth->storage.getPatch().scene[current_scene].filterblock_configuration.val.i != fb_wide))
   {
      i = synth->storage.getPatch().scene[current_scene].width.id;
      if (param[i] && dynamic_cast<CSurgeSlider*>(param[i]) != nullptr)
         ((CSurgeSlider*)param[i])->disabled = true;
   }

is the code that activates it. So when you set the filter configuration to "wide" it appears, kinda. You need to click to force a repaint. And when you turn off wide it doesn't undisplay.

So the bug here is a bit more subtle. It is that "wide mode on filter doesn't force draw; and disabled wide mode is blank". Ideally you'd make filter->disabled=true not be so disabled!

But more importantly when you toggle wide mode, you want to do a param refresh which forces a createOrRedraw. Something about the setDirty around line 1938 of SurgeGUIEditor isn't enough.

@baconpaul
Copy link
Collaborator

Actually @esaruoho can you rename this issue to "Filter Width Pan Slider doesn't invalidate properly" so we know what to fix?

@esaruoho esaruoho changed the title Where's the pan-slider? Filter Width Pan Slider doesn't invalidate properly Dec 18, 2018
@esaruoho
Copy link
Collaborator Author

@baconpaul i updated the title and will look again so can rewrite the original ticket. Thanks for the sleuthwork!

@kurasu
Copy link
Collaborator

kurasu commented Dec 18, 2018

yeah this slider only appear in the wide mode, in the others the signal path is mono up until that point

@baconpaul
Copy link
Collaborator

Thanks @kurasu - the invalidation code means it doesn’t immediately toggle on off when you go into and out of wide, so there’s a tiny bug let there somewhere, but we can fix that soon enough I’m sure!

@baconpaul
Copy link
Collaborator

I have this invalidation fixed. It's just behind #148. I could cherry pick it over and sweep it but if folks like the logger it is easier to just wait and sweep it then. baconpaul/surge branch width-invalidate-75 is the tiny change needed.

baconpaul added a commit to baconpaul/surge that referenced this issue Dec 26, 2018
The pan2 slider (width on two of the filter configurations)
activates and deactivates based on the choice of filter, but the
code which changed its state didn't force the widget to invalidate
leaving it in a sort of odd status. Simple fix is to invalidate
appropriately.
baconpaul added a commit to baconpaul/surge that referenced this issue Dec 26, 2018
The pan2 slider (width on two of the filter configurations)
activates and deactivates based on the choice of filter, but the
code which changed its state didn't force the widget to invalidate
leaving it in a sort of odd status. Simple fix is to invalidate
appropriately.
baconpaul added a commit that referenced this issue Dec 26, 2018
@baconpaul
Copy link
Collaborator

Fixed at head; closing.

baconpaul added a commit to baconpaul/surge that referenced this issue Jul 10, 2019
The pan2 slider (width on two of the filter configurations)
activates and deactivates based on the choice of filter, but the
code which changed its state didn't force the widget to invalidate
leaving it in a sort of odd status. Simple fix is to invalidate
appropriately.


Former-commit-id: 0b5d345
Former-commit-id: e4e95e56ad13168cede7ab6b1d87acca2b01af5d
baconpaul added a commit to baconpaul/surge that referenced this issue Jul 10, 2019
…ate-75

Correctly invalidate the pan2 (surge-synthesizer#75)

Former-commit-id: 5a2d725
Former-commit-id: 9468c4a574eac899da4cbea552f6ec6506aae0fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants