10#ifndef __AUDIO_AUTOMATION_POINT_H__
11#define __AUDIO_AUTOMATION_POINT_H__
21typedef struct _AutomationPointWidget AutomationPointWidget;
29#define AP_WIDGET_POINT_SIZE 6
31#define automation_point_is_selected(r) \
32 arranger_object_is_selected ((ArrangerObject *) r)
41 GdkRectangle draw_rect;
90 const float normalized_val,
111automation_point_set_fvalue_with_action (
113 const char * fval_str);
149 const curviness_t curviness);
Macros for arranger object backends.
AutomationPoint * automation_point_new_float(const float value, const float normalized_val, const Position *pos)
Creates an AutomationPoint in the given AutomationTrack at the given Position.
NONNULL bool automation_point_curves_up(AutomationPoint *self)
Returns if the curve of the AutomationPoint curves upwards as you move right on the x axis.
void automation_point_set_fvalue(AutomationPoint *self, float real_val, bool is_normalized, bool pub_events)
Sets the value from given real or normalized value and notifies interested parties.
void automation_point_set_region_and_index(AutomationPoint *_ap, ZRegion *region, int index)
Sets the ZRegion and the index in the region that the AutomationPoint belongs to, in all its counterp...
HOT double automation_point_get_normalized_value_in_curve(AutomationPoint *self, ZRegion *region, double x)
The function to return a point on the curve.
Port * automation_point_get_port(const AutomationPoint *const self)
Convenience function to return the control port that this AutomationPoint is for.
void automation_point_set_curviness(AutomationPoint *ap, const curviness_t curviness)
Sets the curviness of the AutomationPoint.
AutomationTrack * automation_point_get_automation_track(const AutomationPoint *const self)
Convenience function to return the AutomationTrack that this AutomationPoint is in.
Base struct for arranger objects.
An automation point inside an AutomationTrack.
float fvalue
Float value (real).
GskRenderNode * cairo_node_tl
Cached cairo node to reuse when drawing in the timeline.
AutomationPointDrawSettings last_settings
Last settings used for drawing in editor.
int index
Index in the region.
float normalized_val
Normalized value (0 to 1) used as a cache.
AutomationPointDrawSettings last_settings_tl
Last settings used for drawing in timeline.
char * tmp_str
Temporary string used with StringEntryDialogWidget.
GskRenderNode * cairo_node
Cached cairo node to reuse when drawing in the editor.
ArrangerObject base
Base struct.
Must ONLY be created via port_new()
A Position is made up of bars.beats.sixteenths.ticks.
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.