Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
ArrangerObject Struct Reference

Base struct for arranger objects. More...

#include <gui/backend/arranger_object.h>

Inheritance diagram for ArrangerObject:
Collaboration diagram for ArrangerObject:

Public Member Functions

void arranger_object_move (ArrangerObject *self, const double ticks)
 Moves the object by the given amount of ticks.
 
bool arranger_object_validate (const ArrangerObject *const self)
 Validates the arranger object.
 
void arranger_object_set_name (ArrangerObject *self, const char *name, int fire_events)
 Sets the name of the object, if the object can have a name.
 

Data Fields

ArrangerObjectType type
 
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.
 
int texth
 
ArrangerObjecttransient
 A copy ArrangerObject corresponding to this, such as when ctrl+dragging.
 
ArrangerObjectmain
 The opposite of the above.
 
bool muted
 Whether muted or not (if applicable).
 
int magic
 
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
 Set to true to blit the cached surface, false to redraw.
 
cairo_t * cached_cr [2]
 Cached cairo_t.
 
cairo_surface_t * cached_surface [2]
 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.
 

Detailed Description

Base struct for arranger objects.

Definition at line 121 of file arranger_object.h.

Field Documentation

◆ cached_cr

cairo_t* ArrangerObject::cached_cr[2]

Cached cairo_t.

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

Note
This is only used if ArrangerObject.can_cache_drawing is true.

Definition at line 269 of file arranger_object.h.

◆ cached_surface

cairo_surface_t* ArrangerObject::cached_surface[2]

Cached surface containing drawing.

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

Note
This is only used if ArrangerObject.can_cache_drawing is true.

Definition at line 281 of file arranger_object.h.

◆ clip_start_pos

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.

Definition at line 158 of file arranger_object.h.

◆ deleted_temporarily

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.

Definition at line 247 of file arranger_object.h.

◆ end_pos

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

Definition at line 148 of file arranger_object.h.

◆ fade_in_opts

CurveOptions ArrangerObject::fade_in_opts

Fade in curve options.

Definition at line 188 of file arranger_object.h.

◆ fade_in_pos

Position ArrangerObject::fade_in_pos

Fade in position, relative to the object's start.

Must always be before Arranger_object.fade_out_pos.

Definition at line 178 of file arranger_object.h.

◆ fade_out_opts

CurveOptions ArrangerObject::fade_out_opts

Fade out curve options.

Definition at line 191 of file arranger_object.h.

◆ fade_out_pos

Position ArrangerObject::fade_out_pos

Fade out position, relative to the object's start.

Must always be after ArrangerObject.fade_in_pos.

Definition at line 185 of file arranger_object.h.

◆ flags

ArrangerObjectFlags ArrangerObject::flags

Flags.

Definition at line 126 of file arranger_object.h.

◆ full_rect

GdkRectangle ArrangerObject::full_rect

The full rectangle this object covers including off-screen parts, in absolute coordinates.

Definition at line 196 of file arranger_object.h.

◆ index_in_prev_lane

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.

See also
arranger_selections_action_do().

Definition at line 239 of file arranger_object.h.

◆ is_auditioner

bool ArrangerObject::is_auditioner

Whether part of an auditioner track.

Definition at line 289 of file arranger_object.h.

◆ last_name_rect

GdkRectangle ArrangerObject::last_name_rect

Last drawn name rectangle, if object has a name.

Definition at line 285 of file arranger_object.h.

◆ loop_end_pos

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.

Definition at line 171 of file arranger_object.h.

◆ loop_start_pos

Position ArrangerObject::loop_start_pos

Loop start Position, if the object has one, relative to the object's start.

Definition at line 162 of file arranger_object.h.

◆ magic

int ArrangerObject::magic

Definition at line 225 of file arranger_object.h.

◆ main

ArrangerObject* ArrangerObject::main

The opposite of the above.

This will be set on the transient objects.

Definition at line 220 of file arranger_object.h.

◆ muted

bool ArrangerObject::muted

Whether muted or not (if applicable).

Definition at line 223 of file arranger_object.h.

◆ pos

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.

Definition at line 138 of file arranger_object.h.

◆ region_id

RegionIdentifier ArrangerObject::region_id

Parent region identifier for objects that are part of a region.

Definition at line 228 of file arranger_object.h.

◆ texth

int ArrangerObject::texth

Definition at line 206 of file arranger_object.h.

◆ textw

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.

Definition at line 205 of file arranger_object.h.

◆ transient

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.

Definition at line 214 of file arranger_object.h.

◆ type

ArrangerObjectType ArrangerObject::type

Definition at line 123 of file arranger_object.h.

◆ use_cache

bool ArrangerObject::use_cache

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

Note
This is only used if ArrangerObject.can_cache_drawing is true.

Definition at line 257 of file arranger_object.h.


The documentation for this struct was generated from the following file: