|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Processor parameter that accepts automation and modulation sources and integrates with QML and the DSP graph. More...
#include <src/dsp/parameter.h>


Data Structures | |
| struct | UniqueId |
Public Types | |
| using | Resolver |
| using | AutomationValueProvider |
| Provides the automation value for a given sample position. | |
Public Member Functions | |
| ProcessorParameter (PortRegistry &port_registry, UniqueId unique_id, ParameterRange range, utils::Utf8String label, QObject *parent=nullptr) | |
| QString | label () const |
| QString | description () const |
| bool | automatable () const |
| ParameterRange | range () const |
| float | baseValue () const |
| void | setBaseValue (float newValue) |
| Q_INVOKABLE void | resetBaseValueToDefault () |
| Q_SIGNAL void | baseValueChanged (float value) |
| Q_INVOKABLE float | currentValue () const |
| Returns the current (normalized) value after any automation and modulation has been applied. | |
| Q_INVOKABLE float | valueAfterAutomationApplied () const |
| Returns the value after automation, but before modulation has been applied. | |
| Q_INVOKABLE void | beginUserGesture () |
| Q_INVOKABLE void | endUserGesture () |
| Q_SIGNAL void | userGestureStarted () |
| Q_SIGNAL void | userGestureFinished () |
| utils::Utf8String | get_node_name () const override |
| Returns a human friendly name of the node. | |
| void | process_block (dsp::graph::EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport, const dsp::TempoMap &tempo_map) noexcept override |
| Processes automation and modulation. | |
| void | prepare_for_processing (const graph::GraphNode *node, units::sample_rate_t sample_rate, units::sample_u32_t max_block_length) override |
| Called to allocate resources required for processing. | |
| void | release_resources () override |
| Called to release resources allocated by prepare_for_processing(). | |
| void | set_automation_provider (AutomationValueProvider provider) |
| void | unset_automation_provider () |
| PortUuidReference | get_modulation_input_port_ref () const |
| void | set_description (utils::Utf8String descr) |
| void | set_automatable (bool automatable) |
| bool | hidden () const |
| const auto & | get_unique_id () const |
| Public Member Functions inherited from zrythm::dsp::graph::IProcessable | |
| virtual units::sample_u32_t | get_single_playback_latency () const |
| Returns the latency of only the given processable, without adding the previous/next latencies (zero latency by default). | |
| Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< ProcessorParameter > | |
| UuidIdentifiableObject & | operator= (const UuidIdentifiableObject &other)=default |
| auto | get_uuid () const |
Properties | |
| float | baseValue |
| QString | label |
| QString | description |
| zrythm::dsp::ParameterRange | range |
| bool | automatable |
Friends | |
| void | to_json (nlohmann::json &j, const ProcessorParameter &p) |
| void | from_json (const nlohmann::json &j, ProcessorParameter &p) |
Processor parameter that accepts automation and modulation sources and integrates with QML and the DSP graph.
While ProcessorParameter inherits from IProcessable, it is not part of the DSP graph and is expected to be processed manually by its processor.
Definition at line 163 of file parameter.h.
Provides the automation value for a given sample position.
| sample_position | The sample position in the timeline to get the automation value for. |
This allows for flexibility in how automation is obtained (e.g. call once to get the automation value for the entire cycle for efficiency, or call for each sample position for sample-accurate automation), or every few samples.
Definition at line 216 of file parameter.h.
| using zrythm::dsp::ProcessorParameter::Resolver |
Definition at line 193 of file parameter.h.
|
inline |
Definition at line 225 of file parameter.h.
|
inline |
Definition at line 229 of file parameter.h.
|
inline |
Definition at line 261 of file parameter.h.
|
inline |
Returns the current (normalized) value after any automation and modulation has been applied.
Definition at line 248 of file parameter.h.
|
inline |
Definition at line 224 of file parameter.h.
|
inline |
Definition at line 266 of file parameter.h.
|
inline |
Definition at line 307 of file parameter.h.
|
overridevirtual |
Returns a human friendly name of the node.
Implements zrythm::dsp::graph::IProcessable.
|
inline |
Definition at line 321 of file parameter.h.
|
inline |
Definition at line 319 of file parameter.h.
|
inline |
Definition at line 223 of file parameter.h.
|
overridevirtual |
Called to allocate resources required for processing.
| node | The node in the processing graph. Null means we are processing outside of a graph context and must be handled gracefully. |
| sample_rate | |
| max_block_length |
Reimplemented from zrythm::dsp::graph::IProcessable.
|
overridevirtualnoexcept |
Processes automation and modulation.
Since parameters are not part of the graph, this should be spinned manually by the owning processor.
Reimplemented from zrythm::dsp::graph::IProcessable.
|
inline |
Definition at line 227 of file parameter.h.
|
overridevirtual |
Called to release resources allocated by prepare_for_processing().
This may be called multiple times.
Reimplemented from zrythm::dsp::graph::IProcessable.
|
inline |
Definition at line 238 of file parameter.h.
|
inline |
Definition at line 317 of file parameter.h.
|
inline |
Definition at line 301 of file parameter.h.
|
inline |
Definition at line 312 of file parameter.h.
|
inline |
Definition at line 230 of file parameter.h.
|
inline |
Definition at line 305 of file parameter.h.
|
inline |
Returns the value after automation, but before modulation has been applied.
Intended to be used in the UI.
Definition at line 256 of file parameter.h.
|
read |
Definition at line 173 of file parameter.h.
|
readwrite |
Definition at line 169 of file parameter.h.
|
read |
Definition at line 171 of file parameter.h.
|
read |
Definition at line 170 of file parameter.h.
|
read |
Definition at line 172 of file parameter.h.