Welcome to %s forums

BrainModular Users Forum

Login Register

changing values of controls near the edge of the touchscreen

Tell us what you'd like Usine to do
Post Reply
woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 06 Dec 2008, 02:43

Hi Senso at al:

Just wanted to suggest a few options for adjusting controls at the edge of a touchscreen. On a recent patch of mine where a knob is along the left edge of the screen, I found it took more than a dozen 'swipes' with my finger to get from maximum to minimum value....

1. One possibility would be to check both vertical and horizontal mouse motion when changing values. This certainly makes sense on knobs, where there is no sense of vertical or horizontal. In this case, a knob along the left edge could be incremented and decremented by moving up and down. A knob in the upper left corner could be incremented horizontally, and decremented vertically. Although this is less intuitive on sliders, I think it wouldn't be a problem, as motion in the normal direction would still work as expected.

2. Allow scaling of the precision of motion. At the moment, the touchscreen mode has only a very high precision as an option. But for a control that needs less sensitive adjustment, much less precision would be sufficient. Reaktor has this feature on its controls, basically allowing the user to specify a # of pixels per unit of adjustment.

3. Coarse control near the edges. When you touch a control, you would measure the distance to the edge of the screen, and divide the remaining movement of the control by the distance. So if your control is at 90 out of 100, and you have 30 pixels to the edge, each pixel decrements the value by 3. It means very coarse control of widgets near the edge, but if you overshoot, you have lots more precision coming back the other way.

Conversely, in the other direction, you would get the maximum precision possible, and you could be sure that moving your finger all the way to either edge would give minimum and maximum values. (of course, it's often difficult to get a touchscreen value all the way toz 0 so you would want a few pixels of leeway!)

4. Have an autoscroll-type feature. If you move a control in one direction, and get sufficiently close to the edge, the control will continue incrementing or decrementing, without requiring further motion. I did this with a drag-and-drop implementation in java, and it worked well. I made the speed change contingent on the distance between the edge of the window and the edge of the screen, so the user could still get some control over the speed of scrolling, even if their window was fullscreen.

5. Some of these might also work together well. I think the combination #1 and #3 would be my first choice.

Just some more thoughts.

cheers!
-e
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

User avatar
senso
Site Admin
Posts: 4425
Location: France
Contact:

Unread post by senso » 06 Dec 2008, 12:00

interesting suggestions.

Actually the 4.1 contains an option in the layout to specify the 'hi precision factor':
if the precision = 1 then the fader coarse is equal to the width of the fader
and if precision = 10 the fader coarse equal 10x the width
etc...

woodslanding
Member
Posts: 1327
Contact:

Unread post by woodslanding » 08 Dec 2008, 01:26

That's helpful!

But a dynamic precision override would still be nice at the edges....

I found that my midiNote slider goes go to zero just fine when it's on the edge.... tho the knob would not. so maybe some of that functionality is already in there in some cases??? Maybe it has to do with how nested the component is?
Custom Ryzen 5900x MATX build, Win10, Fireface UFX, touchscreen
Custom 2 manual midi keyboard
Usine, Kontakt, Reaktor, Synthmaster, Byome, Arturia, Soundtoys, Unify

Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests