10#ifndef __AUDIO_AUTOMATION_REGION_H__
11#define __AUDIO_AUTOMATION_REGION_H__
20typedef struct AutomationCurve AutomationCurve;
36 unsigned int track_name_hash,
47automation_region_sort_func (
const void * _a,
const void * _b);
83 bool check_transients);
126automation_region_validate (
ZRegion * self);
A region in the timeline.
NONNULL void automation_region_free_members(ZRegion *self)
Frees members only but not the ZRegion itself.
HOT AutomationPoint * automation_region_get_next_ap(ZRegion *self, AutomationPoint *ap, bool check_positions, bool check_transients)
Returns the AutomationPoint after the given one.
void automation_region_print_automation(ZRegion *self)
Prints the automation in this Region.
void automation_region_add_ap(ZRegion *self, AutomationPoint *ap, int pub_events)
Adds an AutomationPoint to the Region.
NONNULL PURE AutomationPoint * automation_region_get_prev_ap(ZRegion *self, AutomationPoint *ap)
Returns the AutomationPoint before the given one.
AutomationPoint * automation_region_get_ap_around(ZRegion *self, Position *_pos, double delta_ticks, bool before_only, bool use_snapshots)
Returns an automation point found within +/- delta_ticks from the position, or NULL.
void automation_region_get_aps_since_last_recorded(ZRegion *self, Position *pos, GPtrArray *aps)
Returns the automation points since the last recorded automation point (if the last recorded automati...
ZRegion * automation_region_new(const Position *start_pos, const Position *end_pos, unsigned int track_name_hash, int at_idx, int idx_inside_at)
Creates a new ZRegion for automation.
void automation_region_force_sort(ZRegion *self)
Forces sort of the automation points.
void automation_region_remove_ap(ZRegion *self, AutomationPoint *ap, bool freeing_region, int free)
Removes the AutomationPoint from the ZRegion, optionally freeing it.
Position end_pos
End Position, if the object has one.
Position pos
Position (or start Position if the object has length).
An automation point inside an AutomationTrack.
A Position is made up of bars.beats.sixteenths.ticks.
Track to be inserted into the Project's Tracklist.
A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.
AutomationPoint ** aps
The automation points this region contains.