Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2021-12-04 14:34:39 +00:00
parent 5e7651452a
commit 9c31e814d3
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0

View file

@ -5,66 +5,66 @@ so developers and interested third-parties can have an easier time contributing
On the root folder the following directories can be seen;
* carla
* deps
* doc
* dpf
* include
* lv2export
* patches
* plugins
* src
* [carla](##carla)
* [deps](##deps)
* [doc](##doc)
* [dpf](##dpf)
* [include](##include)
* [lv2export](##lv2export)
* [patches](##patches)
* [plugins](##plugins)
* [src](##src)
Going through one by one in alphebetical order we have...
## CARLA
## carla
This directory contains the source code for Carla, a modular plugin host created by falkTX, the same author of Cardinal, DPF and many other projects.
Cardinal uses Carla as the base for all internal plugin hosting.
Being GPLv2+ the code license is compatible with Cardinal's GPLv3+.
## DEPS
## deps
3rd-party libraries build setup.
No actual code is hosted here, only a Makefile with steps for fetching source code and build it.
It basically overrides Rack's `dep.mk` things for a proper static build, and supporting more platforms.
## DOC
## doc
Here you find several files (like this one you are reading now) describing the Cardinal project.
It is intentionally not using something like GitHub Wiki so that rehosting does not lose any information.
Also allows for offline hosting and reading.
## DPF
## dpf
This directory contains the source code for DPF, the plugin framework used by Cardinal that handles all the complex parts of plugin format support.
Implementing new plugin formats will be done here.
## INCLUDE
## include
This directory contains special header files needed to build the original Rack code as required by Cardinal.
These headers are included before the official Rack ones, allowing us to override some implementation details.
Additionally a few compatiblity headers are present, helping compile the code for more targets than officially supported in Rack.
## LV2EXPORT
## lv2export
An experiment for building individual Rack modules directly as LV2 plugins.
Only quick&dirty hacks so far, nothing interesting to see here yet.
## PATCHES
## patches
Public domain or CC0 licensed Rack patches, suitable for use in Cardinal.
Must be stored as plain text files (not zstd compressed) so they play nicely with git.
## PLUGINS
## plugins
Module/Plugin related code and build setup.
Only Cardinal internal modules are hosted here, everything else uses a git submodule reference.
See https://github.com/DISTRHO/Cardinal/discussions/28 for how to add more modules yourself.
## SRC
## src
The main code for Cardinal, where the magic happens.
There are quite a few files here, so let's describe them in detail.