[ardour-dev] automation editing proposal

gml at xs4all.nl gml at xs4all.nl
Sat Jun 19 07:56:28 PDT 2004

I send this to the old list accidently. here it is again

A problem is the density of the control-points created by recording
automation. What to show, what to hide, how much is editable etc.
(BTW I think this is not really a problem if you enter the automation
directly by clicking. )

I think you want to do different things on different zoom resolutions.
Generally at large zoom sizes you want to adjust "shapes" and longer
segments and at close-up you want to adjust individual points.

 a proposal (how I would like to see it:)):
after a certain zoom factor you only display the following points, 1)the
local extremes, where the first derivative changes sign
2)the points where the second derivative changes sign. (what is that
called in english?)

You can only drag the visible control points. But dragging them adjusts
all the hidden points between the neighbouring visible points as well.
Proportionally i.e.
all points and _(x,y)_ is visible

_(0,0.05)_  (10,0.3) (40,0.4) _(100,0.5)_ (110,0.4) _(400,0.1)_

I drag the second visible points to (300,0.2)
delta_x = 200 delta_y = -0.3

calculating the points in between:
_(0,0)_ stays
(10,0.3): 10 is 1/10 in the interval 0-100 so delta_x will be 20
          0.3 is is (0.3-0.05)(0.5-0.05)= 0.555556 so delta_y will be
         -> (30,0.1333333)
(40,0.4) -> (80,0.16666667)
_(100,0.5)_ -> (300,0.2)
(110,0.4) the same idea but mirrored so:
          110 = 290/300 in the x-interval so delta_x = 193.333333
          0.4 = 0.3/0.4 in the y-interval so delta_y = -0.225

          -> (303.3333,0.175)

I think it can be proven that the resulting curve has the same extremes
_and_ the same extremes in the first derivative, so there is no need to
adjust the visibility of control points. It also insures the order both in
x (very important) and in the y direction (not so important but this
preserves the shape, and that is nice)

Then if you zoom in past x (user definable? it should probably depend on
the  maximum event density, globally, or even locally) you adjust the
individual points normally.


More information about the Ardour-Dev mailing list