ZRegion struct

A region (clip) is an object on the timeline that contains either MidiNote's or AudioClip's.

Contents

It is uniquely identified using its name, so it must be unique throughout the Project.

Public variables

ArrangerObject base
Base struct.
RegionIdentifier id
Unique ID.
char* name
Name to be shown on the widget.
GdkRGBA color
TODO region color independent of track.
MidiNote** midi_notes
MIDI notes.
MidiNote* unended_notes
Unended notes started in recording with MIDI NOTE ON signal but haven't received a NOTE OFF yet.
int pool_id
Audio pool ID of the associated audio file, mostly used during serialization.
bool stretching
Whether currently running the stretching algorithm.
double before_length
The length before stretching, in ticks.
double stretch_ratio
Used during arranger UI overlay actions.
RegionMusicalMode musical_mode
Musical mode setting.
Position* split_points
Array of split points.
AutomationPoint** aps
The automation points this region contains.
AutomationPoint* last_recorded_ap
Last recorded automation point.
ChordObject** chord_objects
ChordObject's in this Region.
int bounce
Set to ON during bouncing if this region should be included.
PangoLayout* layout
Cache layout for drawing the name.
PangoLayout* chords_layout
Cache layout for drawing the chord names inside the region.
GdkRectangle last_main_draw_rect
Last main draw rect.
GdkRectangle last_lane_draw_rect
Last lane draw rect.
gint64 last_clip_change
Last timestamp the audio clip or its contents changed.
gint64 last_cache_time
Last timestamp the region was cached.
ArrangerObject last_positions_obj
Last known marker positions (only positions are used).

Variable documentation

GdkRGBA ZRegion::color

TODO region color independent of track.

If null, the track color is used.

MidiNote* ZRegion::unended_notes

Unended notes started in recording with MIDI NOTE ON signal but haven't received a NOTE OFF yet.

This is also used temporarily when reading from MIDI files.

FIXME allocate.

bool ZRegion::stretching

Whether currently running the stretching algorithm.

If this is true, region drawing will be deferred.

AutomationPoint** ZRegion::aps

The automation points this region contains.

Also used in audio regions for volume automation.

Must always stay sorted by position.

int ZRegion::bounce

Set to ON during bouncing if this region should be included.

Only relevant for audio and midi regions.