|
Zrythm v2.0.0-alpha.1
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 Types inherited from zrythm::utils::UuidIdentifiableObject< ProcessorParameter > | |
| using | uuid_base_type |
| Exposes the CRTP parameter for concept checking. | |
Public Member Functions | |
| ProcessorParameter (utils::IObjectRegistry ®istry, 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::utils::UuidIdentifiableObject< ProcessorParameter > | |
| UuidIdentifiableObject (QObject *parent=nullptr) | |
| auto | get_uuid () const |
| Public Member Functions inherited from zrythm::utils::UuidIdentifiableBase | |
| UuidIdentifiableBase (QObject *parent=nullptr) | |
| UuidIdentifiableBase (const QUuid &id, QObject *parent=nullptr) | |
| QUuid | raw_uuid () 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). | |
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) |
Additional Inherited Members | |
| Protected Member Functions inherited from zrythm::utils::UuidIdentifiableBase | |
| void | set_raw_uuid (const QUuid &id) |
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 252 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 304 of file parameter.h.
| using zrythm::dsp::ProcessorParameter::Resolver |
Definition at line 281 of file parameter.h.
|
inline |
Definition at line 313 of file parameter.h.
|
inline |
Definition at line 317 of file parameter.h.
|
inline |
Definition at line 349 of file parameter.h.
|
inline |
Returns the current (normalized) value after any automation and modulation has been applied.
Definition at line 336 of file parameter.h.
|
inline |
Definition at line 312 of file parameter.h.
|
inline |
Definition at line 354 of file parameter.h.
|
inline |
Definition at line 395 of file parameter.h.
|
overridevirtual |
Returns a human friendly name of the node.
Implements zrythm::dsp::graph::IProcessable.
|
inline |
Definition at line 409 of file parameter.h.
|
inline |
Definition at line 407 of file parameter.h.
|
inline |
Definition at line 311 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 315 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 326 of file parameter.h.
|
inline |
Definition at line 405 of file parameter.h.
|
inline |
Definition at line 389 of file parameter.h.
|
inline |
Definition at line 400 of file parameter.h.
|
inline |
Definition at line 318 of file parameter.h.
|
inline |
Definition at line 393 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 344 of file parameter.h.
|
read |
Definition at line 261 of file parameter.h.
|
readwrite |
Definition at line 257 of file parameter.h.
|
read |
Definition at line 259 of file parameter.h.
|
read |
Definition at line 258 of file parameter.h.
|
read |
Definition at line 260 of file parameter.h.