commit decc551c2815bfed86d3657d2542b019e50faebd
parent 87a195a26b9b92b0c330d59921880f74ba1cca47
Author: falkTX <falktx@falktx.com>
Date: Wed, 29 Sep 2021 12:09:57 +0100
Start some files to describe features and licensing
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
3 files changed, 50 insertions(+), 0 deletions(-)
diff --git a/FEATURES.md b/FEATURES.md
@@ -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
diff --git a/LICENSING.md b/LICENSING.md
@@ -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.
diff --git a/distrho/src/dssi/seq_event-compat.h b/distrho/src/dssi/seq_event-compat.h
@@ -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