|
Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
|
A base class for internal plugins. More...
#include <src/plugins/internal_plugin_base.h>


Public Member Functions | |
| InternalPluginBase (utils::IObjectRegistry ®istry, QObject *parent=nullptr) | |
| Constructor for InternalPluginBase. | |
| Public Member Functions inherited from zrythm::plugins::Plugin | |
| int | programIndex () const |
| Returns the current program index, or -1 if no program exists. | |
| void | setProgramIndex (int index) |
| Q_SIGNAL void | programIndexChanged (int index) |
| Implementations should attach to this and set the program. | |
| PluginConfiguration * | configuration () const |
| Q_SIGNAL void | configurationChanged (PluginConfiguration *configuration, bool generateNewPluginPortsAndParams) |
| Emitted when the configuration is set on the plugin. | |
| dsp::ProcessorParameter * | bypassParameter () const |
| dsp::ProcessorParameter * | gainParameter () const |
| bool | uiVisible () const |
| void | setUiVisible (bool visible) |
| Q_SIGNAL void | uiVisibleChanged (bool visible) |
| Implementations should listen to this and show/hide the plugin UI accordingly. | |
| InstantiationStatus | instantiationStatus () const |
| Q_SIGNAL void | instantiationStatusChanged (InstantiationStatus status) |
| Q_SIGNAL void | instantiationFinished (bool successful, const QString &error) |
| To be emitted by implementations when instantiation finished. | |
| PluginDescriptor & | get_descriptor () const |
| utils::Utf8String | get_name () const |
| Protocol::ProtocolType | get_protocol () const |
| void | set_configuration (const PluginConfiguration &setting) |
| Sets the plugin configuration to use. | |
| void | custom_prepare_for_processing (const dsp::graph::GraphNode *node, units::sample_rate_t sample_rate, units::sample_u32_t max_block_length) final |
| void | custom_process_block (dsp::graph::ProcessBlockInfo time_nfo, const dsp::ITransport &transport, const dsp::TempoMap &tempo_map) noexcept final |
| Custom processor logic after processing all owned parameters. | |
| void | custom_release_resources () final |
| bool | currently_enabled () const |
| Returns whether the plugin is enabled (not bypassed). | |
| bool | currently_enabled_rt () const noexcept |
| std::string | save_state () const |
| Serializes the plugin's internal state to a base64-encoded string. | |
| void | load_state (const std::string &base64_state) |
| Queues a previously saved state to be applied to the plugin. | |
| void | flush_plugin_values () |
| Flushes plugin-reported parameter values to Zrythm params. | |
| Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< Plugin > | |
| 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::ProcessorBase | |
| ProcessorBase (utils::IObjectRegistry ®istry, 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 |
| const ParameterChangeTracker & | change_tracker () const noexcept |
| Returns the change tracker. | |
| utils::Utf8String | get_node_name () const final |
| 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 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, units::sample_u32_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 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). | |
Protected Member Functions | |
| void | prepare_for_processing_impl (units::sample_rate_t sample_rate, units::sample_u32_t max_block_length) override |
| void | process_impl (dsp::graph::ProcessBlockInfo time_info) noexcept override |
| std::string | save_state_impl () const override |
| void | load_state_impl (const std::string &) override |
| Protected Member Functions inherited from zrythm::plugins::Plugin | |
| Plugin (utils::IObjectRegistry ®istry, QObject *parent) | |
| Creates/initializes a plugin and its internal plugin (LV2, etc.) using the given setting. | |
| dsp::ProcessorParameterUuidReference | generate_default_bypass_param () const |
| To be called by implementations to generate the default bypass parameter if the plugin does not provide its own. | |
| dsp::ProcessorParameterUuidReference | generate_default_gain_param () const |
| To be called by implementations to generate the default gain parameter if the plugin does not provide its own. | |
| Protected Member Functions inherited from zrythm::utils::UuidIdentifiableBase | |
| void | set_raw_uuid (const QUuid &id) |
| Protected Member Functions inherited from zrythm::dsp::ProcessorBase | |
| auto | registry () const -> utils::IObjectRegistry & |
Additional Inherited Members | |
| Public Types inherited from zrythm::plugins::Plugin | |
| enum class | InstantiationStatus : std::uint8_t { Pending , Successful , Failed } |
| Public Types inherited from zrythm::utils::UuidIdentifiableObject< Plugin > | |
| using | uuid_base_type |
| Exposes the CRTP parameter for concept checking. | |
| Protected Attributes inherited from zrythm::plugins::Plugin | |
| bool | instantiation_failed_ = false |
| Set to true if instantiation failed and the plugin will be treated as disabled. | |
| std::optional< dsp::ProcessorParameter::Uuid > | bypass_id_ |
| Bypass toggle parameter,. | |
| std::optional< dsp::ProcessorParameter::Uuid > | gain_id_ |
| Zrythm-provided plugin gain parameter. | |
| std::vector< dsp::AudioPort * > | audio_in_ports_ |
| std::vector< dsp::AudioPort * > | audio_out_ports_ |
| std::vector< dsp::CVPort * > | cv_in_ports_ |
| dsp::MidiPort * | midi_in_port_ {} |
| dsp::MidiPort * | midi_out_port_ {} |
| dsp::ProcessorParameter * | bypass_param_rt_ {} |
| ParamSync | param_sync_ |
| Properties inherited from zrythm::plugins::Plugin | |
| int | programIndex |
| zrythm::plugins::PluginConfiguration * | configuration |
| zrythm::dsp::ProcessorParameter * | bypassParameter |
| zrythm::dsp::ProcessorParameter * | gainParameter |
| bool | uiVisible |
| InstantiationStatus | instantiationStatus |
A base class for internal plugins.
This plugin on its own simply passes audio through without any processing.
Definition at line 16 of file internal_plugin_base.h.
| zrythm::plugins::InternalPluginBase::InternalPluginBase | ( | utils::IObjectRegistry & | registry, |
| QObject * | parent = nullptr ) |
Constructor for InternalPluginBase.
| dependencies | Processor dependencies |
| parent | Parent QObject |
|
inlineoverrideprotectedvirtual |
Implements zrythm::plugins::Plugin.
Definition at line 43 of file internal_plugin_base.h.
|
overrideprotectedvirtual |
Reimplemented from zrythm::plugins::Plugin.
|
overrideprotectedvirtualnoexcept |
Implements zrythm::plugins::Plugin.
|
inlineoverrideprotectedvirtual |
Implements zrythm::plugins::Plugin.
Definition at line 42 of file internal_plugin_base.h.