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.
HOT double automation_point_get_normalized_value_in_curve(AutomationPoint *self, Region *region, double x)
The function to return a point on the curve.
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.
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.
void automation_point_set_region_and_index(AutomationPoint *_ap, Region *region, int index)
Sets the Region and the index in the region that the AutomationPoint belongs to, in all its counterpa...
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.