|
Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
|
A flexible container for plugins and nested plugin groups. More...
#include <src/plugins/plugin_group.h>


Public Types | |
| enum class | ProcessingTypeHint : std::uint8_t { Serial , Parallel , Custom } |
| enum class | DeviceGroupType : std::uint8_t { Audio , MIDI , Instrument , CV } |
| enum | DeviceGroupListModelRoles { DeviceGroupPtrRole = Qt::UserRole + 1 } |
Public Member Functions | |
| PluginGroup (utils::IObjectRegistry ®istry, DeviceGroupType type, ProcessingTypeHint processing_type, QObject *parent=nullptr) | |
| QString | name () const |
| void | setName (const QString &name) |
| Q_SIGNAL void | nameChanged (const QString &name) |
| QHash< int, QByteArray > | roleNames () const override |
| int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
| QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
| void | insert_plugin (plugins::PluginUuidReference plugin_ref, int index=-1) |
| void | append_plugin (plugins::PluginUuidReference plugin_ref) |
| plugins::PluginUuidReference | remove_plugin (const plugins::Plugin::Uuid &plugin_id) |
| QVariant | element_at_idx (size_t idx) const |
| void | get_plugins (std::vector< plugins::PluginUuidReference > &plugins, bool recursive=true) const |
Properties | |
| QString | name |
Friends | |
| void | to_json (nlohmann::json &j, const PluginGroup &l) |
| void | from_json (const nlohmann::json &j, PluginGroup &l) |
A flexible container for plugins and nested plugin groups.
PluginGroup provides a unified architecture for implementing racks, chains, and layers. It supports both serial and parallel processing modes, recursive nesting, and type-safe signal routing for Audio, MIDI, and Instrument processing.
Key features:
Common use cases:
Integration:
Definition at line 45 of file plugin_group.h.
| enum zrythm::plugins::PluginGroup::DeviceGroupListModelRoles |
Definition at line 102 of file plugin_group.h.
|
strong |
Definition at line 77 of file plugin_group.h.
|
strong |
Definition at line 53 of file plugin_group.h.
|
inline |
Definition at line 121 of file plugin_group.h.
|
inline |
Definition at line 98 of file plugin_group.h.
|
readwrite |
Definition at line 48 of file plugin_group.h.