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, relative to the object's start.
Position loop_start_pos
Loop start Position, if the object has one, relative to the object's start.
Position loop_end_pos
End position of the clip loop, relative to the object's start.
Position fade_in_pos
Fade in position, relative to the object's start.
Position fade_out_pos
Fade out position, relative to the object's start.
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.
int index_in_prev_lane
Object's index in the previous lane (before being moved to a new lane/track).
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.
bool is_auditioner
Whether part of an auditioner track.

Variable documentation

Position ArrangerObject::pos

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

For audio/MIDI, the material starts at this frame.

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

Position ArrangerObject::end_pos

End Position, if the object has one.

This is exclusive of the material, i.e., the data at this position is not counted (for audio regions at least, TODO check for others).

Position ArrangerObject::clip_start_pos

Start position of the clip loop, relative to the object's start.

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, relative to the object's start.

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.

int ArrangerObject::index_in_prev_lane

Object's index in the previous lane (before being moved to a new lane/track).

Used at runtime when duplicating objects in new lanes/tracks so we can put the object back to its place before creating new copies.

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).