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

Mixin class for a track that can record events (excluding automation). More...

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

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

Public Types

using NameProvider = std::function<utils::Utf8String ()>

Public Member Functions

 RecordableTrackMixin (dsp::ProcessorBase::ProcessorBaseDependencies dependencies, NameProvider name_provider, QObject *parent=nullptr)
bool recording () const
void setRecording (bool recording)
Q_SIGNAL void recordingChanged (bool recording)
dsp::ProcessorParameterget_recording_param () const

Data Fields

bool record_set_automatically_ = false
 Whether record was set automatically when the channel was selected.

Properties

bool recording

Friends

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

Detailed Description

Mixin class for a track that can record events (excluding automation).

Definition at line 16 of file recordable_track.h.

Member Typedef Documentation

◆ NameProvider

using zrythm::structure::tracks::RecordableTrackMixin::NameProvider = std::function<utils::Utf8String ()>

Definition at line 24 of file recordable_track.h.

Member Function Documentation

◆ get_recording_param()

dsp::ProcessorParameter & zrythm::structure::tracks::RecordableTrackMixin::get_recording_param ( ) const
inline

Definition at line 47 of file recordable_track.h.

◆ recording()

bool zrythm::structure::tracks::RecordableTrackMixin::recording ( ) const
inline

Definition at line 37 of file recordable_track.h.

◆ from_json

void from_json ( const nlohmann::json & j,
RecordableTrackMixin & track )
friend

Definition at line 60 of file recordable_track.h.

◆ init_from

void init_from ( RecordableTrackMixin & obj,
const RecordableTrackMixin & other,
utils::ObjectCloneType clone_type )
friend

Definition at line 67 of file recordable_track.h.

◆ to_json

void to_json ( nlohmann::json & j,
const RecordableTrackMixin & track )
friend

Definition at line 55 of file recordable_track.h.

Field Documentation

◆ record_set_automatically_

bool zrythm::structure::tracks::RecordableTrackMixin::record_set_automatically_ = false

Whether record was set automatically when the channel was selected.

This is so that it can be unset when selecting another track. If we don't do this all the tracks end up staying on record mode.

FIXME: store on the UI side, not here (or maybe make it a QProperty).

Definition at line 94 of file recordable_track.h.

Property Documentation

◆ recording

bool zrythm::structure::tracks::RecordableTrackMixin::recording
readwrite

Definition at line 19 of file recordable_track.h.


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