Browse Source

Some more doc stuff, add make tarball step

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.02
falkTX 3 years ago
parent
commit
9a27e6fce9
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 92 additions and 7 deletions
  1. +48
    -1
      Makefile
  2. +8
    -1
      README.md
  3. +36
    -5
      docs/FAQ.md

+ 48
- 1
Makefile View File

@@ -4,6 +4,11 @@
# Created by falkTX
#

# also set in:
# src/CardinalCommon.cpp `CARDINAL_VERSION`
# src/CardinalPlugin.cpp `getVersion`
VERSION = 22.02

# --------------------------------------------------------------
# Import base definitions

@@ -240,6 +245,7 @@ install:
install -d $(DESTDIR)$(PREFIX)/lib/vst
install -d $(DESTDIR)$(PREFIX)/lib/vst3
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.vst3 $(DESTDIR)$(PREFIX)/lib/vst3/
@@ -255,8 +261,49 @@ install:
install -m 755 bin/Cardinal$(APP_EXT) $(DESTDIR)$(PREFIX)/bin/
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 .

# --------------------------------------------------------------



+ 8
- 1
README.md View File

@@ -11,7 +11,7 @@ plugin wrapper around [VCV Rack](https://github.com/VCVRack/Rack/),
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**.
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.
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.

### 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

All included modules are open-source and have a GPLv3+ compatible license. (GPLv3-only modules are not allowed)


+ 36
- 5
docs/FAQ.md View File

@@ -1,25 +1,56 @@
# 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).
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.
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.
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.
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.
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.


Loading…
Cancel
Save