|
|
| PluginGroup (dsp::ProcessorBase::ProcessorBaseDependencies dependencies, plugins::PluginRegistry &plugin_registry, 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::PluginPtrVariant > &plugins) const |
| | Returns all plugins in the group (scanning recursively).
|
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:
- Universal container for plugins and nested groups
- Serial processing: chain elements sequentially
- Parallel processing: process elements separately and sum outputs
- Recursive nesting: groups can contain other groups
- Type safety: separate Audio, MIDI, and Instrument signal types
- Built-in fader for level control and muting/soloing
Common use cases:
- Simple plugin wrapper with fader control
- Effect chains (serial processing)
- Layered instruments (parallel processing)
- Complex nested rack structures
Integration:
- Used in channels for MIDI FX, Instrument, and Audio FX processing
- Exposes QML model interface for UI integration
Definition at line 44 of file plugin_group.h.