a highly automated and intuitive digital audio workstation
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...


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


typedef struct _TrackLaneWidget TrackLaneWidget
typedef void MIDI_FILE


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, ZRegion *region, int idx)
 Inserts a ZRegion to the given TrackLane at the given index.
void track_lane_add_region (TrackLane *self, ZRegion *region)
 Adds a ZRegion to the given TrackLane.
void track_lane_remove_region (TrackLane *self, ZRegion *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


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.