|
|
@@ -3,33 +3,47 @@ |
|
|
|
This file describes the available features for each plugin format. |
|
|
|
The limitations could be due to the plugin format itself or within DPF. |
|
|
|
|
|
|
|
| Feature | JACK/Standalone | LADSPA | DSSI | LV2 | VST2 | VST3 | |
|
|
|
|-------------|-----------------|--------|------|-----|------|------| |
|
|
|
| Param outs | Yes* | Yes | Yes | Yes | No | Yes? | |
|
|
|
| Programs | Yes* | No* | Yes* | Yes | No* | Yes | |
|
|
|
| States | Yes | No | Yes* | Yes | Yes | Yes | |
|
|
|
| UI sendNote | Yes | No | Yes | Yes | Yes | Yes | |
|
|
|
| CV | Yes | No | No | Yes | No | No* | |
|
|
|
| MIDI in | Yes | No | Yes | Yes | Yes | Yes | |
|
|
|
| MIDI out | Yes | No | No | Yes | Yes | Yes | |
|
|
|
| Port groups | Yes* | No | No | Yes | Yes* | No* | |
|
|
|
|
|
|
|
Special notes: |
|
|
|
| Feature | JACK/Standalone | LADSPA | DSSI | LV2 | VST2 | VST3 | |
|
|
|
|-------------------|-----------------|--------|------|---------------|--------|--------| |
|
|
|
| Audio port groups | [Yes*](FEATURES.md#JACK parameters and programs) | No | No | Yes | No | No* | |
|
|
|
| Audio port as CV | Yes | No | No | Yes | No | [No*](FEATURES.md#VST3 is work in progress) | |
|
|
|
| MIDI input | Yes | No | Yes | Yes | Yes | Yes | |
|
|
|
| MIDI output | Yes | No | No | Yes | Yes | Yes | |
|
|
|
| Parameter changes | Yes | No | No | [No*](FEATURES.md#LV2 parameter changes) | Yes | Yes | |
|
|
|
| Parameter groups | No | No | No | Yes | Yes* | [No*](FEATURES.md#VST3 is work in progress) | |
|
|
|
| Parameter outs | No | No | No | Yes | Yes | [No*](FEATURES.md#VST3 is work in progress) | |
|
|
|
| Programs | Yes* | No* | Yes* | Yes | No* | Yes | |
|
|
|
| States | Yes | No | Yes* | Yes | Yes | Yes | |
|
|
|
| UI | Yes* | No | Ext. | Embed or Ext. | Embed | Embed | |
|
|
|
| UI host-resize | Yes | No | Yes | Yes | No | [No*](FEATURES.md#VST3 is work in progress) | |
|
|
|
| UI sendNote | Yes | No | Yes | Yes | Yes | Yes | |
|
|
|
|
|
|
|
| Format | Notes | |
|
|
|
|--------|-------| |
|
|
|
| JACK | Parameters and programs are mapped to MIDI events, there is no generic plugin editor; Audio port groups are set as JACK metadata | |
|
|
|
| LADSPA | LADSPA only supports basic parameters and audio;<br/> Programs could be done via LRDF but not supported in DPF | |
|
|
|
| DSSI | DSSI only supports States via UI, no "full state" possible | |
|
|
|
| LV2 | Everything supported :) | |
|
|
|
| VST2 | VST2 program support requires saving state of all programs in memory, which is very expensive and thus not done in DPF;<br/> Parameter groups are supported, but not for audio ports (per VST2 spec limitations) | |
|
|
|
| VST3 | Not sure if parameter outputs work (aka "read-only" on VST3);<br/> CV ports do not support custom ranges, not implemented yet;<br/> Port groups not implemented yet | |
|
|
|
# Special notes |
|
|
|
|
|
|
|
## JACK parameters and programs |
|
|
|
|
|
|
|
Under JACK/Stanlone mode, MIDI input events will trigger program and parameter changes. |
|
|
|
MIDI program change events work as expected (that is, MIDI program change 0 will load 1st plugin program). |
|
|
|
MIDI CCs are used for parameter changes (matching the `midiCC` value you set on each parameter). |
|
|
|
|
|
|
|
## JACK custom UI only |
|
|
|
|
|
|
|
There is no generic plugin editor view. |
|
|
|
If your plugin has no custom UI, the standalone executable will run but not show any window. |
|
|
|
|
|
|
|
## LV2 parameter changes |
|
|
|
|
|
|
|
Possible through a custom extension, not implemented on most hosts. |
|
|
|
For now you can pretty much assume it is not supported. |
|
|
|
|
|
|
|
## VST3 is work in progress |
|
|
|
|
|
|
|
Feature is possible, just not implemented yet in DPF. |
|
|
|
|
|
|
|
### TODO |
|
|
|
|
|
|
|
A few notes for things to add to the table: |
|
|
|
|
|
|
|
- Custom UI (embed, external, both or none) |
|
|
|
- Host/user-side UI resize |
|
|
|
- Parameter inputs change from plugin-side |
|
|
|
- Sidechain tagged audio ports |
|
|
|
- Trigger parameters |
|
|
|
- UI background/foreground color |
|
|
@@ -37,3 +51,14 @@ A few notes for things to add to the table: |
|
|
|
- Remote/Instance access |
|
|
|
- Host-mapped bypass parameter |
|
|
|
- Time position |
|
|
|
|
|
|
|
# Extra notes |
|
|
|
|
|
|
|
| Format | Notes | |
|
|
|
|--------|-------| |
|
|
|
| JACK | Parameters and programs are mapped to MIDI events, ; Audio port groups are set as JACK metadata | |
|
|
|
| LADSPA | LADSPA only supports basic parameters and audio;<br/> Programs could be done via LRDF but not supported in DPF | |
|
|
|
| DSSI | DSSI only supports States via UI, no "full state" possible | |
|
|
|
| LV2 | Everything supported :) | |
|
|
|
| VST2 | VST2 program support requires saving state of all programs in memory, which is very expensive and thus not done in DPF;<br/> Parameter groups are supported, but not for audio ports (per VST2 spec limitations) | |
|
|
|
| VST3 | Not sure if parameter outputs work (aka "read-only" on VST3);<br/> CV ports do not support custom ranges, not implemented yet;<br/> Port groups not implemented yet | |