+ /** Thin the number of events in this list.
+ *
+ * The thinning factor has no units but corresponds to the area of a
+ * triangle computed between three points in the list. If the area is
+ * large, it indicates significant non-linearity between the points.
+ *
+ * During automation recording we thin the recorded points using this
+ * value. If a point is sufficiently co-linear with its neighbours (as
+ * defined by the area of the triangle formed by three of them), we will
+ * not include it in the list. The larger the value, the more points are
+ * excluded, so this effectively measures the amount of thinning to be
+ * done.
+ */
+ void thin (double thinning_factor);
+