Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::gui::actions::ChannelSendAction Class Reference

Action for channel send changes. More...

#include <src/gui/backend/backend/legacy_actions/channel_send_action.h>

Inheritance diagram for zrythm::gui::actions::ChannelSendAction:
Collaboration diagram for zrythm::gui::actions::ChannelSendAction:

Public Types

enum class  Type {
  ConnectStereo , ConnectMidi , ConnectSidechain , ChangeAmount ,
  ChangePorts , Disconnect
}
using PortType = zrythm::dsp::PortType
Public Types inherited from zrythm::gui::actions::UndoableAction
enum class  Type {
  TracklistSelections , ChannelSend , MixerSelections , ArrangerSelections ,
  MidiMapping , PortConnection , Port , Range ,
  Transport , Chord
}
 Type of UndoableAction. More...
using PortConnectionsManager = dsp::PortConnectionsManager

Public Member Functions

 ChannelSendAction (QObject *parent=nullptr)
 ChannelSendAction (Type type, const ChannelSend &send, const dsp::Port *port, std::optional< std::pair< const dsp::AudioPort &, const dsp::AudioPort & > > stereo, float amount, const dsp::PortConnectionsManager *port_connections_mgr)
 Creates a new action.
QString to_string () const override
 Stringizes the action to be used in Undo/Redo buttons.
Public Member Functions inherited from zrythm::gui::actions::UndoableAction
 UndoableAction (Type type)
 UndoableAction (Type type, dsp::FramesPerTick frames_per_tick, units::sample_rate_t sample_rate)
void init_loaded (sample_rate_t engine_sample_rate)
 Non virtual function following the NVI pattern.
virtual bool needs_pause () const
 Returns whether the action requires pausing the engine.
virtual bool needs_transport_total_bar_update (bool perform) const
 Returns whether the total transport bars need to be recalculated.
virtual bool affects_audio_region_internal_positions () const
 Whether audio region loop/fade/etc.
virtual void get_plugins (std::vector< plugins::Plugin * > &plugins)
 Get the plugins referenced in this action.
auto get_frames_per_tick () const
auto get_ticks_per_frame () const
void set_num_actions (int num_actions)
 Sets the number of actions for this action.
void save_or_load_port_connections (bool performing)
 To be used by actions that save/load port connections.
void perform ()
 Performs the action.
void undo ()
 Undoes the action.

Data Fields

std::unique_ptr< ChannelSend > send_before_
float amount_ = 0.f
std::optional< dsp::PortUuid > l_id_
 Target port identifiers.
std::optional< dsp::PortUuid > r_id_
std::optional< dsp::PortUuid > midi_id_
Type send_action_type_ = Type ()
 Action type.
Data Fields inherited from zrythm::gui::actions::UndoableAction
Type undoable_action_type_ {}
 Undoable action type.
dsp::FramesPerTick frames_per_tick_
 A snapshot of AudioEngine.frames_per_tick when the action is executed.
units::sample_rate_t sample_rate_ = 0
 Sample rate of this action.
int num_actions_ = 1
 Number of actions to perform.
std::unique_ptr< dsp::PortConnectionsManagerport_connections_before_
 An (optional) clone of the port connections at the start of the action, used for reverting port connections when undoing.
std::unique_ptr< dsp::PortConnectionsManagerport_connections_after_

Friends

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

Detailed Description

Action for channel send changes.

Definition at line 16 of file channel_send_action.h.

Member Typedef Documentation

◆ PortType

using zrythm::gui::actions::ChannelSendAction::PortType = zrythm::dsp::PortType

Definition at line 35 of file channel_send_action.h.

Member Enumeration Documentation

◆ Type

enum class zrythm::gui::actions::ChannelSendAction::Type
strong

Definition at line 25 of file channel_send_action.h.

Constructor & Destructor Documentation

◆ ChannelSendAction()

zrythm::gui::actions::ChannelSendAction::ChannelSendAction ( Type type,
const ChannelSend & send,
const dsp::Port * port,
std::optional< std::pair< const dsp::AudioPort &, const dsp::AudioPort & > > stereo,
float amount,
const dsp::PortConnectionsManager * port_connections_mgr )

Creates a new action.

Parameters
portMIDI port, if connecting MIDI.
stereoStereo ports, if connecting audio.
port_connections_mgrPort connections manager at the start of the action, if needed.

Member Function Documentation

◆ to_string()

QString zrythm::gui::actions::ChannelSendAction::to_string ( ) const
overridevirtual

Stringizes the action to be used in Undo/Redo buttons.

Implements zrythm::gui::actions::UndoableAction.

Field Documentation

◆ amount_

float zrythm::gui::actions::ChannelSendAction::amount_ = 0.f

Definition at line 74 of file channel_send_action.h.

◆ l_id_

std::optional<dsp::PortUuid> zrythm::gui::actions::ChannelSendAction::l_id_

Target port identifiers.

Definition at line 77 of file channel_send_action.h.

◆ midi_id_

std::optional<dsp::PortUuid> zrythm::gui::actions::ChannelSendAction::midi_id_

Definition at line 79 of file channel_send_action.h.

◆ r_id_

std::optional<dsp::PortUuid> zrythm::gui::actions::ChannelSendAction::r_id_

Definition at line 78 of file channel_send_action.h.

◆ send_action_type_

Type zrythm::gui::actions::ChannelSendAction::send_action_type_ = Type ()

Action type.

Definition at line 82 of file channel_send_action.h.

◆ send_before_

std::unique_ptr<ChannelSend> zrythm::gui::actions::ChannelSendAction::send_before_

Definition at line 72 of file channel_send_action.h.


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