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. This file describes the available features for each plugin format.
The limitations could be due to the plugin format itself or within DPF. 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: 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 - Sidechain tagged audio ports
- Trigger parameters - Trigger parameters
- UI background/foreground color - UI background/foreground color
@@ -37,3 +51,14 @@ A few notes for things to add to the table:
- Remote/Instance access - Remote/Instance access
- Host-mapped bypass parameter - Host-mapped bypass parameter
- Time position - 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