|
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 (EngineProcessTimeInfo time_nfo, const dsp::ITransport &transport) noexcept override |
| Processes automation and modulation. | |
| void | prepare_for_processing (const graph::GraphNode *node, units::sample_rate_t sample_rate, nframes_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) |
| const auto & | get_unique_id () const |
| 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. | |
| 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 |
| 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 221 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 274 of file parameter.h.
| using zrythm::dsp::ProcessorParameter::Resolver |
Definition at line 251 of file parameter.h.
|
inline |
Definition at line 283 of file parameter.h.
|
inline |
Definition at line 287 of file parameter.h.
|
inline |
Definition at line 319 of file parameter.h.
|
inline |
Returns the current (normalized) value after any automation and modulation has been applied.
Definition at line 306 of file parameter.h.
|
inline |
Definition at line 282 of file parameter.h.
|
inline |
Definition at line 324 of file parameter.h.
|
inline |
Definition at line 364 of file parameter.h.
|
overridevirtual |
Returns a human friendly name of the node.
Implements zrythm::dsp::graph::IProcessable.
|
inline |
Definition at line 376 of file parameter.h.
|
inline |
Definition at line 281 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 285 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 296 of file parameter.h.
|
inline |
Definition at line 374 of file parameter.h.
|
inline |
Definition at line 358 of file parameter.h.
|
inline |
Definition at line 369 of file parameter.h.
|
inline |
Definition at line 288 of file parameter.h.
|
inline |
Definition at line 362 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 314 of file parameter.h.
|
friend |
Definition at line 401 of file parameter.h.
|
friend |
Definition at line 394 of file parameter.h.
|
read |
Definition at line 231 of file parameter.h.
|
readwrite |
Definition at line 227 of file parameter.h.
|
read |
Definition at line 229 of file parameter.h.
|
read |
Definition at line 228 of file parameter.h.
|
read |
Definition at line 230 of file parameter.h.