|
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/gui/dsp/plugin_descriptor.h>


Public Member Functions | |
| bool | is_instrument () const |
| bool | is_effect () const |
| bool | is_modulator () const |
| bool | is_midi_modifier () const |
| bool | is_valid_for_slot_type (PluginSlotType slot_type, int track_type) const |
| Returns if this can be dropped in a slot of the given type. | |
| 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. | |
| CarlaBridgeMode | get_min_bridge_mode () const |
| Returns the minimum bridge mode required for this plugin. | |
| bool | is_whitelisted () const |
| Returns whether the plugin is known to work, so it should be whitelisted. | |
| utils::Utf8String | get_icon_name () const |
| Gets an appropriate icon name. | |
| QString | getName () const |
| void | init_after_cloning (const PluginDescriptor &other, ObjectCloneType clone_type) override |
Public Member Functions inherited from ICloneable< PluginDescriptor > | |
| std::unique_ptr< PluginDescriptor > | clone_unique (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| std::shared_ptr< PluginDescriptor > | clone_shared (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| PluginDescriptor * | clone_raw_ptr (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
| PluginDescriptor * | clone_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const |
Static Public Member Functions | |
| static ZPluginCategory | string_to_category (const utils::Utf8String &str) |
| static utils::Utf8String | category_to_string (ZPluginCategory category) |
Data Fields | |
| utils::Utf8String | author_ |
| utils::Utf8String | name_ |
| utils::Utf8String | website_ |
| ZPluginCategory | category_ = ZPluginCategory::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_32_BIT |
| Architecture (32/64bit). | |
| Protocol::ProtocolType | protocol_ = Protocol::ProtocolType::Internal |
| Plugin protocol (Lv2/DSSI/LADSPA/VST/etc.). | |
| fs::path | path_ |
| Path, if not an Lv2Plugin which uses URIs. | |
| utils::Utf8String | uri_ |
| Lv2Plugin URI. | |
| int64_t | unique_id_ = 0 |
| Used for VST. | |
| CarlaBridgeMode | min_bridge_mode_ = CarlaBridgeMode::None |
| Minimum required bridge mode. | |
| bool | has_custom_ui_ = false |
| unsigned int | ghash_ = 0 |
| Hash of the plugin's bundle (.so/.ddl for VST) used when caching PluginDescriptor's, obtained using g_file_hash(). | |
| std::string | sha1_ |
| SHA1 of the file (replaces ghash). | |
Data Fields inherited from ICloneable< PluginDescriptor > | |
| friend | Derived |
Properties | |
| QML_ELEMENT QString | name |
Friends | |
| void | to_json (nlohmann::json &j, const PluginDescriptor &p) |
| void | from_json (const nlohmann::json &j, PluginDescriptor &p) |
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 112 of file plugin_descriptor.h.
|
inlinenodiscard |
Definition at line 166 of file plugin_descriptor.h.
| bool zrythm::gui::old_dsp::plugins::PluginDescriptor::is_whitelisted | ( | ) | const |
Returns whether the plugin is known to work, so it should be whitelisted.
Non-whitelisted plugins will run in full bridge mode. This is to prevent crashes when Zrythm is not at fault.
These must all be free-software plugins so that they can be debugged if issues arise.
|
friend |
Definition at line 222 of file plugin_descriptor.h.
|
friend |
Definition at line 195 of file plugin_descriptor.h.
| PluginArchitecture zrythm::gui::old_dsp::plugins::PluginDescriptor::arch_ = PluginArchitecture::ARCH_32_BIT |
Architecture (32/64bit).
Definition at line 272 of file plugin_descriptor.h.
| utils::Utf8String zrythm::gui::old_dsp::plugins::PluginDescriptor::author_ |
Definition at line 249 of file plugin_descriptor.h.
| ZPluginCategory zrythm::gui::old_dsp::plugins::PluginDescriptor::category_ = ZPluginCategory::NONE |
Definition at line 252 of file plugin_descriptor.h.
| utils::Utf8String zrythm::gui::old_dsp::plugins::PluginDescriptor::category_str_ |
Lv2 plugin subcategory.
Definition at line 254 of file plugin_descriptor.h.
| unsigned int zrythm::gui::old_dsp::plugins::PluginDescriptor::ghash_ = 0 |
Hash of the plugin's bundle (.so/.ddl for VST) used when caching PluginDescriptor's, obtained using g_file_hash().
Definition at line 294 of file plugin_descriptor.h.
| bool zrythm::gui::old_dsp::plugins::PluginDescriptor::has_custom_ui_ = false |
Definition at line 286 of file plugin_descriptor.h.
| CarlaBridgeMode zrythm::gui::old_dsp::plugins::PluginDescriptor::min_bridge_mode_ = CarlaBridgeMode::None |
Minimum required bridge mode.
Definition at line 284 of file plugin_descriptor.h.
| utils::Utf8String zrythm::gui::old_dsp::plugins::PluginDescriptor::name_ |
Definition at line 250 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_audio_ins_ = 0 |
Number of audio input ports.
Definition at line 256 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_audio_outs_ = 0 |
Number of audio output ports.
Definition at line 260 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_ctrl_ins_ = 0 |
Number of input control (plugin param) ports.
Definition at line 264 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_ctrl_outs_ = 0 |
Number of output control (plugin param) ports.
Definition at line 266 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_cv_ins_ = 0 |
Number of input CV ports.
Definition at line 268 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_cv_outs_ = 0 |
Number of output CV ports.
Definition at line 270 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_midi_ins_ = 0 |
Number of MIDI input ports.
Definition at line 258 of file plugin_descriptor.h.
| int zrythm::gui::old_dsp::plugins::PluginDescriptor::num_midi_outs_ = 0 |
Number of MIDI output ports.
Definition at line 262 of file plugin_descriptor.h.
| fs::path zrythm::gui::old_dsp::plugins::PluginDescriptor::path_ |
Path, if not an Lv2Plugin which uses URIs.
Definition at line 276 of file plugin_descriptor.h.
| Protocol::ProtocolType zrythm::gui::old_dsp::plugins::PluginDescriptor::protocol_ = Protocol::ProtocolType::Internal |
Plugin protocol (Lv2/DSSI/LADSPA/VST/etc.).
Definition at line 274 of file plugin_descriptor.h.
| std::string zrythm::gui::old_dsp::plugins::PluginDescriptor::sha1_ |
SHA1 of the file (replaces ghash).
Definition at line 297 of file plugin_descriptor.h.
| int64_t zrythm::gui::old_dsp::plugins::PluginDescriptor::unique_id_ = 0 |
Used for VST.
Definition at line 281 of file plugin_descriptor.h.
| utils::Utf8String zrythm::gui::old_dsp::plugins::PluginDescriptor::uri_ |
Lv2Plugin URI.
Definition at line 278 of file plugin_descriptor.h.
| utils::Utf8String zrythm::gui::old_dsp::plugins::PluginDescriptor::website_ |
Definition at line 251 of file plugin_descriptor.h.
|
read |
Definition at line 116 of file plugin_descriptor.h.