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; On the root folder the following directories can be seen;
* carla * [carla](##carla)
* deps * [deps](##deps)
* doc * [doc](##doc)
* dpf * [dpf](##dpf)
* include * [include](##include)
* lv2export * [lv2export](##lv2export)
* patches * [patches](##patches)
* plugins * [plugins](##plugins)
* src * [src](##src)
Going through one by one in alphebetical order we have... 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. 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. Cardinal uses Carla as the base for all internal plugin hosting.
Being GPLv2+ the code license is compatible with Cardinal's GPLv3+. Being GPLv2+ the code license is compatible with Cardinal's GPLv3+.
## DEPS ## deps
3rd-party libraries build setup. 3rd-party libraries build setup.
No actual code is hosted here, only a Makefile with steps for fetching source code and build it. 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. 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. 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. It is intentionally not using something like GitHub Wiki so that rehosting does not lose any information.
Also allows for offline hosting and reading. 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. 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. 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. 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. 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. 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. An experiment for building individual Rack modules directly as LV2 plugins.
Only quick&dirty hacks so far, nothing interesting to see here yet. 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. 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. 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. Module/Plugin related code and build setup.
Only Cardinal internal modules are hosted here, everything else uses a git submodule reference. 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. 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. The main code for Cardinal, where the magic happens.
There are quite a few files here, so let's describe them in detail. There are quite a few files here, so let's describe them in detail.