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

Audio source for an AudioRegion. More...

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

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

Public Member Functions

 AudioSourceObject (const dsp::TempoMap &tempo_map, dsp::FileAudioSourceRegistry &registry, dsp::FileAudioSourceUuidReference source, QObject *parent=nullptr)
 Construct a new Audio Source Object object.
juce::PositionableAudioSource & get_audio_source () const
Public Member Functions inherited from zrythm::structure::arrangement::ArrangerObject
bool is_start_hit_by_range (const units::sample_t frames_start, const units::sample_t frames_end, bool range_start_inclusive=true, bool range_end_inclusive=false) const
auto type () const
dsp::AtomicPositionQmlAdapterposition () const
ArrangerObjectBoundsbounds () const
ArrangerObjectLoopRangeloopRange () const
ArrangerObjectNamename () const
ArrangerObjectColorcolor () const
ArrangerObjectMuteFunctionalitymute () const
ArrangerObjectFadeRangefadeRange () 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)
auto & get_tempo_map () const
Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< ArrangerObject >
UuidIdentifiableObject & operator= (const UuidIdentifiableObject &other)=default
auto get_uuid () const

Friends

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

Additional Inherited Members

Public Types inherited from zrythm::structure::arrangement::ArrangerObject
enum class  Type : basic_enum_base_type_t {
  MidiRegion , AudioRegion , ChordRegion , AutomationRegion ,
  MidiNote , ChordObject , ScaleObject , Marker ,
  AutomationPoint , AudioSourceObject , TempoObject , TimeSignatureObject
}
 The type of the object. More...
Protected Types inherited from zrythm::structure::arrangement::ArrangerObject
enum class  ArrangerObjectFeatures : std::uint8_t {
  Bounds = 1 << 0 , LoopingBit = 1 << 1 , Name = 1 << 2 , Color = 1 << 3 ,
  Mute = 1 << 4 , Fading = 1 << 5 , Looping = LoopingBit | Bounds , Region = Looping | Name | Color | Mute
}
Protected Member Functions inherited from zrythm::structure::arrangement::ArrangerObject
 ArrangerObject (Type type, const dsp::TempoMap &tempo_map, ArrangerObjectFeatures features, QObject *parent=nullptr) noexcept
 Construct a new ArrangerObject.
Properties inherited from zrythm::structure::arrangement::ArrangerObject
QML_ELEMENT zrythm::structure::arrangement::ArrangerObjectparentObject
zrythm::structure::arrangement::ArrangerObject::Type type
zrythm::dsp::AtomicPositionQmlAdapterposition
zrythm::structure::arrangement::ArrangerObjectBoundsbounds
zrythm::structure::arrangement::ArrangerObjectLoopRangeloopRange
zrythm::structure::arrangement::ArrangerObjectNamename
zrythm::structure::arrangement::ArrangerObjectColorcolor
zrythm::structure::arrangement::ArrangerObjectMuteFunctionalitymute
zrythm::structure::arrangement::ArrangerObjectFadeRangefadeRange

Detailed Description

Audio source for an AudioRegion.

This is a separate class so that region linking can later be implemented more easily via a delegate to ArrangerObjectOwner (since audio region is now also an ArrangerObjectOwner).

Definition at line 19 of file audio_source_object.h.

Constructor & Destructor Documentation

◆ AudioSourceObject()

zrythm::structure::arrangement::AudioSourceObject::AudioSourceObject ( const dsp::TempoMap & tempo_map,
dsp::FileAudioSourceRegistry & registry,
dsp::FileAudioSourceUuidReference source,
QObject * parent = nullptr )

Construct a new Audio Source Object object.

When constructing for deserialization, source can be a dummy source (from_json will generate the correct one).

Parameters
registry
source
tempo_map
parent

◆ to_json

void to_json ( nlohmann::json & j,
const AudioSourceObject & obj )
friend

Definition at line 60 of file audio_source_object.h.


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