Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::engine::session::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/engine/session/control_room.h>

Collaboration diagram for zrythm::engine::session::ControlRoom:

Public Types

using Fader = structure::tracks::Fader
using AudioEngine = engine::device_io::AudioEngine

Public Member Functions

 ControlRoom (dsp::PortRegistry &port_registry, dsp::ProcessorParameterRegistry &param_registry, AudioEngine *engine)
void init_loaded (dsp::PortRegistry &port_registry, dsp::ProcessorParameterRegistry &param_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.

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.
AudioEngineaudio_engine_ = nullptr
 Pointer to owner audio engine, if any.
OptionalRef< dsp::PortRegistryport_registry_
OptionalRef< dsp::ProcessorParameterRegistryparam_registry_

Friends

void init_from (ControlRoom &obj, const ControlRoom &other, utils::ObjectCloneType clone_type)
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 31 of file control_room.h.

Member Typedef Documentation

◆ AudioEngine

◆ Fader

Member Function Documentation

◆ set_dim_output()

void zrythm::engine::session::ControlRoom::set_dim_output ( bool dim_output)
inline

Sets dim_output to on/off and notifies interested parties.

Definition at line 53 of file control_room.h.

◆ from_json

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

Definition at line 66 of file control_room.h.

◆ to_json

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

Definition at line 62 of file control_room.h.

Field Documentation

◆ audio_engine_

AudioEngine* zrythm::engine::session::ControlRoom::audio_engine_ = nullptr

Pointer to owner audio engine, if any.

Definition at line 106 of file control_room.h.

◆ dim_fader_

std::unique_ptr<Fader> zrythm::engine::session::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 91 of file control_room.h.

◆ dim_output_

bool zrythm::engine::session::ControlRoom::dim_output_ = false

Dim the output volume.

Definition at line 94 of file control_room.h.

◆ listen_fader_

std::unique_ptr<Fader> zrythm::engine::session::ControlRoom::listen_fader_

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

Definition at line 84 of file control_room.h.

◆ monitor_fader_

std::unique_ptr<Fader> zrythm::engine::session::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 103 of file control_room.h.

◆ mute_fader_

std::unique_ptr<Fader> zrythm::engine::session::ControlRoom::mute_fader_

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

Definition at line 78 of file control_room.h.

◆ param_registry_

OptionalRef<dsp::ProcessorParameterRegistry> zrythm::engine::session::ControlRoom::param_registry_

Definition at line 109 of file control_room.h.

◆ port_registry_

OptionalRef<dsp::PortRegistry> zrythm::engine::session::ControlRoom::port_registry_

Definition at line 108 of file control_room.h.


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