Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::structure::tracks::TrackSpan Class Reference

Track span that offers helper methods on a range of tracks. More...

#include <src/structure/tracks/track_span.h>

Inheritance diagram for zrythm::structure::tracks::TrackSpan:
Collaboration diagram for zrythm::structure::tracks::TrackSpan:

Public Types

using Base = utils::UuidIdentifiableObjectView<TrackRegistry>
using VariantType = typename Base::VariantType
using TrackUuid = typename Base::UuidType
using ArrangerObjectRegistry = arrangement::ArrangerObjectRegistry
Public Types inherited from zrythm::utils::UuidIdentifiableObjectView< TrackRegistry >
using UuidType
using VariantType
using UuidRefType

Public Member Functions

bool contains_track (const TrackUuid &id) const
std::optional< VariantType > get_track_by_name (const utils::Utf8String &name) const
bool contains_track_name (const utils::Utf8String &name) const
MasterTrackget_master_track () const
void toggle_visibility ()
 Toggle visibility of the tracks in this collection.
bool contains_non_automatable_track () const
 Returns whether the tracklist selections contains a track that cannot have automation lanes.
bool contains_undeletable_track () const
bool contains_uncopyable_track () const
bool contains_uninstantiated_plugin () const
template<typename T>
void get_plugins (T &container)
 Fills in the given array with all plugins in the tracklist.
void deselect_all_plugins ()
auto has_soloed () const
auto has_listened () const
auto get_num_muted_tracks () const
auto get_num_soloed_tracks () const
auto get_num_listened_tracks () const
void set_caches (CacheType types)
 Set various caches (snapshots, track name hashes, plugin input/output ports, etc).
Public Member Functions inherited from zrythm::utils::UuidIdentifiableObjectView< TrackRegistry >
 UuidIdentifiableObjectView (std::span< const VariantType > objects)
 Constructor for direct object range.
 UuidIdentifiableObjectView (std::span< const UuidRefType > refs)
 Constructor for UuidReference range.
 UuidIdentifiableObjectView (const TrackRegistry &registry, std::span< const UuidType > uuids)
 Constructor for Uuid + Registry.
 UuidIdentifiableObjectView (const VariantType &obj)
 Single object constructor.
Iterator begin () const
Iterator end () const
VariantType operator[] (size_t index) const
VariantType front () const
VariantType back () const
VariantType at (size_t index) const
size_t size () const
bool empty () const
auto get_elements_by_type () const
auto as_base_type () const
bool contains_type () const
auto as_type () const
auto get_elements_derived_from () const

Static Public Member Functions

static auto name_projection (const VariantType &track_var)
static auto foldable_projection (const VariantType &track_var)
template<typename BaseType>
static auto derived_type_transformation (const VariantType &track_var)
static bool currently_soloed_projection (const VariantType &var)
static bool currently_muted_projection (const VariantType &var)
static bool currently_listened_projection (const VariantType &var)
static bool soloed_projection (const VariantType &var)
static bool muted_projection (const VariantType &var)
static bool listened_projection (const VariantType &var)
Static Public Member Functions inherited from zrythm::utils::UuidIdentifiableObjectView< TrackRegistry >
static UuidType uuid_projection (const VariantType &var)
static TrackRegistry::BaseType * base_projection (const VariantType &var)
static auto type_projection (const VariantType &var)
static auto derived_from_type_projection (const VariantType &var)
static auto type_transformation (const VariantType &var)
static auto derived_from_type_transformation (const VariantType &var)

Detailed Description

Track span that offers helper methods on a range of tracks.

Definition at line 13 of file track_span.h.

Member Typedef Documentation

◆ ArrangerObjectRegistry

using zrythm::structure::tracks::TrackSpan::ArrangerObjectRegistry = arrangement::ArrangerObjectRegistry

Definition at line 21 of file track_span.h.

◆ Base

using zrythm::structure::tracks::TrackSpan::Base = utils::UuidIdentifiableObjectView<TrackRegistry>

Definition at line 16 of file track_span.h.

◆ TrackUuid

using zrythm::structure::tracks::TrackSpan::TrackUuid = typename Base::UuidType

Definition at line 18 of file track_span.h.

◆ VariantType

using zrythm::structure::tracks::TrackSpan::VariantType = typename Base::VariantType

Definition at line 17 of file track_span.h.

Member Function Documentation

◆ contains_non_automatable_track()

bool zrythm::structure::tracks::TrackSpan::contains_non_automatable_track ( ) const
inline

Returns whether the tracklist selections contains a track that cannot have automation lanes.

Definition at line 141 of file track_span.h.

◆ contains_track()

bool zrythm::structure::tracks::TrackSpan::contains_track ( const TrackUuid & id) const
inline

Definition at line 23 of file track_span.h.

◆ contains_track_name()

bool zrythm::structure::tracks::TrackSpan::contains_track_name ( const utils::Utf8String & name) const
inline

Definition at line 86 of file track_span.h.

◆ contains_uncopyable_track()

bool zrythm::structure::tracks::TrackSpan::contains_uncopyable_track ( ) const
inline

Definition at line 157 of file track_span.h.

◆ contains_undeletable_track()

bool zrythm::structure::tracks::TrackSpan::contains_undeletable_track ( ) const
inline

Definition at line 149 of file track_span.h.

◆ contains_uninstantiated_plugin()

bool zrythm::structure::tracks::TrackSpan::contains_uninstantiated_plugin ( ) const
inline

Definition at line 165 of file track_span.h.

◆ currently_listened_projection()

bool zrythm::structure::tracks::TrackSpan::currently_listened_projection ( const VariantType & var)
inlinestatic

Definition at line 211 of file track_span.h.

◆ currently_muted_projection()

bool zrythm::structure::tracks::TrackSpan::currently_muted_projection ( const VariantType & var)
inlinestatic

Definition at line 201 of file track_span.h.

◆ currently_soloed_projection()

bool zrythm::structure::tracks::TrackSpan::currently_soloed_projection ( const VariantType & var)
inlinestatic

Definition at line 191 of file track_span.h.

◆ derived_type_transformation()

template<typename BaseType>
auto zrythm::structure::tracks::TrackSpan::derived_type_transformation ( const VariantType & track_var)
inlinestatic

Definition at line 64 of file track_span.h.

◆ deselect_all_plugins()

void zrythm::structure::tracks::TrackSpan::deselect_all_plugins ( )
inline

Definition at line 186 of file track_span.h.

◆ foldable_projection()

auto zrythm::structure::tracks::TrackSpan::foldable_projection ( const VariantType & track_var)
inlinestatic

Definition at line 33 of file track_span.h.

◆ get_master_track()

MasterTrack & zrythm::structure::tracks::TrackSpan::get_master_track ( ) const
inline

Definition at line 91 of file track_span.h.

◆ get_num_listened_tracks()

auto zrythm::structure::tracks::TrackSpan::get_num_listened_tracks ( ) const
inline

Definition at line 276 of file track_span.h.

◆ get_num_muted_tracks()

auto zrythm::structure::tracks::TrackSpan::get_num_muted_tracks ( ) const
inline

Definition at line 266 of file track_span.h.

◆ get_num_soloed_tracks()

auto zrythm::structure::tracks::TrackSpan::get_num_soloed_tracks ( ) const
inline

Definition at line 271 of file track_span.h.

◆ get_plugins()

template<typename T>
void zrythm::structure::tracks::TrackSpan::get_plugins ( T & container)
inline

Fills in the given array with all plugins in the tracklist.

Definition at line 177 of file track_span.h.

◆ get_track_by_name()

std::optional< VariantType > zrythm::structure::tracks::TrackSpan::get_track_by_name ( const utils::Utf8String & name) const
inline

Definition at line 80 of file track_span.h.

◆ has_listened()

auto zrythm::structure::tracks::TrackSpan::has_listened ( ) const
inline

Definition at line 261 of file track_span.h.

◆ has_soloed()

auto zrythm::structure::tracks::TrackSpan::has_soloed ( ) const
inline

Definition at line 256 of file track_span.h.

◆ listened_projection()

bool zrythm::structure::tracks::TrackSpan::listened_projection ( const VariantType & var)
inlinestatic

Definition at line 244 of file track_span.h.

◆ muted_projection()

bool zrythm::structure::tracks::TrackSpan::muted_projection ( const VariantType & var)
inlinestatic

Definition at line 233 of file track_span.h.

◆ name_projection()

auto zrythm::structure::tracks::TrackSpan::name_projection ( const VariantType & track_var)
inlinestatic

Definition at line 28 of file track_span.h.

◆ set_caches()

void zrythm::structure::tracks::TrackSpan::set_caches ( CacheType types)
inline

Set various caches (snapshots, track name hashes, plugin input/output ports, etc).

Definition at line 285 of file track_span.h.

◆ soloed_projection()

bool zrythm::structure::tracks::TrackSpan::soloed_projection ( const VariantType & var)
inlinestatic

Definition at line 222 of file track_span.h.

◆ toggle_visibility()

void zrythm::structure::tracks::TrackSpan::toggle_visibility ( )
inline

Toggle visibility of the tracks in this collection.

Definition at line 106 of file track_span.h.


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