Flex Envelope - No UI control for Hold
-
@DanH on top of this - if you set a ui control for one of the envelope controls how can we get the knob to update when moving the envelope ui?
And is it possible to control several envelopes from one flex envelope?
-
@DanH Maybe there's a broadcaster for this
-
It is right there. Hover over the lower highlighted section and you'll see a horizontal arrow dragger mouse cursor.
-
@Orvillain oh I see, it's more about operating the mouse in the highlighted stages than on the line, despite there being handles for the curves on the lines as well.
-
@DanH there‘s a snippet that shows how to setup the knobs to sync when dragging the flex display
-
@Christoph-Hart that's perfect, thanks. FYI obj.itemColour3 is missing !
-
@Christoph-Hart is there a option to customise the pop up text when hovering over a stage?
-
@Christoph-Hart last thing
Perhaps the mouse handles should be an updown arrow for the curve nodes, rather than the hand, since the curve nodes can only move up and down...
-
@DanH @Christoph-Hart the flex envelope is essentially missing the spline XY handles to create an envelope in the first place.
From a UX design standpoint:
01 Base level (priority): conventional ADSR controls — Unconstrained handles for Attack, Decay, Sustain, Release, no dials required, easy to read/adjust.02 Secondary / advanced: spline-shaped ADSR curves with Bezier handles for fine-tuning shape.
Current Issue:
The existing flex envelope design inverts this hierarchy, prioritizing Bezier-based curve editing as the default interaction. (Which can feel slow and constrained for user since base level controls are missing.)Initial envelope discussion:
https://forum.hise.audio/topic/11509/custom-envelope/19?_=1754988313518 -
@Straticah Yes I think the main issue is that weird distinction between horizontal and vertical adjustment (which is hinted by the mouse cursor change). If I change that to allow changing both dimensions at once, then you just need to slap a rectangle at the corner points and voila you have your UX, right?
-
@Christoph-Hart exactly
-
@Christoph-Hart
FYI
obj.active
does not work. It is always 0. -
Just to add to this,
laf.registerFunction("drawFlexAhdsText", function(g, obj)
doesn't seem to work either.... -