|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
The PluginDescriptor class provides a set of static utility functions and member functions to work with plugin descriptors. More...
#include <src/plugins/plugin_descriptor.h>


Public Member Functions | |
| std::unique_ptr< juce::PluginDescription > | to_juce_description () const |
| QString | name () const |
| QString | format () const |
| QString | vendor () const |
| QString | category () const |
| Q_INVOKABLE QString | serializeToString () const |
| Serializes the descriptor to a string. | |
| Q_INVOKABLE bool | isInstrument () const |
| Q_INVOKABLE bool | isEffect () const |
| Q_INVOKABLE bool | isModulator () const |
| Q_INVOKABLE bool | isMidiModifier () const |
| bool | is_same_plugin (const PluginDescriptor &other) const |
| Returns whether the two descriptors describe the same plugin, ignoring irrelevant fields. | |
| bool | has_custom_ui () const |
| Returns if the Plugin has a supported custom UI. | |
| BridgeMode | get_min_bridge_mode () const |
| Returns the minimum bridge mode required for this plugin. | |
| utils::Utf8String | get_icon_name () const |
| Gets an appropriate icon name. | |
Static Public Member Functions | |
| static std::unique_ptr< PluginDescriptor > | from_juce_description (const juce::PluginDescription &juce_desc) |
| static PluginCategory | string_to_category (const utils::Utf8String &str) |
| static utils::Utf8String | category_to_string (PluginCategory category) |
Data Fields | |
| utils::Utf8String | author_ |
| utils::Utf8String | name_ |
| utils::Utf8String | website_ |
| PluginCategory | category_ = PluginCategory::None |
| utils::Utf8String | category_str_ |
| Lv2 plugin subcategory. | |
| int | num_audio_ins_ = 0 |
| Number of audio input ports. | |
| int | num_midi_ins_ = 0 |
| Number of MIDI input ports. | |
| int | num_audio_outs_ = 0 |
| Number of audio output ports. | |
| int | num_midi_outs_ = 0 |
| Number of MIDI output ports. | |
| int | num_ctrl_ins_ = 0 |
| Number of input control (plugin param) ports. | |
| int | num_ctrl_outs_ = 0 |
| Number of output control (plugin param) ports. | |
| int | num_cv_ins_ = 0 |
| Number of input CV ports. | |
| int | num_cv_outs_ = 0 |
| Number of output CV ports. | |
| PluginArchitecture | arch_ = PluginArchitecture::ARCH_64_BIT |
| Architecture (32/64bit). | |
| Protocol::ProtocolType | protocol_ = Protocol::ProtocolType::Internal |
| Plugin protocol (Lv2/DSSI/LADSPA/VST/etc.). | |
| std::variant< fs::path, utils::Utf8String > | path_or_id_ |
| Identifier, for plugin formats that use unique identifiers, or path otherwise. | |
| int64_t | unique_id_ {} |
| Used by some plugin formats to uniquely identify the plugin. | |
| int | juce_compat_deprecated_unique_id_ {} |
| This is additionally needed by JUCE for some plugin formats. | |
| BridgeMode | min_bridge_mode_ = BridgeMode::None |
| Minimum required bridge mode. | |
| bool | has_custom_ui_ {} |
Properties | |
| QML_ELEMENT QString | name |
| QString | vendor |
| QString | format |
| QString | category |
Friends | |
| void | init_from (PluginDescriptor &obj, const PluginDescriptor &other, utils::ObjectCloneType clone_type) |
| void | to_json (nlohmann::json &j, const PluginDescriptor &p) |
| void | from_json (const nlohmann::json &j, PluginDescriptor &p) |
| bool | operator== (const PluginDescriptor &a, const PluginDescriptor &b) |
The PluginDescriptor class provides a set of static utility functions and member functions to work with plugin descriptors.
It contains information about a plugin such as its name, author, category, protocol, and various port counts.
The static utility functions are used to convert between different plugin-related enumerations and strings, as well as to determine if a plugin protocol is supported.
The member functions provide information about the plugin, such as whether it is an instrument, effect, modulator, or MIDI modifier, whether it is valid for a given slot type and track type, whether it has a custom UI, the minimum required bridge mode, and whether it is whitelisted.
The PluginDescriptor also contains various fields that store the plugin's metadata, such as its author, name, website, category, port counts, architecture, protocol, and unique ID (for VST plugins).
Definition at line 113 of file plugin_descriptor.h.
|
inlinenodiscard |
Definition at line 136 of file plugin_descriptor.h.
| Q_INVOKABLE QString zrythm::plugins::PluginDescriptor::serializeToString | ( | ) | const |
Serializes the descriptor to a string.
This is intended to be used in the UI for eg, drag n drop as a MIME type.
|
friend |
Definition at line 229 of file plugin_descriptor.h.
|
friend |
Definition at line 265 of file plugin_descriptor.h.
|
friend |
Definition at line 204 of file plugin_descriptor.h.
| PluginArchitecture zrythm::plugins::PluginDescriptor::arch_ = PluginArchitecture::ARCH_64_BIT |
Architecture (32/64bit).
Definition at line 300 of file plugin_descriptor.h.
| utils::Utf8String zrythm::plugins::PluginDescriptor::author_ |
Definition at line 277 of file plugin_descriptor.h.
| PluginCategory zrythm::plugins::PluginDescriptor::category_ = PluginCategory::None |
Definition at line 280 of file plugin_descriptor.h.
| utils::Utf8String zrythm::plugins::PluginDescriptor::category_str_ |
Lv2 plugin subcategory.
Definition at line 282 of file plugin_descriptor.h.
| bool zrythm::plugins::PluginDescriptor::has_custom_ui_ {} |
Definition at line 319 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::juce_compat_deprecated_unique_id_ {} |
This is additionally needed by JUCE for some plugin formats.
Definition at line 314 of file plugin_descriptor.h.
| BridgeMode zrythm::plugins::PluginDescriptor::min_bridge_mode_ = BridgeMode::None |
Minimum required bridge mode.
Definition at line 317 of file plugin_descriptor.h.
| utils::Utf8String zrythm::plugins::PluginDescriptor::name_ |
Definition at line 278 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_audio_ins_ = 0 |
Number of audio input ports.
Definition at line 284 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_audio_outs_ = 0 |
Number of audio output ports.
Definition at line 288 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_ctrl_ins_ = 0 |
Number of input control (plugin param) ports.
Definition at line 292 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_ctrl_outs_ = 0 |
Number of output control (plugin param) ports.
Definition at line 294 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_cv_ins_ = 0 |
Number of input CV ports.
Definition at line 296 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_cv_outs_ = 0 |
Number of output CV ports.
Definition at line 298 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_midi_ins_ = 0 |
Number of MIDI input ports.
Definition at line 286 of file plugin_descriptor.h.
| int zrythm::plugins::PluginDescriptor::num_midi_outs_ = 0 |
Number of MIDI output ports.
Definition at line 290 of file plugin_descriptor.h.
| std::variant<fs::path, utils::Utf8String> zrythm::plugins::PluginDescriptor::path_or_id_ |
Identifier, for plugin formats that use unique identifiers, or path otherwise.
Definition at line 308 of file plugin_descriptor.h.
| Protocol::ProtocolType zrythm::plugins::PluginDescriptor::protocol_ = Protocol::ProtocolType::Internal |
Plugin protocol (Lv2/DSSI/LADSPA/VST/etc.).
Definition at line 302 of file plugin_descriptor.h.
| int64_t zrythm::plugins::PluginDescriptor::unique_id_ {} |
Used by some plugin formats to uniquely identify the plugin.
Definition at line 311 of file plugin_descriptor.h.
| utils::Utf8String zrythm::plugins::PluginDescriptor::website_ |
Definition at line 279 of file plugin_descriptor.h.
|
read |
Definition at line 120 of file plugin_descriptor.h.
|
read |
Definition at line 119 of file plugin_descriptor.h.
|
read |
Definition at line 117 of file plugin_descriptor.h.
|
read |
Definition at line 118 of file plugin_descriptor.h.