[Solved] Customizing gestures with Elephant and the Surface Dial
I have an idea to consider and that is when the dial is in combined, Horizontal or Vertical mode to add a value to the object in control so the dial does not accede their minimum or maximum values so the dial has the same behavior control over the object as if it was midi mapped or in scroll mode and scroll mode can be left as it is now. This way the software syncs its values to the Surface dial when the dial is moved and snaps back to the to the current value of the object in control. This would also prevent having to click on the object to control and reset if the surface dial has been rotated to many times out of the objects control.
Extended appreciation taking use to these implementations on the Elephant.
I will be right here ready to test and give feedback!
There is no bidirectional communication between the software to be controlled and Elephant, so I not understand how will be possible setup or define a max or min value for the mouse movement in pixels Elephant send trough the Dial rotation.
Also in MIDI mode, I not use here a bidirectional communication, but maximum value is predefined to 0-127 on CC and on encoder mode there is no maximum.
On mouse mode there is not max or min if software not report that.
The only possible way to implement something similar to this, is trough MIDI, and user have to map to some CC number every object to be controlled, and Elephant listen to that. At any time Elephant receive 0 or 127 tough MIDI Elephant stop., the issue with this behaviour is you need map everything you want control to send MIDI out on single MIDI CC number, or can be also in OMNI mode, so Elephant can listen anything come with 127 value.
Following this concept, probably MIDI can be used as a flag indicate cursor mouse is in correct position to start take control, but that cause a lot of inconsistencies with objects not support MIDI out, as a scrollable menus,lists, etc.
A mode like this, prevent you rotate and go out of value, but a new issue appear, how you make the DAW and also the VSTs work in this way and send MIDI out without have to map everything?
From my point of view this is unpractical and only prevent when you rotate go out max or min value, but again is unpractical.
About your comment "This would also prevent having to click on the object to control and reset if the surface dial has been rotated to many times out of the objects control"
You no need click in the object to start control it, is one mode available, but from long time ago Elephant support just hover and rotate with no click, and click and rotate mode remains there in case some user prefer that mode.
With the new beta version you are testing, release the Dial-Elephant action just require mouse move.
On software like Ableton and Bitwig, the MIDI out issue probably can be solved trough a API custom script (maybe), but that not cover VSTs, what are third party software running hosted inside the DAW, so use MIDI as report of min and max, is a problem with really no practical solution and can't be used as max or min report, to provide a experience of usage with some kind of coherence.