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

Holding down Alt/Control/Shift/APPLE/TAB "quick changes" some Orange parameters but not all? #337

Closed
sense-amr opened this issue Jan 18, 2019 · 11 comments
Labels
UI Issues related to UI look&feel

Comments

@sense-amr
Copy link
Contributor

sense-amr commented Jan 18, 2019

Holding down Alt or Shift or Control will enable what i can only call a "quick edit" mode .. for Most of the orange parameters.. It seems to allow quick editing by simply hovering the mouse over the paramater or desired button to be tweaked..

This is good except for two things..
It's not consistently available over all parameters.

It can easily result in undesired parameter tweaks.. with the user not knowing where they came from.

In my testing.
On Windows 10
Ableton Live/Fruity Loops/Bitwig

it works on.. all orange boxes and parameters.. and also Mixer filter assignments (the green switches).
EXCEPT FOR the following:

SCENE A/B
Any of the LFO types
Oscillator 1 2 3
Digital/Analog (on envelopes)

Suggest Fix ..for Holding down Shift key only .. as to not interfere with potential Alt Tab activity on PC .. as this is where i initiallly found out about this (feature/bug?)

Also Suggest some kind of display showing user is in that mode when Shift is held down.. so as to not get confused about what happened to any of the parameters when just moving the mouse around, with Shift held..

@baconpaul baconpaul added bug UI Issues related to UI look&feel labels Jan 18, 2019
@baconpaul
Copy link
Collaborator

I have confirmed this yup indeed happens.

For some details for when someone goes and cleans it up (which I agree they should, but I'm not going to get to this evening)

  1. CHSwitch2 (which is the class here almost everywhere except the lfo type probably) has an optional constructor argument dragable = false.
  2. In onMouseMoved the onDragHandler resets value if dragable & buttons != 0. If you change that at line 66 to dragable && ( buttons & kShift ) it would do the shift-only thing you mention on the ones that are on

So the fix here is

  1. Visit the rest of the non working chswitches where they are constructed and set dragable to true
  2. modify the above condition
  3. build and test mac and win vst2 and au at least

That's not much work but more work than I am going to do on this issue this evening, so leave notes either for a future me, or for a future someone else if someone else wants to! I'll also tag this 'good first issue'.

@sense-amr
Copy link
Contributor Author

cool ill try and give it a go !

@sense-amr
Copy link
Contributor Author

sense-amr commented Jan 19, 2019

ok ive replaced ALL instances of refering to (kAlt | kShift | kControl | kApple) keys with
( buttons & kShift )
if (listener && buttons & (buttons & kShift))
in ChSwitch2 and ChSwitchControl

This results in the "quick edit" happening only when Shift is held down.. ALT CONTROL and TAB are now not active for this function

image

@sense-amr sense-amr changed the title Holding down Alt/Control/Shift "quick changes" some Orange parameters but not all? Holding down Alt/Control/Shift/APPLE/TAB "quick changes" some Orange parameters but not all? Jan 19, 2019
@sense-amr
Copy link
Contributor Author

sense-amr commented Jan 19, 2019

Edited code.. for Shift Key only FIX..

}
CMouseEventResult CHSwitch2::onMouseMoved(CPoint& where, const CButtonState& buttons)
{

  • if (dragable && buttons != 0)
  • if (dragable && buttons & kShift)

@sense-amr
Copy link
Contributor Author

OK @baconpaul i noticed now that .. the changing of those parameters affected .. only works .. WHEN holding shift down now .. which means somehow i broke it ? even in the cleanest one line changed version ?

@baconpaul
Copy link
Collaborator

Yeah this is the most amazing thing.

in mouseOver changing buttons !=0 to buttons & kShift means onMouseUp behaves differently.

I suspect something odd in the operator overloads on CButtonState is mutating the internal state on the check (which is a bug in CButtonState). This one is tricky to debug. Leave it open for now.

@sense-amr
Copy link
Contributor Author

curiouser and curiouser!

@baconpaul
Copy link
Collaborator

Sigh - so I checked quickly to see if this weird behavior went away with the new vst3sdk and it didn't so still something deep and scary to debug on this issue. Back to the back burner with this one. Too bad I was hoping it would be easy now we did that upgrade!

@baconpaul
Copy link
Collaborator

Remember this old gem?
Well I think it is related to #579 and not returning the right value when we handle the event under change of condition.
Just putting this here for my memory.

@baconpaul
Copy link
Collaborator

Huh OK it wasn't return value but I figured out what it was. Pul Request coming in.

@baconpaul
Copy link
Collaborator

(And: it was me not understanding the API)

baconpaul added a commit to baconpaul/surge that referenced this issue Feb 14, 2019
Surge had an odd feature that shift, control, alt - really any
modifier - meant that as you swiped over a control it changed.
@sense-amr had the excellent suggestion that we limit this to
shift to avoid accidental changes and this PR does that.

Closes surge-synthesizer#337 Holding down alt etc quick changes
baconpaul added a commit to baconpaul/surge that referenced this issue Feb 14, 2019
Surge had an odd feature that shift, control, alt - really any
modifier - meant that as you swiped over a control it changed.
@sense-amr had the excellent suggestion that we limit this to
shift to avoid accidental changes and this PR does that.

Closes surge-synthesizer#337 Holding down alt etc quick changes
baconpaul added a commit that referenced this issue Feb 15, 2019
Surge had an odd feature that shift, control, alt - really any
modifier - meant that as you swiped over a control it changed.
@sense-amr had the excellent suggestion that we limit this to
shift to avoid accidental changes and this PR does that.

Closes #337 Holding down alt etc quick changes
baconpaul added a commit to baconpaul/surge that referenced this issue Jul 10, 2019
Surge had an odd feature that shift, control, alt - really any
modifier - meant that as you swiped over a control it changed.
@sense-amr had the excellent suggestion that we limit this to
shift to avoid accidental changes and this PR does that.

Closes surge-synthesizer#337 Holding down alt etc quick changes

Former-commit-id: 87ec38b97c624da8222831ab8e85fea4eb8a3675 [formerly 1214978]
Former-commit-id: d018ff548bfc625f7b8bea6f8f8601b6ae3292c4
Former-commit-id: 4f0ebb1360d054bac9d7c589dbe43b415a380f3f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI Issues related to UI look&feel
Projects
None yet
Development

No branches or pull requests

2 participants