Implementing software knob behaviour

From: Christopher Arndt <chris@email-addr-hidden>
Date: Tue May 16 2017 - 10:25:31 EEST

Hi all,

I'm currently trying to write a software MIDI/OSC control panel in
Kivy/Python [1]. I want to implement a sensible knob behaviour but I
have trouble getting this right. The general idea is:

- Click (starting somewhere in the area of the knob control) and drag
upwards/downwards (y-axis) increases / decreases the value.
- Dragging left/right (x-axis) decreases step size of increments /
decrements.
- Each knob has a min/max value.

My questions are:

- What should I use as the reference point for finding the distance of
the movement? The centre of the knob or where the first touch event
occurred?
- Should I apply the distance to the value directly or use the distance
as a relative value (i.e. increment / decrement to the value when the
touch started)? If the former, how do I prevent value jumps?

- Or, to put it another way: how do you guys actually implement knob
behaviour?

Chris

[1] http://kivy.org/

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Received on Tue May 16 12:15:02 2017

This archive was generated by hypermail 2.1.8 : Tue May 16 2017 - 12:15:02 EEST