Browse Source

Start some files to describe features and licensing

Signed-off-by: falkTX <falktx@falktx.com>
pull/338/head
falkTX 3 years ago
parent
commit
decc551c28
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 50 additions and 0 deletions
  1. +24
    -0
      FEATURES.md
  2. +16
    -0
      LICENSING.md
  3. +10
    -0
      distrho/src/dssi/seq_event-compat.h

+ 24
- 0
FEATURES.md View File

@@ -0,0 +1,24 @@
# DPF - DISTRHO Plugin Framework

This file describes the available features for each plugin format.
The limitations could be due to the plugin format itself or within DPF.

Format | Audio IO | Parameters | Parameter outputs | Programs | States | UI->DSP sendNote | CV ports | MIDI input | MIDI output | Port groups | Special notes
JACK | Yes | Yes* | Yes* | Yes* | Yes | Yes | Yes | Yes | Yes | Yes* | Parameters have programs mapped to MIDI CC, there is no generic plugin editor; Port groups as JACK metadata
LADSPA | Yes | Yes | Yes | No* | No | No | No | No | No | No | LADSPA only supports basic parameters and audio; Programs could be done via LRDF but not supported in DPF
DSSI | Yes | Yes | Yes | Yes* | Yes* | Yes | No | Yes | No | No | DSSI only supports States via UI, no "full state" possible
LV2 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Everything supported :)
VST2 | Yes | Yes | No | No* | Yes | Yes | No | Yes | Yes | Yes* | VST2 program support requires saving state of all programs in memory, which is very expensive and thus not done in DPF; Parameter groups are supported, but not for audio ports (per VST2 spec limitations)
VST3 | Yes | Yes | Yes? | Yes | Yes | Yes | NO* | Yes | Yes | No* | Not sure if parameter outputs work (aka "read-only" on VST3); CV ports do not support custom ranges, not implemented yet; Port groups not implemented yet

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
- Host-side file browser
- Remote/Instance access
- Host-mapped bypass parameter
- Time position

+ 16
- 0
LICENSING.md View File

@@ -0,0 +1,16 @@
# DPF - DISTRHO Plugin Framework

Even though DPF is quite liberally licensed, not all plugin formats follow the same ideals.
This usually due to plugin APIs/headers being tied to a specific license or having commercial restrictions.
This file describes the licensing that applies to each individual plugin format as a way to make it clear what is possible and compatible.
Note that if you are making GPLv2+ licensed plugins this does not apply to you, as so far everything is GPLv2+ compatible.

Target | License(s) | License restrictions | Attribution
JACK/Standalone | ISC (JACK bridge methods) + ?? (RtAudio) | Copyright attribution | RtAudio: 2001-2019 Gary P. Scavone
LADSPA | LGPLv2.1+ | ??? | 2000-2002 Richard W. E. Furse, Paul Barton-Davis, Stefan Westerfeld
DSSI | LGPLv2.1+ | ??? | ALSA: 1998-2001 Jaroslav Kysela, Abramo Bagnara, Takashi Iwai; DSSI: 2004, 2009 Chris Cannam, Steve Harris and Sean Bolton
LV2 | ISC + GPL? (atom-helpers.h not sure if used) | Copyright attribution | TODO, check all headers used
VST2 | GPLv2+ or commercial* | Must also be GPLv2+ or alternatively use Steingberg VST2 SDK (no longer available for new plugins) | Same or later license if GPL; Alternatively, custom agreement with Steingberg
VST3 | ISC | Copyright attribution

Regardless of target format, DPF itself needs to be mentioned in attribution. See LICENSE file for copyright details.

+ 10
- 0
distrho/src/dssi/seq_event-compat.h View File

@@ -1,3 +1,13 @@
/**
* \file include/seq_event.h
* \brief Application interface library for the ALSA driver
* \author Jaroslav Kysela <perex@perex.cz>
* \author Abramo Bagnara <abramo@alsa-project.org>
* \author Takashi Iwai <tiwai@suse.de>
* \date 1998-2001
*
* Application interface library for the ALSA driver
*/
/*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as


Loading…
Cancel
Save