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

Manages tempo and time signature objects for a project. More...

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

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

Public Member Functions

 TempoObjectManager (ArrangerObjectRegistry &arranger_object_registry, dsp::FileAudioSourceRegistry &file_audio_source_registry, QObject *parent=nullptr)
std::string get_field_name_for_serialization (const TempoObject *) const override
std::string get_field_name_for_serialization (const TimeSignatureObject *) const override
Public Member Functions inherited from zrythm::structure::arrangement::ArrangerObjectOwner< TempoObject >
 ArrangerObjectOwner (ArrangerObjectRegistry &registry, dsp::FileAudioSourceRegistry &file_audio_source_registry, T &derived)
auto & get_children_vector () const
auto get_children_view () const
auto get_sorted_children_view () const
void add_ticks_to_children (double ticks)
bool contains_object (const ArrangerObject::Uuid &id) const
 O(1) lookup if an object with the given ID exists.
ArrangerObjectListModel * get_model () const
ArrangerObjectUuidReference remove_object (this SelfT &self, const ArrangerObject::Uuid &id)
void insert_object (this SelfT &self, const ArrangerObjectUuidReference &obj_ref, int idx)
void add_object (this SelfT &self, 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.
Public Member Functions inherited from zrythm::structure::arrangement::ArrangerObjectOwner< TimeSignatureObject >
 ArrangerObjectOwner (ArrangerObjectRegistry &registry, dsp::FileAudioSourceRegistry &file_audio_source_registry, T &derived)
auto & get_children_vector () const
auto get_children_view () const
auto get_sorted_children_view () const
void add_ticks_to_children (double ticks)
bool contains_object (const ArrangerObject::Uuid &id) const
 O(1) lookup if an object with the given ID exists.
ArrangerObjectListModel * get_model () const
ArrangerObjectUuidReference remove_object (this SelfT &self, const ArrangerObject::Uuid &id)
void insert_object (this SelfT &self, const ArrangerObjectUuidReference &obj_ref, int idx)
void add_object (this SelfT &self, 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.

Friends

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

Additional Inherited Members

Public Types inherited from zrythm::structure::arrangement::ArrangerObjectOwner< TempoObject >
using ArrangerObjectChildType
using ArrangerObjectListModel
Public Types inherited from zrythm::structure::arrangement::ArrangerObjectOwner< TimeSignatureObject >
using ArrangerObjectChildType
using ArrangerObjectListModel

Detailed Description

Manages tempo and time signature objects for a project.

Definition at line 16 of file tempo_object_manager.h.

Member Function Documentation

◆ get_field_name_for_serialization() [1/2]

std::string zrythm::structure::arrangement::TempoObjectManager::get_field_name_for_serialization ( const TempoObject * ) const
inlineoverride

Definition at line 45 of file tempo_object_manager.h.

◆ get_field_name_for_serialization() [2/2]

std::string zrythm::structure::arrangement::TempoObjectManager::get_field_name_for_serialization ( const TimeSignatureObject * ) const
inlineoverride

Definition at line 51 of file tempo_object_manager.h.


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