|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Track span that offers helper methods on a range of tracks. More...
#include <src/structure/arrangement/arranger_object_span.h>


Public Types | |
| using | Base = utils::UuidIdentifiableObjectView<ArrangerObjectRegistry> |
| using | VariantType = typename Base::VariantType |
| using | ArrangerObjectUuid = typename Base::UuidType |
| Public Types inherited from zrythm::utils::UuidIdentifiableObjectView< ArrangerObjectRegistry > | |
| using | UuidType |
| using | VariantType |
| using | UuidRefType |
Public Member Functions | |
| auto | create_new_identities (const auto &object_factory) const -> std::vector< ArrangerObjectUuidReference > |
| std::vector< VariantType > | sort_by_indices (bool desc) |
| Sorts the selections by their indices (eg, for regions, their track indices, then the lane indices, then the index in the lane). | |
| auto | get_first_object_and_pos () const -> std::pair< VariantType, double > |
| Gets first object of the given type (if any, otherwise matches all types) and its start position. | |
| auto | get_last_object_and_pos (bool ends_last) const -> std::pair< VariantType, double > |
| Gets last object of the given type (if any, otherwise matches all types) and its end (if applicable, otherwise start) position. | |
| std::pair< MidiNote *, MidiNote * > | get_first_and_last_note () const |
| bool | contains_undeletable_object () const |
| Returns if the selections contain an undeletable object (such as the start marker). | |
| bool | contains_unclonable_object () const |
| Returns if the selections contain an unclonable object (such as the start marker). | |
| bool | contains_unrenamable_object () const |
| Whether the selections contain an unrenameable object (such as the start marker). | |
| auto | merge () const -> ArrangerObjectUuidReference |
| Checks whether an object matches the given parameters. | |
| bool | can_be_pasted () const |
| Returns if the selections can be pasted at the current place/playhead. | |
| bool | all_on_same_lane () const |
| bool | contains_looped () const |
| bool | can_be_merged () const |
| double | get_length_in_ticks () const |
| std::optional< VariantType > | get_bounded_object_at_position (units::sample_t pos_samples, bool include_region_end=false) const |
| Returns the region at the given position, or NULL. | |
| Public Member Functions inherited from zrythm::utils::UuidIdentifiableObjectView< ArrangerObjectRegistry > | |
| UuidIdentifiableObjectView (std::span< const VariantType > objects) | |
| Constructor for direct object range. | |
| UuidIdentifiableObjectView (std::span< const UuidRefType > refs) | |
| Constructor for UuidReference range. | |
| UuidIdentifiableObjectView (const ArrangerObjectRegistry ®istry, 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 &obj_var) |
| static auto | position_ticks_projection (const VariantType &obj_var) |
| static auto | end_position_ticks_with_start_position_fallback_projection (const VariantType &obj_var) |
| static auto | midi_note_pitch_projection (const VariantType &obj_var) |
| static auto | looped_projection (const VariantType &obj_var) |
| static auto | is_timeline_object_projection (const VariantType &obj_var) |
| static auto | is_editor_object_projection (const VariantType &obj_var) |
| static auto | deletable_projection (const VariantType &obj_var) |
| static auto | cloneable_projection (const VariantType &obj_var) |
| static auto | renameable_projection (const VariantType &obj_var) |
| static auto | bounded_projection (const VariantType &obj_var) |
| static auto | is_region_projection (const VariantType &obj_var) |
| static auto | bounds_projection (const VariantType &obj_var) |
| template<BoundedObject BoundedObjectT> | |
| static auto | split_bounded_object (const BoundedObjectT &self, const auto &factory, signed_frame_t global_pos) -> std::pair< ArrangerObjectUuidReference, ArrangerObjectUuidReference > |
| Splits the given object at the given position and returns a pair of newly-created objects (with unique identities). | |
| Static Public Member Functions inherited from zrythm::utils::UuidIdentifiableObjectView< ArrangerObjectRegistry > | |
| static UuidType | uuid_projection (const VariantType &var) |
| static ArrangerObjectRegistry::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) |
Track span that offers helper methods on a range of tracks.
Definition at line 281 of file arranger_object_span.h.
| using zrythm::structure::arrangement::ArrangerObjectSpan::ArrangerObjectUuid = typename Base::UuidType |
Definition at line 287 of file arranger_object_span.h.
| using zrythm::structure::arrangement::ArrangerObjectSpan::Base = utils::UuidIdentifiableObjectView<ArrangerObjectRegistry> |
Definition at line 285 of file arranger_object_span.h.
| using zrythm::structure::arrangement::ArrangerObjectSpan::VariantType = typename Base::VariantType |
Definition at line 286 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 390 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 402 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 377 of file arranger_object_span.h.
|
inline |
Definition at line 533 of file arranger_object_span.h.
|
inline |
Returns if the selections contain an unclonable object (such as the start marker).
Definition at line 499 of file arranger_object_span.h.
|
inline |
Returns if the selections contain an undeletable object (such as the start marker).
Definition at line 490 of file arranger_object_span.h.
|
inline |
Whether the selections contain an unrenameable object (such as the start marker).
Definition at line 506 of file arranger_object_span.h.
|
inline |
Definition at line 435 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 372 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 319 of file arranger_object_span.h.
|
inline |
Returns the region at the given position, or NULL.
| include_region_end | Whether to include the region's end in the calculation. |
Definition at line 553 of file arranger_object_span.h.
|
inline |
Definition at line 476 of file arranger_object_span.h.
| auto zrythm::structure::arrangement::ArrangerObjectSpan::get_last_object_and_pos | ( | bool | ends_last | ) | const->std::pair< VariantType, double > |
Gets last object of the given type (if any, otherwise matches all types) and its end (if applicable, otherwise start) position.
| ends_last | Whether to get the object that ends last, otherwise the object that starts last. |
|
inline |
Definition at line 540 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 368 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 396 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 362 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 348 of file arranger_object_span.h.
| auto zrythm::structure::arrangement::ArrangerObjectSpan::merge | ( | ) | const->ArrangerObjectUuidReference |
Checks whether an object matches the given parameters.
If a parameter should be checked, the has_* argument must be true and the corresponding argument must have the value to be checked against. Merges the objects into one.
|
inlinestatic |
Definition at line 344 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 290 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 314 of file arranger_object_span.h.
|
inlinestatic |
Definition at line 381 of file arranger_object_span.h.
| std::vector< VariantType > zrythm::structure::arrangement::ArrangerObjectSpan::sort_by_indices | ( | bool | desc | ) |
Sorts the selections by their indices (eg, for regions, their track indices, then the lane indices, then the index in the lane).
| desc | Descending or not. |
|
inlinestatic |
Splits the given object at the given position and returns a pair of newly-created objects (with unique identities).
| object_var | The object to split. |
| global_pos | The position to split at (global). |
Definition at line 601 of file arranger_object_span.h.