Improve slider widget

Bug #1284858 reported by Daniel Schürmann
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned

Bug Description

The current slider has some drawbacks that could be solved:
* No way to switch between emitt values during drag or not at runtime. Currently it is s skin option
* You can move the slider even when you pick the scale (slider background) on the other end of the slider.
* <EventWhileDrag>no</EventWhileDrag> suffers some bugs

Idea:
* remove undocumented <EventWhileDrag>no</EventWhileDrag>
* Start draging on slider + big enough area around it only
* Clicking on scale = jump
* right click release = reset
* right drag move slider, but emit on release only.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

t

description: updated
Owen Williams (ywwg)
description: updated
description: updated
RJ Skerry-Ryan (rryan)
Changed in mixxx:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
ronso0 (ronso0) wrote :

* Start draging on slider + big enough area around it only
* Clicking on scale = jump
While the first is a good idea, it somehow conflicts with the second:
you wouldn't know where the 'big enough area' ends so clicking next to the handle for small jumps would start a drag event.

* right click release = reset
We should move this to double click for all knobs and sliders if we want to improve the touch UX.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

We cannot make use from a double click event for buttons in the skins.
These buttons a mimic the controller buttons, where we immediately responds to push and release events. This is unlike to normal button clicks which perform their click actions on release only.

This means we cannot effort any delay for detecting a double click.

Since the Skin buttons are intended to work exactly like controller buttons, the touch_shift CO is the matching counter part. We "just" need to make it accessible similar to the shift controls on controllers.

For resetting the Sliders, we may add a snap region around their reset position.

I can confirm the doubts, if it will be useful to move the sliders by touching left or right to the slider handle and expect precise adjustments (Clicking on scale = jump)

Revision history for this message
ronso0 (ronso0) wrote :

Of course we can't detect double-clicks for buttons, I mentioned sliders and knobs.

I think the learning curve is pretty steep for the drag area being the entire slider surface currently.

A snap area is a good idea. Though, for dragging only, not for clicking.
Pretty much like some hardware knobs have a 'dead zone' of 1-3° around the center detent.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

I don't think that snapping works well for drag actions. Because unlike at hardware knobs it will generate a value jump. In case if hardware you can lind this with the force you move the knob.
In the touch case you can't.

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/7326

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.