Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
track_lane.h File Reference

Track lanes for each track. More...

#include "dsp/region.h"
#include "utils/yaml.h"
Include dependency graph for track_lane.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  TrackLane
 A TrackLane belongs to a Track (can have many TrackLanes in a Track) and contains Regions. More...
 

Macros

#define TRACK_LANE_MAGIC   3418552
 
#define IS_TRACK_LANE(x)   (((TrackLane *) x)->magic == TRACK_LANE_MAGIC)
 
#define IS_TRACK_LANE_AND_NONNULL(x)   (x && IS_TRACK_LANE (x))
 
#define track_lane_is_auditioner(self)    (self->track && track_is_auditioner (self->track))
 
#define track_lane_is_in_active_project(self)    (self->track && track_is_in_active_project (self->track))
 

Typedefs

typedef struct _TrackLaneWidget TrackLaneWidget
 
typedef void MIDI_FILE
 

Functions

void track_lane_init_loaded (TrackLane *self, Track *track)
 
TrackLanetrack_lane_new (Track *track, int pos)
 Creates a new TrackLane at the given pos in the given Track.
 
void track_lane_insert_region (TrackLane *self, Region *region, int idx)
 Inserts a Region to the given TrackLane at the given index.
 
void track_lane_add_region (TrackLane *self, Region *region)
 Adds a Region to the given TrackLane.
 
void track_lane_remove_region (TrackLane *self, Region *region)
 Removes but does not free the region.
 
void track_lane_unselect_all (TrackLane *self)
 Unselects all arranger objects.
 
void track_lane_clear (TrackLane *self)
 Removes all objects recursively from the track lane.
 
void track_lane_rename (TrackLane *self, const char *new_name, bool with_action)
 Rename the lane.
 
void track_lane_rename_with_action (TrackLane *self, const char *new_name)
 Wrapper over track_lane_rename().
 
NONNULL void track_lane_set_soloed (TrackLane *self, bool solo, bool trigger_undo, bool fire_events)
 Sets track lane soloed, updates UI and optionally adds the action to the undo stack.
 
NONNULL bool track_lane_get_soloed (const TrackLane *const self)
 
NONNULL void track_lane_set_muted (TrackLane *self, bool mute, bool trigger_undo, bool fire_events)
 Sets track lane muted, updates UI and optionally adds the action to the undo stack.
 
NONNULL bool track_lane_get_muted (const TrackLane *const self)
 
const char * track_lane_get_name (TrackLane *self)
 
void track_lane_update_positions (TrackLane *self, bool from_ticks, bool bpm_change)
 Updates the positions in each child recursively.
 
void track_lane_update_track_name_hash (TrackLane *self)
 Sets the new track name hash to all the lane's objects recursively.
 
TrackLanetrack_lane_clone (const TrackLane *src, Track *track)
 Clones the TrackLane.
 
void track_lane_write_to_midi_file (TrackLane *self, MIDI_FILE *mf, MidiEvents *events, const Position *start, const Position *end, bool lanes_as_tracks, bool use_track_or_lane_pos)
 Writes the lane to the given MIDI file.
 
NONNULL Tracklisttrack_lane_get_tracklist (const TrackLane *self)
 
NONNULL Tracktrack_lane_get_track (const TrackLane *self)
 
NONNULL int track_lane_calculate_lane_idx (const TrackLane *self)
 Calculates a unique index for this lane.
 
TrackLanetrack_lane_gen_snapshot (const TrackLane *self)
 Generate a snapshot for playback.
 
NONNULL void track_lane_free (TrackLane *lane)
 Frees the TrackLane.
 

Detailed Description

Track lanes for each track.

Definition in file track_lane.h.

Typedef Documentation

◆ MIDI_FILE

typedef void MIDI_FILE

Definition at line 19 of file track_lane.h.

◆ TrackLaneWidget

typedef struct _TrackLaneWidget TrackLaneWidget

Definition at line 16 of file track_lane.h.