ArrangerObject struct

Base struct for arranger objects.

Contents

Public variables

ArrangerObjectFlags flags
Flags.
Position pos
Position (or start Position if the object has length).
Position end_pos
End Position, if the object has one.
Position clip_start_pos
Start position of the clip loop.
Position loop_start_pos
Loop start Position, if the object has one.
Position loop_end_pos
End position of the clip loop.
Position fade_in_pos
Fade in position.
Position fade_out_pos
Fade in position.
CurveOptions fade_in_opts
Fade in curve options.
CurveOptions fade_out_opts
Fade out curve options.
GdkRectangle full_rect
The full rectangle this object covers including off-screen parts, in absolute coordinates.
int textw
The rectangle this object was last drawn in (ie, after any necessary clipping), in absolute coordinates.
ArrangerObject* transient
A copy ArrangerObject corresponding to this, such as when ctrl+dragging.
ArrangerObject* main
The opposite of the above.
bool muted
Whether muted or not (if applicable).
RegionIdentifier region_id
Parent region identifier for objects that are part of a region.
bool deleted_temporarily
Whether deleted with delete tool.
bool use_cache
1 when hovering over the object.
cairo_t* cached_cr
Cached cairo_t.
cairo_surface_t* cached_surface
Cached surface containing drawing.
GdkRectangle last_name_rect
Last drawn name rectangle, if object has a name.

Variable documentation

Position ArrangerObject::pos

Position (or start Position if the object has length).

Midway Position between previous and next AutomationPoint's, if AutomationCurve.

Position ArrangerObject::clip_start_pos

Start position of the clip loop.

The first time the region plays it will start playing from the clip_start_pos and then loop to this position.

Position ArrangerObject::loop_end_pos

End position of the clip loop.

Once this is reached, the clip will go back to the clip loop start position.

int ArrangerObject::textw

The rectangle this object was last drawn in (ie, after any necessary clipping), in absolute coordinates.

Cache text H extents and W extents for the text, if the object has any.

ArrangerObject* ArrangerObject::transient

A copy ArrangerObject corresponding to this, such as when ctrl+dragging.

This will be the clone object saved in the cloned arranger selections in each arranger during actions, and would get drawn separately.

ArrangerObject* ArrangerObject::main

The opposite of the above.

This will be set on the transient objects.

bool ArrangerObject::deleted_temporarily

Whether deleted with delete tool.

This is used to simply hide these objects until the action finishes so that they can be cloned for the actions.

bool ArrangerObject::use_cache

1 when hovering over the object.

Set to true to blit the cached surface, false to redraw.

cairo_t* ArrangerObject::cached_cr

Cached cairo_t.

Has 2 elements in case the object needs to draw more than 1 copy (such as lane/track regions).

cairo_surface_t* ArrangerObject::cached_surface

Cached surface containing drawing.

Has 2 elements in case the object needs to draw more than 1 copy (such as lane/track regions).