Browse Source

Try to improve feature table

Signed-off-by: falkTX <falktx@falktx.com>
pull/338/head
falkTX 3 years ago
parent
commit
a471d29df2
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 48 additions and 23 deletions
  1. +48
    -23
      FEATURES.md

+ 48
- 23
FEATURES.md View File

@@ -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 |

Loading…
Cancel
Save