Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::structure::arrangement::AutomationClip Class Referencefinal

Represents an automation clip, which contains a collection of automation points. More...

#include <src/structure/arrangement/automation_clip.h>

Inheritance diagram for zrythm::structure::arrangement::AutomationClip:
Collaboration diagram for zrythm::structure::arrangement::AutomationClip:

Friends

void init_from (AutomationClip &obj, const AutomationClip &other, utils::ObjectCloneType clone_type)
void to_json (nlohmann::json &j, const AutomationClip &clip)
void from_json (const nlohmann::json &j, AutomationClip &clip)

Additional Inherited Members

Public Types inherited from zrythm::structure::arrangement::ArrangerObject
enum class  Type : std::uint8_t {
  MidiClip , AudioClip , ChordClip , AutomationClip ,
  MidiControlEvent , MidiNote , ChordObject , ScaleObject ,
  Marker , AutomationPoint , AudioSourceObject , TempoObject ,
  TimeSignatureObject
}
 The type of the object. More...
Public Types inherited from zrythm::utils::UuidIdentifiableObject< ArrangerObject >
using uuid_base_type
 Exposes the CRTP parameter for concept checking.
Public Types inherited from zrythm::structure::arrangement::ArrangerObjectOwner< AutomationPoint >
using ArrangerObjectChildType
Public Member Functions inherited from zrythm::structure::arrangement::Clip
dsp::TimelinePositionposition () const override
dsp::ContentTimeWarpcontentWarp () const
dsp::TimebaseProvider * timebaseProvider () const
Q_INVOKABLE void setLengthTicks (double ticks)
Q_INVOKABLE QList< double > loopPointTimelineTicks (double displayEndTicks) const
 Timeline delta-tick positions of each loop wrap point.
double timelineLengthTicks () const
 Warp-aware length of this clip in timeline ticks.
Q_SIGNAL void timelineLengthTicksChanged ()
units::sample_t get_end_position_samples (bool end_position_inclusive) const
 Returns the end position of this clip in timeline samples.
units::sample_t get_sample_duration () const
 Returns the duration of this clip in timeline samples (end minus start), warp-aware.
bool is_hit (const units::sample_t frames, bool object_end_pos_inclusive=false) const
 Returns whether the clip is hit by the given timeline position.
bool is_hit_by_range (std::pair< units::sample_t, units::sample_t > global_frames, bool range_start_inclusive=true, bool range_end_inclusive=true, bool object_end_pos_inclusive=false) const
 Whether the clip is hit by the given range.
dsp::ContentPositionclipStartPosition () const
dsp::ContentPositionloopStartPosition () const
dsp::ContentPositionloopEndPosition () const
bool trackBounds () const
void setTrackBounds (bool track)
Q_SIGNAL void trackBoundsChanged (bool track)
void set_loop_range (dsp::ContentTick clip_start, dsp::ContentTick loop_start, dsp::ContentTick loop_end)
 Set the three loop positions atomically, bypassing the per-position clamping constraints.
bool looped () const
Q_SIGNAL void loopedChanged ()
Q_SIGNAL void contentChanged ()
 Emitted when the clip's content changes.
Q_SIGNAL void loopablePropertiesChanged ()
 Emitted when any loop-related property changes.
int get_num_loops (bool count_incomplete) const
 Returns the number of loops, optionally including incomplete ones.
dsp::ContentTick get_loop_length_in_ticks () const
 Returns the length of the loop in ticks.
Public Member Functions inherited from zrythm::structure::arrangement::ArrangerObject
auto type () const
dsp::ContentPositionlength () const
ArrangerObjectNamename () const
ArrangerObjectColorcolor () const
ArrangerObjectMuteFunctionalitymute () const
Q_SIGNAL void propertiesChanged ()
 Emitted when any of the properties of the object changed.
ArrangerObjectparentObject () const
void setParentObject (ArrangerObject *object)
Q_SIGNAL void parentObjectChanged (QObject *parentObject)
const dsp::TempoMap & get_tempo_map () const
const dsp::TempoMapWrapperget_tempo_map_wrapper () const
Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< ArrangerObject >
 UuidIdentifiableObject (QObject *parent=nullptr)
auto get_uuid () const
Public Member Functions inherited from zrythm::utils::UuidIdentifiableBase
 UuidIdentifiableBase (QObject *parent=nullptr)
 UuidIdentifiableBase (const QUuid &id, QObject *parent=nullptr)
QUuid raw_uuid () const
Public Member Functions inherited from zrythm::structure::arrangement::ArrangerObjectOwner< AutomationPoint >
 ArrangerObjectOwner (utils::IObjectRegistry &registry, T &derived)
auto & get_children_vector () const
auto get_children_view () const
auto get_sorted_children_view () const
void add_ticks_to_children (dsp::ContentTick ticks)
bool contains_object (const ArrangerObject::Uuid &id) const
 O(1) lookup if an object with the given ID exists.
ArrangerObjectListModelget_model () const
ArrangerObjectUuidReference remove_object (const ArrangerObject::Uuid &id)
void insert_object (const ArrangerObjectUuidReference &obj_ref, int idx)
void add_object (const ArrangerObjectUuidReference &obj_ref)
void clear_objects ()
virtual std::string get_field_name_for_serialization (const ChildT *) const=0
 Get the children field name to be used during serialization/deserialization.
Protected Types inherited from zrythm::structure::arrangement::ArrangerObject
enum class  ArrangerObjectFeatures : std::uint8_t {
  Bounds = 1 << 0 , Name = 1 << 1 , Color = 1 << 2 , Mute = 1 << 3 ,
  ClipOwned = 1 << 4
}
Protected Member Functions inherited from zrythm::structure::arrangement::Clip
 Clip (Type type, const dsp::TempoMapWrapper &tempo_map_wrapper, QObject *parent=nullptr) noexcept
Protected Member Functions inherited from zrythm::structure::arrangement::ArrangerObject
 ArrangerObject (Type type, const dsp::TempoMapWrapper &tempo_map_wrapper, ArrangerObjectFeatures features, QObject *parent=nullptr) noexcept
 Construct a new ArrangerObject.
Protected Member Functions inherited from zrythm::utils::UuidIdentifiableBase
void set_raw_uuid (const QUuid &id)
Properties inherited from zrythm::structure::arrangement::Clip
zrythm::dsp::ContentTimeWarpcontentWarp
zrythm::dsp::timebase::TimebaseProvidertimebaseProvider
double timelineLengthTicks
zrythm::dsp::ContentPositionclipStartPosition
zrythm::dsp::ContentPositionloopStartPosition
zrythm::dsp::ContentPositionloopEndPosition
bool trackBounds
bool looped
Properties inherited from zrythm::structure::arrangement::ArrangerObject
QML_ELEMENT zrythm::structure::arrangement::ArrangerObjectparentObject
zrythm::structure::arrangement::ArrangerObject::Type type
zrythm::dsp::Positionposition
zrythm::dsp::ContentPositionlength
zrythm::structure::arrangement::ArrangerObjectNamename
zrythm::structure::arrangement::ArrangerObjectColorcolor
zrythm::structure::arrangement::ArrangerObjectMuteFunctionalitymute

Detailed Description

Represents an automation clip, which contains a collection of automation points.

The automation points must always stay sorted by position. The last recorded automation point is also stored.

Definition at line 20 of file automation_clip.h.


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