|
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 |
| const auto & | 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::ProcessBlockInfo 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 248 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 301 of file parameter.h.
| using zrythm::dsp::ProcessorParameter::Resolver |
Definition at line 278 of file parameter.h.
|
inline |
Definition at line 310 of file parameter.h.
|
inline |
Definition at line 314 of file parameter.h.
|
inline |
Definition at line 346 of file parameter.h.
|
inline |
Returns the current (normalized) value after any automation and modulation has been applied.
Definition at line 333 of file parameter.h.
|
inline |
Definition at line 309 of file parameter.h.
|
inline |
Definition at line 351 of file parameter.h.
|
inline |
Definition at line 392 of file parameter.h.
|
overridevirtual |
Returns a human friendly name of the node.
Implements zrythm::dsp::graph::IProcessable.
|
inline |
Definition at line 406 of file parameter.h.
|
inline |
Definition at line 404 of file parameter.h.
|
inline |
Definition at line 308 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 312 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 323 of file parameter.h.
|
inline |
Definition at line 402 of file parameter.h.
|
inline |
Definition at line 386 of file parameter.h.
|
inline |
Definition at line 397 of file parameter.h.
|
inline |
Definition at line 315 of file parameter.h.
|
inline |
Definition at line 390 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 341 of file parameter.h.
|
read |
Definition at line 258 of file parameter.h.
|
readwrite |
Definition at line 254 of file parameter.h.
|
read |
Definition at line 256 of file parameter.h.
|
read |
Definition at line 255 of file parameter.h.
|
read |
Definition at line 257 of file parameter.h.