Signed-off-by: falkTX <falktx@falktx.com>tags/22.02
@@ -4,6 +4,11 @@ | |||||
# Created by falkTX | # Created by falkTX | ||||
# | # | ||||
# also set in: | |||||
# src/CardinalCommon.cpp `CARDINAL_VERSION` | |||||
# src/CardinalPlugin.cpp `getVersion` | |||||
VERSION = 22.02 | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Import base definitions | # Import base definitions | ||||
@@ -240,6 +245,7 @@ install: | |||||
install -d $(DESTDIR)$(PREFIX)/lib/vst | install -d $(DESTDIR)$(PREFIX)/lib/vst | ||||
install -d $(DESTDIR)$(PREFIX)/lib/vst3 | install -d $(DESTDIR)$(PREFIX)/lib/vst3 | ||||
install -d $(DESTDIR)$(PREFIX)/share/Cardinal | install -d $(DESTDIR)$(PREFIX)/share/Cardinal | ||||
install -d $(DESTDIR)$(PREFIX)/share/doc/Cardinal/docs | |||||
cp -rL bin/Cardinal.lv2 $(DESTDIR)$(PREFIX)/lib/lv2/ | cp -rL bin/Cardinal.lv2 $(DESTDIR)$(PREFIX)/lib/lv2/ | ||||
cp -rL bin/Cardinal.vst3 $(DESTDIR)$(PREFIX)/lib/vst3/ | cp -rL bin/Cardinal.vst3 $(DESTDIR)$(PREFIX)/lib/vst3/ | ||||
@@ -255,8 +261,49 @@ install: | |||||
install -m 755 bin/Cardinal$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/ | install -m 755 bin/Cardinal$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/ | ||||
cp -rL bin/Cardinal.lv2/resources/* $(DESTDIR)$(PREFIX)/share/Cardinal/ | cp -rL bin/Cardinal.lv2/resources/* $(DESTDIR)$(PREFIX)/share/Cardinal/ | ||||
install -m 644 README.md $(DESTDIR)$(PREFIX)/share/doc/Cardinal/ | |||||
install -m 644 docs/*.md docs/*.png $(DESTDIR)$(PREFIX)/share/doc/Cardinal/docs/ | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Install step | |||||
# Tarball step, for releases | |||||
tarball: | |||||
rm -f ../Cardinal-$(VERSION).tar | |||||
tar -c --lzma \ | |||||
--exclude=".git*" \ | |||||
--exclude=".travis*" \ | |||||
--exclude="*.kdev4" \ | |||||
--exclude="carla/source/modules/juce_*" \ | |||||
--exclude="src/Rack/icon.*" \ | |||||
--exclude=bin \ | |||||
--exclude=build \ | |||||
--exclude=carla/data \ | |||||
--exclude=carla/source/bridges-plugin \ | |||||
--exclude=carla/source/discovery \ | |||||
--exclude=carla/source/frontend \ | |||||
--exclude=carla/source/jackbridge \ | |||||
--exclude=carla/source/interposer \ | |||||
--exclude=carla/source/libjack \ | |||||
--exclude=carla/source/tests.old \ | |||||
--exclude=carla/source/theme \ | |||||
--exclude=carla/resources \ | |||||
--exclude=deps/PawPaw \ | |||||
--exclude=deps/sysroot \ | |||||
--exclude=deps/unzipfx \ | |||||
--exclude=docs/.generate-plugin-licenses.sh \ | |||||
--exclude=docs/MODDEVICES.md \ | |||||
--exclude=dpf/examples \ | |||||
--exclude=jucewrapper \ | |||||
--exclude=lv2export \ | |||||
--exclude=patches \ | |||||
--exclude=plugins/.kdev_include_paths \ | |||||
--exclude=plugins/todo.txt \ | |||||
--exclude=src/MOD \ | |||||
--exclude=src/Rack/src/core \ | |||||
--exclude=src/Rack/res/Core \ | |||||
--exclude=src/Rack/res/icon.png \ | |||||
--transform='s,^\.,Cardinal-$(VERSION),' \ | |||||
-f ../Cardinal-$(VERSION).tar.xz . | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
@@ -11,7 +11,7 @@ plugin wrapper around [VCV Rack](https://github.com/VCVRack/Rack/), | |||||
using its code directly instead of forking the project, | using its code directly instead of forking the project, | ||||
with the target of having a **proper, self-contained, fully free and open-source plugin version of Rack**. | with the target of having a **proper, self-contained, fully free and open-source plugin version of Rack**. | ||||
See the [why section](#Why) below for the reasons Cardinal exists, | See the [why section](#Why) below for the reasons Cardinal exists, | ||||
also perhaps the [project overview document](docs/OVERVIEW.md) for an overview on how the project source code is structured. | |||||
also for frequently asked questions check this [FAQ document](docs/FAQ.md). | |||||
Cardinal contains Rack, some 3rd-party modules and a few internal utilities all in a single binary. | Cardinal contains Rack, some 3rd-party modules and a few internal utilities all in a single binary. | ||||
All "Core" modules from Rack have been replaced by Cardinal equivalents, simplified to better work for an audio plugin. | All "Core" modules from Rack have been replaced by Cardinal equivalents, simplified to better work for an audio plugin. | ||||
@@ -129,6 +129,13 @@ At the moment the following 3rd-party modules are provided: | |||||
Additionally Cardinal provides its own modules for DAW/Host automation, time position and internal plugin hosting. | Additionally Cardinal provides its own modules for DAW/Host automation, time position and internal plugin hosting. | ||||
### Adding modules | |||||
Install new modules on a Cardinal build is not possible, but we can add new modules to the build. | |||||
Details on this are available [here](https://github.com/DISTRHO/Cardinal/discussions/28). | |||||
Also check [this wiki page](https://github.com/DISTRHO/Cardinal/wiki/Possible-modules-to-include) | |||||
where we discuss possible modules to include. | |||||
### Module restrictions | ### Module restrictions | ||||
All included modules are open-source and have a GPLv3+ compatible license. (GPLv3-only modules are not allowed) | All included modules are open-source and have a GPLv3+ compatible license. (GPLv3-only modules are not allowed) | ||||
@@ -1,25 +1,56 @@ | |||||
# Frequently Asked Questions | # Frequently Asked Questions | ||||
This document contains a few frequently asked auestions (known as "FAQ") regarding the Cardinal project. | |||||
This document contains a few frequently asked questions (known as "FAQ") regarding the Cardinal project. | |||||
# Why does Cardinal exist? | |||||
## Why does Cardinal exist? | |||||
Many reasons, most of them described on the [README](../README.md#why). | Many reasons, most of them described on the [README](../README.md#why). | ||||
But basically we want an open-source plugin version of "Rack Pro", | But basically we want an open-source plugin version of "Rack Pro", | ||||
where we are free to change things as we see fit, work on new features and fix bugs. | where we are free to change things as we see fit, work on new features and fix bugs. | ||||
This is simply not possible with proprietary software, which is the case of "Rack Pro". | This is simply not possible with proprietary software, which is the case of "Rack Pro". | ||||
# Changes are lost on restart | |||||
## Can I install extra modules? | |||||
No, Cardinal is intentionally a fully self-contained plugin. | |||||
Whatever is contained in the current build is what you can use. | |||||
The exceptions to this are loading files from within a module (like samples) | |||||
and regular plugin hosting (using Carla or Ildaeil modules to LV2, VST2, etc). | |||||
Adding new modules to Cardinal is only possible by making them be part of build. | |||||
As such it is only possible to include open-source modules. | |||||
## So how do I actually add new modules to Cardinal? | |||||
By setting up the build to include them. | |||||
This means forking the project, adding git submodules and changing Makefiles. | |||||
Details on this are available [here](https://github.com/DISTRHO/Cardinal/discussions/28). | |||||
Due to the highly technical details to sort out for it, such task might not be possible for you at this point. | |||||
Consider just requesting the inclusion of a specific module instead. | |||||
Worth noting that, just because a plugin/module is open-source, it does not mean that it can be included in Cardinal. | |||||
Many modules have very strict license terms on the use of its artwork, | |||||
or the code can have a license not compatible with Cardinal. | |||||
As a rule of thumb, you can follow these simple rules: | |||||
- If module/plugin project license is `GPL-3.0-only` it is not allowed in Cardinal (we want `GPL-3.0-or-later` compatible licenses) | |||||
- If the artwork license states "used and distributed with permission", we need to ask for explicit permission to use it | |||||
- If the artwork license prohibits derivatives and panels have white or very-bright backgrounds, we need explicit permission for a runtime dark mode | |||||
If none of the above apply, it is likely the module is usable as part of Cardinal. | |||||
Also check [this wiki page](https://github.com/DISTRHO/Cardinal/wiki/Possible-modules-to-include) | |||||
where we discuss possible modules to include. | |||||
## Changes are lost on restart | |||||
This is intentional. | This is intentional. | ||||
Cardinal is meant to be a self-contained plugin, and as such it does not save any files whatsoever. | Cardinal is meant to be a self-contained plugin, and as such it does not save any files whatsoever. | ||||
This includes user preferences (like list of favourites) or last used project. | This includes user preferences (like list of favourites) or last used project. | ||||
As a plugin, the state will be saved together with the host/DAW project. | As a plugin, the state will be saved together with the host/DAW project. | ||||
# On FreeBSD and Linux the menu item "Save As/Export..." does nothing | |||||
## On BSD/Linux/X11 the menu item "Save As/Export..." does nothing | |||||
The save-file dialogs in Cardinal requires a working [xdg-desktop-portal](https://github.com/flatpak/xdg-desktop-portal) DBus implementation from your desktop environment. | The save-file dialogs in Cardinal requires a working [xdg-desktop-portal](https://github.com/flatpak/xdg-desktop-portal) DBus implementation from your desktop environment. | ||||
Typically your desktop already provides this, if not consider looking for a package to install with "desktop-portal" in the name. | Typically your desktop already provides this, if not consider looking for a package to install with "desktop-portal" in the name. | ||||
The open-file dialogs in Cardinal do not have this restriction, with a fallback in case desktop portal is not available. | The open-file dialogs in Cardinal do not have this restriction, with a fallback in case desktop portal is not available. | ||||