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

Modulator macro button processor. More...

#include <src/dsp/modulator_macro_processor.h>

Inheritance diagram for zrythm::dsp::ModulatorMacroProcessor:
Collaboration diagram for zrythm::dsp::ModulatorMacroProcessor:

Public Member Functions

 ModulatorMacroProcessor (ProcessorBaseDependencies dependencies, int idx, QObject *parent=nullptr)
QString name () const
utils::Utf8String get_full_designation_for_port (const dsp::Port &port) const
auto get_name () const
void custom_process_block (EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport) noexcept override
 Custom processor logic after processing all owned parameters.
void custom_prepare_for_processing (const graph::GraphNode *node, units::sample_rate_t sample_rate, nframes_t max_block_length) override
void custom_release_resources () override
auto & get_cv_in_port ()
 CV input port for connecting CV signals to.
auto & get_cv_out_port ()
 CV output after macro is applied.
auto & get_macro_param ()
 Control port controlling the amount.
Public Member Functions inherited from zrythm::dsp::ProcessorBase
 ProcessorBase (ProcessorBaseDependencies dependencies, utils::Utf8String name={ u8"ProcessorBase" })
void set_name (const utils::Utf8String &name)
 Set a custom name to be used in the DSP graph.
void add_input_port (const dsp::PortUuidReference &uuid)
void add_output_port (const dsp::PortUuidReference &uuid)
void add_parameter (const dsp::ProcessorParameterUuidReference &uuid)
auto & get_input_ports () const
auto & get_output_ports () const
auto & get_parameters () const
utils::Utf8String get_node_name () const final
 Returns a human friendly name of the node.
void process_block (EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport) noexcept final
 Calls custom_process_block() internally after processing all the parameters.
void prepare_for_processing (const graph::GraphNode *node, units::sample_rate_t sample_rate, nframes_t max_block_length) final
 Called to allocate resources required for processing.
void release_resources () final
 Called to release resources allocated by prepare_for_processing().
Public Member Functions inherited from zrythm::dsp::graph::IProcessable
virtual nframes_t get_single_playback_latency () const
 Returns the latency of only the given processable, without adding the previous/next latencies.

Properties

QString name

Friends

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

Additional Inherited Members

Protected Member Functions inherited from zrythm::dsp::ProcessorBase
auto dependencies () const

Detailed Description

Modulator macro button processor.

This class enables users to create macro controls that can scale modulation signals or output fixed values. It contains 1 parameter to control scaling (or set a fixed output CV value), many CV inputs and 1 CV output.

Intended to be used in ModulatorTrack.

Definition at line 24 of file modulator_macro_processor.h.

Member Function Documentation

◆ custom_prepare_for_processing()

void zrythm::dsp::ModulatorMacroProcessor::custom_prepare_for_processing ( const graph::GraphNode * node,
units::sample_rate_t sample_rate,
nframes_t max_block_length )
overridevirtual

Reimplemented from zrythm::dsp::ProcessorBase.

◆ custom_process_block()

void zrythm::dsp::ModulatorMacroProcessor::custom_process_block ( EngineProcessTimeInfo time_nfo,
const dsp::ITransport & transport )
overridevirtualnoexcept

Custom processor logic after processing all owned parameters.

By default, this does passthrough to same-type ports.

Reimplemented from zrythm::dsp::ProcessorBase.

◆ custom_release_resources()

void zrythm::dsp::ModulatorMacroProcessor::custom_release_resources ( )
overridevirtual

Reimplemented from zrythm::dsp::ProcessorBase.

◆ get_cv_in_port()

auto & zrythm::dsp::ModulatorMacroProcessor::get_cv_in_port ( )
inline

CV input port for connecting CV signals to.

Definition at line 81 of file modulator_macro_processor.h.

◆ get_cv_out_port()

auto & zrythm::dsp::ModulatorMacroProcessor::get_cv_out_port ( )
inline

CV output after macro is applied.

This can be routed to other parameters to apply the macro.

Definition at line 91 of file modulator_macro_processor.h.

◆ get_macro_param()

auto & zrythm::dsp::ModulatorMacroProcessor::get_macro_param ( )
inline

Control port controlling the amount.

Definition at line 97 of file modulator_macro_processor.h.

◆ get_name()

auto zrythm::dsp::ModulatorMacroProcessor::get_name ( ) const
inline

Definition at line 54 of file modulator_macro_processor.h.

◆ name()

QString zrythm::dsp::ModulatorMacroProcessor::name ( ) const
inline

Definition at line 48 of file modulator_macro_processor.h.

◆ from_json

void from_json ( const nlohmann::json & j,
ModulatorMacroProcessor & p )
friend

Definition at line 109 of file modulator_macro_processor.h.

◆ to_json

void to_json ( nlohmann::json & j,
const ModulatorMacroProcessor & p )
friend

Definition at line 104 of file modulator_macro_processor.h.

Property Documentation

◆ name

QString zrythm::dsp::ModulatorMacroProcessor::name
read

Definition at line 27 of file modulator_macro_processor.h.


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