Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
ControlRoom Class Referencefinal

The control room allows to specify how Listen will work on each Channel and to set overall volume after the Master Channel so you can change the volume without touching the Master Fader. More...

#include <src/gui/dsp/control_room.h>

Inheritance diagram for ControlRoom:
Collaboration diagram for ControlRoom:

Public Member Functions

 ControlRoom (PortRegistry &port_registry, AudioEngine *engine)
 
bool is_in_active_project () const
 
void init_loaded (PortRegistry &port_registry, AudioEngine *engine)
 Inits the control room from a project.
 
void set_dim_output (bool dim_output)
 Sets dim_output to on/off and notifies interested parties.
 
void init_after_cloning (const ControlRoom &other, ObjectCloneType clone_type) override
 Initializes the cloned object.
 
- Public Member Functions inherited from ICloneable< ControlRoom >
std::unique_ptr< ControlRoomclone_unique (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
std::shared_ptr< ControlRoomclone_shared (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
ControlRoomclone_raw_ptr (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
ControlRoomclone_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
QScopedPointer< ControlRoomclone_unique_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 

Data Fields

std::unique_ptr< Fadermute_fader_
 The volume to set muted channels to when soloing/muting.
 
std::unique_ptr< Faderlisten_fader_
 The volume to set listened channels to when Listen is enabled on a Channel.
 
std::unique_ptr< Faderdim_fader_
 The volume to set other channels to when Listen is enabled on a Channel, or the monitor when dim is enabled.
 
bool dim_output_ = false
 Dim the output volume.
 
std::unique_ptr< Fadermonitor_fader_
 Monitor fader.
 
std::string hw_out_l_id_
 
std::string hw_out_r_id_
 
ExtPorthw_out_l_ = nullptr
 
ExtPorthw_out_r_ = nullptr
 
AudioEngineaudio_engine_ = nullptr
 Pointer to owner audio engine, if any.
 
OptionalRef< PortRegistryport_registry_
 
- Data Fields inherited from ICloneable< ControlRoom >
friend Derived
 

Friends

void to_json (nlohmann::json &j, const ControlRoom &control_room)
 
void from_json (const nlohmann::json &j, ControlRoom &control_room)
 

Detailed Description

The control room allows to specify how Listen will work on each Channel and to set overall volume after the Master Channel so you can change the volume without touching the Master Fader.

Definition at line 26 of file control_room.h.

Member Function Documentation

◆ init_after_cloning()

void ControlRoom::init_after_cloning ( const ControlRoom & other,
ObjectCloneType clone_type )
overridevirtual

Initializes the cloned object.

Note
Only final classes should implement this.
Exceptions
ZrythmExceptionIf the object could not be cloned.

Implements ICloneable< ControlRoom >.

◆ set_dim_output()

void ControlRoom::set_dim_output ( bool dim_output)
inline

Sets dim_output to on/off and notifies interested parties.

Definition at line 42 of file control_room.h.

Friends And Related Symbol Documentation

◆ from_json

void from_json ( const nlohmann::json & j,
ControlRoom & control_room )
friend

Definition at line 53 of file control_room.h.

◆ to_json

void to_json ( nlohmann::json & j,
const ControlRoom & control_room )
friend

Definition at line 49 of file control_room.h.

Field Documentation

◆ audio_engine_

AudioEngine* ControlRoom::audio_engine_ = nullptr

Pointer to owner audio engine, if any.

Definition at line 100 of file control_room.h.

◆ dim_fader_

std::unique_ptr<Fader> ControlRoom::dim_fader_

The volume to set other channels to when Listen is enabled on a Channel, or the monitor when dim is enabled.

Definition at line 78 of file control_room.h.

◆ dim_output_

bool ControlRoom::dim_output_ = false

Dim the output volume.

Definition at line 81 of file control_room.h.

◆ hw_out_l_

ExtPort* ControlRoom::hw_out_l_ = nullptr

Definition at line 96 of file control_room.h.

◆ hw_out_l_id_

std::string ControlRoom::hw_out_l_id_

Definition at line 92 of file control_room.h.

◆ hw_out_r_

ExtPort* ControlRoom::hw_out_r_ = nullptr

Definition at line 97 of file control_room.h.

◆ hw_out_r_id_

std::string ControlRoom::hw_out_r_id_

Definition at line 93 of file control_room.h.

◆ listen_fader_

std::unique_ptr<Fader> ControlRoom::listen_fader_

The volume to set listened channels to when Listen is enabled on a Channel.

Definition at line 71 of file control_room.h.

◆ monitor_fader_

std::unique_ptr<Fader> ControlRoom::monitor_fader_

Monitor fader.

The Master stereo out should connect to this.

Note
This needs to be serialized because some ports connect to it.

Definition at line 90 of file control_room.h.

◆ mute_fader_

std::unique_ptr<Fader> ControlRoom::mute_fader_

The volume to set muted channels to when soloing/muting.

Definition at line 65 of file control_room.h.

◆ port_registry_

OptionalRef<PortRegistry> ControlRoom::port_registry_

Definition at line 102 of file control_room.h.


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